mule esb introduccion
Post on 21-Jun-2015
5.705 Views
Preview:
TRANSCRIPT
Ing. Julio CejasJunio 2008
Mule
Enterprise Service Bus
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.
Mule ESB
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.
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
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.
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).
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.
Que es SEDA
Que es SEDA
Tecnologías Soportadas
Mule Demostración A
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.
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.
Mule Componentes
EndPoints.
Routers.
Transformers.
Filters.
Transports.
Connectors.
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.
Mule Componentes
EndPoints.
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.
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.
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.
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.
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.
Mule en un Grafico
Mule ESB
TCP WSDL HTTPS OTROS
Bpel
Engine
JMS
Provider
JBI
Container
Servicio
1
Otras
Instancias
Servicios Externos
Frameworks
Integrados
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
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>
Ejemplo de Configuración
Ejemplo de Configuración
Mule Demostración A
Mule Topologías
Mule Topologías
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
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.
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.
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.
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.
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!.
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.
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.
Mule Demostración A
Exponer un UMO como Web Services
Referencia
Ejemplo 2
Ejemplo 2
Ejemplo 2
Mule ESB y EAI
Referencias
http://mule.codehaus.org/display/MULE/Homehttp://www.enterpriseintegrationpatterns.com/http://sanjaydwivedi.blogspot.com/
Gracias
Gracias
top related