[1] O documento introduz os principais elementos do WSO2 Enterprise Service Bus (ESB), incluindo mediators, sequências, proxy services e endpoints. [2] Ele explica como esses elementos se encaixam para fornecer integração de serviços e fluxos de mensagens. [3] O documento também descreve recursos adicionais do WSO2 ESB como templates, propriedades e suporte a vários protocolos de transporte.
2. Objetivo
o Leitura para fundamentação para o uso do WSO2 ESB
o Introduzir alguns conceitos sobre o
WSO2 Enterprise Services Bus
o Valiosa visão para Arquitetos com experiência em outros ESBs
de mercado.
3. Elementos de um Projetos WSO2 ESB
o Mediator
o Class Mediator
o Sequence
o Proxy Service
o End-Point
o Templates
o API Element
o API Handler
o Properties
o Transports
3
4. Mediator
o Mediator
o Class Mediator
o Sequence
o Proxy Service
o End-Point
o Templates
o API Element
o API Handler
o Properties
o Transports
o Apache Axis
o Modules/Handlers
4
Mediator é a menor unidade funcional no WSO2 ESB. Um
mediator é suficientemente granular para realizar uma tarefa
especifica.
Imagine um Mediator como uma ação comum no fluxo de
integração.
O WSO2 ESB vem com uma coleção rica de Mediators
prontos, endereçando vários problemas comuns de
integração, por exemplo: Log Mediator, DBLookup Mediator,
Header Mediator etc.
5. Class Mediator
o Mediator
o Class Mediator
o Sequence
o Proxy Service
o End-Point
o Templates
o API Element
o API Handler
o Properties
o Transports
o Apache Axis
o Modules/Handlers
5
Você não está limitado aos Mediators que vêm junto com o
nosso ESB, você pode estender nossas funcionalidades
criando seus próprios mediators, a estes damos o nome de
Class Mediators.
Simples classes Java que você utilizar, para por exemplo,
integrar um ação de uma área específica, por exemplo:
Integração com algum ERP em particular ou API etc.
6. Sequence
o Mediator
o Class Mediator
o Sequence
o Proxy Service
o End-Point
o Templates
o API Element
o API Handler
o Properties
o Transports
o Apache Axis
o Modules/Handlers
6
Uma Sequence é o agrupamento lógico de vários mediators
que formam o padrão EAI: Pipe and Filters
(http://www.eaipatterns.com/PipesAndFilters.html.)
Named Sequence
Uma sequence que pode ser nomeada, com a
finalidade de ser chamada de outras sequences,
através de um Sequence Mediator
Main Sequence
Sequência principal do Fluxo
7. Proxy Service
o Mediator
o Class Mediator
o Sequence
o Proxy Service
o End-Point
o Templates
o API Element
o API Handler
o Properties
o Transports
o Apache Axis
o Modules/Handlers
7
Um Proxy Service fornece uma interface SOAP para o mundo
externo. Na maioria dos casos um proxy service, como o
nome já diz, realiza o proxy de um serviço existente .
Proxy Service In-Sequence
Uma mensagem do mundo externo (entrada) será recebida por uma In-
Sequence definida pelo Proxy Service
Proxy Service Out-Sequence
Uma mensagem de saída vindo de um Serviço
Proxy Service Fault-Sequence
Exceções ou erros de processamento
8. End-Point
o Mediator
o Class Mediator
o Sequence
o Proxy Service
o End-Point
o Templates
o API Element
o API Handler
o Properties
o Transports
o Apache Axis
o Modules/Handlers
8
Uma representação lógica de um destino (protocolo) externo que o ESB deve
entregar uma mensagem. Aspectos de Segurança e QoS são tratados nos End-
Points.
Load-balancing Endpoint – Round Robin
Fail-over Endpoint
9. Templates
o Mediator
o Class Mediator
o Sequence
o Proxy Service
o End-Point
o Templates
o API Element
o API Handler
o Properties
o Transports
o Apache Axis
o Modules/Handlers
9
Como já sabemos, podemos ter as Named Sequences para possibilitarmos reuso.
Podemos ter um conjunto de Named Sequences e usá-las em diferentes proxy-services
sem redefini-las, porém as configurações devem ser as mesmas sempre.
Entretanto, Templates removem esta restrição, uma vez que podemos “parametrizar”
nos templates nossas configurações, esta novidade começou a partir da versão 4.0.0.
10. API Element
o Mediator
o Class Mediator
o Sequence
o Proxy Service
o End-Point
o Templates
o API Element
o API Handler
o Properties
o Transports
o Apache Axis
o Modules/Handlers
10
WSO2 ESB 4.0.3 introduziu uma simples maneira de
expor APIs REST. Esta é a base para o nosso API
Manager, onde nosso componente de API Gateway é
baseado.
Leia mais sobre o WSO2 API Manager:
http://wso2.com/products/api-manager/ .
11. API Handler
o Mediator
o Class Mediator
o Sequence
o Proxy Service
o End-Point
o Templates
o API Element
o API Handler
o Properties
o Transports
o Apache Axis
o Modules/Handlers
11
Um ou mais handlers podem ser encaixados nas APIs
para interceptar fluxos de mensagens e várias
funcionalidades de QoS dentro das APIs
12. Properties
o Mediator
o Class Mediator
o Sequence
o Proxy Service
o End-Point
o Templates
o API Element
o API Handler
o Properties
o Transports
o Apache Axis
o Modules/Handlers
12
Uma forma de forneceder propriedades acessíveis para
as transações dentro do ESB, usado para passar e ler
dinamicamente atributos para as execuções de
mensagens. Leia mais sobre aqui:
http://docs.wso2.org/wiki/display/ESB460/Properties+R
eference
13. Transports
o Mediator
o Class Mediator
o Sequence
o Proxy Service
o End-Point
o Templates
o API Element
o API Handler
o Properties
o Transports
o Apache Axis
o Modules/Handlers
13
WSO2 ESB suporta uma série de transportes: HTTP,
HTTPS, POP, IMAP, SMTP, JMS, AMQP, FIX, TCP, UDP, FTP,
FTPS, SFTP, CIFS, MLLP e SMS.
É possível estender a qualquer transporte que você
necessitar no WSO2 ESB.