WS-Notification: クライアント・アプリケーションがランタイムに対話する方法
アプリケーションは、WS-Notification 標準で定義された Web サービスのメッセージ交換を通して通知ブローカーと対話します。
NotificationBroker、PublisherRegistrationManager、NotificationProducer、SubscriptionManager、および NotificationConsumer という 5 つの WS-Notification ロール相互間のリレーションシップを以下の図に示します。

これらのロールは、アプリケーションが操作を呼び出す 3 つの Web サービス・ ポート・タイプに等しいです。
- NotificationBroker (NotificationProducer と NotificationConsumer ロールの拡張)
- SubscriptionManager
- PublisherRegistrationManager
アプリケーションの最初の接続ポイントは、常に NotificationBroker ポート・タイプになります。 アプリケーションはこのエンドポイントに対して操作を呼び出してサブスクリプションを作成し、通知イベントをシステムに挿入するか、パブリッシャーとして自身を登録します。SubscriptionManager および PublisherRegistrationManager オブジェクトは、NotificationBroker と連動して全機能を提供します。
SubscriptionManager および PublisherRegistrationManager への参照は、NotificationBroker への呼び出しの結果としてアプリケーションに戻されます。 特に、SubscriptionManager への参照は、NotificationBroker のサブスクライブ操作から戻されます。これにより、アプリケーションは、サブスクリプション・リソースが一度作成されると、そのライフサイクルに影響を与えることができます。 同様に、PublisherRegistrationManager への参照は、NotificationBroker での RegisterPublisher 操作から戻され、アプリケーションが、パブリッシャー登録のライフサイクルに影響を与えることができます。
アプリケーションは完全に WS-Notification メッセージ交換を通してブローカーと対話するため、SubscriptionManager および PublisherRegistrationManager サービスが WebSphere® Application Server によって提供されることを認識しません。 これは、アプリケーションを変更して、NotificationBroker プロバイダーを使用できることを意味します (例えば、異なるベンダーによって、または異なるサーバーに提供されるプロバイダーを、アプリケーションがその Web サービス呼び出しを行うエンドポイント・アドレスを変更することによって使用できます)。
WS-Notification は、アプリケーションが NotificationBroker と対話できる次のロールを定義します。これらのロールによって、アプリケーションのユース・ケースを定義できます。
- パブリッシャー
- パブリッシャーは、システムにイベント通知を挿入するために、ブローカーまたは NotificationConsumer に通知メッセージを送信します。パブリッシャー・アプリケーションは、Web サービス・エンドポイントを公開しません。
- サブスクライバー
- サブスクライバーは、(おそらく異なる) NotificationConsumer アプリケーションの代わりにサブスクリプションを行います。 サブスクライバー・アプリケーションは、Web サービス・エンドポイントを公開します。
- NotificationConsumer
- NotificationConsumer は、次の通知メッセージを受信します。
- "プッシュ・コンシューマー" アプリケーションは、通知メッセージが非同期にブローカーおよび NotificationProducer によって送信できる Web サービス・エンドポイントを公開します。
- "プル・コンシューマー" アプリケーションは通知メッセージを受信するために、ブローカーおよび NotificationProducer の操作を呼び出します。
- NotificationProducer
- NotificationProducer は、登録済みの NotificationBroker および NotificationConsumer に通知メッセージを送信します。 NotificationProducer アプリケーションはサブスクライブ操作をサポートし、NotificationProducer リソース・プロパティーにアクセスを提供するために、Web サービス・エンドポイントを公開します。
- 要求ベースのパブリッシャー
- 要求ベースのパブリッシャーは一時休止または再開要求を受信するために、Web サービス・エンドポイントも (NotificationProducer として) 公開するパブリッシャー・アプリケーションです。
該当するツールを使用して、NotificationBroker と共に使用するための WS-Notification アプリケーションを生成することができます。WS-Notification サービス・ポイントによって公開された WSDL を取得し、IBM® Rational® Application Developer などの開発ツールを使用して、アプリケーションをコード化できるスタブを生成します。このタイプのコーディングの例については、WS-Notification を使用するアプリケーションの開発を参照してください。