Oracle® Fusion Middleware Oracle WebLogic Serverスタンドアロン・クライアントのプログラミング 11gリリース1 (10.3.6) B61622-06 |
|
![]() 前 |
![]() 次 |
この章では、RMI-IIOPを使用するEnterprise JavaBeansを実装することで、異機種サーバー環境でEJBを相互運用する方法について説明します。
Java RMIクライアントから、ORBおよびIIOPを使用して、WebLogic Serverインスタンス上のエンタープライズBeanにアクセスできます。『Oracle WebLogic Server WebLogic Enterprise JavaBeansのプログラミング』のEnterprise JavaBeansの理解に関する項を参照してください。
Java以外のプラットフォームのCORBA/IDLクライアントから、WebLogic Server上のいかなるエンタープライズBeanオブジェクトにもアクセスできます。この場合、Javaソース・ファイルに定義されているEJBクラスがマッピング情報の源になります。WebLogic Serverには、必要なIDLファイルを生成するためのweblogic.appcユーティリティが用意されています。これらのファイルでは、CORBAビューをターゲットEJBの状態と動作で表します。weblogic.appc
ユーティリティの用途は以下のとおりです。
EJBのクラス、インタフェース、およびデプロイメント記述子ファイルをJARファイルに格納します。
EJB用のWebLogic Serverコンテナ・クラスを生成します。
RMIコンパイラを使用して各EJBコンテナ・クラスを実行し、スタブとスケルトンを作成します。
これらのクラスへのCORBAインタフェースを記述するCORBA IDLファイルのディレクトリ・ツリーを生成します。
weblogic.appc
ユーティリティでは、様々なコマンド修飾子がサポートされています。第10章「CORBA/IDLクライアントの開発」を参照してください。
結果として生成されたファイルはコンパイラで処理されます。コンパイラはその際に、idlSources
ディレクトリからソース・ファイルを読み込み、CORBA C++のスタブ・ファイルとスケルトン・ファイルを生成します。値タイプ以外のすべてのCORBAデータ型に対しては、これらの生成されるファイルで十分です(詳細は、『Oracle WebLogic Server RMIプログラマーズ・ガイド』のWebLogic RMI-IIOPの制約に関する項を参照してください)。生成されたIDLファイルは、idlSources
ディレクトリに配置されます。なお、Java-to-IDLマッピング処理には、注意すべき点が多数あります。「Java Language Mapping to OMG IDL Specification」(http://www.omg.org/cgi-bin/doc?formal/01-06-07
)を参照してください。
詳細は、「Enterprise JavaBeansコンポーネントおよびCORBAクライアント: 開発者ガイド」(http://docs.oracle.com/javase/6/docs/technotes/guides/rmi-iiop/rmi_iiop_pg.html
)を参照してください。
以下の例では、作成済みのBeanからIDLを生成する方法を示します。
IDLファイルを生成します。
> java weblogic.appc -compiler javac -keepgenerated -idl -idlDirectory idlSources build\std_ejb_iiop.jar %APPLICATIONS%\ejb_iiop.jar
EJBインタフェースとクライアント・アプリケーションをコンパイルします(この例ではCLIENT_CLASSESおよびAPPLICATIONSターゲット変数を使用しています)。
> javac -d %CLIENT_CLASSES% Trader.java TraderHome.java TradeResult.java Client.java
ステップ1で生成したIDLファイルに対してIDLコンパイラを実行します。
>%IDL2CPP% idlSources\examples\rmi_iiop\ejb\Trader.idl . . . >%IDL2CPP% idlSources\javax\ejb\RemoveException.idl
C++クライアントをコンパイルします。