Java Business Integration ( JBI ) es una especificación desarrollada en el marco del 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. Los autores de la propuesta eliminaron la JSR 312 del proceso de votación del JCP el 17 de diciembre de 2010 sin que fuera aceptada.
JBI se basa en un modelo de servicios web y proporciona una arquitectura conectable para un contenedor que aloja componentes de productores y consumidores de servicios. Los servicios se conectan al contenedor a través de 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 . El mecanismo central de entrega de mensajes, el enrutador de mensajes normalizado (NMR), entrega mensajes normalizados a través de uno de los cuatro patrones de intercambio de mensajes (MEP), tomados de WSDL 2.0:
Para gestionar la funcionalidad relacionada con la instalación, la implementación, la supervisión y el ciclo de vida entre los BC y los SE, se utiliza Java Management Extensions (JMX). JBI define un empaquetado estandarizado para los BC y los SE, lo que permite que los componentes sean portables a cualquier implementación de JBI sin modificaciones.
JBI define un empaquetado estándar para aplicaciones compuestas: aplicaciones que se componen de consumidores y proveedores de servicios. Las unidades de servicio individuales se pueden implementar en componentes; los grupos de unidades de servicio se agrupan en un conjunto de servicios. El conjunto de servicios incluye metadatos para "conectar" las unidades de servicio entre sí (asociar proveedores y consumidores de servicios), así como para conectar las unidades de servicio a servicios externos. Esto proporciona un mecanismo simple para realizar el ensamblaje de aplicaciones compuestas utilizando servicios. [1]
Están disponibles las siguientes implementaciones de ESB basadas en JBI de software de código abierto :
Los siguientes ESB están certificados por JBI/JSR 208 TCK: Open ESB y Petals ESB .
Además, el servidor de aplicaciones Java EE de código abierto Project GlassFish viene con 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 viene con implementación JBI. [ cita requerida ]
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.
El proyecto Open JBI Components en java.net es un proyecto de incubación iniciado para fomentar el desarrollo basado en la comunidad de componentes JBI que se ajusten a la especificación Java Business Integration (JSR 208).