Oracle® Fusion Middleware Oracle WebLogic Server RMIアプリケーションの開発 12c (12.1.2) E48079-02 |
|
![]() 前 |
![]() 次 |
この章では、RMI over IIOP (RMI-IIOP)の概要と、このリリースと以前のWebLogic ServerリリースでのRMI-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がJava SEで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 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 WebLogic Serverスタンドアロン・クライアントの開発』を参照してください。
WebLogic ServerはWebLogic Tuxedo Connectorの実装も備えています。これは、Tuxedoサーバーとの相互運用を可能にする基底の技術です。WebLogic Tuxedo Connectorを使用すると、TuxedoをORBとして活用したり、WebLogic Server上で開発したアプリケーションと従来のTuxedoシステムを統合することができます。詳細は、『Oracle WebLogic Server Oracle WebLogic 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をサポートできます。