construção de apis para apps móveis
TRANSCRIPT
Kleber Bacili [email protected] @kleberbacili
Construção de APIs para Apps móveis
www.slideshare.net/kleberbacili/
Kleber Bacili [email protected] @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 [email protected] @kleberbacili
Construção de APIs para Apps móveis