Construção de APIs para Apps Móveis

363 visualizações

Publicada em

Impulsionadas pelas estratégias digitais em mobilidade, cloud, mídias sociais e internet das coisas, as APIs estão realmente entrando no dia-a-dia das equipes de desenvolvimento, seja de startups, começando a desenvolver seus produtos, seja de grandes empresas, que carregam um grande legado de sistemas e investimentos já realizados em middlewares de integração.

Diversas razões que podem levar uma empresa a expor APIs. Mas seja qual for a sua, alguns cuidados são imprescindíveis para que as suas APIs tragam os resultados esperados. Entretanto, muitas implementações de APIs RESTful não tem levado em consideração princípios básicos de design.

Publicada em: Negócios
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
363
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
5
Comentários
0
Gostaram
0
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  

×