desenvolvendo apis com webapi

21
André Baltieri Community Manager & SDE Microsoft MVP – ASP.NET/IIS Desenvolvendo APIs web na plataforma .NET

Upload: andre-baltieri

Post on 05-Dec-2014

244 views

Category:

Software


4 download

DESCRIPTION

Slides da minha palestra ministrada no ETBS2014 dia 03/09/2014

TRANSCRIPT

Page 1: Desenvolvendo APIs com WebAPI

André BaltieriCommunity Manager & SDEMicrosoft MVP – ASP.NET/IIS

Desenvolvendo APIs web na plataforma .NET

Page 2: Desenvolvendo APIs com WebAPI

André Baltieri

• Microsoft MVP ASP.NET/IIS• Trabalha desenvolvimento Web desde 2003• Experiência em projetos nacionais e internacionais

Page 3: Desenvolvendo APIs com WebAPI

@andrebaltieri

/andrebaltieri

/andrebaltieri

[email protected]

Page 4: Desenvolvendo APIs com WebAPI

Agenda

Por que ter uma API?

Quando utilizar?

Performance

Padronização

Segurança

CORS

Page 5: Desenvolvendo APIs com WebAPI

Por que ter uma API?

Page 6: Desenvolvendo APIs com WebAPI

APIs conhecidas

Page 7: Desenvolvendo APIs com WebAPI

Quando utilizar?

Page 8: Desenvolvendo APIs com WebAPI

Quando devo construir uma API?

• Para o meu legado?• Para o meu aplicativo?• Para substituir meu WCF?

Page 9: Desenvolvendo APIs com WebAPI

Algumas considerações

Page 10: Desenvolvendo APIs com WebAPI

Considerações

• Somente via HTTP!• Web API não substitui o WCF!• Arquitetura NÃO TEM receita de bolo!• Qual seu objetivo?• Levante estatísticas• Foco na solução

Page 11: Desenvolvendo APIs com WebAPI

Otimizando a performance da sua

API

Page 12: Desenvolvendo APIs com WebAPI

ORMs

Page 13: Desenvolvendo APIs com WebAPI

Serialização JSON

Page 14: Desenvolvendo APIs com WebAPI

Outras considerações

• Compressão• Cache• Async• Múltiplos Resultados

Page 15: Desenvolvendo APIs com WebAPI

Padronizando a API

Page 16: Desenvolvendo APIs com WebAPI

Padronizações

• HTTP Messages• Minúsculo/Maiúsculo• Padronizando as rotas• Parâmetros nas rotas• Limitando a leitura de dados

Page 17: Desenvolvendo APIs com WebAPI

Segurança

Page 18: Desenvolvendo APIs com WebAPI

Segurança

• Autenticação via Header• Limitando acesso via URL ou IP• oAuth

Page 19: Desenvolvendo APIs com WebAPI

CORS

Page 20: Desenvolvendo APIs com WebAPI

André BaltieriCommunity Manager & SDEMicrosoft MVP – ASP.NET/IIS

Obrigado!Treinamento de WebAPI

http://bit.ly/webapi-13-09

Treinamento de AngularJS

http://bit.ly/ng-2709

Page 21: Desenvolvendo APIs com WebAPI

www.brsolucoesintegradas.com.br