Java Business Integration ( JBI ) es una especificación desarrollada bajo el Java Community Process (JCP) para un enfoque de implementación de una arquitectura orientada a servicios (SOA). La referencia del JCP es JSR 208 para JBI 1.0 y JSR 312 para JBI 2.0. JSR 312 fue retirado del proceso de votación del JCP el 17 de diciembre de 2010 por los proponentes sin haber sido aceptado.
JBI se basa en un modelo de servicios web y proporciona una arquitectura modular para un contenedor que aloja componentes productores y consumidores de servicios. Los servicios se conectan al contenedor mediante componentes de enlace (BC) o pueden alojarse dentro del contenedor como parte de un motor de servicios (SE). El modelo de servicios utilizado es el Lenguaje de Descripción de Servicios Web 2.0 (WSDL ). El mecanismo central de entrega de mensajes, el enrutador de mensajes normalizados (NMR), entrega mensajes normalizados mediante uno de los cuatro patrones de intercambio de mensajes (MEP), tomados de WSDL 2.0:
- Solo de entrada : Un intercambio de mensajería unidireccional estándar en el que el consumidor envía un mensaje al proveedor, que solo proporciona una respuesta de estado.
- Robusto de solo entrada : Este patrón es para intercambios de mensajes unidireccionales confiables. El consumidor inicia con un mensaje al que el proveedor responde con un estado. Si la respuesta es un estado, el intercambio se completa; pero si la respuesta es un error, el consumidor debe responder con un estado.
- Intercambio bidireccional estándar: El consumidor inicia con un mensaje, el proveedor responde con un mensaje o un fallo, y el consumidor responde con un estado.
- En Optional-Out : Un intercambio de mensajes bidireccional estándar donde la respuesta del proveedor es opcional.
Para gestionar las funcionalidades relacionadas con la instalación, el despliegue, la monitorización y el ciclo de vida de los BC y SE, se utiliza Java Management Extensions (JMX). JBI define un empaquetado estandarizado para los BC y SE, lo que permite que los componentes sean portables a cualquier implementación de JBI sin necesidad de modificaciones.
JBI define el empaquetado estándar para aplicaciones compuestas: aplicaciones formadas por consumidores y proveedores de servicios. Las unidades de servicio individuales se pueden desplegar en componentes; los grupos de unidades de servicio se agrupan en un conjunto de servicios. Este conjunto incluye metadatos para "conectar" las unidades de servicio (asociando proveedores y consumidores de servicios), así como para conectar las unidades de servicio a servicios externos. Esto proporciona un mecanismo sencillo para realizar el ensamblaje de aplicaciones compuestas mediante servicios. [ 1 ]
Implementaciones de JBI
Las siguientes implementaciones de ESB basadas en JBI de código abierto están disponibles:
- Open ESB
- Pétalos ESB
- Apache ServiceMix
- FUSE ESB (Enterprise ServiceMix) - compatible con JSR 208
- Mule . Si bien no es un contenedor compatible con JBI por sí mismo, Mule ofrece interoperabilidad con contenedores JBI. Existe un proyecto independiente, Mule-JBI, que busca solucionar este problema de compatibilidad con JBI.
Los siguientes ESB están certificados por el JBI/JSR 208 TCK: Open ESB y Petals ESB .
Además, el servidor de aplicaciones Java EE de código abierto Project GlassFish incluye el entorno de ejecución JBI del proyecto Open ESB.
El SDK de Java EE también incluye el entorno de ejecución JBI y un motor de orquestación BPEL .
Oracle afirma que su Fusion Middleware incluye la implementación de JBI.
TIBCO ActiveMatrix Service Grid proporciona un marco de contenedores de servicios, basado en las especificaciones JSR 208 y SCA ( Service Component Architecture ), que permite agregar contenedores de servicios (Java, Java EE, .net, BPEL) según sea necesario, como aplicaciones compuestas sobre una base común.
Componentes JBI existentes
El proyecto Open JBI Components en java.net es un proyecto de incubadora que se inició para fomentar el desarrollo comunitario de componentes JBI que cumplan con la especificación de Java Business Integration (JSR 208).
Libros
Véase también
- Soluciones de bus de servicios empresariales ofrecidas por varios proveedores de plataformas Java .
- Arquitectura de Componentes de Servicio (SCA)
Referencias
- ↑ Diferencia entre C, C++, Python y Java
Enlaces externos
- Especificación JSR 208 en el sitio web de JCP.
- Página JSR 312 en el sitio web de JCP.
- Artículo de Open SOA sobre la relación de JBI con SCA
- Especificación de integración empresarial de Java.
- Plataforma empresarial Java
- Solicitudes de especificación de Java
- Productos relacionados con la arquitectura orientada a servicios