Construindo APIs Mobile

Post on 28-Jun-2015

476 views 0 download

description

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.

Transcript of Construindo APIs Mobile

Construindo APIsMobile

kleber.bacili@sensedia.comTwitter: @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

kleber.bacili@sensedia.comTwitter: @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