Arquitetura De Microsserviços Do 0 Com Asp.Net, .Net 6 E C#
Última atualização em 9/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: Português | Size: 11.43 GB | Duration: 19h 2m
Última atualização em 9/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: Português | Size: 11.43 GB | Duration: 19h 2m
Domine microservices, construa um e-commerce com ASP.NET .NET 'Core' 6 Oauth2 OpenID Identity Server RabbitMQ Ocelot e++
What you'll learn
20% Teoria e 80% Prática
O que são microsserviços e por que são cada vez mais populares
O que é e como Implementar Oauth2, OpenID, JWT e Identity Server
Como usar o framework Duende para construir um Identity Server
Como trabalhar com Postman
Desenvolver microsserviços com .NET 6
Publicação e Consumo de Mensagens com RabbitMQ
Segurança de microsserviços
O que é e Como Implementar um API Gateway com Ocelot
Comunicação Síncrona e Assíncrona entre Microsserviços
Utilizar JMS para mensageria entre microsserviços .NET 6 com RabbitMQ
Configurar uma stack de microsserviços do 0 absoluto
As boas práticas a se adotar ao desenvolver microsserviços
Como expor e consumir microsserviços através de API's RESTFul
Gere documentação de API com Swashbuckle (Swagger)
Requirements
Não é necessária nenhuma experiência anterior com microsserviços
Uma conta no Github
É necessário conhecimento básico de C#, .NET, ASP NET e com o desenvolvimento de web services
Conhecimento de .NET pode acelerar o processo de aprendizado
Noções básicas de API's RESTful podem acelerar o processo de aprendizado
Estar familiarizado e confortável com a linha de comando
Conhecimentos básicos de SQL e qualquer banco de dados relacional
Conhecimentos básicos de Linux
Description
Venha se especializar no desenvolvimento de microsserviços com ASP.NET, .NET 'Core' 6, Oauth2, OpenID, Identity Server, RabbitMQ, Ocelot, C# e muito mais!Atualmente os microsserviços são uma verdadeira febre. Desenvolvedores em todo o mundo estão entregando software com mais rapidez e escalabilidade graças a arquiteturas de microsserviços. Neste curso, você aprenderá as habilidades necessárias para construir microsserviços em C# com .NET 6 e ASP.NET.O curso ensina os fundamentos centrais de uma arquitetura de microsserviços tanto na teoria(20%), quanto na prática(80%). Esse conhecimento será aplicado na implementação de microsserviços com .NET 6 e C#. Inicialmente faremos uma rápida revisão dos fundamentos teóricos do REST, em seguida veremos como construir API’s REST na plataforma .NET. Depois dessa breve revisão veremos o que são microsserviços e seus aspectos mais importantes. Em seguida criaremos os primeiros microsserviços. Começaremos com um projeto simples e expandiremos gradualmente a nossa stack adicionando microsserviços e tecnologias mais complexas. Nesse treinamento abordaremos, tecnologias como:ASP.NET;.NET 6;Oauth2;OpenID;JWT (JSON Web Tokens);Identity Server;RabbitMQ;API Gateway com OcelotSwagger OpenAPI e muito mais.Se você está pronto para aprender como construir microsserviços sólidos e eficientes com ASP.NET, .NET 6 e estar preparado pra vaga dos sonhos em pouco mais de 18 horas a partir de agora? Pressione o botão "Comprar Agora" e comece imediatamente!Te vejo lá!
Overview
Section 1: Apresentação
Lecture 1 0101 Apresentação
Lecture 2 0102 Repositórios do Curso no Github
Section 2: [SEÇÃO DE NIVELAMENTO] Fundamentos Teóricos do REST
Lecture 3 0201 Apresentação da Seção Fundamentos Teóricos do REST
Lecture 4 0202 O que são Webservices
Lecture 5 0203 SOAP x REST
Lecture 6 0204 O que é REST
Lecture 7 0205 Entendendo Request e Response
Lecture 8 0206 Os Tipos de Parâmetros Usados no REST
Lecture 9 0207 HTTP Status Codes
Lecture 10 0208 Os Verbos HTTP e o REST
Lecture 11 0209 Os Verbos HTTP Menos Conhecidos
Lecture 12 0210 Níveis de Maturidade de Richardson
Lecture 13 0211 HATEOAS
Section 3: Configuração do Ambiente no Windows
Lecture 14 0301 Apresentação da Seção - Configuração do Ambiente de Desenvolvimento Window
Lecture 15 0302 Atualizando o .NET(Instalação do .NET Core 6)
Lecture 16 0303 Instalando o Visual Studio 2022
Lecture 17 0304 Instalando o GIT e o GIT BASH
Lecture 18 0305 Instalando o MySQL
Lecture 19 0306 Instalando o MySQL Workbench
Lecture 20 0307 Instalando o HeidiSQL
Lecture 21 0308 Instalando o Postman
Lecture 22 0309 Instalando o Docker
Section 4: Configuração do Ambiente no Linux
Lecture 23 0401 Apresentação da Seção - Configuração do Ambiente no Linux
Lecture 24 0402 Instalando o Virtual Box
Lecture 25 0403 Criando a Máquina Virtual e Instalando o Ubuntu
Lecture 26 0404 Instalando o .NET Core 6
Lecture 27 0405 Scaffold e Validação do Ambiente
Lecture 28 0406 Instalando o Visual Studio Code
Lecture 29 0407 Instalando o MySQL
Lecture 30 0408 Instalando o MySQL Workbench
Lecture 31 0409 Criando uma Base de Dados
Lecture 32 0410 Instalando o Postman
Lecture 33 0411 Instalando o Docker
Lecture 34 0412 Instalando o Docker Compose
Lecture 35 0413 Instalando o GIT
Lecture 36 0414 Testando o Ambiente de Desenvolvimento
Section 5: [SEÇÃO DE NIVELAMENTO] REST na Prática com ASP.NET
Lecture 37 0501 Apresentação Da Seção - REST na Prática com ASP.NET
Lecture 38 0502 A Evolução do .NET
Lecture 39 0503 Criando o Repositório no Github
Lecture 40 0504 Scaffold na Linha de Comando
Lecture 41 0505 Scaffold no Visual Studio
Lecture 42 0506 Definindo a Estrutura Básica da Calculadora
Lecture 43 0507 Implementando IsNumeric e ConvertToDecimal
Lecture 44 0508 Implementando as Demais Operações Matemáticas
Lecture 45 0509 Implementando as Classes Controller e Model
Lecture 46 0510 Definindo a Interface IPersonService
Lecture 47 0511 Implementando a Interface IPersonService
Lecture 48 0512 Ajustando o Controller
Lecture 49 0513 Finalizando e Testando a Aplicação no Postman
Section 6: Rápida Introdução aos Microsserviços
Lecture 50 0601 Apresentação da Seção - Rápida Introdução aos Microsserviços
Lecture 51 0602 O que são Microsserviços?
Lecture 52 0603 O que não são Microsserviços e por que eles são uma 'Febre'?
Lecture 53 0604 Entendendo como as Aplicações Monolíticas Funcionam
Lecture 54 0605 Os Desafios das Aplicações Monolíticas
Lecture 55 0606 Os Prós e Contras das Aplicações Monolíticas
Lecture 56 0607 Entendendo como Funciona uma Arquitetura de Microsserviços
Lecture 57 0608 As Vantagens e os Desafios Relacionados aos Microsserviços
Lecture 58 0609 Como Quebrar uma Aplicação Monolítica em Microsserviços
Lecture 59 0610 Diferenças entre Microsserviços e SOA
Section 7: Criando o Primeiro Microsserviço
Lecture 60 0701 Apresentação da Seção - Criando o Primeiro Microsserviço
Lecture 61 0702 Criando o Primeiro Microsserviço
Lecture 62 0703 Criando o Microsserviço Product.API
Lecture 63 0704 Adicionando as Dependências Nuget ao Microsserviço Product.API
Lecture 64 0705 Criando a Base de Dados do do Microsserviço Product.API
Lecture 65 0706 Configurando o Acesso do Microsserviço Product.API ao Banco de Dados
Lecture 66 0707 Mapeando as Entidades do Banco de Dados com Entity Framework
Lecture 67 0708 Executando as Migrations e Criando as Tabelas no Banco de Dados
Section 8: Organizando a Arquitetura dos Primeiros Microsserviços
Lecture 68 0801 Apresentação da Seção - Organizando a Arquitetura do Primeiro Microsserviço
Lecture 69 0802 O Padrão de Projetos VO (Value Object)
Lecture 70 0803 Criação dos VO's do Microsserviço de Produtos
Lecture 71 0804 Definindo as Propriedades da Interface IProductRepository
Lecture 72 0805 Configurando o AutoMapper no Microsserviço de Produtos
Lecture 73 0806 Iniciando a Implementação do Repositório de Produtos
Lecture 74 0807 Finalizando a Implementação do Repositório de Produtos
Lecture 75 0808 Adicionando o Primeiro Registro à Base de Dados
Lecture 76 0809 Implementando o Controller do Microsserviço de Produtos
Lecture 77 0810 Implementando as Operações POST, PUT e DELETE
Lecture 78 0811 Configurando o Seed Data no Microsserviço de Produtos
Lecture 79 0812 Executando as Seeds (Migrations) e Populando o Banco de Dados
Section 9: Preparando Microsserviço Web para Consumir o Microsserviço de Produtos
Lecture 80 0901 Apresentação da Seção - Preparando MS Web para Consumir o MS de Produtos
Lecture 81 0902 Definindo a Estrutura Responsável por Consumir o Microsserviço de Produto
Lecture 82 0903 Definindo as Operações da Interface IProductService
Lecture 83 0904 Entendendo e Implementando a Classe HttpClientExtensions
Lecture 84 0905 Implementando os Métodos PostAsJson e PutAsJson em HttpClientExtensions
Lecture 85 0906 Implementando a Classe ProductService
Lecture 86 0907 Injeção de Dependência da Classe ProductService na Classe Startup
Section 10: Definindo o Layout e Consumindo o Microsserviço de Produtos
Lecture 87 1001 Apresentação da Seção - Definindo o Layout e Consumindo o MS de Produtos
Lecture 88 1002 Ajustando o Layout (Bootstrap e Font Awesome)
Lecture 89 1003 Implementando o Controller de Produtos
Lecture 90 1004 Implementando a Tela de Listagem de Produtos
Lecture 91 1005 Adicionando os Botões de Update e Delete
Lecture 92 1006 Implementando o Método Responsável por Cadastrar Produtos
Lecture 93 1007 Implementando a Tela de Cadastro de Produtos
Lecture 94 1008 Implementando a Tela de Update de Produtos
Lecture 95 1009 Implementando a Tela de Delete de Produtos
Section 11: Autenticação com Oauth2, OpenID, JWT, Duende e Identity Server
Lecture 96 1101 Apresentação da Seção - Autenticação com Oauth2, OpenID e Identity Server
Lecture 97 1102 Entendendo OAuth2 e OpenID Connect
Lecture 98 1103 Uma Introdução ao Identity Server
Lecture 99 1104 Terminologias do Identity Server
Lecture 100 1105 Como Funciona o Token JWT (JSON Web Token)
Lecture 101 1106 Criando o Identity Server com o Framework Duende
Lecture 102 1107 Adicionando os Pacotes do Nuget ao Identity Server
Lecture 103 1108 Adição do DbContext ao Identity Server
Lecture 104 1109 Implementando a classe IdentityConfiguration
Lecture 105 1110 Configurando Clients no Identity Server
Lecture 106 1111 Adicionando Configurações de Banco de Dados e Segurança
Lecture 107 1112 Habilitando HTTPS e Setando as Portas
Lecture 108 1113 Criando a Base de Dados e Executando as Migrations
Lecture 109 1114 Criando a Classe Responsável por Inicializar o Banco de Dados
Lecture 110 1115 Finalizando a Implementação de DbInitializer e Populando a Base de Dados
Lecture 111 1116 Restringindo o Acesso Apenas à Usuários Logados
Lecture 112 1117 Adicionando às Configurações de Segurança ao Startup do GeekShopping.Web
Lecture 113 1118 Adicionando às Conf.de Segurança ao Startup do GeekShopping.Product
Lecture 114 1119 Adicionando Autenticação ao Swagger (Open API)
Lecture 115 1120 Implementando o Redirecionamento para a Tela de Login
Lecture 116 1121 Ajustando a Classe AccountController para Suportar o Login
Lecture 117 1122 Implementando o Cadastro de Novos Usuários
Lecture 118 1123 Entendendo o Token JWT na Prática
Lecture 119 1124 Setando Claims Customizadas no Token JWT
Lecture 120 1125 Inspecionando o Novo Token
Lecture 121 1126 Entendendo e Setando o JWT Token no Header das Operações
Lecture 122 1127 Testando a Integração Entre os MS GeekSopping.Web e GeekSopping.ProductAPI
Section 12: Adicionando a Listagem de Produtos na Home
Lecture 123 1201 Apresentação da Seção - Adicionando a Listagem de Produtos na Home
Lecture 124 1202 Ajustando o HomeController
Lecture 125 1203 Ajustando a Página Principal para Listar os Produtos
Lecture 126 1204 Otimizando a Exibição da Listagem de Produtos
Lecture 127 1205 Ajustando o HomeController para Permitir Exibir Detalhes do Produto
Lecture 128 1206 Implementando a View de Detalhes (Header e Footer)
Lecture 129 1207 Implementando a View de Detalhes (Body)
Lecture 130 1208 Finalizando e Testando a View de Detalhes
Section 13: Implementando o Microsserviço de Carrinho de Compras (GeekShopping.CartAPI)
Lecture 131 1301 Apresentação da Seção - Implementando o Microsserviço de Carrinho de Compra
Lecture 132 1302 Criando o GeekShopping.CartAPI Microservice
Lecture 133 1303 Adicionando as Dependências Nuget ao Microsserviço de Carrinho de Compras
Lecture 134 1304 Configurando a Classe Startup e DbContext do GeekShopping.CartAPI MS
Lecture 135 1305 Mapeando as Entidades do Microsserviço de Carrinho de Compras
Lecture 136 1306 Ajustando o DbContext e Aplicando às Migrations à Base de Dados
Lecture 137 1307 Criando os VO's (Value Objects) e Ajustando as Configurações do AutoMapper
Lecture 138 1308 Iniciando a Implementação das Classes de Repositório
Lecture 139 1309 Iniciando a Implementação do Método SaveOrUpdateCart
Lecture 140 1310 Finalizando o SaveOrUpdateCart
Lecture 141 1311 Implementando o Método Responsável p Obter o Carrinho de Compras do Usuário
Lecture 142 1312 Implementando o Método Responsável por Remover Itens do Carrinho de Compras
Lecture 143 1313 Implementando o Método Responsável por Limpar o Carrinho de Compras
Lecture 144 1314 Implementando o Controller Responsável por Expor os Endpoints de Carrinho
Section 14: Consumindo o Microsserviço de Carrinho de Compras
Lecture 145 1401 Apresentação da Seção - Consumindo o Microsserviço de Carrinho de Compras
Lecture 146 1402 Criando os View Models do Carrinho de Compras
Lecture 147 1403 Definindo as Assinaturas da Interface ICartService
Lecture 148 1404 Implementando a Interface ICartService
Lecture 149 1405 Implementando a Adição de Itens ao Carrinho
Lecture 150 1406 Executando a Aplicação e Ajustando Bugs
Section 15: Implementando a Tela de Carrinho de Compras
Lecture 151 1501 Apresentação da Seção - Implementando a Tela de Carrinho de Compras
Lecture 152 1502 Adicionando o Carrinho de Compras ao Menu e Criando o CartController
Lecture 153 1503 Criando o Método Responsável por Buscar o Carrinho de Compras do Usuário
Lecture 154 1504 Iniciando a Criação da Tela de Carrinho de Compras
Lecture 155 1505 Implementando a Tela de Carrinho de Compras - Body
Lecture 156 1506 Finalizando a Implementação da Tela de Carrinho de Compras
Lecture 157 1507 Removendo Itens do Carrinho de Compras
Section 16: Implementando o Microsserviço de Cupom de Desconto (GeekShopping.CouponAPI)
Lecture 158 1601 Apresentação da Seção - Implementando o Microsserviço de Cupom de Desconto
Lecture 159 1602 Criando o GeekShopping.CouponAPI Microservice (GeekShopping.CouponAPI)
Lecture 160 1603 Configurando o Startup e DbContext do GeekShopping.CartAPI Microservice
Lecture 161 1604 Criando Entidades e VO's do Microsserviço de Cupom de Desconto
Lecture 162 1605 Implementando as Classes de Repositório
Lecture 163 1606 Implementando o CouponController
Section 17: Consumindo o Microsserviço de Cupom de Desconto (GeekShopping.CouponAPI)
Lecture 164 1701 Apresentação da Seção - Consumindo o Microsserviço de Cupom de Desconto
Lecture 165 1702 Implementando os Métodos ApplyCoupon e RemoveCoupon
Lecture 166 1703 Criando a Lógica de Aplicar ou Remover Cupom na View de Carrinho de Compras
Lecture 167 1704 Definindo a Lógica de Aplicar ou Remover Cupom nos Controllers e Serviços
Lecture 168 1705 Executando a Aplicação e Testando os Botões de Aplicar e Remover Cupom
Lecture 169 1706 Consumindo o Microsserviço de Cupons de Desconto (GeekShopping.CouponAPI)
Lecture 170 1707 Refatorando o CartController para Recuperar o Cupom e Aplicar Desconto
Lecture 171 1708 Implementando a Tela de Checkout
Lecture 172 1709 Finalizando a Tela de Checkout
Section 18: Integrando a Tela de Checkout ao Microsserviço GeekShopping.CartAPI
Lecture 173 1801 Apresentação da Seção - Integrando o Checkout ao MS GeekShopping.CartAPI
Lecture 174 1802 Preparando os Serviços para a Integração com o RabbitMQ
Lecture 175 1803 Implementando o Checkout
Lecture 176 1804 Criando a Action de Checkout no CartController do GeekShopping.Web
Lecture 177 1805 Executando a Aplicação e Testando a Integração
Lecture 178 1806 Async e Await x Comunicação Assíncrona
Lecture 179 1807 Comunicação Síncrona x Assíncrona
Section 19: Integração dos Microsserviços à RabbitMQ
Lecture 180 2001 Apresentação da Seção - Integração dos Microsserviços à RabbitMQ
Lecture 181 2002 Rápido Overview de RabbitMQ
Lecture 182 2003 Subindo um Container Docker com o RabbitMQ
Lecture 183 2004 Criando a Class Library GeekShopping.MessageBus
Lecture 184 2005 Adicionando o RabbitMQ ao Projeto e Implementando o RabbitMQMessageSender
Lecture 185 2006 Implementando o Método GetMessageAsByteArray
Lecture 186 2007 Integrando o CartController ao RabbitMQ
Lecture 187 2008 Executando a Aplicação e Conferindo a Fila
Section 20: Criando o Microsserviço de Pedido de Compras (GeekShopping.OrderAPI)
Lecture 188 2101 Apresentação da Seção - Criando o Microsserviço de Pedido de Compras
Lecture 189 2102 Criando o Microsserviço GeekShopping.OrderAPI
Lecture 190 2103 Configurando o Startup e DbContext do GeekShopping.OrderAPI Microservice
Lecture 191 2104 Mapeando as Entidades do Microsserviço de Pedido de Compra
Lecture 192 2105 Implementando as Classes de Repositório do GeekShopping.OrderAPI
Lecture 193 2106 Configurando o DbContext do Microservice GeekShopping.OrderAPI
Lecture 194 2107 Adicionando os VO's ao Microsserviço de Pedido de Compras
Lecture 195 2108 Iniciando a Implementação do RabbitMQCheckoutConsumer
Lecture 196 2109 Implementando o RabbitMQCheckoutConsumer – Consumindo a Mensagem
Lecture 197 2110 Implementando o RabbitMQCheckoutConsumer – Processando o Pedido
Lecture 198 2111 Executando a Aplicação e Testando a Implementação
Section 21: Comunicação Síncrona entre Microsserviços
Lecture 199 2201 Apresentação da Seção - Comunicação Síncrona entre Microsserviços
Lecture 200 2202 Adicionando os VO's Necessários ao Consumo do GeekShopping.CouponAPI
Lecture 201 2203 Implementando as Classes de Repositório
Lecture 202 2204 Configurando a injeção de Dependências do CouponRepository
Lecture 203 2205 Ajustando o CartController para Validar Alterações no Coupon
Lecture 204 2206 Ajustando o CartService no GeekShopping.Web
Lecture 205 2207 Ajustando o CartController no GeekShopping.Web
Lecture 206 2208 Executando a Aplicação e Conferindo a Validação de Mudanças no Coupon
Section 22: Criação do Microsserviço de Pagamentos
Lecture 207 2301 Apresentação da Seção - Criação do Microsserviço de Pagamentos
Lecture 208 2302 Criação da Class Library Responsável por Processar os Pagamentos
Lecture 209 2303 Criação dos VO's Representando a Mensagem Enviada ao RabbitMQ
Lecture 210 2304 Otimizando o RabbitMQMessageSender
Lecture 211 2305 Adicionando um RabbitMQMessageSender ao GeekShopping.OrderAPI
Lecture 212 2306 Implementando o Push de Mensagens Para a Fila de Pagamentos
Lecture 213 2307 Criando o Microsserviço GeekShopping.PaymentAPI
Lecture 214 2308 Ajustando a Autenticação, o Swagger (OpenAPI) e as Mensagens
Lecture 215 2309 Implementando o Payment Consumer
Lecture 216 2310 Implementando a Classe Responsável por Enviar Mensagens ao RabbitMQ
Lecture 217 2311 Publicando a Mensagem de Resposta no RabbitMQ
Lecture 218 2312 Consumindo a Mensagem de Resposta no RabbitMQ
Lecture 219 2313 Limpando o Carrinho de Compras
Section 23: Trabalhando com Exchanges no RabbitMQ
Lecture 220 2401 Apresentação da Seção – Trabalhando com Exchanges no RabbitMQ
Lecture 221 2402 Refatorando o RabbitMQMessageSender para Enviar Exchanges do Tipo Fanout
Lecture 222 2403 Executando a Aplicação e Testando o Envio de Fanout Exchanges
Lecture 223 2404 Refatorando o GeekShopping.OrderAPI para Consumir a Exchange
Lecture 224 2405 Criando o Microsserviço de e-Mail
Lecture 225 2406 Implementando Messages, Entidades e Contexto
Lecture 226 2407 Implementando os Repositórios
Lecture 227 2408 Implementando o RabbitMQPaymentConsumer no GeekShopping.Email
Lecture 228 2409 Implementando o Envio de Mensagens Através de Direct Exchanges
Lecture 229 2410 Implementando o Consumo de Mensagens Através de Direct Exchanges
Section 24: API Gateway com Ocelot
Lecture 230 2501 Apresentação da Seção - API Gateway com Ocelot
Lecture 231 2502 Rápido Overview de Ocelot
Lecture 232 2503 Criando o API Gateway com Ocelot
Lecture 233 2504 Definindo as Configurações de Base URL e Segurança no Ocelot
Lecture 234 2505 Configurando o Roteamento de URL's para o Microsserviço de Produtos
Lecture 235 2506 Configurando o Ocelot nos Verbos POST, PUT e DELETE do GeekShopping.Product
Lecture 236 2507 Configurando as Rotas no Ocelot para os Outros Microsserviços
Section 25: Conclusão
Lecture 237 2601 Conclusão
Section 26: FAQ - Dúvidas mais Comuns
Lecture 238 2701 Meu Código é Igualzinho ao do Curso, mas não Funciona?
Lecture 239 2702 Por que o JSON Retornado não Formata como o das Aulas?
Desenvolvedores em início de carreira e que precisam aprender a construir uma stack de microsserviços do zero,Quem deseja aprender a construir microsserviços na plataforma .NET,Quem deseja entregar software com mais rapidez por meio de uma arquitetura de microsserviços,Desenvolvedores e engenheiros de software,Desenvolvedores back-end,Desenvolvedores front-end que desejam se tornar fullstack,Quem já tentou outros tutoriais sobre microsserviços e descobriu que eles eram muito lentos, desatualizados e chatos!