SlideShare uma empresa Scribd logo
1 de 4
Baixar para ler offline
Estudo de caso: Mule como um transporte JMS Comum
A equipe de integração aplicações tiveram que lidar com seis fornecedores
diferentes. JMS e SOAP emergiu como os transportes comuns para todas
as aplicações; 90% das comunicações poderia ter lugar ao longo JMS.
A configuração normal JMS exigiria que cada aplicativo para criar filas de
entrada e saída para cada aplicativo que ele precisa interagir. Esta
configuração "ponto-a-ponto" explodiria complexidade porque mais
aplicativos de fornecedores viria a ser adicionado à mistura, e cada
aplicativo teria que ser revisto para adicionar novas definições de
interface cada vez. A equipe de integração decidiu em vez de aproveitar os
recursos da mula para simplificar isso criando uma fila única, comum onde
todas as mensagens são enviadas. Cada mensagem tem um atributo que
indica seu tipo e encaminha para a aplicação adequada. O aplicativo capta
a mensagem na sua fila de entrada privada, processá-lo e responde
colocando uma resposta na fila comum. rotas mula a resposta para os
aplicativos apropriados.
Listagem 1 é um arquivo de configuração Mule para lidar com as
interações entre os componentes de aplicativos se comunicam através de
JMS. As regiões coloridas corresponder cada um dos próximos parágrafos.
As peças em cinza da lista são redundâncias ou exigir nenhuma explicação.
Baixar arquivo de configuração Mule
O primeiro passo consiste em definir o nome e tipo de conector. Qualquer
provedor JMS, open-source ou comercial, pode ser definida aqui,
enquanto Mule pode alcançar o servidor através da rede. As propriedades
adicionais, tais como credenciais ou nomes deve ser definido aqui
também. Mule vai usar esse conector para todo o tráfego JMS. Mais do
que uma peça de ligação do mesmo tipo podem ser definidos, se
necessário. Os conectores são identificados pelo nome; estes nomes são
usados Mule para determinar qual deles lida com uma determinada
interação. Conectores para outros transportes seria definida de um modo
semelhante.
Em seguida, defina os parâmetros globais. Estes terminais são as
interfaces entre cada aplicação e Mule. Um componente objeto de serviço
de vias de comunicação entre terminais; os parâmetros podem ser
definidos no nível do componente objeto de serviço ou podem ser
definidos globalmente. Parece mais fácil defini-las globalmente para que o
modelo e roteador configuração Mule é menos detalhada. Use a
abordagem que funciona melhor para sua aplicação.
Mule é bastante silencioso por design. Ele apenas se senta lá e aguarda o
tráfego para passar, obedientemente escrever mensagens de status para
seus logs. Algumas vezes é conveniente definir filas de saída do console
para fins de depuração já que nem todos podem ter acesso a um console
JMX. Consolas exibir ASCII ou UTF-8 saída, mas o tráfego enviado através
desta configuração mula é toda a JMS. Assim, dois transformadores são
definidos. Uma converte mensagens JMS para objetos de mula, o outro
converte esses objetos para cordas; o console pode exibir as seqüências
de diagnóstico sem problemas. Essas mensagens também podem ser
encaminhados via e-mail para cada fornecedor utilizando os transportes
Java Mail da mula sem ter que extrair o texto a partir dos registros, etc.
O modelo Mule gerencia o comportamento de tempo de execução de uma
instância de servidor e encapsula todas as suas funcionalidades. O modelo
é responsável por manter a configuração e instâncias do objeto de serviço.
O modelo para este exemplo tem um descritor, o
JMSMessageSwitchboard, que irá encaminhar todas as mensagens entre
diferentes aplicações através de seus terminais. Este contém todos os
roteadores, regras de filtragem, e definições de ponto final para garantir
que as mensagens viajam dentro das aplicações com precisão.
Uma vez que os integradores decidiu que todas as mensagens são
introduzidos através de um único ponto de entrega, eles definiram um
único roteador de entrada que escuta em um conector JMS específico.
Enquanto cada aplicação define suas saídas de mensagem para o terminal
outJMSBitco, Mule será capaz de encaminhá-los para o destino adequado.
definições de roteamento de saída requer duas partes: primeiro, definir
uma regra que corresponde a todas as mensagens JMS e os envia para
filtros específicos para definição roteador de cada aplicação; isso é o que o
todo o jogo = "true" é para. Em seguida, cada ponto de extremidade
correspondente a uma determinada aplicação contém um filtro que
corresponde a um atributo específico definido no cabeçalho da mensagem
JMS, como OrderHistoryRequest. Note-se que, neste caso, as
comunicações são assíncronas. Aplicações colocar pedidos na fila comum
e passar para outras tarefas. As respostas vão voltar em suas filas
específicas do aplicativo. Cada resposta também terá um cabeçalho da
mensagem JMS identificação; analisar a validade do cabeçalho e a carga
de dados são de responsabilidade de cada aplicação.
Cada mensagem que circula através do JMSMessageSwitchboard deve
corresponder a uma regra filtrada. Se isso não acontecer, isso significa que
um integrador esqueceu de atualizar o arquivo de configuração Mule, um
novo serviço já está on-line e usando a fila de entrada, ou há um erro de
ortografia. Um modo rápido de detectar este é o roteador catchall saída
definida para o fim das etiquetas descritor mula. Se nenhuma das regras
corresponde, Mule irá encaminhar a mensagem para stdout depois de
converter para uma string (lembre-se esses transformadores que
definimos anteriormente?).
Adicionando um novo aplicativo para este mashup torna-se um exercício
trivial: garantir que ele usa JMS para comunicações de entrada e de saída,
definir seu atributo de encaminhamento, e atualizar o arquivo de
configuração do Mule. Se o novo aplicativo se comunica através de um
protocolo diferente, como SOAP, definir o conector, terminais e um
transformador para converter JMS-to-SOAP e volta. O processo de
integração todo vai demorar cinco minutos, no máximo. Esse é o poder da
mula.

Mais conteúdo relacionado

Mais procurados

Como criar um http proxy dinamico com mule parte 3
Como criar um http proxy dinamico com mule   parte 3Como criar um http proxy dinamico com mule   parte 3
Como criar um http proxy dinamico com mule parte 3Jeison Barros
 
Como criar um http proxy dinamico com mule parte 1
Como criar um http proxy dinamico com mule   parte 1Como criar um http proxy dinamico com mule   parte 1
Como criar um http proxy dinamico com mule parte 1Jeison Barros
 
Mulesoft - Salesforce Analytics Cloud Connector - Part 1
Mulesoft - Salesforce Analytics Cloud Connector - Part 1Mulesoft - Salesforce Analytics Cloud Connector - Part 1
Mulesoft - Salesforce Analytics Cloud Connector - Part 1Jeison Barros
 
Integração salesforce com mulesoft usando o salesforce conector
Integração salesforce com mulesoft usando o salesforce conectorIntegração salesforce com mulesoft usando o salesforce conector
Integração salesforce com mulesoft usando o salesforce conectorJeison Barros
 
Boas práticas com Web Services
Boas práticas com Web ServicesBoas práticas com Web Services
Boas práticas com Web ServicesEvaldo Junior
 
Flyweigth - Arquitetura de Referência para Open Banking Brasil Fase 1
Flyweigth - Arquitetura de Referência para Open Banking Brasil Fase 1Flyweigth - Arquitetura de Referência para Open Banking Brasil Fase 1
Flyweigth - Arquitetura de Referência para Open Banking Brasil Fase 1Edgar Silva
 
Usando seu codigo java no mule part 1
Usando seu codigo java no mule part 1Usando seu codigo java no mule part 1
Usando seu codigo java no mule part 1Jeison Barros
 
Tutorial integrado flex_+_java_+_blazeds
Tutorial integrado flex_+_java_+_blazedsTutorial integrado flex_+_java_+_blazeds
Tutorial integrado flex_+_java_+_blazedswagnerlsrodrigues
 
Suporte a Open Source no Oracle WebLogic 12c - Integração com o Spring Framework
Suporte a Open Source no Oracle WebLogic 12c - Integração com o Spring FrameworkSuporte a Open Source no Oracle WebLogic 12c - Integração com o Spring Framework
Suporte a Open Source no Oracle WebLogic 12c - Integração com o Spring FrameworkRicardo Ferreira
 
Integração de Sistemas utilizando Apache Camel
Integração de Sistemas utilizando Apache CamelIntegração de Sistemas utilizando Apache Camel
Integração de Sistemas utilizando Apache CamelPedro Oliveira
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosDesenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosRodolfo Fadino Junior
 
Servidores Web
Servidores Web Servidores Web
Servidores Web bastosluis
 
Apresentação servidores de aplicação
Apresentação   servidores de aplicaçãoApresentação   servidores de aplicação
Apresentação servidores de aplicaçãoHelen Picoli
 
Consumindo soap wsdl
Consumindo soap wsdlConsumindo soap wsdl
Consumindo soap wsdlJeison Barros
 

Mais procurados (18)

Como criar um http proxy dinamico com mule parte 3
Como criar um http proxy dinamico com mule   parte 3Como criar um http proxy dinamico com mule   parte 3
Como criar um http proxy dinamico com mule parte 3
 
Como criar um http proxy dinamico com mule parte 1
Como criar um http proxy dinamico com mule   parte 1Como criar um http proxy dinamico com mule   parte 1
Como criar um http proxy dinamico com mule parte 1
 
Mulesoft - Salesforce Analytics Cloud Connector - Part 1
Mulesoft - Salesforce Analytics Cloud Connector - Part 1Mulesoft - Salesforce Analytics Cloud Connector - Part 1
Mulesoft - Salesforce Analytics Cloud Connector - Part 1
 
O Elefante e a Mula
O Elefante e a MulaO Elefante e a Mula
O Elefante e a Mula
 
Integração salesforce com mulesoft usando o salesforce conector
Integração salesforce com mulesoft usando o salesforce conectorIntegração salesforce com mulesoft usando o salesforce conector
Integração salesforce com mulesoft usando o salesforce conector
 
Boas práticas com Web Services
Boas práticas com Web ServicesBoas práticas com Web Services
Boas práticas com Web Services
 
Flyweigth - Arquitetura de Referência para Open Banking Brasil Fase 1
Flyweigth - Arquitetura de Referência para Open Banking Brasil Fase 1Flyweigth - Arquitetura de Referência para Open Banking Brasil Fase 1
Flyweigth - Arquitetura de Referência para Open Banking Brasil Fase 1
 
Usando seu codigo java no mule part 1
Usando seu codigo java no mule part 1Usando seu codigo java no mule part 1
Usando seu codigo java no mule part 1
 
Tutorial integrado flex_+_java_+_blazeds
Tutorial integrado flex_+_java_+_blazedsTutorial integrado flex_+_java_+_blazeds
Tutorial integrado flex_+_java_+_blazeds
 
Suporte a Open Source no Oracle WebLogic 12c - Integração com o Spring Framework
Suporte a Open Source no Oracle WebLogic 12c - Integração com o Spring FrameworkSuporte a Open Source no Oracle WebLogic 12c - Integração com o Spring Framework
Suporte a Open Source no Oracle WebLogic 12c - Integração com o Spring Framework
 
Integração de Sistemas utilizando Apache Camel
Integração de Sistemas utilizando Apache CamelIntegração de Sistemas utilizando Apache Camel
Integração de Sistemas utilizando Apache Camel
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosDesenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São Carlos
 
Servidores Web
Servidores WebServidores Web
Servidores Web
 
Servidor WEB
Servidor WEBServidor WEB
Servidor WEB
 
Servidores Web
Servidores Web Servidores Web
Servidores Web
 
Apresentação servidores de aplicação
Apresentação   servidores de aplicaçãoApresentação   servidores de aplicação
Apresentação servidores de aplicação
 
Consumindo soap wsdl
Consumindo soap wsdlConsumindo soap wsdl
Consumindo soap wsdl
 
Servidor web
Servidor webServidor web
Servidor web
 

Destaque

ESB introduction using Mule
ESB introduction using MuleESB introduction using Mule
ESB introduction using MuleKhasim Cise
 
Part I: Massive Open Online Courses as Revolutionary Chance for Ukraine. Part...
Part I: Massive Open Online Courses as Revolutionary Chance for Ukraine. Part...Part I: Massive Open Online Courses as Revolutionary Chance for Ukraine. Part...
Part I: Massive Open Online Courses as Revolutionary Chance for Ukraine. Part...YSF-2015
 
Mule salesforce integration solutions
Mule  salesforce integration solutionsMule  salesforce integration solutions
Mule salesforce integration solutionsvishnukanthro45
 
Restful considerada prejudicial parte 2
Restful considerada prejudicial   parte 2Restful considerada prejudicial   parte 2
Restful considerada prejudicial parte 2Jeison Barros
 
Science Slam: Let's Make Science Interesting
Science Slam: Let's Make Science InterestingScience Slam: Let's Make Science Interesting
Science Slam: Let's Make Science InterestingYSF-2015
 
C3D Labs. Customers & Partners
C3D Labs. Customers & PartnersC3D Labs. Customers & Partners
C3D Labs. Customers & PartnersArkadiy Kamnev
 
Κυστεοκήλη 3ου Βαθμού σε Συνδιασμό με Πρόπτωση Μήτρας 4ου Βαθμού
Κυστεοκήλη 3ου Βαθμού σε Συνδιασμό με  Πρόπτωση Μήτρας 4ου ΒαθμούΚυστεοκήλη 3ου Βαθμού σε Συνδιασμό με  Πρόπτωση Μήτρας 4ου Βαθμού
Κυστεοκήλη 3ου Βαθμού σε Συνδιασμό με Πρόπτωση Μήτρας 4ου ΒαθμούRadiology Archives
 
Mulesoft file connector
Mulesoft file connectorMulesoft file connector
Mulesoft file connectorkumar gaurav
 
Hipertensión pulmonar
Hipertensión pulmonarHipertensión pulmonar
Hipertensión pulmonarAngela Meza
 
Projectes d'indagació.
Projectes d'indagació.Projectes d'indagació.
Projectes d'indagació.jdomen44
 
Risk management during start up and commissioning of super critical once thro...
Risk management during start up and commissioning of super critical once thro...Risk management during start up and commissioning of super critical once thro...
Risk management during start up and commissioning of super critical once thro...HIMADRI BANERJI
 
Aprendre química a partir de contextos pseudocientífics.
Aprendre química a partir de contextos pseudocientífics.Aprendre química a partir de contextos pseudocientífics.
Aprendre química a partir de contextos pseudocientífics.cienciaicontroversia
 

Destaque (18)

ESB introduction using Mule
ESB introduction using MuleESB introduction using Mule
ESB introduction using Mule
 
Nurdianto Wu Technical Consultant
Nurdianto Wu Technical ConsultantNurdianto Wu Technical Consultant
Nurdianto Wu Technical Consultant
 
Part I: Massive Open Online Courses as Revolutionary Chance for Ukraine. Part...
Part I: Massive Open Online Courses as Revolutionary Chance for Ukraine. Part...Part I: Massive Open Online Courses as Revolutionary Chance for Ukraine. Part...
Part I: Massive Open Online Courses as Revolutionary Chance for Ukraine. Part...
 
Mule salesforce integration solutions
Mule  salesforce integration solutionsMule  salesforce integration solutions
Mule salesforce integration solutions
 
Restful considerada prejudicial parte 2
Restful considerada prejudicial   parte 2Restful considerada prejudicial   parte 2
Restful considerada prejudicial parte 2
 
Partes del ordenador
Partes del ordenadorPartes del ordenador
Partes del ordenador
 
Science Slam: Let's Make Science Interesting
Science Slam: Let's Make Science InterestingScience Slam: Let's Make Science Interesting
Science Slam: Let's Make Science Interesting
 
Routing in mule
Routing in muleRouting in mule
Routing in mule
 
C3D Labs. Customers & Partners
C3D Labs. Customers & PartnersC3D Labs. Customers & Partners
C3D Labs. Customers & Partners
 
Business english
Business englishBusiness english
Business english
 
Κυστεοκήλη 3ου Βαθμού σε Συνδιασμό με Πρόπτωση Μήτρας 4ου Βαθμού
Κυστεοκήλη 3ου Βαθμού σε Συνδιασμό με  Πρόπτωση Μήτρας 4ου ΒαθμούΚυστεοκήλη 3ου Βαθμού σε Συνδιασμό με  Πρόπτωση Μήτρας 4ου Βαθμού
Κυστεοκήλη 3ου Βαθμού σε Συνδιασμό με Πρόπτωση Μήτρας 4ου Βαθμού
 
Mulesoft file connector
Mulesoft file connectorMulesoft file connector
Mulesoft file connector
 
Hipertensión pulmonar
Hipertensión pulmonarHipertensión pulmonar
Hipertensión pulmonar
 
Projectes d'indagació.
Projectes d'indagació.Projectes d'indagació.
Projectes d'indagació.
 
Risk management during start up and commissioning of super critical once thro...
Risk management during start up and commissioning of super critical once thro...Risk management during start up and commissioning of super critical once thro...
Risk management during start up and commissioning of super critical once thro...
 
Aprendre química a partir de contextos pseudocientífics.
Aprendre química a partir de contextos pseudocientífics.Aprendre química a partir de contextos pseudocientífics.
Aprendre química a partir de contextos pseudocientífics.
 
Aυτόχθονες λαοί
Aυτόχθονες λαοίAυτόχθονες λαοί
Aυτόχθονες λαοί
 
αγγλια
αγγλιααγγλια
αγγλια
 

Semelhante a Estudo de caso: Mule como um transporte JMS Comum

Principais duvidas sobre mule
Principais duvidas sobre mulePrincipais duvidas sobre mule
Principais duvidas sobre muleJeison Barros
 
Camada de rede e transporte
Camada de rede e transporteCamada de rede e transporte
Camada de rede e transporteFlapenta
 
Mq conceitos melhores_praticas_parte_ii
Mq conceitos melhores_praticas_parte_iiMq conceitos melhores_praticas_parte_ii
Mq conceitos melhores_praticas_parte_iiMoisesInacio
 
Qual integration framework você deve usar parte 1
Qual integration framework você deve usar parte 1Qual integration framework você deve usar parte 1
Qual integration framework você deve usar parte 1Jeison Barros
 
Ccna exploration fundamentos de rede - 4 camada de transporte osi
Ccna exploration   fundamentos de rede - 4 camada de transporte osiCcna exploration   fundamentos de rede - 4 camada de transporte osi
Ccna exploration fundamentos de rede - 4 camada de transporte osiveruzkavaz
 
Mq conceitos melhores_praticas
Mq conceitos melhores_praticasMq conceitos melhores_praticas
Mq conceitos melhores_praticasMoisesInacio
 
Padrões essenciais de mensageria para integração de sistemas
Padrões essenciais de mensageria para integração de sistemasPadrões essenciais de mensageria para integração de sistemas
Padrões essenciais de mensageria para integração de sistemasHelder da Rocha
 
15 padrões de mensageria para integração de sistemas
15 padrões de mensageria para integração de sistemas15 padrões de mensageria para integração de sistemas
15 padrões de mensageria para integração de sistemasHelder da Rocha
 
TDC2017 | POA Trilha Arquitetura - 15 padrões essenciais de mensageria para i...
TDC2017 | POA Trilha Arquitetura - 15 padrões essenciais de mensageria para i...TDC2017 | POA Trilha Arquitetura - 15 padrões essenciais de mensageria para i...
TDC2017 | POA Trilha Arquitetura - 15 padrões essenciais de mensageria para i...tdc-globalcode
 
Apache Camel
Apache CamelApache Camel
Apache CamelPT.JUG
 
Dia 12 04_2010
Dia 12 04_2010Dia 12 04_2010
Dia 12 04_2010scorpio3
 
Redes de Computadores
Redes de ComputadoresRedes de Computadores
Redes de Computadoresdeisiweg
 
Arquitetura Funcional em Microservices
Arquitetura Funcional em MicroservicesArquitetura Funcional em Microservices
Arquitetura Funcional em MicroservicesNubank
 
Aula 06 - Caracterizando fluxo de tráfego e Projeto de Topologia - Parte I - ...
Aula 06 - Caracterizando fluxo de tráfego e Projeto de Topologia - Parte I - ...Aula 06 - Caracterizando fluxo de tráfego e Projeto de Topologia - Parte I - ...
Aula 06 - Caracterizando fluxo de tráfego e Projeto de Topologia - Parte I - ...Dalton Martins
 

Semelhante a Estudo de caso: Mule como um transporte JMS Comum (20)

Principais duvidas sobre mule
Principais duvidas sobre mulePrincipais duvidas sobre mule
Principais duvidas sobre mule
 
Camada de rede e transporte
Camada de rede e transporteCamada de rede e transporte
Camada de rede e transporte
 
Tutorial esb (aulas praticas)
Tutorial esb (aulas praticas)Tutorial esb (aulas praticas)
Tutorial esb (aulas praticas)
 
Mq conceitos melhores_praticas_parte_ii
Mq conceitos melhores_praticas_parte_iiMq conceitos melhores_praticas_parte_ii
Mq conceitos melhores_praticas_parte_ii
 
Rui simao
Rui simaoRui simao
Rui simao
 
Modelo TCP-IP
Modelo TCP-IPModelo TCP-IP
Modelo TCP-IP
 
Qual integration framework você deve usar parte 1
Qual integration framework você deve usar parte 1Qual integration framework você deve usar parte 1
Qual integration framework você deve usar parte 1
 
Ccna exploration fundamentos de rede - 4 camada de transporte osi
Ccna exploration   fundamentos de rede - 4 camada de transporte osiCcna exploration   fundamentos de rede - 4 camada de transporte osi
Ccna exploration fundamentos de rede - 4 camada de transporte osi
 
Mq conceitos melhores_praticas
Mq conceitos melhores_praticasMq conceitos melhores_praticas
Mq conceitos melhores_praticas
 
Padrões essenciais de mensageria para integração de sistemas
Padrões essenciais de mensageria para integração de sistemasPadrões essenciais de mensageria para integração de sistemas
Padrões essenciais de mensageria para integração de sistemas
 
15 padrões de mensageria para integração de sistemas
15 padrões de mensageria para integração de sistemas15 padrões de mensageria para integração de sistemas
15 padrões de mensageria para integração de sistemas
 
TDC2017 | POA Trilha Arquitetura - 15 padrões essenciais de mensageria para i...
TDC2017 | POA Trilha Arquitetura - 15 padrões essenciais de mensageria para i...TDC2017 | POA Trilha Arquitetura - 15 padrões essenciais de mensageria para i...
TDC2017 | POA Trilha Arquitetura - 15 padrões essenciais de mensageria para i...
 
Camadasrede
CamadasredeCamadasrede
Camadasrede
 
Apache Camel
Apache CamelApache Camel
Apache Camel
 
Dia 12 04_2010
Dia 12 04_2010Dia 12 04_2010
Dia 12 04_2010
 
Redes de Computadores
Redes de ComputadoresRedes de Computadores
Redes de Computadores
 
Camadasrede
CamadasredeCamadasrede
Camadasrede
 
Camadas rede
Camadas redeCamadas rede
Camadas rede
 
Arquitetura Funcional em Microservices
Arquitetura Funcional em MicroservicesArquitetura Funcional em Microservices
Arquitetura Funcional em Microservices
 
Aula 06 - Caracterizando fluxo de tráfego e Projeto de Topologia - Parte I - ...
Aula 06 - Caracterizando fluxo de tráfego e Projeto de Topologia - Parte I - ...Aula 06 - Caracterizando fluxo de tráfego e Projeto de Topologia - Parte I - ...
Aula 06 - Caracterizando fluxo de tráfego e Projeto de Topologia - Parte I - ...
 

Mais de Jeison Barros

Introdução a RAML - parte 1
Introdução a RAML -  parte 1Introdução a RAML -  parte 1
Introdução a RAML - parte 1Jeison Barros
 
O básico do uso de rest vs soap
O básico do uso de rest vs soapO básico do uso de rest vs soap
O básico do uso de rest vs soapJeison Barros
 
Restful considerada prejudicial - parte 1
Restful considerada prejudicial -  parte 1Restful considerada prejudicial -  parte 1
Restful considerada prejudicial - parte 1Jeison Barros
 
Estratégia api e design
Estratégia api e designEstratégia api e design
Estratégia api e designJeison Barros
 
Transformando eficientemente resultados de uma consulta jdbc para json
Transformando eficientemente resultados de uma consulta jdbc para jsonTransformando eficientemente resultados de uma consulta jdbc para json
Transformando eficientemente resultados de uma consulta jdbc para jsonJeison Barros
 
Conectando seu banco de dados usando jdbc
Conectando seu banco de dados usando jdbcConectando seu banco de dados usando jdbc
Conectando seu banco de dados usando jdbcJeison Barros
 
Habilidades necessárias para integrar aplicativos e dados
Habilidades necessárias para integrar aplicativos e dadosHabilidades necessárias para integrar aplicativos e dados
Habilidades necessárias para integrar aplicativos e dadosJeison Barros
 
Qual integration framework você deve usar parte 2
Qual integration framework você deve usar parte 2Qual integration framework você deve usar parte 2
Qual integration framework você deve usar parte 2Jeison Barros
 
Começando com mulesoft e maven
Começando com mulesoft e mavenComeçando com mulesoft e maven
Começando com mulesoft e mavenJeison Barros
 
Mule esb com framework cucumber part 2
Mule esb com framework cucumber part 2Mule esb com framework cucumber part 2
Mule esb com framework cucumber part 2Jeison Barros
 
Fluxo dinâmicos usando spring aplication
Fluxo dinâmicos usando spring aplicationFluxo dinâmicos usando spring aplication
Fluxo dinâmicos usando spring aplicationJeison Barros
 
Data mapping com Groovy - Part 2
Data mapping com Groovy - Part 2Data mapping com Groovy - Part 2
Data mapping com Groovy - Part 2Jeison Barros
 
Relatório analytics de mula tempo de execução usando splunk
Relatório analytics de mula tempo de execução usando splunkRelatório analytics de mula tempo de execução usando splunk
Relatório analytics de mula tempo de execução usando splunkJeison Barros
 
Substituindo o request message no mule
Substituindo o request message no muleSubstituindo o request message no mule
Substituindo o request message no muleJeison Barros
 
Usando seu codigo java no mule part 2
Usando seu codigo java no mule part 2Usando seu codigo java no mule part 2
Usando seu codigo java no mule part 2Jeison Barros
 

Mais de Jeison Barros (17)

Pdfteste
PdftestePdfteste
Pdfteste
 
Introdução a RAML - parte 1
Introdução a RAML -  parte 1Introdução a RAML -  parte 1
Introdução a RAML - parte 1
 
O básico do uso de rest vs soap
O básico do uso de rest vs soapO básico do uso de rest vs soap
O básico do uso de rest vs soap
 
Restful considerada prejudicial - parte 1
Restful considerada prejudicial -  parte 1Restful considerada prejudicial -  parte 1
Restful considerada prejudicial - parte 1
 
Estratégia api e design
Estratégia api e designEstratégia api e design
Estratégia api e design
 
Transformando eficientemente resultados de uma consulta jdbc para json
Transformando eficientemente resultados de uma consulta jdbc para jsonTransformando eficientemente resultados de uma consulta jdbc para json
Transformando eficientemente resultados de uma consulta jdbc para json
 
Rest api vs SOAP
Rest api vs SOAPRest api vs SOAP
Rest api vs SOAP
 
Conectando seu banco de dados usando jdbc
Conectando seu banco de dados usando jdbcConectando seu banco de dados usando jdbc
Conectando seu banco de dados usando jdbc
 
Habilidades necessárias para integrar aplicativos e dados
Habilidades necessárias para integrar aplicativos e dadosHabilidades necessárias para integrar aplicativos e dados
Habilidades necessárias para integrar aplicativos e dados
 
Qual integration framework você deve usar parte 2
Qual integration framework você deve usar parte 2Qual integration framework você deve usar parte 2
Qual integration framework você deve usar parte 2
 
Começando com mulesoft e maven
Começando com mulesoft e mavenComeçando com mulesoft e maven
Começando com mulesoft e maven
 
Mule esb com framework cucumber part 2
Mule esb com framework cucumber part 2Mule esb com framework cucumber part 2
Mule esb com framework cucumber part 2
 
Fluxo dinâmicos usando spring aplication
Fluxo dinâmicos usando spring aplicationFluxo dinâmicos usando spring aplication
Fluxo dinâmicos usando spring aplication
 
Data mapping com Groovy - Part 2
Data mapping com Groovy - Part 2Data mapping com Groovy - Part 2
Data mapping com Groovy - Part 2
 
Relatório analytics de mula tempo de execução usando splunk
Relatório analytics de mula tempo de execução usando splunkRelatório analytics de mula tempo de execução usando splunk
Relatório analytics de mula tempo de execução usando splunk
 
Substituindo o request message no mule
Substituindo o request message no muleSubstituindo o request message no mule
Substituindo o request message no mule
 
Usando seu codigo java no mule part 2
Usando seu codigo java no mule part 2Usando seu codigo java no mule part 2
Usando seu codigo java no mule part 2
 

Estudo de caso: Mule como um transporte JMS Comum

  • 1. Estudo de caso: Mule como um transporte JMS Comum A equipe de integração aplicações tiveram que lidar com seis fornecedores diferentes. JMS e SOAP emergiu como os transportes comuns para todas as aplicações; 90% das comunicações poderia ter lugar ao longo JMS. A configuração normal JMS exigiria que cada aplicativo para criar filas de entrada e saída para cada aplicativo que ele precisa interagir. Esta configuração "ponto-a-ponto" explodiria complexidade porque mais aplicativos de fornecedores viria a ser adicionado à mistura, e cada aplicativo teria que ser revisto para adicionar novas definições de interface cada vez. A equipe de integração decidiu em vez de aproveitar os recursos da mula para simplificar isso criando uma fila única, comum onde todas as mensagens são enviadas. Cada mensagem tem um atributo que indica seu tipo e encaminha para a aplicação adequada. O aplicativo capta a mensagem na sua fila de entrada privada, processá-lo e responde colocando uma resposta na fila comum. rotas mula a resposta para os aplicativos apropriados. Listagem 1 é um arquivo de configuração Mule para lidar com as interações entre os componentes de aplicativos se comunicam através de JMS. As regiões coloridas corresponder cada um dos próximos parágrafos. As peças em cinza da lista são redundâncias ou exigir nenhuma explicação. Baixar arquivo de configuração Mule O primeiro passo consiste em definir o nome e tipo de conector. Qualquer provedor JMS, open-source ou comercial, pode ser definida aqui, enquanto Mule pode alcançar o servidor através da rede. As propriedades adicionais, tais como credenciais ou nomes deve ser definido aqui também. Mule vai usar esse conector para todo o tráfego JMS. Mais do que uma peça de ligação do mesmo tipo podem ser definidos, se necessário. Os conectores são identificados pelo nome; estes nomes são
  • 2. usados Mule para determinar qual deles lida com uma determinada interação. Conectores para outros transportes seria definida de um modo semelhante. Em seguida, defina os parâmetros globais. Estes terminais são as interfaces entre cada aplicação e Mule. Um componente objeto de serviço de vias de comunicação entre terminais; os parâmetros podem ser definidos no nível do componente objeto de serviço ou podem ser definidos globalmente. Parece mais fácil defini-las globalmente para que o modelo e roteador configuração Mule é menos detalhada. Use a abordagem que funciona melhor para sua aplicação. Mule é bastante silencioso por design. Ele apenas se senta lá e aguarda o tráfego para passar, obedientemente escrever mensagens de status para seus logs. Algumas vezes é conveniente definir filas de saída do console para fins de depuração já que nem todos podem ter acesso a um console JMX. Consolas exibir ASCII ou UTF-8 saída, mas o tráfego enviado através desta configuração mula é toda a JMS. Assim, dois transformadores são definidos. Uma converte mensagens JMS para objetos de mula, o outro converte esses objetos para cordas; o console pode exibir as seqüências de diagnóstico sem problemas. Essas mensagens também podem ser encaminhados via e-mail para cada fornecedor utilizando os transportes Java Mail da mula sem ter que extrair o texto a partir dos registros, etc. O modelo Mule gerencia o comportamento de tempo de execução de uma instância de servidor e encapsula todas as suas funcionalidades. O modelo é responsável por manter a configuração e instâncias do objeto de serviço. O modelo para este exemplo tem um descritor, o JMSMessageSwitchboard, que irá encaminhar todas as mensagens entre diferentes aplicações através de seus terminais. Este contém todos os roteadores, regras de filtragem, e definições de ponto final para garantir que as mensagens viajam dentro das aplicações com precisão.
  • 3. Uma vez que os integradores decidiu que todas as mensagens são introduzidos através de um único ponto de entrega, eles definiram um único roteador de entrada que escuta em um conector JMS específico. Enquanto cada aplicação define suas saídas de mensagem para o terminal outJMSBitco, Mule será capaz de encaminhá-los para o destino adequado. definições de roteamento de saída requer duas partes: primeiro, definir uma regra que corresponde a todas as mensagens JMS e os envia para filtros específicos para definição roteador de cada aplicação; isso é o que o todo o jogo = "true" é para. Em seguida, cada ponto de extremidade correspondente a uma determinada aplicação contém um filtro que corresponde a um atributo específico definido no cabeçalho da mensagem JMS, como OrderHistoryRequest. Note-se que, neste caso, as comunicações são assíncronas. Aplicações colocar pedidos na fila comum e passar para outras tarefas. As respostas vão voltar em suas filas específicas do aplicativo. Cada resposta também terá um cabeçalho da mensagem JMS identificação; analisar a validade do cabeçalho e a carga de dados são de responsabilidade de cada aplicação. Cada mensagem que circula através do JMSMessageSwitchboard deve corresponder a uma regra filtrada. Se isso não acontecer, isso significa que um integrador esqueceu de atualizar o arquivo de configuração Mule, um novo serviço já está on-line e usando a fila de entrada, ou há um erro de ortografia. Um modo rápido de detectar este é o roteador catchall saída definida para o fim das etiquetas descritor mula. Se nenhuma das regras corresponde, Mule irá encaminhar a mensagem para stdout depois de converter para uma string (lembre-se esses transformadores que definimos anteriormente?). Adicionando um novo aplicativo para este mashup torna-se um exercício trivial: garantir que ele usa JMS para comunicações de entrada e de saída, definir seu atributo de encaminhamento, e atualizar o arquivo de configuração do Mule. Se o novo aplicativo se comunica através de um protocolo diferente, como SOAP, definir o conector, terminais e um transformador para converter JMS-to-SOAP e volta. O processo de
  • 4. integração todo vai demorar cinco minutos, no máximo. Esse é o poder da mula.