WebLogic RMI プログラマーズ ガイド

     前  次    新しいウィンドウで目次を開く     
ここから内容の開始

RMI over IIOP の使い方

以下の各節では、RMI over 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 をサポートするために準拠している仕様については、「WebLogic Server での CORBA のサポート」を参照してください。

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

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

図 7-1 に、IIOP を使用するオブジェクトの RMI オブジェクト関係を示します。

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

RMI オブジェクトの関係

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

標準 IIOP プロトコルを活用して、RMI-IIOP を Java/RMI クライアントで使用することができます。WebLogic Server では、新しい小規模クライアント jar に基づいた新しい Java EE アプリケーション クライアント (シン クライアント) など、Java-to-Java 環境で RMI-IIOP を使用する複数の方法を用意しています。この新しいシン クライアントを使用するには、クライアントサイドの CLASSPATH に (WL_HOME/server/lib にある) wlclient.jar を含める必要があります。RMI-IIOP クライアント オプションの詳細については、『スタンドアロン クライアント プログラマーズ ガイド』を参照してください。

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

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

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

開発者にとっては、CORBA/IDL クライアントから Java EE サービスにアクセスできることが必要です。しかし、Java と CORBA は非常に異なるオブジェクト モデルに基づいています。このため、この 2 つのプログラミング パラダイムに基づいて作成されたオブジェクト間でのデータ共有は、最近までは、Remote と CORBA のプリミティブ データ型だけに限られていました。CORBA の構造体も Java のオブジェクトも、異なるオブジェクト間で簡単にやり取りすることはできませんでした。この制限を解消するために、Object Management Group (OMG) によって 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.0
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/IIOP2
RMI/IIOP3
RMI/IIOP4

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.0
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/IIOP2
RMI/IIOP3
RMI/IIOP4

1 このオプションには、クライアント アプリケーションから JDK ORB への直接の呼び出しが含まれます。

2 JDK 1.3.x または 1.4.1。クラスタリングはありません。トランザクションの伝播はありません。

3 JDK 5.0。クラスタリングはありません。トランザクションの伝播はありません。

4 JDK 5.0。クラスタリングはありません。トランザクションの伝播はありません。


ページの先頭       前  次