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

第5章 アプリケーションの開発(C++言語)> 5.3 サーバアプリケーションのプログラミング(Portable Object Adapter:POA)> 5.3.2 POA概要

5.3.2.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種類があります。

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

AdapterActivatorオブジェク

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

オブジェクトID

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

POA ID

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


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

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