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

|
6.9.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()を呼び出します。
All Rights Reserved, Copyright(C) 富士通株式会社 2006