構成ガイド

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

SALTアプリケーションの構成

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

 


Oracle Tuxedo Webサービスの構成

SALTのOracle Tuxedoサービス・メタデータ・リポジトリの使用

SALTでは、 Oracle Tuxedoサービス・メタデータ・リポジトリを利用して、Oracle Tuxedoの従来のサービスとSALTプロキシ・サービスの両方のサービス契約情報を定義します。リストされたすべてのOracle Tuxedoサービスのサービス規約情報を、ローカルOracle Tuxedoドメインによって提供されるOracle Tuxedoサービス・メタデータ・リポジトリ・システム・サービスにアクセスして取得します。通常は、次に示すように、SALTから TMMETADATAシステムを呼び出します。

次のトピックでは、SALT特有のOracle Tuxedoサービス・メタデータ・リポジトリ・キーワードとパラメータの使用について説明します。

SALT用のサービス・レベル・キーワードの定義

表1では、SALTで使用および解釈されるOracle Tuxedoサービス・メタデータ・リポジトリのサービス・レベル・キーワードを示します。

注意: リストされていないメタデータ・リポジトリのサービスレベル・キーワードは、SALTとは関係性がなく、SALTコンポーネントがOracle Tuxedoサービス・メタデータ・リポジトリをロードするときに無視されます。

表1 SALTにおけるOracle Tuxedoサービス・メタデータ・リポジトリのサービスレベル・キーワードの使用
サービス・レベル・キーワード
SALTの使用状況
service
サービスの一意のキー値。この値は、SALT WSDFファイルで参照されます。
ネイティブなOracle Tuxedoサービスの場合は、この値をOracle Tuxedoで通知されているサービス名と同じ値にすることも、Oracle Tuxedoで通知されている実際のサービス名とは異なる別名と同じ値にすることもできます。
SALTプロキシ・サービスの場合、通常はこの値をWebサービスのオペレーション・ローカル名にする。
servicemode
サービス・モード(たとえば、ネイティブOracle TuxedoサービスやOracle SALTプロキシ・サービス)を決定します。
有効な値は次のとおりです。
  • tuxedo
  • ネイティブOracle Tuxedoサービスを表します。

  • webservice
  • SALTプロキシ・サービス(たとえば、wsdl:operationを使用して変換されたサービス定義)を表します。

ネイティブOracle Tuxedoサービスを定義するには、「webservice」を使用しません。この値は、常に外部Webサービスから変換されたサービスを定義するために使用されます。
tuxservice
Oracle Tuxedoで通知されている実際のサービス名。値を指定しない場合は、serviceキーワードの値と同じと見なされます。
ネイティブなOracle Tuxedoサービスの場合は、このキーワードを使用して定義されたOracle TuxedoサービスをSALTから呼び出します。
SALTプロキシ・サービスの場合は、GWWSサーバーがこのキーワード値を使用してサービス名を通知する。
servicetype
指定したOracle Tuxedoサービスに対するサービス・メッセージ交換パターンを決定します。
次の値によって、該当する種類のOracle TuxedoサービスとWebサービス・メッセージ交換パターン(MEP)とのマッピング・ルールを指定します。
  • service
  • 要求/応答型MEPに対応します。

  • oneway
  • 一方向の要求型MEPに対応します。

  • queue
  • 要求/応答型MEPに対応します。
inbuf
サービスの入力バッファ(リクエスト・バッファ)の型を指定します。
ネイティブなOracle Tuxedoサービスの場合は、任意の型のOracle Tuxedo型付きバッファにすることができます。Oracle Tuxedoでバッファ型として予約されている値は次のとおりです。
STRING、CARRAY、XML、MBSTRING、VIEW、VIEW32、FML、FML32、X_C_TYPE、X_COMMON、X_OCTET、NULL (入力バッファは空)

注意: 値の大文字、小文字は区別される。inbufでこれら以外のバッファ型を指定した場合、そのバッファはカスタム・バッファ型として扱われる。

SALTプロキシ・サービスの場合は、この値を常にFML32にする。
outbuf
サービスの出力バッファ(TPSUCCESSとの応答バッファ)の型を指定します。
ネイティブなOracle Tuxedoサービスの場合は、任意の型のOracle Tuxedo型付きバッファにすることができます。Oracle Tuxedoでバッファ型として予約されている値は次のとおりです。
STRING、CARRAY、XML、MBSTRING、VIEW、VIEW32、FML、FML32、X_C_TYPE、X_COMMON、X_OCTET、NULL (入力バッファは空)

注意: 値の大文字、小文字は区別される。outbufでこれら以外のバッファ型を指定した場合、そのバッファはカスタム・バッファ型として扱われる。

SALTプロキシ・サービスの場合は、この値を常にFML32にする。
errbuf
サービスのエラー・バッファ(TPFAILとのレスポンス・バッファ)の型を指定します。
ネイティブなOracle Tuxedoサービスの場合は、任意の型のOracle Tuxedo型付きバッファにすることができます。Oracle Tuxedoでバッファ型として予約されている値は次のとおりです。
STRING、CARRAY、XML、MBSTRING、VIEW、VIEW32、FML、FML32、X_C_TYPE、X_COMMON、X_OCTET、NULL (入力バッファは空)

注意: 値の大文字、小文字は区別される。errbufでこれら以外のバッファ型を指定した場合、そのバッファはカスタム・バッファ型として扱われる。

SALTプロキシ・サービスの場合は、この値を常にFML32にする。
inview
サービスにおいて以下の入力バッファ型に対して使用されるビューの名前を指定します。
VIEW、VIEW32、X_C_TYPE、またはX_COMMON
SALTでは、デフォルトのinview設定をそのまま使用するのではなく、ビューの名前を指定する必要があります。
このキーワードは、ネイティブなOracle Tuxedoサービス専用です。
outview
サービスにおいて以下の出力バッファ型に対して使用されるビューの名前を指定します。
VIEW、VIEW32、X_C_TYPE、またはX_COMMON
SALTでは、デフォルトのoutview設定をそのまま使用するのではなく、ビューの名前を指定する必要があります。
このキーワードは、ネイティブなOracle Tuxedoサービス専用です。
errview
サービスにおいて以下のエラー・バッファ型に対して使用されるビューの名前を指定します。
VIEW、VIEW32、X_C_TYPE、またはX_COMMON
SALTでは、デフォルトのerrview設定をそのまま使用するのではなく、ビューの名前を指定する必要があります。
このキーワードは、ネイティブなOracle Tuxedoサービス専用です。
inbufschema
サービス入力バッファに関連付ける外部XML Schema要素を指定します。この値を指定すると、外部スキーマが生成済のWSDLに組み込まれ、サービス入力バッファのデフォルトのデータ型マッピング・ルールが置き換えられます。
このキーワードは、ネイティブなOracle Tuxedoサービス専用です。
outbufschema
サービス出力バッファに関連付ける外部XML Schema要素を指定します。この値を指定すると、外部スキーマが生成済のWSDLに組み込まれ、サービス出力バッファのデフォルトのデータ型マッピング・ルールが置き換えられます。
このキーワードは、ネイティブなOracle Tuxedoサービス専用です。
errbufschema
サービス・エラー・バッファに関連付ける外部XML Schema要素を指定します。この値を指定すると、外部スキーマが生成済のWSDLに組み込まれ、サービス・エラー・バッファのデフォルトのデータ型マッピング・ルールが置き換えられます。
このキーワードは、ネイティブなOracle Tuxedoサービス専用です。

SALT用のサービス・パラメータの定義

Oracle Tuxedoサービス・メタデータ・リポジトリでは、パラメータはOracle Tuxedoサービスの型付きバッファ内にカプセル化されたサブ要素として解釈されます。パラメータごとに、データ型、バッファ内の出現回数、サイズ制限、その他のOracle Tuxedoに固有の制限を設定できます。次に注意してください。

表2では、SALTで使用および解釈されるOracle Tuxedoサービス・メタデータ・リポジトリのパラメータ・レベル・キーワードを示します。

注意: リストされていないメタデータ・リポジトリのパラメータレベル・キーワードは、SALTとは関係性がなく、SALTコンポーネントがOracle Tuxedoサービス・メタデータ・リポジトリをロードするときに無視されます。

表2 SALTにおけるOracle Tuxedoサービス・メタデータ・リポジトリのパラメータレベル・キーワードの使用
パラメータ・レベル・キーワード
SALTの使用状況
param
パラメータ名を指定します。
  • VIEW、VIEW32、X_C_TYPEまたはX_COMMON
  • ビュー構造のメンバー名をparamキーワードで指定します。

  • FML、FML32
  • FML/FML32フィールド名をparamキーワードで指定します。

  • STRING、CARRAY、XML、MBSTRINGまたはX_OCTET
  • このパラメータの定義はSALTにより無視されます。

type
パラメータのデータ型を指定します。

注意: SALTでは、dec_tおよびptrデータ型はサポートされていません。

subtype
パラメータ型がVIEW32の場合、ビュー構造の名前を指定します。その他すべての型のパラメータについて、この値は無視されます。

注意: SALTでこの値が必要となるのは、パラメータ型がview32の場合です。

このキーワードは、ネイティブなOracle Tuxedoサービス専用です。
access
一般的な定義をこのパラメータに適用します。Oracle Tuxedo TPFAILシナリオをサポートするには、access属性の値が拡張されています。
元の値: in、out、inout、noaccess
新しい値: err、inerr、outerr、inouterr
一般的な定義をこのパラメータに適用します。SALTでは、countパラメータにはrequiredcountの値と同じか、またはそれより大きい値を指定する必要があります。
requiredcount
一般的な定義をこのパラメータに適用します。デフォルトは1です。SALTでは、countパラメータにはrequiredcountの値と同じか、またはそれより大きい値を指定する必要があります。
size
このキーワードは省略可能で、パラメータの最大バイト長を制限する場合に使用します。以下のパラメータ型に対してのみ有効です。
STRING、CARRAY、XML、MBSTRING
設定しない場合、このパラメータは最大バイト長の制限を受けません。
値の範囲は[0、2147483647]です。
paramschema
パラメータに対応するXML Schema要素名を指定します。SALT WSDLコンバータによって生成されます。
このキーワードはネイティブなSALTプロキシ・サービス専用。ネイティブなOracle Tuxedoサービスには指定しないでください。
primetype
パラメータに対応するXMLプリミティブ・データ型を指定します。SALTであらかじめ定義されたXMLからTuxedoデータ型へのマッピング・ルールに従って、SALT WSDLコンバータによって生成される。
このキーワードはネイティブなSALTプロキシ・サービス専用。ネイティブなOracle Tuxedoサービスには指定しないでください。

ネイティブOracle Tuxedoサービスの構成

この項では、ネイティブOracle TuxedoサービスをWebサービスとして公開するために必要な構成タスクと省略可能な構成タスクについて説明します。

ネイティブWSDFの作成

1つまたは複数のHTTP/Sエンドポイントを介して一連のOracle TuxedoサービスをWebサービスとして公開するには、ネイティブWSDFを定義する必要があります。

各ネイティブWSDFは、一意のWSDF名で定義する必要があります。WSDFでは、Webサービス・アプリケーションの詳細(SOAPプロトコルの詳細、Webサービス操作として公開するOracle Tuxedoサービスの一覧など)に対して1つまたは複数の<WSBinding>要素を定義できます。

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

SOAPヘッダーの定義

mapsoapheader属性は、SOAPヘッダーを構成するために使用します。これにより、SOAPヘッダーを表すFML32フィールドが定義されます。これはTA_WS_SOAP_HEADER STRINGタイプです。

注意: mapsoapheader属性は、SALTに同梱されているwssoapflds.hファイルで定義されます。

リスト1では、SOAPヘッダーの定義の例を示します。

リスト1 SOAPヘッダーの定義
<Definition ...>
  <WSBinding id="simpapp_binding">
    <Servicegroup id="simpapp">
      <Service name="toupper">
        <Property name="mapsoapheader" value="true" />
      </Service>
     </Servicegroup>
    ....
  </WSBinding>
</Definition>

mapsoapheader属性のデフォルト値は「false」で、これは、GWWSがSOAPヘッダーとFMLフィールド間のマッピングを実行しないことを示します。

mapsoapheadertrueに設定すると、着信サービスおよび発信サービスのマッピング動作は次のようになります。

WSBindingオブジェクトの定義

個々のWSBindingオブジェクトは、<WSBinding>要素を使用して定義します。個々のWSBindingオブジェクトは、WSDF内で一意のWSBinding IDを使用して定義する必要があります。WSBinding IDは、GWWSによって使用されるSALTDEPLOYファイルの参照に必要なインジケータです。

個々のWSBindingオブジェクトは、<SOAP>サブ要素を使用してSOAPプロトコルの詳細に関連付けることができます。WSBindingオブジェクトには、デフォルトではSOAP 1.1およびdocument/literalスタイルのSOAPメッセージが適用されます。

リスト3では、<SOAP>サブ要素を使用してSOAPプロトコルの詳細を再定義する方法を示します。

リスト3 WSBindingに対するSOAPプロトコルの詳細の定義
<Definition ...>
  <WSBinding id="simpapp_binding">
    <Servicegroup id="simpapp">
      <Service name="toupper" />
      <Service name="tolower" />
    </Servicegroup>
    <SOAP version=”1.2” style=”rpc” use=”encoded”>
      <AccessingPoints>
        ...
      </AccessingPoints>
    </SOAP>
  </WSBinding>
</Definition>

<SOAP>要素内で、一連のアクセス・エンドポイントを指定できます。対応するGWWSサーバーは、これらのアクセス・エンドポイントのURL値を使用してリスニングHTTP/Sプロトコル・ポートを作成します。着信WSBindingオブジェクトに対して各GWWSサーバーでHTTPおよびHTTPSエンドポイントを最大で1つ指定することをお薦めします。

個々のWSBindingオブジェクトは、<Servicegroup>サブ要素を使用してOracle Tuxedoサービスのグループに定義する必要があります。<Servicegroup>の下の各<Service>要素は、WebサービスのクライアントからアクセスできるOracle Tuxedoサービスを表します。

サービス・オブジェクトの定義

個々のサービス・オブジェクトは、<Service>要素を使用して定義します。各サービスは、公開されたOracle Tuxedoサービスを示すように「name」属性で指定する必要があります。通常、Oracle Tuxedoサービス・メタデータ・リポジトリからOracle Tuxedoサービス規約情報を取得するには、「name」値がキー値として使用されます。

リスト4では、WSBindingのサービス・グループを定義する方法を示します。

リスト4 WSBinding用のサービス・グループの定義
<Definition ...>
  <WSBinding id="simpapp_binding">
    <Servicegroup id="simpapp">
      <Service name="toupper" />
      <Service name="tolower" />
    </Servicegroup>
    ...
  </WSBinding>
</Definition>
メッセージ変換ハンドラの構成

SOAP XMLペイロードおよびOracle Tuxedo型付きバッファの変換ルーチンをカスタマイズするために独自のプラグイン機能を作成できます。詳細は、SALT Webサービスのプログラミング SALTプラグインの使用に関する項、および「プラグイン・ライブラリの構成」を参照してください。

プラグインを作成および構成すると、<service>要素を使用してそれを参照して、そのサービスのユーザー定義データ・マッピング・ルールを指定できます。<Msghandler>要素は、メッセージ・レベル(<Input><Output>または<Fault>)で定義して、メッセージを変換するために「P_CUSTOM_TYPE」カテゴリ・プラグインのどの実装を使用する必要があるかについて指定できます。<Msghandler>要素の内容はプラグインの名前です。

リスト5では、入力を変換するために「MBCONV」カスタム・プラグインを使用するサービスと、出力を変換するために「XMLCONV」カスタム・プラグインを使用するサービスを示します。

リスト5 サービスに対するメッセージ変換ハンドラの構成
<Definition ...>
  <WSBinding id="simpapp_binding">
    <Servicegroup id="simpapp">
      <Service name="toupper" >
        <Input>
          <Msghandler>
MBCONV</Msghandler>
        </Input>
        <Output>
          <Msghandler>
XMLCONV</Msghandler>
        </Output>
     </Service>
    </Servicegroup>
    ...
  </WSBinding>
</Definition>

WS-Policyファイルの使用

高度なWebサービスの機能は、WS-Policyファイル(例えば、信頼性のあるメッセージングおよびWebサービスのメッセージ・レベル・セキュリティ)を構成して有効できます。これらの機能を使用するには、WS-Policyファイルの作成が必要になる場合があります。Web Service Policy Framework仕様により、Webサービスのポリシーを記述および通信するための汎用的なモデルと構文が提供されています。

WS-Policyファイルを使用する場合、<Policy>要素を定義してこれらの異なるWS-PolicyファイルをWSDFに組み込む必要があります。ポリシー・ファイル・パスの指定にはlocation属性を使用します。絶対ファイル・パスでも相対ファイル・パスでも指定できます。省略可能なuse属性をメッセージレベルのアサーション・ポリシー・ファイルで使用すると、適用するメッセージ(リクエスト(入力)メッセージ、応答(出力)メッセージ、またはエラー・メッセージ、あるいはこれら3つの組合せ)を指定できます。

WSDFには、WS-Policyファイルを参照する2つのサブ要素があります。

SALTには、使用されることの多い用途に合せてあらかじめパッケージ化されたWS-Policyファイルが含まれています。これらのWS-Policyファイルは$TUXDIR/udataobj/salt/policyディレクトリにあります。これらのファイルを参照するには、location=”salt:<policy_file_name>”を使用します。

リスト6では、WS-PolicyファイルをネイティブWSDFファイルに使用するサンプルを示します。

リスト6 WSDFファイルでのWS-Policyファイルの定義サンプル
<Definition ...>
  <WSBinding id="simpapp_binding">
    <Servicegroup id="simpapp">
      <Policy location=”./endpoint_policy.xml” />
      <Policy location=”/usr/resc/all_input_msg_policy.xml” use=”input” />
      <Service name="toupper">
        <Policy location=”service_policy.xml” />
        <Policy location=”/usr/resc/input_message_policy.xml”
                use=”input” />
      </Service>
      <Service name="tolower" />
    </Servicegroup>
    ....
  </WSBinding>
</Definition>

詳細は、「WSDFファイルで信頼性のあるメッセージング・ポリシー・ファイルの指定」および「WS-Securityポリシー・ファイルの使用」を参照してください。

ネイティブWSDFからWSDLファイルの生成

Oracle TuxedoのネイティブWSDFが作成されたら、SALT WSDLの生成ユーティリティtmwsdlgenを使用して、対応するWSDLファイルを生成できます。次のサンプル・コマンドでは、「app1.wsdf」というWSDFから「app1.wsdl」というWSDLファイルを生成します。

tmwsdlgen -c app1.wsdf -o app1.wsdl

注意: tmwsdlgenを実行する前に、TUXCONFIG環境変数を正しく設定し、TMMETADATAを使用して関連するOracle Tuxedoアプリケーションを起動する必要があります。

または、「-o」オプションを使用して出力WSDLファイル名を指定できます。指定しない場合、tmwsdlgenは、デフォルト値として「tuxedo.wsdl」という名前のWSDLファイルを作成します。

ネイティブWSDFファイルに、CARRAYバッファを使用するOracle Tuxedoサービスが含まれている場合、CARRAYバッファ・マッピングに対して別のスタイルのWSDLファイルを生成するためにtmwsdlgenオプションを指定できます。デフォルトでは、CARRAYバッファがSOAPメッセージでxsd:base64Binary XMLデータ型としてマップされています。詳細は、SALT Webサービスのプログラミング データ型のマッピングと変換に関する項、およびSALTリファレンス・ガイドtmwsdlgenに関する項を参照してください。

Oracle Tuxedoのバージョンベースのルーティングの使用(着信)

Oracle TuxedoのバージョンベースのルーティングをWebサービスとして公開されているOracle Tuxedoサービスで使用すると、次のことが行われます。

リスト7では、GWWSがUBBCONFIGの設定からリクエスト・バージョンの"1"を継承しているため、VERSION_RANGE設定(この例ではGROUP1)に"1"を含んでいるOracle Tuxedoアプリケーション・サーバーによって通知されるサービスを公開する例を示します。GWWSが公開するサービスが実際にはGROUP2のサーバーで実行されている場合は、結果として、TPENOENTエラーがWebサービスのクライアントに転送されます。

リスト7 Webサービスとして公開されているTuxedoサービスでのTuxedoのバージョンベースのルーティングの使用
... 
GROUP1 
LMID=L1 GRPNO=2 VERSION_RANGE="1-2" 
GROUP2 
LMID=L1 GRPNO=2 VERSION_RANGE="3-4"
GWWS_GRP
LMID=L1 GRPNO=3 REQUEST_VERSION=1
...
|mySERVER SRVGRP=GROUP2 SRVID=30
...
GWWS SRVGRP=GWWS_GRP SRVID=30
...

外部Webサービスの構成

外部Webサービスは、手動またはSALTのWebコンソールを介して構成できます。

WebコンソールによるSALTの構成

Webコンソールは、GUIベースのSALT構成ツールです。機能の1つに、WSDLファイルの指定による外部Webサーボスのインポートがあります。

WSDLファイルは、SALT WebコンソールのメインWebページの「外部Webサービスのインポート」への入力として指定します。入力ファイルは、Webコンソールを起動するローカルの場所に置くことも、GWWSサーバーがアクティブとして実行されるサーバー(リモート)上に置くこともできます。

WSDLファイルを受信すると、GWWSサーバーはwsdlcvtツールを使用して、APPDIRディレクトリに次の各拡張子に対応したファイルを生成します。

wsdlcvt -y -f -i <input_WSDL_file> -o <base_name>

XSD - XMLスキーマ・ファイル。

MIF - メタデータ・リポジトリ・ファイル。

FML32 - FML32フィールド表ファイル。

WSDF - 非ネイティブWSDFファイル。

前述のファイルは、WSDLファイルを入力するだけでGWWSサーバーによって内部的に生成されるため、ユーザーの介入は必要ありません。

ファイルが正常に生成されたら、APPDIRディレクトリに次の環境変数を設定する必要があります。

FLDTBLDIR32

FIELDTBLS32

XSDDIR

XSDFILES

GWWSサーバーは、WSDLファイルからインポートした新しいサービス/操作およびバインドで、サービス・メタデータ・リポジトリとSALT構成ファイル(SALTCONFIG)をリロードします。

インポートされたWebサービスは、SALT Webコンソールのメイン・ページの「インポートされたWebサービス」セクションの下に表示されます。詳細は、次の項を参照してください。

手動によるSALTの構成

Oracle Tuxedo定義へのWSDLファイルの変換

SALTには、外部WSDLファイルをOracle Tuxedo定義に変換するためのWSDL変換コマンド・ユーティリティが付属しています。WSDLファイルはExtensible Stylesheet Language Transformations (XSLT)テクノロジを使用して変換されます。SALTのインストール・パッケージには、デフォルトのXSLTツールキットとして使用するApache Xalan Java 2.7.0がバンドルされています。

SALT WSDLコンバータは2つの部分で構成されています。

次のサンプル・コマンドでは、外部WSDLファイルを変換してOracle Tuxedo定義ファイルを生成しています。

wsdlcvt -i GoogleSearch.wsdl -o GSearch

表3では、SALT WSDLコンバータによって生成されたOracle Tuxedo定義ファイルを示します。

表3 SALT WSDLコンバータによって生成されたTuxedo定義ファイル
生成されたファイル
説明
Oracle Tuxedoサービス・メタデータ・リポジトリ入力ファイル
SALT WSDLコンバータでは、各wsdl:operationがOracle Tuxedoサービス・メタデータ構文に準拠したSALTプロキシ・サービスに変換されます。SALTプロキシ・サービスは、GWWSサーバーによって通知され、Oracle TuxedoアプリケーションからのATMI呼出しを受け付けるために使用します。
FML32フィールド表定義ファイル
SALTでは、各wsdl:messageがOracle Tuxedo FML32タイプ・バッファにマップされます。SALT WSDLコンバータでは、各メッセージのXML Schemaが分解され、各基本XMLスニペットにFML32フィールドとしてマップされます。生成されたFML32フィールドは定義表ファイルで定義され、デフォルトではそのフィールド名がXML要素のローカル名と同じになります。
Oracle TuxedoアプリケーションからSALTプロキシ・サービスにアクセスする場合は、生成されたFML32フィールドを参照してリクエスト・メッセージとレスポンス・メッセージを処理する必要があります。FML32環境変数を適切に設定して、Oracle TuxedoアプリケーションとGWWSサーバーの両方がフィールド名とフィールドID値をマップできるようにする必要があります。

注意: 生成されたフィールド名が他のフィールド名と競合しているなど、何らかの理由でフィールド名を再定義することがあります。この場合、Oracle Tuxedoサービス・メタデータ定義入力ファイルとFML32フィールド表定義ファイルの両方を変更する必要があります。詳細については、「生成されたSALTプロキシ・サービス定義での名前の競合を解決する」を参照。

ネイティブでないWSDFファイル
SALT WSDLコンバータでWSDLファイルをWSDFファイルに変換し、これを発信方向のSALTデプロイメント・ファイルでGWWSサーバーにデプロイできます。生成されたWSDFファイルは、ネイティブではないWSDFファイルになります。

注意: ネイティブでないWSDFファイルを着信方向にデプロイしないこと。

XML Schemaファイル
WSDLの埋め込みXML SchemaとインポートXML Schema(<xsd:import>で参照するXML Schemaコンテンツ)は、ローカルに.xsdファイルとして保存されます。これらはGWWSサーバーで使用するファイルで、同じディレクトリに保存する必要があります。

注意: GWWSサーバーにこれらの.xsdファイルをロードできるよう、新たに追加されたXML Schema環境変数(XSDDIRおよびXSDFILES)を適切に設定する必要がある。

WSDLからTuxedoサービス・メタデータ・キーワードへのマッピング

表4では、WSDL要素からTuxedoサービス・メタデータ定義キーワードへのマッピング・ルールを示します。

表4 WSDL要素からTuxedoサービス・メタデータ定義へのマッピング
WSDL要素
対応するOracle Tuxedoサービス・メタデータ定義キーワード
ノート
/wsdl:definitions
/wsdl:portType
/wsdl:operation
@name
service
SALTプロキシ・サービス名。
キーワード値は操作のローカル名と同じ値になります。
tuxservice
Oracle TuxedoシステムでのSALTプロキシ・サービスの通知された名前。
wsdl操作のローカル名が15文字未満である場合、キーワード値は操作のローカル名と同じ値になり、それ以外の場合、キーワード値は操作のローカル名の先頭15文字になります。
/wsdl:definitions
/wsdl:portType
/wsdl:operation
/wsdl:input
inbuf=FML32
WSDL操作メッセージは、常にOracle Tuxedo FML32バッファ型としてマップされます。
バッファ型は変更しないこと。

注意: wsdlメッセージとFML32バッファのマッピングの詳細は、SALT Webサービスのプログラミング「外部Webサービス用XML-to-Tuxedoデータ型のマッピング」を参照してください。

/wsdl:definitions
/wsdl:portType
/wsdl:operation
/wsdl:output
outbuf=FML32
/wsdl:definitions
/wsdl:portType
/wsdl:operation
/wsdl:fault
errbuf=FML32

WSDLからWSDFへのマッピング

表5では、WSDL要素からWSDF要素へのマッピング・ルールを示します。

表5 WSDL要素からWSDF要素へのマッピング
WSDL要素
WSDF要素
ノート
/wsdl:definitions
@targetNamespace
/Definition
 @wsdlNamespace
各wsdl:definitionをWSDF Definitionにマップします。
/wsdl:definitions
/wsdl:binding
/Definition
 /WSBinding
wsdl:bindingオブジェクトをWSDF WSBinding要素にマップします。
/wsdl:definitions
/wsdl:binding
@type
/Definition
/WSBinding
/Servicegroup
wsdl:bindingで参照するwsdl:portTypeオブジェクトを、対応するWSBinding要素のServicegroup要素にマップします。
/wsdl:definitions
/wsdl:binding
/soap:binding
/Definition
/WSBinding
/SOAP
@version
接頭辞が「soap」のネームスペースがURI「http://schemas.xmlsoap.org/wsdl/soap/」を参照する場合のSOAPバージョン属性値は「1.1」。
接頭辞が「soap」のネームスペースがURI「http://schemas.xmlsoap.org/wsdl/soap12/」を参照する場合のSOAPバージョン属性値は「1.2」。
/wsdl:definitions
/wsdl:binding
/soap:binding
@style
/Definition
/WSBinding
/SOAP
@style
WSDF WSBinding SOAPメッセージのスタイル設定は、対応するWSDL SOAPバインディング・メッセージのスタイル設定と同じになります(「rpc」または「document」)。
/wsdl:definitions
/wsdl:binding
/wsdl:operation
/Definition
/WSBinding
/Servicegroup
/Service
wsdl:operationオブジェクトを対応するWSBinding要素のService要素にマップします。
/wsdl:definitions
/wsdl:port
/soap:address
/Definition
/WSBinding
/SOAP
/AccessingPoints
/Endpoint
wsdl:bindingオブジェクト用に定義された各soap:addressエンドポイントを、対応するWSBinding要素のEndpoint要素にマップします。

変換後のタスク

発信Webサービス・アプリケーションを構成するには、次の変換後のタスクを実行する必要があります。

生成されたSALTプロキシ・サービス定義での名前の競合を解決する

WSDLファイルを変換すると、コンテキスト情報の切捨てや消失のせいで、予期せぬ名前の競合が発生する場合があります。生成されたサービス・メタデータ定義とFML32フィールド表ファイルを使用する前に、次のような名前の競合を解決する必要があります。

生成されたSALTプロキシ・サービス・メタデータ定義をロードする

名前の競合が解決したら、tmloadreposユーティリティを使用して、SALTプロキシ・サービス・メタデータ定義をOracle Tuxedoサービス・メタデータ・リポジトリにロードする必要があります。詳細は、Oracle Tuxedoコマンド・リファレンス・ガイドのtmloadreposに関する項を参照してください。

GWWSランタイムの環境変数を設定する

発信Webサービス用にGWWSサーバーを起動する前に、次の環境変数を設定する必要があります。

Oracle Tuxedoのバージョンベースのルーティングの使用(発信)

SALTを使用してTuxedoにインポートした外部Webサービスで、Oracle Tuxedoのバージョンベースのルーティングを使用する場合は、次のことに注意してください。

• GWWSの1つのインスタンスが同じ名前の2つ以上のサービスを通知することはできません。同じサービスは異なるインスタンスにある必要があります。

• 前述に基づいて、*GROUPのそれぞれにVERSION_RANGEを設定して複数のGWWSインスタンスを構成すると、既存のメカニズムで簡単に利用することができます。

リストでは、Oracle Tuxedoプログラム(クライアントまたはサーバー)がGROUP2GROUP3の両方のグループのGWWSで公開されている外部Webサービスを呼び出す例を示します。バージョン1または2を使用しているプログラムは、GROUP2のGWWSが公開しエンドポイント1に接続しているサービスにルーティングされます。また、バージョン3または4を使用しているプログラムは、GROUP3のGWWSが公開しGROUP2のGWWSとは別のエンドポイントに接続しているサービスにルーティングされます。

リスト8 Oracle Tuxedoのバージョンベースのルーティングと外部Webサービス
... 
GROUP2
LMID=L1 GRPNO=2 VERSION_RANGE="1-2"
GROUP3
LMID=L1 GRPNO=3 REQUEST_VERSION=1 VERSION_RANGE="3-4"
...
GWWS SRVGRP=GROUP2 SRVID=30
...
GWWS SRVGRP=GROUP3 SRVID=30
...

複数バインドの構成

SALT着信サービス

同じサービス・グループおよびサービス操作に対して複数のバインドを作成することができます。ただし、異なるサービス・グループおよび操作に対して複数のバインドを作成することはできません。

着信サービスについては、複数バインドを次のように作成することができます。

複数のバインドを追加するには、Webコンソールを使用する必要があります。

SALT発信サービス

WSDLファイルを使用してインポートしたWebサービスは、Tuxedoクライアントがリクエストを送信し外部Webサービスからレスポンスを受信する、発信サービスです。

インポートしたWebサービスのユーザーは、Webコンソールとポリシー・ファイルを使用して、エンドポイント・アドレスの値を変更することができます。ただし、複数バインドやSOAP属性を追加することはできません。

SALTデプロイメント・ファイルの作成

SALTデプロイメント・ファイル(SALTDEPLOY)では、SALT Webサービスのアプリケーションを定義します。SALTDEPLOYファイルは、バイナリSALTCONFIGファイルのWebサービス・アプリケーションに対する重要な入力です。

SALTDEPLOYファイルを作成するには、次の手順に従います。

  1. WSDFファイルのインポート
  2. GWWSサーバーの構成
  3. システム・レベル・リソースの構成

詳細については、『Oracle SALTリファレンス・ガイド』のSALTデプロイメント・ファイルのリファレンスに関する項を参照してください。

WSDFファイルのインポート

必要なWSDFファイルをすべてSALTデプロイメント・ファイルにインポートする必要があります。インポートされた各WSDFファイルには、一意のWSDF名が設定されている必要があり、この名前はデプロイメントに関連付けるためにGWWSサーバーによって使用されます。インポートされた各WSDFファイルは、SALTDEPLOYファイルに指定した場所を介してアクセスできる必要があります。

リスト9には、SALTDEPLOYファイルにWSDFファイルをインポートする方法を示します。

リスト9 SALTDEPLOYファイルへのWSDFファイルのインポート
<Deployment ..>
  <WSDF>
    <Import location="/home/user/simpapp_wsdf.xml" />
    <Import location="/home/user/rmapp_wsdf.xml" />
    <Import location="/home/user/google_search.wsdf" />
  </WSDF>
  ...
</Deployment>

GWWSサーバーの構成

GWWSサーバーは、インポートされたWSDFファイルに定義した着信WSBindingオブジェクトおよび発信WSBindingオブジェクトのグループとともにデプロイできます。各WSBindingオブジェクトは、「ref=<wsdf_name>:<WSBinding id>」属性を使用して参照します。着信WSBindingオブジェクトについては、各GWWSサーバーで、WSBindingオブジェクトのエンドポイント・リストから少なくとも1つのアクセス・エンドポイントを着信エンドポイントとして指定する必要があります。発信WSBindingオブジェクトについては、各GWWSサーバーで、WSBindingオブジェクトのエンドポイント・リストから0またはそれ以上のアクセス・エンドポイントを発信エンドポイントとして指定できます。

リスト10には、着信および発信エンドポイントでGWWSサーバーを構成する方法を示します。

リスト10 SALTDEPLOYファイルに定義されたGWWSサーバー
<Deployment ..>
  ...
  <WSGateway>
    <GWInstance id="GWWS1">
      <Inbound>
        <Binding ref="app1:app1_binding">
          <Endpoint use="simpapp_GWWS1_HTTPPort" />
          <Endpoint use="simpapp_GWWS1_HTTPSPort" />
        </Binding>
      </Inbound>
      <Outbound>
        <Binding ref="app2:app2_binding">
          <Endpoint use=" simpapp_GWWS1_HTTPPort" />
          <Endpoint use=" simpapp_GWWS1_HTTPSPort" />
        </Binding>
        <Binding ref="app3:app3_binding" />
      </Outbound>
    </GWInstance>
  </WSGateway>
  ...
</ Deployment>
GWWSサーバー・レベル・プロパティの構成

GWWSサーバーは、機能をオン/オフにするプロパティまたはサーバーのパフォーマンスをチューニングする引数を設定するプロパティを使用して構成できます。

プロパティは、<GWInstance>の子要素<Properties>に構成されます。個別の各プロパティは、「name」属性および「value」属性を含む<Property> 要素を使用して定義します。異なる「name」属性は、値を含む異なるプロパティ要素を表します。表6に、GWWSサーバーレベル・プロパティを示します。

表6 GWWSサーバー・レベル・プロパティ
プロパティ名
説明
値の範囲
デフォルト値
enableMultiEncoding
SOAPメッセージで複数のエンコーディングをサポートするかどうかを指定します。
"true"|"false"
"false"
max_backlog
ソケット・バックログの制御値を指定します。
[1, 255]
20
max_content_length
着信HTTPメッセージのコンテンツの最大長を指定します。
「0, 1G」 (バイト)
(接尾辞として「M」または「G」を設定できます(例: 1.5M、0.2G))
0
(制限なしを意味する)
thread_pool_size
GWWSサーバーのスレッド・プール・サイズを指定します。
[1, 1024]
16
timeout
ネットワーク・タイムアウトを秒単位で指定します。
[1, 65535]
(単位:秒)
300
wsrm_acktime
信頼性のあるメッセージングの確認応答メッセージの応答ポリシーを指定します。GWWSサーバーでは、ネットワークからSOAPリクエストを受信した直後か、Oracle Tuxedoサービスからレスポンス・メッセージが返された後に確認応答メッセージを送信できます。
"NETRECV" | "RPLYRECV"
"NETRECV"

注意: 詳細は、複数のエンコーディング・サポートの構成を参照してください。
注意: 詳細は、「SALTの実行時の管理」のGWWSサーバーのチューニングに関する項を参照してください。

リスト11GWWSプロパティの構成方法の例を示します。

リスト11 GWWSサーバー・プロパティの構成
<Deployment ..>
  ...
  <WSGateway>
    <GWInstance id="GWWS1">
      .......
      <Properties>
        <Property name="
thread_pool_size" value="20"/>
        <Property name="
enableMultiEncoding" value="true"/>
        <Property name="
timeout" value="600"/>
      </Properties>
    </GWInstance>
  </WSGateway>
  ...
</ Deployment>
複数のエンコーディング・サポートの構成

SALTでは、SOAPメッセージ用の複数のエンコーディング、およびSOAPメッセージとOracle Tuxedoバッファの間のエンコーディング・マッピングがサポートされています。次の文字エンコーディングがサポートされています。

注意: ASCII、BIG5、CP1250、CP1251、CP1252、CP1253、CP1254、CP1255、CP1256、CP1257、CP1258、CP850、CP862、CP866、CP874、EUC-CN、EUC-JP、EUC-KR、GB18030、GB2312、GBK、ISO-2022-JP、ISO-8859-1、ISO-8859-13、ISO-8859-15、ISO-8859-2、ISO-8859-3、ISO-8859-4、ISO-8859-5、ISO-8859-6、ISO-8859-7、ISO-8859-8、ISO-8859-9、JOHAB、KOI8-R、SHIFT_JIS、TIS-620、UTF-16、UTF-16BE、UTF-16LE、UTF-32、UTF-32BE、UTF-32LE、UTF-7、UTF-8

GWWSでの複数のエンコーディング・サポートを有効にするには、リスト12に示すように、GWWSサーバーレベル・プロパティ「enableMultiEncoding」を「true」に設定する必要があります。

注意: GWWSでは、UTF-8以外の外部メッセージがUTF-8に変換されます。ただし、エンコーディングの変換はサーバーのパフォーマンスに影響します。デフォルトでは、エンコーディングの変換はオフで、UTF-8エンコードのないメッセージが拒否されます。
リスト12 GWWSサーバーの複数エンコーディング・プロパティの構成
<Deployment ..>
  ...
  <WSGateway>
    <GWInstance id="GWWS1">
      .......
      <Properties>
        <Property name="enableMultiEncoding" value="true"/>
      </Properties>
    </GWInstance>
  </WSGateway>
  ...
</ Deployment>

表7では、GWWSサーバー・レベルの複数エンコーディング・プロパティを有効にした場合に適用される、SOAPメッセージとTuxedoバッファの間のエンコーディング・マッピング・ルールの詳細について説明します。

表7 SALTメッセージ・エンコーディング・マッピング・ルール
マップ元
マップ先
エンコーディング・マッピング・ルール
SOAP/XML
Oracle Tuxedoの型付きバッファ
string/mbstring/xmlバッファまたはフィールドの文字のエンコーディングをSOAP xmlエンコーディングと同じにします。
STRINGタイプ・バッファ
SOAP/XML
ターゲットのSOAPメッセージをUTF-8エンコーディングに設定し、元のSTRINGバッファにはUTF-8エンコーディングの文字のみが含まれるものとみなします。

注意: Oracle Tuxedoでの開発においては、STRINGの文字を必ずUTF-8エンコーディングにする必要があります。

MBSTRING/XMLタイプ・バッファ
SOAP/XML
SOAP xmlエンコーディングをMBSTRING/XMLエンコーディングと同じにします。
複数のFLD_MBSTRINGフィールドが同じエンコーディングに設定されているFML/32、VIEW/32タイプ・バッファ
SOAP/XML
SOAP xmlエンコーディングをFLD_MBSTRINGエンコーディングに設定します。元のタイプ・バッファ・フィールドの文字は、SOAPメッセージ内では変更されません。
注意: Oracle Tuxedoでの開発においては、同じバッファ内のFLD_STRINGの文字を必ず一貫性のあるものにする必要があります。
複数のFLD_MBSTRINGフィールドが異なるエンコーディングに設定されているFML/32、VIEW/32タイプ・バッファ
SOAP/XML
SOAP xmlエンコーディングをUTF-8に設定します。エンコーディングが異なる元のタイプ・バッファFLD_MBSTRINGフィールドの文字は、SOAPメッセージ内でUTF-8に変換されます。

注意: Oracle Tuxedoでの開発においては、同じバッファ内のFLD_STRINGの文字を必ずUTF-8エンコーディングにする必要があります。

システム・レベル・リソースの構成

SALTでは、すべてのGWWSサーバーによって共有される一連のグローバル・リソースをSALTDEPLOYファイルで定義します。次のシステムレベル・リソースをSALTDEPLOYファイルで構成できます。

証明書の構成

証明書の情報は、SSLリスニング・エンドポイントを作成するまたは認証およびメッセージ署名用X.509証明書を使用するようにGWWSサーバーで構成する必要があります。同じデプロイメント・ファイルに指定したすべてのGWWSサーバーは同じ証明書の設定(秘密鍵ファイル、信頼されている証明書ディレクトリなどを含む)を共有します。

秘密鍵ファイルは<Certificate>/<PrivateKey>サブ要素を使用して構成します。秘密鍵ファイルはPEMファイル形式で、ローカルで保存される必要があります。<Certificate>/<VerifyClient>サブ要素をtrueに設定すると、SSLクライアントを確認できます。

注意: デフォルトでは、GWWSサーバーはSSLクライアントを確認しません。

SSLクライアントを確認する場合やX.509証明書の認証機能が有効になっている場合、一連の信頼済証明書はローカルで保存し、GWWSサーバーで指定する必要があります。GWWSサーバーの信頼済証明書を定義するには2つの方法があります。

  1. すべての証明書を1つのPEM形式のファイルに指定し、<<Certificate>/<TrustedCert>サブ要素を使用してファイルのパスを定義する方法
  2. 別々のPEM形式の証明書ファイルを1つのディレクトリに保存し、<<Certificate>/<CertPath>サブ要素を使用してディレクトリ・パスを定義します。
注意: 識別名の「cn」属性は、証明書ルックアップ用のキーとして使用されます。名前で使用されるワイルドカードはサポートされません。空の件名フィールドは許可されません。この制約はOracle Tuxedoでも見つかります。

リスト13には、GWWSサーバーの証明書を構成する SALTDEPLOYファイルのセグメントを示します。

リスト13 SALTDEPLOYファイルの証明書の構成
<Deployment ..>
  ...
  <System>
    <Certificates>
      <PrivateKey>/home/user/gwws_cert.pem</PrivateKey>
      <VerifyClient>true</VerifyClient>
      <CertPath>/home/user/trusted_cert</CertPath>
    </Certificates>
  </System>
</Deployment
プラグイン・ライブラリの構成

プラグインは、GWWSサーバーの起動中に呼び出される関数のセットです。SALTには、プラグインを定義して実装するための共通インタフェースとして、プラグイン・フレームワークが用意されています。プラグインを実装するには、実際の関数が含まれているダイナミック・ライブラリを使用します。実装ライブラリはGWWSサーバーの起動中に動的にロードされます。関数は、プラグイン・インタフェースの実装として登録されます。

GWWSサーバーがライブラリをロードできるように、ライブラリは<Plugin>/<Interface>要素を使用してSALTDEPLOYファイルに指定する必要があります。

リスト14には、GWWSサーバーがロードする複数のカスタマイズされたプラグイン・ライブラリを構成するSALTDEPLOYファイルのセグメントを示します。

リスト14 SALTDEPLOYファイルでのプラグイン・ライブラリの構成
<Deployment ..>
  ...
  <System>
    <Plugin>
      <Interface lib=”plugin_1.so” />
      <Interface lib=”plugin_2.so” />
    </Plugin>
  </System>
</Deployment
注意: プラグイン・ライブラリをSALT 2.0のプラグイン・インタフェースを使用して開発する場合、インタフェースの「id」および「name」属性を指定する必要はありません。これらの値はプラグイン・インタフェースから取得できます。
注意: 詳細は、『WebサービスのOracle SALTのプログラミング』のSALTプラグインの使用に関する項を参照してください。

高度なWebサービス・メッセージング機能の構成

現在のSALTは次の高度なWebサービス・メッセージング機能をサポートしています。

Webサービス・アドレス

SALTでは、着信サービスおよび発信サービスの両方にWebサービスAddressingがサポートされます。GWWSサーバーによって使用されるWeb Service Addressing (WS-Addressing)のメッセージは、Web Service Addressing標準(W3C Member Submission 2004年8月10日)に準拠している必要があります。

着信サービスは特有なWeb service addressingの構成が必要ではありません。GWWSサーバーはWS-Addressingリクエスト・メッセージおよび非WS-Addressingリクエスト・メッセージによって受け付けて回答します。

発信サービスについては、以下の項で説明しているようにWeb service addressingの構成が必要です。

発信サービスのAddressingエンドポイントの構成

発信サービスについては、Web Service AddressingはWebサービス・バインディング・レベルで構成します。SALTDEPLOYファイルでは、各GWWSサーバーは、WS-Addressingを有効にするために参照された任意の発信WSBindingオブジェクトに対して、<WSAddressing>要素を使用してWS-Addressingエンドポイントを指定できます。

WS-Addressingエンドポイントを設定した後、GWWSサーバーは起動時にリスニング・エンドポイントを作成します。発信WSBindingに指定したすべてのサービスはWS-Addressingメッセージで呼出します。

リスト15には、参照された発信Webサービス・バインディングに対してWS-Addressingを有効にするSALTDEPLOYファイルのセグメントを示します。

リスト15 発信Webサービス・バインディングに対して定義されたWS-Addressingエンドポイント
<Deployment ..>
  ...
  <WSGateway>
    <GWInstance id="GWWS1">
      ...
      <Outbound>
        <Binding ref="app1:app1_binding">
          <WSAddressing>
            <Endpoint address=”https://myhost:8801/app1_async_point”>
          </WSAddressing>
          <Endpoint use=" simpapp_GWWS1_HTTPPort" />
          <Endpoint use=" simpapp_GWWS1_HTTPSPort" />
        </Binding>
        <Binding ref="app2:app2_binding">
          <WSAddressing>
            <Endpoint address=”https://myhost:8802/app2_async_point”>
          </WSAddressing>
          <Endpoint use=" simpapp_GWWS1_HTTPPort" />
          <Endpoint use=" simpapp_GWWS1_HTTPSPort" />
        </Binding>
      </Outbound>
    ...
    </GWInstance>
  </WSGateway>
  ...
</ Deployment>
注意: GWWSサーバーの各発信Webサービス・バインディングを特定のWS-Addressingエンドポイント・アドレスに関連付けることができます。これらのエンドポイントは、同じホスト名とポート番号で設定できますが、エンドポイント・アドレスのコンテキスト・パースの部分を異なっている必要があります。
注意: 外部Webサービス・バインディングは、WS-Addressingメッセージをサポートされない場合、実行時にAddressingエンドポイントの構成に障害が発生する可能性があります。
WS-Addressingの無効化

SALTDEPLOYファイルでのWS-Addressingエンドポイントの作成の有無にかかわらず、WSDFで特定の発信サービスのAddressing機能を明示的に無効にできます。特定の発信サービスのAddressing機能を無効にするには、WSDFファイル内の対応する<Service>定義でdisableWSAddressingプロパティを「true」に設定する必要があります。このプロパティは、着信サービスには影響しません。

リスト16には、Addressing機能を無効にするWSDFファイルのセグメントを示します。

リスト16 サービス・レベルWS-Addressingの無効化
<Definition ...>
  <WSBinding id="simpapp_binding">
    <Servicegroup id="simpapp">
      <Service name="toupper">
        <Property name="disableWSAddressing" value=”true” />
      </Service>
      <Service name="tolower" />
    </Servicegroup>
    ....
  </WSBinding>
</Definition>

Webサービスの信頼性のあるメッセージング

現在、SALTは着信サービスのみの信頼性のあるメッセージングをサポートしています。信頼性のあるメッセージングの機能を有効にするには、Webサービスの信頼性のあるメッセージングのポリシー・ファイルを作成し、このポリシー・ファイルをWSDFに含める必要があります。ポリシー・ファイルはWS-ReliableMessagingポリシー・アサーション仕様(2005年2月)に準拠している必要があります。

注意: 信頼性のあるメッセージング・ポリシーの定義を含むWSDFは、着信方向のみにGWWSサーバーで使用する必要があります。
信頼性のあるメッセージングのポリシー・ファイルの作成

信頼性のあるメッセージングのポリシー・ファイルは、WS-ReliableMessagingのアサーションを含む一般的なWS-Policyファイルです。WS-ReliableMessagingのアサーションは、サポート対象のWS-ReliableMessage仕様のバージョン、ソース・エンドポイントの再伝送までの時間間隔、送信元エンドポイントの承認までの時間間隔などの機能を説明するXMLセグメントです。

詳細は、SALTリファレンス・ガイドSALT WS-ReliableMessagingポリシー・アサーション・リファレンスに関する項を参照してください。

リスト17には、信頼性のあるメッセージングのポリシー・ファイルの例を示します。

リスト17 信頼性のあるメッセージングのポリシー・ファイルの例
<?xml version="1.0"?>
<wsp:Policy wsp:Name="ReliableSomeServicePolicy"
  xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm/policy"
  xmlns:wsp=”http://schemas.xmlsoap.org/ws/2004/09/policy”
  xmlns:beapolicy="http://www.bea.com/wsrm/policy">
  <wsrm:RMAssertion>
    <wsrm:InactivityTimeout Milliseconds="600000" />
    <wsrm:AcknowledgementInterval Milliseconds="2000" />
    <wsrm:BaseRetransmissionInterval Milliseconds="500"/>
    <wsrm:ExponentialBackoff />
    <beapolicy:Expires Expires="P1D" />
    <beapolicy:QOS QOS=”ExactlyOnce InOrder" />
  </wsrm:RMAssertion>
</wsp:Policy>
WSDFファイルで信頼性のあるメッセージング・ポリシー・ファイルの指定

ネイティブWSDFファイルでは、<Servicegroup>レベルにおいてWS-ReliableMessagingポリシー・ファイルを参照する必要があります。リスト18には、WS-ReliableMessagingポリシー・ファイルの参照方法を示します。

リスト18 エンドポイント・レベルでのWS-ReliableMessagingポリシーの参照
<Definition ...>
  <WSBinding ...>
    <Servicegroup ...>
      <Policy location=”RMPolicy.xml” />
      <Service ... />
      <Service ... />
      ...
    </Servicegroup ...>
  </WSBinding>
</Definition>
注意: SALTにおいて、信頼性のあるメッセージングではプロセス障害/システム障害の状況がサポートされていません。つまり、SALTではメッセージが永続ストレージ領域には保存されません。SALTはSOAPクライアントと直接モードでやりとりします。通常、システム障害から回復するには、クライアントとサーバーの間でビジネス・ロジックの同期化を行う必要があります。

MTOM (メッセージ転送最適化メカニズム)

SALTは、CARRAY型付きバッファ、またはフィールド付きバッファ(VIEW、VIEW32、FMLまたはFML32)のCARRAYフィールドに対するバイナリ添付ファイルをサポートします。デフォルトでは、バイナリ・バッファ/フィールドはbase64エンコードされます。リスト19に示すように、MTOMを有効にするには、WSDFファイルでサービスまたはサービス・グループに構成を追加する必要があります。

リスト19 <Policy location="salt:ws-mtom.xml"/>
<Definition ...>                                                                   
 <WSBinding id="simpapp_binding">                                                 
  <Servicegroup id="simpapp">                                                    
   <Service name="toupper">                                                     
     <Policy location="salt:ws-mtom.xml"/>                                    
   </Service>                                                                   
   <Service name="tolower" />                                                   
  </Servicegroup>                                                                
  ....                                                                           
 </WSBinding>                                                                     
</Definition>                                                                      

セキュリティ機能の構成

SALTでは、転送レベルとSOAPメッセージ・レベルの両方のレベルでセキュリティがサポートされます。次のトピックでは、各レベルにおいてセキュリティ機能を設定する方法について説明します。

トランスポート・レベルのセキュリティの構成

SALTでは、SSLリンクレベル・セキュリティを使用してポイントツーポイント・セキュリティが提供され、着信サービスおよび発信サービスの両方のサービス認証に対してHTTP基本認証メカニズムがサポートされます。

SSLリンク・レベル・セキュリティの設定

SSLを使用して着信エンドポイントでリンク・レベル・セキュリティを設定するには、エンドポイント・アドレスの前に接頭辞として「https://」を指定できます。この着信エンドポイントを使用するGWWSサーバーは、SSLリスニング・ポートを作成してWebサービス・クライアントをSSL接続で保護します。SSL機能では、証明書の設定を指定する必要があります。詳細は、「証明書の構成」を参照してください。

発信エンドポイントへのSSL接続は、GWWSサーバーによって自動的に作成され、接頭辞「https://」のURLで公開されます。

着信HTTP基本認証の構成

SALTでは、Webサービスのクライアントを認証するかどうかは、Oracle Tuxedoセキュリティ・フレームワークによって決まります。SALTには、着信HTTP基本認証を有効にするために必要な特定の構成はありません。Oracle Tuxedoシステムでユーザー資格証明が必要な場合、Webサービス・クライアント・プログラムのかわりにHTTP基本認証がユーザー資格証明を実行します。

GWWSゲートウェイでは、次に示す2つの認証パターンに関するOracle Tuxedoドメイン・セキュリティ構成がサポートされています。

GWWSサーバーは、クライアントSOAPリクエストのHTTPヘッダーから次の文字列を取得し、Oracle Tuxedoでの認証用に渡します。

Authorization: Basic <base64Binary of username:password>

HTTPヘッダーから取得される文字列の例を以下に示します。

Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==

この例では、クライアントから渡されたOracle Tuxedoユーザー名は「Aladdin」、パスワードは「open sesame」であり、このペア値がOracle Tuxedoの認証に使用されます。

発信HTTP基本認証の構成

SALTは、発信HTTP基本認証のユーザー資格証明を作成するために認証プラグイン開発をサポートしています。発信HTTP基本認証は、エンドポイントレベルで構成されます。発信エンドポイントにおいて、HTTPメッセージでユーザー・プロファイルが必要の場合、WSDFファイル内でHTTPエンドポイント用HTTPレルムを指定する必要があります。GWWSサーバーは、ユーザー名とパスワードを作成するために認証プラグイン・ライブラリを呼出し、HTTP基本認証メカニズムを使用してリクエスト・メッセージに送信します。

リスト20には、発信エンドポイントに対するHTTP基本認証を有効化する方法を示します。

リスト20 発信エンドポイントに対するHTTP基本認証の有効化
<Definition ...>
  <WSBinding id="simpapp_binding">
    <SOAP>
      <AccessingPoints>
        <Endpoint id=”...” address=”...”>
          <Realm>SIMP_REALM</Realm>
        </Endpoint>
      </AccessingPoints>
    </SOAP>
    <Servicegroup id="simpapp">
    ....
    </Servicegroup>
    ....
  </WSBinding>
  ......
</Definition>

サービス・リクエストを<Realm>要素の設定で指定された発信エンドポイントに送信すると、Oracle TuxedoクライアントuidおよびgidGWWSサーバーから認証のプラグイン機能に渡されます。このプラグイン機能はOracle Tuxedoクライアントの情報に従ってHTTP基本認証のusername/passwordを確定します。HTTP基本認証のusername/passwordマッピングのためにOracle Tuxedoクライアントuid / gidを取得するには、Oracle Tuxedoセキュリティ・レベルもUBBCONFIGファイルで構成する必要があります。詳細は、『SALT Webサービスのプログラミング』発信HTTP基本認証のOracle Tuxedoセキュリティ・レベルの構成に関する項発信認証プラグインのプログラミングに関する項を参照してください。

メッセージ・レベルのWebサービス・セキュリティの構成

SALTでは、メッセージ・レベル・セキュリティに対してWebサービス・セキュリティ1.0および1.1仕様をサポートします。SALTでは、次の項目を保証するためにメッセージレベル・セキュリティを使用できます。

Webサービス・セキュリティの主なユース・ケース

Webサービス・セキュリティのSALTの実装: SOAPメッセージ・セキュリティの仕様は次のユース・ケースをサポートします。

WS-Securityポリシー・ファイルの使用

SALTには、メッセージ・レベル・セキュリティのユースケースのために使用される複数のWS-Securityポリシー1.0および1.2のファイルが含まれています。

SALTが正常にインストールされると、WS-Policyファイルが$TUXDIR/udataobj/salt/policyに配置されます。

表8に、SALTに付属するデフォルトWS-Securityポリシー・ファイルを示します。

表8 SALTに付属するWS-Securityポリシー・ファイル
ファイル名
目的
wssp1.0-username-auth.xml
WS-Security Policy 1.0。サービスの認証用の容易なテキスト・ユーザー名トークン
wssp1.0-x509v3-auth.xml
WS-Security Policy 1.0。サービスの認証用のX.509 V3証明書トークン
wssp1.0-signbody.xml
WS-Security Policy 1.0。X.509証明書トークンの検証用のSOAP:Body上の署名
wssp1.2-Wss1.0-UsernameToken-plain-auth.xml
WS-Security Policy 1.2。サービスの認証用の容易なテキスト・ユーザー名トークン
wssp1.2-Wss1.1-X509V3-auth.xml
WS-Security Policy 1.2。サービスの認証用のX.509 V3証明書トークン
wssp1.2-signbody.xml
WS-Security Policy 1.2。X.509証明書トークンの検証用のSOAP:Body上の署名

上述のWS-Security Policy 1.2 UserTokenファイル以外のすべてのポリシー・ファイルを、ネイティブWSDFファイルの<Servicegroup>要素または<Service>要素を使用して参照できます。WSSP 1.2 UserTokenファイルは、 <Servicegroup>を使用した場合のみ参照できます。

リスト21に、サービス「TOUPPER」で、クライアントがプレーン・テキスト形式のUsernameTokenとリクエスト形式のX509v3Tokenを送信する必要があり、X.509トークンで署名付きメッセージのSOAP:Body部分も必要とする、ポリシー割当ての組合せを示します。サンプル「wsseapp」では、WSSP 1.2 UserTokenファイルを<Service>要素で使用するようにクリップする方法を示します。

リスト21 WS-Securityポリシーの使用方法
<Definition ...>
  <WSBinding id="simpapp_binding">

    <Servicegroup id="simpapp">
      <Policy location="salt:wssp1.2-Wss1.1-X509V3-auth.xml"/>
      <Service name="TOUPPER" >
        <Policy location="D:/wsseapp/wssp1.2-UsernameToken-Plain.xml"/>
        <Policy location="salt:wssp1.2-signbody.xml" use="input"/>
      </Service>
    </Servicegroup>
    ....
  </WSBinding>
  ......
</Definition>

ポリシーは、<Policy>要素の「location」属性で指定されます。接頭辞の「salt:」は、SALTに付属のデフォルト・ポリシー・ファイルがすでに使用されていることを示します。ユーザー定義ポリシー・ファイルは、ファイル・パスを直接指定して使用できます。

注意: ポリシーが<Servicegroup>レベルで参照されると、このサービス・グループのすべてのサービスに適用されます。

「signbody」ポリシーは、「use」属性を「input」に設定して使用する必要があります。これにより、ポリシーが入力メッセージに対してのみ適用されます。発信メッセージのSOAP:Bodyが署名済でないため、これは必要です。

SAMLシングル・サインオンの構成

SALTは、SAML 1.1とSAML 2.0シングル・サインオン(SSO)をサポートします。シングル・サインオンを使用すると、エンド・ユーザーにかわって認証を実行することにより、セキュアな受信リクエストを処理できます。資格証明を要求する必要はありません。

SAML SSOのSALT実装は、送信者保証による確認方法をサポートします。この方法では、SALTはバックエンド・システムを表し、Webサービス媒介者がバックエンドとエンド・ユーザーの間に存在します。この場合、Webサービス媒介者は、SAMLトークン・メカニズムを使用してエンド・ユーザーを「保証」します。

注意: SAML SSOを使用するため、SALTDEPLOYファイルの<Certificates>要素が正しく構成されていることを確認します。
トランスポートの保護

GWWSを介してOracle TuxedoにアクセスするためのSAMLセキュリティ・トークンを所持するトランスポートとしてTLS/SSLを使用することは必須ではありませんが、Webサービス媒介者がSAMLセキュリティ・トークンを使用してGWWSを介してOracle Tuxedoにアクセスするには、TLS/SSLを使用することをお薦めします。TLS/SSLを使用すると、SOAPメッセージの内容が開示または変更されたことが検知されません。これはファイアウォール外のワイド・エリア・ネットワークを介してOracle Tuxedoサービスにアクセスするときに特に重要です。

SAMLキー・ファイル

信頼できるSAMLアサーション発行者の公開鍵証明書は、$APPDIRディレクトリに存在する必要があります。これらの証明書は、PEM形式である必要があります。証明書の名前は、発行者の名前が反映されている必要があります。たとえば、発行者IDが「"ws_1"」の場合、証明書名はws_1.pemである必要があります。

ただし、発行者名が長い場合、PEMファイル名をかなり簡潔にしても管理者に役立つように、キー・ファイルによって、本当の発行者名とそのローカルの参照名を相互に関係付けることが可能です。

たとえば、アサーション発行者名がweb.abc.com/saml/authenticatorの場合、その公開鍵証明書のPEMファイル名は、「www.abc.com/saml/authenticator.pem"」でなく「abc.pem」と名付けることができます。

これは、「/」記号がパスの区切り文字としても機能するUNIX環境の場合に特に有効です。そのような混乱が起こる可能性がある場合、この変換は必須です。

キー・ファイル名は、「saml_key.meta」に固定されます。「CertPath」で指定されたのと同じファイル・フォルダにあるはずです。このファイルはXML形式であり、ファイル・システムで保護されている必要があります。

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

キー・ファイル形式

キー・ファイルは、XMLファイルです。このファイルには、次の3種類の情報が保存されています。

ファイル情報、GWWSキー、および発行者の情報

注意: このファイルを手動で変更しないでください。ファイルの整合性チェックが失敗する原因になります。
ファイル情報

ファイル情報のセクションには、このファイルを生成したツールのバージョン番号、ランダム・キー、管理パスワードおよびデジタル署名が含まれます。

GWWSキー

このGWWSキーのセクションには、GWWS対称鍵が1つ含まれます。GWWSが検証タスクを単純化するように構成できる対称鍵は1つのみです。このキーは、不明瞭化されたキーで暗号化されます。構成されているGWWS対称鍵がない場合、このセクションはオプションであり、消去されます。

異なるマシン・ノード上に複数のGWWSを持つMP構成では、このファイルが各ノード上でレプリケートされる必要があります。しかし、異なるGWWSキーが望ましい場合、類似してはいるがGWWSキー・レコードが異なっているキー・ファイルを異なるノードへコピーできます。

アサーション発行者情報

このセクションには、複数のレコード(信頼できるアサーション発行者ごとに1つ)が含まれます。発行者識別子、ローカル発行者識別子、対称鍵、および公開鍵証明書も存在するかどうかが含まれます。

発行者識別子は、WSSEセキュリティ・ヘッダー内で「<saml:Assertion>」要素の「issuer」属性で示される値です。

ローカル発行者識別子が発行者の略名です。長い発行者識別子を、短くて覚えやすく、しかもローカルに一意性を保つようにするためのものです。このオプションのデータが存在し、証明書も存在する場合、証明書はローカル発行者識別子の名前にファイル拡張子「pem」を付けたものである必要があります。

対称鍵は、発行者がアサーションに署名した共有シークレットです。このデータはオプションです。署名にどのアルゴリズムが使用できるかは、キーの長さからもわかります。

公開鍵証明書が存在するかどうかを示すフィールドの値は、公開鍵証明書が存在するかどうかを示します。証明書が存在する場合、証明書は「CertPath」要素で指定されたフォルダ内にあるはずです。このフィールドは、同時に対称鍵フィールドが存在する場合にも真である可能性があります。GWWSは、実行時に、どちらのキーを使用して署名を検証するべきかを検出します。

キー・ファイルの生成

キー・ファイルを管理するための新しいコマンドがwsadminに追加されます。この新しいコマンドを使用して、新しいキー・ファイルの生成、新しいレコードの追加、既存のレコードの削除、およびレコードの変更を実行できます。管理するファイルの名前は、現在の作業ディレクトリの「saml_key.meta」です。

キー・ファイルを作成するには、次のwsadminコマンドを発行します。

saml create -p password

ここで「-p password」は、新しく作成されたキー・ファイルにアクセスするための管理のパスワードです。名前が「saml_key.meta」のキー・ファイルが、現在の作業ディレクトリに作成されます。

信頼できる発行者を追加するには、次のコマンドを発行します。

saml add -i -n authority.abc.com -l abc -c -p password

ここで、「-i」は、名前が「authority.abc.com」、短いローカル参照名が「abc」で、キー・ファイルにアクセスするためのアクセス・パスワードを持つ発行者を追加するように指示しています。キー・ファイルsaml_key.metaは、現在の作業ディレクトリに存在する必要があります。「-c」オプションがあるため、「abc.pem」という名前の公開鍵証明書が「CertPath」の中に存在する必要があります。

詳細は、『SALTコマンド・リファレンス』wsadminに関する項を参照してください。

キー・ファイルの管理手順

次に、SALT管理者がGWWSを、SAMLアサーションを扱えるように初めて設定する手順について説明します。

  1. ディレクトリを$APPDIRに変更し、wsadminを開始します。
  2. saml create」コマンドを使用してキー・ファイルを作成します。
  3. saml add -g」コマンドを使用してGWWSレコードを追加します。
  4. saml add -i」コマンドを使用して、信頼できる各アサーション発行者に対応する、信頼できるアサーション発行者レコードを追加します。
  5. 「CertPath」の下のSALTデプロイメント記述子ファイルの「Certificate」要素に記述されたディレクトリに、ファイル「saml_key.meta」をコピーします。
  6. ディレクトリをOracle Tuxedoアプリケーション・ドメインに変更し、"tmboot -y"を使用してOracle Tuxedoアプリケーション・ドメインを起動します。

MPモード構成では、異なるGWWSインスタンスに対して、キー・ファイル内に異なるGWWSレコードが存在することが可能です。次の手順では、GWWSインスタンスに対応するキー・ファイルを異なるノード上で作成します。

  1. 元のキー・ファイルを異なるディレクトリまたはマシンにコピーします。
  2. saml delete -g」を使用して既存のGWWSレコードを削除します。
  3. saml add -g」コマンドを使用して、異なるGWWSレコードを追加します。
  4. Oracle Tuxedoを起動します。
WS-Policyファイル

SALTには、SAML SSO用にサービスを構成するために使用できるいくつかのWS-Policyファイルが含まれます(Table9参照)。

表9 SAML SSOポリシー・ファイル
ファイル名
目的
Wssp1.2-2007-Saml1.1-SenderVouches-Https.xml
SAML 1.1のサポート(SSLあり)
Wssp1.2-2007-Saml2.0-SenderVouches-Https.xml
SAML 2.0のサポート(SSLあり)
Wssp1.2-2007-Saml1.1-SenderVouches.xml
SAML 1.1のサポート(SSLなし)
Wssp1.2-2007-Saml2.0-SenderVouches.xml
SAML 2.0のサポート(SSLなし)

前述のファイルは、ネイティブのWSDFファイルの<ServiceGroup>または<Service>のレベルで参照できます。

このポリシーは、他のWS-Securityポリシー(インバウンド本体の署名など)と組み合される場合があります。詳細は、「メッセージ・レベルのWebサービス・セキュリティの構成」を参照してください。

たとえば、リスト22は、サポートされている機能を概説したSAML1.1のポリシー・ファイルを示しています。

リスト22 SAML 1.1ポリシー・ファイル
<?xml version="1.0"?>

<wsp:Policy xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">

     <sp:AsymmetricBinding>
        <wsp:Policy>
          <sp:InitiatorToken>
            <wsp:Policy>
              <sp:X509Tokensp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200512/IncludeToken/Always">
            <wsp:Policy>
              <sp:WssX509V3Token10/>
               </wsp:Policy>
          </sp:X509Token>
        </wsp:Policy>
      </sp:InitiatorToken>
      <sp:RecipientToken>
        <wsp:Policy>
          <sp:X509Token sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200512/IncludeToken/Never">
           <wsp:Policy>
             <sp:WssX509V3Token10/>
           </wsp:Policy>
         </sp:X509Token>
       </wsp:Policy>
      </sp:RecipientToken>
      <sp:AlgorithmSuite>
        <wsp:Policy>
          <sp:Basic256/>
        </wsp:Policy>
      </sp:AlgorithmSuite>
      <sp:Layout>
        <wsp:Policy>
          <sp:Lax/>
        </wsp:Policy>
      </sp:Layout>
      <sp:IncludeTimestamp/>
      <sp:ProtectTokens/>
    </wsp:Policy>
  </sp:AsymmetricBinding>
  <sp:SignedSupportingTokens>
    <wsp:Policy>
      <sp:SamlToken
sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient">
        <wsp:Policy>
          <sp:WssSamlV11Token10/>
        </wsp:Policy>
      </sp:SamlToken>
    </wsp:Policy>
  </sp:SignedSupportingTokens>
</wsp:Policy>
Oracle Tuxedo SecurityでのSAML要素のマッピング

表10に、オプションのSAMLアサーション要素が提示する必要があるものをリストします。

表10 オプションのSAMLアサーション要素
Oracle TuxedoセキュリティとSAMLアサーションの対応
Oracle Tuxedoセキュリティ・レベル
他の必須SAMLアサーション要素
アクセス・プリンシパル
NONE
なし
匿名、Subject/NameID
APP_PW
なし
匿名、Subject/NameID
USER_PW
Subject
Subject/NameID
ACL
Subject
Subject/NameID
MANDATORY_ACL
Subject
Subject/NameID

NONEAPP_PWの例では、オプションの要素「Subject」が存在する場合、Oracle Tuxedoにアクセスするのに「NameID」が使用されます。オプションの「Subject」要素が存在しない場合、クライアントは匿名ユーザー・アイデンティティでOracle Tuxedoにアクセスするものとみなされます。匿名アクセスが許可されない(つまり匿名に対する資格証明マッピングがない)場合、リクエストは失敗します。

SAMLアサーションが「Subject」要素を含まず、TuxedoのSECURITYレベルがUSER_PW、ACL、またはMANDATORY_ACLに構成されている場合、リクエストは拒否されます。

X.509ベース認証の構成

発信GWWS SOAPメッセージのX.509ベース認証には、X.509 V3公開鍵証明書が必要です。この目的で使用する公開鍵証明書は、同じWebサービスを宛先とするすべてのリクエスト用に1つの証明書を構成するか、Tuxedo SECURITYがUSER_AUTH以上に設定されている場合はリクエストの呼出しごとに1つの証明書を構成します。後者の場合、証明書にはTuxedoユーザーIDまたはマップされたリモート・ユーザー名(IDマッピング・プラグインがインストールされている場合)と同じ名前が付けられている必要があります。

構成したX.509公開鍵証明書は、次のように使用されます。

1. トランスポート層のセキュリティ用の手動認証(SSL/TLSなど)

2. メッセージ署名

3. メッセージレベルで(トランスポート層ではなく)ユーザーを認証するために使用するSOAPメッセージの一部

3つのタスクのすべてを実行するか一部のみを実行するかは、Webサービスで使用するWSポリシーによって異なります。

メッセージの暗号化は必須ではないため、サポートされません。メッセージの整合性とプライバシを保護するには、SSL/TLSを優先トランスポート・メカニズムにすることをお薦めします。SSL/TLSに使用されるX.509公開鍵証明書は署名に使用されるものとは異なり、ユーザーの構成に依存します。

GWWSはクライアントからのリクエストを受信すると、メッセージを処理し、オプションでメッセージに署名を行い、WSポリシーで要求されている場合は証明書をSOAPリクエスト・メッセージへのバイナリ・セキュリティ・トークンとして添付します。次に、SSL/TLSを介してリモートWebサービスにリクエストを送信します。このSSL/TLS接続が一方向SSLまたは双方向SSLのいずれになるかは、WSポリシーによって異なります。

SSL/TLS接続がプロセスを確立している間、接続が双方向SSLでありリクエストをWebサービスに転送する場合、アプリケーション・サーバーはクライアントの証明書を検証します。

Webサービスはリクエストを受信すると、Webサービスで要求されている場合は証明書を検証し、署名を検証します。 リクエストが正しい場合は、応答を返信します。Webサービスによって返信される応答にも、WSポリシーに従って署名が行われます。

GWWSは応答を受信すると、それを実際のSALTクライアントに転送します。応答に署名がある場合、GWWSはSALTクライアントに応答を返信する前に、証明書を検証し、署名を確認します。

リスト23 X.509認証に基づくSOAPメッセージ
<S11:Envelope xmlns:S11="…" >
  <S11:Header>
    <wsse:Security xmlns:wsse="…" xmlns:wsu="…">
      <wsse:BinarySecurityToken
        wsu:id="binarytoken"
        ValueType="wsse:X590v3"
        EncodingType="wsse:Base64Binary">
         MIIEzzCCA9CgAwIBAgIQEmtJZc0…
      </wsse:BinarySecurityToken>
      <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
         <ds:SignedInfo>
            <ds:Reference URI="#body">…</ds:Reference>
           <ds:Reference URI="#binarytoken">…</ds:Reference>
         </ds:SignedInfo>
      </ds:Signature>
    </wsse:Security>
  </S11:Header>
  <S11:Body wsu:Id="body" xmlns:wsu="…">
  </S11:Body>
</S11:Envelope>

GWWSを介してWebサービスに正常にアクセスするには、GWWSが実行時にアクセスできる有効なクライアント証明書と秘密鍵を構成する必要があります。この証明書と秘密鍵は、Webサービスの要件に従って、トランスポート・レベル・セキュリティまたはメッセージ・レベル・セキュリティ、あるいはその両方で使用できます。

現在、Tuxedo SALTはデプロイメント記述子の"System"要素を通して構成された単一の証明書のみをサポートしています。この制限によって、異なるインスタンスのGWWSゲートウェイを通過するすべてのリクエストでSSL/TLS接続を確立するために同じ証明書が使用されます。同様に、Webサービスからは、これらが同じユーザーから送られたものとして見えるため、アクセス権限は同じです。新機能によってこの制約が排除され、異なる証明書を使用して異なるクライアントまたはゲートウェイを表すことができるようになりました。

SALT構成は、デプロイメント記述子(DEP)と複数のWebサービス定義ファイル(WSDF)で構成されます。新しい機能では、この目的に使用するデフォルトのユーザーIDの構成や、TuxedoユーザーIDをX.509証明書にマップするためのフィルタ/マッパーの使用方法をGWWSに指示するために"Property"を使用します。構成に使用する"Property"は、"GWInstance"および"Service"の両方に構成可能な子要素として使用可能なXML要素です。"GWInstance"はSALTデプロイメント記述子に構成されており、"Service"はSALT Webサービス定義ファイルに構成されています。

WebサービスのWS-Securityポリシーでメッセージレベルのセキュリティが必要とされている場合、GWWSは秘密鍵を使用してメッセージに署名を行い、SOAPメッセージにバイナリ・セキュリティ・トークンとして証明書を添付します。これは、ターゲットのWebサービスがメッセージを検証してユーザーを認証するために使用します。あるいは、証明書と秘密鍵のみを使用して、セキュアなトランスポート・レイヤー接続(SSL/TLS)を作成します

サービス・リクエストがユーザー識別に"X.509"セキュリティ・トークンを使用するかどうかは、Webサービスに関連付けられているWSセキュリティ・ポリシーによって決まります。

注意: この機能は、X.509 V3公開鍵証明書のみをサポートします。他のバージョンはサポートされません。
証明書ソース

メッセージ・レベルのセキュリティに使用されるX.509 V3公開鍵証明書は、次のいずれかのソースから入手します。

1. トランスポート・セキュリティ用に構成されたX.509証明書。

2. 特定のインスタンスのGWWSゲートウェイに関連付けられているX.509証明書。

3. Webサービスにプリセットされているプリンシパルに関連付けられているX.509証明書

4. SALTクライアントに関連付けられているX.509証明書

プロパティ

異なるセキュリティ設定を支援するための3つの新しいプロパティが構成に追加されました。3つのプロパティはすべて"GWInstance"と"Service"で使用できます。"Service"要素はWSDFで使用可能であり、"GWInstance"はSALTデプロイメント記述子で使用可能です。

defaultClientIdentification

このプロパティでは、X.509証明書のルックアップで使用するデフォルトのクライアント名を定義します。"Service"の構成は"GWInstance"の構成より優先されます。次の例では、サービス"GetData"の"catalina"がデフォルトとして有効なクライアント名であることを示します。

リスト24
<?xml version="1.0" encoding="UTF-8" ?>
<!- Sample.wsdf 
-->
<Definition …>
  <WSBinding id="sample_Binding">
    <SOAP>
      <AccessingPoiints>
      </AccessingPoint>
    </SOAP>
    <ServiceGroup id="SampleSrvGrp">
      <Service name="GetData">
        <Property name="defaultClientIdentification" value="catalina"/>
      </Service>
   </ServiceGroup>
  </WSBinding>
</Definition>
リスト25
<?xml version="1.0" encoding="UTF-8"?>
<!- sample.dep
-->
<Deployment xmlns="http://www.bea.com/Tuxedo/SALTDEPLOY/2007">
  <WSDF>
    <Import location="c:/salt/x.509/Sample.wsdf"></Import>
  </WSDF>
  <WSGateway>
    <GWInstance id="INSTANCE1">
      <Outbound>
      </Outbound>
      <Properties>
            <Property name="defaultClientIdentification" value="melbourne"/>
       </Properties>
    </GWInstance>
  </WSGateway>
  <System>
    <Certificate>
    </Certificate>
  </System>
</Deployment>

GWWSインスタンス"INSTANCE1"で提供され、独自の"defaultClientId"を持たないその他のすべてのサービスについては、GWWSのデフォルト・クライアントID(ここでは"melbourne")が使用されます。

useSingleClientIdentification

どのWebサービスにも同じクライアントX.509証明書を使用するかどうかは、"useSingleClientIdentification"で決まります。このフィルタを有効化するよう決定された場合、すべてのSALTクライアント・リクエストは"defaultClientIdentification"で構成された識別を使用します。"defaultCleintIdentification"が構成されていない場合は、構成エラーであるため、"wsloadcf"によってエラーが発行されます。このオプションはデフォルトでは無効にされています。

Tuxedo "SECURITY"が少なくとも"USER_AUTH"レベルで構成されている場合、このフィルタはランタイム・クライアントX.509証明書選択にのみ影響があります。Tuxedo SECURITYが"NONE"または"APP_PW"に構成されている場合、このフィルタはクライアント証明書の選択には使用されません。実行時にこの属性が無効化されたとしても、前の段落で説明したエラー条件は依然としてtrueです。

次に、この単一クライアント識別フィルタを使用可能にするかどうかを判定するためのマトリックス表を示します。

表11 単一クライアント識別フィルタのマトリックス
Service
GWInstance
判定
未構成
未構成
無効
未構成
構成済みTRUE
有効
未構成
構成済みFALSE
無効
構成TRUE
未構成
有効
構成TRUE
構成済みTRUE
有効
構成TRUE
構成済みFALSE
有効
構成FALSE
未構成
無効
構成FALSE
構成済みTRUE
無効
構成FALSE
構成済みFALSE
無効

前の項の例では、両方の場所でこのプロパティを省略しているので、このフィルタは無効化されています。次の例では、このフィルタは有効化されています。

リスト26
<?xml version="1.0" encoding="UTF-8" ?>
<!- Sample.wsdf 
-->
<Definition …>
  <WSBinding id="sample_Binding">
    <SOAP>
      <AccessingPoints>
      </AccessingPoints>
    </SOAP>
    <ServiceGroup id="SampleSrvGrp">
      <Service name="GetData">
        <Property name="defaultClientIdentification" value="catalina"/>
        <Property name="useSingleClientIdentification" value="true" />
      </Service>
   </ServiceGroup>
  </WSBinding>
</Definition>
リスト27
<?xml version="1.0" encoding="UTF-8"?>
<!- sample.dep
-->
<Deployment xmlns="http://www.bea.com/Tuxedo/SALTDEPLOY/2007">
  <WSDF>
    <Import location="c:/salt/x.509/Sample.wsdf"></Import>
  </WSDF>
  <WSGateway>
    <GWInstance id="INSTANCE1">
      <Outbound>
      </Outbound>
      <Properties>
            <Property name="defaultClientIdentification" value="melbourne"/>
       </Properties>
    </GWInstance>
  </WSGateway>
  <System>
    <Certificate>
    </Certificate>
  </System>
</Deployment>

allowAnonymousAccess

Tuxedo SECURITYが少なくとも"USER_AUTH"レベルで構成されている場合、このプロパティはX.509証明書選択にのみ影響があります。このプロパティは、ユーザーが独自のX.509証明書を所有していなくても、Webサービスにアクセスする際にデフォルトのクライアント識別を使用することを許可します。このオプションはデフォルトでは無効にされています。

次に、この匿名クライアント・アクセス・フィルタを使用可能にするかどうかを判定するためのマトリックス表を示します。

表12 匿名クライアント・アクセス・フィルタのマトリックス
Service
GWInstance
判定
未構成
未構成
無効
未構成
構成済みTRUE
有効
未構成
構成済みFALSE
無効
構成TRUE
未構成
有効
構成TRUE
構成済みTRUE
有効
構成TRUE
構成済みFALSE
有効
構成FALSE
未構成
無効
構成FALSE
構成済みTRUE
無効
構成FALSE
構成済みFALSE
無効

このフィルタを有効化するよう決定された場合、"defaultClientIdentification"を構成する必要があります。"defaultClientIdentification"が構成されていない場合、"wsloadcf"は失敗し、エラーを返します。

次に、構成例を示します。

リスト28
<?xml version="1.0" encoding="UTF-8" ?>
<!- Sample.wsdf 
-->
<Definition …>
  <WSBinding id="sample_Binding">
    <SOAP>
      <AccessingPoints>
      </AccessingPoints>
    </SOAP>
    <Servicegroup id="SampleSrvGrp">
      <Service name="GetData">
        <Property name="defaultClientIdentification" value="catalina"/>
        <Property name="allowAnonymousAccess" value="true" />
      </Service>
   </Servicegroup>
  </WSBinding>
</Definition>
リスト29
<?xml version="1.0" encoding="UTF-8"?>
<!- sample.dep
-->
<Deployment xmlns="http://www.bea.com/Tuxedo/SALTDEPLOY/2007">
  <WSDF>
    <Import location="c:/salt/x.509/Sample.wsdf"></Import>
  </WSDF>
  <WSGateway>
    <GWInstance id="INSTANCE1">
      <Outbound>
      </Outbound>
      <Properties>
            <Property name="defaultClientIdentification" value="melbourne"/>
	<Property name="allowAnonymousAccess" value="false" />
       </Properties>
    </GWInstance>
  </WSGateway>
  <System>
    <Certificate>
    </Certificate>
  </System>
</Deployment>

SALT構成のコンパイル

SALT構成ファイルのコンパイルとは、XMLバージョンSALTDEPLOYファイルから(SALTCONFIG)ファイルのバイナリ・バージョンを生成することです。構成ファイルをコンパイルするには、wsloadcfコマンドを実行します。wsloadcfはデプロイメント・ファイルを解析してバイナリ・ファイルをロードします。

wsloadcfはデプロイメント・ファイル、インポートされたWSDFファイルおよびデプロイメント・ファイルに参照したWS-Policyファイルを読み込み、各ファイルのXMLスキーマ形式によって構文をチェックします。また、必要に応じて、SALTCONFIGというバイナリ構成ファイルをロードします。SALTCONFIGおよび(必要に応じて) SALTOFFSET環境変数は、SALTCONFIGファイルを指し、(必要に応じて)情報を格納する場所にオフセットします。

SALT構成ファイルは、あらかじめ定義したXMLスキーマ・ファイルに従ってwsloadcfにより検証されます。SALTで必要なXMLスキーマ・ファイルは$TUXDIR/udataobj/saltディレクトリに配置されています。

オプション「-n」を指定すると、wsloadcfはバイナリ・バージョンのSALTCONFIGを生成せずに、検証の目的にのみ実行できます。

詳細は、『SALTリファレンス・ガイド』wsloadcfリファレンスに関する項を参照してください。

SALTのUBBCONFIGファイルの構成

SALT構成を設定およびコンパイルした後、Oracle Tuxedo UBBCONFIGファイルは、Oracle TuxedoアプリケーションにSALTコンポーネントが適用されるように更新する必要があります。表13には、SALTのUBBCONFIGファイルの構成タスクを示します。

表13 SALTのUBBCONFIGファイルの構成タスク
構成タスク
必須
省略可能
X
 
X
 
X
 
 
X
 
X
 
X

*SERVERSセクションでTMMETADATAサーバーの構成

SALTは、UBBCONFIGファイルに少なくとも1つのTMMETADATAサーバーを指定する必要があります。Tuxedoサービス定義にアクセスするスループットを増加するために、複数のTMMETADATAサーバーの指定も可能です。

リスト30には、Oracle TuxedoアプリケーションにTMMETADATAサーバーを定義する方法を示すUBBCONFIGファイルのセグメントの一覧を示します。

リスト30 UBBCONFIGファイルの*SERVERSセクションで定義されたTMMETADATAサーバー
......
*SERVERS
TMMETADATA SRVGRP=GROUP1 SRVID=1
           CLOPT="-A -- – f domain_repository_file -r"
TMMETADATA SRVGRP=GROUP1 SRVID=2
           CLOPT="-A -- – f domain_repository_file"
......
注意: 全体のOracle Tuxedoドメインに対してサービス・メタデータ・リポジトリ・ファイルを1つのみ保持することをお薦めします。これを確認するには、Oracle Tuxedoドメインで実行している複数のTMMETADATAサーバーが同じリポジトリ・ファイルを指す必要があります。

詳細は、Oracle Tuxedoドキュメントの Tuxedoサービス・メタデータ・リポジトリの管理に関する項を参照してください。

*SERVERSセクションでGWWSサーバーの構成

SALTDEPLOYファイルに定義されたGWWSインスタンスを起動するには、UBBCONFIGファイルの*SERVERSセクションでGWWSサーバーを指定する必要があります。1つまたは複数のGWWSサーバー・インスタンスを並行してUBBCONFIGファイルに定義できます。各GWWSサーバーは、Oracle Tuxedoドメイン内でオプション「-i」を使用して、一意のインスタンスIDに割り当てる必要があります。インスタンスIDは、XMLバージョンのSALTDEPLOYファイルおよび生成されたバイナリ・バージョンのSALTCONFIGファイルに存在する必要があります。

リスト31には、Oracle TuxedoアプリケーションにGWWSサーバーを定義する方法を示すUBBCONFIGファイルのセグメントの一覧を示します。

リスト31 UBBCONFIGファイルの*SERVERSセクションで定義されたGWWSサーバー
......
*SERVERS
GWWS SRVGRP=GROUP1 SRVID=10
     CLOPT="-A -- – i GW1"
GWWS SRVGRP=GROUP1 SRVID=11
     CLOPT="-A -- – i GW2"
GWWS SRVGRP=GROUP2 SRVID=20
     CLOPT="-A -- -c saltconf_2.xml – i GW3"
......

詳細は、Oracle SALTリファレンス・ガイドの「GWWS」を参照してください。

注: UBBCONFIGファイルでは、GWWSサーバーが起動する前にTMMETADATAシステム・サーバーが確実に起動するよう設定してください。GWWSサーバーはTMMETADATAによって提供されるサービスを呼び出すため、TMMETADATAよりも後に起動する必要があります。
注意: GWWSサーバーから呼び出される前にTMMETADATAが確実に起動するようにするため、UBBCONFIGファイルの*SERVERS定義内で、TMMETADATAを先に、GWWSを後に記述するか、SEQUENCEパラメータを使用します。
注意: SALT構成情報は、SALTCONFIGファイルのバイナリを生成するために、wsloadcfであらかじめコンパイルされます。GWWSサーバーは起動時にSALTCONFIGファイルを読み取ります。SALTCONFIGファイル・エンティティを使用してSALTCONFIG環境変数を適切に設定してから、GWWSサーバーを起動してください。
注: オプション「-c」はSALTの現在のバージョンでは非推奨になっています。SALT 1.1リリースにおいて、GWWSサーバーに対してSALT 1.1ファイルを指定ためにオプション「-c」を使用します。SALT 2.0では、GWWSサーバーは、起動時にSALTCONFIGファイルを読込みます。GWWSサーバーは、このオプションを指定して起動すると、このオプションは非推奨になっていることを示す警告メッセージが表示されます。指定されたファイルは任意のファイルで、GWWSサーバーによって読み込まれません。

UBBCONFIGファイルでシステム制限事項の更新

SALT GWWSサーバーでOracle Tuxedoドメインを構成するとき、SALTアプリケーションの要件に応じて、UBBCONFIG ファイルに定義されたOracle Tuxedoシステム制限事項を設計および更新する必要があります。

ヒント: 適切なMAXSERVERS数を*RESOURCESセクションで定義します。

SALTでは、Oracle TuxedoドメインのTMMETADATAおよびGWWS内で次のシステム・サーバーを起動する必要があります。TMMETADATAおよびGWWSサーバー数は、MAXSERVERS値に指定する必要があります。

ヒント: 適切なMAXSERVICES数を*RESOURCESセクションで定義します。

GWWSサーバーは、発信方向で機能する場合、外部wsdl操作がOracle Tuxedoサービスでマップされ、GWWSサーバーを介して通知されます。すべてのGWWSサーバーによって通知されたサービス数は、MAXSERVICES値に指定する必要があります。

ヒント: 適切なMAXACCESSERS数を*RESOURCESセクションで定義します。

MAXACCESSERS 値は、このアプリケーションの特定のマシン上のOracle Tuxedo掲示板と同時に接続できるクライアントおよびサーバーのデフォルトの最大数を指定するために使用します。TMMETADATAおよびGWWSサーバー数、最大同時Webサービス・クライアントのリクエスト数は、MAXACCESSERS値に指定する必要があります。

ヒント: 適切なMAXWSCLIENTS数を*MACHINESセクションで定義します。

GWWSサーバーは着信方向で操作する場合、Webサービスの各クライアントはOracle Tuxedoシステムのワークステーション・クライアントとみなされます。したがって、GWWSサーバーをデプロイするマシンのUBBCONFIGファイルでは、MAXWSCLIENTSに適切な値を設定する必要があります。この値は共有されます。

GWWSサーバーの証明書のパスワード・フレーズの構成

SALTの証明書を設定する際には、セキュリティのパスワードを設定する必要があります。GWWSサーバーでは、SSLリンクレベル暗号化やWebサービス・セキュリティX.509トークンおよび署名機能を有効にするとき、証明書を設定する必要があります。証明書の秘密鍵のファイルを作成し、パスワードで暗号化する必要があります。

証明書に関連する機能を使用してGWWSサーバーが指定される場合、それらは秘密鍵ファイルを読み取り、パスワード・フレーズを使用してそれらを復号化するために必要です。各GWWSサーバーに対してパスワード・フレーズを構成するには、*SERVERSセクションにおける必要な各GWWSサーバー・エントリの下にキーワードSEC_PRINCIPAL_NAMEおよびSEC_PRINCIPAL_PASSVARを指定する必要があります。tmloadcfを使用してUBBCONFIGファイルをコンパイルする際には、管理者がパスワード・フレーズを入力する必要があり、これは秘密鍵ファイルを正しく復号化するために使用できます。

注意: SALTデプロイメント・ファイルに秘密鍵ファイルを1つのみ指定できます。SALTデプロイメント・ファイルに定義されているすべてのGWWSサーバーについては、秘密鍵ファイルの復号化のため同じパスワードを提供する必要があります。

リスト32には、GWWSサーバーに対してセキュリティのパスワード・フレーズを定義するUBBCONFIGファイルのセグメントを示します。

リスト32 GWWSサーバーに対してUBBCONFIGファイルに定義されたセキュリティのパスワード・フレーズ
......
*SERVERS
GWWS SRVGRP=GROUP1 SRVID=10
     SEC_PRINCIPAL_NAME="gwws_certkey"
     SEC_PRINCIPAL_VAR="gwws_certkey"
     CLOPT="-A -- – i GW1"
GWWS SRVGRP=GROUP1 SRVID=11
     SEC_PRINCIPAL_NAME="gwws_certkey"
     SEC_PRINCIPAL_PASSVAR="gwws_certkey"
     CLOPT="-A -- – i GW2"
......

詳細は、Oracle Tuxedo 12cR2ドキュメントの UBBCONFIG(5)に関する項を参照してください。

Webサービス・クライアント用のOracle Tuxedo認証の構成

SALTのGWWSサーバーは、Webサービス・クライアントの有効性をチェックするためにOracle Tuxedo認証フレームワークに依存します。Oracle Tuxedoの従来のアプリケーションがすでに適用されている場合、Webサービス・クライアントは次のいずれかの方法でユーザー資格証明を送信する必要があります。

逆に、SALTに対してWebサービス・クライアントを認証する場合、Oracle TuxedoドメインでOracle Tuxedo認証を構成する必要があります。

詳細は、Oracle Tuxedo 12cR2ドキュメント 認証の管理に関する項を参照してください。

発信HTTP基本認証のOracle Tuxedoセキュリティ・レベルの構成

発信HTTP基本認証username /passwordをマッピングするためにOracle Tuxedoクライアントuid / gidを取得するには、UBBCONFIGファイルでOracle Tuxedoセキュリティ・レベルをUSER_AUTHACLまたはMANDATORY_ACLとして構成する必要があります。

リスト33には、UBBCONFIGファイルでセキュリティレベルACLを定義するUBBCONFIGファイルのセグメントを示します。

リスト33 発信HTTP基本認証に対してUBBCONFIGファイルで定義されたセキュリティレベルACL
*RESOURCES
IPCKEY ...
......
SECURITY ACL
......

SALTのOracle Tuxedo MPモードでの構成

MPモードのOracle Tuxedoドメイン内の複数のマシンで実行しているGWWSサーバーを設定するには、各Oracle Tuxedoマシンを異なるSALTDEPLOYファイルおよび一連の別々のコンポーネントで定義する必要があります。

以下のグローバル・リソースを別々のマシンに渡って広める必要があります。

2つのマシンでは、同じWSDFファイルを関連付けられて、同一の機能がある、異なるマシンで実行している2つのGWWSサーバーを指定できます。ただし、以下のアーティファクトの伝播を手動で行う必要があります。

SALT 1.1からの移行

この項では、SALT 1.1からSALT 2.0リリースにアップグレードするカスタマに対して次の2つの移行方法について説明します。

SALT 1.1構成ファイルでGWWSサーバーの実行

SALT 1.1からSALT 2.0リリースにアップグレードした後、元のSALT 1.1構成ファイルを使用して既存のSALTアプリケーションを実行することができます。これはSALT 2.0でサポートされています。

SALT構成コンパイラ・ユーティリティwsloadcfは、1つのSALT 1.1形式の構成ファイルからバイナリ・バージョンのSALTCONFIGをロードすることをサポートします。

SALT 1.1構成ファイルを使用してSALT 2.0 GWWSサーバーを実行するには、次の手順に従います。

  1. wsloadcfを介してSALT 1.1形式の構成ファイルのバイナリ・バージョンのSALTCONFIGをロードします。
  2. GWWSサーバーを起動する前に環境変数SALTCONFIGを設定します。
  3. このSALT 1.1構成ファイルに関するGWWSサーバーを起動します。
注意: Oracle Tuxedoドメインに定義された複数のSALT 1.1構成ファイルがある場合、ステップ1から3に従って、複数のバイナリSALTCONFIGファイルを生成し、対応するGWWSサーバーを起動する必要があります。

SALT 1.1構成ファイルを変換してSALT 2.0構成スタイルの採用

wsloadcfがSALT 1.1構成ファイルからバイナリのSALTCONFIGをロードする際、このSALT 1.1構成ファイルも1つのWSDFファイルと1つのSALTDEPLOYファイルに変換されます。

注: SALT 1.1構成から変換されたファイルを取得した後、SALT 2.0スタイルの構成で起動することをお薦めします。1つのSALT 2.0デプロイメントに複数のSALT 1.1構成ファイルを組み込むには、他のWSDFファイルをインポートするためにSATLDEPLOYファイルを手動で編集する必要があります。

リスト34に、指定されたSALT 1.1構成ファイルから変換されたSALTDEPLOYファイルおよびWSDFファイルを示します。

リスト34 SALT 1.1構成ファイル(simpapp.xml)のサンプル
<Configuration xmlns=" http://www.bea.com/Tuxedo/Salt/200606">
  <Servicelist id="simpapp">
    <Service name="toupper" />
    <Service name="tolower" />
  </Servicelist>
  <Policy />
  <System />
  <WSGateway>
    <GWInstance id="GWWS1">
      <HTTP address="//127.0.0.1:7805" />
      <HTTPS address="127.0.0.1:7806" />
      <Property name="timeout" value="300" />
    </GWInstance>
  </WSGateway>
</Configuration>

変換されたSALT 2.0 WSDFファイルおよびデプロイメント・ファイルを、リスト35およびリスト36にそれぞれ示します。

リスト35 SALT 1.1構成ファイルの変換されたWSDFファイル(simpapp.xml.wsdf)
<Definition name="simpapp" wsdlNamespace="urn:simpapp.wsdl"
  xmlns=" http://www.bea.com/Tuxedo/WSDF/2007">
  <WSBinding id="simpapp_binding">
    <Servicegroup id="simpapp">
      <Service name="toupper" />
      <Service name="tolower" />
    </Servicegroup>
    <SOAP>
      <AccessingPoints>
        <Endpoint id="simpapp_GWWS1_HTTPPort"
                  address=http://127.0.0.1:7805/simpapp />
        <Endpoint id=" simpapp_GWWS1_HTTPSPort"
                  address=https://127.0.0.1:7806/simpapp />
      </AccessingPoints>
    </SOAP>
  </WSBinding>
</Definition>
リスト36 SALT 1.1構成ファイルの変換されたSALTDEPLOYファイル(simpapp.xml.dep)
<Deployment xmlns=" http://www.bea.com/Tuxedo/SALTDEPLOY/2007">
  <WSDF>
    <Import location="/home/myapp/simpapp.wsdf" />
  </ WSDF>
  <WSGateway>
    <GWInstance id="GWWS1">
      <Inbound>
        <Binding ref="simpapp:simpapp_binding">
          <Endpoint use=" simpapp_GWWS1_HTTPPort" />
          <Endpoint use=" simpapp_GWWS1_HTTPSPort" />
        </Binding>
      </Inbound>
      <Properties>
        <Property name="timeout" value="300" />
      </Properties>
    </GWInstance>
  </WSGateway>
</ Deployment>

 


サービス規約検索の構成

サービスの検索を有効にすると、サービスを提供するサーバーによってサービス規約情報が収集され、この情報が TMMETADATA(5)で実装された内部サービスに送信されます。通信のオーバーヘッドを軽減するため、同じサービス規約は1回のみ送信されます。

サービス規約は、TMMETADATA サーバーによって収集されたデータに基づいて生成されます。規約情報は、メタデータ・リポジトリに格納するか、テキスト・ファイルに出力しておいてtmloadreposでメタデータ・リポジトリにロードできます。SALTでは、tmscdコマンドを使用してサービス規約の実行時収集を管理できます。詳細は、『SALTコマンド・リファレンス・ガイド』tmscdに関する項を参照してください。

生成されたサービス規約情報には、サービス名、リクエスト・バッファ情報、応答バッファ情報、およびエラー・バッファ情報(エラーがある場合のみ)が含まれます。TMMETADATAサーバーへの送信が失敗した場合、収集されたサービス規約情報は破棄されます。バッファ情報には、バッファ・タイプ、サブタイプ、およびFML/FML32のフィールド情報(name、type、subtype)が含まれます。

検索は、FML32バッファ内のすべての埋め込みバッファでサポートされます。FML/FML32フィールドが出現すると、検索によってメタデータ・リポジトリ内のcount/requiredcountのパターンが自動的に更新されます。フィールドの出現がパターンに影響することはありませんが、「requiredcount」で最小出現回数を指定できます。規約検索の期間全体での最大出現回数は「count」で指定します。

VIEW/VIEW32/X_C_TYPE/X_COMMONの場合は、ビュー名のみが検索されます。SALTでメタデータ・リポジトリを使用している場合は、ビュー名に基づいて詳しい説明を生成できます。

注意: autodiscovery(表14を参照)を指定したパターンは比較されます。
注: メタデータ・リポジトリ内に同じautodiscoveryパターンがすでに存在する場合は、新しい方のパターンが無視されます。

サポートされるのは、アプリケーションATMIサービス(ローカル、または/TDOMAINゲートウェイ経由でインポートされたもの)のみです。サービス規約検索では、以下のサービスはサポートされません。

注意: 応答のないサービスは、メタデータ・リポジトリでは「oneway」サービスとしてマップされます。

tpforwardのサポート

サービスがtpreturn()のかわりに tpforward()を発行すると、そのサービスの応答バッファ情報が転送先のサービスの応答バッファ情報と同じになります。例:

サービス規約のテキスト・ファイル出力

収集されたサービス規約検索情報を、メタデータ・リポジトリに直接格納するかわりにファイルに書き出す場合、 TMMETADATA(5) -o<filename>オプションを使用し、tmloadreposを使用して、ファイルをメタデータ・リポジトリに手動でロードする必要があります。詳細は、Oracle Tuxedoコマンド・リファレンス・ガイドのtmloadreposに関する項を参照してください。

ファイルをメタデータ・リポジトリの代わりのストレージとして使用する場合、出力はtmloadreposに準拠したフォーマットになります。このファイルは、サービス・ヘッダー・セクションと、パラメータごとのパラメータ・セクションで構成されます。サービス・ヘッダーには、表14に示す項目が含まれます。「service」フィールドのフォーマットは、<TuxedoServiceName>+'_'+<SequenceNo>です。Oracle Tuxedoサービスに複数のパターンが認識された場合に名前の競合を避けるため、接尾辞 <SequenceNo>が使用されます。

注意: <SequenceNo>は、メタデータ・リポジトリにすでに格納された最後の<SequenceNo>の番号から始まります。

サービス・パラメータには、表15に示す情報が含まれます。

表14 サービス・レベルの属性
キーワード(省略形)
サンプル値
説明
service(sv)
TOUPPER_1
<RealServiceName>_<SequenceNo>.
tuxservice(tsv)
TOUPPER
サービス名
servicetype(st)
service|oneway
TPNOREPLYが設定されている場合は一方向
inbuf(bt)
STRING
FML、FML32、VIEW、VIEW32、STRING、CARRAY、XML、X_OCTET、X_COMMON、X_C_TYPE、MBSTRINGまたはカスタム・バッファ・タイプを定義したアプリケーションを表すその他の任意の文字列
outbuf(BT)
FML32
エラー応答の場合は「NULL」に設定されます。
errbuf(ebt)
STRING
エラー応答の場合のみ記述される
inview
 
ビュー名。inbufのタイプがVIEWまたはVIEW32の場合のみ記述されます。
outview
 
ビュー名。outbufのタイプがVIEWまたはVIEW32の場合のみ記述されます。
errview
 
ビュー名。errbufのタイプがVIEWまたはVIEW32の場合のみ記述されます。
autodiscovery
true
「true」に設定される

表15 パラメータ・レベルの属性
キーワード(省略形)
サンプル
説明
param(pn)
USER_INFO
 
paramdescription(pd)
service parameter
 
access(pa)
in
{in}{out}{err}の組合せ
type(pt)
fml32
byte、short、integer、float、double、string、carray、dec_t、xml、ptr、fml32、view32、mbstring
subtype(pst)
 
viewまたはview32タイプ・パラメータのビュー名
100
収集期間内のFML/FML32フィールドの最大出現回数
requiredcount
1
収集期間内のFML/FML32フィールドの最小出現回数

サンプル

例1:

入力: service=SVC, request=STRING, reply = TPSUCCESS + STRING

出力パターン: service=SVC_1,tuxservice=SVC,inbuf=STRING,outbuf=STRING

例2:

入力: service=SVC, request=STRING, reply = TPFAIL+ STRING

出力パターン(抜粋): Service=SVC_1, tuxservice=SVC,inbuf=STRING,outbuf=NULL,errbuf=STRING

例3:

入力:

service=SVC, request=STRING, reply = TPSUCCESS + STRING

service=SVC, request=STRING, reply = TPFAIL+ STRING

出力パターン:

service=SVC_1,tuxservice=SVC,inbuf=STRING,outbuf=STRING

Service=SVC_2, tuxservice=SVC,inbuf=STRING,outbuf=NULL,errbuf=STRING

例4:

入力: service=FMLS,request=FML32(name,pwd),reply=TPSUCCESS+FML32(id)

出力パターン:

service=FMLS_1,tuxservice=FMLS,inbuf=FML32,outbuf=FML32

param: input(name, pwd), output(id)

例5:

入力:

service=FMLS,request=FML32(name,pwd),reply=TPSUCCESS+FML32(id)

service=FMLS,request=FML32(name,pwd,token),reply=TPSUCCESS+FML32(id)

出力パターン:

service=FMLS_1,tuxservice=FMLS,inbuf=FML32,outbuf=FML32

param: input(name, pwd), output(id)

service=FMLS_2,tuxservice=FMLS,inbuf=FML32,outbuf=FML32

param: input(name, pwd,token), output(id)

 


SALT WS-TXサポートの構成

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

注: これらの構成の変更は、SALTDEPLOY追加擬似スキーマおよびWSDF追加擬似スキーマの付録に要約されています。
注: 追加情報は、 SALT相互運用性ガイドを参照してください。

トランザクション・ログ・デバイスの構成

Oracle Tuxedoまたは/DomainのTLogファイルと同様に、トランザクション・ログ(TLogDevice)要素を使用して、GWWSシステム・サーバーを構成する必要があります。リスト37に示すように、TLOGDevice要素が、SALTCONFIGソース・ファイル(SALTDEPLOY)に追加されます。

TLOGName要素も追加して、GWWSインスタンスで同じTLogデバイスを共有できます。

TLogデバイスは、Webサービス・ゲートウェイ・インスタンスごとに1つのみ設定できます(つまり、トランザクション・ログ要素は/Deployment/WSGateway/GWInstanceの子要素です)。

リスト37 SALTDEPLOYファイルに追加されたTLOG要素
<Deployment xmlns="http://www.bea.com/Tuxedo/SALTDEPLOY/2007">
  <WSDF>
      ...
  </WSDF>
  <WSGateway>
    <GWInstance id="GW1">
        <TLogDevice location="/app/GWTLOG"/>
        <TLogName id="GW1TLOG"/>
...
    </GWInstance>
  </WSGateway>
  ...
</Deployment>

登録プロトコル

Oracle Tuxedoベースのサービスは、コーディネータを使用してDurable 2PCプロトコルに登録されます。

Oracle Tuxedoがコーディネータ(発信方向)である場合、GWWSシステム・サーバーでは、Volatile 2PCまたはDurable 2PCの登録リクエストを許可し、それに応じてこれらを処理します。

WS-TXトランザクションの構成

図2では、典型的なWS-ATコンテキスト・サービスの呼出しのアプリケーションとプロトコルのフローを示します。

図2 WS-ATサービスの呼出し

WS-ATサービスの呼出し

SALT GWWSゲートウェイの構成手順および実行時の動作を、(図2に示すようなOracle Tuxedoドメインのロールに応じて)次の項で説明します。

着信トランザクションの構成

Webサービスとして公開されたOracle Tuxedoサービスは、着信WS-ATトランザクション・リクエストに関連付けられたローカル・トランザクションを開始するために、トランザクション・ログ・ファイルを作成しGWWSデプロイ構成ファイルにこれを追加する以外の固有の構成を必要としません。

トランザクションをOracle Tuxedoドメインに伝播できることを確認するためには、次の手順を実行します。

  1. 呼び出されたOracle Tuxedoサービスがトランザクションをサポートしていることを確認します。
  2. トランザクション・ログgファイルをGWWSデプロイメント・ファイルに構成します。詳細は、「トランザクション・ログ・デバイスの構成」を参照してください。
  3. 呼び出された外部Webサービスに関して目的の動作に対応するWS-ATアサーションを含むポリシー・ファイルを構成します。詳細は、「ポリシー・アサーションの構成」を参照してください。
  4. CoordinationContext要素を含む着信コールは、Oracle Tuxedoグローバル・トランザクションを作成します。
エラー条件

エラー条件は次のように処理されます。

発信トランザクションの構成

Oracle Tuxedoクライアントが外部WebサービスへのOracle Tuxedoグローバル・トランザクションを伝播するために、次の手順を実行します。

  1. トランザクション・ログgファイルをGWWSデプロイメント・ファイルに構成します。詳細は、「トランザクション・ログ・デバイスの構成」を参照してください。
  2. 呼び出された外部Webサービスに関して目的の動作に対応するWS-ATアサーションを含むポリシー・ファイルを構成します。詳細は、「ポリシー・アサーションの構成」を参照してください。
  3. アサーション設定およびOracle Tuxedoトランザクション・コンテンツの存在に応じて、CoordinationContext要素が作成され、アプリケーション・リクエストとともにSOAPヘッダーに送信されます。
  4. エンドポイント参照が自動的に生成され、リモートRegistrationService要素のCoordinationContext要素とともに送信され、トランザクションで使用します。プロトコル交換(準備/コミットまたはロールバックなど)とともに、この手順は両側で透過的です。
エラー条件

エラー条件は次のように処理されます。

トランザクションの最大数の構成

リスト1に示すように、MaxTran要素を使用して、内部トランザクション表のサイズを構成できます。デフォルトはMAXGTTです。

注意: MaxTran値は省略可能です。構成された値がMAXGTTより大きい場合、これは無視され、かわりにMAXGTTが使用されます。
リスト1 MAxTran要素
<Deployment xmlns="http://www.bea.com/Tuxedo/SALTDEPLOY/2007">
  <WSDF>
      ...
  </WSDF>
  <WSGateway>
    <GWInstance id="GW1">
...
	<MaxTran value="500"/>
...
    </GWInstance>
  </WSGateway>
  ...
</Deployment>

ポリシー・アサーションの構成

WS-ATは、リクエストが操作呼出しを原子性トランザクションの一部として作成する必要または可能性があるかどうかを示すことができるポリシー・アサーションを定義します。

Policy.xmlファイル

policy.xmlファイルには、WS-ATポリシー要素が含まれます。リスト2に示すように、WS-ATは、ATAssertion要素をOptional属性に定義する場合、 /wsat:ATAssertion/@wsp:Optional="true"となります。

リスト2 Policy.XMLのATAssertion要素
<?xml version="1.0"?>
<wsp:Policy wsp:Name="TransactionalServicePolicy"
  xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
  xmlns:wsat="http://docs.oasis-open.org/ws-tx/wsat/2006/06">
  <wsat:ATAssertion wsp:Optional="true"/>
</wsp:Policy>
注: 外部WSDLを適切にインポートするために、wsdlcvtコマンドを変更して、ATAssertion要素を含むpolicy.xmlファイルを生成します(WSDL内に存在する場合)。発信リクエストでは、ATAssertion要素を含むpolicy.xmlファイルを作成し、SALTDEPLOYソースで適切に示す必要があります。
着信トランザクション

着信トランザクションの場合、実行時に特定の動作変更は行われません。クライアントのWSDLの消費は、構成された値に基づいて決定し、通常の場合のように、実行時の動作が続きます。

発信トランザクション

WSDLの生成

WSDLの生成が拡張されて、対応するサービスのポリシー・ファイルに構成されたアサーションに対応するATAssertion要素が生成されます。

WSDLの変換

発信リクエストでは、WSDL変換ツールであるwsdlcvtが、ATAssertion要素を含むpolicy.xmlファイルを生成します(処理されたWSDL内に存在する場合)。policy.xmlファイルの場所を、SALTDEPLOYソースに適切に構成する必要があります。

 


SALT構成ツール

SALT構成ツールを使用すると、構成の表示および変更を実行できます。Oracle Tuxedoサービスは、構成ファイルを編集せずにWebサービスとして公開できます。

Oracle SALT構成ツールの有効化

注: Internet Explorer 9では、デフォルトでWebページがCSS情報なしで表示されます。このページを正常に表示するには、Internet Explorer 8ドキュメント互換性モードを使用する必要があります。次の手順を実行します。

GWWSオプション

Web管理は、デフォルトでは無効です。管理機能を有効にするには、UBBCONFIGで次のように-aオプションを使用してGWWSサーバーを構成する必要があります。

-a <scheme>://<host>:<port>

<scheme>は、「http」または「https」です。「https」を使用する場合、SSLでアプリケーションWebサービスをセキュア化する場合と同様に、秘密鍵と証明書を追加することでSSL機能に対応するようにGWWSを構成する必要があります。

<host>は、エンドポイントをリスニングしている管理URLの名前またはIPアドレスです。

<port>は、エンドポイントをリスニングしている管理URLのポート値です。

Web管理コンソールにアクセスするには、次のURLを使用します。

<scheme>://<host>:<port>/admin

例: https://server.company.com:3333/admin

カスタムHTTPヘッダー・オプション

カスタムHTTPヘッダーにより、Oracle TuxedoとHTTPヘッダーを使用するサーバーまたはクライアントが相互運用を行いデータを転送できるようになります。リスト3に示すように、このオプションを有効化しアクティブにするには、enableCustomHTTPHeadersプロパティを使用する必要があります。

リスト3 カスタムHTTPヘッダーの構成
<Deployment xmlns="http://www.bea.com/Tuxedo/SALTDEPLOY/2007">
   <WSDF>
...
   </WSDF>
   <WSGateway>
     <GWInstance id="GW1">
...
       <Inbound>
...
       </Inbound>
       <Outbound>
...
       </Outbound>
       <Properties>
	       <Property name="enableCustomHTTPHeaders" value="true">
       </Properties>
...

REpresentational State Transfer (REST)オプション

RESTモードはデフォルトで無効化されています。RESTモードを有効にするには、SALTDEPLOYでそのようにGWWSサーバーを構成する必要があります。

注: SALT GWWSでは、常に'<?xml version="1.0" encoding="UTF-8"?>'プロローグ付きのXMLヘッダーが生成されます。これは現在制限されており、HTTPレベルで処理されるとき、エンコーディング処理には影響しません。
着信

次のセクションがSALTDEPLOYに追加されました。

/Deployment/WSGateway/GWInstance/Inbound/REST/Network

この要素には、次に示すように、httpまたはhttpsのRESTリスニング・エンドポイントを指定するための2つの属性が含まれています。

<HTTP>
<Network http="host:port" https="host:port"/>
...
</HTTP>

1つの<Network>要素のみが許可されます。httpおよびhttps要素はオプションですが、少なくとも1つを指定する必要があります。httpおよびhttps属性は次のように構成されます。

すべてのRESTリクエストは、同じ<host>:<port> の組合せで実行されます。つまり、ゲートウェイごと、プロトコル(httpおよびhttps)ごとにそのような組合せを2つ以上使用することはできません。

サービスの呼出しは、URL作成の基本として、前述のパターンを使用します。例:

(http://host:1234/myTOUPPER)

デフォルトでは、RESTを使用して通知するようにサービスが明示的および個別に指定されていない場合、呼出し可能にはなりません。サービスを参照してください。

サービス構成

前述のように、RESTがコマンド行スイッチを使用して構成されている場合、アクセス可能なサービスを指定するために、要素をSALTDEPLOYする必要があります。

Oracle Tuxedoは、RESTパラダイムを活用したCRUD (作成、読取り、更新、削除)マッピングを使用して公開されます。たとえば、表1に示すように、bankAccountという名前のRESTサービスにはOracle TuxedoへのHTTPメソッドのマッピングがあります。

表1 HTTPメソッドからOracle Tuxedoサービスへのマッピング
メソッド
Oracle Tuxedo Service
GET
ACCOUNT_INFO
POST
OPEN_ACCOUNT
DELETE
CLOSE_ACCOUNT
PUT
UPDATE_ACCOUNT

クライアントは次のようにしてサービスを呼び出します。

URL: http://host:1234/bankAccount?account=1234

交換されたデータ:

リクエスト:

GET /bankAccount?account=1234 HTTP/1.0
Content-Type: application/json

...

レスポンス:

{{'account':1234},{'balance':1000}...}

次の要素がSALTDEPLOYに追加されます。

<Inbound>にゼロまたは1つの<RESTHTTP>要素があり、<HTTPREST>. <Service>にある1つ以上の<Service>要素には、次の属性が含まれます。

<Service>ごとに少なくとも1つ(最大4、サポートされるメソッドごとに1つ)の<Method>要素があります。<Method>要素には次の属性が含まれます。

Oracle Tuxedoサービスは動的に通知できるため、サービスがすでに通知されているかどうかのチェックはありません。示したように、サービスがこのセクションにリストされていない場合、RESTを使用して呼び出すことはできません。

リスト4 RESTの着信例
<Deployment xmlns="http://www.bea.com/Tuxedo/SALTDEPLOY/2007">
   <WSDF>
...
   </WSDF>
   <WSGateway>
     <GWInstance id="GW1">
       <Inbound>
         <Binding ref="bankapp:bankapp_binding">
           <Endpoint use="http1"/>
           <Endpoint use="https1" />
         </Binding>
         <RESTHTTP>
           <Network http="host:1234" https="host:1235"/>
           <Service name="bankAccount">
               <Method name="GET" 
                       reposservice="ACCOUNT_INFO"
                       service="ACCOUNT_INFO"
                       inputbuffer="FML32"/>
               <Method name="POST" 
                       reposservice="OPEN_ACCOUNT"
                       service="OPEN_ACCOUNT"
                       inputbuffer="FML32"/>
               <Method name="DELETE" 
                       reposservice="CLOSE_ACCOUNT"
                       service="CLOSE_ACCOUNT"
                       inputbuffer="FML32"/>
               <Method name="PUT" 
                       reposservice="UPDATE_ACCOUNT"
                       service="UPDATE_ACCOUNT"
                       inputbuffer="FML32"/>
           </Service>
         </RESTHTTP>
       </Inbound>
...
発信

SALTDEPLOY/Deployment/WSGateway/GWInstance/Oubound/HTTP/Serviceの要素が追加されます。

<Outbound>にゼロまたは1つの<HTTP>要素があり、<HTTP>. <Service>にある1つ以上の<Service>要素には、次の属性が含まれます。

注: TuxedoサービスはのURL + HTTPメソッド + HTTPマッピング(JSONまたはXML)の組合せでマップされる必要があります。Tuxedo側にはTuxedoサービスの注釈のみがあるため、HTTP/REST着信とは異なります。
リスト5 REST発信の例
<Deployment xmlns="http://www.bea.com/Tuxedo/SALTDEPLOY/2007">
   <WSDF>
...
   </WSDF>
   <WSGateway>
     <GWInstance id="GW1">
...
       <Outbound>
         <Binding ref="bankapp:bankapp_binding">
           <Endpoint use="http1"/>
           <Endpoint use="https1" />
         </Binding>
         <HTTP>
           <Service name="BANK_GET"
                    method="GET"
                    address="http://some.org/bankAccount"
                    content-type="JSON"
                    outputbuffer="FML32"/>
           <Service name="HTTPSvcGet"
                    method="GET"
                    address="http://some.org/some/path"
                    content-type="JSON"
                    outputbuffer="FML32"/>
           <Service name="HTTPSvcPost"
                    method="POST"
                    address="http://some.org/some/path"
                    content-type="JSON"
                    outputbuffer="FML32"/>
         </HTTP>
       </Outbound>
...

MIBクラス・インタフェース

SALT MIBインタフェースは、tpcall(".wm" + GWWSID,...)を使用して呼び出します。次の定義済みクラスが用意されています。

使用方法
クラス定義
T_WSRELOADクラス

このクラスをGET操作で呼び出すと、SALTCONFIGファイルがリロードされます。これはGWWSを再起動することと同じですが、実際にはシャットダウンせずにリブートします。

T_WSGWクラス

T_WSGWクラスは、スレッド数、TLOGデバイスおよび名前などのゲートウェイ・インスタンスの属性を表します。

表2 T_WSGWクラス属性
属性
権限
デフォルト値
TA_INSTANCEID(k)
string
r--r--r--
string[1..12]
 
TA_TLOGDEVICE
string
r--r--r--
string[0..256]
 
TA_TLOGNAME
string
r--r--r--
string
 
TA_WSATENDPOINT
string
r--r--r--
string
 
TA_MAXTRAN
long
r--r--r--
1 <= num <= MAXGTT
MAXGTT
TA_SOCKSADDRLIST
string
r--r--r--
string
 
TA_MAXCONTENTLEN
string
r--r--r--
1b <= 文字列サイズ(バイト) <= 1G
 
TA_THREADPOOLSIZE
long
r--r--r--
1 <= num <= 1024
16
TA_NWTIMEOUT
long
r--r--r--
1 <= num <= 65535
300
TA_MAXBACKLOG
long
r--r--r--
1 <= num <= 255
16
TA_ENABLEMULTIENC
string
r--r--r--
{true, false}
 
TA_ENABLESOAPVAL
string
r--r--r--
{true, false}
 
TA_PRIVATEKEY
string
r--r--r--
string[0..128]
 
TA_VERIFYCLIENT
string
r--r--r--
{true, false}
false
TA_TRUSTEDCERT
string
r--r--r--
string[0..128]
 
TA_CERTPATH
string
r--r--r--
string[0..128]
 
TA_PLUGINLIBRARIES
string
r--r--r--
string[0..256]
 
TA_PLUGINPARAMS
string
r--r--r--
string[0..256]
 
TA_RESTHTTPADDRESS
string
r--r--r--
string[0..256]
 
TA_RESTHTTPSADDRESS
string
r--r--r--
string[0..256]
 
TA_WS_REQREPDONE
long
r--r--r--
1 <= num <= MAXLONG
 
TA_WS_REQREPFAIL
long
r--r--r--
1 <= num <= MAXLONG
 
TA_WS_ONEWAYDONE
long
r--r--r--
1 <= num <= MAXLONG
 
TA_WS_ONEWAYFAIL
long
r--r--r--
1 <= num <= MAXLONG
 
TA_WS_OUTBOUNDDONE
long
r--r--r--
1 <= num <= MAXLONG
 
TA_WS_OUTBOUNDFAIL
long
r--r--r--
1 <= num <= MAXLONG
 
TA_WS_OUTBOUND_ONEWAYDONE
long
r--r--r--
1 <= num <= MAXLONG
 
TA_WS_OUTBOUND_ONEWAYFAIL
long
r--r--r--
1 <= num <= MAXLONG
 
TA_WS_INBOUNDTIME
long
r--r--r--
1 <= num <= MAXLONG
 
TA_WS_OUTBOUNDTIME
long
r--r--r--
1 <= num <= MAXLONG
 
TA_WS_THREADS
long
r--r--r--
1 <= num <= MAXLONG
 
TA_WS_TOTALPENDING
long
r--r--r--
1 <= num <= MAXLONG
 
TA_WS_RESTDONE
long
r--r--r--
1 <= num <= MAXLONG
 
TA_WS_RESTFAIL
long
r--r--r--
1 <= num <= MAXLONG
 
TA_WS_RESTPENDING
long
r--r--r--
1 <= num <= MAXLONG
 
TA_WS_RESTTIME
long
r--r--r--
1 <= num <= MAXLONG
 

属性の意味

TA_INSTANCEID

ゲートウェイ・インスタンス識別子この属性の値としては、最大で12文字列を入力できます(NULLで終わる文字列を除く)。識別子の値は、SALTDEPLOYファイル内でユニークである必要があります。

TA_TLOGDEVICE

属性"location"は、トランザクション・ファイルの場所を示します。WS-TXトランザクション・サポートを必要とする場合は、これが必要です。

TA_TLOGNAME

属性"id"は、トランザクション・ファイル内のトランザクション・ログの名前を示します。WS-TXトランザクション・サポートを必要とする場合は、これが必要です。

TA_WSATENDPOINT

属性"address"は、WS-ATプロトコル・エンドポイントを示します。

TA_MAXTRAN

属性"value"は、同時に実行できるWS-TXトランザクションの最大数を示します。これは、Oracle Tuxedo MAXGTTによってバインドされます。

TA_SOCKSADDRLIST

プロキシ・サーバーのURLのリストが含まれる文字列タイプ。例: proxy.server1.com,10.123.1.1:1080

TA_MAXCONTENTLENGTH

HTTPリクエストのコンテンツ長がプロパティ設定より長い場合にGWWSサーバーでリクエストの受け付けを拒否できます。指定しない場合、GWWSサーバーでコンテンツ長はチェックされません。値は以下3つの形式のいずれかに基づく文字列で指定します。
整数はバイトで表します。接尾辞なしの数値の場合、単位としてバイトを使用します。 浮動小数点数はキロバイトで表します。接尾辞として必ず「K」を付けます。たとえば、10.4K、40Kなどです。 メガバイトの浮動小数です。接尾辞として必ず「M」を付けます。たとえば、100M、20.6Mなど。

TA_THREADPOOLSIZE

GWWSサーバーに対する最大のスレッド・プール・サイズを指定します。
注意: この値にはGWWSサーバーで発生できる最大のスレッドを指定します。GWWSサーバーの実行中、実際に発生するスレッドは指定した値より小さい場合があります。

TA_NWTIMEOUT

ネットワークのタイムアウト値を秒の単位で指定します。

TA_MAXBACKLOG

バックログ・リスニング・ソケットの値を指定します。このプロパティは、オペレーティング・システムによる保留中の接続を保持するキューの最大長を制御するために使用します。
注意: 通常、この値をチューニングする必要はありません。

TA_ENABLEMULTIENC

GWWSサーバーの複数のエンコーディング・メッセージ・サポートをオン/オフに切り替えます。複数のエンコーディング・サポートのプロパティをオフにすると、GWWSサーバーはUTF-8 HTTP / SOAPメッセージのみを受け入れます。

TA_ENABLESOAPVAL

着信SOAPリクエスト・メッセージの対応するTuxedo入力バッファがカスタマイズしたXMLスキーマに関連付けられている場合、XMLスキーマ検証をオン/オフに切り替えます。

TA_PRIVATEKEY

Oracleウォレットを使用している場合、Oracleウォレットがあるディレクトリの場所を指定します。
注意: Oracle SALTには、Oracle Tuxedoのようなセキュリティ・プリンシパル名の概念がないので、ウォレットは、指定されたディレクトリに置かれ、サブディレクトリには置かれません。 注意: サーバーID証明書(SALTデプロイ構成ファイルの<PrivateKey>要素)を構成するには、SSL構成ファイルにルート認証局が存在している必要があります。正しい構成は、PEM形式の ルートCA証明書、 中間証明書(存在する場合)、 サービス証明書、 サーバー秘密鍵 です。 レガシー・セキュリティ資格証明形式を使用する場合は、PEM形式の秘密鍵ファイルを指定します。キー・ファイルのパスは、この要素に対するテキスト値として指定します。サーバー証明書もこの秘密鍵ファイル内に格納されます。この属性の値としては、最大で256文字列を入力できます(NULLで終わる文字列を除く)。 セキュリティ資格証明の形式がどちらであっても、OracleウォレットまたはGWWS秘密鍵ファイルのパスワードは、TUXCONFIGファイル内で、SEC_PRINCIPAL_PASSVAR="environment_variable_name"パラメータを使用して指定されます。TUXCONFIGファイルでは、SEC_PRINCIPAL_PASSVARが構成ファイルで正しく処理されるように、SEC_PRINCIPAL_NAME="any_non-null_string(not_used)"パラメータも設定する必要があります。 <Certificate>親要素を構成する場合、この要素は必須です。

TA_VERIFYCLIENT

オプション。
Webサービスのクライアントから証明書を送信する際にHTTP over SSL接続の使用を必須とするかどうかを指定します。要素の有効な値は「true」または「false」です。

TA_TRUSTEDCERT

オプション。
信頼されたPEM形式の証明書ファイルのファイル名を指定します。この属性の値としては、最大で256文字列を入力できます(NULLで終わる文字列を除く)。

TA_CERTPATH

信頼できる証明書が格納されているローカル・ディレクトリを指定します。この属性の値としては、最大で256文字列を入力できます(NULLで終わる文字列を除く)。
この要素は省略可能です。 注意: TA_VERIFYCLIENTが"true"に設定されているか、WS-AddressingがSSLで使用される場合は、信頼できる証明書がこの要素で設定したディレクトリに保存されている必要があります。

TA_PLUGINLIBRARIES

ローカル共有ライブラリ・ファイル・パスのカンマ区切りリスト。

TA_PLUGINPARAMS

起動時にGWWSサーバーによって初期化される際にライブラリに渡される文字列値を指定するカンマ区切りリスト。
リストの各項目はTA_PLUGINLIBRARIES属性の対応する項目に渡されます。 注意: 次の統計フィールドは、対応する操作が実行されていない場合は表示されません。たとえば、一方向呼出しが実行されていない場合、T_WS_ONEWAYDONEは返されません。

TA_WS_REQREPDONE

着信リクエスト-応答呼出しの実行数。

TA_WS_REQREPFAIL

着信リクエスト-応答呼出しの失敗数。

TA_WS_ONEWAYDONE

着信一方向呼出しの実行数。

TA_WS_ONEWAYFAIL

着信一方向呼出しの失敗数。

TA_WS_OUTBOUNDDONE

発信リクエスト-応答呼出しの実行数。

TA_WS_OUTBOUNDFAIL

発信リクエスト-応答呼出しの失敗数。

TA_WS_OUTBOUND_ONEWAYDONE

発信一方向呼出しの実行数。

TA_WS_OUTBOUND_ONEWAYFAIL

発信一方向呼出しの失敗数。

TA_WS_INBOUNTIME

着信呼出しの平均処理時間。

TA_WS_OUTBOUNTIME

発信呼出しの平均処理時間。

TA_WS_THREADS

アクティブ・スレッド数。

TA_WS_TOTALPENDING

すべてのSOAPサービスの平均処理時間の合計。

TA_RESTINBOUNDDONE

着信REST呼出しの成功数。

TA_RESTINBOUNDFAIL

発信REST呼出しの失敗数。

TA_RESTINBOUNDTIME

着信REST呼出しの平均処理時間の合計。

TA_RESTOUTBOUNDDONE

着信REST呼出しの成功数。

TA_RESTOUTBOUNDFAIL

発信REST呼出しの失敗数。

TA_RESTOUTBOUNDTIME

着信REST呼出しの平均処理時間の合計。

制限

なし
T_WSWEBSERVICEクラス

T_WSWEBSERVICEクラスはSOAP Webサービスの構成属性を表します。WSDFNAMEによって識別される各Webサービスには、バインディングの1つ以上のインスタンスを含めることができます。これは、このクラスの1つ以上のインスタンスとして返されます。例: 'ACCOUNT'という名前のWebサービスの場合:

属性の意味

TA_WSDFNAME

WSDF名。Webサービス定義を識別します。

TA_BINDINGID

バインドID。T_SALTBINDINGクラス・インスタンスにリンクします。T_SALTBINDINGクラス定義を参照してください。

TA_INSTANCEID

このWebサービスがデプロイされているゲートウェイのゲートウェイ・インスタンスID

TA_WSDFDIRECTION

ネイティブWebサービス: この属性には"INBOUND"値が含まれます。
非ネイティブWebサービス: この属性には"OUTBOUND"値が含まれます。

TA_ENDPOINTIDLIST

WSBindingオブジェクト・エンドポイント・リファレンスのカンマ区切りリスト。
参照したエンドポイントを着信エンドポイントとして指定すると、GWWSサーバーは対応するHTTPまたはHTTPSリスニング・エンドポイントを作成します。1つの着信WSBindingオブジェクトに対して少なくとも1つの着信エンドポイントを指定する必要があります。 参照したエンドポイントを発信エンドポイントとして指定すると、GWWSサーバーは発信WSBindingオブジェクトのSOAPリクエストごとにHTTPまたはHTTPSの接続を作成します。 発信WSBindingオブジェクトに対して発信エンドポイントを指定しない場合、最初の10エンドポイント(最大)が自動的に選択されます。 参照されるエンドポイントはTA_SALTWSDFクラスであらかじめ定義されている必要があります。

TA_WSAENDPOINT (発信のみ)

WS-Addressingリスニング・エンドポイントのアドレスを指定します。
この属性が空でない場合、デフォルトでは、すべてのSOAPメッセージがWS-Addressingメッセージ・ヘッダーに送信されます。 アドレス値は、 "http(s)://<host>:<port>/<context_path>"の形式である必要があります。 GWWSサーバーはリスン・エンドポイントとWS-AddressingのSOAPレスポンス・メッセージの受信方法を作成します。

TA_REALM (発信のみ)

HTTPまたはHTTP/SエンドポイントのHTTPレルム属性を指定します。この要素は1つのエンドポイントに対して構成されている場合、GWWSは、このエンドポイントを介して発信呼出しを発行する際、HTTP基本認証情報をリクエスト・メッセージに組込めようとします。

制限

なし
T_WSBINDINGクラス

T_WSBINDINGクラスはSOAPバインドの構成属性を表します。

必須キー・フィールド: TA_BINDINGIDおよびTA_WSDFNAME

表4 T_WSBINDINGクラス属性
属性
権限
デフォルト値
TA_BINDINGID(k)
string
r--r--r--
string[1..78]
 
TA_WSDFNAME(k)
string
r--r--r--
string[1..30]
 
TA_SOAPVERSION
string
r--r--r--
{1.1|1.2}
1.1
TA_SOAPSTYLE
string
r--r--r--
{rpc|document}
document
TA_SOAPENCODING
string
r--r--r--
{encoded|literal}
literal
TA_POLICIES
string
r--r--r--
string[1..2570]
 
TA_ENDPOINTS
string
r--r--r--
string[1..2570]
 

TA_BINDINGID

WSBindingオブジェクトを識別する。この値はWSDF内でユニークである必要がある。
ネイティブWSDF :カスタマが指定する値で、生成されたWSDL文書内でwsdl:binding名として使用する。 非ネイティブのWSDF :この値は外部WSDL文書内で定義されたwsdl:binding名です。

TA_WSDFNAME

WSDF名。T_SALTWSDFクラス・インスタンスとリンクします。T_SALTWSDFクラス定義を参照してください。

TA_SOAPVERSION

このWSBindingオブジェクトのSOAPバージョンを指定します。

TA_SOAPSTYLE

このWSBindingオブジェクトのSOAPメッセージ・スタイルを指定します。

TA_SOAPENCODING

このWSBindingオブジェクトのSOAPメッセージのエンコーディング・スタイルを指定します。

TA_POLICIES

参照されるWS-Policyファイルのローカル・ファイル・パスのカンマ区切りリストを指定します。
具体的に、Oracle SALTでは、一般的なWS-*シナリオ用のWS-Policyテンプレート・ファイルをあらかじめ定義します。これらのファイルは、$TUXDIR/udataobj/salt/policyディレクトリにあります。これらのテンプレート・ファイルは、"salt:<template_file_name>"の文字列形式を使用して参照できます。 たとえば、SALT WS-SecurityPolicy 1.0テンプレート・ファイル"wssp1.0-signbody.xml"は、TA_POLICIES属性に次の文字列値を使用して salt:wssp1.0-signbody.xmlと表現できます。

TA_ENDPOINTS

このTA_SALTBIDINGクラス・インスタンスの各アクセス・エンドポイントを表すエンドポイントのカンマ区切りリスト。

制限

なし
T_WSOPERATIONクラス

T_WSOPERATIONクラスはSOAP操作の構成属性を表します。

必須キー・フィールド: TA_BINDINGIDおよびTA_WSDFNAME。

表5 T_WSOPERATIONクラス属性
属性
権限
デフォルト値
TA_BINDINGID(k)
string
r--r--r--
string[1..30]
 
TA_SERVICENAME(k)
string
r--r--r--
string[1..255]
 
TA_WSDFNAME(k)
string
r--r--r--
string[1..255]
 
TA_TUXEDOREF
string
r--r--r--
string[1..128]
 
TA_NAMESPACE
string
r--r--r--
string[1..255]
 
TA_SOAPACTION
string
r--r--r--
string[1..255]
 
TA_POLICIES
string
r--r--r--
string[1..2570]
 
TA_ASYNCTIMEOUT
long
r--r--r--
0 <= num <= 32767
60
TA_DISABLEWSA
string
r--r--r--
{True|False}
False
TA_INPUTMSGNAME
string
r--r--r--
string[1..30]
 
TA_INPUTWSAACTION
string
r--r--r--
string[1..30]
 
TA_INPUTMSGHANDLER
string
r--r--r--
string[1..30]
 
TA_OUTPUTMSGNAME
string
r--r--r--
string[1..30]
 
TA_OUTPUTWSAACTION
string
r--r--r--
string[1..30]
 
TA_OUTPUTMSGHANDLER
string
r--r--r--
string[1..30]
 
TA_ERRMSGNAME
string
r--r--r--
string[1..30]
 
TA_ERRWSAACTION
string
r--r--r--
string[1..30]
 
TA_ERRMSGHANDLER
string
r--r--r--
string[1..30]
 
TA_WS_REQREPFAIL
long
r--r--r--
1 <= num <= MAXLONG
 
TA_WS_REQREPDONE
long
r--r--r--
1 <= num <= MAXLONG
 
TA_WS_ONEWAYFAIL
long
r--r--r--
1 <= num <= MAXLONG
 
TA_WS_ONEWAYDONE
long
r--r--r--
1 <= num <= MAXLONG
 
TA_WS_INBOUNDTIME
long
r--r--r--
1 <= num <= MAXLONG
 
TA_WS_OUTBOUNDFAIL
long
r--r--r--
1 <= num <= MAXLONG
 
TA_WS_OUTBOUNDDONE
long
r--r--r--
1 <= num <= MAXLONG
 
TA_WS_OUTBOUND_ONEWAYFAIL
long
r--r--r--
1 <= num <= MAXLONG
 
TA_WS_OUTBOUND_ONEWAYDONE
long
r--r--r--
1 <= num <= MAXLONG
 
TA_WS_OUTBOUNDTIME
long
r--r--r--
1 <= num <= MAXLONG
 

属性の意味

TA_BINDINGID

バインドID。T_SALTBINDINGクラス・インスタンスにリンクします。T_SALTBINDINGクラス定義を参照してください。

TA_SERVICENAME

サービス名を指定します。
ネイティブWSDF :サービス名の値は生成されたWSDL文書でwsdl:operation名として使用する。 非ネイティブのWSDF :サービス名は外部WSDL文書内で定義されたwsdl:operation名と同じです。

TA_WSDFNAME

WSDF名。T_SALTWSDFクラス・インスタンスとリンクします。T_SALTWSDFクラス定義を参照してください。

TA_TUXEDOREF

Tuxedoサービス・メタデータ・リポジトリのサービス定義を参照するために使用する省略可能な属性です。
指定しない場合、属性TA_SERVICENAMEの値はリファレンス値として使用します。

TA_NAMESPACE

サービス・ネームスペース属性を指定する。これは非ネイティブのWSDF属性です。外部WSDL文書で定義された各wsdl:operationのネームスペース設定を保存するために使用する。
注意: この属性をネイティブWSDFに指定しないでください。

TA_SOAPACTION

サービスsoapAction属性を指定する。これは非ネイティブのWSDF属性です。外部WSDL文書で定義された各wsdl:operationのsoapAction設定を保存するために使用する。
注意: この属性をネイティブWSDFに指定しないでください。

TA_POLICIES

参照されるWS-Policyファイルのローカル・ファイル・パスのカンマ区切りリストを指定します。
具体的に、Oracle SALTでは、一般的なWS-*シナリオ用のWS-Policyテンプレート・ファイルをあらかじめ定義します。これらのファイルは、$TUXDIR/udataobj/salt/policyディレクトリにあります。これらのテンプレート・ファイルは、"salt:<template_file_name>"の文字列形式を使用して参照できます。 たとえば、SALT WS-SecurityPolicy 1.0テンプレート・ファイル"wssp1.0-signbody.xml"は、TA_POLICIES属性に次の文字列値を使用して salt:wssp1.0-signbody.xmlと表現できます。

TA_ASYNCTIMEOUT

発信サービス: SOAPレスポンスを待機する時間(秒)を設定します。
着信サービス:動作の影響はない。

TA_DISABLEWSA

発信サービス:このプロパティを使用すると、明示的なWS-Addressingリクエストを無効化する。
着信サービス:動作の影響はない。

TA_INPUTMSGNAME

サービス入力メッセージ名の属性を指定する。これは非ネイティブのWSDF属性です。外部WSDL文書内で定義された入力wsdl:messageの名前を保存するために使用する。
注意: この属性をネイティブWSDFに指定しないでください。

TA_INPUTWSAACTION

サービス入力メッセージwsaActionの属性を指定する。これは非ネイティブのWSDF属性です。外部WSDL文書内で定義された入力wsdl:messageのwsaAction属性を保存するために使用する。
注意: この属性をネイティブWSDFに指定しないでください。

TA_INPUTMSGHANDLER

カスタマイズしたメッセージ変換のハンドラを指定します。サービスの要素<Input>、<Output>および/または<Fault>に対して省略可能です。この要素の値はハンドラ名です。
GWWSサーバーは、ハンドラ名を使用したすべてのメッセージ変換プラグインの共有ライブラリからメッセージ変換のハンドラを探します。メッセージ変換のハンドラを使用することで、デフォルトのGWWSメッセージ変換のかわりにカスタマイズしたTuxedoバッファおよびSOAPメッセージのペイロード変換関数を開発できます。

TA_OUTPUTMSGNAME

サービス出力メッセージ名の属性を指定する。これは非ネイティブのWSDF属性です。外部WSDL文書内で定義された出力wsdl:messageの名前を保存するために使用する。
注意: この属性をネイティブWSDFに指定しないでください。

TA_OUTPUTWSAACTION

サービス出力メッセージ名の属性を指定する。これは非ネイティブのWSDF属性です。外部WSDL文書内で定義された出力wsdl:messageのwsaAction属性を保存するために使用する。
注意: この属性をネイティブWSDFに指定しないでください。

TA_OUTPUTMSGHANDLER

カスタマイズしたメッセージ変換のハンドラを指定します。サービスの要素<Input>、<Output>および/または<Fault>に対して省略可能です。この要素の値はハンドラ名です。
GWWSサーバーは、ハンドラ名を使用したすべてのメッセージ変換プラグインの共有ライブラリからメッセージ変換のハンドラを探します。メッセージ変換のハンドラを使用することで、デフォルトのGWWSメッセージ変換のかわりにカスタマイズしたTuxedoバッファおよびSOAPメッセージのペイロード変換関数を開発できます。

TA_FAULTMSGNAME

サービス・エラー・メッセージ名の属性を指定する。これは非ネイティブのWSDF属性です。外部WSDL文書内で定義されたエラーwsdl:messageの名前を保存するために使用する。
注意: この属性をネイティブWSDFに指定しないでください。

TA_FAULTWSAACTION

サービス・エラー・メッセージのwsaAction属性を指定する。これは非ネイティブのWSDF属性です。外部WSDL文書内で定義されたエラーwsdl:messageのwsaAction属性を保存するために使用する。
注意: この属性をネイティブWSDFに指定しないでください。

TA_FAULTMSGHANDLER

カスタマイズしたメッセージ変換のハンドラを指定します。サービスの要素<Input>、<Output>および/または<Fault>に対して省略可能です。この要素の値はハンドラ名です。
GWWSサーバーは、ハンドラ名を使用したすべてのメッセージ変換プラグインの共有ライブラリからメッセージ変換のハンドラを探します。メッセージ変換のハンドラを使用することで、デフォルトのGWWSメッセージ変換のかわりにカスタマイズしたTuxedoバッファおよびSOAPメッセージのペイロード変換関数を開発できます。 注意: 次の統計フィールドは、対応する操作が実行されていない場合は表示されません。たとえば、一方向呼出しが実行されていない場合、T_WS_ONEWAYDONEは返されません。

TA_WS_REQREPDONE

着信リクエスト-応答呼出しの実行数。

TA_WS_REQREPFAIL

着信リクエスト-応答呼出しの失敗数。

TA_WS_ONEWAYDONE

着信一方向呼出しの実行数。

TA_WS_ONEWAYFAIL

着信一方向呼出しの失敗数。

TA_WS_INBOUNTIME

着信呼出しの平均処理時間。

TA_WS_OUTBOUNDDONE

発信リクエスト-応答呼出しの実行数。

TA_WS_OUTBOUNDFAIL

発信リクエスト-応答呼出しの失敗数。

TA_WS_OUTBOUND_ONEWAYDONE

発信一方向呼出しの実行数。

TA_WS_OUTBOUND_ONEWAYFAIL

発信一方向呼出しの失敗数。

TA_WS_OUTBOUNTIME

発信呼出しの平均処理時間。

制限

なし
T_WSHTTPSERVICEクラス

T_WSHTTPSERVICEクラスはSALT RESTサービスの構成属性を表します。

表6 T_WSHTTPSERVICEクラス属性
属性
権限
デフォルト値
TA_HTTPSVCNAME(k)
string
r--r--r--
string[1..256]
 
TA_HTTPDIRECTION
string
r--r--r--
string[1..8]
 
TA_HTTPMETHOD
string
r--r--r--
string[1..10]
 
TA_HTTPOUTBUF
string
r--r--r--
string[1..17]
 
TA_HTTPOUTADDRESS
string
r--r--r--
string[0..256]
 
TA_HTTPCONTENTTYPE
string
r--r--r--
string[0..256]
 
TA_HTTPPOSTSERVICE
string
r--r--r--
string[1..256]
 
TA_HTTPPUTSERVICE
string
r--r--r--
string[1..256]
 
TA_HTTPGETSERVICE
string
r--r--r--
string[1..256]
 
TA_HTTPDELETESERVICE
string
r--r--r--
string[1..256]
 
TA_HTTPPOSTINBUF
string
r--r--r--
string[1..17]
 
TA_HTTPPUTINBUF
string
r--r--r--
string[1..17]
 
TA_HTTPGETINBUF
string
r--r--r--
string[1..17]
 
TA_HTTPDELETEINBUF
string
r--r--r--
string[1..17]
 
TA_HTTPPOSTTUXREF
string
r--r--r--
string[1..256]
 
TA_HTTPPUTTUXREF
string
r--r--r--
string[1..256]
 
TA_HTTPGETTUXREF
string
r--r--r--
string[1..256]
 
TA_HTTPDELETETUXREF
string
r--r--r--
string[1..256]
 
TA_HTTP_DONE
long
r--r--r--
1 <= num <= MAXLONG
 
TA_HTTP_FAIL
long
r--r--r--
1 <= num <= MAXLONG
 
TA_HTTP_TIME
long
r--r--r--
1 <= num <= MAXLONG
 

TA_RESTSVCNAME

Tuxedoサービスを呼び出すURLで使用する名前。これは、次に示すように<Method>要素を使用して構成される実際のTuxedoサービスではないことに注意してください。

TA_RESTPOSTSERVICE

HTTP POSTメソッドにマップされるTuxedoサービスの名前。

TA_RESTPUTSERVICE

HTTP PUTメソッドにマップされるTuxedoサービスの名前。

TA_RESTGETSERVICE

HTTP GETメソッドにマップされるTuxedoサービスの名前。

TA_RESTDELETESERVICE

HTTP DELETEメソッドにマップされるTuxedoサービスの名前。

TA_RESTPOSTINBUF

Tuxedoバッファ・タイプ/オプションで入力の変換に使用されるサブタイプ。値は既存のすべての既存のTuxedoバッファ・タイプと同じです。VIEW/VIEW32バッファ・タイプの場合は、注釈{VIEW|VIEW32}/<Subtype>を使用してサブタイプの概念が伝達されます。例: 'VIEW32/customer'。
これは、このRESTサービスのHTTP POSTメソッドに関連付けられている値です。

TA_RESTPUTINBUF

Tuxedoバッファ・タイプ/オプションで入力の変換に使用されるサブタイプ。値は既存のすべての既存のTuxedoバッファ・タイプと同じです。VIEW/VIEW32バッファ・タイプの場合は、注釈{VIEW|VIEW32}/<Subtype>を使用してサブタイプの概念が伝達されます。例: 'VIEW32/customer'。
これは、このRESTサービスのHTTP PUTメソッドに関連付けられている値です。

TA_RESTGETINBUF

Tuxedoバッファ・タイプ/オプションで入力の変換に使用されるサブタイプ。値は既存のすべての既存のTuxedoバッファ・タイプと同じです。VIEW/VIEW32バッファ・タイプの場合は、注釈{VIEW|VIEW32}/<Subtype>を使用してサブタイプの概念が伝達されます。例: 'VIEW32/customer'。
これは、このRESTサービスのHTTP GETメソッドに関連付けられている値です。

TA_RESTDELETEINBUF

Tuxedoバッファ・タイプ/オプションで入力の変換に使用されるサブタイプ。値は既存のすべての既存のTuxedoバッファ・タイプと同じです。VIEW/VIEW32バッファ・タイプの場合は、注釈{VIEW|VIEW32}/<Subtype>を使用してサブタイプの概念が伝達されます。例: 'VIEW32/customer'。
これは、このRESTサービスのHTTP DELETEメソッドに関連付けられている値です。

TA_RESTPOSTTUXREF

メタデータ・リポジトリ・エントリへの参照です。これは、インタフェース・データとRESTサービスおよびメソッドと関連付けるために使用されます。構成ツールでサービス・メタデータ(インタフェース)に基づいた自動テスト・コードを生成する際にも使用されます。
これは、このRESTサービスのHTTP POSTメソッドに関連付けられている値です。

TA_RESTPUTTUXREF

メタデータ・リポジトリ・エントリへの参照です。これは、インタフェース・データとRESTサービスおよびメソッドと関連付けるために使用されます。構成ツールでサービス・メタデータ(インタフェース)に基づいた自動テスト・コードを生成する際にも使用されます。
これは、このRESTサービスのHTTP PUTメソッドに関連付けられている値です。

TA_RESTGETTUXREF

メタデータ・リポジトリ・エントリへの参照です。これは、インタフェース・データとRESTサービスおよびメソッドと関連付けるために使用されます。構成ツールでサービス・メタデータ(インタフェース)に基づいた自動テスト・コードを生成する際にも使用されます。
これは、このRESTサービスのHTTP GETメソッドに関連付けられている値です。

TA_RESTDELETETUXREF

メタデータ・リポジトリ・エントリへの参照です。これは、インタフェース・データとRESTサービスおよびメソッドと関連付けるために使用されます。構成ツールでサービス・メタデータ(インタフェース)に基づいた自動テスト・コードを生成する際にも使用されます。
これは、このRESTサービスのHTTP DELETEメソッドに関連付けられている値です。

TA_RESTDONE

呼出しの成功数。

TA_RESTFAIL

呼出しの失敗数。

TA_RESTPENDING

処理中のリクエスト数。

TA_RESTTIME

平均処理時間。

制限

なし

T_WSTRANSACTIONクラス

T_WSTRANSACTIONクラスはWS-TXトランザクションの実行時属性を表します。

表7 T_WSTRANSACTIONクラス属性
属性
権限
デフォルト値
TA_INSTANCEID(k)
string
r--r--r--
string [1..12]
 
TA_WS_TRANPROCESSID
long
r--r--r--
1 <= num <= MAXLONG
 
TA_WS_TRANSVCNAME
string
r--r--r--
string[1..256]
 
TA_WS_TRANGTRID
string
r--r--r--
string[1..78]
 
TA_WS_TRANCOORCONTEXT
string
r--r--r--
string[1..256]
 
TA_WS_TRANTRANID(*)
string
r--r--r--
string[1..78]
 
TA_STATE(k)
string
R-XR-XR--
GET: "{ACT | COM | REA | HEU | HEH}"
 
SET: "FOR
"N/A
     
N/A
       
TA_WS_TRANTIMESTAMP
long
r--r--r--
1 <= num <= MAXLONG
 
TA_WS_TRANBRANCHES
fml32
r--r--r--
   
TA_WS_TRANBRANCH
string
r--r--r--
string[1..256]
 

TA_INSTANCEID

ゲートウェイ・インスタンス識別子

TA_WS_TRANPROCESSID

ゲートウェイの処理ID。

TA_WS_TRANSVCNAME

現在は使用されていません。

TA_WS_TRANGTRID

Tuxedo側のグローバル・トランザクションID。

TA_WS_TRANCOORCONTEXT

Webサービス側の調整コンテキスト。

TA_STATE

GET: "{ACTive | COMcalled | REAdy | HEUristic | HEuristic Hazard }" GET操作は、選択したT_WSTRANSACTIONオブジェクトの実行時情報を取得します。次に示す状態は、GETリクエストに応えて返されるTA_STATEの意味を示します。
SET: "{FORget}"
SET操作は、選択したT_WSTRANSACTIONオブジェクトの実行時情報を更新します。以下に示す状態は、SETリクエストで設定されるTA_STATEの意味を示します。これ以外の状態を設定することはできません。
FORget: トランザクション・ログ・レコードを削除することで、HeuristicまたはHeuristic Hazardトランザクションを解決します。状態の変更は、HEUristicまたはHEuristic Hazardでのみ許可されます。

TA_WS_TRANTIMESTAMP

トランザクション・タイム・スタンプ。

TA_WS_BRANCHES

カンマ区切りのトランザクション・ブランチID。

制限

なし

セキュリティ

注: SALT構成ツールをOracle Tuxedoセキュリティに統合するために、ユーザー側でSSL/TLSを使用してユーザー名とパスワードを保護することをお薦めします。

ACLまたはMANDATORY_ACLセキュリティを必要とするOracle Tuxedoアプリケーション・ドメインの場合、Oracle Tuxedoのセキュリティ・データ・ファイルでコンソール・サービスを構成する必要があります。この付加情報は、構成ツール・サービスに対するOracle Tuxedoアクセス制御に使用されます。デフォルトの構成ツール・サービス名は「"SALTWEBCONSOLE"」ですが、GWWSオプション"-C <CONSOLE SERVICE NAME>"を使用して変更できます。例:

GWWS SRVGRP=GROUP1 SRVID=3

                CLOPT="-A -- -iGWWS1 -a

http://server.company.com:3333/admin -C CONSOLE"

この指示により、GWWSは、アクセス制御のサービス名として「CONSOLE」を使用します。

注: また、「tpacladd」を使用してこのWebコンソール・サービスをセキュリティ・データ・ファイルに追加する必要があります。例: $ tpacladd -g 1000 CONSOLE
注: これにより、CONSOLE がセキュリティ・データ・ファイルにOracle Tuxedo SERVICEとして追加され、アクセスが、グループID 1000のグループに属するユーザーのみに制限されます。
構成ツールのセキュリティの構成

セキュリティなし

UBBCONFIGファイルの「*RESOURCES」セクションにSECURITYを設定しないか、値を「NONE」に設定した場合、SALT構成ツールにアクセスするときにセキュリティは使用されません。ツールのURLを知っている人は誰でもアクセスできます。リスト8に、UBBCONFIGファイルの「*RESOURCES」セクションの例を示します。

リスト8 セキュリティなしの場合のUBBCONFIG *RESOURCESセクションの例
*RESOURCES
IPCKEY                  15301
DOMAIN                  mydomain
MASTER                  machine1
MAXACCESSERS            50
MAXSERVERS              10
MAXSERVICES             40
MODEL                   SHM
LDBAL                   N

アプリケーション・パスワードによるセキュリティ

*RESOURCES」セクションのSECURITYに値APP_PWを設定すると、Oracle Tuxedoアプリケーション・パスワード・セキュリティが有効になります。SALT構成ツールにアクセスするユーザーは、このパスワードの提示を要求されます。正しく提示できなかった場合、アクセスは拒否されます。リスト9に、UBBCONFIGファイルの「*RESOURCES」セクションの例を示します。

リスト9 アプリケーション・パスワード・セキュリティの場合のUBBCONFIG *RESOURCESセクションの例
*RESOURCES
IPCKEY                  15301
DOMAIN                  mydomain
MASTER                  machine1
MAXACCESSERS            50
MAXSERVERS              10
MAXSERVICES             40
MODEL                   SHM
LDBAL                   N
SECURITY                APP_PW

ユーザー認証セキュリティ

*RESOURCES」セクションのSECURITYに値USER_AUTHを設定すると、Oracle Tuxedoユーザー認証セキュリティが有効になります。SALT構成ツールにアクセスするユーザーは、有効なOracle Tuxedoユーザー名とパスワードの提示を要求されます。正しく提示できなかった場合、アクセスは拒否されます。リスト10に、UBBCONFIGファイルの「*RESOURCES」セクションの例を示します。

リスト10 ユーザー認証セキュリティの場合のUBBCONFIG *RESOURCESセクションの例
*RESOURCES
IPCKEY                  15301
DOMAIN                  mydomain
MASTER                  machine1
MAXACCESSERS            50
MAXSERVERS              10
MAXSERVICES             40
MODEL                   SHM
LDBAL                   N
SECURITY                USER_AUTH

tpusradd」コマンドを使用してユーザーを追加できます。次の例では、Oracle Tuxedoアプリケーション・ドメインのグループIDが1000のグループにユーザー「tom」が追加されます。

$ tpusradd -u 2503 -g 1000 tom

アクセス制御リスト・セキュリティ

*RESOURCES」セクションのSECURITYに値ACLを設定すると、Oracle Tuxedoアクセス制御リスト・セキュリティが有効になります。SALT構成ツールにアクセスするユーザーは、Webコンソールへのアクセスを許可されたグループに属する有効なOracle Tuxedoユーザー名とパスワードの提示を要求されます。正しく提示できなかった場合、アクセスは拒否されます。リスト11に、UBBCONFIGファイルの「*RESOURCES」セクションの例を示します。

リスト11 アクセス制御リスト・セキュリティの場合のUBBCONFIG *RESOURCESセクションの例
*RESOURCES
IPCKEY                  15301
DOMAIN                  mydomain
MASTER                  machine1
MAXACCESSERS            50
MAXSERVERS              10
MAXSERVICES             40
MODEL                   SHM
LDBAL                   N
SECURITY                ACL

tpacladd」コマンドを使用すると、構成ツールへのアクセス制御を追加できます。次の例では、Oracle Tuxedoアプリケーション・ドメインのアクセス制御リストに構成ツール・サービス「SALTWEBCONSOLE」が追加されます。

$ tpacladd -g 1000 SALTWEBCONSOLE

サービスがOracle Tuxedoアクセス制御セキュリティ・データ・ファイルに追加されていない場合、有効なOracle Tuxedoユーザー名とパスワードを持つあらゆるユーザーがSALT Webコンソールにアクセスできます。

強制アクセス制御リスト・セキュリティ

*RESOURCES」セクションのSECURITYに値MANDATORY_ACLを設定すると、Oracle Tuxedoアクセス制御リスト・セキュリティが有効になります。SALT構成ツールにアクセスするユーザーは、構成ツールへのアクセスを許可されたグループに属する有効なOracle Tuxedoユーザー名とパスワードの提示を要求されます。正しく提示できなかった場合、アクセスは拒否されます。リスト12に、UBBCONFIGファイルの「*RESOURCES」セクションの例を示します。

リスト12 強制アクセス制御リスト・セキュリティの場合のUBBCONFIG *RESOURCESセクションの例
*RESOURCES
IPCKEY                  15301
DOMAIN                  mydomain
MASTER                  machine1
MAXACCESSERS            50
MAXSERVERS              10
MAXSERVICES             40
MODEL                   SHM
LDBAL                   N
SECURITY                MANDATORY_ACL

tpacladd」コマンドを使用すると、構成ツールへのアクセス制御を追加できます。次の例では、Tuxedoアプリケーション・ドメインのアクセス制御リストに構成ツール・サービス「SALTWEBCONSOLE」が追加されます。

$ tpacladd -g 1000 SALTWEBCONSOLE

サービスがOracle Tuxedoアクセス制御セキュリティ・データ・ファイルに追加されていない場合、SALT Webコンソールにアクセスできません。

 


関連項目


  先頭に戻る       前  次