1 / 33

ESB

ESB. Víctor Cabrera Cañizares. ESB. Enterprise Service Bus. Un ESB nos ofrece todas las herramientas y la infraestructura necesarias para construir un SOA (Service Oriented Architectures).

hagen
Download Presentation

ESB

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ESB Víctor Cabrera Cañizares

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

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

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

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

  6. Implementaciones Open Source Celtix Mule Service Mix

  7. Celtix

  8. Celtix ------ Componentes principales -------

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

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

  11. 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 Celtix ------ Plugins e Interceptores -------

  12. 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 Celtix ------ Plugins e Interceptores -------

  13. Celtix ------ Componentes cliente -------

  14. Celtix ------ Componentes cliente ------- • 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

  15. Celtix ------ Componentes servidor -------

  16. Servant • Objeto que implementa un servicio WSDL • La relación entre un objeto servant y un servicio WSDL es flexible Celtix ------ Componentes servidor -------

  17. Celtix ------ Ejemplo (RequestHandling ) -------

  18. Celtix ------ Ejemplo (RequestHandling ) -------

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

  20. Celtix ------ Trabajos futuros ------- • Solución 2: Desarrollo de componentes Celtix dentro de un entorno JBI

  21. Celtix ------ Trabajos futuros ------- • Integración JBI 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

  22. Mule

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

  24. Mule

  25. Mule ------ Arquitectura ------- • Mule Manager • Su objetivo es gestionar los objetos: • Conectores • Endpoints • Transformadores • Proporciona servicios al Mule Model y los componentes que éste maneja

  26. Mule ------ Arquitectura ------- • Mule Model • Contenedor de los componentes • Controla el flujo de mensajes desde/hacia los componentes • Maneja hilos • Basado en SEDA (staged event-driven architecture)

  27. Mule ------ Arquitectura ------- • 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.

  28. Mule ------ Arquitectura ------- • 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

  29. Mule ------ Arquitectura ------- • Componente UMO

  30. Mule ------ Arquitectura ------- • Componente UMO Ciclo de vida

  31. Mule ------ Interceptores -------

  32. Service Mix

  33. Bibliografía Celtix -> https://wiki.objectweb.org/celtix ServiceMix -> http://www.servicemix.org Mule -> http://mule.codehaus.org/ Para descargar: ServiceMix -> http://www.servicemix.org/Download Mule -> http://mule.codehaus.org/Download Celtix -> http://forge.objectweb.org/project/showfiles.php?group_id=192

More Related