Oracle Tuxedoアプリケーションの設定

     前  次    新規ウィンドウで目次を開く  新規ウィンドウで索引を開く  PDFとして表示 - 新規ウィンドウ  Adobe Readerを入手 - 新規ウィンドウ
コンテンツはここから始まります

ECIDを伝播するためのTuxedoの構成

このトピックには次の項が含まれます:

 


概要

Tuxedoは、12c (12.1.1)リリースからECID伝播サポートが強化されています。図19-1が示すように、様々なTuxedo境界にまたがるECID伝播がサポートされています。

図19-1 ECID伝播

ECID伝播

この機能を有効化すると、受信側としてTuxedoは、境界を横断する各リクエスト呼出しの中にECIDがあるかどうかをチェックするようになります。存在する場合は、受信されたECIDは呼出しパス全体に沿って伝播されますが、存在しない場合は、境界ノードとしてドメイン・ゲートウェイは当該呼出しのECIDを生成し、正確に構成されたら伝達しようと試みます。

Tuxedoコンポーネントによって発信される呼出しの場合、ネイティブ・クライアント、WSクライアントまたはJoltクライアントなどのクライアントは、正確に構成されるとECIDを生成できます。

注: JCAサポートはこの機能の対象外です。

この項では、次に示すECID伝播の4つのシナリオについて説明します。

TuxedoからデータベースへのECIDの伝播

Tuxedoでは、OCI (Oracle Call Interface)を経由したECIDのOracle DBへの伝播をサポートしています。これは一方向の伝播です。理論上、OCI/DBはリクエスト呼出しを発信することはないため、反対方向(DBからTuxedoへ)の伝播をサポートする必要はありません。

OCIでは、登録APIおよびコールバック関数インタフェースが実装されています。コールバック関数の実装によって、伝播の詳細が処理されます。プロセスは次に示すとおりです。

  1. Tuxedoサーバー・プロセスが起動し、ECIDを有効化すると、コールバック関数の実装を登録するため登録APIが呼び出されます。
  2. OCIはコールバック関数を呼び出し、往復する前にDB接続/セッションの識別に使用できる関連コンテキストを受け渡します。
  3. コールバック実装によってTuxedoコンテキストから関連ECIDが取得され、そのECIDがOracle DBに受け渡されます。

TuxedoおよびWLS間のECIDの伝播

WTCは、WLSアプリケーションとTuxedoサービス間の相互運用性を確立します。インタフェースとして、WTCにはTuxedoとWLS間のECIDの伝播を実行する完全な機能があります。

WebサービスをSALTゲートウェイ(GWWS)を通してSOAPまたはRESTのいずれかのモードで使用している場合も、呼出しの方向(TuxedoからのWLSの呼出しか、WLSからのTuxedoの呼出しか)を問わず、ECIDをTuxedoとWLS*の間で伝播できます。WLS*で他のOracle製品と一緒にECIDコンテキストを伝播するときと同様に、このモードでは、ECIDがHTTPヘッダーに含められます。

注: * WLSは、WLS 12c (12.1.3)以上のリリースである必要があります。

Tuxedo内のECIDの伝播

Tuxedo内のECID伝播(ドメイン内およびドメイン間の両方)では、メッセージ内のMETA_TCMフィールドが活用されます。Tuxedoクライアント、サーバーおよびドメイン・ゲートウェイではすべて、メッセージのMETA_TCMセクション内でECIDを取得または設定するサポートが強化されています。

Tuxedo内では、次の3つのATMI APIを使用してECID生成/伝播が実行されます。

ネイティブ/WS/Joltクライアントおよびドメイン・ゲートウェイによるECIDの生成

境界コンポーネントとして、ネイティブ/WS/Joltクライアントおよびドメイン・ゲートウェイは、各リクエスト・メッセージが正しく構成されるとそれに対してECIDを生成できます。

相互運用性

コール・パスに12cよりも低いバージョンのOracle Tuxedoを持ったドメイン/マシンが存在する場合、エンドツーエンドのECID伝播は、個々のユーザー・シナリオに応じて行われます。

たとえば、次の相互運用性シナリオを検討してみます。

DOM1、DOM2およびDOM3という3つのドメインがあるとします。DOM1およびDOM3はOracle Tuxedo 12c内に、DOM2はTux11gR1内にあります。DOM1ではECID_USERLOGおよびECID_CREATEが両方とも有効化されていますが、DOM3ではECID_USERLOGのみが有効化されています。

一方で、DOM1のクライアントがDOM2のtpcallサービス1を呼び出した後、サービス1がDOM3のtpcallサービス2を呼び出すときにtpallocを介して新しいバッファを割り当てると、ECIDはDOM3のULOGには記録されません。つまり、DOM1のECID情報は保持できません。

他方で、DOM1のクライアントがDOM2のtpcallサービス1を呼び出した後、サービス1がDOM3のtpcallサービス2を呼び出すときに、サービス1の呼出し時のバッファを再利用すると、ECIDはDOM3のULOGに記録されます。つまり、DOM1のECID情報は、DOM3によって伝播および取得できます。

 


構成

この項では、ECID伝播を有効化するための次の構成について説明します。

ECID伝播の有効化および無効化

UBBCONFIG(5)のRESOURCESセクションでは、ECIDの処理動作を有効化および指定するための新しいフラグを使用してOPTIONSフィールドが拡張されます。

オプション「ECID_CREATE」: ECID作成機能が有効化されます。境界ノード(ネイティブ/WS/Joltクライアントおよびドメイン・ゲートウェイ)は、ECIDを生成できます。

オプション「ECID_USERLOG」: このオプションを指定すると、文字列がnullでないかぎり、ECIDがユーザーログに付加されます。

前述のいずれのオプションも設定しない場合、Tuxedo全体へのECID伝播はデフォルトで有効化されますが、このドメインのULOGでECIDを作成したり出力することはできません。この場合、tmadmin > psr -vを使用してECIDを取得できます。また、これら2つのオプションは、MIB操作によっても更新できます。

OCI経由でECIDを伝播するためのサーバーの構成

OCIコールバック関数によりOracle DBへのECID伝播を実行するには、「-L」オプションで関連サーバーを指定する必要があります。例:

simpserv    CLOPT="-A -L default --" SRVGRP=GROUP1 SRVID=2

– L」を指定してアクティブ化すると、サーバーはECID伝播のためOCIの登録APIを呼び出します。

-LDまたは-L default

OCIライブラリ(WIN32プラットフォームの場合「oci.dll」、それ以外のプラットフォームは「libclntsh.so」)をロードします。

-L oci_lib_name

oci_lib_nameで指定された名前を持つOCIライブラリをロードします。そのようなoci_lib_nameは絶対パスまたはリーフ名の場合があり、システム・ライブラリ・パス全体で検出できます。

 


TuxedoシステムによるECIDのトレース

ECID_USERLOG」がUBBCONFIGで構成されている場合に、現在アクティブな呼出しのECIDを出力するようユーザーログが拡張されています。例:

233331.lclnx16!simpserv.19461.2664420416.0: ECID <004fVWEOfCE6iKO5IjK6yf0004k8000000>: sleep 15

サーバーが実行中の場合にECIDを出力するよう、tmadmin printserver (psr -v)コマンドが拡張されています。例:

      Group ID: GROUP1, Server ID: 1
      Machine ID: SITE1
      Process ID: 19461, Request Qaddr: 1009713159, Reply Qaddr: 1009713159
      Server Type: USER
      Prog Name: /nfs/ucfhomes/xuhchen/lclnx16/TUX12gR164/LC/bld/samples/atmi/simpapp/simpserv
      Queue Name: 00001.00001
         Options: ( none )
      Generation: 1, Max message type: 1073741824
   Creation time: Tue Sep 27 23:32:44 2011
         Up time: 0:05:22
   Requests done: 2
       Load done: 100
 Current Service: TOUPPER,(ecid: c9ca469656eb23b5:79482783:132ae1bef3b:-8000-0000000000000010)

 


関連項目

『ファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』


  先頭に戻る       前  次