building apis mobile @ the forum mobile+

49
Construindo APIs Mobile [email protected] Twitter: @kleberbacili

Upload: kleber-bacili

Post on 26-Jun-2015

295 views

Category:

Technology


0 download

DESCRIPTION

Minha apresentação 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. --------------------------- My 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

Page 1: Building APIs Mobile @ the Forum Mobile+

Construindo APIs

[email protected]

Twitter: @kleberbacili

Page 2: Building APIs Mobile @ the Forum Mobile+

Kleber Bacili

Page 3: Building APIs Mobile @ the Forum Mobile+

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

Page 4: Building APIs Mobile @ the Forum Mobile+

Alguns Clientes

Page 5: Building APIs Mobile @ the Forum Mobile+
Page 6: Building APIs Mobile @ the Forum Mobile+
Page 7: Building APIs Mobile @ the Forum Mobile+
Page 8: Building APIs Mobile @ the Forum Mobile+

They are

Great APPs!

Page 9: Building APIs Mobile @ the Forum Mobile+

Supported by

Great APIs

Page 10: Building APIs Mobile @ the Forum Mobile+

APIsDados ou funções de negócios expostos via web para outras aplicações consumirem

Page 11: Building APIs Mobile @ the Forum Mobile+

Super Buzz!

Page 12: Building APIs Mobile @ the Forum Mobile+

Essencial, quando?

Page 13: Building APIs Mobile @ the Forum Mobile+

App é Front-end

Multi-plataforma

Multi-canais (+)

Essencial, quando?

Page 14: Building APIs Mobile @ the Forum Mobile+

INTERNET DAS COISAS

Page 15: Building APIs Mobile @ the Forum Mobile+

App é Front-end

Multi-plataforma

Multi-canais

Open (+)

Essencial, quando?

Page 16: Building APIs Mobile @ the Forum Mobile+

Why Open?

Video Link:http://www.youtube.com/watch?v=7r7QpIDEI_o

Page 17: Building APIs Mobile @ the Forum Mobile+

KEEPCALM

AND

BUILDAPIs

Page 18: Building APIs Mobile @ the Forum Mobile+

1 TECNOLOGIAS ADEQUADAS

2 DESIGN CUIDADOSO

3 CONTROLE & SEGURANÇA

5 ALCANCE AMPLIFICADO

4 ONBOADING FACILITADO

Atributos Valiosos para sua API

Page 19: Building APIs Mobile @ the Forum Mobile+

Atributo #Tecnologias Adequadas

Page 20: Building APIs Mobile @ the Forum Mobile+

RESTSOAP vs.

Page 21: Building APIs Mobile @ the Forum Mobile+

POST /GetStock HTTP/1.1

Host: www.example.org

Content-Type: applicaNon/soap+xml

<?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>

GET hXp://example.org/stock/GOOGL

RESTSOAP vs.

RESTRepresentational State Transfer

Prefira

Page 22: Building APIs Mobile @ the Forum Mobile+

JSONXML vs.

Page 23: Building APIs Mobile @ the Forum Mobile+

JSONXML vs.

{

"symbol": ”GOOGL",

"price": 94.72,

}

<?xml version="1.0"?>

<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

JSONJavascript Object Notation

Page 24: Building APIs Mobile @ the Forum Mobile+

Atributo #

Page 25: Building APIs Mobile @ the Forum Mobile+

Use do

jeito certo!

(1/2)

Page 26: Building APIs Mobile @ the Forum Mobile+

(2/2)

Use do

jeito certo!

Error Codes padronizados

Versionamento

Profundidade

Caching

Paginação

Compactação

Filters: Atributos na query string

Page 27: Building APIs Mobile @ the Forum Mobile+

Atributo #

Page 28: Building APIs Mobile @ the Forum Mobile+

ThrottlingProteja o seu Backend

Page 29: Building APIs Mobile @ the Forum Mobile+

Log Trace

Performance

Disponibilidade

Page 30: Building APIs Mobile @ the Forum Mobile+

Identidade, Autorização e Privacidade

Identificar App (?)

Identificar Usuário (?)

Identificar Device (?)

Segurança no Canal (HTTPS?)

Page 31: Building APIs Mobile @ the Forum Mobile+

Atributo #

Page 32: Building APIs Mobile @ the Forum Mobile+

“Não ao PDF de 80 páginas enviado por e-mail”

Page 33: Building APIs Mobile @ the Forum Mobile+
Page 34: Building APIs Mobile @ the Forum Mobile+
Page 35: Building APIs Mobile @ the Forum Mobile+
Page 36: Building APIs Mobile @ the Forum Mobile+
Page 37: Building APIs Mobile @ the Forum Mobile+

Request a Key

Page 38: Building APIs Mobile @ the Forum Mobile+

Experimentação Simplificada

Documentação Interativa

Ambiente de Sandbox

Page 39: Building APIs Mobile @ the Forum Mobile+

Atributo #

Page 40: Building APIs Mobile @ the Forum Mobile+

Onde seu

Público está?

Forum de discussão

Blog para as novidades

Eventos especializados

Page 41: Building APIs Mobile @ the Forum Mobile+
Page 42: Building APIs Mobile @ the Forum Mobile+

Hackathon

Page 43: Building APIs Mobile @ the Forum Mobile+

http://www.eventbrite.com/event/8247246737

Page 44: Building APIs Mobile @ the Forum Mobile+

www.linkedin.com/groups/API-Web-Services-Brasil-5000376 www.meetup.com/API-Crafters-Brasil/

Page 45: Building APIs Mobile @ the Forum Mobile+

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

AllAPICalls BlockedCalls

Melhoria Contínua

Para melhorar você precisa entender como

a sua API está sendo usada

Page 46: Building APIs Mobile @ the Forum Mobile+

Que tal:

developers.[you].com

?

Page 47: Building APIs Mobile @ the Forum Mobile+

1 TECNOLOGIAS ADEQUADAS

2 DESIGN CUIDADOSO

3 CONTROLE & SEGURANÇA

5 ALCANCE AMPLIFICADO

4 ONBOADING FACILITADO

Atributos Valiosos para sua API

Page 48: Building APIs Mobile @ the Forum Mobile+

Construindo APIs

[email protected]

Twitter: @kleberbacili

Page 49: Building APIs Mobile @ the Forum Mobile+

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