第2章 JBoss Enterprise Service Bus

2.1. Rosetta

JBoss Enterprise SOA Platform の中心は、過去数年間、基幹サイトで商業的にデプロイされている ESB (Enterprise Service Bus) である Rosetta です。これらのデプロイメントには、高度に異機種混合な環境が含まれます。このような例として z/OS、DB2、および Oracle データベースが実行されている IBM メインフレーム、Windows および Linux サーバー、広範なサードパーティアプリケーション、企業の IT インフラストラクチャーの外部にあるサードパーティサービスなどがあります。

注記

以下の図ではプロセッサークラスは、イベントのトリガー時に処理を担当する Rosetta のコア内のアクションクラス群を参照します。
Rosetta

図2.1 Rosetta

様々な理由から、異種環境のアプリケーション、サービス、コンポーネントを相互運用させる場合もあります。例えば、新規デプロイメント内でレガシーシステムを活用するなどです。さらに、このようなエンティティ間のインターラクションは、同期または非同期で行われます。多くのエンタープライズサービスバス(ESB) では、Rosetta が開発されこのようなデプロイメントも容易化されました。さらに、以下の機能を持つツールセットやインフラストラクチャーを提供します。
  • さまざまなトランスポートのメカニズムで動作させる設定が簡単に行えます (email や JMS など)。
  • 汎用目的のオブジェクトリポジトリを提供します。
  • プラグ可能なデータ変換のメカニズムを実現します。
  • インタラクションのロギングに対応します。

重要

JBossESB ソース内には org.jboss.internal.soa.esborg.jboss.soa.esb の 2 つのツリーがあります。 コンテンツは予告なしに変更されるため、org.jboss.internal.soa.esb パッケージ内にあるものはすべてその使用を制限してください。org.jboss.soa.esb は、Red Hat の廃止予定ポリシーの範囲となります。

2.2. JBoss Enterprise Service Bus のコア: 概要

Rosetta は 4 つのアーキテクチャコンポーネント上に構築されます。
  1. メッセージリスナーメッセージフィルタリングコード。メッセージリスナーは、受信メッセージをリッスンするルーターとしての役割を果たします (JMS キューやトピック、ファイルシステム上にあるメッセージ)。その後、メッセージをフィルタリングして、別のメッセージエンドポイントにルーティングする (送信ルーター経由) 処理パイプラインに渡します。
  2. SmooksAction プロセッサー経由のデータ変換コンポーネント (この件に関する詳細は、サービスガイドの「メッセージ変換」の章を参照)
  3. コンテンツベースルーティングサービス (この件に関する詳細は、サービスガイドの「コンテンツベースルーティングとは」の章を参照)
  4. ESB 内で交換されたメッセージやイベントを保存する際に使用するメッセージリポジトリ (この件に関する詳細は、サービスガイドの「レジストリとは」の章を参照)
これらの機能は本ガイドで後述されているビジネスクラス、アダプター、プロセッサーのセットを通じて提供されます。クライアントとサービス間の交信は JMS やフラットファイルシステム、email などさまざまな手段で対応されます。
JBoss SOA Platform 5.1 には、JBoss Enterprise Data Services (Teiid ベース) が含まれています。EDS は、ESB サービスが JDBC ドライバーまたは Web サービスの形式のままコンシュームできるように、JDBC ドライバーまたは Web サービスとして公開されます。EDS Virtual Database (VDB) の JDBS 接続ストリングは、一般的な JDBC 接続ストリングとは少し違います。VDB の JDBC 接続ストリングの正しい形式は、jdbc:teiid:vdb_name@mm://localhost:31000 です。
詳細は EDS 開発ガイドを参照してください。
以下は、一般的な JBoss Enterprise Service Bus デプロイメントに関する説明です。
一般的なデプロイメント

図2.2 一般的なデプロイメント

注記

(Lightweight Directory Access Protocol (LDAP) サーバーなど) 図にあるコンポーネントは設定オプションとなっています。そのため、初期状態では提供されておらず、上図のプロセッサーおよびアクションの違いは単に着信イベント (メッセージ) が基盤となる ESB を起動して高度なレベルのサービスを呼び出す場合のコンセプトをわかりやすく説明するためのものです。
概要を理解したあとに、様々な JBoss Enterprise Service Bus コンポーネントや、やりとりの方法、SOA ベースアプリケーションの開発に使用する方法など詳細については、本書に後述されていますので、参照してください。

このページには機械翻訳が使用されている場合があります (詳細はこちら)。