Interstage Application Server アプリケーション作成ガイド (CORBAサービス編)
|
目次
索引

|
5.8.2 各アプリケーション形態
(1)デフォルトインスタンス方式
クライアントごとのインスタンス管理をしない方式です。

- OD_or_admコマンドにより事前にServantのオブジェクトリファレンスをNamingServiceに登録します。
- サーバアプリケーションは、Servantを作成します。
- サーバアプリケーションは、ServantをPOAにDefault Servantとして登録します。
- クライアントアプリケーションは、NamingServiceからオブジェクトリファレンスを獲得します。
- クライアントアプリケーションは、オペレーションop()を要求します。
- POAは登録されているDefault Servantを起動します。
- POAはオペレーションop()の結果をクライアントに通知します。
(2)Factory-1方式
クライアントごとでインスタンス管理をPOAオブジェクトで行う方式です。Factory内で、オブジェクトリファレンスおよびインスタンスを作成します。

- OD_or_admコマンドで事前にFactoryのオブジェクトリファレンスをNamingServiceに登録します。
- サーバアプリケーションは、Factoryを作成します。
- サーバアプリケーションは、FactoryをDefault ServantとしてPOAに登録します。
- クライアントアプリケーションは、NamingServiceからFactoryのオブジェクトリファレンスを獲得します。
- クライアントアプリケーションは、オペレーションcreateをFactoryに要求します。
- Factoryは、Servantのインスタンスを作成します。
- Factoryは、AOMにインスタンスを登録します。
- Factoryは、オブジェクトリファレンスを作成してクライアントに通知します。
- クライアントアプリケーションは、オペレーションop()を要求します。
- POAは、AOMを検索し、獲得したインスタンスでServantに対してオペレーションop()の実行を依頼します。
- POAは、オペレーションop()の結果をクライアントに通知します。
(3)Factory-2方式
クライアントごとにインスタンス管理をPOAオブジェクトで行う方式です。Factory内でオブジェクトリファレンスを作成し、リクエスト受信時にServantManagerオブジェクト内でインスタンスを作成します。

- OD_or_admコマンドで事前にFactoryのオブジェクトリファレンスをNamingServiceに登録します。
- サーバアプリケーションは、Factoryを作成します。
- サーバアプリケーションは、FactoryをDefault ServantとしてPOAに登録します。
- サーバアプリケーションは、ServantManagerを作成します。
- サーバアプリケーションは、ServantManagerをPOAに登録します。
- クライアントアプリケーションは、NamingServiceからFactoryのオブジェクトリファレンスを獲得します。
- クライアントアプリケーションは、オペレーションcreateをFactoryに要求します。
- Factoryは、Servantのオブジェクトリファレンスを作成し、オブジェクトリファレンスをクライアントに通知します。
- クライアントアプリケーションは、オペレーションop()を要求します。
- POAは、AOMを検索するが、未登録の要求であるため、ServantManagerを呼び出します。
- ServantManagerは、該当するServantを検索して返します。
- POAは、ServantManagerからServantを受け取り、AOMに登録します。
- POAは、Servantに対してオペレーションop()の実行を依頼します。
- POAは、オペレーションop()の結果をクライアントに通知します。
(4)ユーザインスタンス管理方式
インスタンス管理をユーザの作成するServantManagerオブジェクトに任せる方式です。

- OD_or_admコマンドで事前にFactoryのオブジェクトリファレンスをNamingServiceに登録します。
- サーバアプリケーションは、Factoryを作成します。
- サーバアプリケーションは、FactoryをDefault ServantとしてPOAに登録します。
- サーバアプリケーションは、ServantManagerを作成します。
- サーバアプリケーションは、ServantManagerをPOAに登録します。
- クライアントアプリケーションは、NamingServiceからFactoryのオブジェクトリファレンスを獲得します。
- クライアントアプリケーションは、オペレーションcreateをFactoryに要求します。
- FactoryはServantのオブジェクトリファレンスを作成し、オブジェクトリファレンスをクライアントに通知します。
- クライアントアプリケーションは、オペレーションop()を要求します。
- POAは、ServantManagerのpreinvoke()を呼び出します。
- ServantManagerは、Servantのインスタンスを検索し、POAに通知します。
- POAは、獲得したインスタンスでServantに対してオペレーションop()の実行を依頼します。
- POAは、オペレーションop()の結果をクライアントに通知します。
- POAは、ServantManagerのpostinvoke()を呼び出します。
Copyright 2008 FUJITSU LIMITED