Ir al contenido

Java Business Integration

De Wikipedia, la enciclopedia libre

Esta es una versión antigua de esta página, editada a las 12:03 4 nov 2008 por 213.96.169.27 (discusión). La dirección URL es un enlace permanente a esta versión, que puede ser diferente de la versión actual.

Java Business Integration (JBI) es una especificación desarrollada bajo la Java Community Process (JCP) con el objetivo de implementar una Arquitectura Orientada a Servicio (SOA). La referencia JCP fue la JSR 208 para JBI 1.0 y la JSR 312 for JBI 2.0.

JBI está construido sobre el modelo de los Servicios Web y proporciona una arquitectura en la que los componentes aparecen en forma de plug-in´s conectados a contenedores JBI y actuando como proveedores de servicio o consumidores de servicio, aunque este rol puede intercambiarse o incluso combinarse. Los componentes, según su función pueden ser de dos tipos:

- Service engines (Motores de servicio). Manejan la lógica de negocio. Pueden implementar procesos de negocio, consumir otros servicios, transformaciones de datos, etc.

- Binding components (Componentes de alcance[1]​). Se usan para enviar y recibir mensajes a través de transportes y protocolos particulares, que por tanto nada tienen que ver con la especificación de mensajes de JBI. Pretenden aislar al entorno JBI del heterogéneo exterior, normalizando los mensajes entrantes y denormalizando los mensajes salientes, garantizando que en el interior se trabaje únicamente con mensajes normalizados. Esta funcionalidad permite que JBI pueda alcanzar servicios que no cumplen esta especificación, o al contrario, que sistemas externos puedan consumir servicios JBI de forma transparente.

El modelo usado para describir los servicios, uno de los fundamentos SOA, es Web Services Description Language (WSDL) 2.0. Además se usa el mismo modelo para realizar las invocaciones de servicio. El mecanismo central de gestión de estos mensajes, el Normalized Message Router (NMR), despacha los mensajes normalizados que le llegan, enviándolos al componente adecuado. El hecho de que el NMR actúe como mediador entre los componentes garantiza que el acoplamiento entre ellos sea muy debil, de manera que éstos sólo se preocupan de que el mensaje sea adecuado para el NMR, y por ello simplifican enormemente la interacción entre consumidor y proveedor. La comunicación se realiza mediante uno de los cuatro tipos de patrones de secuencias soportados, los Patrones de Intercamcio de Mensajes, o Message Exchange Patterns (MEPs):

  1. In-Only: El patrón estándar de envío en un solo sentido, donde el consumidor envía un mensaje al proveedor que responde únicamente con el estado (normalmente done).
  2. Robust In-Only: Este patrón consigue una versión más confiable del intercambio en un solo sentido. El consumidor inicia el intercambio con un mensaje al cual el proveedor responde con un estado. Si por el contrario responde con un anuncio de error (un fault), el consumidor debe responder en el estado.
  3. In-Out: El patrón estándar de intercambio de mensajes, con un mensaje en cada sentido. El consumidor inicia con un mensaje, el proveedor responde con un mensaje respuesta o fallo, y el consumidor termina el intercambio con un estado.
  4. In Optional-Out: Patrón similar al In_out, en el que la respuesta del proveedor es opcional.

Para manejar las necesidades de JBI que tienen que ver con la instalación, despliegue, monitorización y control del ciclo de vida de los componentes, se usa el estándar de administración para java, las Java Management eXtensions (JMX). JBI define además la manera en que deben empaquetarse los componentes, permitiéndoles ser utilizados en cualquier implementación de JBI sin realizar ningún cambio sobre ellos.

Implementaciones JBI

Los siguientes son implementaciones open source de ESB basadas en JBI:

Realmente, las implementaciones certificadas por el TCK, el Technology Compatibility Kit, son Sun/Open ESB y OW2/PEtALS.

Además, el proyecto GlassFish, un servidor de aplicaciones Java EE, incorpora el runtime JBI del proyecto Open ESB.En las últimas versiones del SDK Java EE se incluye el runtime JBI y un motor BPEL.

Componentes existentes

El proyecto Open JBI Components acoge desarrollos de componentes JBI que conforman la especificación Java Business Integration (JSR 208).

Libros

Enlaces externos



  1. No he encontrado mejor traducción para este término. En computación normalmente se refiere a conseguir la relación entre un item que se consulta y otro que se da como resultado, como el 'binding' de una variable con su dirección en memoria. En este caso he creido que la palabra 'alcance' sugiere mejor el significado real.