Java Business Integration ( JBI ) は、Java Community Process (JCP) の下で開発された、サービス指向アーキテクチャ(SOA)を実装するための仕様です。JCP の参照は、JBI 1.0 の場合は JSR 208、JBI 2.0 の場合は JSR 312 です。JSR 312 は、2010 年 12 月 17 日に提出者によって JCP の投票プロセスから削除されましたが、承認されませんでした。
JBIはWebサービスモデルに基づいて構築されており、サービスプロデューサーおよびコンシューマーコンポーネントをホストするコンテナのプラグイン可能なアーキテクチャを提供します。サービスはバインディングコンポーネント(BC)を介してコンテナに接続するか、サービスエンジン(SE)の一部としてコンテナ内にホストできます。使用されるサービスモデルはWebサービス記述言語2.0です。中央メッセージ配信メカニズムである正規化メッセージルーター(NMR)は、WSDL 2.0から取得した4つのメッセージ交換パターン(MEP)のいずれかを介して正規化されたメッセージを配信します。
BC(ビジネスコンポーネント)とSE(システムエンジニア)間のインストール、デプロイ、監視、ライフサイクル管理といった機能に対応するために、Java Management Extensions(JMX)が使用されます。JBI(Java Business Interface)はBCとSEの標準化されたパッケージングを定義しており、コンポーネントを修正することなくあらゆるJBI実装に移植できます。
JBIは、サービスコンシューマーとサービスプロバイダで構成される複合アプリケーションの標準パッケージングを定義します。個々のサービスユニットはコンポーネントにデプロイ可能であり、サービスユニットのグループはサービスアセンブリにまとめられます。サービスアセンブリには、サービスユニット同士を「配線」(サービスプロバイダとコンシューマーの関連付け)するためのメタデータ、およびサービスユニットを外部サービスに配線するためのメタデータが含まれます。これにより、サービスを使用して複合アプリケーションアセンブリを実行するためのシンプルなメカニズムが提供されます。[ 1 ]
以下のオープンソースソフトウェアによるJBIベースのESB実装が利用可能です。
以下のESBはJBI/JSR 208 TCKによって認証されています:Open ESBおよびPetals ESB。
さらに、オープンソースのJava EEアプリケーションサーバーであるProject GlassFishには、Open ESBプロジェクトのJBIランタイムが付属しています。
Java EE SDKには、JBIランタイムとBPELオーケストレーションエンジンも含まれています。
Oracleは、Fusion MiddlewareにはJBIの実装が含まれていると主張している。
TIBCO ActiveMatrix Service Gridは、JSR 208およびSCA仕様(サービスコンポーネントアーキテクチャ)に基づいたサービスコンテナフレームワークを提供し、共通の基盤上に複合アプリケーションとして、必要に応じてサービスコンテナ(Java、Java EE、.NET、BPEL)を追加できるようにします。
java.net 上の Open JBI Components プロジェクトは、Java Business Integration 仕様 (JSR 208) に準拠した JBI コンポーネントのコミュニティベースの開発を促進するために開始されたインキュベーター プロジェクトです。