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

第6章 アプリケーションの開発(Java言語)> 6.9 インスタンス管理とアプリケーション形態

6.9.2 各アプリケーション形態

(1)デフォルトインスタンス方

 クライアントごとのインスタンス管理をしない方式です。

  1. OD_or_admコマンドにより事前にServantのオブジェクトリファレンスをNamingServiceに登録します。
  2. サーバアプリケーションはServantを作成します。
  3. サーバアプリケーションはServantをPOAにDefault Servantとして登録します。
  4. クライアントアプリケーションはNamingServiceからオブジェクトリファレンスを獲得します。
  5. クライアントアプリケーションはオペレーションop()を要求します。
  6. POAは登録されているDefault Servantを起動します。
  7. POAはオペレーションop()の結果をクライアントに通知します。

(2)Factory-1方

 クライアントごとでインスタンス管理をPOAオブジェクトで行う方式です。Factory内で、オブジェクトリファレンスおよびインスタンスの作成を行います。

  1. OD_or_admコマンドで事前にFactoryのオブジェクトリファレンスをNamingServiceに登録します。
  2. サーバアプリケーションはFactoryを作成します。
  3. サーバアプリケーションはFactoryをDefault ServantとしてPOAに登録します。
  4. クライアントアプリケーションはNamingServiceからFactoryのオブジェクトリファレンスを獲得します。
  5. クライアントアプリケーションはオペレーションcreateをFactoryに要求します。
  6. FactoryはServantのインスタンスを作成します。
  7. FactoryはAOMにインスタンスを登録します。
  8. Factoryはオブジェクトリファレンスを作成してクライアントに通知します。
  9. クライアントアプリケーションはオペレーションop()を要求します。
  10. POAは、AOMを検索して、獲得したインスタンスでServantに対してオペレーションop()の実行を依頼します。
  11. POAは、オペレーションop()の結果をクライアントに通知します。

(3)Factory-2方

 クライアントごとでインスタンス管理をPOAオブジェクトで行う方式です。Factory内でオブジェクトリファレンスの作成を行い、リクエスト受信時にServantManagerオブジェクト内でインスタンスを作成します。

  1. OD_or_admコマンドで事前にFactoryのオブジェクトリファレンスをNamingServiceに登録します。
  2. サーバアプリケーションはFactoryを作成します。
  3. サーバアプリケーションはFactoryをDefault ServantとしてPOAに登録します。
  4. サーバアプリケーションはServantManagerを作成します。
  5. サーバアプリケーションはServantManagerをPOAに登録します。
  6. クライアントアプリケーションはNamingServiceからFactoryのオブジェクトリファレンスを獲得します。
  7. クライアントアプリケーションはオペレーションcreateをFactoryに要求します。
  8. FactoryはServantのオブジェクトリファレンスを作成して、オブジェクトリファレンスをクライアントに通知します。
  9. クライアントアプリケーションはオペレーションop()を要求します。
  10. POAは、AOMを検索するが、未登録の要求であるためServantManagerを呼び出します。
  11. ServantManagerは該当するServantを検索して返します。
  12. POAはServantManagerからServantを受け取り、AOMに登録します。
  13. POAはServantに対してオペレーションop()を実行を依頼します。
  14. POAはオペレーションop()の結果をクライアントに通知します。

(4)ユーザインスタンス管理方

 インスタンス管理をユーザの作成するServantManagerオブジェクトに任せる方式です。

  1. OD_or_admコマンドで事前にFactoryのオブジェクトリファレンスをNamingServiceに登録します。
  2. サーバアプリケーションはFactoryを作成します。
  3. サーバアプリケーションはFactoryをDefault ServantとしてPOAに登録します。
  4. サーバアプリケーションはServantManagerを作成します。
  5. サーバアプリケーションはServantManagerをPOAに登録します。
  6. クライアントアプリケーションはNamingServiceからFactoryのオブジェクトリファレンスを獲得します。
  7. クライアントアプリケーションはオペレーションcreateをFactoryに要求します。
  8. FactoryはServantのオブジェクトリファレンスを作成して、オブジェクトリファレンスをクライアントに通知します。
  9. クライアントアプリケーションはオペレーションop()を要求します。
  10. POAは、ServantManagerのpreinvoke()を呼び出します。
  11. ServantManagerはServantのインスタンスを検索して、POAに通知します。
  12. POAは獲得したインスタンスでServantに対してオペレーションop()を実行を依頼します。
  13. POAはオペレーションop()の結果をクライアントに通知します。
  14. POAは ServantManagerのpostinvoke()を呼び出します。

目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005