Kleber	
  Bacili	
  
	
  	
  	
  	
  	
  	
  	
  kleber.bacili@sensedia.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
 ...
www.slideshare.net/kleberbacili/	
  
Kleber	
  Bacili	
  
kleber.bacili@sensedia.com	
  
@kleberbacili	
  
v  SOA,	
  Microservices	
  e	
  APIs	
  
v  Projetos	
  bacaníssimos	
  
v  Ferramentas	
  sensacionais	
  
v  Headqu...
Alguns	
  Clientes	
  
App	
  Economy	
  
SSOCIAL	
  
MMOBILE	
  
AANALYTICS	
  
CCLOUD	
  
The	
  Internet	
  
of	
  Things	
  
API
First	
  
APIs	
  
v  MúlAplos	
  Canais	
  
v  Experiências	
  e	
  Telas	
  diferentes	
  
v  Parceiros	
  extern...
TI	
  BIMODAL	
  
API	
  
Layer	
  
Backend	
  
Partners/	
  
Developers	
  
Users	
   Apps	
  
8Lições	
  
Equipes
Versões
Monitoração
Segurança Tráfego
RESTful
Erros
Evolução
Equipes
Versões
Monitoração
Segurança Tráfego
RESTful
Erros
Evolução
Back-­‐end	
  Devs	
  Front-­‐end	
  Devs	
  
v  RESTful	
  
v  Microservices	
  
v  DevOps	
  
v  Containers	
  
v  ...
Equipes
Versões
Monitoração
Segurança Tráfego
RESTful
Erros
Evolução
§  Código	
  Legado	
  
§  SOAP	
  Services	
  
§  Tabelas	
  de	
  Banco	
  
Design	
  	
  
ProblemáUco	
  
A ARMADILH...
{ RESTful }
Coleção	
  
/pedidos!
Resources	
  
Elemento	
  
/pedidos/{id}!
/getAccount!
/getAllAccounts!
/createDirectory!
/updateGroupName!
/findClientById!
RPC?	
  
GET /vendas/pedidos!
POST /clientes/98W3G32K01/enderecos!
{…}	
  
PUT /clientes/98W3G32K01/enderecos/1!
{…}	
  
DELETE /us...
Mais	
  informações?	
  
Vídeo	
  do	
  Webinar	
  
hLp://downloads.sensedia.com/webinar-­‐design-­‐de-­‐apis-­‐resQul	
  
Equipes
Versões
Monitoração
Segurança Tráfego
RESTful
Erros
Evolução
THINGS
CHANGE!
v1	
  
v2	
  
v3	
   v4	
  
Versionamento	
  
Versão	
  
URI:	
   https://api.mycompany.com/name-of-api/v2/resource!
HTTP	
  ou	
  	
  
HTTPS	
  
Seu	...
Equipes
Versões
Monitoração
Segurança Tráfego
RESTful
Erros
Evolução
200!
400!
500!
Resultado	
  OK	
  
Erro	
  no	
  Client	
  
Erro	
  no	
  Server	
  
STATUS	
   OK 200!
Equipes
Versões
Monitoração
Segurança Tráfego
RESTful
Erros
Evolução
v Acesso	
  não	
  autorizado	
  
v Ataques	
  
v Privacidade	
  
v Integridade	
  
v Disponibilidade	
  
v Acesso	
  não	
  autorizado	
  
v Ataques	
  
v Sobrecarga	
  
v Confidencialidade	
  
v Implementações	
  	
  
desa...
Básico	
  
Intermediário	
  
CríUco	
  
v  Open?	
  
v  Informações	
  
Sensíveis?	
  
v  Transações?	
  
Usuários	
   Apps	
  
Basic	
  HTTP	
   OAuth2	
   OpenID	
  Connect	
  
Estratégias	
  de	
  AutenUcação	
  /	
  Autoriza...
Definição	
  de	
  Escopo	
  
Revogação	
  	
  
de	
  Token	
  
Client	
  Apps	
  
APIs	
  
Rate	
  LimiUng	
  Policy	
  
JSON	
  Threat	
  Policy	
  
Payload	
  Size	
  Policy	
  
IP	
 ...
Outras	
  dicas:	
  
	
  	
  
v  IdenAficadores	
  UUID	
  
v  Nunca	
  use	
  Tokens	
  na	
  URL	
  
v  Gerenciamento	...
Os	
  Fundamentos	
  da	
  
Segurança	
  de	
  APIs	
  
WEBINAR
hLp://downloads.sensedia.com/webinar-­‐seguranca-­‐de-­‐ap...
Equipes
Versões
Monitoração
Segurança Tráfego
RESTful
Erros
Evolução
Caching	
  
Evite	
  tráfego	
  desnecessário	
  
	
  Latência	
  de	
  rede	
  	
  
	
  Sobrecarga	
  nos	
  servidores	
...
Filtros	
  
GET /vendas/v2/pedidos?_status=concluido!
GET /pedidos/123AF15J?_fields=numero,data,valor!
Busca	
  com	
  esc...
Paginação	
  
GET /pedidos?_offset=50&_limit=25!
Recomendação:	
  
Outras	
  opções:	
  
Linkedin:	
  	
  	
  
	
  
Instag...
Equipes
Versões
Monitoração
Segurança Tráfego
RESTful
Erros
Evolução
Compreenda	
  o	
  
PADRÃO DE USO
das	
  APPs	
  e	
  APIs	
  
Faça	
  o	
  	
  
LOGGING
detalhado	
  
Dica:	
  cuidado	
  com	
  o	
  	
  
volume	
  de	
  dados	
  
Equipes
Versões
Monitoração
Segurança Tráfego
RESTful
Erros
Evolução
Scaling	
  the	
  Ne:lix	
  API	
  @	
  slideshare	
  
Equipes
Versões
Monitoração
Segurança Tráfego
RESTful
Erros
Evolução
Kleber	
  Bacili	
  
	
  	
  	
  	
  	
  	
  	
  kleber.bacili@sensedia.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
 ...
Construção de APIs para apps móveis
Construção de APIs para apps móveis
Construção de APIs para apps móveis
Construção de APIs para apps móveis
Construção de APIs para apps móveis
Construção de APIs para apps móveis
Próximos SlideShares
Carregando em…5
×

Construção de APIs para apps móveis

2.651 visualizações

Publicada em

Qual a melhor estratégia para Design de APIs? E se o foco da sua API forem aplicações móveis? Veja as 8 lições para criação de uma API completa para suas aplicações móveis

Publicada em: Tecnologia
0 comentários
3 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
2.651
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1.743
Ações
Compartilhamentos
0
Downloads
22
Comentários
0
Gostaram
3
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Construção de APIs para apps móveis

  1. 1. Kleber  Bacili                kleber.bacili@sensedia.com                                              @kleberbacili   Construção  de  APIs     para  Apps  móveis  
  2. 2. www.slideshare.net/kleberbacili/  
  3. 3. Kleber  Bacili   kleber.bacili@sensedia.com   @kleberbacili  
  4. 4. v  SOA,  Microservices  e  APIs   v  Projetos  bacaníssimos   v  Ferramentas  sensacionais   v  Headquarter  em  Campinas,     escritórios  em  SP,  Rio  e  EUA  
  5. 5. Alguns  Clientes  
  6. 6. App  Economy  
  7. 7. SSOCIAL   MMOBILE   AANALYTICS   CCLOUD  
  8. 8. The  Internet   of  Things  
  9. 9. API First   APIs   v  MúlAplos  Canais   v  Experiências  e  Telas  diferentes   v  Parceiros  externos  e  Clientes   v  Integrações  OnPremise–Cloud  
  10. 10. TI  BIMODAL  
  11. 11. API   Layer   Backend   Partners/   Developers   Users   Apps  
  12. 12. 8Lições  
  13. 13. Equipes Versões Monitoração Segurança Tráfego RESTful Erros Evolução
  14. 14. Equipes Versões Monitoração Segurança Tráfego RESTful Erros Evolução
  15. 15. Back-­‐end  Devs  Front-­‐end  Devs   v  RESTful   v  Microservices   v  DevOps   v  Containers   v  à  DX   v  Plataformas  NaUvas   v  HTML5  e  Javascript   v  Outros  Devices  (wearables,  IoT)   v  Empresas  parceiras:  Open  APIs   v  à  UX  
  16. 16. Equipes Versões Monitoração Segurança Tráfego RESTful Erros Evolução
  17. 17. §  Código  Legado   §  SOAP  Services   §  Tabelas  de  Banco   Design     ProblemáUco   A ARMADILHA DA AUTOMATIZAÇÃO
  18. 18. { RESTful }
  19. 19. Coleção   /pedidos! Resources   Elemento   /pedidos/{id}!
  20. 20. /getAccount! /getAllAccounts! /createDirectory! /updateGroupName! /findClientById! RPC?  
  21. 21. GET /vendas/pedidos! POST /clientes/98W3G32K01/enderecos! {…}   PUT /clientes/98W3G32K01/enderecos/1! {…}   DELETE /users/98W3G32K01/photos! PATCH /users/98W3G32K01 ! {…}  
  22. 22. Mais  informações?   Vídeo  do  Webinar   hLp://downloads.sensedia.com/webinar-­‐design-­‐de-­‐apis-­‐resQul  
  23. 23. Equipes Versões Monitoração Segurança Tráfego RESTful Erros Evolução
  24. 24. THINGS CHANGE! v1   v2   v3   v4  
  25. 25. Versionamento   Versão   URI:   https://api.mycompany.com/name-of-api/v2/resource! HTTP  ou     HTTPS   Seu  domínio   Nome  da  API   (opcional)   Recursos  e   Parâmetros  
  26. 26. Equipes Versões Monitoração Segurança Tráfego RESTful Erros Evolução
  27. 27. 200! 400! 500! Resultado  OK   Erro  no  Client   Erro  no  Server  
  28. 28. STATUS   OK 200!
  29. 29. Equipes Versões Monitoração Segurança Tráfego RESTful Erros Evolução
  30. 30. v Acesso  não  autorizado   v Ataques   v Privacidade   v Integridade   v Disponibilidade  
  31. 31. v Acesso  não  autorizado   v Ataques   v Sobrecarga   v Confidencialidade   v Implementações     desastradas  de  clients  
  32. 32. Básico   Intermediário   CríUco   v  Open?   v  Informações   Sensíveis?   v  Transações?  
  33. 33. Usuários   Apps   Basic  HTTP   OAuth2   OpenID  Connect   Estratégias  de  AutenUcação  /  Autorização   App  Token  
  34. 34. Definição  de  Escopo  
  35. 35. Revogação     de  Token  
  36. 36. Client  Apps   APIs   Rate  LimiUng  Policy   JSON  Threat  Policy   Payload  Size  Policy   IP  Filtering  Policy   …   API  Gateway  
  37. 37. Outras  dicas:       v  IdenAficadores  UUID   v  Nunca  use  Tokens  na  URL   v  Gerenciamento  de  Apps  
  38. 38. Os  Fundamentos  da   Segurança  de  APIs   WEBINAR hLp://downloads.sensedia.com/webinar-­‐seguranca-­‐de-­‐apis  
  39. 39. Equipes Versões Monitoração Segurança Tráfego RESTful Erros Evolução
  40. 40. Caching   Evite  tráfego  desnecessário    Latência  de  rede      Sobrecarga  nos  servidores   Pontos  de  Atenção   v  Local  de  cacheamento   v  Tempo  de  invalidação  do  cache   v  Sincronização  em  clusters  
  41. 41. Filtros   GET /vendas/v2/pedidos?_status=concluido! GET /pedidos/123AF15J?_fields=numero,data,valor! Busca  com  escopo  (subconjuntos):   Respostas  parciais:  
  42. 42. Paginação   GET /pedidos?_offset=50&_limit=25! Recomendação:   Outras  opções:   Linkedin:         Instagram:     ?start=50&count=25   ?min_id=3091&max_id=3245&count=25  
  43. 43. Equipes Versões Monitoração Segurança Tráfego RESTful Erros Evolução
  44. 44. Compreenda  o   PADRÃO DE USO das  APPs  e  APIs  
  45. 45. Faça  o     LOGGING detalhado   Dica:  cuidado  com  o     volume  de  dados  
  46. 46. Equipes Versões Monitoração Segurança Tráfego RESTful Erros Evolução
  47. 47. Scaling  the  Ne:lix  API  @  slideshare  
  48. 48. Equipes Versões Monitoração Segurança Tráfego RESTful Erros Evolução
  49. 49. Kleber  Bacili                kleber.bacili@sensedia.com                                              @kleberbacili   Construção  de  APIs     para  Apps  móveis  

×