ページの先頭行へ戻る
SystemwalkerService Catalog Manager V14g アプリケーションサービス機能アプリケーション開発ガイド
Systemwalker

3.2 アプリケーションサービス機能のイベント管理との統合

アプリケーションサービス機能のイベント管理サービスはアプリケーションの動作で発生した特定のイベントを検出します。こうしたイベントは、価格モデル、課金などに利用できます。イベントには、特定のトランザクションの完了や特定データの作成や削除などがあります。

アプリケーションサービス機能は、サービスへのログインおよびサービスからのログアウトという二つイベントをあらかじめ定義しています。それ以外にも、アプリケーションの実行時に発生するイベントを、アプリケーションサービス機能のパブリックWebサービスAPIを通してアプリケーションサービス機能に送ることができます。

アプリケーションサービス機能のイベント管理との統合は、以下のようにおこないます。

  1. 検出すべきイベントをアプリケーションに実装します。

  2. アプリケーションサービス機能に対するイベントの送信を実装します。イベントは、アプリケーションサービス機能が提供するパブリックWeb APIであるイベントサービスを使用して通知します。

  3. テクニカルサービス定義を作成する際に、アプリケーションが送信するイベントを宣言します。詳細は“付録B テクニカルサービス定義のXMLファイル要素”を参照してください。

イベントサービスが提供するオペレーションは以下の2つです。どちらの呼び出しでもイベントを通知することができます。

オペレーション

説明

recordEventForSubscription

アプリケーションサービスに対してイベントを通知します。

サービスのキー値(subscriptionKey)を使用してイベントの対象となるサービスを指定します。

recordEventForInstance

アプリケーションサービスに対してイベントを通知します。

テクニカルサービスのIDとバージョン、およびプロビジョニングサービスで通知されるインスタンスのIDを使用してイベントの対象となるサービスを指定します。

それぞれのオペレーションの詳細は、インテグレーションパックに含まれるJava APIドキュメントを参照してください。インテグレーションパックの詳細は、“付録A インテグレーションパック”を参照してください。


JAX-WSフレームワークを使用した場合の、イベントサービスの呼び出しのコード例を以下に示します。

URL wsdlLocation = ...
javax.xml.namespace.QName serviceName = new QName("http://bss.fujitsu.com/xsd/v1.1", "EventService");
javax.xml.ws.Service service = Service.create(wsdlLocation, serviceName);
EventnService eventService = service.getPort(EventService.class);

java.util.Map<String, Object> requestContext = ((BindingProvider)eventService).getRequestContext();
requestContext.put(BindingProvider.USERNAME_PROPERTY, username);
requestContext.put(BindingProvider.PASSWORD_PROPERTY, password);

eventService.recordEventForSubscrition(subsriptionKey, event);