Download - Mule ESB
![Page 1: Mule ESB](https://reader033.vdocuments.co/reader033/viewer/2022061211/5492d3dbac7959412e8b46f5/html5/thumbnails/1.jpg)
Mule ESBSpring Tours UPeU 2009
José Luis Gutiérrez
![Page 2: Mule ESB](https://reader033.vdocuments.co/reader033/viewer/2022061211/5492d3dbac7959412e8b46f5/html5/thumbnails/2.jpg)
Descripción General Características de Mule Arquitectura Mule Conceptos Mule Ejemplo/Demo Herramientas Mule
◦ MuleHQ◦ MuleIDE
Agenda
![Page 3: Mule ESB](https://reader033.vdocuments.co/reader033/viewer/2022061211/5492d3dbac7959412e8b46f5/html5/thumbnails/3.jpg)
¿Qué es Mule?
![Page 4: Mule ESB](https://reader033.vdocuments.co/reader033/viewer/2022061211/5492d3dbac7959412e8b46f5/html5/thumbnails/4.jpg)
Framework de Integración y plataforma de mensajería Open Source.
Estadísticas(desde 1.0)◦ Más de 1,000,000 de descargas◦ Más de 2,500 desarrolladores en lista de usuarios.◦ Más de 2,000 despliegues en producción.◦ Más de 10 millones de vistas del web page, entre
otros.
Información Mule
![Page 5: Mule ESB](https://reader033.vdocuments.co/reader033/viewer/2022061211/5492d3dbac7959412e8b46f5/html5/thumbnails/5.jpg)
Descripción General
![Page 6: Mule ESB](https://reader033.vdocuments.co/reader033/viewer/2022061211/5492d3dbac7959412e8b46f5/html5/thumbnails/6.jpg)
Soporta una variedad de topología de servicios incluyendo ESB.
Altamente escalable; usando SEDA modelo de eventos. Asíncrono, Síncrono y Request/Response de
mensajería. Soporte J2EE: JBI, JMS, EJB, JCA, JTA, Servlet. Potentes capacidades de enrutamiento de eventos. Amplitud de conectividad (Más de 60 tecnologías). Distribución tranparente. Transacciones: Local y Distribuido(XA). Tolerancia a fallos; Gestión de excepciones- Seguridad; Authentication/Authorization.
SOA Navaja Suiza
![Page 7: Mule ESB](https://reader033.vdocuments.co/reader033/viewer/2022061211/5492d3dbac7959412e8b46f5/html5/thumbnails/7.jpg)
No hay formato de mensaje prescrito◦ XML, CSV, Binary, Streams, Record, Java Objects. Mezclar
y combinar. Cero código de intrusión
◦ Mule no impone un API en objetos de servicio◦ Los Objetos son totalmente portables
Existencia de objetos que pueden ser manejados◦ POJOs, IoC Objects, EJB Session Beans, Remote Objects◦ REST Web Services
Fácil de testear◦ Mule puede ser facilmente ejecutado desde Junit test
case.◦ El Framework provee un kit compatible de Test
¿Porque elegir Mule?
![Page 8: Mule ESB](https://reader033.vdocuments.co/reader033/viewer/2022061211/5492d3dbac7959412e8b46f5/html5/thumbnails/8.jpg)
Arquitectura de componentes Mule
![Page 9: Mule ESB](https://reader033.vdocuments.co/reader033/viewer/2022061211/5492d3dbac7959412e8b46f5/html5/thumbnails/9.jpg)
Configuración en XML◦ Schema no en DTD◦ Configuración específica de Endpoint◦ IDE/Editor amigable, finalización de código
Configuración Java Endpoint para enlaces Java
◦ Metodo asociado a llamadas Endpoint Registro de configuración Mejora de manipulación de Mensajes
◦ Streaming◦ Transformation
Características de configuración
![Page 10: Mule ESB](https://reader033.vdocuments.co/reader033/viewer/2022061211/5492d3dbac7959412e8b46f5/html5/thumbnails/10.jpg)
Arquitectura de Nodos Mule
![Page 11: Mule ESB](https://reader033.vdocuments.co/reader033/viewer/2022061211/5492d3dbac7959412e8b46f5/html5/thumbnails/11.jpg)
Tecnologías Soportadas
![Page 12: Mule ESB](https://reader033.vdocuments.co/reader033/viewer/2022061211/5492d3dbac7959412e8b46f5/html5/thumbnails/12.jpg)
Usa Spring2.x para manejar Namespace Cada modulo tiene su propio Namespace Cada modulo puede definir configuración personalizada
◦ Mule provee un framework para ayudar con consistencia Los Spring Beans pueden ser fácilmente embebidos
◦ Sin problemas para mezclar objectos◦ Objetos desde otros contenedores también son soportados
Seasar Hivemind PicoContainer
Soporta AOP◦ Puede asesorar configuración de objetos
Puede ser usado Spring DAO y JDBC
Configuración XML
![Page 13: Mule ESB](https://reader033.vdocuments.co/reader033/viewer/2022061211/5492d3dbac7959412e8b46f5/html5/thumbnails/13.jpg)
No hay nombres de clases Las propiedades son definidas en el
esquema Validación de valor de las propiedades Los namespaces definen los modulos al ser
usados
Configuración Mule 2
![Page 14: Mule ESB](https://reader033.vdocuments.co/reader033/viewer/2022061211/5492d3dbac7959412e8b46f5/html5/thumbnails/14.jpg)
Usando diferentes módulos (namespaces)
![Page 15: Mule ESB](https://reader033.vdocuments.co/reader033/viewer/2022061211/5492d3dbac7959412e8b46f5/html5/thumbnails/15.jpg)
1. Services 2. Endpoints and Transport Providers 3. Inbound 4. Outbound 5. Transformers 7. Service Manager
Conceptos Mule
![Page 16: Mule ESB](https://reader033.vdocuments.co/reader033/viewer/2022061211/5492d3dbac7959412e8b46f5/html5/thumbnails/16.jpg)
En Mule pueden ser objetos - POJOs, EJBs, Remote Objects, WS/REST Services.
Configurado en XML. Mule maneja hilos, Pool y recursos de
administración via JMX.
Services
![Page 17: Mule ESB](https://reader033.vdocuments.co/reader033/viewer/2022061211/5492d3dbac7959412e8b46f5/html5/thumbnails/17.jpg)
Se utiliza para conectar los componentes y sistemas externos
Endpoints usa una URI para acceder. Pueden tener transformer, transaction,
filter, security y meta-information asociada. Existen dos tipos de URI
scheme://[username][:password]@[host][:port]?[params]
smtp://ross:pass@localhost:25 scheme://[address]?[params]
jms://my.queue?persistent=true
Endpoints
![Page 18: Mule ESB](https://reader033.vdocuments.co/reader033/viewer/2022061211/5492d3dbac7959412e8b46f5/html5/thumbnails/18.jpg)
Controla los eventos que son enviados y recibidos. Se puede modelar todos los patrones de enrutamiento
definido en el libro EIP. Inbound Routers
Idempotency Selective Consumers Re-sequencing Message aggregation
Outbound Routers Message splitting / Chunking Content-based Routing Broadcasting Rules-based routing Load Balancing
Routers
![Page 19: Mule ESB](https://reader033.vdocuments.co/reader033/viewer/2022061211/5492d3dbac7959412e8b46f5/html5/thumbnails/19.jpg)
Ejemplo; Amulzon Bookstore
![Page 20: Mule ESB](https://reader033.vdocuments.co/reader033/viewer/2022061211/5492d3dbac7959412e8b46f5/html5/thumbnails/20.jpg)
AlmuzonService es un POJO que implementa BookstoreService
Código del servicio
La implementacion (El POJO puede ser manejado por Mule)
![Page 21: Mule ESB](https://reader033.vdocuments.co/reader033/viewer/2022061211/5492d3dbac7959412e8b46f5/html5/thumbnails/21.jpg)
Order.class◦ Payment Details◦ Customer Details◦ Ordered Items
ProcessedOrder.class
Objetos de dominio son los mensajes
![Page 22: Mule ESB](https://reader033.vdocuments.co/reader033/viewer/2022061211/5492d3dbac7959412e8b46f5/html5/thumbnails/22.jpg)
Configurando Almuzon Bookstore
![Page 23: Mule ESB](https://reader033.vdocuments.co/reader033/viewer/2022061211/5492d3dbac7959412e8b46f5/html5/thumbnails/23.jpg)
Exponiendo como un Servicio Web
![Page 24: Mule ESB](https://reader033.vdocuments.co/reader033/viewer/2022061211/5492d3dbac7959412e8b46f5/html5/thumbnails/24.jpg)
Exponiendo como un Servicio Web
![Page 25: Mule ESB](https://reader033.vdocuments.co/reader033/viewer/2022061211/5492d3dbac7959412e8b46f5/html5/thumbnails/25.jpg)
Llamando a otro servicio
![Page 26: Mule ESB](https://reader033.vdocuments.co/reader033/viewer/2022061211/5492d3dbac7959412e8b46f5/html5/thumbnails/26.jpg)
JMS con ActiveMQ y Mule. Servicio Web con Xfire y Mule. Iniciando servicios mediante Quartz y HTTP.
Demo
![Page 27: Mule ESB](https://reader033.vdocuments.co/reader033/viewer/2022061211/5492d3dbac7959412e8b46f5/html5/thumbnails/27.jpg)
Monitorea el estado de tus servidores y servicios
Vistas y gráficos de estadísticas para recursos y eventos Mule durante el tiempo.
Auto inventario de servidores y servicios.
Alertas personalizadas para algunos eventos en Mule incluyendo Excepciones, fallas de conexiones y seguridad.
Control total JMX.
MuleQH
![Page 28: Mule ESB](https://reader033.vdocuments.co/reader033/viewer/2022061211/5492d3dbac7959412e8b46f5/html5/thumbnails/28.jpg)
MuleHQ Dashboard
![Page 29: Mule ESB](https://reader033.vdocuments.co/reader033/viewer/2022061211/5492d3dbac7959412e8b46f5/html5/thumbnails/29.jpg)
Basado en Eclipse IDE
Asistente de proyecto Mule
Configuración Drag and Drop
Editor gráfico extensible
Mule IDE 2.x Eclipse
![Page 30: Mule ESB](https://reader033.vdocuments.co/reader033/viewer/2022061211/5492d3dbac7959412e8b46f5/html5/thumbnails/30.jpg)
![Page 31: Mule ESB](https://reader033.vdocuments.co/reader033/viewer/2022061211/5492d3dbac7959412e8b46f5/html5/thumbnails/31.jpg)
![Page 32: Mule ESB](https://reader033.vdocuments.co/reader033/viewer/2022061211/5492d3dbac7959412e8b46f5/html5/thumbnails/32.jpg)
Referencias
http://www.mulesoft.orghttp://www.mulesoft.org/display/MULE2INTRO/Examples
![Page 33: Mule ESB](https://reader033.vdocuments.co/reader033/viewer/2022061211/5492d3dbac7959412e8b46f5/html5/thumbnails/33.jpg)
¿Preguntas?