プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle WebLogic Server 12.1.3スタンドアロン・クライアントの開発
12c (12.1.3)
E57581-04
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

15 RMI-IIOPクライアントでのEJBの使用

この章では、WebLogic Server 12.1.3を使用して、RMI-IIOPを使用するEnterprise JavaBeansを実装することで、異機種サーバー環境でEJBを相互運用する方法について説明します。

この章の内容は次のとおりです。

JavaクライアントによるEJBへのアクセス

Java RMIクライアントから、ORBおよびIIOPを使用して、WebLogic Serverインスタンス上のエンタープライズ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ユーティリティでは、様々なコマンド修飾子がサポートされています。第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://docs.oracle.com/javase/7/docs/technotes/guides/rmi-iiop/interop.html)を参照してください。

IDL生成の例

以下の例では、作成済みのBeanからIDLを生成する方法を示します。

  1. IDLファイルを生成します。

    > java weblogic.appc -compiler javac -keepgenerated -idl -idlDirectory idlSources build\std_ejb_iiop.jar %APPLICATIONS%\ejb_iiop.jar
    
  2. EJBインタフェースとクライアント・アプリケーションをコンパイルします(この例ではCLIENT_CLASSESおよびAPPLICATIONSターゲット変数を使用しています)。

    > javac -d %CLIENT_CLASSES% Trader.java TraderHome.java TradeResult.java Client.java
    
  3. ステップ1で生成したIDLファイルに対してIDLコンパイラを実行します。

    >%IDL2CPP% idlSources\examples\rmi_iiop\ejb\Trader.idl
    . . . 
    
    >%IDL2CPP% idlSources\javax\ejb\RemoveException.idl
    
  4. C++クライアントをコンパイルします。