¿Qué ofrece Autentia?
Somos su empresa de Somos su empresa de Somos su empresa de Somos su empresa de
Soporte a Desarrollo InformáticoSoporte a Desarrollo InformáticoSoporte a Desarrollo InformáticoSoporte a Desarrollo Informático Ese apoyo que siempre quiso tener ….Ese apoyo que siempre quiso tener ….Ese apoyo que siempre quiso tener ….Ese apoyo que siempre quiso tener ….
• Desarrollo de componentes y proyectos a medida.
• Auditoría de código y recomendaciones de mejora.
• Arranque de proyectos basados en nuevas tecnologías.
• Curso de Formación
Dirección de Proyectos Informáticos.
Gestión eficaz del Tiempo.
Arquitecturas de desarrollo Web: Web, J2EE, SOA, WebServices, BPM, etc.
Java/ J2EE a todos los niveles: JSPs, Servlets, EJBs, JMS, JNI, etc.
Análisis y diseño orientado a objeto.
UML y patrones de diseño.
Buenas prácticas en el desarrollo de aplicaciones
Técnicas avanzadas: Lucene, Hibernate, Spring, JSF, Struts, etc.
Nuestra mejor referencia son los conocimientos que Nuestra mejor referencia son los conocimientos que Nuestra mejor referencia son los conocimientos que Nuestra mejor referencia son los conocimientos que
compartimos en nuestro webcompartimos en nuestro webcompartimos en nuestro webcompartimos en nuestro web
www.adictosaltrabajo.comwww.adictosaltrabajo.comwww.adictosaltrabajo.comwww.adictosaltrabajo.com
Decenas de entidades cuentan ya con nosotrosDecenas de entidades cuentan ya con nosotrosDecenas de entidades cuentan ya con nosotrosDecenas de entidades cuentan ya con nosotros
Para más información visítenos en www.autentia.com Para más información visítenos en www.autentia.com Para más información visítenos en www.autentia.com Para más información visítenos en www.autentia.com
Tel. 91 675 33 06 Tel. 91 675 33 06 Tel. 91 675 33 06 Tel. 91 675 33 06 ---- [email protected] [email protected] [email protected] [email protected]
Queda totalmente prohibida la distribución o modificación de este material.Este material ha sido licenciado sólo y exclusivamente para su uso interno.
www.autentia.com
1– 1
Autentia Real Business Solutions
v1.0
ESBESB
Queda totalmente prohibida la distribución o modificación de este material.Este material ha sido licenciado sólo y exclusivamente para su uso interno.
www.autentia.com
1– 2
Cual es el problema
Una organización tiene sistemas distintos.
Necesita integrarlos.
SOA cada día más presente.
Conexión 1 a 1 = caro y complejo.
Solución: Bus integración.
Queda totalmente prohibida la distribución o modificación de este material.Este material ha sido licenciado sólo y exclusivamente para su uso interno.
www.autentia.com
1– 3
Cual es el problema
Queda totalmente prohibida la distribución o modificación de este material.Este material ha sido licenciado sólo y exclusivamente para su uso interno.
www.autentia.com
1– 4
¿Qué es un ESB?
Ejemplo: Agencia de Viajes → vuelo + hotel
Queda totalmente prohibida la distribución o modificación de este material.Este material ha sido licenciado sólo y exclusivamente para su uso interno.
www.autentia.com
1– 5
¿Qué es un ESB?
Queda totalmente prohibida la distribución o modificación de este material.Este material ha sido licenciado sólo y exclusivamente para su uso interno.
www.autentia.com
1– 6
¿Qué es un ESB?
•Permite la Permite la integraciónintegración de diferentes aplicaciones o de diferentes aplicaciones o servicios preexistentes. servicios preexistentes.
•Administra la intercomunicaciónAdministra la intercomunicación entre ellos entre ellos..
Queda totalmente prohibida la distribución o modificación de este material.Este material ha sido licenciado sólo y exclusivamente para su uso interno.
www.autentia.com
1– 7
Componentes de un ESB
•Services:Services: dos o más servicios a integrar. dos o más servicios a integrar.•Bus:Bus: Actúa como mediador entre los diferentes servicios. Administra Actúa como mediador entre los diferentes servicios. Administra el intercambio y la transformación de mensajes entre ellos.el intercambio y la transformación de mensajes entre ellos.•Endpoints:Endpoints: puntos de enlace entre los servicios y el Bus de puntos de enlace entre los servicios y el Bus de mensajes.mensajes.
Queda totalmente prohibida la distribución o modificación de este material.Este material ha sido licenciado sólo y exclusivamente para su uso interno.
www.autentia.com
1– 8
¿Por que utilizar un ESB?
Permite una Permite una rápidarápida integración de servicios. integración de servicios.
Queda totalmente prohibida la distribución o modificación de este material.Este material ha sido licenciado sólo y exclusivamente para su uso interno.
www.autentia.com
1– 9
¿Por que utilizar un ESB?
Sólo es necesario definir como se integra cada servicio con el bus.Sólo es necesario definir como se integra cada servicio con el bus.Permite obtener Permite obtener resultados más confiablesresultados más confiables..
Queda totalmente prohibida la distribución o modificación de este material.Este material ha sido licenciado sólo y exclusivamente para su uso interno.
www.autentia.com
1– 10
¿Por que utilizar un ESB?
La integración de servicios al Bus se realiza mediante La integración de servicios al Bus se realiza mediante configuraciónconfiguración..
Queda totalmente prohibida la distribución o modificación de este material.Este material ha sido licenciado sólo y exclusivamente para su uso interno.
www.autentia.com
1– 11
La integración de servicios se basa en estándares.La integración de servicios se basa en estándares.
Queda totalmente prohibida la distribución o modificación de este material.Este material ha sido licenciado sólo y exclusivamente para su uso interno.
www.autentia.com
1– 12
¿Por que utilizar un ESB?
La plataforma provee las herramientas para realizar la integración.La plataforma provee las herramientas para realizar la integración.
Queda totalmente prohibida la distribución o modificación de este material.Este material ha sido licenciado sólo y exclusivamente para su uso interno.
www.autentia.com
1– 13
Funcionalidades de un ESB
Ubicación transparenteUbicación transparente: desacopla al consumidor de servicios de la : desacopla al consumidor de servicios de la ubicación del mismo. ubicación del mismo.
Queda totalmente prohibida la distribución o modificación de este material.Este material ha sido licenciado sólo y exclusivamente para su uso interno.
www.autentia.com
1– 14
Funcionalidades de un ESB
Conversión de protocolos de transporteConversión de protocolos de transporte: integración de aplicaciones : integración de aplicaciones con diferentes protocolos de transporte. Http → JMS, FTP → con diferentes protocolos de transporte. Http → JMS, FTP → ficheros por lotes, SMTP → TCP ...ficheros por lotes, SMTP → TCP ...
Queda totalmente prohibida la distribución o modificación de este material.Este material ha sido licenciado sólo y exclusivamente para su uso interno.
www.autentia.com
1– 15
Funcionalidades de un ESB
Transformación de mensajesTransformación de mensajes: adaptación de los mensajes al formato : adaptación de los mensajes al formato requerido por el servicio.requerido por el servicio.
Queda totalmente prohibida la distribución o modificación de este material.Este material ha sido licenciado sólo y exclusivamente para su uso interno.
www.autentia.com
1– 16
Funcionalidades de un ESB
Enrutamiento de mensajesEnrutamiento de mensajes: determinar el destino del mensaje.: determinar el destino del mensaje.
Queda totalmente prohibida la distribución o modificación de este material.Este material ha sido licenciado sólo y exclusivamente para su uso interno.
www.autentia.com
1– 17
Funcionalidades de un ESB
Modificación de mensajesModificación de mensajes
Queda totalmente prohibida la distribución o modificación de este material.Este material ha sido licenciado sólo y exclusivamente para su uso interno.
www.autentia.com
1– 18
Funcionalidades de un ESBSeguridadSeguridad: proporciona funcionalidad para la autenticación, : proporciona funcionalidad para la autenticación, autorización y encriptación.autorización y encriptación.
Queda totalmente prohibida la distribución o modificación de este material.Este material ha sido licenciado sólo y exclusivamente para su uso interno.
www.autentia.com
1– 19
Funcionalidades de un ESB
Supervisión y gestión del entornoSupervisión y gestión del entorno: permite monitorizar en tiempo de : permite monitorizar en tiempo de ejecución el flujo de mensajes.ejecución el flujo de mensajes.
Queda totalmente prohibida la distribución o modificación de este material.Este material ha sido licenciado sólo y exclusivamente para su uso interno.
www.autentia.com
1– 20
Mule
Queda totalmente prohibida la distribución o modificación de este material.Este material ha sido licenciado sólo y exclusivamente para su uso interno.
www.autentia.com
1– 21
¿Por qué Mule?
Criterio Mule ServiceMix Open ESB Synapse PEtALS
Soporte + + +/- + +Calidad de la documentación
+ +/- + + +/-
Visibilidad en el mercado
++ + +/- +/- +/-
Comunidad ++ + +/- + +Flexibilidad ++ + +/- ++ +Soporte de protocolos y conectividad
+ + +/- +/- +
Integración con otros productos OpenSource
++ ++ +/- + +
IDE + + ++ +/- +
Ref. Open Source ESBs in action (Manning)Ref. Open Source ESBs in action (Manning)
Queda totalmente prohibida la distribución o modificación de este material.Este material ha sido licenciado sólo y exclusivamente para su uso interno.
www.autentia.com
1– 22
Modos de ejecución
Stand-AloneStand-AloneMediante línea de comandos especificando el fichero de Mediante línea de comandos especificando el fichero de configuración.configuración.Ejemplo: Ejemplo: /mule2/bin/mule -config ejemploMule/config//mule2/bin/mule -config ejemploMule/config/mule-config.xmlmule-config.xml
Servlet engine Servlet engine Configurar en el web.xml del servidor un context-param con Configurar en el web.xml del servidor un context-param con los ficheros de configuración de arranque de Mule.los ficheros de configuración de arranque de Mule.Añadir un listener que arranque Mule ESB.Añadir un listener que arranque Mule ESB.
Queda totalmente prohibida la distribución o modificación de este material.Este material ha sido licenciado sólo y exclusivamente para su uso interno.
www.autentia.com
1– 23
Mule - elementos
ComponentComponent(componente): Contiene la “lógica de negocio”. (Por ejemplo, un bean de Sping, (componente): Contiene la “lógica de negocio”. (Por ejemplo, un bean de Sping, un servicio REST, un POJO, etc.)un servicio REST, un POJO, etc.)
TransportTransport(transporte): Maneja la conectividad con una determinada tecnología o aplicación (transporte): Maneja la conectividad con una determinada tecnología o aplicación (por ejemplo, JMS, SAP, FTP, etc.)(por ejemplo, JMS, SAP, FTP, etc.)
TransformerTransformer(transformadores) :Transforma los datos al formato esperado por el siguiente (transformadores) :Transforma los datos al formato esperado por el siguiente componente. componente.
Inbound RouterInbound Router(router de entrada):(router de entrada): Determina qué hacer con el mensaje entrante antes de Determina qué hacer con el mensaje entrante antes de ser enviado al servicio.ser enviado al servicio.
Outbound RouterOutbound Router(router de salida):Determina donde debe ser enviado un mensaje tras su (router de salida):Determina donde debe ser enviado un mensaje tras su procesamiento por parte del servicio.procesamiento por parte del servicio.
Queda totalmente prohibida la distribución o modificación de este material.Este material ha sido licenciado sólo y exclusivamente para su uso interno.
www.autentia.com
1– 24
Mule – flujo básico
1.Un transport recibe un mensaje. 1.Un transport recibe un mensaje. (Por ejemplo, un mensaje se ha puesto en una cola (Por ejemplo, un mensaje se ha puesto en una cola JMS donde el transport está escuchando.)JMS donde el transport está escuchando.)
2. Antes de que el mensaje se envíe al router de entrada, sufre la primera transformación 2. Antes de que el mensaje se envíe al router de entrada, sufre la primera transformación (si es necesario) al formato requerido.(si es necesario) al formato requerido.
3. El mensaje es procesado por el router de entrada. Por ejemplo, podríamos tener un 3. El mensaje es procesado por el router de entrada. Por ejemplo, podríamos tener un "consumo selectivo", que sólo acepta los mensajes que envían las aplicaciones en las "consumo selectivo", que sólo acepta los mensajes que envían las aplicaciones en las confiamos.confiamos.
4. Tras pasar por el router de entrada, el mensaje se envía al componente, que aplica su 4. Tras pasar por el router de entrada, el mensaje se envía al componente, que aplica su lógica de negocio.lógica de negocio.
5. Después de que el servicio lo procese, la respuesta (mensaje) se envía al router de 5. Después de que el servicio lo procese, la respuesta (mensaje) se envía al router de salida. Este determina dónde enviarlo. Podríamos, por ejemplo, dividir este mensaje en salida. Este determina dónde enviarlo. Podríamos, por ejemplo, dividir este mensaje en varias partes y enviarlos a diferentes destinos.varias partes y enviarlos a diferentes destinos.
6. Finalmente, podemos transformar el mensaje una vez más para adaptarlo a las 6. Finalmente, podemos transformar el mensaje una vez más para adaptarlo a las necesidades del receptor.necesidades del receptor.
Queda totalmente prohibida la distribución o modificación de este material.Este material ha sido licenciado sólo y exclusivamente para su uso interno.
www.autentia.com
1– 25
Arquitectura Mule
ChannelChannel:canal de comunicación de las :canal de comunicación de las aplicaciones con Mule. aplicaciones con Mule.
ConnectorConnector: :
Message RecieverMessage Reciever: receptor de los : receptor de los mensajes del canal.mensajes del canal.
TransformerTransformer: adapta la información al : adapta la información al servicio.servicio.
Inbound RouterInbound Router: determina que hacer con : determina que hacer con los mensajes recibidos.los mensajes recibidos.
ComponentComponent: implementa la lógica de : implementa la lógica de integraciónintegración
Outbound RouterOutbound Router: determina a donde : determina a donde deben enviarse los mensajes salientes tras deben enviarse los mensajes salientes tras ser procesados por el componente.ser procesados por el componente.
Message DispacherMessage Dispacher: define como deben : define como deben ser enviados los mensajes al canal de ser enviados los mensajes al canal de salida.salida.
Queda totalmente prohibida la distribución o modificación de este material.Este material ha sido licenciado sólo y exclusivamente para su uso interno.
www.autentia.com
1– 26
Configurando Mule
Configuración de Mule → Fichero XML.Configuración de Mule → Fichero XML.
Un Un servicioservicio es un sencillo componente que especifica: es un sencillo componente que especifica:
•sobre que canal escucha (inbound router),sobre que canal escucha (inbound router),
•que metodo invoca (Component).que metodo invoca (Component).
•hacia que canal publica (outbound router).hacia que canal publica (outbound router).
Queda totalmente prohibida la distribución o modificación de este material.Este material ha sido licenciado sólo y exclusivamente para su uso interno.
www.autentia.com
1– 27
Ejemplo – Agencia de viajes
Queda totalmente prohibida la distribución o modificación de este material.Este material ha sido licenciado sólo y exclusivamente para su uso interno.
www.autentia.com
1– 28
Mule endpoints
Mule endpointsMule endpointsEstablece la manera en la que una aplicación se conecta a un canal. Establece la manera en la que una aplicación se conecta a un canal.
Los canales, conectores, emisores y receptores trabajan juntos para lograrlo.Los canales, conectores, emisores y receptores trabajan juntos para lograrlo.
Gracias a los namespaces específicos de transporte esta configuración se realiza de forma sencilla.Gracias a los namespaces específicos de transporte esta configuración se realiza de forma sencilla.
Ejemplos:Ejemplos:
<jms:inbound-endpoint queue=”prueba.queue” /><jms:inbound-endpoint queue=”prueba.queue” />
<jms:outbound-endpoint topic=”prueba.topic” /><jms:outbound-endpoint topic=”prueba.topic” />
<file:inbound-endpoint name=”example-in” path=”example/in” /><file:inbound-endpoint name=”example-in” path=”example/in” />
<file:outbound-endpoint name=”example-out” path=”example/out” /><file:outbound-endpoint name=”example-out” path=”example/out” />
Ya sabemos como Mule interactua con los mensajes. Veamos que puede hacer con ellos.Ya sabemos como Mule interactua con los mensajes. Veamos que puede hacer con ellos.
Queda totalmente prohibida la distribución o modificación de este material.Este material ha sido licenciado sólo y exclusivamente para su uso interno.
www.autentia.com
1– 29
Mule TransformersUna vez recibido el mensaje debe ser transformado para adaparse al formato requerido por el servicio.Una vez recibido el mensaje debe ser transformado para adaparse al formato requerido por el servicio.
Esto se realiza en dos pasos:Esto se realiza en dos pasos:
Definición de las transformaciones.Definición de las transformaciones.
Transformaciones genéricas:Transformaciones genéricas:
Mule aplica sus propias transformaciones basadas en el tipo de transporte empleado.Mule aplica sus propias transformaciones basadas en el tipo de transporte empleado.
<<jms:jmsmessage-to-object-transformer jms:jmsmessage-to-object-transformer namename=="JMSToStringTransformer""JMSToStringTransformer" />/><xml:xslt-transformer<xml:xslt-transformer namename=="XSLT" "XSLT" xsl-file=xsl-file==="prueba.xslt" "prueba.xslt" />/>
Ejemplo de transformaciones automáticas realizadas por Mule para mensajes JMS.Ejemplo de transformaciones automáticas realizadas por Mule para mensajes JMS.
Objeto Java Mensaje JMS
java.lang.String javax.jms.TextMessage
byte[] javax.jms.BytesMessage
java.util.Map javax.jms.MapMessage
java.io.InputStream javax.jms.StreamMessage
java.lang.Object javax.jms.ObjectMessage
Queda totalmente prohibida la distribución o modificación de este material.Este material ha sido licenciado sólo y exclusivamente para su uso interno.
www.autentia.com
1– 30
Mule Transformers
Transformaciones de usuario:Transformaciones de usuario:
Estas transformaciones pueden sobre-escribir las genéricas o ser aplicadas conjuntamente.Estas transformaciones pueden sobre-escribir las genéricas o ser aplicadas conjuntamente.
En este caso las transformaciones genéricas no son ejecutadas por defecto.En este caso las transformaciones genéricas no son ejecutadas por defecto.
<custom-transformer<custom-transformer namename=="pruebaTransformer" "pruebaTransformer" class=class=”autentia.esb.prueba.BigDecimalTransformer"”autentia.esb.prueba.BigDecimalTransformer" />/>Clase que implementa el transformador:Clase que implementa el transformador:
Package Package autentia.esb.prueba;autentia.esb.prueba;
importimport org.mule.api.transformer.TransformerException; org.mule.api.transformer.TransformerException;
importimport org.mule.transformer.AbstractTransformer; org.mule.transformer.AbstractTransformer;
publicpublic classclass BigDecimalTransformer BigDecimalTransformer extendsextends AbstractTransformer { AbstractTransformer {
protectedprotected Object doTransform(Object src, String encoding) Object doTransform(Object src, String encoding) throwsthrows TransformerException { TransformerException {
ifif(src (src instanceofinstanceof String) { String) {
returnreturn new BigDecimal(src); new BigDecimal(src);
}}
returnreturn res; res;
}}
}}
Queda totalmente prohibida la distribución o modificación de este material.Este material ha sido licenciado sólo y exclusivamente para su uso interno.
www.autentia.com
1– 31
Mule Transformers
Asociación de los transformadores a los endpoints.Asociación de los transformadores a los endpoints.
Se realiza sobre la propia definición de los endpoints.Se realiza sobre la propia definición de los endpoints.
Ejemplo:Ejemplo:
<jms:<jms:inbound-endpointinbound-endpoint queuequeue=="query.response""query.response" />/><<transformertransformer refref=="JMSToStringTransformer""JMSToStringTransformer" />/><<transformertransformer refref=="XSLT""XSLT" />/>
</jms:</jms:inbound-endpointinbound-endpoint >>
Queda totalmente prohibida la distribución o modificación de este material.Este material ha sido licenciado sólo y exclusivamente para su uso interno.
www.autentia.com
1– 32
Mule Routers
Inbound RouterInbound Router
Determina como son recibidos los mensaje por el componente.Determina como son recibidos los mensaje por el componente.
Configurable mediante filtros, permite establecer la estrategia de evaluación del mensaje.Configurable mediante filtros, permite establecer la estrategia de evaluación del mensaje.
Ejemplo sencilloEjemplo sencillo
<<inboundinbound>>
<<inbound-endpointinbound-endpoint addressaddress=="cxf:http://localhost:63081/agencia/hotel/hotelSearch""cxf:http://localhost:63081/agencia/hotel/hotelSearch" />/></</inboundinbound>>
Nombre del router descripción
Idempotent receiver Solo se reciben mensajes con identificador único
Aggregator Combina en un mensaje dos o más mensajes
Resequencer Cambiar el orden de los mensajes
Selective consumer Evalua si enviar o no el mensaje
Wiretap router Permite redireccionar mensajes
Forwarding consumer Envía el mensaje al outbound sin pasar por el componente
Queda totalmente prohibida la distribución o modificación de este material.Este material ha sido licenciado sólo y exclusivamente para su uso interno.
www.autentia.com
1– 33
Mule routers
Outbound RouterOutbound Router
Determina donde serán enviados los mensajes tras su procesamiento.Determina donde serán enviados los mensajes tras su procesamiento.<<outboundoutbound>>
<<pass-through-routerpass-through-router>>
<<vm:outbound-endpointvm:outbound-endpoint pathpath=="aggregatorQueue""aggregatorQueue" />/></</pass-through-routerpass-through-router>>
</</outboundoutbound>>
Nombre del router descripciónFiltering outbound router Enruta basándose en el contenido del mensajeRecipient list Permite enrutar hacia múltiples endpointsMulticasting router Enviar el mismo mensaje a múltiples endpointsChaining router Encadena varios endpointsMessage splitter Divide en varios mensajes y envía por separadoException-based router Prueba sobre varios endpointsList message splitter Separa mensajes de una lista
Queda totalmente prohibida la distribución o modificación de este material.Este material ha sido licenciado sólo y exclusivamente para su uso interno.
www.autentia.com
1– 34
Mule Connectors
Se incluyen en el fichero de configuración de Mule.Se incluyen en el fichero de configuración de Mule.
Permiten a Mule conectarse con diversas tecnologías.Permiten a Mule conectarse con diversas tecnologías.
- Ficheros- Ficheros - BPM- BPM
- JMS (queue y topic)- JMS (queue y topic) - HTTP- HTTP
- JDBC- JDBC - IMAP- IMAP
- mail (POP3 y SMTP)- mail (POP3 y SMTP) - QUARTZ- QUARTZ
- FTP- FTP - RMI- RMI
- EJBs (RMI y capa WS)- EJBs (RMI y capa WS) - SOAP- SOAP
Ejemplo:Ejemplo:
<<smtp:gmail-connectorsmtp:gmail-connector namename=="emailConnector""emailConnector" />/>
Queda totalmente prohibida la distribución o modificación de este material.Este material ha sido licenciado sólo y exclusivamente para su uso interno.
www.autentia.com
1– 35
Component
Es invocado cuando un mensaje recibido por el “inbound router” pasa todos los filtros.Es invocado cuando un mensaje recibido por el “inbound router” pasa todos los filtros.
Este componente por defecto es un POJO sin dependencias con Mule.Este componente por defecto es un POJO sin dependencias con Mule.
Puede ser gestionado por Spring o implementado en otras tecnologías como Groovy, REST, etc.Puede ser gestionado por Spring o implementado en otras tecnologías como Groovy, REST, etc.
Una vez terminado el proceso el resultado que devuelve al outbound router es el objeto respuesta.Una vez terminado el proceso el resultado que devuelve al outbound router es el objeto respuesta.
En caso de devolver null el proceso se detiene.En caso de devolver null el proceso se detiene.
Configuración en Mule:Configuración en Mule:
<<componentcomponent classclass=="com.autentia.ejemplo.PruebaComponentImpl""com.autentia.ejemplo.PruebaComponentImpl" />/>
¿Como sabe Mule que método debe invocar?¿Como sabe Mule que método debe invocar?- Dejar que Mule decida... - Dejar que Mule decida... - Especificar el nombre del método en la configuración de Mule.- Especificar el nombre del método en la configuración de Mule.
<<componentcomponent classclass=="com.autentia.ejemplo.PruebaComponentImpl""com.autentia.ejemplo.PruebaComponentImpl" methodsmethods=="process""process"/>/>- Mediante una interfaz que defina el “entrypoint” de la clase, como por ejemplo:- Mediante una interfaz que defina el “entrypoint” de la clase, como por ejemplo:
Callable que obliga a implementar el método onCall.Callable que obliga a implementar el método onCall.
Queda totalmente prohibida la distribución o modificación de este material.Este material ha sido licenciado sólo y exclusivamente para su uso interno.
www.autentia.com
1– 36
Conclusión
- Mule recibe mensajes escuchando en un canal.- Mule recibe mensajes escuchando en un canal.
- Un - Un message receivermessage receiver recibe el mensaje utilizando la tecnología específica requerida por el recibe el mensaje utilizando la tecnología específica requerida por el canal.canal.
- El transformador de entrada es invocado.- El transformador de entrada es invocado.
- Antes de llamar al componente, el mensaje pasa por el - Antes de llamar al componente, el mensaje pasa por el inbound routerinbound router que decide si será que decide si será procesado el mensaje.procesado el mensaje.
- El componente lo procesa.- El componente lo procesa.
- El resultado pasa al - El resultado pasa al outbound routeroutbound router que determina donde será enviado. que determina donde será enviado.
- El transformador de salida es invocado.- El transformador de salida es invocado.
- El - El message dispachermessage dispacher deja el mensaje en el canal de salida. deja el mensaje en el canal de salida.