esb víctor cabrera cañizares. enterprise service bus esb un esb nos ofrece todas las herramientas...

33
ESB Víctor Cabrera Cañizares

Upload: marcelina-abrego

Post on 28-Jan-2016

231 views

Category:

Documents


0 download

TRANSCRIPT

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: