Oracle Tuxedoアプリケーション実行時の管理

     前  次    新規ウィンドウで目次を開く    PDFとして表示 - 新規ウィンドウ  Adobe Readerを取得 - 新規ウィンドウ
コンテンツはここから始まります

イベント・ブローカについて

ここでは、以下の内容について説明します。

 


イベント

イベントとは、ネットワークの突然の切断など、実行中のアプリケーションで起こった状態の変更などで、オペレータ、システム管理者、またはソフトウェアによる操作を必要とするものです。Oracle Tuxedoシステムでは、次の2種類のイベントが通知されます。

アプリケーション・イベントはアプリケーション定義イベントの発生、システム・イベントはシステム定義イベントの発生を意味します。Oracle Tuxedoのイベント・ブローカ・コンポーネントでは、アプリケーション・イベントとシステム・イベントの両方の受信および配信が可能です。

 


アプリケーション定義のイベントとシステム定義のイベントの違い

アプリケーション定義のイベントは、アプリケーションの設計者によって定義されます。そのため、アプリケーション固有のものです。アプリケーションに対して定義されたすべてのイベントは、アプリケーションで実行されているクライアント・プロセスおよびサーバー・プロセスによって追跡されます。

システム定義のイベントは、Oracle Tuxedoシステムのコードによって定義されます。通常、TM_MIB(5)で定義されたオブジェクトが対応付けられています。システム定義の全イベントのリストは、EVENTS(5)リファレンス・ページに記載されています。これらすべてのイベントは、Oracle Tuxedoシステムのユーザーによって追跡されます。

Oracle Tuxedoのイベント・ブローカでは、アプリケーション定義のイベントとシステム定義のイベントの両方がポストされます。そして、アプリケーションではこの両方のイベントをサブスクライブできます。この2種類のイベントは、名前から区別できます。システム定義のイベントはピリオド( . )で開始され、アプリケーション定義のイベントはピリオド( . )以外の文字で開始されます。

 


イベント・ブローカとは

Oracle Tuxedoのイベント・ブローカは、Oracle Tuxedoアプリケーションで実行中のプロセス間で、アプリケーション・イベントを非同期にルーティングするためのツールです。また、このツールでは、システム・イベントを受信する必要のあるアプリケーション・プロセスにシステム・イベントが配信されます。

イベント・ブローカには、次の機能があります。

注意: デモとしてコピーして実行できるサンプル・アプリケーションについては、『Oracle Tuxedo ATMIアプリケーション開発のためのチュートリアル』bankapp(複雑なC言語アプリケーション)のチュートリアルに関する項を参照してください。

イベント・ブローカは、MIBオブジェクトの100種類以上の状態の変化をシステム・イベントとして認識します。システム・イベントをポストすると、イベントが発生した現在のMIBとしてのオブジェクト、および発生したイベントを識別するイベント固有のフィールドの情報が提供されます。たとえば、マシンがパーティション化されている場合、ポストされるイベントには次が含まれます:

イベント・ブローカは、システム・イベントをサブスクライブするだけで使用できます。以降、MIBレコードを問合せしなくても、MIBオブジェクトを表すFMLデータ・バッファを受け取ることによって、MIBでイベントが発生したことが自動的に通知されます。

 


イベント・ブローカのしくみ

Oracle Tuxedoのイベント・ブローカは、任意の数のイベント通知サプライヤが任意の数のサブスクライバにメッセージをポストするためのツールです。イベント通知のサプライヤは、クライアントまたはサーバーとして動作しているアプリケーション・プロセスまたはシステム・プロセスです。イベント通知のサブスクライバは、クライアントまたはサーバーとして動作しているアプリケーション・プロセス、またはシステム管理者です。

イベント・ブローカを使用するクライアント・プロセスとサーバー・プロセスは、サブスクリプションに基づいて相互に通信します。各プロセスでは、そのプロセスが受け取る必要のあるイベント・タイプが識別され、1つ以上のサブスクリプション・リクエストがイベント・ブローカに送信されます。イベント・ブローカでは、購読料を支払っている購読者だけに新聞を配達するように、そのリクエストを処理します。そのため、イベント・ブローカが基づいているパラダイムは、「パブリッシュ・アンド・サブスクライブ」通信と呼ばれます。

イベント・サプライヤ(クライアントまたはサーバー)は、イベントが発生するたびにイベント・ブローカに通知します。このような通知は、イベントの「ポスト」と呼ばれます。イベント・サプライヤがイベントをポストすると、イベント・ブローカはポストされたイベント・タイプと要求が合致するサブスクライバを探します。サブスクライバは、システム管理者またはアプリケーション・プロセスです。合致するサブスクライバが検出されると、イベント・ブローカは各サブスクリプションに対して指定された処理を行います。つまり、サブスクライバへの通知など、サブスクライバによって指定された処理が開始されます。

図5-1は、イベント・ブローカがイベント・サブスクリプションを処理してポストするプロセスを示しています。

図5-1 イベントのポストとサブスクライブ

イベントのポストとサブスクライブ

Oracle Tuxedoアプリケーション管理者は、クライアント・プロセスとサーバー・プロセスのかわりに、EVENT_MIB(5)T_EVENT_COMMANDクラスへの呼出しを行って、サブスクリプションをリクエストできます。イベント・ブローカを使用して、プログラムでtpsubscribe(3c)関数を呼び出してイベントをサブスクライブすることもできます。

イベントの通知

イベント・ブローカのサブスクリプションでは、図5-2に示すいずれかの通知方法が指定されます。

図5-2 サポートされている通知方法

サポートされている通知方法

システム・イベントの重大度レベル

イベント・ブローカでは、サーバーの終了やネットワーク障害などのシステム・イベントに、次の3つの重大度のいずれかが割り当てられます。

表5-2に、システム・イベントの重大度レベルを示します。

表5-2 システム・イベントの重大度レベル
重大度のレベルは. . .

イベント・ブローカに次が通知されるとき. . .
ERROR
サーバーの終了やネットワークの突然の切断など、異常が発生しました。
INFO (Informationの省略形)
プロセス、または構成の変更が原因で、状態が変化しました。
WARN (Warningの省略形)
認証に失敗し、クライアントがアプリケーションに参加できませんでした。アプリケーションのパフォーマンスに影響を与えるような構成の変更が行われました。

 


ブローカ・イベントの利点

関連項目


  先頭に戻る       前  次