expondo apis de back-ends legados e travados · cics / ims padrões comuns formato de dados...
TRANSCRIPT
![Page 2: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/2.jpg)
Fábio RosatoProfessional Services Manager & [email protected]@frosato
![Page 3: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/3.jpg)
Every Business
is Digital
API enables
Digital
Sensedia
powers your API
Strategy
IT Architecture
Enabling Digital Transformation
![Page 4: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/4.jpg)
Agenda
APIs e Legados
Estratégias de Exposição
Tecnologia
Amanhã logo cedo
![Page 5: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/5.jpg)
APIs e Legados
![Page 6: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/6.jpg)
A ideia das APIs é prover um mecanismo
simples, seguro com baixo acoplamento,
padronizado e interoperável para um
desenvolvedor construir suas apps comunicando
com um backend no menor tempo possível.
![Page 7: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/7.jpg)
Forte crescimento de calls de APIs
Jul Ago Set Out Nov Dez
Chamadas / mês
Client #1 Client #2 Client #3
↑59%
↑158%
↑3.354%
Fonte: Sensedia
![Page 8: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/8.jpg)
Open Innovation
Fonte: http://hackathon.ima.sp.gov.br/
![Page 9: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/9.jpg)
Fonte: http://hackathon.ima.sp.gov.br/
![Page 11: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/11.jpg)
Plataformas IoT Mobile
![Page 12: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/12.jpg)
Legado
![Page 13: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/13.jpg)
Legado
Estigmas
• Aplicações moníliticas nem sempre modularizadas, problemáticas
• Baixa capacidade de conectividade
• Ciclos de entrega longos (meses)
• Dificuldade para evoluir e compor novas tecnologias
• Obsolecência tecnológica ou tecnologias zumbis
![Page 14: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/14.jpg)
Não é algo totalmente ruim
• Um sistema legado muitas vezes é
um sistema de sucesso
• Que pode ter grande impacto
positivo no negócio
Razões para mantê-lo
• O sistema funciona satisfatoriamente
• Não há razão técnica ou funcional
para mudá-lo
• O custo benefício de uma
substituição é baixo ou zero
• Justificar o ROI
• Priorização
![Page 15: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/15.jpg)
Arquiteturas Reais
Mainframe Comercial apps
Databases
Custom appsSaaS apps
SOAP RSSRemote
ProtocolsREST
like RPC
System Layer
Services Layer
![Page 16: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/16.jpg)
Estratégias de Exposição
![Page 17: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/17.jpg)
Bottom-up
Anti-pattern
Legacy
Expose Objects
JSON
Bottom
Up
Vantagens• Rápido• Ferramentas podem
ajudar• O Arquiteto do
legado entende a interface
Riscos• Design ruim com
vícios do legado
![Page 18: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/18.jpg)
AP
I Fro
nt
API Facade
Mediate
RESTAPI
RESTAPI
RESTAPI
RESTAPI
Design Ideal
Mainframe Comercial apps
Databases
Custom appsSaaS apps
SOAP RSSRemote
ProtocolsREST
like RPC
System Layer
Services Layer
Lega
do
Webinar Design de APIs RESTfulhttp://bit.ly/Sensedia_APIsRest
API-First
![Page 19: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/19.jpg)
Estratégias “Sem Impacto” no código do Legado
![Page 20: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/20.jpg)
AP
I P
adro
niz
ada
API-Front
HTTP/RESTLegado
Mediação, Transformação e Conexão
![Page 21: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/21.jpg)
Client
Server
Legado
Databases
AP
I P
adro
niz
ada
API-Front
HTTP/REST
Arquitetura Web ou Client-Server
(Thin Client)
Acesso a Camada de
Serviços/APIs
- DCOM/COM+- Socket TCP- Winsock- Corba- RMI- SOAP- REST
AP
I “z
uad
a”
![Page 22: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/22.jpg)
Legado
Req
ue
st
Res
po
nse
Padrões Comuns
URLs
https://api.flickr.com/services/rest/?method=flickr.galleries.addPhoto
Arquitetura Web ou Client-Server
(Thin Client)
Acesso a Camada de
Serviços/APIs
![Page 23: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/23.jpg)
LegadoR
equ
est
Res
po
nse
https://api.flickr.com/services/rest/?method=flickr.galleries.create
API Front
Req
ue
st
Res
po
nse
https://api.flickr.com/services/v1/galleries
HTTP POST
Padrões Comuns
URLs
Arquitetura Web ou Client-Server
(Thin Client)
Acesso a Camada de
Serviços/APIs
![Page 24: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/24.jpg)
Legado
AP
I P
adro
niz
ada
API-Front
HTTP/REST
Arquitetura Mainframe
Acesso a Camada de
“Serviços/APIs”
- HPR/IP- TCP/IP
Mainframe
CICS / IMS
![Page 25: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/25.jpg)
Legado
AP
I P
adro
niz
ada
API-Front
HTTP/REST
Arquitetura Mainframe
Acesso a Camada de
“Serviços/APIs”
Mainframe
CICS / IMS
Padrões ComunsFormato de
Dados
00000000000000 000 .. CBON0060 00502360396300000501400000000000000000000000001201503102016031110000000000001 23703963000000000004052 000000
String Request
![Page 26: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/26.jpg)
Legado
AP
I P
adro
niz
ada
API-Front
HTTP/REST
Arquitetura Mainframe
Acesso a Camada de
“Serviços/APIs”
Mainframe
CICS / IMS
Padrões ComunsFormato de
Dados
00000000000000 000 00004143 O CBON0060 00502370396300000500100000000201507100002002003201401052016060530000000000001 23703963000000000004049 000000000214300123FABIO TESTE 004 201601040002176PAGTO COBRANCA VIA CELULAR 0000000000150002028073123791.01807 60000.000509 20001.632403 1 22550000015000001TITULO CANCELADO PELO CLIENTE Y066201013S000000000000000000000000000000NN0000000000000000000000 201509300002246PAGTO COBRANCA VIA INTERNET 0000000000020002015093023791.01807 60000.000509 20001.632403 1 65670000002000001TITULO CANCELADO PELO CLIENTE P014201013S000000000000000000000000000000NN0000000000000000000000 201509230002232PAGTO COBRANCA VIA INTERNET 0000000000018002015092300190.00009 01009.545243 00889.009189 4 65600000001800001TITULO CANCELADO PELO CLIENTE P014201013S000000000000000000000000000000NN0000000000000000000000 201507100002002BANCO BRASIL 0000000255000002015081000190.00009 00502.010184 00016.324188 3 65160025500000001TITULO CANCELADO PELO CLIENTE Y066201013S288631863000091365162347000052SN0000000000000000000000
String Response
![Page 27: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/27.jpg)
Legado
AP
I P
adro
niz
ada
HTTP/REST
Arquitetura Mainframe
Acesso a Camada de
“Serviços/APIs”
Mainframe
CICS / IMS
Padrões ComunsFormato de
Dados
{
"mensagemCics": 414300,
"indicadorConsulta": 123,
"nomeCliente": “FABIO TESTE",
"quantidadeTitulosConsulta": 4,
"reserva": null,
"regSaida": [
{
"dataPagamento": "20160104",
"numeroProtocolo": 2176,
"dadosSegundaLinhaExtrato": "PAGTO COBRANCA VIA CELULAR",
....
JSON Response
API-Front
![Page 28: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/28.jpg)
Acesso a Camada de
Serviços/APIs
Vantagens• Uso das funções (camada)
de negócio da aplicação• Não requer alterações de
código no lado da aplicação• Transformação de protocolo
e formato de dados pesadas
Riscos• A diversidade de protocolos
e suas peculiaridades• A tecnologia do API-Front
com adaptador do protocolo• Entender todos os serviços e
funções disponibilizadas• Dificuldade em ter aderência
RESTfull• Dilemas em cenários de
aparente composição• Escalabilidade
![Page 29: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/29.jpg)
AppLegadão
Legado
Databases
AP
I P
adro
niz
ada
API-Front
HTTP/REST
Arquitetura Web, Client-Server, Database-
Centric, Monolitíca, Mainframe...
Acesso a Camada de
Dados
Database Connection
![Page 30: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/30.jpg)
Acesso a Camada de
Dados
Vantagens• Não requer alterações de
código no lado da aplicação• Vai direto ao ponto
Riscos• Não há reaproveitamento
de regras de negócio, exceto se as regras estiverem em StoredProcedures
• Pode haver a necessidade de reimplementar algumas regras de negócio
• API-Front tende a ficar complexo e com baixa coesão
Arquitetura Web, Client-Server, Database-
Centric, Monolitíca, Mainframe...
![Page 31: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/31.jpg)
Web Server
HTTPrequest/response
Envio de comandos get e post http e
parser do conteúdo html/dom
Web Client
Web FormLegado
AP
I P
adro
niz
ada
API-Front
HTTP/REST
Databases
Arquitetura Web (Thin Client)
Web Scraping ou Web
Harvesting
![Page 32: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/32.jpg)
Arquitetura Web (Thin Client)
Web Scraping ou Web
Harvesting
Vantagens• Uso das funções (camada)
de negócio da aplicação• Uso do próprio protocolo
HTTP• Não requer alterações de
código no lado da aplicação• Interessante para um MVP
Riscos• Dificuldade de
implementação em HTMLs/DOM malformados
• Alterações no HTML/DOM tendem a quebra o código de Scraping
• Questões legais de direitos autorais
• Dados da aplicação que não são expostos em uma View.
![Page 33: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/33.jpg)
https://github.com/lapwinglabs/x-ray
var path = require('path')
var read = require('fs').readFileSync
var html = read(path.resovlve(__dirname, 'index.html'))
var Xray = require('..')
var x = Xray()
x(html, 'h2')(console.log)
Arquitetura Web (Thin Client)
Web Scraping ou Web
Harvesting
Tecnologia
![Page 34: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/34.jpg)
https://finbox.io/ORCLArquitetura Web
(Thin Client)
Web Scraping ou Web
Harvesting
Exemplo
![Page 35: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/35.jpg)
Estratégias “Com Impacto” no código do Legado
![Page 36: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/36.jpg)
AppLegadão
Legado
Databases
AP
I P
adro
niz
ada
HTTP/REST
Criar API Padronizada
Direto
![Page 37: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/37.jpg)
AppLegadão
Legado
Databases
AP
I P
adro
niz
ada
API-Front
HTTP/REST
Criar API “zuada”
AP
I “z
uad
a”
- DCOM/COM+- Socket TCP- Winsock- Corba- RMI- SOAP- REST
![Page 38: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/38.jpg)
Tecnologias
![Page 39: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/39.jpg)
AP
I P
adro
niz
ada
API-Front
HTTP/RESTLegado
Mediação, Transformação e Conexão
Ao sabor da equipe
![Page 40: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/40.jpg)
• Escolha módulos/frameworks leves (ex: Spring)
• Crie interceptadores para as exceções genéricas
• Prepare-se para ter várias classes utilitárias (ex: conexão, manipulação de strings etc)
• Quebre o API Façade em “microservices” (decomposição)
Dicas
Webinar Microserviceshttp://bit.ly/Sensedia_microservices
![Page 41: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/41.jpg)
AP
I P
adro
niz
ada
API-Front
HTTP/RESTLegado
Mediação, Transformação e Conexão
- Ao sabor da equipe
![Page 42: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/42.jpg)
Rate Limiting Monitoring & AlertsAuthentication Models Policy EnforcementException handlingAnalytics on API ConsumptionJSON Injection/XML InjectionCache
Rate Limiting PolicyJSON Threat PolicyPayload Size PolicyIP Filtering Policy
Enderece também no API-Front questões como:
Atenção
![Page 43: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/43.jpg)
AP
I P
adro
niz
ada
API-Front
HTTP/RESTLegado
Mediação, Transformação e Conexão
Se tiver capacidade de conexão (adaptadores p/ backend) melhor!!! Ele pode assumir a responsabilidade do API-Front
API
Gateway
![Page 44: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/44.jpg)
Amanhã logo cedo
![Page 45: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/45.jpg)
Etapas
Plan & Prepare
Design & BuildRun & Engage
![Page 46: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/46.jpg)
“Aqui é diferente... nosso caso é específico...”
“Estamos fazendo as coisas assim faz 30 anos, não é possível que estamos errado.”
BarreirasCulturais
![Page 47: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/47.jpg)
AP
I Fro
nt
API Facade
Mediate
RESTAPI
RESTAPI
RESTAPI
RESTAPI
Design Ideal
Mainframe Comercial apps
Databases
Custom appsSaaS apps
SOAP RSSRemote
ProtocolsREST
like RPC
System Layer
Services Layer
Lega
do
![Page 48: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/48.jpg)
API-Fist
Pattern
Legacy
Expose Objects
JSON
Down
Top
Vantagens• Usabilidade da API• Abstração
Riscos• Entender o domínio• Os vícios do legado
são resistentes
![Page 49: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/49.jpg)
API Design
Mockup
API-FrontImplementation
API-FrontDesign
Publish
DeveloperFeedback
Design & Build
Try OutBackendAnalysis
![Page 50: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/50.jpg)
API Design
Mockup
API-FrontImplementation
API-FrontDesign
Publish
DeveloperFeedback
Design & Build
Try OutBackendAnalysis
Faça a escolha
API
GatewayAPI
Gateway
CodeGen(server)
![Page 51: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/51.jpg)
API Architect
API Developer
Backend ArchitectAPI Product Owner
Developer
Engagement
API Operator
A Equipe
Papéis- Planos- Roadmap de APIs- Modelo de negócio
- Identifica as APIs- Desenha as interfaces- Garante o DX- Data-mapping
- Constrói o API-Front
- Apoia o API Architect na análise bottom-up
- Publica as APIs- Monitora o uso- Configura políticas/alertas
- Onboarding dos App Dev- Suporte para os App Dev- Melhoria do portal- Feedbacks para API PO
Business Analyst
- Apoia no entendimento do negócio
![Page 52: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/52.jpg)
1
2
3
Aproveite ao máximo o poder do legado para suas APIs
Escolha estratégias e tecnologias adequadas
Monte um time multidisciplinar e pense API-First
![Page 53: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/53.jpg)
Obrigado!
![Page 54: Expondo APIs de back-ends legados e travados · CICS / IMS Padrões Comuns Formato de Dados 00000000000000 ... Envio de comandos get e post http e parser do conteúdo html/dom Web](https://reader031.vdocument.in/reader031/viewer/2022022711/5c01ba4c09d3f20a538d1e9c/html5/thumbnails/54.jpg)
Fábio [email protected] @frosato
www.slideshare.net/frosato/
Expondo APIs de back-endslegados e travados