Oracle® Fusion Middleware Oracle WebLogic Serverスタンドアロン・クライアントのプログラミング 12c リリース1 (12.1.1) B65897-02 |
|
前 |
次 |
この章では、RMI-IIOPを使用するEnterprise JavaBeansを実装することで、異機種サーバー環境でEJBを相互運用する方法について説明します。
Java RMIクライアントから、ORBおよびIIOPを使用して、WebLogic Serverインスタンス上のエンタープライズBeanにアクセスできます。『Oracle WebLogic Server Enterprise JavaBeansバージョン2.1のプログラミング』の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マッピング処理には、注意すべき点が多数あります。http://www.omg.org/technology/documents/formal/java_language_mapping_to_omg_idl.htm
の「Java言語のOMG IDLへのマッピング仕様」を参照してください。
詳細は、『Enterprise JavaBeansコンポーネントおよびCORBAクライアント: 開発者ガイド』(http://download.oracle.com/javase/1.4.2/docs/guide/rmi-iiop/interop.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++クライアントをコンパイルします。