ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebLogic Server RMIのプログラミング
11gリリース1 (10.3.6)
B61626-04
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

7 RMI over IIOPの使い方

この章では、RMI over IIOP (RMI-IIOP)の概要とこのリリースと以前のリリースのWebLogic Server間のRMI-IIOP相互運用性について説明します。

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 RMI-IIOPの概要

WebLogic Serverには、独自のORB実装が用意されています。このORBは、プログラムでORB.init()が呼び出されたとき、またはJNDIで"java:comp/ORB"がルックアップされたときにデフォルトでインスタンス化されます。Weblogic ServerがJ2SE 1.4でCorbaをサポートするために準拠している仕様については、「付録A WebLogic ServerでのCORBAのサポート」を参照してください。

WebLogic ServerでのRMI-IIOP実装の機能は以下のとおりです。

RMI-IIOPアプリケーションをどのように開発するかは、どのようなサービスやクライアントを統合するかによって決まります。RMIおよびRMI-IIOPを使用する様々なクライアント・タイプに応じたアプリケーションの作成方法の詳細は、『Oracle WebLogic Serverスタンドアロン・クライアントのプログラミング』を参照してください。

以下の図はIIOPを使用するオブジェクトのRMIオブジェクトの関係を示します。

図7-1 RMIオブジェクトの関係

図7-1の説明が続きます
「図7-1 RMIオブジェクトの関係の説明」

RMI (Java)クライアント使用型RMI-IIOPのサポート

標準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 WebLogic Serverスタンドアロン・クライアントのプログラミング』を参照してください。

Tuxedoクライアント使用型RMI-IIOPのサポート

WebLogic ServerはWebLogic Tuxedo Connectorの実装も備えています。これは、Tuxedoサーバーとの相互運用を可能にする基底の技術です。WebLogic Tuxedo Connectorを使用すると、TuxedoをORBとして活用したり、WebLogic Server上で開発したアプリケーションと従来のTuxedoシステムを統合することができます。詳細は、『Oracle WebLogic Server WebLogic Tuxedo Connector管理ガイド』を参照してください。

CORBA/IDLクライアント使用型RMI-IIOPのサポート

開発者にとっては、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.x

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.x

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。クラスタリングはありません。トランザクションの伝播はありません