SensediaSensediaSensediaSensedia
  • Products
    • API Management Platform
    • Governança de APIs
    • Event-Driven Architecture
    • Microservices & Service Mesh Architecture
    • PCI
    • Flexible Actions
  • Services
    • Consulting & Professional Services
    • API Care
    • Developer Experience
  • Solutions
    • Insurance
    • Open Banking
    • Retail & e-commerce
  • Content
    • Webinar e Ebooks
    • Blog
    • Cases
  • Contact
    • Customers
    • Support
  • Careers
  • Português
    • Inglês
    • Espanhol
ESB, SOA, API Management, Microservices

Repensando o ESB: Como fica a Arquitetura SOA com APIs?

By Rafael Rocha | API | 0 comment | 15 outubro, 2018 | 7

Alguns gerentes consideram API como mais uma buzzword relacionada a integrações, problema que já resolveram com SOA + ESB. No entanto, APIs atendem demandas novas, que não são bem endereçadas por SOA. E por usa vez, SOA possui foco em problemas que as APIs não endereçam.

 

Sendo assim, como saber se:

  • Ter um ESB para as integrações é suficiente?
  • API Gateway e ESB são complementares?
  • Devo substituir meu ESB por APIs + Microserviços?

 

Entendendo os Gaps de SOA/ESB e o papel da API Management Platform

A nova onda de transformação digital não é apenas uma questão de digitalização de processos e de integrações internas, mas também é sobre explorar as potencialidades do ecossistema de parceiros, usar sistemas legados junto com as novas tecnologias (IoT, Cloud, Analytics+AI, Blockchain, etc), ter monitoramento em real-time e reagir rapidamente, proporcionar experiências por diferentes canais e interfaces, engajar clientes e colaboradores, superar desafios de escalabilidade e segurança, dentre outros elementos.

 

SOA ESB API Gateway Microservices

 

Principais preocupações com ESB:

  • Escalabilidade complexa: ESBs são monolíticos que escalam de forma vertical e com isso aumentam o risco de indisponibilidade.
  • Desempenho afetado quando ligam os logs: pode reduzir até 30% da performance no processamento das transações.
  • Vendor Lock-in: consultoria cara e necessidade de aquisição de muitos produtos (BAM, BPEL, Service registry).
  • Foco apenas nas integrações: pouca preocupação com a experiência de parceiros e desenvolvedores de front-end.
  • Poucos recursos para Governança, Monitoramento e Monetização: falta de visibilidade em real-time, de logs completos das transações, de documentação, de versionamento, de planos de utilização e billing, etc.
  • Suporte limitado para Segurança: Oauth 2.0, OpenID, JWT, etc
  • Falta de padrões modernos e protocolos mais leves: ESBs foram ou tendem a ser descontinuados.

 

Por que utilizar APIs para integrações internas e externas?

É uma forma simples, ágil e escalável  de integrar sistemas e criar aplicações desacopladas no menor tempo possível. Utilizando uma plataforma de API Management, obtém-se módulos de apoio a segurança, autenticações, escalabilidade, engajamento dos devs, governança, monitoramento, monetização, ambiente de testes, dentre outros recursos.

 

API in Soa Architecture

 

Como API Management e ESB suprem as capacidades da camada de Integração:

 

SOA e API

 

A plataforma de API Management e o ESB podem existir sozinhas – é uma questão de cenário e de foco. Na maioria dos cenários, as empresas se beneficiariam de ambas. Nestes casos, a arquitetura fica ainda mais robusta, desde que consigamos potencializar as forças de cada um:

 

 

Abordagem 1: Convivência API Management + ESB

Para ter uma alta cobertura em toda as capacidades de uma camada de integração, uma abordagem possível seria optar pela convivência da plataforma de API Management com o ESB. Essa abordagem possibilita usufruir dos recursos da plataforma de API Management (Escalabilidade, Segurança, Governança, Engajamento dos Devs, Monetização, Analytics, etc) com as capacidades do ESB (variedade de conectores, processamento de transações complexas, etc). No entanto, ainda ficam algumas limitações no que tange a escalabilidade, lock-in, desempenho – e a parte do motor de regras, que pode ser obtido com uma solução específica.

 

 

Abordagem 2: Substituição do ESB usando API Management + API front (Microservices + Conectores)

Para cobrir as capacidades que a plataforma de API Management não enfoca, sem as limitações do ESB, é possível criar uma camada que chamamos de API Front. Essa camada é composta por APIs, microserviços e conectores, endereçando assim as dificuldades de escalabilidade, desacoplamento, reuso, desempenho – e quanto a parte do batch processing e do motor de regras, pode-se utilizar plataformas específicas.

 

 

Benefícios do API Management + Microserviços na sua arquitetura de Integração

  • Integrações mais flexíveis, viabilizando entregas mais rápidas e redução de custos
  • Interfaces padronizadas, viabilizando multicanalidade e agilidade na integração com parceiros
  • Estabelecimento da Governança e monitoramento real-time das integrações
  • Segurança e controle sobre o uso das APIs
  • Mecanismos para otimização da performance das aplicações
  • Separação de responsabilidades
  • Escalabilidade

 

 

Comparativo detalhado de capacidades para a camada de integração passíveis de serem supridas por uma Plataforma de API Management ou por um ESB:

 

Capabilities Patterns API Management ESB Alternative API Management Alternative ESB
Communication asynchronous WebSocket Yes Partial – some ESBs support N/A Messaging (eg AMQP)
Synchronous communication REST / JSON Yes Partial – some ESBs support N/A WS-SOAP
GraphQL Yes No N/A N/A
Security OAuth 2.0 Yes Partial – some ESBs support N/A WS-Security and Basic Auth
DDoS Yes No N/A Use of third-party solutions
WAF (Injections, XSS, CSRF) Yes No N/A Use of third-party solutions
Spike Arrest Yes No N/A Use of third-party solutions
Technical monitoring Real Time Alerts Yes No N/A N/A
Technical monitoring Dashboards & Reports Yes Partial – requires add-on N/A BAM (add-on)
Business Monitoring Real Time Alerts Yes No N/A N/A
Dashboards & Reports Yes Partial – requires add-on N/A BAM (add-on)
Dev Support Developer Portal Yes No N/A custom portal
Composition & Enrichment Service Callout Yes Yes N/A N/A
XSLT Yes Yes N/A N/A
message Manipulation Yes Yes N/A N/A
Contract and Documentation Standards OpenAPI Spec Yes No N/A WSDL
Contract and Documentation Standards Iterative documentation Yes No N/A custom portal
Generation SDK Yes No N/A SDK manual generation
JSON Schema Validation Yes No N/A XSD
Governance Usage quotas Yes No N/A Use of third-party solutions
Visibility Control Yes Partial – requires add-on N/A Service Registry & Repository (add-on)
API / Service Catalog Yes Partial – requiresOn dd, N/A Service Registry & Repository (add-on)
Lifecycle Yes Partial – requires add-on N/A Service Registry & Repository (add-on)
Dependency Visibility Yes Partial – requires add-on N/A Service Registry & Repository (add-on)
Troubleshooting Trace Yes Yes N/A N/A
Asynchronous Logging Yes No N/A N/A
Custom Reports Yes No N/A Use of third-party solutions to process logs
Message Translation XSLT Yes Yes N/A N/A
Message Mapping Wizard No Yes Custom Mapping Code Snippet N/A
Automatic Translation (eg XML to JSON) Yes Yes N/A N/A
Message Manipulation Yes Yes N/A N/A
Text Manipulation Yes Yes N/A N/A
Protocol Translation SOAP to REST Yes Partial – some ESBs support N/A N/A
To HTTP-based REST Yes Partial – some ESBs support N/A custom translation
Database Connector Yes Yes N/A N/A
SAP Connector No – some support as addon Yes Custom Connector N/A
FTP Connector No Yes Custom Connector N/A
Orchestration Process Choreography No Yes custom orchestration with Microservices N/A
Compensation Flow No Yes custom orchestration with Microservices N/A
Retry Queues No Yes custom orchestration with Microserviços N/A
Batch processing Parallel Processing
(High Data Volumes)
No Yes Use third-party solutions – Data Integration Platforms N/A
Job Scheduling No Yes Use third-party solutions – Data Integration Platforms N/A
Workload Automation No Partial – requires add-on Use third-party solutions – Data Integration Platforms N/A
Routing Static Routing Yes Yes N/A N/A
Content-based Routing Yes Yes N/A N/A
Rules-based Routing Yes Yes N/A N/A
Policy-based Routing Yes Yes N/A N/A
Logging & Traceability stack Trace Yes Yes N/A N/A
Transaction Identifier Yes Not N/A N/A
Transaction Management Database Transaction Handling No Yes Custom with Microservices N/A
XA Transactions (2 Phase Commit) No Yes Custom with Microservices N/A
WS-Transaction No Yes Custom with Microservices N/A
Rules Engine BRMS No Partially – requires add-on Use third-party solutions N/A
API, API First, APIs, Estratégia Digital, Exposição de APIs, Gerenciamento de APIs, Governança, Inovação, Integração, MicroServices, SOA
Rafael Rocha

Rafael Rocha

Lead Solutions Architect - Sensedia API Platform

More posts by Rafael Rocha

Related Post

  • Modelo de Maturidade da Arquitetura de APIs

    By Rafael Rocha | 0 comment

    Post original: https://www.linkedin.com/pulse/api-architecture-maturity-model-rafael-rocha/   Sua empresa está pronta para a Economia das APIs? Esta é a reflexão que os arquitetos e estrategistas digitais devem fazer, caso desejem que sua empresa participe dessa nova API Economy. MasRead more

  • Casos de Uso de APIs para Seguradoras e Insurtechs

    By Nicholas Gimenes | 0 comment

    O setor de seguros passa por uma nova onda de transformação digital. Essa transformação vai muito além da mera digitalização de processos e avança na integração com um ecossistema de parceiros, no uso de novasRead more

  • Industria 4.0 com APIs e IoT

    Por que a Indústria 4.0 e IoT precisam de APIs?

    By Nicholas Gimenes | 0 comment

      Indústria 4.0 não é apenas uma Smart Factory A Indústria 4.0 é a nova onda de Transformação Digital no setor, incentivada pelos desenvolvimentos recentes nas tecnologias de Cloud, AI + Analytics, IoT e APIs.Read more

  • Report sobre o Estado das APIs no Brasil 2017

    By Nicholas Gimenes | 0 comment

    A Sensedia, em parceria com o IDG / CIO, realizou a 1ª Pesquisa sobre o Estado das APIs no Brasil, com o intuito de mapear o uso das APIs nas estratégias das maiores empresas brasileiras.Read more

  • Interoperabilidade na Saúde com APIs - Transformação Digital

    Destrave a Interoperabilidade na Saúde com APIs

    By Nicholas Gimenes | 0 comment

    Este artigo é a 2ª parte da série Transformação Digital na Saúde. Veja a 1ª parte aqui   O que é Interoperabilidade na saúde? Segundo a HIMSS, a “interoperabilidade na saúde é a troca deRead more

Leave a Comment

Cancelar resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Categorias

  • Analytics
  • API
  • Artigos
  • Eventos
  • Internet das Coisas
  • Negócios Digitais
  • Podcast Techbeer
  • Publicações externas
  • SOA

Tags

API API Economy API Experience API First API Management APIs APIX As APIs que você precisa conhecer Big Data Blocos Blocos de Construção Desenvolvedores desenvolvimento design de APIs digital transformation e-commerce Ecossistema de parceiros Estratégia API First Estratégia Digital Estratégias SaaS Eventos Exposição de APIs Forrester Games Gartner Gerenciamento de APIs Hackathon Inovação Integração Internet das Coisas Internet of Things IoT MicroServices midia Modelo de negócios Negócios Omnichannel open banking SaaS Segurança Segurança de APIs SOA Techbeer Tecnologia Transformação Digital

Posts recentes

  • Como o Developer Experience pode ajudar a suportar suas APIs
  • APIs e o novo paradigma da Educação Digital
  • Apache Ignite – Cache – Pt 1
  • Integração de gás com as APIs ganhando espaço
  • Pós Black Friday – A experiência da Via Varejo
  • Política de Privacidade
Copyright © 2020 Sensedia | All Rights Reserved
  • Products
    • API Management Platform
    • Governança de APIs
    • Event-Driven Architecture
    • Microservices & Service Mesh Architecture
    • PCI
    • Flexible Actions
  • Services
    • Consulting & Professional Services
    • API Care
    • Developer Experience
  • Solutions
    • Insurance
    • Open Banking
    • Retail & e-commerce
  • Content
    • Webinar e Ebooks
    • Blog
    • Cases
  • Contact
    • Customers
    • Support
  • Careers
  • Português
    • Inglês
    • Espanhol
Sensedia