servicemix e cxf

46
Simplificando SOA Simplificando SOA com Apache CXF e ServiceMix com Apache CXF e ServiceMix

Upload: bruno-borges

Post on 22-Apr-2015

2.428 views

Category:

Documents


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: ServiceMix e CXF

Simplificando SOASimplificando SOAcom Apache CXF e ServiceMixcom Apache CXF e ServiceMix

Page 2: ServiceMix e CXF

Agenda

SOA não é ESB

JSR 208: Especificação JBI

Apache ServiceMix (SMX)

Apache CXF

Integração entre SMX e CXF

Page 3: ServiceMix e CXF

SOA não é ESB

SOA

Metodologia para Integração

Negócio sobre (over) TI

ESB

Tecnologia para Integração

TI para Negócio

Page 4: ServiceMix e CXF

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?

Page 5: ServiceMix e CXF

O que é um ESB?

A resposta está em entender as capacidades e avaliar os requisitos

Page 6: ServiceMix e CXF

Enterprise Service Bus

Objetivo do seu negócio

Requisitos funcionais

Escolha de arquitetura

Critério para avaliação do ESB

Page 7: ServiceMix e CXF

Arquitetura com ESB

Aplicação Cliente

Serviço Serviço Serviço

ESB

Serviços● Java JMS● EJBs● CICS Mainframe● Spring Beans

Page 8: ServiceMix e CXF

Arquitetura com ESB

Facilidades que o ESB traz

Transparência na localização dos serviços

Compartilhamento dos serviços

Habilidade para separarBusiness Services

Implementation Services

Page 9: ServiceMix e CXF

Arquitetura com ESB

WSDL

Business Service DefinitionvenderTitulo

Aplicação Cliente

Business Services são expostos com um nome específico e definições de dados de entrada e saída

ESB

VenderTítulo

Serviço

SalvarOperacao(operacaoVenda);

Implementation Services são codificados através de Service Providers

Exemplos● WebServices● POJOs● EJBs

Page 10: ServiceMix e CXF

O que precisamos?

Enterprise Service Bus

Routing

Message Transformation

MessageEnhancement

ProtocolTransformation

ServiceMapping

MessageProcessing

Process Choreography

ServiceOrchestration

TransactionManagement

Security

Page 11: ServiceMix e CXF

Routing

Determinar um serviço para atender uma requisição baseado em critérios determinísticos

ou variáveis

Page 12: ServiceMix e CXF

Message Transformation

Converter mensagens de entrada de Business Services para formatos compreendidos pela

implementação

XML -> COBOL CopybookXML -> XMLObject -> XML

Page 13: ServiceMix e CXF

Message Transformation

Requisição<VenderTitulo>

<Papel>CDB</Papel><Quantidade>

100.00</Quantidade>

</VenderTitulo>

COBOL Copybook01 VENDA

05 VENDA-DADOS10 PAPEL PIC X(5)10 QUANTIDADE PIC 9(11)

Page 14: ServiceMix e CXF

Message Enhancement

Requisição<VenderTitulo>

<Papel>CDB</Papel><Quantidade>

100.00</Quantidade>

</VenderTitulo>

COBOL Copybook01 VENDA

05 VENDA-DADOS10 PAPEL PIC X(5)10 BANCO PIC 9(11)10 QUANTIDADE PIC 9(11)

Adicionar ou modificar dados nas mensagens

Conversão de formatos

Dados complementares

Page 15: ServiceMix e CXF

Protocol Transformation

Aceitar um protocolo e poder se comunicar com serviços em outros protocolos

SOAP -> JMSHTTP -> CICS/MQMQ -> RMI

Page 16: ServiceMix e CXF

Service Mapping

Capacidade de mapear Business Services a Implementation Services, com informações de

localização e configuração

XMLBanco de Dados

Page 17: ServiceMix e CXF

Message Processing

Capacidade de gerenciar estado e requisição aceitando uma entrada e garantindo entrega de

resposta ao cliente

Pode requerer uso de XA

Page 18: ServiceMix e CXF

Message Processing

InputXMLAplicação Cliente

ESB

Input Queue

Error Queue

Output Queue

Page 19: ServiceMix e CXF

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

BPELEntende-se como:

Use CaseBusiness Process

Page 20: ServiceMix e CXF

Process Choreography

RegistrarTitulo

InserirTitulo DepositarTitulo HistóricoCustódia

Page 21: ServiceMix e CXF

Service Orchestration

Capacidade de gerenciar a coordenação de Implementation Services

Pode usar BPELGeralmente, implementado através de comunicação interna entre serviços

Page 22: ServiceMix e CXF

Transaction Management

Capacidade de gerenciar transações envolvendo múltiplos recursos através de múltiplos serviços

Page 23: ServiceMix e CXF

Security

Os 4 “A”s:● Autenticação● Autorização● Auditoria● Administração

Capacidade de proteger serviços de requisições não autorizadas

Page 24: ServiceMix e CXF

Agenda

SOA não é ESB

JSR 208: Especificação JBI

Apache ServiceMix (SMX)

Apache CXF

Integração entre SMX e CXF

Page 25: ServiceMix e CXF

JBI

JSR 208Java Business Integration

Page 26: ServiceMix e CXF

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

Page 27: ServiceMix e CXF

JBI

Dois tipos de componentes

Service Engines (SEs)

Binding Components (Bcs)

Serviços se comunicam através da NMR

Normalized Message Router

Page 28: ServiceMix e CXF

jbi

SE SE SE

JBI

Normalized Message Router

BC BC BCBC

Especificação da Arquitetura

Page 29: ServiceMix e CXF

Serviços Externos

jbi

XSLT

SE

PXE Groovy

JBI

Normalized Message Router

MQ RMI HTTPCICS

JavaSwing

JavaEJB

COBOLCICS

WebService

Especificação da Arquitetura

BC

Message TransformationProcess ChoreographyScripting

Page 30: ServiceMix e CXF

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

Page 31: ServiceMix e CXF

Agenda

SOA não é ESB

JSR 208: Especificação JBI

Apache ServiceMix (SMX)

Apache CXF

Integração entre SMX e CXF

Page 32: ServiceMix e CXF

SMX

Apache ServiceMix

Page 33: ServiceMix e CXF
Page 34: ServiceMix e CXF

SMX

Open Source

Integração com Containers

Geronimo, JBoss, JonAS

* WAR deployment, Standalone

Compatível com JBI 1.0

Configuração via Spring

Page 35: ServiceMix e CXF

SMX

Binding Components

File, HTTP, JMS, SMTP, SOAP, TCP

Service Engines

Apache Camel, Apache CXF, Apache Drools, POJOs, Quartz, Scripting, XSLT

Segurança

JAAS, WS-Security

Page 36: ServiceMix e CXF

SMX

ServiceMix 4.0

JBI Compliant (1.0 e 2.0)

ServiceMix KernelNMR é serviço OSGi

Message BrokerApache ActiveMQ

WebServicesApache CXF

Routing EngineApache Camel

Page 37: ServiceMix e CXF

Agenda

SOA não é ESB

JSR 208: Especificação JBI

Apache ServiceMix (SMX)

Apache CXF

Integração entre SMX e CXF

Page 38: ServiceMix e CXF

CXF

Apache CXF

Page 39: ServiceMix e CXF

CXF

WebServices Framework

Merge entre Celtix e XFire

Padrões

Soap 1.1, 1.2

JAX-WS, JAX-WSA

JSR-181, SAAJ

WSDL 1.1, 2.0

WS-*BasicProfile, Security, Addressing, Reliable Messaging,

Policy

Page 40: ServiceMix e CXF

CXF

Transportes

HTTP, Servlet, JMS, Jabber

Bindings

SOAP, REST/HTTP

Data Binding

JAXB 2.0, Aegis, XMLBeans

Formatos

XML, JSON

Page 41: ServiceMix e CXF

Agenda

SOA não é ESB

JSR 208: Especificação JBI

Apache ServiceMix (SMX)

Apache CXF

Integração entre SMX e CXF

Page 42: ServiceMix e CXF

CXF e SMX

Simplificando SOA ...

Page 43: ServiceMix e CXF

CXF e SMX

Componentes

servicemix-cxf-bc

servicemix-cxf-se

Compatíveis com padrão JBIPodem ser instalados em outros ESBs

Page 44: ServiceMix e CXF

CXF e SMX

CXF-BC

Transporte e comunicação para os WebServices

JMS/SOAP

HTTP/SOAP

Page 45: ServiceMix e CXF

CXF e SMX

CXF-SE

Expõe POJOs anotados (JSR181) como WebServices

Suporte a anexos

JAXB2 Data Binding

Page 46: ServiceMix e CXF

CXF e SMX

Obrigado!