SlideShare uma empresa Scribd logo
1 de 49
Baixar para ler offline
Construindo APIs
Mobile
kleber.bacili@sensedia.com
Twitter: @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 are

Great 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?
Essencial, quando?
 App é Front-end

 Multi-plataforma
 Multi-canais (+)
INTERNET DAS COISAS
Essencial, quando?
 App é Front-end

 Multi-plataforma
 Multi-canais
 Open (+)
Why Open?
Video Link:
http://www.youtube.com/watch?v=7r7QpIDEI_o
KEEP
CALM
AND
BUILD
APIs
Atributos Valiosos para sua API
1

TECNOLOGIAS ADEQUADAS

2 DESIGN CUIDADOSO

3 CONTROLE & SEGURANÇA
4 ONBOADING FACILITADO
5 ALCANCE AMPLIFICADO
Tecnologias Adequadas

Atributo #
SOAP

vs.

REST
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">
Prefira
<soap:Body
xmlns:m=”http://www.example.org/stock">
<m:GetStockPrice>
<m:StockName>GOOGL</m:StockName>
</m:GetStockPrice>
</soap:Body>
</soap:Envelope>

REST
Representational State Transfer
XML

vs.

JSON
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
Atributo #
(1/2)

Use do

jeito certo!
(2/2)

 Error Codes padronizados

Use do

jeito certo!

 Versionamento
 Profundidade
 Caching
 Paginação
 Compactação
 Filters: Atributos na query string
Atributo #
Throttling
Proteja o seu Backend
Log Trace
Performance
Disponibilidade
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 seu
Pú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/
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
Que tal:

developers.[you].com

?
Atributos Valiosos para sua API
1

TECNOLOGIAS ADEQUADAS

2 DESIGN CUIDADOSO

3 CONTROLE & SEGURANÇA
4 ONBOADING FACILITADO
5 ALCANCE AMPLIFICADO
Construindo APIs
Mobile
kleber.bacili@sensedia.com
Twitter: @kleberbacili
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

Mais conteúdo relacionado

Mais procurados

O que é GeneXus?
O que é GeneXus?O que é GeneXus?
O que é GeneXus?
GeneXus
 

Mais procurados (18)

Design APIs Restful, DevWeek Porto Alegre
Design APIs Restful, DevWeek Porto AlegreDesign APIs Restful, DevWeek Porto Alegre
Design APIs Restful, DevWeek Porto Alegre
 
Monte sua loja de aplicações corporativas com Sybase AFARIA (SAP Forum São Pa...
Monte sua loja de aplicações corporativas com Sybase AFARIA (SAP Forum São Pa...Monte sua loja de aplicações corporativas com Sybase AFARIA (SAP Forum São Pa...
Monte sua loja de aplicações corporativas com Sybase AFARIA (SAP Forum São Pa...
 
Como Cloud Computing pode ajudar TI a ser um viabilizador de negócios
Como Cloud Computing pode ajudar TI a ser um viabilizador de negóciosComo Cloud Computing pode ajudar TI a ser um viabilizador de negócios
Como Cloud Computing pode ajudar TI a ser um viabilizador de negócios
 
Como garantir a qualidade de sua API?
Como garantir a qualidade de sua API?Como garantir a qualidade de sua API?
Como garantir a qualidade de sua API?
 
Construção de APIs para Apps Móveis
Construção de APIs para Apps MóveisConstrução de APIs para Apps Móveis
Construção de APIs para Apps Móveis
 
Apresentação Jornadas de Informática 2017
Apresentação Jornadas de Informática 2017Apresentação Jornadas de Informática 2017
Apresentação Jornadas de Informática 2017
 
Mundo das API's
Mundo das API'sMundo das API's
Mundo das API's
 
Transforme suas APIs em Negócio
Transforme suas APIs em NegócioTransforme suas APIs em Negócio
Transforme suas APIs em Negócio
 
Soujava -construindo_ap_is_com_a_open_api_spec_e_java
Soujava  -construindo_ap_is_com_a_open_api_spec_e_javaSoujava  -construindo_ap_is_com_a_open_api_spec_e_java
Soujava -construindo_ap_is_com_a_open_api_spec_e_java
 
Workshop Hands-On APIX 2018 - Trilha Básica
Workshop Hands-On APIX 2018 - Trilha BásicaWorkshop Hands-On APIX 2018 - Trilha Básica
Workshop Hands-On APIX 2018 - Trilha Básica
 
Gooding BR - Business Plan
Gooding BR - Business PlanGooding BR - Business Plan
Gooding BR - Business Plan
 
Casos de Sucesso WSO2 no Governo Brasileiro
Casos de Sucesso WSO2 no Governo BrasileiroCasos de Sucesso WSO2 no Governo Brasileiro
Casos de Sucesso WSO2 no Governo Brasileiro
 
Skalena - Overview de Soluções
Skalena - Overview de Soluções Skalena - Overview de Soluções
Skalena - Overview de Soluções
 
REST - padrões e melhores práticas
REST - padrões e melhores práticasREST - padrões e melhores práticas
REST - padrões e melhores práticas
 
Azure Api App e Logic App
Azure Api App e Logic AppAzure Api App e Logic App
Azure Api App e Logic App
 
Desmistificando o desenvolvimento de mobile híbrido
Desmistificando o desenvolvimento de mobile híbridoDesmistificando o desenvolvimento de mobile híbrido
Desmistificando o desenvolvimento de mobile híbrido
 
Phonegap, muito além dos nativos!
Phonegap, muito além dos nativos!Phonegap, muito além dos nativos!
Phonegap, muito além dos nativos!
 
O que é GeneXus?
O que é GeneXus?O que é GeneXus?
O que é GeneXus?
 

Destaque

Destaque (7)

Design de APIs RESTful Seguras e Escaláveis
Design de APIs RESTful Seguras e EscaláveisDesign de APIs RESTful Seguras e Escaláveis
Design de APIs RESTful Seguras e Escaláveis
 
[Super apresentações] We can do much better
[Super apresentações] We can do much better[Super apresentações] We can do much better
[Super apresentações] We can do much better
 
Campus Party 2015: Os 10 Atributos de uma API de Sucesso
Campus Party 2015: Os 10 Atributos de uma API de SucessoCampus Party 2015: Os 10 Atributos de uma API de Sucesso
Campus Party 2015: Os 10 Atributos de uma API de Sucesso
 
10 Atributos de uma API de Sucesso
10 Atributos de uma API de Sucesso10 Atributos de uma API de Sucesso
10 Atributos de uma API de Sucesso
 
Internet of things
Internet of thingsInternet of things
Internet of things
 
Os 7 Pecados Capitais na exposição de APIs RESTful
Os 7 Pecados Capitais na exposição de APIs RESTfulOs 7 Pecados Capitais na exposição de APIs RESTful
Os 7 Pecados Capitais na exposição de APIs RESTful
 
Propósito e Cultura Corporativa
Propósito e Cultura CorporativaPropósito e Cultura Corporativa
Propósito e Cultura Corporativa
 

Semelhante a Building APIs Mobile @ the Forum Mobile+

Monitoração de Aplicações Distribuídas
Monitoração de Aplicações DistribuídasMonitoração de Aplicações Distribuídas
Monitoração de Aplicações Distribuídas
Markus Christen
 
Uma visão geral sobre a plataforma de aplicações
Uma visão geral sobre a plataforma de aplicaçõesUma visão geral sobre a plataforma de aplicações
Uma visão geral sobre a plataforma de aplicações
Markus Christen
 

Semelhante a Building APIs Mobile @ the Forum Mobile+ (20)

DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-comm...
DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-comm...DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-comm...
DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-comm...
 
Open APIs by Sensedia (CIAB 2014)
Open APIs by Sensedia (CIAB 2014)Open APIs by Sensedia (CIAB 2014)
Open APIs by Sensedia (CIAB 2014)
 
PHP Experience 2016 - [Workshop] APIs bem desenhadas como base para integrações
PHP Experience 2016 - [Workshop] APIs bem desenhadas como base para integraçõesPHP Experience 2016 - [Workshop] APIs bem desenhadas como base para integrações
PHP Experience 2016 - [Workshop] APIs bem desenhadas como base para integrações
 
WSO2 - Visão Geral de Negócios
WSO2 - Visão Geral de NegóciosWSO2 - Visão Geral de Negócios
WSO2 - Visão Geral de Negócios
 
Economia das APIs - Uma visão de negócios
Economia das APIs - Uma visão de negóciosEconomia das APIs - Uma visão de negócios
Economia das APIs - Uma visão de negócios
 
Eduardo Rocha - Criando produtos invisíveis
Eduardo Rocha - Criando produtos invisíveis   Eduardo Rocha - Criando produtos invisíveis
Eduardo Rocha - Criando produtos invisíveis
 
SMWSP - O que meu BI pode me entregar? Produtos de Inteligência em tempos de ...
SMWSP - O que meu BI pode me entregar? Produtos de Inteligência em tempos de ...SMWSP - O que meu BI pode me entregar? Produtos de Inteligência em tempos de ...
SMWSP - O que meu BI pode me entregar? Produtos de Inteligência em tempos de ...
 
Sua Startup precisa de uma WebAPI.
Sua Startup precisa de uma WebAPI.Sua Startup precisa de uma WebAPI.
Sua Startup precisa de uma WebAPI.
 
Development of structural applications using web based technologies
Development of structural applications using web based technologiesDevelopment of structural applications using web based technologies
Development of structural applications using web based technologies
 
API management: um aliado para construção de APIs
API management: um aliado para construção de APIsAPI management: um aliado para construção de APIs
API management: um aliado para construção de APIs
 
Share Point 2013 - O Que Há De Novo Para Desenvolvedores
Share Point 2013 - O Que Há De Novo Para DesenvolvedoresShare Point 2013 - O Que Há De Novo Para Desenvolvedores
Share Point 2013 - O Que Há De Novo Para Desenvolvedores
 
API Methodology by Skalena
API Methodology by SkalenaAPI Methodology by Skalena
API Methodology by Skalena
 
Mobile Ria Para Aplicacoes Para Negocios
Mobile Ria Para Aplicacoes Para NegociosMobile Ria Para Aplicacoes Para Negocios
Mobile Ria Para Aplicacoes Para Negocios
 
Monitoração de Aplicações Distribuídas
Monitoração de Aplicações DistribuídasMonitoração de Aplicações Distribuídas
Monitoração de Aplicações Distribuídas
 
Developer Experience - Escalando Negócios com a melhor experiência ao desenvo...
Developer Experience - Escalando Negócios com a melhor experiência ao desenvo...Developer Experience - Escalando Negócios com a melhor experiência ao desenvo...
Developer Experience - Escalando Negócios com a melhor experiência ao desenvo...
 
Workshop: Construindo uma API RESTFul com Spring Boot
Workshop: Construindo uma API RESTFul com Spring BootWorkshop: Construindo uma API RESTFul com Spring Boot
Workshop: Construindo uma API RESTFul com Spring Boot
 
Vida longa para SOA com microservices
Vida longa para SOA com microservicesVida longa para SOA com microservices
Vida longa para SOA com microservices
 
Uma visão geral sobre a plataforma de aplicações
Uma visão geral sobre a plataforma de aplicaçõesUma visão geral sobre a plataforma de aplicações
Uma visão geral sobre a plataforma de aplicações
 
Governança de Mobilidade - BinarioMobile
Governança de Mobilidade - BinarioMobileGovernança de Mobilidade - BinarioMobile
Governança de Mobilidade - BinarioMobile
 
Desenvolvendo aplicativos multi-tenant com Xamarin.Forms
Desenvolvendo aplicativos multi-tenant com Xamarin.FormsDesenvolvendo aplicativos multi-tenant com Xamarin.Forms
Desenvolvendo aplicativos multi-tenant com Xamarin.Forms
 

Último

Último (8)

ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 

Building APIs Mobile @ the Forum Mobile+