Download - Mule ESB
MuleESB: Enterprise Services Bus
Spring Live Perú 2009 – UNMSMJosé Luis Gutiérrez
Enterprise Services Bus• Plataforma de integración centrada en
estándares abiertos• Siguiente generación de las herramientas
EAI• Centrado en la naturaleza sincronica de
los servicios y asincrónica de los eventos.
• Combina los paradigmas:▫ SOA : Services Oriented Architecture
▫ EDA : Event Driven Architecture
• Implementa interfaces estandarizadas para proveer comunicación, conectividad, transformación, portabilidad y seguridad.
Un de las tantas definiciones de la industria…
The Enterprise Service Bus is a simple way to do
integration within a Service Oriented Architecture
ESB en un entorno de Ejecución
Enterprise Service Bus (ESB)
Aplicación
J2EE SAP Siebel /
PeopleSotAplicación
.NET Aplicación
AS/400Aplicación
HTML
Servicios de negocio
Conectores técnicos
Sistema Atención al cliente
Sistema de facturación
JMSCORBA
RMI SOAP
Mule ESB
¿Que es Mule ESB?• Mule es un framework ligero
de mensajería basado en el manejo de eventos.
• Desarrollado para ambientes altamente escalables SEDA.
• Arquitectura basada en Enterprise Service Network.
• Posee canales de comunicación llamado Endpoints.
• Control de flujo de mensajes: Inbound, Outbound, Response, routers, Filters, etc.
Objetivos de Mule
•Acelerar la integración de sistemas heterogéneos.
•Exponer Componentes sobre múltiples transportes.
•Incentivar el reuso de las aplicaciones existentes.
•Disponibilizar de aplicaciones asíncronas.
Topologías SOA
Enterprise Service Bus
Client/Server and Hub n' Spoke
Peer Network
Pipeline
Enterprise Service Network
Conceptos Mule1. Service Components2. Endpoints and Transport Providers3. Inbound routers4. Outbound routers5. Transformers6. Service Manager
Services Components
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.
Endpoints 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
Routers 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
Transformers
Transformers Covierte datos de un formato hacia otro.
<jms:object-to-jms name="XmlToJms"/>
<custom-transformer name="CobolXmlToBusXml" class="com.myco.trans.CobolXmlToBusXml"/>
<endpoint address="jms://trades" transformers="CobolXmlToBusXml, XmlToJms"/>
Tecnologías Soportadas
Mule Flujo de mensaje
Mule Concepto básico
Demos
- JMS con ActiveMQ y Mule.- Servicio Web con Xfire y Mule.- Iniciando servicios mediante Quartz y HTTP.
Conclusiones
• ESB es la piedra angular que desde hace varios años hemos estado buscando al interior de las organizaciones como el corazón bombeador de datos e información al todo el ecosistema de aplicaciones de negocio; gracias a su modelo de publicacion de servicios de negocio accesibles desde un enfoque multiprotocolo, y adaptación nativa hacia las plataformas de negocio de la organización ( ERP, CRM, Mainframe, N-tier)
• El mercado esta llendo hacia modelos de integración no-intrusivos y a bajo costos; es decir; hacia modelos de integración orientado a servicios.
• Es prácticamente imposible disponer de un modelo único de datos ó plataforma única de aplicaciones. Esta dos fuerzas motivan centrar la organización en una solida plataforma de integración basada en servicios.
Referencias
http://www.mulesource.org
¿Preguntas?