ナビゲーションをスキップ

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

  前 次 前/次ボタンと目次ボタンとの区切り線 目次  

RMI over IIOP の概要

以下の各節では、RMI over IIOP についての概要を説明します。

 


RMI および RMI over IIOP とは

RMI-IIOP を理解するには、まず RMI を実務レベルで理解している必要があります。RMI (Remote Method Invocation) は、Java での分散オブジェクト コンピューティングの標準規格です。RMI を使用すると、アプリケーション側では、ネットワーク内の別の場所に存在するオブジェクトへの参照を取得した後、そのオブジェクトのメソッドを、そのオブジェクトがあたかもクライアントの仮想マシンのローカルに存在するかのように呼び出すことができます。RMI は、分散 Java アプリケーションが複数の Java 仮想マシン上でどのように動作するかを規定するものです。RMI は Java で記述されており、Java プログラム専用のものです。

RMI over IIOP は、IIOP プロトコルを介して動作するように RMI を拡張したものです。この拡張には役に立つメリットが 2 つあります。まず、Java-to-Java パラダイムでは、これによって、標準 IIOP (Internet Interop-Orb-Protocol) に対応したプログラムを作成できるようになります。一方、Java 単独の環境以外で作業している場合には、この拡張によって、Java プログラムから CORBA (Common Object Request Broker Architecture) クライアントとやり取りし、CORBA オブジェクトを実行できるようになります。CORBA クライアントは、さまざまな言語 (C++ を含む) で記述することができ、インタフェース定義言語 (IDL : Interface-Definition-Language) を用いてリモート オブジェクトとやり取りすることができます。

 


WebLogic RMI-IIOP の概要

RMI over IIOP は RMI プログラミング モデルに基づいたものであり、ある程度ですが、JNDI (Java Naming and Directory Interface) にも基づいています。WebLogic RMI と JNDI の詳細については、「WebLogic RMI の機能とガイドライン」および『WebLogic JNDI プログラマーズ ガイド』を参照してください。これらの技術はどちらも RMI-IIOP にとってきわめて重要なものなので、RMI-IIOP アプリケーションの構築を始める前に、これらの技術の一般的な概念についてよく理解しておくことを強くお勧めします。

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

このマニュアルでは、RMI および RMI-IIOP を用いるさまざまなクライアント タイプに応じたアプリケーションの作成方法について説明します。RMI-IIOP アプリケーションをどのように開発するかは、どのようなサービスやクライアントを統合するかによって決まります。

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

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

RMI オブジェクトの関係


 

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

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

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

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

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

開発者にとっては、CORBA/IDL クライアントから J2EE サービスにアクセスできることが必要です。しかし、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 8.1 と WebLogic Server 6.x および 7.0 の間の相互運用性は、以下のシナリオでサポートされています。

サーバ間の相互運用性

次の表に、2 つの WebLogic Server インスタンス間の相互運用性を実現するためにサポートされるオプションを示します。

表 1-1 WebLogic Server 間の相互運用性

サーバ

(受信側)

サーバ (発信側)

WebLogic Server 6.0

WebLogic Server 6.1 SP2 および SP2 以降のサービス パック

WebLogic Server 7.0

WebLogic Server 8.1

WebLogic Server 6.0

RMI/T3

HTTP

HTTP

HTTP

Web サービス1

HTTP

Web サービス2

WebLogic Server 6.1 SP2 および SP2 以降のサービス パック

HTTP

RMI/T3

RMI/IIOP3

HTTP

Web サービス

RMI/T3

RMI/IIOP4

HTTP

Web サービス

RMI/T35

RMI/IIOP6

HTTP

Web サービス7

WebLogic Server 7.0

HTTP

RMI/T3

RMI/IIOP8

HTTP

RMI/T3

RMI/IIOP9

HTTP

Web サービス

RMI/T3

RMI/IIOP10

HTTP

Web サービス11

WebLogic Server 8.1

HTTP

RMI/T3

RMI/IIOP12

HTTP

RMI/T3

RMI/IIOP13

HTTP

Web サービス14

RMI/T3

RMI/IIOP

HTTP

Web サービス

Sun JDK ORB クライアント15

RMI/IIOP16

RMI/IIOP17

RMI/IIOP18

RMI/IIOP19


1. 「サーバ (受信側)」のバージョンから生成されたポータブル クライアント スタブを使用する必要があります。


2. 「サーバ (受信側)」のバージョンから生成されたポータブル クライアント スタブを使用する必要があります。


3.  クラスタ化された URL はサポートされません。また、トランザクションの伝播はありません。


4.  クラスタ化された URL はサポートされません。また、トランザクションの伝播はありません。


5.  6.1 SP4 より前のリリースでは、マーシャリング中の例外に関する確認済みの問題があります。


6.  クラスタ化された URL はサポートされません。また、トランザクションの伝播はありません。 マーシャリング中の例外に関する確認済みの問題があります。


7.  「サーバ (受信側)」のバージョンから生成されたポータブル クライアント スタブを使用する必要があります。


8.  クラスタ化された URL はサポートされません。また、トランザクションの伝播はありません。


9.  クラスタ化された URL はサポートされません。


10.  クラスタ化された URL はサポートされません。


11.  「サーバ (受信側)」のバージョンから生成されたポータブル クライアント スタブを使用する必要があります。


12.  クラスタ化された URL はサポートされません。また、トランザクションの伝播はありません。 マーシャリング中の例外に関する確認済みの問題があります。


13. クラスタ化された URL はサポートされません。また、トランザクションの伝播はありません。


14.  「サーバ (受信側)」のバージョンから生成されたポータブル クライアント スタブを使用する必要があります。


15. このオプションには、WebLogic Server にホストされるアプリケーションから JDK ORB への直接の呼び出しが含まれます。


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


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


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


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


 

クライアント/サーバ間の相互運用性

次の表に、スタンドアロン Java クライアント アプリケーションと WebLogic Server インスタンス間の相互運用性を実現するためにサポートされるオプションを示します。

表 1-2 クライアント/サーバ間の相互運用性

サーバ

(受信側)

クライアント (スタンドアロン)

WebLogic Server 6.0

WebLogic Server 6.1

WebLogic Server 7.0

WebLogic Server 8.1

WebLogic Server 6.0

RMI

HTTP

HTTP

HTTP

Web サービス1

HTTP

Web サービス2

WebLogic Server 6.1

HTTP

RMI/T3

HTTP

Web サービス

RMI/T3

HTTP

Web サービス3

RMI/T34

HTTP

Web サービス5

WebLogic Server 7.0

HTTP

RMI/T3

RMI/IIOP6

HTTP

RMI/T3

RMI/IIOP7

HTTP

Web サービス

RMI/T3

RMI/IIOP8

HTTP

Web サービス9

WebLogic Server 8.1

HTTP

RMI/T3

RMI/IIOP10

HTTP

RMI/T3

RMI/IIOP11

HTTP

Web サービス12

RMI/T3

RMI/IIOP

HTTP

Web サービス

Sun JDK ORB クライアント13

RMI/IIOP14

RMI/IIOP15

RMI/IIOP16

RMI/IIOP17


1.  「サーバ (受信側)」のバージョンから生成されたポータブル クライアント スタブを使用する必要があります。


2.  「サーバ (受信側)」のバージョンから生成されたポータブル クライアント スタブを使用する必要があります。


3.  「サーバ (受信側)」のバージョンから生成されたポータブル クライアント スタブを使用する必要があります。


4.  6.1 SP4 より前のリリースでは、マーシャリング中の例外に関する確認済みの問題があります。


5.  「サーバ (受信側)」のバージョンから生成されたポータブル クライアント スタブを使用する必要があります。


6.  クラスタやフェイルオーバはサポートされません。トランザクションの伝播はありません。


7.  クラスタやフェイルオーバはサポートされません


8.  クラスタやフェイルオーバはサポートされません


9.  「サーバ (受信側)」のバージョンから生成されたポータブル クライアント スタブを使用する必要があります。


10.  クラスタやフェイルオーバはサポートされません。また、トランザクションの伝播はありません。マーシャリング中の例外に関する確認済みの問題があります。


11.  クラスタやフェイルオーバはサポートされません。また、トランザクションの伝播はありません。マーシャリング中の例外に関する確認済みの問題があります。


12.  「サーバ (受信側)」のバージョンから生成されたポータブル クライアント スタブを使用する必要があります。


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


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


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


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


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


 

 

フッタのナビゲーションのスキップ  ページの先頭 前 次