ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebLogic Server スタンドアロン クライアント プログラマーズ ガイド
11g リリース 1 (10.3.1)
B55526-01
 

目次
目次

戻る
戻る
 
次へ
次へ
 

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

RMI-IIOP を使用するエンタープライズ JavaBean を実装することで、以下のような異機種サーバ環境で EJB を相互運用できます。

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

Java RMI クライアントから、ORB および IIOP を使用して、WebLogic Server インスタンス上のエンタープライズ Bean にアクセスできます。『Oracle Fusion Middleware Oracle WebLogic Server エンタープライズ JavaBeans (EJB) プログラマーズ ガイド』の「エンタープライズ JavaBean について」を参照してください。

CORBA/IDL クライアントによる EJB へのアクセス

Java 以外のプラットフォームの CORBA/IDL クライアントから、WebLogic Server 上のいかなるエンタープライズ Bean オブジェクトにもアクセスできます。この場合、Java ソース ファイルに定義されている EJB クラスがマッピング情報の源になります。WebLogic Server には、必要な IDL ファイルを生成するための weblogic.appc ユーティリティが用意されています。これらのファイルでは、CORBA ビューを対象となる EJB の状態と動作で表します。weblogic.appc ユーティリティの用途は以下のとおりです。

weblogic.appc ユーティリティでは、さまざまなコマンド修飾子がサポートされています。「9 CORBA/IDL クライアントの開発」を参照してください。

結果として生成されたファイルはコンパイラで処理されます。コンパイラはその際に、idlSources ディレクトリからソース ファイルを読み込み、CORBA C++ のスタブ ファイルとスケルトン ファイルを生成します。値タイプ以外のすべての CORBA データ型に対しては、これらの生成されるファイルで十分です (詳細については、『Oracle Fusion Middleware 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 へのマッピング仕様」を参照してください。

また、Sun でも詳細なガイド「Enterprise JavaBeans Components and CORBA Clients: A Developer Guide」が (http://java.sun.com/j2se/1.4/docs/guide/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++ クライアントをコンパイルします。