Oracle® Fusion Middleware Oracle WebLogic Server RMI プログラマーズ ガイド 11g リリース 1 (10.3.1) B55530-01 |
|
戻る |
次へ |
以下の各節では、RMI over IIOP についての概要を説明します。
RMI over IIOP は、IIOP プロトコルを介して動作するように RMI を拡張したものです。この拡張には役に立つメリットが 2 つあります。まず、Java-to-Java パラダイムでは、これによって、標準 IIOP (Internet Inter-ORB Protocol) に対応したプログラムを作成できるようになります。一方、Java 単独の環境以外で作業している場合には、この拡張によって、Java プログラムから CORBA (Common Object Request Broker Architecture) クライアントとやり取りし、CORBA オブジェクトを実行できるようになります。CORBA クライアントは、C++ などのさまざまな言語で記述でき、インタフェース定義言語 (IDL : Interface-Definition-Language) を使用してリモート オブジェクトと対話できます。
WebLogic Server には、独自の ORB 実装が用意されています。この ORB は、プログラムで ORB.init()
が呼び出されたとき、または JNDI で "java:comp/ORB"
がルックアップされたときにデフォルトでインスタンス化されます。Weblogic Server が J2SE 1.4 で Corba をサポートするために準拠している仕様については、「A WebLogic Server での CORBA のサポート」を参照してください。
WebLogic Server での RMI-IIOP 実装の機能は以下のとおりです。
標準 IIOP プロトコルを使用して Java RMI クライアントを WebLogic Server に接続できる。
CORBA/IDL クライアント (C++ で記述されたものを含む) を WebLogic Server に接続できる。
WebLogic Server と Tuxedo クライアントの間で相互運用できる。
WebLogic Server をホストとする EJB に、さまざまなクライアントを接続できる。
RMI-IIOP アプリケーションをどのように開発するかは、どのようなサービスやクライアントを統合するかによって決まります。RMI および RMI-IIOP を使用するさまざまなクライアント タイプに応じたアプリケーションの作成方法については、『Oracle Fusion Middleware Oracle WebLogic Server スタンドアロン クライアント プログラマーズ ガイド』を参照してください。
以下の図は IIOP を使用するオブジェクトの RMI オブジェクトの関係を示します。
標準 IIOP プロトコルを活用して、RMI-IIOP を Java/RMI クライアントで使用することができます。WebLogic Server では、新しい小規模クライアント jar に基づいた新しい Java EE アプリケーション クライアント (シン クライアント) など、Java-to-Java 環境で RMI-IIOP を使用する複数の方法を用意しています。この新しいシン クライアントを使用するには、クライアント サイドの CLASSPATH wlclient.jar
(WL_HOME/server/lib
にある) を含む必要があります。RMI-IIOP クライアント オプションの詳細については、『Oracle Fusion Middleware Oracle WebLogic Server スタンドアロン クライアント プログラマーズ ガイド』を参照してください。
WebLogic Server は WebLogic Tuxedo Connector の実装も備えています。これは、Tuxedo サーバとの相互運用を可能にする基底の技術です。WebLogic Tuxedo Connector を使用すると、Tuxedo を ORB として活用したり、WebLogic Server 上で開発したアプリケーションと従来の Tuxedo システムを統合することができます。詳細については、『Oracle Fusion Middleware OraceleWebLogic Server Tuxedo Connector プログラマーズ ガイド』を参照してください。
開発者にとっては、CORBA/IDL クライアントから Java EE サービスにアクセスできることが必要です。しかし、Java と CORBA は非常に異なるオブジェクト モデルに基づいています。このため、この 2 つのプログラミング パラダイムに基づいて作成されたオブジェクト間でのデータ共有は、最近までは、Remote と CORBA のプリミティブ データ型だけに限られていました。CORBA の構造体も Java のオブジェクトも、異なるオブジェクト間で簡単にやり取りすることはできませんでした。この制限を解消するために、Object Management Group (OMG) によって http://www.omg.org/technology/documents/index.htm
Objects-by-Value 仕様が策定されました。この仕様では、Java オブジェクト モデルを CORBA/IDL プログラミング モデルにエクスポートでき、Java、CORBA の 2 つのモデル間での複合データ型の交換が可能になります。Objects-by-Value 仕様が正しく実装されている CORBA ORB を使用すれば、WebLogic Server でも Objects-by-Value をサポートできます。
WebLogic Server のこのリリースと以前のリリースの間の相互運用性は、以下のシナリオでサポートされています。
次の表に、2 つの WebLogic Server インスタンス間の相互運用性を実現するためにサポートされるオプションを示します。
表 7-1 WebLogic Server 間の相互運用性
サーバの相互運用性 | WebLogic Server 8.1 | WebLogic Server 9.x | Weblogic Server 10.x |
---|---|---|---|
WebLogic Server 8.1 |
RMI/T3 RMI/IIOP HTTP Web サービス |
RMI/T3 RMI/IIOP HTTP Web サービス |
RMI/T3 RMI/IIOP HTTP Web サービス |
WebLogic Server 9.x |
RMI/T3 RMI/IIOP HTTP Web サービス |
RMI/T3 RMI/IIOP HTTP Web サービス |
RMI/T3 RMI/IIOP HTTP Web サービス |
WebLogic Server 10.0 |
RMI/T3 RMI/IIOP HTTP Web サービス |
RMI/T3 RMI/IIOP HTTP Web サービス |
RMI/T3 RMI/IIOP HTTP Web サービス |
Sun JDK ORB クライアント脚注 1 |
RMI/IIOP 脚注 2 |
RMI/IIOP 脚注 3 |
RMI/IIOP 脚注 4 |
脚注 1 このオプションには、Weblogic Server にホストされるアプリケーションから JDK ORB への直接の呼び出しが含まれます。
脚注 2 JDK 1.3.x または 1.4.1。クラスタリングはありません。トランザクションの伝播はありません
脚注 3 JDK 5.0。クラスタリングはありません。トランザクションの伝播はありません
脚注 4 JDK 5.0。クラスタリングはありません。トランザクションの伝播はありません
次の表に、スタンドアロン Java クライアント アプリケーションと WebLogic Server インスタンス間の相互運用性を実現するためにサポートされるオプションを示します。
表 7-2 クライアント/サーバ間の相互運用性
クライアント/サーバ間の相互運用性 | WebLogic Server 8.1 | WebLogic Server 9.x | Weblogic Server 10.x |
---|---|---|---|
WebLogic Server 8.1 |
RMI/T3 RMI/IIOP HTTP Web サービス |
RMI/T3 RMI/IIOP HTTP Web サービス |
RMI/T3 RMI/IIOP HTTP Web サービス |
WebLogic Server 9.x |
RMI/T3 RMI/IIOP HTTP Web サービス |
RMI/T3 RMI/IIOP HTTP Web サービス |
RMI/T3 RMI/IIOP HTTP Web サービス |
WebLogic Server 10.0 |
RMI/T3 RMI/IIOP HTTP Web サービス |
RMI/T3 RMI/IIOP HTTP Web サービス |
RMI/T3 RMI/IIOP HTTP Web サービス |
Sun JDK ORB クライアント脚注 1 |
RMI/IIOP 脚注 2 |
RMI/IIOP 脚注 3 |
RMI/IIOP 脚注 4 |
脚注 1 このオプションには、クライアント アプリケーションから JDK ORB への直接の呼び出しが含まれます。
脚注 2 JDK 1.3.x または 1.4.1。クラスタリングはありません。トランザクションの伝播はありません
脚注 3 JDK 5.0。クラスタリングはありません。トランザクションの伝播はありません
脚注 4 JDK 5.0。クラスタリングはありません。トランザクションの伝播はありません