Interstage Application Server アプリケーション作成ガイド (CORBAサービス編) |
目次
索引
![]() ![]() |
第6章 アプリケーションの開発(Java言語) | > 6.10 サーバアプリケーションのプログラミング(POA概要) |
POAは、以下のような仕組みを提供します。
POAオブジェクトはオブジェクトID、Servantオブジェクト(ユーザ提供のサーバ実装のインスタンス)の関係をAOM(Active Object Map)上で管理し、クライアントからの要求メッセージに従って、Servantオブジェクトのメソッドを実行します。
POAの要求メッセージ処理の受け付けに関する状態の制御を行います。
サーバアプリケーションが提供するインタフェースを実装し、リクエストに対する処理を実際に行う、ユーザ作成のオブジェクトを示します。
Default ServantオブジェクトはRequestProcessingポリシにUSE_DEFAULT_SERVANTが設定されていて、さらに、リクエストに対応するServantオブジェクトが、POAのAOM(Active Object Map)に存在しない場合に、POAはDefault Servantオブジェクトのメソッドを実行します。
ServantManagerオブジェクトはPOAオブジェクトより呼び出されて、Servantオブジェクトの作成や検索を行います。
ServantManagerオブジェクトはRequestProcessingポリシにUSE_SERVANT_MANAGERが設定されているときにPOAオブジェクトが呼び出しますが、以下の2種類があります。
リクエストに対応するServantオブジェクトが、POAオブジェクトのAOM(ActiveObjectMap)に存在しない場合に、POAオブジェクトはServantActivator オブジェクトにServantオブジェクトの生成を要求します。ServantActivatorオブジェクトはServantオブジェクトを返し、POAオブジェクトはServantオブジェクトのメソッドを実行します。このServantActivatorオブジェクトは、ユーザが作成する必要があります。
リクエスト受信時に、POAオブジェクトは対応するServantオブジェクトをServantLocatorオブジェクトに問い合わせます。ServantLocator オブジェクトはServantオブジェクトを返し、POAオブジェクトはServantオブジェクトのメソッドを実行します。このServantLocatorオブジェクトは、ユーザが作成する必要があり、対応するServantオブジェクトを管理する必要があります。
詳細については、“ServantManagerオブジェクト”を参照してください。
リクエストの受信時に、対応するPOAオブジェクトが存在しない場合に、POAオブジェクトを生成します。このAdapterActivatorオブジェクトは、ユーザが作成する必要があります。
オブジェクトIDは、POAオブジェクトが対応するServantオブジェクトを特定するための値です。オブジェクトIDの値は、IdAssignmentポリシによって、POAオブジェクトによって割り当てられる場合と、ユーザアプリケーションにより割り当てられる場合があります。オブジェクトIDは、オブジェクトリファレンス中に含められるため、クライアントからは意識する必要はありません。
POA IDは、リクエストの受信時にPOAオブジェクトを特定するための値です。POA IDは、オブジェクトリファレンス中に含められるため、クライアントからは意識する必要はありません。
目次
索引
![]() ![]() |