Interstage Application Server アプリケーション作成ガイド (CORBAサービス編) |
目次
索引
![]() ![]() |
第6章 アプリケーションの開発(Java言語) | > 6.15 サーバアプリケーションの実装アプローチ |
代理方式によるユーザクラス(インタフェース実装クラス)は、以下のような継承関係で実装します。サーバアプリケーションのメイン部では、tieクラス(<インタフェース名>POATie)のインスタンスをPOAに登録します。継承方式を使用した場合のような規定の継承関係から解放されるため、実装の自由度が高くなります。ただし、tieクラスのメンバとして登録するために、インタフェース実装クラスは<インタフェース名>Operationインタフェースをimplementsする必要があります。
代理方式のアプリケーション例は、“サーバアプリケーションのプログラミング例”を参照してください。
上図のとおり、代理方式ではユーザクラスは以下のように<interface名>Operationインタフェースを実装するように記述します。
【IDL定義】
module ODsample{ interface intf{ long add(in long a, in long b); }; };
【ユーザクラスの例】
class UserClass extends OtherUserClass implements ODsample.intfOperations { public int add( int a, int b ){ return( a + b ); } }
メイン処理部では、いったんこのユーザクラスのインスタンスをtieクラスのインスタンスに登録します(tieクラスのコンストラクタの引数としてユーザクラスインスタンスを渡します)。さらに、tieクラスのインスタンスをPOAにServantとして登録します。以下の例ではDefault Servantとして登録しています。
【メイン部の例】
// ユーザクラスのインスタンス生成 UserClass uc = new UserClass(); // tieオブジェクト作成とユーザクラスの登録 intfPOATie tie = new intfPOATie( uc ); // POAのDefault Servantに設定 aPOA.set_servant( tie ); Servant svt = new UserServant(); // Default Servantに設定 aPOA.set_servant( svt );
注) aPOAはPOAクラスのインスタンス
目次
索引
![]() ![]() |