|
注意: | Oracle Tuxedo CORBA Java クライアントと Oracle Tuxedo CORBA Java クライアント ORB は Tuxedo 8.1 で非推奨になり、サポートされなくなりました。すべての Oracle Tuxedo CORBA Java クライアントおよび Oracle Tuxedo CORBA Java クライアント ORB のテキスト参照とコード サンプルは、サード パーティ製の Java ORB ライブラリを実装または実行する際の参考や、プログラマの参照用としてのみ使用してください。 |
注意 : | サード パーティの CORBA Java ORB のテクニカル サポートは、各ベンダによって提供されます。Oracle Tuxedo では、サード パーティの CORBA Java ORB に関する技術的なサポートやマニュアルは提供していません。 |
CORBA サーバ間通信を使用すると、Oracle Tuxedo アプリケーションで CORBA オブジェクトを呼び出し、その CORBA オブジェクトからの呼び出しを処理できます (コールバック オブジェクトと呼ばれる)。CORBA オブジェクトは Oracle Tuxedo ドメインの内部にも外部にも配置できます。
Oracle Tuxedo 製品は、インターネット ORB 間プロトコル (IIOP) バージョン 1.2 の実装を提供します。これは CORBA オブジェクトとの間でインバウンドおよびアウトバウンドの通信を可能にするものです。サーバ間通信により、ネットワーク リソースをより効率的に利用できるようになり、サード パーティのオブジェクト リクエスト ブローカ (ORB) との統合が提供されます。加えて、サーバ間通信は IIOP のバージョン 1.0 および 1.1 を使用して実装される CORBA オブジェクトによりサポートされています。
サーバ間通信により、クライアント アプリケーションがほかのクライアント アプリケーションからの要求に対処するサーバ アプリケーションとして動作できるようになります。さらに、サーバ間通信を使用すると Oracle Tuxedo サーバ アプリケーションでほかの ORB に対してオブジェクトを呼び出せます。
注意 : | Oracle Tuxedo および WebLogic Enterprise 製品の旧バージョンでは、クライアント アプリケーションは、Object Management Group (OMG) インタフェース定義言語 (IDL) で定義された CORBA オブジェクトのオペレーションを呼び出していました。サーバ アプリケーションは、CORBA オブジェクトのオペレーションを実装していました。サーバ アプリケーション内の CORBA オブジェクトは、Oracle Tuxedo TP フレームワークおよび環境オブジェクトを使用して、状態管理、セキュリティ、およびトランザクションの実装を行っていました。これらの CORBA オブジェクトは、Oracle Tuxedo オブジェクトと呼ばれます。サーバ アプリケーションはほかのサーバ アプリケーションに対してクライアント アプリケーションとして動作できましたが、クライアント アプリケーションがほかのクライアント アプリケーションに対し、サーバ アプリケーションとして動作することはできませんでした。 |
サーバ間通信機能は、コールバック オブジェクトを介して利用できます。コールバック オブジェクトには、次の 2 つの目的があります。
コールバック オブジェクトは TP フレームワークを使用しません。また、Oracle Tuxedo の管理下には置かれません。コールバック オブジェクトは、トランザクションの振る舞い、セキュリティ、信頼性、およびスケーラビリティが重要ではない場合にのみ使用してください。
コールバック オブジェクトは、共同クライアント/サーバ アプリケーションに実装されます。共同クライアント/サーバ アプリケーションは、以下のもので構成されています。
注意 : | Oracle Tuxedo CORBA 製品のうち、CORBA 環境のリリース 8.0 には、Oracle WebLogic Enterprise の旧リリースで提供されていた Oracle クライアント環境オブジェクトが引き続き含まれており、Oracle Tuxedo 8.0 CORBA クライアントでも使用できます。Oracle Tuxedo 8.0 クライアントは、これらの環境オブジェクトを使用して、ブートストラップ処理、セキュリティ、およびトランザクション オブジェクトへの初期参照を解決する必要があります。このリリースでは、OMG Interoperable Naming Service (INS) を使用してブートストラップ処理、セキュリティ、およびトランザクション オブジェクトへの初期参照を解決するためのサポートが追加されています。INS の詳細については、『Tuxedo CORBA プログラミング リファレンス』の「CORBA ブートストラップ処理のプログラミング リファレンス」を参照してください。 |
図 1-1 では、共同クライアント/サーバ アプリケーションの構造を示します。
C++ による共同クライアント/サーバ アプリケーションがサポートされています。
共同クライアント/サーバ アプリケーションでは、IIOP を使用して Oracle Tuxedo サーバ アプリケーションと通信します。IIOP は、使用している IIOP プロトコルのバージョンに応じて、以下の方法で動作できます。
共同クライアント/サーバ アプリケーションは、常に Oracle Tuxedo のドメイン内の同じ IIOP サーバ ハンドラ (ISH) に接続されます。その ISH は、共同クライアント/サーバ アプリケーションとの間で要求を送受信するのに、同じ接続を再利用します。
共同クライアント/サーバ アプリケーションでは、Bootstrap オブジェクトの register_callback_port メソッドを使用して、共同クライアント/サーバ アプリケーションの受信ポートを ISH に登録します。共同クライアント/サーバ アプリケーション内のコールバック オブジェクトに対するサーバ アプリケーションからの呼び出しは、共同クライアント/サーバ アプリケーションに接続された ISH 経由でルーティングされます。この ISH では、接続された共同クライアント/サーバ アプリケーションとの間で要求の送信と応答の受信を行うために、第 2 のアウトバウンド接続を使用します。アウトバウンド接続は、受信時接続とペアになります。これは、接続が 1 つしか使用されない双方向 IIOP とは異なる点です。
共同クライアント/サーバ アプリケーションにより、任意のコールバック オブジェクトを呼び出せます。呼び出す対象は、ISH に接続された共同クライアント/サーバ アプリケーションで実装されたコールバック オブジェクトに限りません。非対称 IIOP を使用すると、呼び出しを処理するために使用可能な ISH を探すよう ORB インフラストラクチャに強制できます。
注意 : | リモート オブジェクトのタイプと希望するアウトバウンド IIOP コンフィグレーションによっては、さらに別のプログラミング タスクを実行しなければならない場合があります。 |
表 1-1 では、オブジェクトの各タイプとアウトバウンド IIOP についての要件を示します。
双方向、デュアル ペア接続、および非対称 IIOP の詳細については、『Tuxedo CORBA プログラミング リファレンス』を参照してください。
コールバック オブジェクトには、オブジェクト参照の有効期間やオブジェクト ID がそのオブジェクトに割り当てられる方法を制御するポリシーが割り当てられます。オブジェクト ポリシーは、コールバック オブジェクトへの参照作成時に定義されます。また、これらのポリシーはコールバック ラッパー オブジェクト内で定義されるので、共同クライアント/サーバ アプリケーションの開発が簡略化されます。
コールバック オブジェクトでは、次のオブジェクト ポリシーがサポートされています。
一時オブジェクト ポリシーを備えたコールバック オブジェクトを作成する場合、オブジェクト参照は共同クライアント/サーバ アプリケーションが終了するまで、または stop_all_objects
メソッドが呼び出されるまでの間のみ有効です。
永続オブジェクト ポリシーを備えたコールバック オブジェクトを作成する場合、オブジェクト参照は共同クライアント/サーバ アプリケーションの終了後でも有効です。共同クライアント/サーバ アプリケーションが、同一オブジェクト ID についてサーバントを終了、再起動、およびアクティブ化すると、サーバントはそのオブジェクト参照に対して行われた要求を受け取ります。
注意 : | ネイティブ共同クライアント/サーバ アプリケーション、つまり呼び出し側のサーバ アプリケーションと同じ Oracle Tuxedo ドメインに配置された共同クライアント/サーバ アプリケーションを作成する場合は、永続/システム ID または永続/ユーザ ID のオブジェクト ポリシーを使用することはできません。 |