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