bea ホーム | 製品 | dev2dev | support | askBEA |
![]() |
![]() |
|
![]() |
e-docs > Tuxedo > Tuxedo アプリケーション実行時の管理 > イベント・ブローカについて |
Tuxedo アプリケーション実行時の管理
|
イベント・ブローカについて
ここでは、次の内容について説明します。
イベント
イベントとは、ネットワークの突然の切断など、実行中のアプリケーションで起こった状態の変更などで、オペレータ、システム管理者、またはソフトウェアによる操作を必要とするものです。BEA Tuxedo システムでは、次の 2 種類のイベントが通知されます。
アプリケーション・イベントはアプリケーション定義のイベントの発生、システム・イベントはシステム定義のイベントの発生を意味します。BEA Tuxedo のイベント・ブローカ・コンポーネントでは、アプリケーション・イベントとシステム・イベントの両方の受信および配信が可能です。
アプリケーション定義のイベントとシステム定義のイベントの違い
アプリケーション定義のイベントは、アプリケーションの設計者によって定義されます。そのため、アプリケーション固有のものです。アプリケーションに対して定義されたすべてのイベントは、アプリケーションで実行されているクライアント・プロセスおよびサーバ・プロセスによってトラッキングされます。
システム定義のイベントは、BEA Tuxedo システムのコードによって定義されます。通常、TM_MIB(5) で定義されたオブジェクトが対応付けられています。システム定義の全イベントのリストは、EVENTS(5) リファレンス・ページに記載されています。これらすべてのイベントは、BEA Tuxedo システムのユーザによってトラッキングされます。
BEA Tuxedo のイベント・ブローカでは、アプリケーション定義のイベントとシステム定義のイベントの両方がポストされます。そして、アプリケーションではこの両方のイベントをサブスクライブできます。この 2 種類のイベントは、名前から区別できます。システム定義のイベントはピリオド (.) で開始され、アプリケーション定義のイベントはピリオド (.) 以外の文字で開始されます。
イベント・ブローカとは
BEA Tuxedo のイベント・ブローカは、BEA Tuxedo アプリケーションで実行中のプロセス間で、アプリケーション・イベントを非同期にルーティングするためのツールです。また、このツールでは、システム・イベントを受信する必要のあるアプリケーション・プロセスに、システム・イベントを配信することもできます。
イベント・ブローカには、次の機能があります。
注記 デモとしてコピーして実行できるサンプル・アプリケーションについては、『サンプルを使用した BEA Tuxedo アプリケーションの開発方法』の3-1 ページの「bankapp (複雑な C 言語アプリケーション) のチュートリアル」を参照してください。
イベント・ブローカは、MIB オブジェクトの 100 種類以上の状態の変化をシステム・イベントとして認識します。システム・イベントをポストすると、イベントが発生した現在の MIB としてのオブジェクト、および発生したイベントを識別するイベント固有のフィールドの情報が提供されます。たとえば、マシンが分断された場合、ポストされるイベントには次の情報が含まれます。
イベント・ブローカは、システム・イベントをサブスクライブするだけで使用できます。以降、MIB レコードを要求しなくても、MIB オブジェクトを表す FML データ・バッファを受け取ることによって、MIB でイベントが発生したことが自動的に通知されます。
イベント・ブローカのしくみ
BEA Tuxedo のイベント・ブローカは、任意の数のイベント通知の「サプライヤ」が任意の数の「サブスクライバ」にメッセージをポストするためのツールです。 イベント通知のサプライヤは、クライアントまたはサーバとして動作しているアプリケーション・プロセスまたはシステム・プロセスです。イベント通知のサブスクライバは、クライアントまたはサーバとして動作しているアプリケーション・プロセス、またはシステム管理者です。
イベント・ブローカを使用するクライアント・プロセスとサーバ・プロセスは、「サブスクリプション」に基づいて相互に通信します。各プロセスでは、そのプロセスが受け取る必要のあるイベント・タイプが識別され、1 つ以上のサブスクリプション要求がイベント・ブローカに送信されます。イベント・ブローカでは、購読料を支払っている購読者だけに新聞を配達するように、その要求を処理します。そのため、イベント・ブローカが基づいているパラダイムは、「パブリッシュ・アンド・サブスクライブ」通信と呼ばれます。
イベント・サプライヤ (クライアントまたはサーバ) は、イベントが発生するたびにイベント・ブローカに通知します。このような通知は、イベントの「ポスト」と呼ばれます。イベント・サプライヤがイベントをポストすると、イベント・ブローカはポストされたイベント・タイプと要求が合致するサブスクライバを探します。サブスクライバは、システム管理者またはアプリケーション・プロセスです。合致するサブスクライバが検出されると、イベント・ブローカは各サブスクリプションに対して指定された処理を行います。つまり、サブスクライバへの通知など、サブスクライバによって指定された処理が開始されます。
次の図は、イベント・ブローカがイベント・サブスクリプションを処理してポストするプロセスを示しています。
図 5-1 イベントのポストとサブスクライブ
BEA Tuxedo アプリケーション管理者は、クライアント・プロセスとサーバ・プロセスの代わりに、EVENT_MIB(5) に関する追加情報 の T_EVENT_COMMAND クラスへの呼び出しを行って、サブスクリプションを要求できます。イベント・ブローカを使用して、プログラムで tpsubscribe(3c) 関数を呼び出してイベントをサブスクライブすることもできます。 イベントの通知 イベント・ブローカのサブスクリプションでは、次の図に示すいずれかの通知方法が指定されます。 図 5-2 サポートされている通知方法
システム・イベントの重要度レベル
イベント・ブローカでは、サーバの終了やネットワーク障害などのシステム・イベントに、次の 3 つの重要度のいずれかが割り当てられます。
ブローカ・イベントの利点
サブスクライバが BEA Tuxedo クライアントの場合、サブスクライブ時に次のいずれかの処理が行われます。
サブスクライバが BEA Tuxedo サーバの場合、サブスクライブ時に次のいずれかの処理が行われます。
関連項目
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |