WebSphere® Message Broker によって、情報をメッセージとしてパッケージし、大規模な従来型システムから、パイプライン上のセンサーなどの無人装置までの、さまざまなビジネス・アプリケーション間でやり取りすることができます。
WebSphere Message Broker は、メッセージ・ルーティングとメッセージの変換という 2 つの方法でメッセージを処理します。
メッセージはその内容に基づいて、送信側から受信側にルーティングすることができます。
ユーザーの設計するメッセージ・フローが、メッセージ・ルーティングを制御します。 メッセージ・フローは、着信メッセージに対して実行する操作、およびそれらの実行順序を記述します。
IBM® は、組み込みノード、および多数の共通関数のサンプルを提供しています。 追加の関数が必要な場合には、ユーザー独自のユーザー定義ノードを作成することができます。ユーザー定義拡張機能の概説 を参照してください。
メッセージ・フローは、統合開発環境およびブローカー・ドメイン管理コンソールである Message Brokers Toolkit で作成します。
設計するメッセージ定義は、メッセージ・セット内に作成されます。これには、1 つ以上のメッセージ定義が含まれます。 また、メッセージ・セットは、メッセージ定義をカテゴリー化します。 このカテゴリー化の機能は、XSLT スクリプトを使用して拡張することが可能で、Web サービス記述言語 (WSDL) とその文書の生成に使用されます。メッセージ・カテゴリー を参照してください。
メッセージのルーティングや変換といった作業は、ブローカーで行われます。 ブローカーには、多数の実行グループ (メッセージ・フローが実行されるプロセス) が含まれています。
ブローカーはブローカー・ドメインにグループ化されます。それぞれのドメインは、構成マネージャーによって整合されます。多数のブローカーを単一のドメイン内に存在させることができますが、それぞれは異なるシステム上で稼働させることができます。 複数のブローカーがあると、障害に対する保護を備えるのに役立ち、また 1 つのビジネスにおいて作業をさまざまな部門に分離することができます。
システム管理者は、コマンド行命令によって、構成マネージャー を作成します。構成マネージャーは内部リポジトリーを使用して、そのブローカー・ドメインに関連する情報を保管します。
同様に、システム管理者は 1 つ以上のブローカーを作成し、それぞれを特定の 構成マネージャー にリンクして、その 構成マネージャー によって制御されるドメインの一部にします。 それぞれのブローカーはデータベースを使用して、実行時にメッセージを処理するために必要な情報を保管します。
さらに、構成マネージャー には、ユーザー許可の設定に使用するアクセス制御リスト (ACL) 内のユーザーとグループも表示されます。トピック・ベースのセキュリティー を参照してください。ACL について詳しくは、このトピックで後述されるパブリッシュ/サブスクライブを参照してください。
システム管理者がブローカー・ドメインのコンポーネントを作成して接続した後、アプリケーション開発者は、ワークベンチ を使用して、メッセージ・フローと メッセージ定義 を作成および変更します。
ワークベンチ内の別のパースペクティブを使用して、メッセージ・フローおよびメッセージ・セットを作成し、ブローカー・ドメインを管理します。Message Brokers Toolkit を参照してください。
リポジトリーを使用して、アクセス制御およびバージョン管理を行うことができます。リポジトリーはまた、複数の開発者が同じリソースに対して並行して処理を行えるようにもします。開発リポジトリー を参照してください。
ワークベンチを使用してメッセージ・フローおよびメッセージ・セットを作成したなら、実行可能データを 1 つ以上のブローカーにデプロイ (転送) できます。デプロイメントの概要を参照してください。
メッセージ・フローおよびメッセージ・セットをデプロイすると、コンパイルされ、ブローカー・アーカイブ (BAR) ファイルにエンベロープ化され、構成マネージャーに送られます。デプロイメントの概要 を参照してください。BAR ファイルには構成可能なシステム・プロパティーが入っています。 キューまたはデータベース名などのプロパティーは、ソース・ファイルを変更したり、メッセージ・フローを再開発したりしなくても、指定変更することができます。 この構成によって、システム間で定義を容易に移動させることができます。
構成マネージャー はエンベロープを開き、その内容を取り出し、受信した情報のレコードを作成して、その情報を適切なブローカーにルーティングします。(エンベロープは、含まれている情報が取り出されたら、廃棄されます。) それぞれのブローカーは、独自のローカル・データベースにそれを保管します。 このローカル・ストレージは、ブローカーに十分な情報があれば、構成マネージャー に接続していない状態になった場合でも、メッセージの処理を続けられるということを意味しています。
構成マネージャー は、そのドメイン内のワークベンチおよびブローカーとの間のすべてのアクティビティー (例えば、メッセージ・セットに対する変更) を調整します。 WebSphere MQ メッセージングが、ワークベンチ、構成マネージャー およびブローカー間で使用されます。
メッセージを送信する最も簡単な方法は、 1 つのアプリケーションから別のアプリケーションへ直接メッセージを送信する、point-to-point メッセージングを使用することです。アプリケーション通信モデル を参照してください。パブリッシュ/サブスクライブ は、メッセージングの代替方法を提供します。
パブリッシュするアプリケーションは、指定されたトピックに関するメッセージを、ブローカーに送信します。トピック を参照してください。ブローカーはパブリッシュされたメッセージを、そのトピックに興味があることを登録したアプリケーションに渡します。 パブリッシャーおよびサブスクライバーは、互いの存在については認識しません。
ブローカーは、パブリッシュ・アプリケーションとサブスクライブ・アプリケーションの間のメッセージの配布を処理します。 アプリケーションは、多数のトピックをパブリッシュまたはサブスクライブすることも、より高度なフィルター機構を適用することもできます。
ブローカー・ドメインにオプションで追加できる ユーザー・ネーム・サーバー は、トピックのパブリッシュまたはサブスクライブの許可を誰に付与するかを制御します。トピック・ベースのセキュリティーは、ワークベンチ からセットアップおよび管理できます。
ユーザー許可は、アクセス制御リストを使用して、個々に、またはグループ・レベルで設定します。トピック・ベースのセキュリティー を参照してください。
WebSphere Message Brokersの概要については、IBM Redbooks® 資料 WebSphere Message Broker Basics を参照してください。