Construindo APIs Mobile
-
Upload
sensedia-company -
Category
Documents
-
view
476 -
download
0
description
Transcript of Construindo APIs Mobile
Construindo APIsMobile
[email protected]: @kleberbacili
Kleber Bacili
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
Alguns Clientes
They areGreat APPs!
Supported by Great APIs
APIs Dados ou funções de negócios expostos via web para outras aplicações consumirem
Super Buzz!
Essencial, quando?
App é Front-endMulti-plataformaMulti-canais (+)
Essencial, quando?
INTERNET DAS COISAS
App é Front-endMulti-plataformaMulti-canais Open (+)
Essencial, quando?
KEEPCALM
AND
BUILDAPIs
1 TECNOLOGIAS ADEQUADAS
2 DESIGN CUIDADOSO
3 CONTROLE & SEGURANÇA
5 ALCANCE AMPLIFICADO
4 ONBOADING FACILITADO
Atributos Valiosos para sua API
Atributo #Tecnologias Adequadas
RESTSOAP vs.
POST /GetStock HTTP/1.1Host: www.example.orgContent-Type: applicaNon/soap+xml
<?xml version="1.0"?><soap:Envelope
xmlns:soap=”http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle=”http://www.w3.org/ 2001/12/soap-encoding">
<soap:Bodyxmlns:m=”http://www.example.org/stock"> <m:GetStockPrice><m:StockName>GOOGL</m:StockName>
</m:GetStockPrice> </soap:Body></soap:Envelope>
GET hXp://example.org/stock/GOOGL
RESTSOAP vs.
RESTRepresentational State Transfer
Prefira
JSONXML vs.
JSONXML vs.
{"symbol": ”GOOGL", "price": 94.72,
}
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Bodyxmlns:m="http://www.example.org/stock"> <m:GetStockPriceResponse> <m:Price>94.72</m:Price>
</m:GetStockPriceResponse></soap:Body>
</soap:Envelope>
Prefira
JSONJavascript Object Notation
Atributo #
Use dojeito certo!
(1/2)
(2/2)
Use dojeito certo!
Error Codes padronizados
Versionamento
Profundidade
Caching
Paginação
Compactação
Filters: Atributos na query string
Atributo #
ThrottlingProteja o seu Backend
Log TracePerformanceDisponibilidade
Identidade, Autorização e Privacidade
Identificar App (?)
Identificar Usuário (?)
Identificar Device (?)
Segurança no Canal (HTTPS?)
Atributo #
“Não ao PDF de 80 páginas enviado por e-mail”
Request a Key
Experimentação Simplificada
Documentação Interativa
Ambiente de Sandbox
√
√
√
Atributo #
Onde seuPúblico está? Forum de discussão Blog para as novidades Eventos especializados
Hackathon
http://www.eventbrite.com/event/8247246737
www.linkedin.com/groups/API-Web-Services-Brasil-5000376 www.meetup.com/API-Crafters-Brasil/
Sign-ups
Apps in Production
Total Calls
Blocked Calls
Success / Errors
Data Transferred
Top Apps
Top Resources
�-����
�500,000��
�1,000,000��
�1,500,000��
�2,000,000��
�2,500,000��
jan� feb� mar� apr� may� jun� jul� aug� sep� oct� nov� dec�
All�API�Calls� Blocked�Calls�
Melhoria Contínua
Para melhorar você precisa entender comoa sua API está sendo usada
Que tal:
developers.[you].com
?
1 TECNOLOGIAS ADEQUADAS
2 DESIGN CUIDADOSO
3 CONTROLE & SEGURANÇA
5 ALCANCE AMPLIFICADO
4 ONBOADING FACILITADO
Atributos Valiosos para sua API
Construindo APIsMobile
[email protected]: @kleberbacili
Thanks!Imagens dessa apresentaçãohttp://www.flickr.com/photos/chris_tomlinson/9436208737http://www.flickr.com/photos/snaptheworld/5855710053http://www.flickr.com/photos/snaptheworld/5855710163http://katetharwood.wordpress.com/2012/01/http://blog.atrinternational.com/bid/176935/Technology-Jobs-and-Trends-for-2013http://www.flickr.com/photos/gerarddonnelly/7248701466