![]() |
![]() |
![]() |
![]() |
![]() |
<Default ? Font>Oracle Tuxedoドメインのマシンにホストされているサーバー。Oracle Tuxedo CORBAサーバーは、Oracle Tuxedo CORBAのbuildobjserverコマンドを使用して作成されます。CORBAサーバーは、セキュリティ、トランザクション、オブジェクトの状態管理など、<Default ?Font>Oracle Tuxedoの機能を実装します。サーバーは、<Default ?Font>Oracle Tuxedoドメイン内外の任意のサーバーを呼び出すことができます。<Default ? Font>Oracle Tuxedoドメイン内に配置されたクライアント。CORBA ORBを使用して、<Default ? Font>Oracle Tuxedoドメイン内外のオブジェクトを呼び出します。ネイティブ・クライアントのホストには、<Default ? Font>Oracle Tuxedoの管理コンポーネントおよびインフラストラクチャ・コンポーネント(tmadmin、FactoryFinder、ISL/ISHなど)があります。ネイティブ・クライアントは、環境オブジェクトを使用してCORBAオブジェクトにアクセスします。ネイティブC++クライアントはbuildobjclientコマンドを使用して作成し、ネイティブJavaクライアントはサード・パーティORB提供のツールを使用して作成します。<Default ? Font>Oracle Tuxedoドメイン内に配置されていないクライアント。リモート・クライアントは、CORBA ORBを使用して、<Default ? Font>Oracle Tuxedoドメイン内外のオブジェクトを呼び出すことができます。リモート・クライアントのホストには、<Default ? Font>Oracle Tuxedoの管理コンポーネントおよびインフラストラクチャ・コンポーネント(tmadmin、FactoryFinder、ISL/ISHなど)はありませんが、リモート・クライアントがオブジェクトを呼び出すことができるサポート・ソフトウェア(CORBA ORB)があります。リモート・クライアントは、環境オブジェクトを使用してCORBAオブジェクトにアクセスします。リモートC++クライアントはbuildobjclientコマンドを使用して作成し、リモートJavaクライアントはサード・パーティORB提供のツールを使用して作成します。次の2つの目的を持つプロセス。(1)一部のビジネス・アクションのスタータとして機能するコードを実行する。(2)オブジェクトを呼び出すためのメソッド・コードを実行する。<Default ? Font>Oracle Tuxedoドメイン内に配置された共同クライアント/サーバー。ネイティブ共同C++クライアント/サーバーは、buildobjclientコマンドを使用して作成します。Javaネイティブ共同クライアント/サーバーはサポートされていません。次の2つの目的を持つプロセス。(1)一部のビジネス・アクションのスタータとして機能するコードを実行する。(2)オブジェクトを呼び出すためのメソッド・コードを実行する。<Default ? Font>Oracle Tuxedoドメイン外に配置された共同クライアント/サーバー。共同クライアント/サーバーは、<Default ? Font>Oracle Tuxedo TP Frameworkを使用しないため、クライアントとORBの間でより直接的な対話が必要です。リモート共同C++クライアント/サーバーは、buildobjclientコマンドを使用して作成し、リモートJavaクライアント/サーバーは、サード・パーティORB提供のツールを使用して作成します。図16-1に、リモート・クライアントが接続されたアプリケーションの例を示します。リモート・クライアントからCORBAサーバー・アプリケーションへのアクセス・リクエストは、ネットワーク経由でISHに送信されます。このプロセスがアプリケーション・サーバーにリクエストを送信し、その応答をリモート・クライアントに返します。
• TUXDIR - このリモート・クライアント上のOracle Tuxedo CORBAクライアント・ソフトウェアの場所。クライアントを接続するにはこの値が設定されていなければなりません。
• TOBJADDR - クライアントがコンタクトするISLのネットワーク・アドレス。この値は、アプリケーションの構成ファイルで指定されたISLプロセスのアドレスと一致していなければなりません。
注意: プログラマがBootstrapコンストラクタまたはTOBJADDRで指定するネットワーク・アドレスは、サーバー・アプリケーションのUBBCONFIGファイルのネットワーク・アドレスと完全に一致する必要があります。アドレスの形式や、大文字/小文字も一致する必要があります。これらのアドレスが一致しないと、Bootstrapコンストラクタの呼出しが失敗し、一見無関係と思われる次のエラー・メッセージが表示されます。
ERROR: Unofficial connection from client at
<tcp/ip address>/<port-number>:
たとえば、ISLコマンド行オプション文字列(サーバー・アプリケーションのUBBCONFIGファイル)で、ネットワーク・アドレスが//TRIXIE:3500;TLSv1.2に指定されている場合、BootstrapコンストラクタまたはTOBJADDRで//192.12.4.6:3500;TLSv1.2や//trixie:3500;TLSv1.2を指定すると、接続が失敗します。
UNIXシステムでは、ホスト・システムでuname -nコマンドを使用して大文字/小文字を判別します。Windowsシステムでは、ホスト・システムで「コントロール・パネル」の「ネットワーク」を使用して大文字/小文字を指定します。または、環境変数COMPUTERNAMEを使用します。次に例を示します。
echo %COMPUTERNAME%MAXWSCLIENTSは、起動時に、<Default ?Font>Oracle Tuxedoシステムに対して、リモート・クライアント専用として予約するアクセサ・スロットの数を通知します。ネイティブ・クライアントの場合、各アクセサ・スロットに必要なセマフォは1つです。一方、ISHプロセス(リモート・クライアントのかわりにネイティブ・プラットフォーム上で実行するプロセス)は、リモート・クライアントのアクセスを単一のアクセサ・スロットに多重化するので、必要なセマフォは1つだけです。この点も、リモート機能の別の利点の1つです。多くのクライアントをネイティブ・プラットフォームからリモート・システムに移動することによって、アプリケーションで使用するIPCリソースを減らすことができます。MAXWSCLIENTSは、MAXACCESSERSに設定された合計のうち、指定された数のアクセサ・スロットを使用します。MAXWSCLIENTSの設定時には、ネイティブ・クライアントとサーバーを収容するために必要な数のスロットを残しておく必要があります。MAXWSCLIENTSにMAXACCESSERSより大きい値を指定しないでください。次の表は、MAXWSCLIENTSパラメータの説明です。
リスト16-1に、リモート・クライアントをサポートするサンプルUBBCONFIGファイルを示します。次の特徴があります。
•
• IIOPリスナー/ハンドラは、ポート2500のホストTRIXIEでリスニングします。
• ネットワーク・プロバイダは/dev/tcp (-d)です。
•
• リスト16-1 サンプルUBBCONFIGファイルの構成アウトバウンドIIOPサポートは、クライアントのコールバックをサポートするために必要です。<Default ? Font>Oracle WebLogic Enterpriseバージョン4.0および4.1では、ISL/ISHはインバウンドのハーフゲートウェイでした。アウトバウンドIIOPサポートによって、アウトバウンドのハーフゲートウェイがISL/ISHに追加されます。(図16‑2を参照してください。)
• 双方向およびデュアル・ペア接続のアウトバウンドIIOPでは、ISHに接続された共同クライアント/サーバーに存在するオブジェクト参照へのアウトバウンドIIOPが提供されます。非対称のアウトバウンドIIOPでは、ISHに接続された共同クライアント/サーバーに存在しないオブジェクト参照へのアウトバウンドIIOP接続が可能です。また、現在ISHに接続されているクライアント上のオブジェクト参照だけでなく、任意のオブジェクト参照をOracle Tuxedo CORBAクライアントによって呼び出すことができます。図16-3 双方向接続
1. サーバーは、あるソースからオブジェクト参照を取得します。ネーミング・サービスやstring_to_objectを取得したり、クライアントを介して渡すこともできますが、クライアント自体に存在するものは対象外です。ISHに接続されたクライアントにはオブジェクト参照が存在しないため、双方向接続を使用して送信時呼出しを行うことはできません。Oracle Tuxedo CORBAサーバーがオブジェクト参照を呼び出します。図16-4 非対称のアウトバウンドIIOP
1. クライアントは、オブジェクト参照を作成し、Bootstrap関数(register_callback_port)を呼び出して、オブジェクト参照を渡します。
3. クライアントは、Oracle Tuxedo CORBAサーバーを呼び出して、オブジェクト参照を渡します。register_callback_port呼出しによって、ISHはホスト/ポートを含むサービス・コンテキストを作成します。このサービス・コンテキストは、メッセージと共にOracle Tuxedo CORBAサーバーに送信されます。図16-5 デュアル・ペア接続によるアウトバウンドIIOP
注意:
注意: 構成済のTuxedo管理エンティティにおけるバージョンおよび許容可能バージョン範囲を指定するため、3つの属性(REQUEST_VERSION、VERSION_POLICYおよびVERSION_RANGE)が構成ファイル内で使用されます。これらの3つの属性は、リスト16-2に示すように、UBB構成ファイルの*GROUPおよび*RESOUCEセクションで構成できます詳細は、Oracle Tuxedoリファレンス・ガイドのセクション5 - 『ファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』のUBBCONFIG(5)に関する項を参照してください。リスト16-2 UBB構成ファイルのアプリケーション・サービス・バージョン構成server1は、SVC2、SVC3を通知します。server1はGRP1に属するため、server1、SVC2、SVC3のREQUEST_VERSIONはGRP1から継承されます。GRP1の構成済REQUEST_VERSIONは2であるため、server1、SVC2、SVC3のREQUEST_VERSIONも2です。SVC2、SVC3のVERSION_RANGE、VERSION_POLICYはGRP1から継承されます。GRP1には構成済のVERSION_RANGEがないため、*RESOURCEセクションから継承され、「1-2」となります。SVC2、SVC3のVERSION_POLICYは、GRP1から継承されます。GRP1の構成済VERSION_POLICYはPROPAGATEであるため、SVC2、SVC3のVERSION_POLICYもPROPAGATEです。server2は、SVC1、SVC2、SVC3を通知します。server1で説明したものと同じルールに従い、server2、SVC1、SVC2、SVC3のREQUEST_VERSIONは1、SVC1、SVC2、SVC3のVERSION_RANGEは「3-4」、SVC1、SVC2、SVC3のVERSION_POLICYはnon-PROPAGATEになります。server3は、SVC1、SVC2を通知します。server1で説明したものと同じルールに従い、server3、SVC1、SVC2のREQUEST_VERSIONは3、SVC1、SVC2のVERSION_RANGEは「1-3」、SVC1、SVC2のVERSION_POLICYはnon-PROPAGATEになります。/WSクライアントがアプリケーションに参加する場合、そのREQUEST_VERSIONはWSLによって決定され、REQUEST_VERSIONはUBB構成ファイルに従い4です。つまり、/WSクライアントのREQUEST_VERSIONは4になります。JOLTクライアントがアプリケーションに参加する場合、そのREQUEST_VERSIONはJSLによって決定され、REQUEST_VERSIONはUBB構成ファイルに従い3です。つまり、/WSクライアントのREQUEST_VERSIONは4になります。リスト16-3に、ドメイン構成ファイルのアプリケーション・サービス構成の例を示します。リスト16-3 ドメイン構成ファイルのアプリケーション・サービス・バージョン構成REMOTEDOM1にはREQUEST_VERSIONが構成されていないため、ドメイン・ゲートウェイによってREMOTEDOM1から送信されるすべてのリクエストのリクエスト・バージョンが伝播されます、つまり、ドメイン・ゲートウェイによって受信リクエスト・バージョンが変更されることはありません。REMOTEDOM2のREQUEST_VERSIONは4に構成されているため、ドメイン・ゲートウェイによってREMOTEDOM2から送信されるすべてのリクエストのリクエスト・バージョンが4に変更されます。LOCALDOMはR_SVC1サービスをREMOTEDOM1からインポートし、VERSION_RANGEを「1-3」に指定します。つまり、LOCALDOMのR_SVC1サービスのVERSION_RANGEは「1-3」になります。LOCALDOMはR_SVC2サービスをREMOTEDOM2からインポートし、VERSION_RANGEを「4-6」に指定します。つまり、LOCALDOMのR_SVC2サービスのVERSION_RANGEは「4-6」になります。VERSION_RANGEを指定しないで、LOCALDOMはR_SVC3サービスをインポートします。インポートしたサービスのVERSION_RANGEを決定するのは、依然として*GROUPおよび*RESOURCEのVERSION_RANGE構成であるため、*RESOUCEのVERSION_RANGEは「1-2」、R_SVC3のVERSION_RANGEは「1-2」です。詳細は、「UBB構成ファイルのアプリケーション・サービス・バージョン構成」を参照してください。
1.
2. ネイティブ・クライアントがSVC3を呼び出す必要がある場合、ネイティブ・クライアントのREQUEST_VERSIONは1であり、サービス候補は次のようになります。つまり、ネイティブ・クライアントはServer1:SVC1を呼び出します
3.
4.
5. UBB構成ファイルの*GROUPまたは*RESOURCEセクションのREQUEST_VERSION、VERSION_RANGEまたはVERSION_POLICYを構成できます。低レベルの構成は高レベルの構成より優先されます。どのレベルにもユーザー構成サービス・バージョンの構成がない場合、システムではデフォルト値が使用されます。そのため、ユーザーが構成した構成とデフォルト値では結果が大きく異なることになります。ユーザーがMIBを使用してREQUEST_VERSION、VERSION_RANGEまたはVERSION_POLICYを変更する場合は、これがユーザー構成サービス・バージョンの構成になります。MIBを使用してこの変更内容をデフォルト値にリセットする方法を提供することが必要になります。そうしないと、MIB操作でUBB構成ファイルを元の状態に戻すことができません。リスト16-4 MIBによるユーザー構成サービス・バージョン情報のリセット