各GWWS
サーバーは、デプロイされている各着信ネイティブWSDFのWSDLドキュメントを自動的に生成します。WSDLドキュメントは、HTTP GETを介していずれかのHTTP/Sがリスンするエンドポイントからダウンロードできます。
“http(s)://<host>:<port>/wsdl[? [id=<wsdf_name>] [&mappolicy=<pack|raw|mtom>] [&toolkit=<wls|axis>]]”
表2-1では、WSDLドキュメントのダウンロードのすべてのオプションを示します。
注意: | SALT 2.0以降でサポートされているWSDLダウンロードのURLは、SALT 1.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ダウンロード・オプションはこのリリースでは非推奨になっています。 |
GWWSサーバーは、外部のWebサービス・アプリケーションとOracle Tuxedoアプリケーションとの通信に使用される、パフォーマンスに優れたゲートウェイです。スレッド・プールによる動作モデルが採用されているため、マルチプロセッサのサーバー環境において高いパフォーマンスを発揮します。
GWWSサーバーは、SALT構成ファイルで<WSGateway>
要素のプロパティ値を設定して実行時の動作を制御するためのオプションも提供します。次のトピックでは、様々な状況に応じたデプロイメントの考慮事項を示します。詳細は、『SALT構成ガイド』のGWWSサーバーの構成に関する項を参照してください。
デフォルトのスレッド・プール・サイズは16ですが、大量の負荷を処理するには十分でない場合があります。平常時の稼働状況に関する分析を実施して適切なサイズ要件を見積もることをお薦めします。通常、同時使用クライアント数が多い(たとえば500を超える)場合には、少なくとも4ウェイ・プロセッサを搭載したサーバーにGWWSゲートウェイをデプロイし、スレッド・プール・サイズを64に設定することが望ましいと考えられます。
SALTでは、構成ファイルでパラメータを使用してネットワーク・タイムアウトのチューニングを提供します。デフォルトのタイムアウト値は300秒で、この値を調整するとタイムアウト・エラーの発生を抑えることができます。
SALT管理者は、クライアントから送られてくるバッファのサイズを必要に応じて制限できます。この制限を設定するには、特定のGWWSインスタンスに対して指定できるプロパティ値を使用します。デフォルトでは、制限はありません。
デフォルトのバックログ・ソケット・リスン値は20です。Windowsのようなシステムの場合、20では大量の負荷を処理するには十分でない場合があります。TCPハンドシェーク中にクライアント接続が拒否されました。
Windowsにおける推奨値は、予想される最大の同時TCP接続に基づきます。たとえば、ピークが80の場合、SALT構成ファイルでmax_backlog
プロパティの値を60に設定することができます。
注意: | ほとんどのシステムでは、デフォルトのバックログ値を変更する必要はありません。高負荷時にクライアント接続の問題が発生する場合にのみチューニングしてください。 |
警告: | バックログ値を大きくすると、syn-flood攻撃による被害のリスクが高まります。 |
SALT構成ファイルには、ネットワーク受信タイムアウトのプロパティが提供されています。Oracle Tuxedo BLOCKTIME
パラメータは、Webサービス・アプリケーションにも影響を与えます。BLOCKTIMEの計算は、メッセージがXMLから型付きバッファに変換されてOracle Tuxedoフレームワークに配信された時点で開始されます。
Webサービスの特定クライアントからBLOCKTIME
の期間内に応答がない場合、GWWSサーバーはSOAPフォルトのメッセージをクライアントに送信し、接続を終了します。遅延した応答が後でGWWSサーバーに届いた場合は、該当するクライアントが既に切断されているため、そのメッセージは破棄されます。
BLOCKTIMEは、UBBCONFIGファイルの*RESOURCE
セクションに定義します。
ネットワークの混雑やCPUリソースの不足などで単一のGWWSインスタンスがボトルネックとなった場合は、分散Oracle Tuxedoノード上に、同一のWebサービス・バインディングで複数のGWWSインスタンスをデプロイできます。
注意: | GWWS インスタンスを複数化した場合でも論理的な機能は同じですが、クライアントから見ると、それぞれのGWWSインスタンスは異なるHTTP/Sリスン・ポートおよびアドレスに存在する別個のWebサービス・エンドポイントとなります。 |
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サーバーでは、次のトリガー仕様はお薦めできません。 |
注意: | abort 、system 、sleep |
注意: | このいずれかのトリガーを指定した場合は、GWWSサーバーが予期せず終了することがあります。 |
詳細は、『ファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』の 「tmtrace(5)」を参照してください。
GWWS_TRACE_LEVEL
は、100
または200
に設定できます。値'100
'では、最小限のトレース情報がULOGファイルに記録されます。値'200
'では、最大限のトレース情報が記録されます。
TMTRACE
およびGWWS_TRACE_LEVEL
の各環境変数は、次のように設定できます。
トレースは、ATMIおよびSALTの両方のメッセージに対して有効です(最小トレース量)。
トレースをSALTメッセージにのみ有効にするには、次のように設定します。
注意: | GWWS_TRACE_LEVEL が200に設定されており、データ・バッファが大きい場合は特に、使用可能なディスク容量に注意する必要があります。トレースによってULOGファイルがいっぱいになる可能性があります。 |
リスト2-1に、SALTトレース・メッセージが含まれたULOGファイルのサンプルを示します。
注: | GWWSのトレース動詞のms は非推奨になり、ws に置き換わりました。 |
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サーバーは、コマンド行ツールであるwsadminユーティリティでモニターできます。このツールは、GWWSの実行ステータスを表示します。
リスト2-2に例を示します。
$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のサブコマンド
GWWSサーバーを起動できない場合は、以下の点をチェックします。
GWWSサーバーの機能を有効にするには、Oracleから別途ライセンスを取得する必要があります。また、ライセンスは正しくインストールされていることを確認します。
SALT構成ファイルでGWWSサーバー・リスンおよびWS-Addressingエンドポイントが正しく定義されているかをチェックします。他のアプリケーションとポートの競合が発生しないようにする必要があります。
GWWSインスタンスIDをチェックし、UBBCONFIG
およびSALTDEPLOY
ファイルで指定されている2つの名前が一致していることを確認します。
GWWSサーバーがデプロイされているコンピュータのUBBCONFIG
ファイルで、*MACHINEセクションにMAXWSCLIENTSが定義されていることを確認します。
UBBCONFIG
ファイルでGWWSサーバーにRESTART=Yが設定されている場合、REPLYQ=Yもあわせて設定する必要があります。
SALTCONFIG
ファイル バイナリ・バージョンのSALTCONFIG
ファイルが正常にコンパイルされ、GWWS
サーバーのSALTCONFIG
環境変数が正しく設定されていることを確認します。
GWWSサーバーがSOAPリクエストを受け付けないという問題が発生することがあります。一般的な原因は以下のとおりです。
SOAPクライアントで使用されているWSDLドキュメントの内容が古く、一部のサービスが使用可能となっていない可能性がある。
FML/VIEWバッファを使用するOracle TuxedoサービスをWebサービスにエクスポートする場合は、関連するGWWS環境変数に有効な値が設定されていることを確認します。GWWSサーバーでは、データ・マッピング変換のためにこの情報が必要です。
SOAPクライアント・データをチェックし、Oracle Tuxedoサービス・メタデータ・リポジトリの制限が違反しないことを確認します。
WSDLドキュメントがWebサービス・クライアント・ツールキットに受け付けられない場合、以下の処理を行います。