ESB Víctor Cabrera Cañizares. Enterprise Service Bus ESB Un ESB nos ofrece todas las herramientas...

33
ESB Víctor Cabrera Cañizares

Transcript of ESB Víctor Cabrera Cañizares. Enterprise Service Bus ESB Un ESB nos ofrece todas las herramientas...

Page 1: ESB Víctor Cabrera Cañizares. Enterprise Service Bus ESB Un ESB nos ofrece todas las herramientas y la infraestructura necesarias para construir un SOA.

ESB

Víctor Cabrera Cañizares

Page 2: ESB Víctor Cabrera Cañizares. Enterprise Service Bus ESB Un ESB nos ofrece todas las herramientas y la infraestructura necesarias para construir un SOA.

Enterprise Service Bus

ESB

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

Page 3: ESB Víctor Cabrera Cañizares. Enterprise Service Bus ESB Un ESB nos ofrece todas las herramientas y la infraestructura necesarias para construir un SOA.

ESB

-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.

Page 4: ESB Víctor Cabrera Cañizares. Enterprise Service Bus ESB Un ESB nos ofrece todas las herramientas y la infraestructura necesarias para construir un SOA.

ESB

-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.

Funciones clave

Page 5: ESB Víctor Cabrera Cañizares. Enterprise Service Bus ESB Un ESB nos ofrece todas las herramientas y la infraestructura necesarias para construir un SOA.

ESBPropiedades

1. Distribuido: Para eliminar restricciones geográficas.

2. Basado en mensajes: Para proporcionar loose coupling.

3. Estándar abierto: Para preservar inversión y fomentar la participación.

Page 6: ESB Víctor Cabrera Cañizares. Enterprise Service Bus ESB Un ESB nos ofrece todas las herramientas y la infraestructura necesarias para construir un SOA.

Implementaciones Open Source

Celtix

Mule

Service Mix

Page 7: ESB Víctor Cabrera Cañizares. Enterprise Service Bus ESB Un ESB nos ofrece todas las herramientas y la infraestructura necesarias para construir un SOA.

Celtix

Page 8: ESB Víctor Cabrera Cañizares. Enterprise Service Bus ESB Un ESB nos ofrece todas las herramientas y la infraestructura necesarias para construir un SOA.

Celtix------ Componentes principales -------

Page 9: ESB Víctor Cabrera Cañizares. Enterprise Service Bus ESB Un ESB nos ofrece todas las herramientas y la infraestructura necesarias para construir un SOA.

Celtix• Configuration Service

- Ofrece a los componentes Celtix recuperar datos de configuración sin saber cómo y dónde están almacenados

• Plugin Manager

- Permite que los plugins se auto-registren al ser cargados

- Realiza la carga de plugins dinámicamente

• Binding Manager

- Un binding, en el contexto, referencia a la cadena de componentes a través de las cuales un mensaje pasa desde el cliente hasta el servidor

- El Binding Manager es el responsable de montar los componentes en un binding y linkarlos en una cadena

Page 10: ESB Víctor Cabrera Cañizares. Enterprise Service Bus ESB Un ESB nos ofrece todas las herramientas y la infraestructura necesarias para construir un SOA.

Celtix• Dispatcher/Workqueue

- 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

• WSDL Model

- 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

Page 11: ESB Víctor Cabrera Cañizares. Enterprise Service Bus ESB Un ESB nos ofrece todas las herramientas y la infraestructura necesarias para construir un SOA.

------ Plugins e Interceptores -------

Celtix

• Transport plugins

- Permite integrar Celtix con cualquier clase de transporte

- El framework para implementar un transporte Celtix debe ser flexible y hacer el mínimo de suposiciones sobre el tipo y transporte subyacente

• Request-Level Interceptors

- Permite acceder o modificar el contenido de una petición o un mensaje de respuesta

- Proporciona acceso a mensajes en un formato de relativo alto nivel

- Útiles para la lectura y escritura de cabeceras de mensajes

Page 12: ESB Víctor Cabrera Cañizares. Enterprise Service Bus ESB Un ESB nos ofrece todas las herramientas y la infraestructura necesarias para construir un SOA.

------ Plugins e Interceptores -------

Celtix

• Message-Level Interceptors

- Proporciona acceso a mensajes en un formato de bajo nivel

- Útiles para ciertas tareas como codificación o compresión de mensajes

Page 13: ESB Víctor Cabrera Cañizares. Enterprise Service Bus ESB Un ESB nos ofrece todas las herramientas y la infraestructura necesarias para construir un SOA.

------ Componentes cliente -------

Celtix

Page 14: ESB Víctor Cabrera Cañizares. Enterprise Service Bus ESB Un ESB nos ofrece todas las herramientas y la infraestructura necesarias para construir un SOA.

------ Componentes cliente -------

Celtix

• Cliente Proxy

- 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)

• Plugin cliente genérico

- Celtix aún no lo ha definido

Page 15: ESB Víctor Cabrera Cañizares. Enterprise Service Bus ESB Un ESB nos ofrece todas las herramientas y la infraestructura necesarias para construir un SOA.

------ Componentes servidor -------

Celtix

Page 16: ESB Víctor Cabrera Cañizares. Enterprise Service Bus ESB Un ESB nos ofrece todas las herramientas y la infraestructura necesarias para construir un SOA.

------ Componentes servidor -------

Celtix

• Servant

- Objeto que implementa un servicio WSDL

- La relación entre un objeto servant y un servicio WSDL es flexible

Page 17: ESB Víctor Cabrera Cañizares. Enterprise Service Bus ESB Un ESB nos ofrece todas las herramientas y la infraestructura necesarias para construir un SOA.

------ Ejemplo (RequestHandling ) -------Celtix

Page 18: ESB Víctor Cabrera Cañizares. Enterprise Service Bus ESB Un ESB nos ofrece todas las herramientas y la infraestructura necesarias para construir un SOA.

------ Ejemplo (RequestHandling ) -------Celtix

Page 19: ESB Víctor Cabrera Cañizares. Enterprise Service Bus ESB Un ESB nos ofrece todas las herramientas y la infraestructura necesarias para construir un SOA.

Celtix

•Mantiene aún en desarrollo la integración entre Celtix y JBI

-Solución 1: Desarrollo de componentes JBI dentro de un contenedor Celtix

------ Trabajos futuros -------

Page 20: ESB Víctor Cabrera Cañizares. Enterprise Service Bus ESB Un ESB nos ofrece todas las herramientas y la infraestructura necesarias para construir un SOA.

Celtix

-Solución 2: Desarrollo de componentes Celtix dentro de un entorno JBI

------ Trabajos futuros -------

Page 21: ESB Víctor Cabrera Cañizares. Enterprise Service Bus ESB Un ESB nos ofrece todas las herramientas y la infraestructura necesarias para construir un SOA.

Celtix------ 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

• Integración JBI

Page 22: ESB Víctor Cabrera Cañizares. Enterprise Service Bus ESB Un ESB nos ofrece todas las herramientas y la infraestructura necesarias para construir un SOA.

Mule

Page 23: ESB Víctor Cabrera Cañizares. Enterprise Service Bus ESB Un ESB nos ofrece todas las herramientas y la infraestructura necesarias para construir un SOA.

Mule

- 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.

Page 24: ESB Víctor Cabrera Cañizares. Enterprise Service Bus ESB Un ESB nos ofrece todas las herramientas y la infraestructura necesarias para construir un SOA.

Mule

Page 25: ESB Víctor Cabrera Cañizares. Enterprise Service Bus ESB Un ESB nos ofrece todas las herramientas y la infraestructura necesarias para construir un SOA.

------ Arquitectura -------

Mule

• Mule Manager

Su objetivo es gestionar los objetos:- Conectores- Endpoints- Transformadores

Proporciona servicios al Mule Model y los componentes que éste maneja

Page 26: ESB Víctor Cabrera Cañizares. Enterprise Service Bus ESB Un ESB nos ofrece todas las herramientas y la infraestructura necesarias para construir un SOA.

------ Arquitectura -------

Mule

• Mule Model

- Contenedor de los componentes

- Controla el flujo de mensajes desde/hacia los componentes

- Maneja hilos

- Basado en SEDA (staged event-driven architecture)

Page 27: ESB Víctor Cabrera Cañizares. Enterprise Service Bus ESB Un ESB nos ofrece todas las herramientas y la infraestructura necesarias para construir un SOA.

------ Arquitectura -------

Mule

• Mule Model

- 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.

Page 28: ESB Víctor Cabrera Cañizares. Enterprise Service Bus ESB Un ESB nos ofrece todas las herramientas y la infraestructura necesarias para construir un SOA.

------ Arquitectura -------

Mule

• Componente UMO

- 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

Page 29: ESB Víctor Cabrera Cañizares. Enterprise Service Bus ESB Un ESB nos ofrece todas las herramientas y la infraestructura necesarias para construir un SOA.

------ Arquitectura -------

Mule

• Componente UMO

Page 30: ESB Víctor Cabrera Cañizares. Enterprise Service Bus ESB Un ESB nos ofrece todas las herramientas y la infraestructura necesarias para construir un SOA.

Mule

• Componente UMO

Ciclo de vida

------ Arquitectura -------

Page 31: ESB Víctor Cabrera Cañizares. Enterprise Service Bus ESB Un ESB nos ofrece todas las herramientas y la infraestructura necesarias para construir un SOA.

------ Interceptores -------

Mule

Page 32: ESB Víctor Cabrera Cañizares. Enterprise Service Bus ESB Un ESB nos ofrece todas las herramientas y la infraestructura necesarias para construir un SOA.

Service Mix

Page 33: ESB Víctor Cabrera Cañizares. Enterprise Service Bus ESB Un ESB nos ofrece todas las herramientas y la infraestructura necesarias para construir un SOA.

Bibliografía

Celtix -> https://wiki.objectweb.org/celtixServiceMix -> http://www.servicemix.orgMule -> http://mule.codehaus.org/

ServiceMix -> http://www.servicemix.org/DownloadMule -> http://mule.codehaus.org/DownloadCeltix -> http://forge.objectweb.org/project/showfiles.php?group_id=192

Para descargar: