Mule ESB

Preview:

Citation preview

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?