design apis restful, devweek porto alegre
TRANSCRIPT
![Page 2: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/2.jpg)
[email protected]@kleberbacili
![Page 3: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/3.jpg)
v SOA,MicroserviceseAPIs
v Projetosbacaníssimos
v Ferramentassensacionais
v HeadquarteremCampinas,escritóriosemSP,RioeEUA
![Page 4: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/4.jpg)
AsAPIsestãoportodaparte…
![Page 5: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/5.jpg)
![Page 6: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/6.jpg)
StartupBaLlefield
78%
![Page 7: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/7.jpg)
TheInternetofThings
![Page 8: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/8.jpg)
Startups Battlefield
78%
![Page 9: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/9.jpg)
![Page 10: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/10.jpg)
Open API: Plataforma que permite que empresas parceiras criem novas soluções
integradas ao banco (by Sensedia)
![Page 11: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/11.jpg)
API Calls: +280% Outubro 2014/2015 @ Sensedia API Gateway
![Page 12: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/12.jpg)
10 DicasparaasuaAPI
serumsucesso
![Page 13: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/13.jpg)
DicaZero!
![Page 14: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/14.jpg)
SelecioneaTecnologiaAdequada
REST SOAP vs.
![Page 15: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/15.jpg)
SelecioneaTecnologiaAdequada
JSON XML vs.
![Page 16: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/16.jpg)
and the winners are…
REST + JSON
![Page 17: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/17.jpg)
1 PropostadeValor
![Page 18: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/18.jpg)
“Vocêpodeatépassarbatomnumporco,maseleconVnuarásendoumporco!”
![Page 19: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/19.jpg)
2 DesignRESTful
![Page 20: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/20.jpg)
Coleção/pedidos!
ResourcesElemento
/pedidos/{id} !
![Page 21: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/21.jpg)
/getAccount!/getAllAccounts!/createDirectory!/updateGroupName!/findClientById!
RPC?
![Page 22: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/22.jpg)
VERBOS
![Page 23: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/23.jpg)
GET /vendas/pedidos!
POST /clientes/98W3G32K01/enderecos!{…}
PUT /clientes/98W3G32K01/enderecos/1 !{…}
DELETE /users/98W3G32K01/photos !
PATCH /users/98W3G32K01 !{…}
![Page 24: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/24.jpg)
![Page 25: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/25.jpg)
3 Versionamento
![Page 26: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/26.jpg)
THINGS CHANGE!
v1
v2v3 v4
![Page 27: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/27.jpg)
Versionamento
Versão
URI: https://api.mycompany.com/name-of-api/v2/resource !
HTTPouHTTPS
Seudomínio NomedaAPI(opcional)
RecursoseParâmetros
![Page 28: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/28.jpg)
4 ErrorHandling
![Page 29: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/29.jpg)
200 !
400 !
500 !
ResultadoOK
ErronoClient
ErronoServer
![Page 30: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/30.jpg)
STATUS OK 200 !
![Page 31: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/31.jpg)
Maisinformações?
VídeodoWebinar
hAp://downloads.sensedia.com/webinar-design-de-apis-resIul
![Page 32: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/32.jpg)
5 Segurança
![Page 33: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/33.jpg)
v Acessonãoautorizadov Ataquesv Privacidadev Integridadev Disponibilidade
![Page 34: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/34.jpg)
v Acessonãoautorizadov Ataquesv Privacidadev Integridadev Disponibilidade
![Page 35: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/35.jpg)
Usuários Apps
BasicHTTP OAuth2 OpenIDConnect
EstratégiasdeAutenVcação/Autorização
AppToken
![Page 36: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/36.jpg)
ClientApps
APIs
RateLimiVngPolicyJSONThreatPolicyPayloadSizePolicyIPFilteringPolicy…
APIGateway
![Page 37: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/37.jpg)
OsFundamentosdaSegurançadeAPIs
WEBINAR
hAp://downloads.sensedia.com/webinar-seguranca-de-apis
![Page 38: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/38.jpg)
6 Hypermedia
![Page 39: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/39.jpg)
GET /items?q=macbook+air+new { ! "results" : [ ! { ! "id" : 123, ! "name" : "Macbook Air 2010 LIKE NEW", ! "price" : "499" ! } ! ] !}
SEMHypermedia
HATEOAS=HypermediaastheEngineofApplica;onState
![Page 40: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/40.jpg)
COMHypermedia
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" } ! ] !}
![Page 41: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/41.jpg)
7 DevelopersPortal
![Page 42: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/42.jpg)
Docsincompletos,desatualizados,estáVcosecomPDFsde100páginas
![Page 43: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/43.jpg)
GemngStarted
www.twilio.com/docs !
![Page 44: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/44.jpg)
desenvolvedores.cnova.com
DocumentaçãoInteraVva
![Page 45: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/45.jpg)
Exemplosdecódigonalinguagem
dodeveloper
sendgrid.com/docs !
![Page 46: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/46.jpg)
UX
(DeveloperExperience)
DX
![Page 47: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/47.jpg)
8 OVmizações
![Page 48: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/48.jpg)
CachingEvitetráfegodesnecessário
Latênciaderede
Sobrecarganosservidores
![Page 49: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/49.jpg)
FiltrosGET /vendas/v2/pedidos?_status=concluido!
GET /pedidos/123AF15J?_fields=numero,data,valor!
Buscacomescopo(subconjuntos):
Respostasparciais:
![Page 50: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/50.jpg)
PaginaçãoGET /pedidos?_offset=50&_limit=25 !
Recomendação:
Outrasopções:Linkedin:
Instagram:
?start=50&count=25
?min_id=3091&max_id=3245&count=25
![Page 51: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/51.jpg)
9 Confiabilidade
![Page 52: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/52.jpg)
ConfiabilidadeBugs
ProblemasdePerformance
Indisponibilidade
Mudanças(não-planejadas)
FaltadeSuporte
![Page 53: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/53.jpg)
Tracedecalls,Monitoramento,RateLimiVng,StatusPagee
Alertas
![Page 54: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/54.jpg)
10 Divulgação
![Page 55: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/55.jpg)
Hackathon&OpenInnovaVon
![Page 56: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/56.jpg)
1 DevelopersCadastrados:800+2 AppsCriadas:300+3 Tráfego:20Mcalls/15dias4 Eleiçõesmaistransparentes!
![Page 57: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/57.jpg)
DesignRESTful2 1 PropostadeValor
3 Versionamento
4 ErrorHandling5 Segurança
7 DevelopersPortal6 Hypermedia
8 OVmizações
9 Confiabilidade10 Divulgação
![Page 58: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/58.jpg)
www.slideshare.net/kleberbacili/
![Page 59: Design APIs Restful, DevWeek Porto Alegre](https://reader033.vdocuments.com.br/reader033/viewer/2022050900/5a671e667f8b9a117b8b4667/html5/thumbnails/59.jpg)
[email protected]@kleberbacili
www.slideshare.net/kleberbacili/
DesigndeAPIsRESTful–Seguras,EscaláveiseInteroperáveis–