ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - Março

Renato Groff
Renato GroffAon Corporation
ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - Março
• Microsoft Most Valuable Professional (MVP)
• Multi-Plataform Technical Audience
Contributor (MTAC)
• Desenvolvedor, Autor Técnico e Palestrante
• Treinamento Azure na Prática
• Um dos organizadores do Canal .NET e do
.NET São Paulo
Renato Groffe
h t t p s : / / m e d i u m . c o m / @ re n a t o . g rof f e /
Renato Groffe - Contatos
h t t p s : / / m e d i u m . c o m / @ re n a t o . g rof f e /
/renatogroffe /in/renatogroffe
/canaldotnet
/renatogroffe
/canaldotnet
/renatogroff
Agenda
• ASP.NET Core: uma visão geral
• Dicas e Exemplos práticos
APIs REST - Contexto Atual
• Escalabilidade, disponibilidade e performance
• REST como principal estilo arquitetural
• Microserviços ganhando força
• Economia das APIs
• Emergência do padrão gRPC
ASP.NET Core – Visão Geral
• Atualmente na versão 3.1
• Aplicações Web mais leves e rápidas
• Multiplataforma (execução em Windows, Linux e
Mac)
• Suporte a Docker
Injeção de Dependências
• O ASP.NET Core conta desde as primeiras versões com um
mecanismo nativo de injeção de dependências
• Favorece Baixo Acoplamento
github.com/renatogroffe/ASPNETCore3.1_InjDependencias_API
ASP.NET Core 3.x – Suporte a JSON
• Namespace System.Text.Json e suas novas
classes mais performáticas: Utf8JsonReader,
Utf8JsonWriter, JsonDocument e JsonSerializer
• Projetos Web ao serem não contam mais com
uma referência para o package
Microsoft.AspNetCore.Mvc.NewtonsoftJson
• Possibilidade de customizar o uso do novo
Serializer
Retornando XML numa API REST
• Ajuste que pode ser necessário devido à
necessidade de integração com projetos legados
github.com/renatogroffe/ASPNETCore3.1_XML_APIs
.NET Core 3.x – Novo provider de acesso a dados
• Package Microsoft.Data.SqlClient
• Suporte a novos recursos do SQL
Server (Always Encrypted, Data
Classification)
Suporte a JSON no SQL Server
• Evitar a escrita de várias classes para retorno de
informações e operações de transformação de
dados
Entity Framework Core
• Compatibilidade com bancos relacionais como
SQL Server, PostgreSQL, MySQL…
Dapper: acesso a dados com maior performance
• Alternativa ao Entity Framework para acesso a
dados relacionais
API Conventions
• Novo recurso do ASP.NET Core 2.2 disponibilizado
com o objetivo de simplificar a documentação de
APIs REST com Swagger
Documentação/Testes com Swagger
• Geração de um site documentando APIs com
pouquíssimo código, além de contar com
funcionalidades para testes
HTTP REPL: testando APIs via linha de comando
• Utilitário de linha (Global Tool) de comando para
teste de APIs REST que tiveram o Swagger
habilitado
Azure App Configuration
• Gerenciamento centralizado de configurações de aplicações
• Alteração de configurações sem a necessidade de reiniciar uma
aplicação
github.com/renatogroffe/ASPNETCore3.1-AzureAppConfiguration
O atributo ApiController
• Simplifica a implementação de APIs REST,
eliminando a necessidade de algumas convenções
de código; presente desde o ASP.NET Core 2.1
Dapper.Contrib
• CRUDS implementados com Dapper de forma
mais simplificada
Fluent Validation
• Maior simplicidade e flexibilidade na
implementação de regras de validação
Código Resiliente com Polly
• Biblioteca para a implementação de tratamentos
de falha de maneira descomplicada
IHttpClientFactory + Typed Client
• Alternativa para simplificar o consumo de APIs
REST em projetos ASP.NET Core e que utiliza a
classe HttpClient
Chaos Engineering: Simmy
• Integração com Polly
• Policies para simulação de caos
• Extremamente útil no teste de
sistemas distribuídos/Microservices
JWT (JSON Web Tokens)
• Uso de tokens criptografados
• Bearer Authentication
• Emprega HMAC ou RSA
• Tecnologia multiplataforma
• Tokens formados por 3 partes (Header, Payload e Signature)
github.com/renatogroffe/ASPNETCore3.1_JWT-Identity-RefreshTokens
JWT (JSON Web Tokens) - Utilização
Um exemplo de token
Consumindo uma API com Refit
• Solução mais simplificada para o consumo de
APIs REST, tendo compatibilidade com o .NET
Standard
github.com/renatogroffe/DotNetCore3.1_Refit-JWT-RefreshTokens-Polly
.NET Core 3.x – Suporte a Docker
• Redução no tamanho das imagens em
relação a versões anteriores
• Imagens do SDK contém agora o PowerShell
Core (é possível invocar este utilitário
durante a geração da imagem de uma
aplicação)
ASP.NET Core 3.1 + gRPC
• Comunicação via HTTP/2 utilizando
um formato binário
• Uso do formato binário Protobuf para
serialização
• Maior performance
ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - Março
medium.com/@renato.groffe/
1 de 31

Recomendados

Aplicações Web Escaláveis no Azure: App Service, Docker e Kubernetes - Fevere... por
Aplicações Web Escaláveis no Azure: App Service, Docker e Kubernetes - Fevere...Aplicações Web Escaláveis no Azure: App Service, Docker e Kubernetes - Fevere...
Aplicações Web Escaláveis no Azure: App Service, Docker e Kubernetes - Fevere...Renato Groff
2.5K visualizações19 slides
.NET Core 3.x + ASP.NET Core 3.x + Docker + Kubernetes na prática - Canal .NE... por
.NET Core 3.x + ASP.NET Core 3.x + Docker + Kubernetes na prática - Canal .NE....NET Core 3.x + ASP.NET Core 3.x + Docker + Kubernetes na prática - Canal .NE...
.NET Core 3.x + ASP.NET Core 3.x + Docker + Kubernetes na prática - Canal .NE...Renato Groff
3.3K visualizações20 slides
Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App on L... por
Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App on L...Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App on L...
Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App on L...Renato Groff
6.4K visualizações20 slides
Implementando APIs seguras na nuvem - Outubro-2018 - Azure Brasil por
Implementando APIs seguras na nuvem - Outubro-2018 - Azure BrasilImplementando APIs seguras na nuvem - Outubro-2018 - Azure Brasil
Implementando APIs seguras na nuvem - Outubro-2018 - Azure BrasilRenato Groff
4.2K visualizações32 slides
Construindo aplicações Web escaláveis com Docker, Kubernetes e o Microsoft Az... por
Construindo aplicações Web escaláveis com Docker, Kubernetes e o Microsoft Az...Construindo aplicações Web escaláveis com Docker, Kubernetes e o Microsoft Az...
Construindo aplicações Web escaláveis com Docker, Kubernetes e o Microsoft Az...Renato Groff
7.8K visualizações33 slides
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ... por
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...Renato Groff
5.4K visualizações25 slides

Mais conteúdo relacionado

Mais procurados

Aplicações Web Escaláveis no Azure: App Service, Docker e Kubernetes - Global... por
Aplicações Web Escaláveis no Azure: App Service, Docker e Kubernetes - Global...Aplicações Web Escaláveis no Azure: App Service, Docker e Kubernetes - Global...
Aplicações Web Escaláveis no Azure: App Service, Docker e Kubernetes - Global...Renato Groff
2.1K visualizações22 slides
Cloud Solutions com o Microsoft Azure - TDC Online Especial BH por
Cloud Solutions com o Microsoft Azure - TDC Online Especial BHCloud Solutions com o Microsoft Azure - TDC Online Especial BH
Cloud Solutions com o Microsoft Azure - TDC Online Especial BHRenato Groff
336 visualizações28 slides
Dicas para uma maior performance em APIs REST - DEVPIRA Festival - Dezembro-2018 por
Dicas para uma maior performance em APIs REST - DEVPIRA Festival - Dezembro-2018Dicas para uma maior performance em APIs REST - DEVPIRA Festival - Dezembro-2018
Dicas para uma maior performance em APIs REST - DEVPIRA Festival - Dezembro-2018Renato Groff
1.3K visualizações23 slides
Construindo APIs REST escaláveis na nuvem com Docker e Kubernetes - DEVPIRA F... por
Construindo APIs REST escaláveis na nuvem com Docker e Kubernetes - DEVPIRA F...Construindo APIs REST escaláveis na nuvem com Docker e Kubernetes - DEVPIRA F...
Construindo APIs REST escaláveis na nuvem com Docker e Kubernetes - DEVPIRA F...Renato Groff
2K visualizações35 slides
Desenvolvimento Web multiplataforma com ASP.NET Core 2.2 e Docker - Open Sour... por
Desenvolvimento Web multiplataforma com ASP.NET Core 2.2 e Docker - Open Sour...Desenvolvimento Web multiplataforma com ASP.NET Core 2.2 e Docker - Open Sour...
Desenvolvimento Web multiplataforma com ASP.NET Core 2.2 e Docker - Open Sour...Renato Groff
4K visualizações22 slides
Cloud Solutions com Microsoft Azure - Azure Talks - Novembro-2019 por
Cloud Solutions com Microsoft Azure - Azure Talks - Novembro-2019Cloud Solutions com Microsoft Azure - Azure Talks - Novembro-2019
Cloud Solutions com Microsoft Azure - Azure Talks - Novembro-2019Renato Groff
106 visualizações28 slides

Mais procurados(20)

Aplicações Web Escaláveis no Azure: App Service, Docker e Kubernetes - Global... por Renato Groff
Aplicações Web Escaláveis no Azure: App Service, Docker e Kubernetes - Global...Aplicações Web Escaláveis no Azure: App Service, Docker e Kubernetes - Global...
Aplicações Web Escaláveis no Azure: App Service, Docker e Kubernetes - Global...
Renato Groff2.1K visualizações
Cloud Solutions com o Microsoft Azure - TDC Online Especial BH por Renato Groff
Cloud Solutions com o Microsoft Azure - TDC Online Especial BHCloud Solutions com o Microsoft Azure - TDC Online Especial BH
Cloud Solutions com o Microsoft Azure - TDC Online Especial BH
Renato Groff336 visualizações
Dicas para uma maior performance em APIs REST - DEVPIRA Festival - Dezembro-2018 por Renato Groff
Dicas para uma maior performance em APIs REST - DEVPIRA Festival - Dezembro-2018Dicas para uma maior performance em APIs REST - DEVPIRA Festival - Dezembro-2018
Dicas para uma maior performance em APIs REST - DEVPIRA Festival - Dezembro-2018
Renato Groff1.3K visualizações
Construindo APIs REST escaláveis na nuvem com Docker e Kubernetes - DEVPIRA F... por Renato Groff
Construindo APIs REST escaláveis na nuvem com Docker e Kubernetes - DEVPIRA F...Construindo APIs REST escaláveis na nuvem com Docker e Kubernetes - DEVPIRA F...
Construindo APIs REST escaláveis na nuvem com Docker e Kubernetes - DEVPIRA F...
Renato Groff2K visualizações
Desenvolvimento Web multiplataforma com ASP.NET Core 2.2 e Docker - Open Sour... por Renato Groff
Desenvolvimento Web multiplataforma com ASP.NET Core 2.2 e Docker - Open Sour...Desenvolvimento Web multiplataforma com ASP.NET Core 2.2 e Docker - Open Sour...
Desenvolvimento Web multiplataforma com ASP.NET Core 2.2 e Docker - Open Sour...
Renato Groff4K visualizações
Cloud Solutions com Microsoft Azure - Azure Talks - Novembro-2019 por Renato Groff
Cloud Solutions com Microsoft Azure - Azure Talks - Novembro-2019Cloud Solutions com Microsoft Azure - Azure Talks - Novembro-2019
Cloud Solutions com Microsoft Azure - Azure Talks - Novembro-2019
Renato Groff106 visualizações
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020 por Renato Groff
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020
Renato Groff669 visualizações
Alternativas para a Implementação de Microservices no Microsoft Azure - Jane... por Renato Groff
 Alternativas para a Implementação de Microservices no Microsoft Azure - Jane... Alternativas para a Implementação de Microservices no Microsoft Azure - Jane...
Alternativas para a Implementação de Microservices no Microsoft Azure - Jane...
Renato Groff299 visualizações
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018 por Renato Groff
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018
Renato Groff4.6K visualizações
Azure Kubernetes Service: orquestrando containers e escalando rapidamente apl... por Renato Groff
Azure Kubernetes Service: orquestrando containers e escalando rapidamente apl...Azure Kubernetes Service: orquestrando containers e escalando rapidamente apl...
Azure Kubernetes Service: orquestrando containers e escalando rapidamente apl...
Renato Groff425 visualizações
Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ... por Renato Groff
Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ...Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ...
Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ...
Renato Groff1.6K visualizações
Hospedando Aplicações Web no Azure: App Service, Docker e Kubernetes - Azure ... por Renato Groff
Hospedando Aplicações Web no Azure: App Service, Docker e Kubernetes - Azure ...Hospedando Aplicações Web no Azure: App Service, Docker e Kubernetes - Azure ...
Hospedando Aplicações Web no Azure: App Service, Docker e Kubernetes - Azure ...
Renato Groff136 visualizações
Docker: Introdução e Primeiros Passos - CEUNSP - Outubro-2018 por Renato Groff
Docker: Introdução e Primeiros Passos - CEUNSP - Outubro-2018Docker: Introdução e Primeiros Passos - CEUNSP - Outubro-2018
Docker: Introdução e Primeiros Passos - CEUNSP - Outubro-2018
Renato Groff8.7K visualizações
Construindo aplicações escaláveis com ASP.NET Core, Docker e o Microsoft Azur... por Renato Groff
Construindo aplicações escaláveis com ASP.NET Core, Docker e o Microsoft Azur...Construindo aplicações escaláveis com ASP.NET Core, Docker e o Microsoft Azur...
Construindo aplicações escaláveis com ASP.NET Core, Docker e o Microsoft Azur...
Renato Groff2.1K visualizações
Hospedando projetos Web no Azure: de um site estático a um cluster Kubernetes... por Renato Groff
Hospedando projetos Web no Azure: de um site estático a um cluster Kubernetes...Hospedando projetos Web no Azure: de um site estático a um cluster Kubernetes...
Hospedando projetos Web no Azure: de um site estático a um cluster Kubernetes...
Renato Groff1.8K visualizações
APIs na nuvem: implementando soluções RESTful com o Microsoft Azure - Azure T... por Renato Groff
APIs na nuvem: implementando soluções RESTful com o Microsoft Azure - Azure T...APIs na nuvem: implementando soluções RESTful com o Microsoft Azure - Azure T...
APIs na nuvem: implementando soluções RESTful com o Microsoft Azure - Azure T...
Renato Groff62 visualizações
Kubernetes - do Pod ao Deployment Automatizado - DevOps Professionals - Janei... por Renato Groff
Kubernetes - do Pod ao Deployment Automatizado - DevOps Professionals - Janei...Kubernetes - do Pod ao Deployment Automatizado - DevOps Professionals - Janei...
Kubernetes - do Pod ao Deployment Automatizado - DevOps Professionals - Janei...
Renato Groff8.5K visualizações
Sobrevoando os serviços do Azure | TDC Florianópolis Online 2020 por Renato Groff
Sobrevoando os serviços do Azure | TDC Florianópolis Online 2020Sobrevoando os serviços do Azure | TDC Florianópolis Online 2020
Sobrevoando os serviços do Azure | TDC Florianópolis Online 2020
Renato Groff2K visualizações
Docker no Back e no Front - um exemplo com .NET Core e Angular - Campus Party... por Renato Groff
Docker no Back e no Front - um exemplo com .NET Core e Angular - Campus Party...Docker no Back e no Front - um exemplo com .NET Core e Angular - Campus Party...
Docker no Back e no Front - um exemplo com .NET Core e Angular - Campus Party...
Renato Groff3.9K visualizações
Implementando soluções containerizadas com .NET Core 3.1 e o Microsoft Azure ... por Renato Groff
Implementando soluções containerizadas com .NET Core 3.1 e o Microsoft Azure ...Implementando soluções containerizadas com .NET Core 3.1 e o Microsoft Azure ...
Implementando soluções containerizadas com .NET Core 3.1 e o Microsoft Azure ...
Renato Groff113 visualizações

Similar a ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - Março

Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Julho-2019 por
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Julho-2019Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Julho-2019
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Julho-2019Renato Groff
4.9K visualizações38 slides
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019 por
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019Renato Groff
1.7K visualizações40 slides
10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C... por
10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...
10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...Renato Groff
73 visualizações18 slides
.NET Core e ASP.NET Core: Dicas e Truques por
.NET Core e ASP.NET Core: Dicas e Truques.NET Core e ASP.NET Core: Dicas e Truques
.NET Core e ASP.NET Core: Dicas e TruquesRenato Groff
1.2K visualizações24 slides
.Net Community Summit - Construindo APIs REST seguras com o ASP.NET Core - Re... por
.Net Community Summit - Construindo APIs REST seguras com o ASP.NET Core - Re....Net Community Summit - Construindo APIs REST seguras com o ASP.NET Core - Re...
.Net Community Summit - Construindo APIs REST seguras com o ASP.NET Core - Re...iMasters
186 visualizações30 slides
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem... por
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem...Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem...
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem...Renato Groff
187 visualizações18 slides

Similar a ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - Março(20)

Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Julho-2019 por Renato Groff
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Julho-2019Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Julho-2019
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Julho-2019
Renato Groff4.9K visualizações
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019 por Renato Groff
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019
Renato Groff1.7K visualizações
10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C... por Renato Groff
10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...
10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...
Renato Groff73 visualizações
.NET Core e ASP.NET Core: Dicas e Truques por Renato Groff
.NET Core e ASP.NET Core: Dicas e Truques.NET Core e ASP.NET Core: Dicas e Truques
.NET Core e ASP.NET Core: Dicas e Truques
Renato Groff1.2K visualizações
.Net Community Summit - Construindo APIs REST seguras com o ASP.NET Core - Re... por iMasters
.Net Community Summit - Construindo APIs REST seguras com o ASP.NET Core - Re....Net Community Summit - Construindo APIs REST seguras com o ASP.NET Core - Re...
.Net Community Summit - Construindo APIs REST seguras com o ASP.NET Core - Re...
iMasters186 visualizações
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem... por Renato Groff
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem...Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem...
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem...
Renato Groff187 visualizações
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Arqui... por Renato Groff
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Arqui...Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Arqui...
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Arqui...
Renato Groff6.1K visualizações
Boas práticas na implementação de APIs REST com ASP.NET Core - Agosto-2019 por Renato Groff
Boas práticas na implementação de APIs REST com ASP.NET Core - Agosto-2019Boas práticas na implementação de APIs REST com ASP.NET Core - Agosto-2019
Boas práticas na implementação de APIs REST com ASP.NET Core - Agosto-2019
Renato Groff3.6K visualizações
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1 por Giovanni Bassi
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
Giovanni Bassi876 visualizações
Docker + Azure: opções disponíveis para uso de Containers na nuvem Microsoft ... por Renato Groff
Docker + Azure: opções disponíveis para uso de Containers na nuvem Microsoft ...Docker + Azure: opções disponíveis para uso de Containers na nuvem Microsoft ...
Docker + Azure: opções disponíveis para uso de Containers na nuvem Microsoft ...
Renato Groff1K visualizações
Nuvens com Ênfase em Azure - Locatech + Locaneers - Abril-2019 por Renato Groff
Nuvens com Ênfase em Azure - Locatech + Locaneers - Abril-2019Nuvens com Ênfase em Azure - Locatech + Locaneers - Abril-2019
Nuvens com Ênfase em Azure - Locatech + Locaneers - Abril-2019
Renato Groff353 visualizações
APIs na nuvem: implementando soluções RESTful com o Microsoft Azure - Azure ... por Renato Groff
 APIs na nuvem: implementando soluções RESTful com o Microsoft Azure - Azure ... APIs na nuvem: implementando soluções RESTful com o Microsoft Azure - Azure ...
APIs na nuvem: implementando soluções RESTful com o Microsoft Azure - Azure ...
Renato Groff119 visualizações
Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack... por Renato Groff
Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack...Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack...
Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack...
Renato Groff956 visualizações
7 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - .NET SP - ... por Renato Groff
7 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - .NET SP - ...7 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - .NET SP - ...
7 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - .NET SP - ...
Renato Groff37 visualizações
Microsoft Azure para Desenvolvedores Web - Azure para Devs e DBAs - Maio-2018 por Renato Groff
Microsoft Azure para Desenvolvedores Web - Azure para Devs e DBAs - Maio-2018Microsoft Azure para Desenvolvedores Web - Azure para Devs e DBAs - Maio-2018
Microsoft Azure para Desenvolvedores Web - Azure para Devs e DBAs - Maio-2018
Renato Groff15 visualizações
Alternativas para a Implementação de Microservices no Microsoft Azure - Novem... por Renato Groff
Alternativas para a Implementação de Microservices no Microsoft Azure - Novem...Alternativas para a Implementação de Microservices no Microsoft Azure - Novem...
Alternativas para a Implementação de Microservices no Microsoft Azure - Novem...
Renato Groff421 visualizações
Docker para Desenvolvedores - Developers-BR - Agosto-2018 por Renato Groff
Docker para Desenvolvedores - Developers-BR - Agosto-2018Docker para Desenvolvedores - Developers-BR - Agosto-2018
Docker para Desenvolvedores - Developers-BR - Agosto-2018
Renato Groff35 visualizações
5 Tecnologias que todo Desenvolvedor Web deveria conhecer - Developers-BR - O... por Renato Groff
5 Tecnologias que todo Desenvolvedor Web deveria conhecer - Developers-BR - O...5 Tecnologias que todo Desenvolvedor Web deveria conhecer - Developers-BR - O...
5 Tecnologias que todo Desenvolvedor Web deveria conhecer - Developers-BR - O...
Renato Groff94 visualizações
APIs na nuvem com Azure e ASP.NET Core - Azure Weekend 2016 por Renato Groff
APIs na nuvem com Azure e ASP.NET Core - Azure Weekend 2016APIs na nuvem com Azure e ASP.NET Core - Azure Weekend 2016
APIs na nuvem com Azure e ASP.NET Core - Azure Weekend 2016
Renato Groff593 visualizações
Dicas para uma maior performance em APIs REST - Renato Groffe por iMasters
Dicas para uma maior performance em APIs REST - Renato GroffeDicas para uma maior performance em APIs REST - Renato Groffe
Dicas para uma maior performance em APIs REST - Renato Groffe
iMasters595 visualizações

Mais de Renato Groff

Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ... por
Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...
Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...Renato Groff
312 visualizações40 slides
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020 por
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020Renato Groff
98 visualizações19 slides
Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev... por
Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...
Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...Renato Groff
250 visualizações18 slides
Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat... por
Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...
Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...Renato Groff
141 visualizações19 slides
GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat... por
GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...
GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...Renato Groff
117 visualizações14 slides
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No... por
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...Renato Groff
160 visualizações15 slides

Mais de Renato Groff(20)

Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ... por Renato Groff
Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...
Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...
Renato Groff312 visualizações
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020 por Renato Groff
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020
Renato Groff98 visualizações
Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev... por Renato Groff
Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...
Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...
Renato Groff250 visualizações
Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat... por Renato Groff
Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...
Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...
Renato Groff141 visualizações
GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat... por Renato Groff
GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...
GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...
Renato Groff117 visualizações
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No... por Renato Groff
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...
Renato Groff160 visualizações
Polly: aplicações .NET resilientes e um melhor tratamento de falhas | MVPConf... por Renato Groff
Polly: aplicações .NET resilientes e um melhor tratamento de falhas | MVPConf...Polly: aplicações .NET resilientes e um melhor tratamento de falhas | MVPConf...
Polly: aplicações .NET resilientes e um melhor tratamento de falhas | MVPConf...
Renato Groff88 visualizações
Containers no Azure: Docker, Kubernetes e suas diferentes possibilidades | MV... por Renato Groff
Containers no Azure: Docker, Kubernetes e suas diferentes possibilidades | MV...Containers no Azure: Docker, Kubernetes e suas diferentes possibilidades | MV...
Containers no Azure: Docker, Kubernetes e suas diferentes possibilidades | MV...
Renato Groff85 visualizações
Docker: dicas e truques para o dia a dia | MVPConf Latam 2020 por Renato Groff
Docker: dicas e truques para o dia a dia | MVPConf Latam 2020Docker: dicas e truques para o dia a dia | MVPConf Latam 2020
Docker: dicas e truques para o dia a dia | MVPConf Latam 2020
Renato Groff122 visualizações
Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020 por Renato Groff
Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020
Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020
Renato Groff209 visualizações
.NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |... por Renato Groff
.NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |....NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |...
.NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |...
Renato Groff169 visualizações
Aplicações Distribuídas com .NET | TDC Recife Online 2020 por Renato Groff
Aplicações Distribuídas com .NET | TDC Recife Online 2020Aplicações Distribuídas com .NET | TDC Recife Online 2020
Aplicações Distribuídas com .NET | TDC Recife Online 2020
Renato Groff130 visualizações
Novidades do .NET 5 e ASP.NET 5 | Visual Studio Summit 2020 por Renato Groff
Novidades do .NET 5 e ASP.NET 5 | Visual Studio Summit 2020Novidades do .NET 5 e ASP.NET 5 | Visual Studio Summit 2020
Novidades do .NET 5 e ASP.NET 5 | Visual Studio Summit 2020
Renato Groff224 visualizações
Serverless + Integrações com BDs: Azure Functions e Logic Apps - SQLSaturday ... por Renato Groff
Serverless + Integrações com BDs: Azure Functions e Logic Apps - SQLSaturday ...Serverless + Integrações com BDs: Azure Functions e Logic Apps - SQLSaturday ...
Serverless + Integrações com BDs: Azure Functions e Logic Apps - SQLSaturday ...
Renato Groff184 visualizações
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -... por Renato Groff
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...
Renato Groff485 visualizações
.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie por Renato Groff
.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie
.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie
Renato Groff257 visualizações
Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ... por Renato Groff
Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...
Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...
Renato Groff576 visualizações
Kubernetes na Nuvem | Minicurso Gratuito - Azure na Prática por Renato Groff
Kubernetes na Nuvem | Minicurso Gratuito - Azure na PráticaKubernetes na Nuvem | Minicurso Gratuito - Azure na Prática
Kubernetes na Nuvem | Minicurso Gratuito - Azure na Prática
Renato Groff569 visualizações
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020 por Renato Groff
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020
Renato Groff435 visualizações
Sobrevoando os serviços do Azure | TDC São Paulo Online 2020 por Renato Groff
Sobrevoando os serviços do Azure | TDC São Paulo Online 2020Sobrevoando os serviços do Azure | TDC São Paulo Online 2020
Sobrevoando os serviços do Azure | TDC São Paulo Online 2020
Renato Groff241 visualizações

ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - Março

  • 2. • Microsoft Most Valuable Professional (MVP) • Multi-Plataform Technical Audience Contributor (MTAC) • Desenvolvedor, Autor Técnico e Palestrante • Treinamento Azure na Prática • Um dos organizadores do Canal .NET e do .NET São Paulo Renato Groffe h t t p s : / / m e d i u m . c o m / @ re n a t o . g rof f e /
  • 3. Renato Groffe - Contatos h t t p s : / / m e d i u m . c o m / @ re n a t o . g rof f e / /renatogroffe /in/renatogroffe /canaldotnet /renatogroffe /canaldotnet /renatogroff
  • 4. Agenda • ASP.NET Core: uma visão geral • Dicas e Exemplos práticos
  • 5. APIs REST - Contexto Atual • Escalabilidade, disponibilidade e performance • REST como principal estilo arquitetural • Microserviços ganhando força • Economia das APIs • Emergência do padrão gRPC
  • 6. ASP.NET Core – Visão Geral • Atualmente na versão 3.1 • Aplicações Web mais leves e rápidas • Multiplataforma (execução em Windows, Linux e Mac) • Suporte a Docker
  • 7. Injeção de Dependências • O ASP.NET Core conta desde as primeiras versões com um mecanismo nativo de injeção de dependências • Favorece Baixo Acoplamento github.com/renatogroffe/ASPNETCore3.1_InjDependencias_API
  • 8. ASP.NET Core 3.x – Suporte a JSON • Namespace System.Text.Json e suas novas classes mais performáticas: Utf8JsonReader, Utf8JsonWriter, JsonDocument e JsonSerializer • Projetos Web ao serem não contam mais com uma referência para o package Microsoft.AspNetCore.Mvc.NewtonsoftJson • Possibilidade de customizar o uso do novo Serializer
  • 9. Retornando XML numa API REST • Ajuste que pode ser necessário devido à necessidade de integração com projetos legados github.com/renatogroffe/ASPNETCore3.1_XML_APIs
  • 10. .NET Core 3.x – Novo provider de acesso a dados • Package Microsoft.Data.SqlClient • Suporte a novos recursos do SQL Server (Always Encrypted, Data Classification)
  • 11. Suporte a JSON no SQL Server • Evitar a escrita de várias classes para retorno de informações e operações de transformação de dados
  • 12. Entity Framework Core • Compatibilidade com bancos relacionais como SQL Server, PostgreSQL, MySQL…
  • 13. Dapper: acesso a dados com maior performance • Alternativa ao Entity Framework para acesso a dados relacionais
  • 14. API Conventions • Novo recurso do ASP.NET Core 2.2 disponibilizado com o objetivo de simplificar a documentação de APIs REST com Swagger
  • 15. Documentação/Testes com Swagger • Geração de um site documentando APIs com pouquíssimo código, além de contar com funcionalidades para testes
  • 16. HTTP REPL: testando APIs via linha de comando • Utilitário de linha (Global Tool) de comando para teste de APIs REST que tiveram o Swagger habilitado
  • 17. Azure App Configuration • Gerenciamento centralizado de configurações de aplicações • Alteração de configurações sem a necessidade de reiniciar uma aplicação github.com/renatogroffe/ASPNETCore3.1-AzureAppConfiguration
  • 18. O atributo ApiController • Simplifica a implementação de APIs REST, eliminando a necessidade de algumas convenções de código; presente desde o ASP.NET Core 2.1
  • 19. Dapper.Contrib • CRUDS implementados com Dapper de forma mais simplificada
  • 20. Fluent Validation • Maior simplicidade e flexibilidade na implementação de regras de validação
  • 21. Código Resiliente com Polly • Biblioteca para a implementação de tratamentos de falha de maneira descomplicada
  • 22. IHttpClientFactory + Typed Client • Alternativa para simplificar o consumo de APIs REST em projetos ASP.NET Core e que utiliza a classe HttpClient
  • 23. Chaos Engineering: Simmy • Integração com Polly • Policies para simulação de caos • Extremamente útil no teste de sistemas distribuídos/Microservices
  • 24. JWT (JSON Web Tokens) • Uso de tokens criptografados • Bearer Authentication • Emprega HMAC ou RSA • Tecnologia multiplataforma • Tokens formados por 3 partes (Header, Payload e Signature) github.com/renatogroffe/ASPNETCore3.1_JWT-Identity-RefreshTokens
  • 25. JWT (JSON Web Tokens) - Utilização
  • 26. Um exemplo de token
  • 27. Consumindo uma API com Refit • Solução mais simplificada para o consumo de APIs REST, tendo compatibilidade com o .NET Standard github.com/renatogroffe/DotNetCore3.1_Refit-JWT-RefreshTokens-Polly
  • 28. .NET Core 3.x – Suporte a Docker • Redução no tamanho das imagens em relação a versões anteriores • Imagens do SDK contém agora o PowerShell Core (é possível invocar este utilitário durante a geração da imagem de uma aplicação)
  • 29. ASP.NET Core 3.1 + gRPC • Comunicação via HTTP/2 utilizando um formato binário • Uso do formato binário Protobuf para serialização • Maior performance