![]() ![]() ![]() ![]() ![]() ![]() ![]() |
通知サービスは、Oracle Tuxedo CORBA環境でイベント・サービスを提供します。通知サービスはスタンドアロンで機能する製品というよりは、Oracle Tuxedoのレイヤード・プロダクトといえます。
通知サービスはOracle Tuxedo EventBrokerと同様の機能を備えていますが、そのプログラミング・モデルとインタフェースはCORBAユーザー向けに設計されています。この手法の副作用は、Oracle Tuxedo EventBrokerと互換性がないか、EventBrokerをはるかに超える機能が提供されるために、CORBAベースの通知サービスの大部分がサポートされていないことです。
通知サービスは、イベント・ポスト・メッセージを受信してフィルタ処理し、それらのメッセージをサブスクライバに配信するOracle Tuxedoサブシステムです。ポスト元は、対象となるイベントがいつ発生したかを検出し、それを通知サービスに報告(ポスト)するOracle Tuxedo CORBAアプリケーションです。サブスクライバは、対象となるイベントがポストされたときに通知アクションの実行をリクエストするOracle Tuxedo CORBAアプリケーションです。
メッセージを受信して配信する無名サービス(通知サービス)の概念は、Oracle Tuxedo CORBA環境に新たなクライアント/サーバーのコミュニケーション・パラダイムをもたらします。リクエスタとプロバイダの1対1の関係ではなく、任意の数のポスト元が任意の数のサブスクライバに対してメッセージをポストできます。ポスト元は単にイベントをポストするだけで、どこで情報が受信されるのか、何が行われるのかについては関知しません。サブスクライバは、ポスト元を知ることなく、対象となるどのような情報でも通知サービスから受信することが可能で、様々な方法で通知を受けてアクションを実行できます。
通常、通知サービス・アプリケーションは例外イベントを処理します。アプリケーション設計者は、アプリケーションでどのイベントを監視するのかを決めなければなりません。たとえば銀行業務アプリケーションでは、非常に高額な払出しについてイベントがポストされるかもしれませんが、すべての払出しでイベントをポストしても特に便利というわけではありません。また、すべてのユーザーがそのイベントをサブスクライブする必要はありません。支店長だけに通知すれば十分です。
通知サービスのプログラミング・モデルは、CORBAのプログラミング・モデルに基づいています。インタフェースには2つのセットがあります。1つはこのドキュメントでCosNotificationサービス・インタフェースと呼んでいるCORBAベースの通知サービス・インタフェースのサブセット、もう1つは使いやすいように設計されたOracleシンプル・イベント・インタフェース(Oracle独自のインタフェース)です。どちらのインタフェースも、CORBAベースの通知サービス仕様で定義される標準の構造化されたイベントを渡します。
2つのインタフェースはお互いに互換性があります。つまり、CosNotificationサービス・インタフェースを使用してポストされたイベントは、Oracleシンプル・イベント・インタフェースでサブスクライブできます(逆方向も可)。
通知サービス・システムには、3つの基本的な構成要素があります(図1-1を参照)。
コンシューマのサブスクリプションに一致するイベントが通知サービスで受信されると、通知サービスではそのイベントをコンシューマに配信しようとします。サプライヤとコンシューマは多数存在することができます。通知サービスは複製できますが、論理的には通知サービスは1つだけです。
CORBAベースの通知サービス仕様に従って、イベント・ポスト元では常にプッシュ・モデルを使用します。このため、イベント・ポスト元ではオペレーションを呼び出して通知サービスにイベントをプッシュします。通知サービスでは、イベントのフィルタ処理と配信を行います。イベント・ポスト元とイベント・サブスクライバの間に直接的な関連はありません。イベント・ポスト元およびイベント・サブスクライバの数は、ゼロであったり、1であったり、または多数であったりします。
また、CORBAベースの通知サービス仕様では、サブスクライバはプッシュまたはプルのいずれかのイベント配信モデルを選択できます。このリリースのOracle Tuxedoでサポートされているのはプッシュ・モデルだけです。したがって、通知サービスではコンシューマのオペレーションを呼び出してコンシューマにイベントをプッシュします。一致するサブスクリプションのサービスの品質(QoS)によっては、イベントは永続的に格納され、コンシューマへの配信が保留される場合もあります。
Oracle Tuxedo CORBA通知サービスでは、以下のサポートが提供されます。
一時的なサブスクリプションの場合、通知サービスではサブスクライバへのイベント配信が1回だけ試行されます。その試行が失敗するとイベントは破棄され、サブスクライバがシャットダウンされているかほかの理由で利用できないと通知サービスで判断された場合は、サブスクリプションが取り消されます。
永続的なサブスクリプションの場合、配信の最初の試行が失敗すると、通知サービスではそのイベントが保持され、構成可能な再試行回数の上限に達するまでサブスクリプションの配信が繰り返されます。再試行回数の上限に達すると、イベントはエラー・キューに移動されます。エラー・キューに保持されたイベントは、システム管理者によって処理されます。システム管理者は、エラー・キューからイベントを削除するか(事実上の破棄)、または再び配信できるように保留キューに戻します。
UBBCONFIG
ファイルの使用ntsadmin
管理ユーティリティを使用したイベント・キューの管理qmadmin
管理ユーティリティを使用したイベント・キューの構成と管理tmadmin
管理ユーティリティを使用したトランザクション・ログの構成と管理
![]() ![]() ![]() |