ページの先頭行へ戻る
Interstage Application Server アプリケーション作成ガイド(CORBAサービス編)

5.13.2 POAのアーキテクチャ

  POAは、以下のような仕組みを提供します。



POAオブジェクト

  POAオブジェクトは、オブジェクトID、Servantオブジェクト(ユーザ提供のサーバ実装のインスタンス)の関係をAOM(Active Object Map)上で管理し、クライアントからの要求メッセージに従ってServantオブジェクトのメソッドを実行します。


POAManagerオブジェクト

  POAの要求メッセージ処理の受け付けに関する状態を制御します。


Servantオブジェクト

  サーバアプリケーションが提供するインタフェースを実装し、リクエストに対する処理を実際に行う、ユーザ作成のオブジェクトを示します。


Default Servantオブジェクト

  Default Servantオブジェクトは、RequestProcessingポリシにUSE_DEFAULT_SERVANTが設定されていて、さらにリクエストに対応するServantオブジェクトがPOAのAOM(Active Object Map)に存在しない場合に、POAはDefault Servantオブジェクトのメソッドを実行します。


ServantManagerオブジェクト

  ServantManagerオブジェクトは、POAオブジェクトより呼び出されて、Servantオブジェクトの作成や検索を行います。
  ServantManagerオブジェクトは、RequestProcessingポリシにUSE_SERVANT_MANAGERが設定されているときにPOAオブジェクトが呼び出しますが、以下の2種類があります。


  詳細については、“5.13.10 ServantManagerオブジェクト”を参照してください。


AdapterActivatorオブジェクト

  リクエストの受信時に、対応するPOAオブジェクトが存在しない場合に、POAオブジェクトを生成します。このAdapterActivatorオブジェクトは、ユーザが作成する必要があります。


オブジェクトID

  オブジェクトIDは、POAオブジェクトが対応するServantオブジェクトを特定するための値です。オブジェクトIDの値は、IdAssignmentポリシによって、POAオブジェクトによって割り当てられる場合と、ユーザアプリケーションにより割り当てられる場合があります。オブジェクトIDは、オブジェクトリファレンス中に含められるため、クライアントからは意識する必要はありません。


POA ID

  POA IDは、リクエストの受信時にPOAオブジェクトを特定するための値です。POA IDは、オブジェクトリファレンス中に含められるため、クライアントからは意識する必要はありません。