9 RMI-IIOPクライアントでのEJBの使用
この章の内容は次のとおりです。
JavaクライアントによるEJBへのアクセス
Java RMIクライアントはORBおよびIIOPを使用してWebLogic Serverインスタンス上のEnterprise Beanにアクセスします。
『Oracle WebLogic Server Enterprise JavaBeansバージョン2.1の開発』のEnterprise JavaBeansの理解に関する項を参照してください。
CORBA/IDLクライアントによるEJBへのアクセス
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
ユーティリティでは、様々なコマンド修飾子がサポートされています。「CORBA/IDLクライアントの開発」を参照してください。
結果として生成されたファイルはコンパイラで処理されます。コンパイラはその際に、idlSources
ディレクトリからソース・ファイルを読み込み、CORBA C++のスタブ・ファイルとスケルトン・ファイルを生成します。値タイプ以外のすべてのCORBAデータ型には、これらの生成されるファイルで十分です(『Oracle WebLogic Server RMIアプリケーションの開発』のWebLogic RMI-IIOPの制約に関する項を参照)。生成されたIDLファイルは、idlSources
ディレクトリに配置されます。なお、Java-to-IDLマッピング処理には、注意すべき点が多数あります。http://www.omg.org/technology/documents/index.htm
の「Java言語のOMG IDLへのマッピング仕様」を参照してください。
Enterprise JavaBeansコンポーネントおよびCORBAクライアント: 開発者ガイド(http://docs.oracle.com/javase/8/docs/technotes/guides/rmi-iiop/interop.html
)を参照してください。
IDL生成の例
以下の例では、作成済みの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++クライアントをコンパイルします。