Mule ESB Introduccion
-
Upload
julio-cejas -
Category
Travel
-
view
5.705 -
download
0
Transcript of Mule ESB Introduccion
![Page 1: Mule ESB Introduccion](https://reader033.fdocuments.co/reader033/viewer/2022052412/55859c8fd8b42ac76d8b51d5/html5/thumbnails/1.jpg)
Ing. Julio CejasJunio 2008
Mule
Enterprise Service Bus
![Page 2: Mule ESB Introduccion](https://reader033.fdocuments.co/reader033/viewer/2022052412/55859c8fd8b42ac76d8b51d5/html5/thumbnails/2.jpg)
Agenda
1. Historia Mule ESB.2. Necesidad.3. Que es Mule.4. Objetivos de Mule.5. Que es SEDA.6. Tecnologías
Soportadas.7. Demostración 1.
![Page 3: Mule ESB Introduccion](https://reader033.fdocuments.co/reader033/viewer/2022052412/55859c8fd8b42ac76d8b51d5/html5/thumbnails/3.jpg)
Mule ESB
![Page 4: Mule ESB Introduccion](https://reader033.fdocuments.co/reader033/viewer/2022052412/55859c8fd8b42ac76d8b51d5/html5/thumbnails/4.jpg)
Mule Historia
1. La historia comenzó en el 2003.2. Creado por el Ross Mason (CTO de MuleSource).3. Mas de 650,000 downloads.4. Mas de 2000 desarrolladores en lista de usuarios.5. Mas de 500 despliegues en producción.6. Algunos Clientes: Walmart, Citigroup, BofA, JPMC, Verizon, McKesson, Wells
Fargo.
![Page 5: Mule ESB Introduccion](https://reader033.fdocuments.co/reader033/viewer/2022052412/55859c8fd8b42ac76d8b51d5/html5/thumbnails/5.jpg)
La Necesidad…
Soporte de varios protocolos.
Bajo Acoplamiento.
Enrutamiento de mensajes inteligente
Orientado en Eventos. Seguro y transaccional
Soporte de topologías distribuidas
Transformación de Mensajes.
Asegurar Disponibilidad
![Page 6: Mule ESB Introduccion](https://reader033.fdocuments.co/reader033/viewer/2022052412/55859c8fd8b42ac76d8b51d5/html5/thumbnails/6.jpg)
Que es Mule ESB
Mule es un framework ligero de mensajeria basado en el manejo de eventos
Desarrollado para ambientes altamente escalables SEDA (Staged Event Driven Architecture).
Arquitectura basada en Enterprise Service Network.
Posee capacidades de comunicación o canales llamados Endpoints.
Control del flujo de mensajes con MessageRouters: Inbound / Outbound / Response, Routers, Filters, etc.
![Page 7: Mule ESB Introduccion](https://reader033.fdocuments.co/reader033/viewer/2022052412/55859c8fd8b42ac76d8b51d5/html5/thumbnails/7.jpg)
Objetivos de Mule ESB
Exponer Componentes sobre multiples transportes.
Implementar tareas de integración (transformación, adaptación, conexión, etc.).
Desacoplar tecnologías.
Proporcionar una arquitectura altamente escalable.
Acelerar la integración de sistemas heterogéneos.
Incentivar el reuso de aplicaciones existentes.
Disponibilizar de aplicaciones asíncronas.
Proporcionar una arquitectura Altamente escalable (SEDA).
![Page 8: Mule ESB Introduccion](https://reader033.fdocuments.co/reader033/viewer/2022052412/55859c8fd8b42ac76d8b51d5/html5/thumbnails/8.jpg)
Que es SEDA?
SEDA descompone una aplicación en un set de estados conectados por colas.
Este diseño evita el alto overhead asociado con modelos de concurrencia basados en thread, y desacopla los eventos y los thread de la lógica de aplicación.
Para admitir eventos en la cola, el servicio puede ser condicionado para prevenir que la carga que exceda la capacidad del servicio.
SEDA emplea control dinámico automático para entonar parámetros en tiempo de ejecución.
![Page 9: Mule ESB Introduccion](https://reader033.fdocuments.co/reader033/viewer/2022052412/55859c8fd8b42ac76d8b51d5/html5/thumbnails/9.jpg)
Que es SEDA
![Page 10: Mule ESB Introduccion](https://reader033.fdocuments.co/reader033/viewer/2022052412/55859c8fd8b42ac76d8b51d5/html5/thumbnails/10.jpg)
Que es SEDA
![Page 11: Mule ESB Introduccion](https://reader033.fdocuments.co/reader033/viewer/2022052412/55859c8fd8b42ac76d8b51d5/html5/thumbnails/11.jpg)
Tecnologías Soportadas
![Page 12: Mule ESB Introduccion](https://reader033.fdocuments.co/reader033/viewer/2022052412/55859c8fd8b42ac76d8b51d5/html5/thumbnails/12.jpg)
Mule Demostración A
![Page 13: Mule ESB Introduccion](https://reader033.fdocuments.co/reader033/viewer/2022052412/55859c8fd8b42ac76d8b51d5/html5/thumbnails/13.jpg)
Agenda
1. Que son los Universal Message Object (UMO).
2. Mule Componentes.3. Mule en un Grafico.4. Mule Configuración.5. Demostración 2.6. Mule Topologías.7. Mule Flujo de Eventos.8. Demostración 3.9. Mule ESB y EAI.10. Referencias.
![Page 14: Mule ESB Introduccion](https://reader033.fdocuments.co/reader033/viewer/2022052412/55859c8fd8b42ac76d8b51d5/html5/thumbnails/14.jpg)
Universal Message Object (UMO)
Los UMO son JavaBeans Estándares. Un UMO es un tipo de objeto java que puede recibir y enviar eventos.
Los componentes UMO son usualmente objetos de negocio que ejecutan lógica de negocio, en un evento incoming.
Los componentes UMO son usualmente objetos de negocio que ejecutan lógica de negocio, en un evento incoming.
No existe código especifico de Mule, en los componentes
Mule maneja todas los enrutamientos y transformación de eventos a y desde objetos basados en un modelo de configuración.
![Page 15: Mule ESB Introduccion](https://reader033.fdocuments.co/reader033/viewer/2022052412/55859c8fd8b42ac76d8b51d5/html5/thumbnails/15.jpg)
Mule Componentes
EndPoints.
Routers.
Transformers.
Filters.
Transports.
Connectors.
![Page 16: Mule ESB Introduccion](https://reader033.fdocuments.co/reader033/viewer/2022052412/55859c8fd8b42ac76d8b51d5/html5/thumbnails/16.jpg)
Mule Componentes
EndPoints.
Los Endpoint:URIs describe como conectarse a un determinado transporte.Mule URI: scheme://[host][:port]/[endpoint name]/[address]?[params]El schema debe ser siempre establecido.El resto de los parámetros depende de proveedor de transporte.El schema describe cual descriptor del servicio es usado.
![Page 17: Mule ESB Introduccion](https://reader033.fdocuments.co/reader033/viewer/2022052412/55859c8fd8b42ac76d8b51d5/html5/thumbnails/17.jpg)
Mule Componentes
EndPoints.
![Page 18: Mule ESB Introduccion](https://reader033.fdocuments.co/reader033/viewer/2022052412/55859c8fd8b42ac76d8b51d5/html5/thumbnails/18.jpg)
Mule Componentes
Routers.
Un router es un objeto que manipula un mensaje una vez que ha sido recibido por un conector, o puede enviar a otro conector.
![Page 19: Mule ESB Introduccion](https://reader033.fdocuments.co/reader033/viewer/2022052412/55859c8fd8b42ac76d8b51d5/html5/thumbnails/19.jpg)
Mule Componentes
Transformers.
Un transformer opcionalmente cambia los mensajes de entrada y salida de alguna manera.ejemplo: El transformer ByteArrayToString, convierte de arrays de byte en objetos String.
![Page 20: Mule ESB Introduccion](https://reader033.fdocuments.co/reader033/viewer/2022052412/55859c8fd8b42ac76d8b51d5/html5/thumbnails/20.jpg)
Mule Componentes
Filters.
Un filtro puede filtrar opcionalmente los mensajes entrantes o de salida que interactúan con un conectador.Por ejemplo, el “File Provider” viene con un “FilenameWildcardFilter” que restringe cuales archivos pueden ser procesados por un conector basado en patrones de nombre. Por ejemplo solo archivos con extensión .xml pueden ser enrutados. Los Filters son usados en conjunto con los Routers.
![Page 21: Mule ESB Introduccion](https://reader033.fdocuments.co/reader033/viewer/2022052412/55859c8fd8b42ac76d8b51d5/html5/thumbnails/21.jpg)
Mule Componentes
Transports.
Un transport o "provider", es un conjunto de objetos que proporcionan soporte para que Mule pueda manejar transportes y protocolos específicos.Ejemplo: El "Email Provider" provee a Mule un mecanismo para enviar y recibir mensajes vía SMTP, POP y IMAP.
![Page 22: Mule ESB Introduccion](https://reader033.fdocuments.co/reader033/viewer/2022052412/55859c8fd8b42ac76d8b51d5/html5/thumbnails/22.jpg)
Mule Componentes
Connector.
Un connector es el objeto que envía y recibe mensajes a un endpoint.Los conectores son parte de los transports o providers.Por ejemplo: el FileConnector puede leer y escribir archivos en el file system.
![Page 23: Mule ESB Introduccion](https://reader033.fdocuments.co/reader033/viewer/2022052412/55859c8fd8b42ac76d8b51d5/html5/thumbnails/23.jpg)
Mule en un Grafico
Mule ESB
TCP WSDL HTTPS OTROS
Bpel
Engine
JMS
Provider
JBI
Container
Servicio
1
Otras
Instancias
Servicios Externos
Frameworks
Integrados
![Page 24: Mule ESB Introduccion](https://reader033.fdocuments.co/reader033/viewer/2022052412/55859c8fd8b42ac76d8b51d5/html5/thumbnails/24.jpg)
Mule Configuración
<mule-descriptor name="echoService" inboundEndpoint="axis:http://localhost:81/services" implementation="org.mule.components.simple.EchoComponent">
</mule-descriptor>
Servicio disponible: http://localhost:81/services/echoService
![Page 25: Mule ESB Introduccion](https://reader033.fdocuments.co/reader033/viewer/2022052412/55859c8fd8b42ac76d8b51d5/html5/thumbnails/25.jpg)
Mule Configuración
Definición de Interceptores
Definición de Transformers
Globales
Definición de Conectores Globales
<interceptor-stack name="default"><interceptor className="org.mule.interceptors.LoggingInterceptor"/><interceptor className="org.mule.interceptors.TimerInterceptor"/>
</interceptor-stack>
<transformers><transformer name="HttpRequestToSoapRequest" className="org.mule.providers.soap.transformers.HttpRequestToSoapRequest"/> </transformers>
<connector name="SystemStreamConnector" className="org.mule.providers.stream.SystemStreamConnector">
<properties><property name="promptMessage" value="Ingrese el mensaje: "/><property name="messageDelayTime" value="1000"/>
</properties></connector>
![Page 26: Mule ESB Introduccion](https://reader033.fdocuments.co/reader033/viewer/2022052412/55859c8fd8b42ac76d8b51d5/html5/thumbnails/26.jpg)
Ejemplo de Configuración
![Page 27: Mule ESB Introduccion](https://reader033.fdocuments.co/reader033/viewer/2022052412/55859c8fd8b42ac76d8b51d5/html5/thumbnails/27.jpg)
Ejemplo de Configuración
![Page 28: Mule ESB Introduccion](https://reader033.fdocuments.co/reader033/viewer/2022052412/55859c8fd8b42ac76d8b51d5/html5/thumbnails/28.jpg)
Mule Demostración A
![Page 29: Mule ESB Introduccion](https://reader033.fdocuments.co/reader033/viewer/2022052412/55859c8fd8b42ac76d8b51d5/html5/thumbnails/29.jpg)
Mule Topologías
![Page 30: Mule ESB Introduccion](https://reader033.fdocuments.co/reader033/viewer/2022052412/55859c8fd8b42ac76d8b51d5/html5/thumbnails/30.jpg)
Mule Topologías
![Page 31: Mule ESB Introduccion](https://reader033.fdocuments.co/reader033/viewer/2022052412/55859c8fd8b42ac76d8b51d5/html5/thumbnails/31.jpg)
Mule Flujo de Eventos
Inbound Router
Endpoint(Message Receiver)
Interceptor
Inbound Transformer
Service Invocation
Interceptor
Outbound Router
Outbound Transformer
Endpoint(Message Dispatcher)
Un archivo a un directorio.
Un mensaje llegando a un cola de mensajeria.
Un registro de una base de datos.
Datos escritos a un socket
![Page 32: Mule ESB Introduccion](https://reader033.fdocuments.co/reader033/viewer/2022052412/55859c8fd8b42ac76d8b51d5/html5/thumbnails/32.jpg)
Mule Flujo de Eventos
Inbound Router
Endpoint(Message Receiver)
Interceptor
Inbound Transformer
Service Invocation
Interceptor
Outbound Router
Outbound Transformer
Endpoint(Message Dispatcher)
Un inbound router es el primer paso en un mensaje.
funciones típicas:
Filtrado / Correlaciones / enriquecimiento.
![Page 33: Mule ESB Introduccion](https://reader033.fdocuments.co/reader033/viewer/2022052412/55859c8fd8b42ac76d8b51d5/html5/thumbnails/33.jpg)
Mule Flujo de Eventos
Inbound Router
Endpoint(Message Receiver)
Interceptor
Inbound Transformer
Service Invocation
Interceptor
Outbound Router
Outbound Transformer
Endpoint(Message Dispatcher)
Usado para disparar servicios de monitoreo y eventos o para interrumpir el flujo de mensajes.
Un ejemplo es usar un interceptor para autorización el cual verifique que el request posee las credenciales adecuadas para invocar un servicio.
![Page 34: Mule ESB Introduccion](https://reader033.fdocuments.co/reader033/viewer/2022052412/55859c8fd8b42ac76d8b51d5/html5/thumbnails/34.jpg)
Mule Flujo de Eventos
Inbound Router
Endpoint(Message Receiver)
Interceptor
Inbound Transformer
Service Invocation
Interceptor
Outbound Router
Outbound Transformer
Endpoint(Message Dispatcher)
Si los datos en el inbound no se encuentran en el formato adecuado para el servicio, este debe ser transformado en este punto.
![Page 35: Mule ESB Introduccion](https://reader033.fdocuments.co/reader033/viewer/2022052412/55859c8fd8b42ac76d8b51d5/html5/thumbnails/35.jpg)
Mule Flujo de Eventos
Inbound Router
Endpoint(Message Receiver)
Interceptor
Inbound Transformer
Service Invocation
Interceptor
Outbound Router
Outbound Transformer
Endpoint(Message Dispatcher)
El Servicio es invocado.
![Page 36: Mule ESB Introduccion](https://reader033.fdocuments.co/reader033/viewer/2022052412/55859c8fd8b42ac76d8b51d5/html5/thumbnails/36.jpg)
Mule Flujo de Eventos
Inbound Router
Endpoint(Message Receiver)
Interceptor
Inbound Transformer
Service Invocation
Interceptor
Outbound Router
Outbound Transformer
Endpoint(Message Dispatcher)
Ya lo vimos!.
![Page 37: Mule ESB Introduccion](https://reader033.fdocuments.co/reader033/viewer/2022052412/55859c8fd8b42ac76d8b51d5/html5/thumbnails/37.jpg)
Mule Flujo de Eventos
Inbound Router
Endpoint(Message Receiver)
Interceptor
Inbound Transformer
Service Invocation
Interceptor
Outbound Router
Outbound Transformer
Endpoint(Message Dispatcher)
Enviar o despacha los datos a todos los endpoint disponibles.
![Page 38: Mule ESB Introduccion](https://reader033.fdocuments.co/reader033/viewer/2022052412/55859c8fd8b42ac76d8b51d5/html5/thumbnails/38.jpg)
Mule Flujo de Eventos
Inbound Router
Endpoint(Message Receiver)
Interceptor
Inbound Transformer
Service Invocation
Interceptor
Outbound Router
Outbound Transformer
Endpoint(Message Dispatcher)
Cualquier transformación que se necesite hacer sobre el mensaje después que el servicio ha sido ejecutado antes de colocarlo en el endpoint final.
![Page 39: Mule ESB Introduccion](https://reader033.fdocuments.co/reader033/viewer/2022052412/55859c8fd8b42ac76d8b51d5/html5/thumbnails/39.jpg)
Mule Demostración A
![Page 40: Mule ESB Introduccion](https://reader033.fdocuments.co/reader033/viewer/2022052412/55859c8fd8b42ac76d8b51d5/html5/thumbnails/40.jpg)
Exponer un UMO como Web Services
![Page 41: Mule ESB Introduccion](https://reader033.fdocuments.co/reader033/viewer/2022052412/55859c8fd8b42ac76d8b51d5/html5/thumbnails/41.jpg)
Referencia
![Page 42: Mule ESB Introduccion](https://reader033.fdocuments.co/reader033/viewer/2022052412/55859c8fd8b42ac76d8b51d5/html5/thumbnails/42.jpg)
Ejemplo 2
![Page 43: Mule ESB Introduccion](https://reader033.fdocuments.co/reader033/viewer/2022052412/55859c8fd8b42ac76d8b51d5/html5/thumbnails/43.jpg)
Ejemplo 2
![Page 44: Mule ESB Introduccion](https://reader033.fdocuments.co/reader033/viewer/2022052412/55859c8fd8b42ac76d8b51d5/html5/thumbnails/44.jpg)
Ejemplo 2
![Page 45: Mule ESB Introduccion](https://reader033.fdocuments.co/reader033/viewer/2022052412/55859c8fd8b42ac76d8b51d5/html5/thumbnails/45.jpg)
Mule ESB y EAI
![Page 46: Mule ESB Introduccion](https://reader033.fdocuments.co/reader033/viewer/2022052412/55859c8fd8b42ac76d8b51d5/html5/thumbnails/46.jpg)
Referencias
http://mule.codehaus.org/display/MULE/Homehttp://www.enterpriseintegrationpatterns.com/http://sanjaydwivedi.blogspot.com/
![Page 47: Mule ESB Introduccion](https://reader033.fdocuments.co/reader033/viewer/2022052412/55859c8fd8b42ac76d8b51d5/html5/thumbnails/47.jpg)
Gracias
Gracias