SlideShare uma empresa Scribd logo
1 de 55
Baixar para ler offline
Kleber	
  Bacili	
  
	
  	
  	
  	
  	
  	
  	
  kleber.bacili@sensedia.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
	
  	
  	
  	
  	
  	
  	
  @kleberbacili	
  
Construção	
  de	
  APIs	
  	
  
para	
  Apps	
  móveis	
  
www.slideshare.net/kleberbacili/	
  
Kleber	
  Bacili	
  
kleber.bacili@sensedia.com	
  
@kleberbacili	
  
v  SOA,	
  Microservices	
  e	
  APIs	
  
v  Projetos	
  bacaníssimos	
  
v  Ferramentas	
  sensacionais	
  
v  Headquarter	
  em	
  Campinas,	
  	
  
escritórios	
  em	
  SP,	
  Rio	
  e	
  EUA	
  
Alguns	
  Clientes	
  
App	
  Economy	
  
SSOCIAL	
  
MMOBILE	
  
AANALYTICS	
  
CCLOUD	
  
The	
  Internet	
  
of	
  Things	
  
API
First	
  
APIs	
  
v  MúlAplos	
  Canais	
  
v  Experiências	
  e	
  Telas	
  diferentes	
  
v  Parceiros	
  externos	
  e	
  Clientes	
  
v  Integrações	
  OnPremise–Cloud	
  
TI	
  BIMODAL	
  
API	
  
Layer	
  
Backend	
  
Partners/	
  
Developers	
  
Users	
   Apps	
  
8Lições	
  
Equipes
Versões
Monitoração
Segurança Tráfego
RESTful
Erros
Evolução
Equipes
Versões
Monitoração
Segurança Tráfego
RESTful
Erros
Evolução
Back-­‐end	
  Devs	
  Front-­‐end	
  Devs	
  
v  RESTful	
  
v  Microservices	
  
v  DevOps	
  
v  Containers	
  
v  à	
  DX	
  
v  Plataformas	
  NaUvas	
  
v  HTML5	
  e	
  Javascript	
  
v  Outros	
  Devices	
  (wearables,	
  IoT)	
  
v  Empresas	
  parceiras:	
  Open	
  APIs	
  
v  à	
  UX	
  
Equipes
Versões
Monitoração
Segurança Tráfego
RESTful
Erros
Evolução
§  Código	
  Legado	
  
§  SOAP	
  Services	
  
§  Tabelas	
  de	
  Banco	
  
Design	
  	
  
ProblemáUco	
  
A ARMADILHA DA AUTOMATIZAÇÃO
{ RESTful }
Coleção	
  
/pedidos!
Resources	
  
Elemento	
  
/pedidos/{id}!
/getAccount!
/getAllAccounts!
/createDirectory!
/updateGroupName!
/findClientById!
RPC?	
  
GET /vendas/pedidos!
POST /clientes/98W3G32K01/enderecos!
{…}	
  
PUT /clientes/98W3G32K01/enderecos/1!
{…}	
  
DELETE /users/98W3G32K01/photos!
PATCH /users/98W3G32K01 !
{…}	
  
Mais	
  informações?	
  
Vídeo	
  do	
  Webinar	
  
hLp://downloads.sensedia.com/webinar-­‐design-­‐de-­‐apis-­‐resQul	
  
Equipes
Versões
Monitoração
Segurança Tráfego
RESTful
Erros
Evolução
THINGS
CHANGE!
v1	
  
v2	
  
v3	
   v4	
  
Versionamento	
  
Versão	
  
URI:	
   https://api.mycompany.com/name-of-api/v2/resource!
HTTP	
  ou	
  	
  
HTTPS	
  
Seu	
  domínio	
   Nome	
  da	
  API	
  
(opcional)	
  
Recursos	
  e	
  
Parâmetros	
  
Equipes
Versões
Monitoração
Segurança Tráfego
RESTful
Erros
Evolução
200!
400!
500!
Resultado	
  OK	
  
Erro	
  no	
  Client	
  
Erro	
  no	
  Server	
  
STATUS	
   OK 200!
Equipes
Versões
Monitoração
Segurança Tráfego
RESTful
Erros
Evolução
v Acesso	
  não	
  autorizado	
  
v Ataques	
  
v Privacidade	
  
v Integridade	
  
v Disponibilidade	
  
v Acesso	
  não	
  autorizado	
  
v Ataques	
  
v Sobrecarga	
  
v Confidencialidade	
  
v Implementações	
  	
  
desastradas	
  de	
  clients	
  
Básico	
  
Intermediário	
  
CríUco	
  
v  Open?	
  
v  Informações	
  
Sensíveis?	
  
v  Transações?	
  
Usuários	
   Apps	
  
Basic	
  HTTP	
   OAuth2	
   OpenID	
  Connect	
  
Estratégias	
  de	
  AutenUcação	
  /	
  Autorização	
  
App	
  Token	
  
Definição	
  de	
  Escopo	
  
Revogação	
  	
  
de	
  Token	
  
Client	
  Apps	
  
APIs	
  
Rate	
  LimiUng	
  Policy	
  
JSON	
  Threat	
  Policy	
  
Payload	
  Size	
  Policy	
  
IP	
  Filtering	
  Policy	
  
…	
  
API	
  Gateway	
  
Outras	
  dicas:	
  
	
  	
  
v  IdenAficadores	
  UUID	
  
v  Nunca	
  use	
  Tokens	
  na	
  URL	
  
v  Gerenciamento	
  de	
  Apps	
  
Os	
  Fundamentos	
  da	
  
Segurança	
  de	
  APIs	
  
WEBINAR
hLp://downloads.sensedia.com/webinar-­‐seguranca-­‐de-­‐apis	
  
Equipes
Versões
Monitoração
Segurança Tráfego
RESTful
Erros
Evolução
Caching	
  
Evite	
  tráfego	
  desnecessário	
  
	
  Latência	
  de	
  rede	
  	
  
	
  Sobrecarga	
  nos	
  servidores	
  
Pontos	
  de	
  Atenção	
  
v  Local	
  de	
  cacheamento	
  
v  Tempo	
  de	
  invalidação	
  do	
  cache	
  
v  Sincronização	
  em	
  clusters	
  
Filtros	
  
GET /vendas/v2/pedidos?_status=concluido!
GET /pedidos/123AF15J?_fields=numero,data,valor!
Busca	
  com	
  escopo	
  (subconjuntos):	
  
Respostas	
  parciais:	
  
Paginação	
  
GET /pedidos?_offset=50&_limit=25!
Recomendação:	
  
Outras	
  opções:	
  
Linkedin:	
  	
  	
  
	
  
Instagram:	
  	
  
?start=50&count=25	
  
?min_id=3091&max_id=3245&count=25	
  
Equipes
Versões
Monitoração
Segurança Tráfego
RESTful
Erros
Evolução
Compreenda	
  o	
  
PADRÃO DE USO
das	
  APPs	
  e	
  APIs	
  
Faça	
  o	
  	
  
LOGGING
detalhado	
  
Dica:	
  cuidado	
  com	
  o	
  	
  
volume	
  de	
  dados	
  
Equipes
Versões
Monitoração
Segurança Tráfego
RESTful
Erros
Evolução
Scaling	
  the	
  Ne:lix	
  API	
  @	
  slideshare	
  
Equipes
Versões
Monitoração
Segurança Tráfego
RESTful
Erros
Evolução
Kleber	
  Bacili	
  
	
  	
  	
  	
  	
  	
  	
  kleber.bacili@sensedia.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
	
  	
  	
  	
  	
  	
  	
  @kleberbacili	
  
Construção	
  de	
  APIs	
  	
  
para	
  Apps	
  móveis	
  

Mais conteúdo relacionado

Mais procurados

Vida longa para soa com microservices
Vida longa para soa com microservicesVida longa para soa com microservices
Vida longa para soa com microservices
Fábio Rosato
 

Mais procurados (20)

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
 
APIs Atributos e Tecnologia
APIs Atributos e TecnologiaAPIs Atributos e Tecnologia
APIs Atributos e Tecnologia
 
APIs gerenciadas de ponta a ponta
APIs gerenciadas de ponta a pontaAPIs gerenciadas de ponta a ponta
APIs gerenciadas de ponta a ponta
 
Impacto das mega tendências io t, cloud e mobile na arquitetura das grandes e...
Impacto das mega tendências io t, cloud e mobile na arquitetura das grandes e...Impacto das mega tendências io t, cloud e mobile na arquitetura das grandes e...
Impacto das mega tendências io t, cloud e mobile na arquitetura das grandes e...
 
Expondo APIs de back-ends legados e travados
Expondo APIs de back-ends legados e travadosExpondo APIs de back-ends legados e travados
Expondo APIs de back-ends legados e travados
 
Case Sensedia Catho
Case Sensedia CathoCase Sensedia Catho
Case Sensedia Catho
 
Governança de Serviços Automatizada na Prática
Governança de Serviços Automatizada na PráticaGovernança de Serviços Automatizada na Prática
Governança de Serviços Automatizada na Prática
 
Vida longa para SOA com microservices
Vida longa para SOA com microservicesVida longa para SOA com microservices
Vida longa para SOA com microservices
 
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
 
Case Sensedia Cielo
Case Sensedia CieloCase Sensedia Cielo
Case Sensedia Cielo
 
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
 
Transformação Digital de Forma Pragmatica WSO2
Transformação Digital de Forma Pragmatica WSO2Transformação Digital de Forma Pragmatica WSO2
Transformação Digital de Forma Pragmatica WSO2
 
WSO2 - Visão Geral - Update 2015
WSO2 - Visão Geral - Update 2015WSO2 - Visão Geral - Update 2015
WSO2 - Visão Geral - Update 2015
 
Vida longa para soa com microservices
Vida longa para soa com microservicesVida longa para soa com microservices
Vida longa para soa com microservices
 
WSO2 para o Governo Brasileiro
WSO2 para o  Governo BrasileiroWSO2 para o  Governo Brasileiro
WSO2 para o Governo Brasileiro
 
Modelo de Subscrições e Suporte WSO2
Modelo de Subscrições e Suporte WSO2Modelo de Subscrições e Suporte WSO2
Modelo de Subscrições e Suporte WSO2
 
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
 
Apresentação realizada no SCN Meet Up RJ 2015
Apresentação realizada no SCN Meet Up RJ 2015Apresentação realizada no SCN Meet Up RJ 2015
Apresentação realizada no SCN Meet Up RJ 2015
 
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
 

Destaque

Open API Strategy, by Sensedia
Open API Strategy, by SensediaOpen API Strategy, by Sensedia
Open API Strategy, by Sensedia
Sensedia
 

Destaque (20)

Governança de Serviços Automatizada na Prática
Governança de Serviços Automatizada na PráticaGovernança de Serviços Automatizada na Prática
Governança de Serviços Automatizada na Prática
 
Soa Next Steps/Passos de Adoção SOA
Soa Next Steps/Passos de Adoção SOASoa Next Steps/Passos de Adoção SOA
Soa Next Steps/Passos de Adoção SOA
 
Open API Strategy, by Sensedia
Open API Strategy, by SensediaOpen API Strategy, by Sensedia
Open API Strategy, by Sensedia
 
Hackathons & Innovation: como engajar desenvolvedores em torno da sua empresa...
Hackathons & Innovation: como engajar desenvolvedores em torno da sua empresa...Hackathons & Innovation: como engajar desenvolvedores em torno da sua empresa...
Hackathons & Innovation: como engajar desenvolvedores em torno da sua empresa...
 
Hadoop - Primeiros passos
Hadoop - Primeiros passosHadoop - Primeiros passos
Hadoop - Primeiros passos
 
Caso de Estudo CNova
Caso de Estudo CNovaCaso de Estudo CNova
Caso de Estudo CNova
 
2016 05-21 - api gateway (apresentação).pptx (2)
2016 05-21 - api gateway (apresentação).pptx (2)2016 05-21 - api gateway (apresentação).pptx (2)
2016 05-21 - api gateway (apresentação).pptx (2)
 
Case Cnova-en
Case Cnova-enCase Cnova-en
Case Cnova-en
 
Case Cnova Page
Case Cnova PageCase Cnova Page
Case Cnova Page
 
Case Simpress
Case SimpressCase Simpress
Case Simpress
 
Modelo Canônico: Vilão ou Mocinho?
Modelo Canônico: Vilão ou Mocinho?Modelo Canônico: Vilão ou Mocinho?
Modelo Canônico: Vilão ou Mocinho?
 
2o workshop governanca soa na pratica
2o workshop governanca soa na pratica2o workshop governanca soa na pratica
2o workshop governanca soa na pratica
 
APIs do Jeito Certo
APIs do Jeito CertoAPIs do Jeito Certo
APIs do Jeito Certo
 
Design APIs Restful, DevWeek Porto Alegre
Design APIs Restful, DevWeek Porto AlegreDesign APIs Restful, DevWeek Porto Alegre
Design APIs Restful, DevWeek Porto Alegre
 
Webinar: Maturidade e Roadmap SOA
Webinar: Maturidade e Roadmap SOAWebinar: Maturidade e Roadmap SOA
Webinar: Maturidade e Roadmap SOA
 
Implementando Entrega Contínua - Marco Valtas
Implementando Entrega Contínua - Marco ValtasImplementando Entrega Contínua - Marco Valtas
Implementando Entrega Contínua - Marco Valtas
 
Develop and Deploy Cloud-Native Apps as Resilient Microservice Architectures
Develop and Deploy Cloud-Native Apps as Resilient Microservice ArchitecturesDevelop and Deploy Cloud-Native Apps as Resilient Microservice Architectures
Develop and Deploy Cloud-Native Apps as Resilient Microservice Architectures
 
Case Sensedia B2W
Case Sensedia B2WCase Sensedia B2W
Case Sensedia B2W
 
SOA @ T-Mobile: Automatic Service Provisioning to the ESB
SOA @ T-Mobile: Automatic Service Provisioning to the ESBSOA @ T-Mobile: Automatic Service Provisioning to the ESB
SOA @ T-Mobile: Automatic Service Provisioning to the ESB
 
MicroServices sur AWS
MicroServices sur AWSMicroServices sur AWS
MicroServices sur AWS
 

Semelhante a Construção de APIs para apps móveis

Seguranca web Testday2012
Seguranca web Testday2012Seguranca web Testday2012
Seguranca web Testday2012
Marcio Cunha
 

Semelhante a Construção de APIs para apps móveis (20)

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
 
Fatec 2016 - Case Hackathon Campinas
Fatec 2016 - Case Hackathon CampinasFatec 2016 - Case Hackathon Campinas
Fatec 2016 - Case Hackathon Campinas
 
Seguranca web Testday2012
Seguranca web Testday2012Seguranca web Testday2012
Seguranca web Testday2012
 
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...
 
Segurança de APIs - API eXperience
Segurança de APIs - API eXperienceSegurança de APIs - API eXperience
Segurança de APIs - API eXperience
 
Aplicações Web ‐ Seu site está seguro?
Aplicações Web ‐ Seu site está seguro?Aplicações Web ‐ Seu site está seguro?
Aplicações Web ‐ Seu site está seguro?
 
Os 10 erros mais comuns de segurança na operação de um ecommerce
Os 10 erros mais comuns de segurança na operação de um ecommerceOs 10 erros mais comuns de segurança na operação de um ecommerce
Os 10 erros mais comuns de segurança na operação de um ecommerce
 
Introdução a plataforma de aplicativos Redu
Introdução a plataforma de aplicativos ReduIntrodução a plataforma de aplicativos Redu
Introdução a plataforma de aplicativos Redu
 
Você Escreve Código e Quem Valida?
Você Escreve Código e Quem Valida?Você Escreve Código e Quem Valida?
Você Escreve Código e Quem Valida?
 
10 problemas seguranca_ecommerce
10 problemas seguranca_ecommerce10 problemas seguranca_ecommerce
10 problemas seguranca_ecommerce
 
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
 
Sua Startup precisa de uma WebAPI.
Sua Startup precisa de uma WebAPI.Sua Startup precisa de uma WebAPI.
Sua Startup precisa de uma WebAPI.
 
Impulsionando startups com api publica
Impulsionando startups com api publicaImpulsionando startups com api publica
Impulsionando startups com api publica
 
Deck apix 2017 design & security - case cielo lio
Deck apix 2017   design & security - case cielo lioDeck apix 2017   design & security - case cielo lio
Deck apix 2017 design & security - case cielo lio
 
Iniciando com AWS Mobile services
Iniciando com AWS Mobile servicesIniciando com AWS Mobile services
Iniciando com AWS Mobile services
 
Construindo aplicações saudáveis e prontas para envelhecer The 12ou15 Factors
Construindo aplicações saudáveis e prontas para envelhecer The 12ou15 FactorsConstruindo aplicações saudáveis e prontas para envelhecer The 12ou15 Factors
Construindo aplicações saudáveis e prontas para envelhecer The 12ou15 Factors
 
A OWASP e a Segurança Aplicacional para a Web
A OWASP e a Segurança Aplicacional para a WebA OWASP e a Segurança Aplicacional para a Web
A OWASP e a Segurança Aplicacional para a Web
 
Webinar: Introdução à Distribuição Contínua na AWS
Webinar: Introdução à Distribuição Contínua na AWSWebinar: Introdução à Distribuição Contínua na AWS
Webinar: Introdução à Distribuição Contínua na AWS
 
Workshop - Testes de Segurança
Workshop - Testes de SegurançaWorkshop - Testes de Segurança
Workshop - Testes de Segurança
 
Testes de segurança em aplicações web
Testes de segurança em aplicações webTestes de segurança em aplicações web
Testes de segurança em aplicações web
 

Último

Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
Natalia Granato
 

Último (6)

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
 
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
 
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
 
Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
 
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
 

Construção de APIs para apps móveis