Construindo APIs Mobile

1,490 views
1,682 views

Published on

Apresentação do CEO da Sensedia, Kleber Bacili, no Forum Mobile+ em São Paulo (Setembro/2013).

Facebook, Google+, Twitter, Linkedin, Flickr, Evernote, Netflix, Amazon, eBay, Extra.com & Mercado Livre. Todos eles possuem Apps sensacionais suportados por excelentes APIs.

Essa apresentação cobre a importância de expor e gerenciar APIs para projetos Mobile. Mostra também diversas boa práticas sobre como criar APIs de sucesso.

---------------------------
Sensedia's CEO Kleber Bacili presentation at the Forum Mobile+ in São Paulo / Brazil
http://convergecom.com.br/portal/eventos/forum-mobile/

Facebook, Google+, Twitter, Linkedin, Flickr, Evernote, Netflix, Amazon, eBay, Extra.com & Mercado Livre. All of them have great apps supported by great APIs.

This presentation covers the importance of exposing and managing APIs on mobile projects. It also shows several Best Practices on how to design and expose successful APIs.

Construindo APIs Mobile

  1. 1. Construindo APIs Mobile kleber.bacili@sensedia.com Twitter: @kleberbacili
  2. 2. Kleber Bacili
  3. 3. Sobre a Sensedia  Empresa brasileira, sediada em Campinas com escritórios em São Paulo e nos EUA  Profundo conhecimento em:  SOA (Arquitetura Orientada a Serviços)  API (Application Programming Interfaces)  Posicionada como visionária no quadrante mágico em SOA do Gartner(*) (*) Magic Quadrant for Integrated SOA Governance Technology Sets, 2009
  4. 4. Alguns Clientes
  5. 5. They are Great APPs!
  6. 6. Supported by Great APIs
  7. 7. APIs Dados ou funções de negócios expostos via web para outras aplicações consumirem
  8. 8. Super Buzz!
  9. 9. Essencial, quando?
  10. 10. Essencial, quando?  App é Front-end  Multi-plataforma  Multi-canais (+)
  11. 11. INTERNET DAS COISAS
  12. 12. Essencial, quando?  App é Front-end  Multi-plataforma  Multi-canais  Open (+)
  13. 13. KEEP CALM AND BUILD APIs
  14. 14. Atributos Valiosos para sua API 1 TECNOLOGIAS ADEQUADAS 2 DESIGN CUIDADOSO 3 CONTROLE & SEGURANÇA 4 ONBOADING FACILITADO 5 ALCANCE AMPLIFICADO
  15. 15. Tecnologias Adequadas Atributo #
  16. 16. SOAP vs. REST
  17. 17. SOAP vs. POST /GetStock HTTP/1.1 Host: www.example.org Content-Type: applicaNon/soap+xml REST GET hXp://example.org/stock/GOOGL <?xml version="1.0"?> <soap:Envelope xmlns:soap=”http://www.w3.org/2001/12/s oap-envelope" soap:encodingStyle=”http://www.w3.org/   2001/12/soap-encoding"> <soap:Body xmlns:m=”http://www.example.org/stock"> <m:GetStockPrice> <m:StockName>GOOGL</m:StockName> </m:GetStockPrice> </soap:Body> </soap:Envelope> Prefira REST Representational State Transfer
  18. 18. XML vs. JSON
  19. 19. XML JSON vs. <?xml version="1.0"?> { "symbol":  ”GOOGL",   "price": 94.72, <soap:Envelope } xmlns:soap="http://www.w3.org/2001/1 2/soap-envelope" soap:encodingStyle="http://www.w3.or g/2001/12/soap-encoding"> <soap:Body xmlns:m="http://www.example.org/stoc k"> <m:GetStockPriceResponse> <m:Price>94.72</m:Price> </m:GetStockPriceResponse> </soap:Body> </soap:Envelope> Prefira JSON Javascript Object Notation
  20. 20. Atributo #
  21. 21. (1/2) Use do jeito certo!
  22. 22. (2/2)  Error Codes padronizados Use do jeito certo!  Versionamento  Profundidade  Caching  Paginação  Compactação  Filters: Atributos na query string
  23. 23. Atributo #
  24. 24. Throttling Proteja o seu Backend
  25. 25. Log Trace Performance Disponibilidade
  26. 26. Identidade, Autorização e Privacidade  Identificar App (?)  Identificar Usuário (?)  Identificar Device (?)  Segurança no Canal (HTTPS?)
  27. 27. Atributo #
  28. 28. “Não ao PDF de 80 páginas enviado por e-mail”
  29. 29. Request a Key
  30. 30. √ Experimentação Simplificada √ Documentação Interativa √ Ambiente de Sandbox
  31. 31. Atributo #
  32. 32. Onde seu Público está?  Forum de discussão  Blog para as novidades  Eventos especializados
  33. 33. Hackathon
  34. 34. http://www.eventbrite.com/event/8247246737
  35. 35. www.linkedin.com/groups/API-Web-Services-Brasil-5000376 www.meetup.com/API-Crafters-Brasil/
  36. 36. Melhoria Contínua Para melhorar você precisa entender como a sua API está sendo usada  Sign-ups  Apps in Production  Total Calls 2,500,000 2,000,000  Blocked Calls 1,500,000 1,000,000  Success / Errors 500,000 jan feb mar apr may All API Calls jun jul aug Blocked Calls sep oct nov dec  Data Transferred  Top Apps  Top Resources
  37. 37. Que tal: developers.[you].com ?
  38. 38. Atributos Valiosos para sua API 1 TECNOLOGIAS ADEQUADAS 2 DESIGN CUIDADOSO 3 CONTROLE & SEGURANÇA 4 ONBOADING FACILITADO 5 ALCANCE AMPLIFICADO
  39. 39. Construindo APIs Mobile kleber.bacili@sensedia.com Twitter: @kleberbacili
  40. 40. Thanks! Imagens dessa apresentação http://www.flickr.com/photos/chris_tomlinson/9436208737 http://www.flickr.com/photos/snaptheworld/5855710053 http://www.flickr.com/photos/snaptheworld/5855710163 http://katetharwood.wordpress.com/2012/01/ http://blog.atrinternational.com/bid/176935/Technology-Jobs-and-Trends-for-2013 http://www.flickr.com/photos/gerarddonnelly/7248701466

×