SlideShare uma empresa Scribd logo
1 de 71
Baixar para ler offline
Kleber	
  Bacili	
  
	
  	
  	
  	
  	
  	
  	
  kleber.bacili@sensedia.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
	
  	
  	
  	
  	
  	
  	
  @kleberbacili	
  
Os	
  7	
  pecados	
  capitais	
  na	
  
exposição	
  de	
  APIs	
  RESTful	
  
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	
  
As	
  APIs	
  estão	
  por	
  	
  
toda	
  parte…	
  
Fonte:	
  ProgrammableWeb	
  
Clube	
  dos	
  Bilionários	
  
5+	
  Bilhões	
  de	
  Calls/Dia	
  1+	
  Bilhões	
  de	
  Calls/Dia	
  
Clube	
  dos	
  Bilionários	
  
1.1	
  billion	
  API	
  calls	
  /	
  day	
  (April	
  2011)	
  
1.4	
  billion	
  API	
  calls	
  /	
  day	
  (May	
  2012)	
  
1	
  billion	
  API	
  calls	
  /	
  day	
  (Mar	
  2012)	
  
13	
  billion	
  API	
  calls	
  /	
  day	
  (May	
  2011)	
  
Approx.	
  75%	
  of	
  all	
  traffic	
  via	
  API	
  
5	
  billion	
  API	
  calls	
  /	
  day	
  (October	
  2009)	
  
5	
  billion	
  API	
  calls	
  /	
  day	
  (April	
  2010)	
  
Fonte:	
  ProgrammableWeb	
  Founder	
  
7,2	
  bilion	
  API	
  calls	
  
(Mar/2015)	
  
Startup	
  BaXlefield	
  
78%	
  
Open	
  Banking?	
  
Agenda	
  
	
  
Os	
  7	
  Pecados	
  
Como	
  evitá-­‐los	
  
PECADOS
CAPITAIS7	
  
SOBERBA
LUXÚRIA
IRA
AVAREZA
INVEJA
GULA
PREGUIÇA
Um	
  histórico	
  cheio	
  	
  
de	
  conveniências:	
  
v Pros`tuição	
  
v Vaidade	
  
v Fornicação	
  
v Indolência	
  
v Melancolia	
  
	
  
1995
Brad Pitt
Morgan Freeman
Gwyneth Paltrow
Kevin Spacey
David Fincher
(Clube da Luta, House of Cards, Social Network…)
Preguiça	
  
Ira	
  
Luxúria	
  
Avareza	
  
Inveja	
  Gula	
  
Soberba	
  
INVEJA1
Valor	
  ques`onável	
  
“Todo mundo tem API,
também vou nessa!”
“Você	
  pode	
  até	
  passar	
  batom	
  num	
  porco,	
  
mas	
  ele	
  con`nuará	
  sendo	
  um	
  porco!”	
  
API
First	
  
APIs	
  
v  Estratégia	
  de	
  Produto	
  /	
  	
  
Modelo	
  de	
  Negócio	
  
v  Experiências	
  MulL-­‐devices	
  
v  Parceiros	
  externos	
  e	
  Clientes	
  
v  Integrações	
  OnPremise–Cloud	
  
PREGUIÇA2
Design	
  Mequetrefe	
  
“Aplique conceitos RESTful”
§  Código	
  Legado	
  
§  SOAP	
  Services	
  
§  Tabelas	
  de	
  Banco	
  
Design	
  	
  
Mequetrefe	
  
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 !
{…}	
  
200!
400!
500!
Resultado	
  OK	
  
Erro	
  no	
  Client	
  
Erro	
  no	
  Server	
  
STATUS	
   OK 200!
GET /items?q=macbook+air+new 	
  
{!
"results" : [ !
{!
"id" : 123,!
"name" : "Macbook Air 2010 LIKE NEW", !
"price" : "499" !
}!
]!
} 	
  
SEM	
  
Hypermedia	
  
COM	
  
Hypermedia	
  
GET /items?q=macbook+air+new 	
  
{!
"results" : [ !
{ 	
  
"_links" : [!
{"rel": "self","uri": "/items/123" },!
{"rel": "bids","uri": "/items/123/bids" },!
{"rel": "win","uri": "/items/123/bids?q=win" } !
],!
"name" : "Macbook Air 2010 LIKE NEW",!
"price" : "499" 	
  
}!
]!
} 	
  
Mais	
  informações?	
  
Vídeo	
  do	
  Webinar	
  
hXp://downloads.sensedia.com/webinar-­‐design-­‐de-­‐apis-­‐res[ul	
  
LUXÚRIA3
Segurança	
  8	
  ou	
  80	
  
“Nem	
  ligeiramente	
  escondido	
  
nem	
  super	
  complexo”	
  
Auten`cação	
  /	
  
Autorização	
  
Privacidade	
  
Integridade	
   Disponibilidade	
  
Auditoria	
  
Básico	
  
Intermediário	
  
Crí`co	
  
v  Open?	
  
v  Informações	
  
Sensíveis?	
  
v  Transações?	
  
Usuários	
   Apps	
  
Basic	
  HTTP	
   OAuth2	
   OpenID	
  Connect	
  
Estratégias	
  de	
  Auten`cação	
  /	
  Autorização	
  
App	
  Token	
  
Definição	
  de	
  Escopo	
  
Revogação	
  	
  
de	
  Token	
  
Os	
  Fundamentos	
  da	
  
Segurança	
  de	
  APIs	
  
WEBINAR
hXp://downloads.sensedia.com/webinar-­‐seguranca-­‐de-­‐apis	
  
AVAREZA4
Dificultar	
  a	
  vida	
  do	
  Dev	
  
“Saia da frente e deixe o
dev trabalhar”
Docs	
  incompletos,	
  desatualizados,	
  	
  
está`cos	
  e	
  com	
  PDFs	
  de	
  200	
  páginas	
  
Sign-­‐up	
  e	
  Tokens	
  de	
  
acesso	
  automá`cos	
  
stripe.com/docs!
Geong	
  	
  
Started	
  
www.twilio.com/docs!
Documentação	
  	
  
Intera`va	
  
desenvolvedores.extra.com.br!
Exemplos	
  de	
  	
  
código	
  na	
  	
  
linguagem	
  	
  
do	
  developer	
  
sendgrid.com/docs!
REST	
  Console	
  ou	
  	
  
Sandbox	
  /	
  Playgroung	
  
dev.transparencia.org.br!
UX	
  
(Developer	
  Experience)	
  
DX	
  
GULA5
Entregar	
  API	
  instável	
  
Negócios podem ser
montados sobre sua API”
Eat	
  you	
  own	
  
DOG FOOD
Powered	
  by	
  
Saiba	
  antes	
  que	
  
SEU CLIENTE
Client	
  Apps	
  
APIs	
  
Rate	
  Limi`ng	
  Policy	
  
JSON	
  Threat	
  Policy	
  
Payload	
  Size	
  Policy	
  
IP	
  Filtering	
  Policy	
  
…	
  
API	
  Gateway	
  
Powered	
  by	
  
IRA6
Irritar	
  os	
  Devs	
  
“Não quebre os apps
dos seus parceiros”
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	
  
Foruns	
  de	
  discussão	
  
e	
  Abertura	
  de	
  `ckets	
  
desenvolvedores.extra.com.br!
Powered	
  by	
  
Troubleshoo`ng	
  
E SUPORTE
SOBERBA7
Dirigir	
  de	
  olhos	
  fechados	
  
“Para quem não sabe onde quer
chegar, qualquer caminho serve”
13	
  bilhões	
  de	
  chamadas/dia	
  
5	
  bilhões	
  de	
  chamadas/dia	
  	
  
5	
  bilhões	
  de	
  chamadas/dia	
  	
  
VAIDADE?
 
Desenvolvedores	
  
#	
  total	
  
#	
  devs	
  aLvos	
  
taxa	
  de	
  retenção	
  
	
  
	
  
Serviço	
  
performance	
  
taxa	
  de	
  erros	
  
disponibilidade	
  
	
  
	
  
Negócios	
  
faturamento	
  
market	
  share	
  
custos	
  totais	
  
	
  	
  
Marke`ng	
  
#	
  registro	
  de	
  devs	
  
origem	
  do	
  tráfego	
  
métricas	
  de	
  evento	
  
	
  
	
  
Estrutura	
  
estabilidade	
  
maturidade	
  
taxa	
  de	
  mudanças	
  
	
  
	
  
Inovação	
  
#	
  produtos	
  
#	
  apps	
  
tempo	
  até	
  vender	
  
	
  
	
  
Comunidade	
  
mídias	
  sociais	
  
aLvidade	
  dos	
  fóruns	
  
taxa	
  de	
  crescimento	
  
	
  
	
  
Canal	
  
origem	
  das	
  chamadas	
  
faturamento	
  por	
  
canal	
  
	
  
	
  
Tráfego	
  
#	
  chamadas	
  
#	
  abusos	
  de	
  cota	
  
recursos	
  mais	
  usados	
  
	
  
hNp://www.slideshare.net/Sensedia/indicadores-­‐para-­‐ap-­‐is	
  
www.sensedia.com/br!
Definição	
  de	
  
indicadores,	
  	
  
Monitoramento	
  
e	
  Alertas	
  
7 SOBERBA
3 LUXÚRIA
6 IRA
4 AVAREZA
1 INVEJA
5 GULA
2 PREGUIÇA
Valor questionável
Segurança 8 ou 80
Design Mequetrefe
Dirigir de olhos fechados
Irritar os Devs
Dificultar a vida do Dev
Entregar a API Instável
Kleber	
  Bacili	
  
	
  	
  	
  	
  	
  	
  	
  kleber.bacili@sensedia.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
	
  	
  	
  	
  	
  	
  	
  @kleberbacili	
  
Os	
  7	
  pecados	
  capitais	
  na	
  
exposição	
  de	
  APIs	
  RESTful	
  
www.slideshare.net/kleberbacili/	
  

Mais conteúdo relacionado

Semelhante a Os 7 Pecados Capitais na exposição de APIs RESTful

Design de APIs RESTful – Seguras, Escaláveis e Interoperáveis, por Kleber Bacili
Design de APIs RESTful – Seguras, Escaláveis e Interoperáveis, por Kleber BaciliDesign de APIs RESTful – Seguras, Escaláveis e Interoperáveis, por Kleber Bacili
Design de APIs RESTful – Seguras, Escaláveis e Interoperáveis, por Kleber BaciliiMasters
 
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 SucessoKleber Bacili
 
APIs gerenciadas de ponta a ponta
APIs gerenciadas de ponta a pontaAPIs gerenciadas de ponta a ponta
APIs gerenciadas de ponta a pontaJosé Vahl
 
APIs gerenciadas de ponta a ponta
APIs gerenciadas de ponta a pontaAPIs gerenciadas de ponta a ponta
APIs gerenciadas de ponta a pontaFábio Rosato
 
Impulsionando startups com api publica
Impulsionando startups com api publicaImpulsionando startups com api publica
Impulsionando startups com api publicaFábio Rosato
 
The twelve factor app - Princípios e boas práticas aplicados no mundo real
The twelve factor app - Princípios e boas práticas aplicados no mundo realThe twelve factor app - Princípios e boas práticas aplicados no mundo real
The twelve factor app - Princípios e boas práticas aplicados no mundo realJosé Filipe Lyra
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sitesthiagolima
 
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ásicaSensedia
 
Indicadores para APIs
Indicadores para APIsIndicadores para APIs
Indicadores para APIsSensedia
 
Indicadores para APIs
Indicadores para APIsIndicadores para APIs
Indicadores para APIsBruno Rabelo
 
Plataformas de Inovação - Criando Conexões
Plataformas de Inovação - Criando ConexõesPlataformas de Inovação - Criando Conexões
Plataformas de Inovação - Criando ConexõesDavid Ruiz
 
PhoneGap - Criando aplicações Android e iOS com HTML5
PhoneGap - Criando aplicações Android e iOS com HTML5PhoneGap - Criando aplicações Android e iOS com HTML5
PhoneGap - Criando aplicações Android e iOS com HTML5Rodrigo Cascarrolho
 
Visão Geral De Desenvolvimento Web Sre 2012
Visão Geral De Desenvolvimento Web   Sre 2012Visão Geral De Desenvolvimento Web   Sre 2012
Visão Geral De Desenvolvimento Web Sre 2012Carlos Casalicchio
 
Repensando o ESB: sua arquitetura SOA, usando APIs
Repensando o ESB: sua arquitetura SOA, usando APIsRepensando o ESB: sua arquitetura SOA, usando APIs
Repensando o ESB: sua arquitetura SOA, usando APIsFábio Rosato
 
PhoneGap - criando aplicações Android e iOS com HTML5
PhoneGap - criando aplicações Android e iOS com HTML5PhoneGap - criando aplicações Android e iOS com HTML5
PhoneGap - criando aplicações Android e iOS com HTML5Rafael Sakurai
 
API Methodology by Skalena
API Methodology by SkalenaAPI Methodology by Skalena
API Methodology by SkalenaEdgar Silva
 
Open APIs by Sensedia (CIAB 2014)
Open APIs by Sensedia (CIAB 2014)Open APIs by Sensedia (CIAB 2014)
Open APIs by Sensedia (CIAB 2014)CI&T
 
Mobile Apps - MeliDevConf 2013 - SP
Mobile Apps - MeliDevConf 2013 - SPMobile Apps - MeliDevConf 2013 - SP
Mobile Apps - MeliDevConf 2013 - SPmelidevelopers
 
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 lioLuis Moraes Junior
 
Mobile Ria Para Aplicacoes Para Negocios
Mobile Ria Para Aplicacoes Para NegociosMobile Ria Para Aplicacoes Para Negocios
Mobile Ria Para Aplicacoes Para NegociosRodney Repullo
 

Semelhante a Os 7 Pecados Capitais na exposição de APIs RESTful (20)

Design de APIs RESTful – Seguras, Escaláveis e Interoperáveis, por Kleber Bacili
Design de APIs RESTful – Seguras, Escaláveis e Interoperáveis, por Kleber BaciliDesign de APIs RESTful – Seguras, Escaláveis e Interoperáveis, por Kleber Bacili
Design de APIs RESTful – Seguras, Escaláveis e Interoperáveis, por Kleber Bacili
 
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
 
APIs gerenciadas de ponta a ponta
APIs gerenciadas de ponta a pontaAPIs gerenciadas de ponta a ponta
APIs gerenciadas de ponta a ponta
 
APIs gerenciadas de ponta a ponta
APIs gerenciadas de ponta a pontaAPIs gerenciadas de ponta a ponta
APIs gerenciadas de ponta a ponta
 
Impulsionando startups com api publica
Impulsionando startups com api publicaImpulsionando startups com api publica
Impulsionando startups com api publica
 
The twelve factor app - Princípios e boas práticas aplicados no mundo real
The twelve factor app - Princípios e boas práticas aplicados no mundo realThe twelve factor app - Princípios e boas práticas aplicados no mundo real
The twelve factor app - Princípios e boas práticas aplicados no mundo real
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sites
 
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
 
Indicadores para APIs
Indicadores para APIsIndicadores para APIs
Indicadores para APIs
 
Indicadores para APIs
Indicadores para APIsIndicadores para APIs
Indicadores para APIs
 
Plataformas de Inovação - Criando Conexões
Plataformas de Inovação - Criando ConexõesPlataformas de Inovação - Criando Conexões
Plataformas de Inovação - Criando Conexões
 
PhoneGap - Criando aplicações Android e iOS com HTML5
PhoneGap - Criando aplicações Android e iOS com HTML5PhoneGap - Criando aplicações Android e iOS com HTML5
PhoneGap - Criando aplicações Android e iOS com HTML5
 
Visão Geral De Desenvolvimento Web Sre 2012
Visão Geral De Desenvolvimento Web   Sre 2012Visão Geral De Desenvolvimento Web   Sre 2012
Visão Geral De Desenvolvimento Web Sre 2012
 
Repensando o ESB: sua arquitetura SOA, usando APIs
Repensando o ESB: sua arquitetura SOA, usando APIsRepensando o ESB: sua arquitetura SOA, usando APIs
Repensando o ESB: sua arquitetura SOA, usando APIs
 
PhoneGap - criando aplicações Android e iOS com HTML5
PhoneGap - criando aplicações Android e iOS com HTML5PhoneGap - criando aplicações Android e iOS com HTML5
PhoneGap - criando aplicações Android e iOS com HTML5
 
API Methodology by Skalena
API Methodology by SkalenaAPI Methodology by Skalena
API Methodology by Skalena
 
Open APIs by Sensedia (CIAB 2014)
Open APIs by Sensedia (CIAB 2014)Open APIs by Sensedia (CIAB 2014)
Open APIs by Sensedia (CIAB 2014)
 
Mobile Apps - MeliDevConf 2013 - SP
Mobile Apps - MeliDevConf 2013 - SPMobile Apps - MeliDevConf 2013 - SP
Mobile Apps - MeliDevConf 2013 - SP
 
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
 
Mobile Ria Para Aplicacoes Para Negocios
Mobile Ria Para Aplicacoes Para NegociosMobile Ria Para Aplicacoes Para Negocios
Mobile Ria Para Aplicacoes Para Negocios
 

Os 7 Pecados Capitais na exposição de APIs RESTful