ESB – SOA Aplicações
Frank Rodríguez González
Agenda
•Metamodelo SOA e localização do ESB•Funcionalidades e Responsabilidades do ESB•Fundamentos SOA•Suporte Tecnológico ao ESB•Propriedades do Enterprise Service Bus•Padrões de Distribuição do ESB•Caso de uso e sua Refatorização.•Perguntas.•Contatos
Metamodelo SOA
Metamodelo SOA com ESB
Funcionalidades e Responsabilidades do ESB
Fundamentos SOA-Service Provider/Requestor
SOA é baseado em contratos, peças de código especializadas prestam seus serviços para outras peças de código com especialização diferente ou responsáveis de tarefas maiores como composição de muitas especialidades.Como será prestado o serviço e seu nível de qualidade precisa ser bem definido e acordado.
Service requestor
Service provider
Contexto de Execução
Fundamentos SOA- Intermediários
Service requestor
Intermediário
Service provider
Provider Requestor
Requestor
Serviço Serviço Localização
EncontrarBind
Publicar
Bind/Publicar/Encontrar
Fundamentos Serviços - Localização
Requestor
Serviço LocalizaçãoServiço
Enterprise Service Bus
Pedido Serviço Descriçao e Dados
Bind Encontrar
O ESB como uma camada adicional facilitadora de serviços
Fundamentos Serviços - Localização
Enterprise Service Bus
Requestor
Servidor
Public void sendReq(com.bpmcompany.types.xmlType1 doc)
Public void response(com.bpmcompany.types.xmlType2 doc)
Cenário Comum de utilização do ESB
Fundamentos Serviços - Localização
Propriedades do Enterprise Service Bus
• Membros do Barramento.
• Destinos.
• Mediações.
• Barramentos Externos.
• Serviços de Entrada
• Serviços de Saída.
• Entrada de Dados de Autenticação.
•Especificação de Ativação JMS
Membros do Barramentos : Identifica as células,nó , servidores e cluster os quais estão no escopo do barramento. O barramento vai estar disponível só neste domínio.
Destino : Área virtual do barramento identificada por um nome onde os aplicativos são conectados como produtores, consumidores ou ambos para trocar mensagens.
Especificação de Ativação JMS : É uma descrição de interligação entre uma fila JMS e um barramento permitindo a troca de mensagens.
Propriedades do Barrramento
Propriedades do Barrramento
Barramento Externo : Define outros barramentos com os quais o barramento em questão pode trocar mensagens.Os mecanismos de de segurança para relacionamento de Barramentos contem troca e validação de certificados.
Mediações : São o mecanismo por excelência de transformação de documentos.Uma mediação esta constituída por uma lista de manipuladores (handlers).Criada a manipulação esta lista esta vazia.É nossa responsabilidade criar o handler apropriado para o tratamento de nosso documento.A medição e criada quando se tem definida o serviço de entrada e o serviço de saída.Exemplo Content Enricher ou XSLT utilitário são mediações clássicas. Implementa MediationHandler e dever empacotada em EJB.
Propriedades do Barrramento
Serviços de Saída : É um serviço descrito pelo WSDL, identificado por um nome a ele associado na criação. A operação definida pelo wsdl vai estar disponível neste ponto do ESB, o input e output assim como definido no WSDL.
Serviço PortaChama Serviço
Resposta
Estrutura do Serviço de Saída
Propriedades do Barrramento
Serviços de Entrada : É um serviço descrito pelo WSDL, identificado por um nome a ele associado na criação. A operação definida pelo wsdl vai estar disponível neste ponto do ESB, o input e output assim como definido no WSDL.
Resposta Padrão
Endpoint Listener Serviço de Entrada
Estrutura do Serviço de Entrada
Topologia em Execução
Endpoint ListenerSOAP/HTTP Serviço SaídaMediação
Porta
Chama Serviço
MediaçãoResposta Resposta Interceptada
SOAP/HTTP
O ESB e uma infra-estrutura que remove qualquer relação entre o cliente do serviço e o provedor do serviço. Os serviços estão acoplados ao bus e não uns a outros.Esse tipo de conexão gera um profundo desacoplamento entre consumidor de serviço e o provedor e sua implementação.
Padrões de Distribuição do ESB:
• Global : Todos os serviços compartem o mesmo namespace.
• Diretamente Conectado : Um serviço comum de registro tem a responsabilidade.
• Quebrado: São expostos seletivamente serviços para outros domínios.
• Federados :Existe um ESB máster e outros federados.
Área FTP comum
Recepciona e Transforma o Arquivo
Recepciona e Transforma o Arquivo
Solução Clássica
•Alto Acoplamento•Não uso de documentos XML e seus esquemas para validação.•Sistemas com responsabilidades de transformação.
Public void sendReq(com.bpmcompany.types.xmlType1 doc)
Public void response(com.bpmcompany.types.xmlType2 doc)
Cenário Comum de utilização do ESB
Refactoring ESB
Enterprise Service Bus
Referencia Bibliográfica
•ESB in Practice – Greg Flurry – disponível em www.ibm.com
•A guide to create, deploy and test mediations – Doina Klinger – disponível em www.ibm.com
•Enterprise Service Bus – David A. Chappell
•Web Services Platform Architecture-Prentice Hall 2005-Sanjiva Weerawarana.
•Service Oriented Architecture – Thomas Erl.
•Enterprise SOA –Prentice Hall 2005- Dirk Krafzig.
•Understanding Enterprise SOA – Manning 2006- Eric Pulier
Perguntas ?