Title: ESB
1ESB
VĂctor Cabrera Cañizares
2ESB
Enterprise Service Bus
Un ESB nos ofrece todas las herramientas y la
infraestructura necesarias para construir un SOA
(Service Oriented Architectures)
Es la plataforma que brinda los servicios de
enrutamiento y transformaciĂłn de mensajerĂa para
la arquitectura SOA
Problemas de interoperabilidad entre
implementaciones de distintos fabricantes
3ESB
- También conocido como message broker.
- Es un estándar abierto basado en mensajerĂa
sĂncrona o asĂncrona como elemento middleware,
que proporciona interoperabilidad segura entre
aplicaciones de empresa por medio de XML,
interfaces de Servicios Web y reglas de
enrutamiento estandarizado de documentos. - MĂ©todo unificado de interactividad con formato
de datos de fuentes dispares. - El diseño multilenguaje y multiplataforma de un
ESB permite a las empresas procesar datos entre
aplicaciones de varias fuentes. - J2EE y .NET.
4ESB
Funciones clave
- TransformaciĂłn La capacidad de transformar
documentos de un formato de datos a otro de modo
que el grupo receptor pueda hacer uso de la
interfaz con los datos en un formato de
aplicaciĂłn diferente del que se enviĂł. - Enrutamiento La habilidad para enrutar
mensajes. - Portabilidad La capacidad de compartir los
datos entre diferentes sistemas y entornos de
operaciĂłn. - Balanceo de carga / agrupamiento (Load
balancing/clustering) La capacidad de distribuir
procesamiento entre varios dispositivos para que
ninguno se sobrecargue. - Failover La capacidad para transferir funciones
de mensajerĂa hacia otro servidor si falla uno de
ellos durante el intercambio de datos.
5ESB
Propiedades
- Distribuido Para eliminar restricciones
geográficas. - Basado en mensajes Para proporcionar loose
coupling. - Estándar abierto Para preservar inversión y
fomentar la participaciĂłn.
6Implementaciones Open Source
Celtix
Mule
Service Mix
7Celtix
8Celtix
------ Componentes principales -------
9Celtix
10Celtix
- Permite el envĂo eficiente de peticiones y
mensajes de respuesta - Proporciona un Workqueue y un pool de hilos para
el envĂo concurrente de mensajes
- Celtix parsea un contrato WSDL y crea un modelo
WSDL con el árbol resultante - Este modelo es importante para proporcionar un
acceso eficiente en tiempo de ejecuciĂłn a los
datos WSDL - Permite cambiar atributos en tiempo de ejecuciĂłn
11Celtix
------ Plugins e Interceptores -------
12Celtix
------ Plugins e Interceptores -------
13Celtix
------ Componentes cliente -------
14Celtix
------ Componentes cliente -------
- Expone las mismas operaciones que aquellas
definidas en un WSDL type port - El cliente proxy actĂşa como un sustituto
(stand-in) del objeto remoto que en realidad hace
el trabajo (el servicio remoto WSDL)
- Celtix aĂşn no lo ha definido
15Celtix
------ Componentes servidor -------
16Celtix
------ Componentes servidor -------
17Celtix
------ Ejemplo (RequestHandling ) -------
18Celtix
------ Ejemplo (RequestHandling ) -------
19Celtix
------ Trabajos futuros -------
- Mantiene aĂşn en desarrollo la integraciĂłn entre
Celtix y JBI - SoluciĂłn 1 Desarrollo de componentes JBI dentro
de un contenedor Celtix
20Celtix
------ Trabajos futuros -------
- SoluciĂłn 2 Desarrollo de componentes Celtix
dentro de un entorno JBI
21Celtix
------ Trabajos futuros -------
JBI (Java Business Integration), Service Engines
(SE) y Binding Components (BC). Los SEs
proporcionan lĂłgica de negocio y servicio de
transformaciones. Los BCs proporcionan
conectividad para aplicaciones que son externas
al JBI
22Mule
23Mule
- El canal puede tener cualquier método de
comunicaciĂłn de datos entre dos puntos. - El recibidor de mensajes se usa para leer o
recibir datos desde una aplicaciĂłn. - El conector entiende cĂłmo enviar y recibir datos
sobre un canal particular. - El transformador se usa para transformar
formatos de mensajes. - El inbound router se puede usar para controlar
cómo y qué eventos son recibidos por un
componente UMO. - El componente UMO es el que procesa la orden.
- El outbound router se usa para publicar
mensajes/eventos.
24Mule
25Mule
------ Arquitectura -------
- Su objetivo es gestionar los objetos
- Conectores
- Endpoints
- Transformadores
- Proporciona servicios al Mule Model y los
componentes que Ă©ste maneja
26Mule
------ Arquitectura -------
- Contenedor de los componentes
- Controla el flujo de mensajes desde/hacia los
componentes - Maneja hilos
- Basado en SEDA (staged event-driven architecture)
27Mule
------ Arquitectura -------
- Es responsable del mantenimiento de las
instancias UMO y su configuración. - Hospeda uno o más componentes UMO.
- Encapsula y controla el comportamiento de una
instancia de servidor Mule en tiempo de
ejecución. - El EntryPointResolver se usa para determinar qué
método invocar en un componente UMO cuando se
recibe un evento.
28Mule
------ Arquitectura -------
- UMO Universal Message Object
- Son componentes autĂłnomos simples
- EnvĂa/Recibe eventos hacia/desde cualquier otro
UMO - Ejecuta lĂłgica de negocio sobre un evento de
llegada
29Mule
------ Arquitectura -------
30Mule
------ Arquitectura -------
Ciclo de vida
31Mule
------ Interceptores -------
32Service Mix
33BibliografĂa
Celtix -gt https//wiki.objectweb.org/celtix Servic
eMix -gt http//www.servicemix.org Mule -gt
http//mule.codehaus.org/
Para descargar
ServiceMix -gt http//www.servicemix.org/Download M
ule -gt http//mule.codehaus.org/Download Celtix
-gt http//forge.objectweb.org/project/showfiles.ph
p?group_id192