目次 前 次 PDF


SALTの実行時の管理

SALTの実行時の管理
この章には次のトピックが含まれます:
Oracle Tuxedo Webサービスの管理
この項には次のトピックが含まれます:
GWWSサーバーからのWSDLドキュメントの参照
GWWSサーバーは、デプロイされている各着信ネイティブWSDFのWSDLドキュメントを自動的に生成します。WSDLドキュメントは、HTTP GETを介していずれかのHTTP/Sがリスニングするエンドポイントからダウンロードできます。
以下のURLでWSDLドキュメントを参照します。
���http(s)://<host>:<port>/wsdl[? [id=<wsdf_name>] [&mappolicy=<pack|raw|mtom>] [&toolkit=<wls|axis>]]���
表2-1では、WSDLドキュメントのダウンロードのすべてのオプションを示します。
 
表2-1 WSDLダウンロードのオプション
オプション
値の説明
id
WSDLドキュメントのネイティブなWSDF名を指定する。指定したネイティブなWSDFは、GWWSサーバーによって、着信方向でインポートする必要がある。オプションを指定しない場合、最初に着信するネイティブなWSDFが使用される。
mappolicy
{pack | raw | mtom}
生成するWSDLドキュメントで特定のOracle Tuxedo型付きバッファに使用されるデータ・マッピング・ポリシーを指定します。現在、このオプションはCARRAY型付きバッファにのみ影響します。このオプションを指定しない場合のデフォルト値はpackです。
toolkit
{wls | axis}
このオプションは、先にmappolicy=rawを指定している場合にのみ使用します。CARRAY型付きバッファのMIME添付ファイルについて正しいWSDLドキュメント記述を生成するために、使用するクライアント・ツールキットを指定する。 SALTでは、SOAP with AttachmentsについてWebLogic ServerおよびAxisがサポートされています。デフォルト値はwlsです。
注意:
SALT 2.0以降でサポートされているWSDLダウンロードのURLは、SALT1.1リリースでサポートされているURLと異なります。SALT 1.1において、1つのGWWSサーバーは、指定された構成ファイルからRPC/encodedおよびdocument/literalの両方のメッセージ・スタイル、SOAP 1.1およびSOAP 1.2の両方のバージョンを適応的にサポートします。
SALT 2.0以降のリリースにおいて、GWWSサーバーに関連付けられている各WSDFファイルは、特定のSOAPバージョンおよび特定のSOAPメッセージ・スタイルとあらかじめ組み合せる必要があります。したがって、SALT 1.1 GWWSサーバーの次のWSDLダウンロード・オプションはこのリリースでは非推奨になっています。
 
表2-2 非推奨になっているWSDLダウンロード・オプション
オプション
値の説明
SOAPversion
この非推奨になっているオプションは、生成したWSDLドキュメントで定義された必要なSOAPバージョンを指定するに使用される。現在、このオプションはWSDFファイルに設定されている。
encstyle
この非推奨になっているオプションは、生成したWSDLドキュメントで定義された必要なSOAPメッセージ・スタイルを指定するに使用される。現在、このオプションはWSDFファイルに設定されている。
GWWSサーバーのチューニング
GWWSサーバーは、外部のWebサービス・アプリケーションとOracle Tuxedoアプリケーションとの通信に使用される、パフォーマンスに優れたゲートウェイです。スレッド・プールによる動作モデルが採用されているため、マルチプロセッサのサーバー環境において高いパフォーマンスを発揮します。
GWWSサーバーは、SALT構成ファイルで<WSGateway>要素のプロパティ値を設定して実行時の動作を制御するためのオプションも提供します。次のトピックでは、様々な状況に応じたデプロイメントの考慮事項を示します。
詳細は、『SALT構成ガイド』のGWWSサーバーの構成に関する項を参照してください。
スレッド・プール・サイズのチューニング
プロパティ: thread_pool_size
デフォルトのスレッド・プール・サイズは16ですが、大量の負荷を処理するには十分でない場合があります。平常時の稼働状況に関する分析を実施して適切なサイズ要件を見積もることをお薦めします。通常、同時使用クライアント数が多い(たとえば500を超える)場合には、少なくとも4ウェイ・プロセッサを搭載したサーバーにGWWSゲートウェイをデプロイし、スレッド・プール・サイズを64に設定することが望ましいと考えられます。
ネットワーク・タイムアウトの制御
プロパティ: timeout
SALTでは、構成ファイルでパラメータを使用してネットワーク・タイムアウトのチューニングを提供します。デフォルトのタイムアウト値は300秒です。タイムアウト・エラーの発生を少なくするために、この値を調整できます。
コンテンツ最大長の制御
プロパティ: max_content_length
SALT管理者は、クライアントから送られてくるバッファのサイズを必要に応じて制限できます。この制限を設定するには、特定のGWWSインスタンスに対して指定できるプロパティ値を使用します。デフォルトでは、制限はありません。
バックログの制御
プロパティ: max_backlog
デフォルトのバックログ・ソケット・リスン値は20です。Windowsのようなシステムの場合、20では大量の負荷を処理するには十分でない場合があります。TCPハンドシェーク中にクライアント接続が拒否されました。
Windowsにおける推奨値は、予想される最大の同時TCP接続に基づきます。たとえば、ピークが80の場合、SALT構成ファイルでmax_backlogプロパティの値を60に設定することができます。
注意:
ほとんどのシステムでは、デフォルトのバックログ値を変更する必要はありません。高負荷時にクライアント接続の問題が発生する場合にのみチューニングしてください。
警告:
バックログ値を大きくすると、syn-flood攻撃による被害のリスクが高まります。
Oracle Tuxedo BLOCKTIME
SALT構成ファイルには、ネットワーク受信タイムアウトのプロパティが提供されています。Oracle Tuxedo BLOCKTIMEパラメータは、Webサービス・アプリケーションにも影響を与えます。BLOCKTIMEの計算は、メッセージがXMLから型付きバッファに変換されてOracle Tuxedoフレームワークに配信された時点で開始されます。
Webサービスの特定クライアントからBLOCKTIMEの期間内に応答がない場合、GWWSサーバーはSOAPフォルトのメッセージをクライアントに送信し、接続を終了します。遅延した応答が後でGWWSサーバーに届いた場合は、該当するクライアントが既に切断されているため、そのメッセージは破棄されます。
BLOCKTIMEは、UBBCONFIGファイルの*RESOURCEセクションに定義します。
GWWSインスタンスの複数化によるパフォーマンスの向上
ネットワークの混雑やCPUリソースの不足などで単一のGWWSインスタンスがボトルネックとなった場合は、分散Oracle Tuxedoノード上に、同一のWebサービス・バインディングで複数のGWWSインスタンスをデプロイできます。
注意:
GWWSインスタンスを複数化した場合でも論理的な機能は同じですが、クライアントから見ると、それぞれのGWWSインスタンスは異なるHTTP/Sリスニング・ポートおよびアドレスに存在する別個のWebサービス・エンドポイントとなります。
GWWSサーバーのトレース
GWWSサーバー・プロセスは、TuxedoでサポートされるTMTRACEトレース機能を使用します。GWWSのトレース機能はTMTRACEとともに使用されます。
トレース・メッセージは、ユーザー設定ディレクトリ内でアクセス可能なULOGファイルに記録されます。ULOGファイルを確認することで、問題の原因を特定できる場合があります。さらに、ULOGを参照することは、SALTゲートウェイでの問題がメッセージ処理のどのステージで発生したのかを特定するのに役立ちます。
トレースは、環境変数TMTRACEおよびGWWS_TRACE_LEVELを使用して有効化します。TMTRACE変数はトレースを有効化します。環境変数GWWS_TRACE_LEVELは、SALTゲートウェイで記録するトレース量を制御します。
Oracle SALTメッセージのトレースには、wsというトレース・カテゴリを使用します。これは、他の一般的なトレース・カテゴリと組み合せて使用できます。たとえば、トレース・カテゴリとしてatmi+wsと指定すると、Oracle SALTとOracle Tuxedo ATMIの両方のトレース・メッセージが記録されます。
注意:
メッセージ・トレースは、診断処置にのみ使用することをお薦めします。GWWSサーバーでは、次のトリガー仕様はお薦めできません。
abortsystemsleep
このいずれかのトリガーを指定した場合は、GWWSサーバーが予期せず終了することがあります。
詳細は、『ファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』「tmtrace(5)」を参照してください。
GWWS_TRACE_LEVELは、100または200に設定できます。値'100'では、最小限のトレース情報がULOGファイルに記録されます。値'200'では、最大限のトレース情報が記録されます。
TMTRACEおよびGWWS_TRACE_LEVEL の各環境変数は、次のように設定できます。
export TMTRACE=atmi+ws:ulog
export GWWS_TRACE_LEVEL=100
トレースは、ATMIおよびSALTの両方のメッセージに対して有効です(最小トレース量)。
トレースをSALTメッセージにのみ有効にするには、次のように設定します。
export TMTRACE=ws:ulog
export GWWS_TRACE_LEVEL=200
この場合、トレース・レベルは最大トレース量に設定されます。
注意:
GWWS_TRACE_LEVELが200に設定されており、データ・バッファが大きい場合は特に、使用可能なディスク容量に注意する必要があります。トレースによってULOGファイルがいっぱいになる可能性があります。
リスト2-1に、SALTトレース・メッセージが含まれたULOGファイルのサンプルを示します。
注意:
GWWSのトレース動詞のmsは非推奨になり、wsに置き換わりました。
リスト2-1 GWWSサーバーが記録したTMTRACEメッセージ
105106.slc04jtu!GWWS.27653.1379895040.0: TRACE:ws:Begin data transformation of request message, buffer type = FML32, SCO index=4095
105106.slc04jtu!GWWS.27653.1379895040.0: TRACE:ws:trace_level<100>:sco_index<4095>:WS<TFML32>:tuxedo_service<TFML32>:direction<inbound>:message_kind<request>:Parsing of the Data message begins before sending to tuxedo
���
105106.slc04jtu!GWWS.27653.1379895040.0: TRACE:ws:Entering<TRACE_FSM>
105106.slc04jtu!GWWS.27653.1379895040.0: TRACE:ws:SCO[4095] FSM State Transition: --OK-->FindService
105106.slc04jtu!GWWS.27653.1379895040.0: TRACE:ws:Exiting<TRACE_FSM>
105106.slc04jtu!GWWS.27653.1379895040.0: TRACE:ws:<200>:<4095>:<TFML32>:<TFML32>:<inbound>:<request>:<Message:Style/Encoding><DOC/LITERAL>
���
105106.slc04jtu!GWWS.27653.1379895040.0: TRACE:ws:<runSoap2BufConversion> <200>:<4095>:<TFML32>:<TFML32>:<inbound>:<request>:Message config parameters info:input buffer<inbuf>:type<FML32>:schema-name<fml32_TFML32_In>:style<DOC>:encoding<LITERAL>:type<request-response>
���
105106.slc04jtu!GWWS.27653.1379895040.0: TRACE:ws:<100>:<4095>:<TFML32>:<TFML32>:<inbound>:<request>:<XML2Tux> data conversion SOAP to tuxedo completed
���
105106.slc04jtu!GWWS.27653.1388463872.0: TRACE:ws:<buffer2soap> trace_level<200>:sco_index<4095>:WS<TFML32>:tuxedo_service<TFML32>:direction<inbound>:message_kind<response>:Data will be converted to SOAP message:mode<Internal>:style/encoded<DOC>/<LITERAL>:endpoint<http://slc04jtu:12438/TuxAll>:buffertype<outbuf>
105106.slc04jtu!GWWS.27653.1388463872.0: TRACE:ws:<runBuf2SoapConversion> <200>:<4095>:<TFML32>:<TFML32>:<inbound>:<response>:Message config parameters info:output buffer<outbuf>:type<FML32>:schema-name<fml32_TFML32_Out>:style<DOC>:encoding<LITERAL>:type<request-response>
105106.slc04jtu!GWWS.27653.1388463872.0: TRACE:ws:<runBuf2SoapConversion> <200>:<4095>:<TFML32>:<TFML32>:<inbound>:<response>:type<FML32>:name<outbuf>
105106.slc04jtu!GWWS.27653.1388463872.0: TRACE:ws:<nestBuf2Soap> <200>:<4095>:<TFML32>:<TFML32>:<inbound>:<response>:type<BYTE>:schema-type<byte>:minOccur<1>:maxOccur<1>:name<tf32char>:value<0xFFFFFF80>
���
FML32>:<TFML32>:<inbound>:<response>:type<MBSTRING>:schema-type<string>:minOccur<1>:maxOccur<1>:name<tf32mbstr>:value<abcdefg>
 
GWWSサーバーのモニタリング
GWWSサーバーは、コマンド行ツールであるwsadminユーティリティを使用してモニターできます。このツールは、GWWSの実行ステータスを表示します。
リスト2-2に例を示します。
リスト2-2 wsadminを使用したGWWSのモニター
$wsadmin
wsadmin - Copyright (c) 2005-2010 Oracle.
Portions * Copyright 1986-1997 RSA Data Security, Inc.
All Rights Reserved.
Distributed under license by Oracle.
SALT is a registered trademark.

> gwstats -i abcd
GWWS Instance : abcd

Inbound Statistics :
---------------------------------
      Request Response Succ : 74
      Request Response Fail : 32
                Oneway Succ : 0
                Oneway Fail : 0

                 Total Succ : 74
                 Total Fail : 32

       Avg. Processing Time : 210.726 (ms)
Outbound Statistics :
---------------------------------
      Request Response Succ : 0
      Request Response Fail : 0
                Oneway Succ : 0
                Oneway Fail : 0

                 Total Succ : 0
                 Total Fail : 0

       Avg. Processing Time : 0.000 (ms)
---------------------------------
      Total request Pending : 0
   Outbound request Pending : 0
       Active Thread Number : 2


> gws -i out -s getTemp
GWWS Instance : out

Service : getTemp

Outboud Statistics :
---------------------------------
      Request Response Succ : 333
      Request Response Fail : 139
       Avg. Processing Time : 143.064 (ms)


>
 
gwstats (gws)コマンドを使用すると、特定のインスタンスIDのGWWSサーバーまたはGWWSサーバーの特定のサービスに関する統計データが表示されます。このデータには成功または失敗したリクエストの合計などが含まれています。
wsadminを実行する前に、TUXCONFIGおよびSALTCONFIGの両方の環境変数を設定する必要があります。wsadminはアクティブ・モードもアクティブでないモードもサポートしているため、Oracle Tuxedoドメインを起動しても、起動しなくてもwsadminを開始できます。
表2-3に、wsadminのサブコマンドを示します。
 
表2-3 wsadminのサブコマンド
サブコマンド
説明
gwstats(gws)
GWWSサーバーの統計情報を表示する
configstats(cstat)
構成情報を表示します。
default(d)
デフォルトの-iオプションを指定する
reload -i
SALTCONFIGファイルのリロードに使用します。-iではリロードするGWWSのゲートウェイ・インスタンスIDを指定します。
echo(e)
エコーのオン/オフを切り替える
forgettrans
指定されたGWWSインスタンスに関する1つまたはすべてのヒューリスティックなログ・レコードを削除します。
printtrans
指定のGWWSインスタンスに関するトランザクション情報を出力します。
paginate(page)
ページングのオン/オフを切り替える
verbose(v)
冗長出力のオン/オフを切り替える
saml (s) {create|add|modify|delete}
 
SAMLキー・メタデータ操作
quit(q)
プログラムを終了します。
SALTのトラブルシューティング
この項には次のトピックが含まれます:
GWWSが起動しない場合
GWWSサーバーを起動できない場合は、以下の点をチェックします。
Oracle Tuxedoサービス規約の構成
Oracle Tuxedoサービスの契約定義がOracle Tuxedoサービス・メタデータ・リポジトリで適切であることをチェックします。
Oracle Tuxedoサービス・メタデータ・リポジトリ・サーバー(TMMETADATA)が正常に起動したことをチェックします。
GWWSサーバー・ライセンス
GWWSサーバーの機能を有効にするには、Oracleから別途ライセンスを取得する必要があります。また、ライセンスは正しくインストールされていることを確認します。
GWWSサーバーHTTPリスニング・ポートの構成
SALT構成ファイルでGWWSサーバー・リスンおよびWS-Addressingエンドポイントが正しく定義されているかをチェックします。他のアプリケーションとポートの競合が発生しないようにする必要があります。
GWWSインスタンスID。
GWWSインスタンスIDをチェックし、UBBCONFIGおよびSALTDEPLOYファイルで指定されている2つの名前が一致していることを確認します。
UBBCONFIGファイルのMAXWSCLIENTS定義。
GWWSサーバーがデプロイされているコンピュータのUBBCONFIGファイルで、*MACHINEセクションにMAXWSCLIENTSが定義されていることを確認します。
RESTART=YおよびREPLYQ=Yパラメータ
UBBCONFIGファイルでGWWSサーバーにRESTART=Yが設定されている場合、REPLYQ=Yもあわせて設定する必要があります。
SALTCONFIGファイル。
バイナリ・バージョンのSALTCONFIGファイルが正常にコンパイルされ、GWWSサーバーのSALTCONFIG環境変数が正しく設定されていることを確認します。
SOAPリクエストがGWWSに拒否される場合
GWWSサーバーがSOAPリクエストを受け付けないという問題が発生することがあります。一般的な原因は以下のとおりです。
WSDLドキュメントの内容が最新ではありません。
SOAPクライアントで使用されているWSDLドキュメントの内容が古く、一部のサービスが使用可能となっていない可能性があります。
GWWSサーバーの環境変数が正しく設定されていません。
FML/VIEWバッファを使用するOracle TuxedoサービスをWebサービスにエクスポートする場合は、関連するGWWS環境変数に有効な値が設定されていることを確認します。GWWSサーバーでは、データ・マッピング変換のためにこの情報が必要です。
Oracle Tuxedoサービス・メタデータ・リポジトリの制限に違反しています。
SOAPクライアント・データをチェックし、Oracle Tuxedoサービス・メタデータ・リポジトリの制限が違反しないことを確認します。
使用不可のOracle Tuxedoサービス。
WebサービスとしてエクスポートするOracle Tuxedoサービスが使用可能になっていることを確認します。
WSDLドキュメントが正しく生成されない、またはSOAPクライアント・ツールキットに受け付けられない場合
WSDLドキュメントがWebサービス・クライアント・ツールキットに受け付けられない場合、以下の処理を行います。
ネイティブなOracle Tuxedo WSDFファイルを定義するには、document/literalメッセージ・スタイルおよびSOAP 1.1を使用します。これもデフォルトの動作です。
WSDLドキュメントを手動で生成するにはtmwsdlgenを使用して、GWWSサーバーでダウンロードされている内容と比較します。GWWSサーバーの起動時点でTMMETADATAサーバーがまだ起動していなかった場合、GWWSサーバーは正しいサービス規約情報を取得できません。そのため、ダウンロードしたWSDLドキュメントには正しい型定義が含まれないことになります。
OAM統合
OAM統合では、SALT着信リクエストのみがサポートされます。HTTP基本認証では、GWWSはユーザー名とパスワードを抽出し、Tuxedo AUTHSVCを呼び出してユーザーを認証します。OAUTHSVRはOAMと通信して認証を行い、成功した場合、GWWSはOAMセッション・トークンを取得し、セッション・トークンは次のサービス呼出しに渡され、OAUTHSVRはセッション・トークンを使用して認可を行います。
WSSEの場合、GWWSは、受信したユーザー資格証明を使用してTuxedoで認証を行い、Tuxedoサービスを呼び出す前に認証レベルがTPAPPAUTHであるかどうかを確認し、セッション・トークンをコンテキストに挿入してTuxedoサービスを呼び出します。
X509認証の場合またはSAML SSOが使用される場合、これは基本認証がリクエストにアタッチされているかどうかによります。基本認証がリクエストにアタッチされていない場合、Tuxedoはユーザー名とパスワードを取得できないため、認可は失敗します。
WebGateですでに認証され、OAMセッション・トークンがHTTPヘッダーに存在する場合、GWWSはトークンを取得し、それを使用して認可を行います。
WebGateは、様々なWebサーバー(Oracle HTTP Server(OHS)、IBM HTTP Server(IHS)、Apacheなど)のためにOAM製品の一部として提供されているエージェントです。別のHTTPサーバーにインストールされ、認証および認可にOAMを使用するには、HTTPサーバーとWebGateが必要です。多くの場合、HTTPサーバーは、WLSやSALTなどのバックエンド・アプリケーションへのリバース・プロキシとして動作します。
11g WebGateの場合、OAMトークンCookie (OAMAuthnCookie)は、SALTなどのダウンストリーム・アプリケーションに渡されないため、WebGateユーザー定義パラメータfilterOAMAuthnCookiefalseに指定してください。詳細は、認証サーバーとしてのOAUTHSVRの設定に関する項およびOAM 11gエージェントの登録および管理に関する項を参照してください。
図2‑1 WebGate
Oracle Tuxedoドメインと、SALTを使用するその他のWebリソースの間のSSO
手順の概略を次に示します。
1.
SECURITYおよびOAUTHSVRを構成します。
2.
Tuxedo SALT Webサービスを構成します。
3.
他のシステム(WLSを使用するシステムなど)のWebサービスを構成します。
4.
TuxedoおよびWLSのOAMでユーザー、リソースおよびACL情報を設定します。
5.
クライアントは、OAM WebGateで保護されているWLS Webサービスを呼び出します。
6.
次に、Tuxedo SALT Webサービスを呼出し、サービス呼出しはOAMに定義されている認可ポリシーに従って成功または失敗します。
関連項目

Copyright ©1994, 2017,Oracle and/or its affiliates. All rights reserved