2. Agenda
SOA não é ESB
JSR 208: Especificação JBI
Apache ServiceMix (SMX)
Apache CXF
Integração entre SMX e CXF
3. SOA não é ESB
SOA
Metodologia para Integração
Negócio sobre (over) TI
ESB
Tecnologia para Integração
TI para Negócio
4. O que é um ESB?
Não há um padrão definido na indústria
Java Business Integration
OASIS Open CSA
... (mule)
Questões para considerar
Padrão?
Produto?
Componente de Arquitetura?
Compontente de Hardware?
5. O que é um ESB?
A resposta está em entender as capacidades e
avaliar os requisitos
6. Enterprise Service Bus
Objetivo do seu negócio
Requisitos funcionais
Escolha de arquitetura
Critério para avaliação do ESB
8. Arquitetura com ESB
Facilidades que o ESB traz
Transparência na localização dos serviços
Compartilhamento dos serviços
Habilidade para separar
Business Services
Implementation Services
9. Arquitetura com ESB
Business
Service
WSDL Aplicação Cliente
Definition
venderTitulo
VenderTítulo
Business Services Implementation
são expostos com ESB Services são
um nome específico codificados
e definições de através de
dados de entrada e Service Providers
saída
Exemplos
● WebServices
● POJOs
Serviço ● EJBs
SalvarOperacao
(operacaoVenda);
10. O que precisamos?
Message Message Protocol
Transformation Enhancement Transformation
Routing Service
Mapping
Enterprise Service Bus
Security Message
Processing
Process
Transaction Choreography
Management Service
Orchestration
11. Routing
Determinar um serviço para atender uma
requisição baseado em critérios determinísticos
ou variáveis
12. Message Transformation
Converter mensagens de entrada de Business
Services para formatos compreendidos pela
implementação
XML -> COBOL Copybook
XML -> XML
Object -> XML
14. Message Enhancement
Requisição
<VenderTitulo>
<Papel>CDB</Papel>
Adicionar ou modificar <Quantidade>
100.00
dados nas mensagens </Quantidade>
</VenderTitulo>
Conversão de formatos COBOL Copybook
01 VENDA
Dados complementares 05 VENDA-DADOS
10 PAPEL PIC X(5)
10 BANCO PIC 9(11)
10 QUANTIDADE PIC 9(11)
15. Protocol Transformation
Aceitar um protocolo e poder se comunicar com
serviços em outros protocolos
SOAP -> JMS
HTTP -> CICS/MQ
MQ -> RMI
16. Service Mapping
Capacidade de mapear Business Services a
Implementation Services, com informações de
localização e configuração
XML
Banco de Dados
17. Message Processing
Capacidade de gerenciar estado e requisição
aceitando uma entrada e garantindo entrega de
resposta ao cliente
Pode requerer uso de XA
19. Process Choreography
Capacidade de gerenciar serviços de negócio
complexos, que requerem a coordenação de
múltiplos Business Services, para atender a
uma única requisição
BPEL
Entende-se como:
Use Case
Business Process
21. Service Orchestration
Capacidade de gerenciar a coordenação de
Implementation Services
Pode usar BPEL
Geralmente, implementado
através de comunicação
interna entre serviços
26. JBI
Objetiva arquitetura baseada em padrões
Interação e integração entre componentes
internos do ESB
Não dita regras sobre comunicações externas
Independe de JEE
27. JBI
Dois tipos de componentes
Service Engines (SEs)
Binding Components (Bcs)
Serviços se comunicam através da NMR
Normalized Message Router
29. JBI
Especificação da Arquitetura
Serviços Externos
Java Java COBOL Web
Swing EJB CICS Service
jbi
MQ RMI CICS HTTP
Normalized Message Router
BC XSLT PXE Groovy
SE Message Transformation
Process Choreography
Scripting
30. JBI
Vantagens
BCs e SEs de terceiros podem ser adicionados
ou removidos sem afetar aplicações ou
outros serviços
Sem “vendor lock-in”
Mix de produtos comerciais com Open Source
Habilitar ou desabilitar capacidades
desnecessárias
Torna o ESB mais leve
31. Agenda
SOA não é ESB
JSR 208: Especificação JBI
Apache ServiceMix (SMX)
Apache CXF
Integração entre SMX e CXF