construção de apis para apps móveis

Post on 22-Jul-2015

356 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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  

8 Liçõ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 USOdas  APPs  e  APIs  

Faça  o    LOGGINGdetalhado  

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  

top related