各
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ドキュメントのダウンロードのすべてのオプションを示します。
|
|
|
|
|
WSDLドキュメントのネイティブなWSDF名を指定する。指定したネイティブなWSDFは、 GWWSサーバーによって、着信方向でインポートする必要がある。オプションを指定しない場合、最初に着信するネイティブなWSDFが使用される。
|
|
|
生成するWSDLドキュメントで特定のOracle Tuxedo型付きバッファに使用されるデータ・マッピング・ポリシーを指定します。現在、このオプションはCARRAY型付きバッファにのみ影響します。このオプションを指定しない場合のデフォルト値はpackです。
|
|
|
このオプションは、先に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ダウンロード・オプション
|
|
|
|
|
この非推奨になっているオプションは、生成したWSDLドキュメントで定義された必要なSOAPバージョンを指定するに使用される。現在、このオプションはWSDFファイルに設定されている。
|
|
|
この非推奨になっているオプションは、生成したWSDLドキュメントで定義された必要なSOAPメッセージ・スタイルを指定するに使用される。現在、このオプションはWSDFファイルに設定されている。
|
GWWSサーバーは、外部のWebサービス・アプリケーションとOracle Tuxedoアプリケーションとの通信に使用される、パフォーマンスに優れたゲートウェイです。スレッド・プールによる動作モデルが採用されているため、マルチプロセッサのサーバー環境において高いパフォーマンスを発揮します。
GWWSサーバーは、SALT構成ファイルで
<WSGateway>要素のプロパティ値を設定して実行時の動作を制御するためのオプションも提供します。次のトピックでは、様々な状況に応じたデプロイメントの考慮事項を示します。
デフォルトのスレッド・プール・サイズは16ですが、大量の負荷を処理するには十分でない場合があります。平常時の稼働状況に関する分析を実施して適切なサイズ要件を見積もることをお薦めします。通常、同時使用クライアント数が多い(たとえば500を超える)場合には、少なくとも4ウェイ・プロセッサを搭載したサーバーにGWWSゲートウェイをデプロイし、スレッド・プール・サイズを64に設定することが望ましいと考えられます。
SALTでは、構成ファイルでパラメータを使用してネットワーク・タイムアウトのチューニングを提供します。デフォルトのタイムアウト値は300秒です。タイムアウト・エラーの発生を少なくするために、この値を調整できます。
プロパティ: max_content_length
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セクションに定義します。
GWWSインスタンスの複数化によるパフォーマンスの向上
ネットワークの混雑や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サーバーでは、次のトリガー仕様はお薦めできません。
|
このいずれかのトリガーを指定した場合は、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 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サーバーは、コマンド行ツールである
wsadminユーティリティを使用してモニターできます。このツールは、GWWSの実行ステータスを表示します。
リスト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のサブコマンドを示します。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SALTCONFIGファイルのリロードに使用します。 -iではリロードするGWWSのゲートウェイ・インスタンスIDを指定します。
|
|
|
|
|
|
指定されたGWWSインスタンスに関する1つまたはすべてのヒューリスティックなログ・レコードを削除します。
|
|
|
指定のGWWSインスタンスに関するトランザクション情報を出力します。
|
|
|
|
|
|
|
saml (s) {create|add|modify|delete}
|
|
|
|
|
GWWSサーバーを起動できない場合は、以下の点をチェックします。
|
•
|
Oracle Tuxedoサービスの契約定義がOracle Tuxedoサービス・メタデータ・リポジトリで適切であることをチェックします。
|
|
•
|
Oracle Tuxedoサービス・メタデータ・リポジトリ・サーバー( TMMETADATA)が正常に起動したことをチェックします。
|
GWWSサーバーの機能を有効にするには、Oracleから別途ライセンスを取得する必要があります。また、ライセンスは正しくインストールされていることを確認します。
SALT構成ファイルでGWWSサーバー・リスンおよびWS-Addressingエンドポイントが正しく定義されているかをチェックします。他のアプリケーションとポートの競合が発生しないようにする必要があります。
GWWSインスタンスIDをチェックし、
UBBCONFIGおよび
SALTDEPLOYファイルで指定されている2つの名前が一致していることを確認します。
|
•
|
UBBCONFIGファイルの MAXWSCLIENTS定義。
|
GWWSサーバーがデプロイされているコンピュータの
UBBCONFIGファイルで、
*MACHINEセクションに
MAXWSCLIENTSが定義されていることを確認します。
|
•
|
RESTART=Yおよび REPLYQ=Yパラメータ。
|
UBBCONFIGファイルでGWWSサーバーに
RESTART=Yが設定されている場合、
REPLYQ=Yもあわせて設定する必要があります。
バイナリ・バージョンの
SALTCONFIGファイルが正常にコンパイルされ、
GWWSサーバーの
SALTCONFIG環境変数が正しく設定されていることを確認します。
GWWSサーバーがSOAPリクエストを受け付けないという問題が発生することがあります。一般的な原因は以下のとおりです。
SOAPクライアントで使用されているWSDLドキュメントの内容が古く、一部のサービスが使用可能となっていない可能性があります。
|
•
|
GWWSサーバーの環境変数が正しく設定されていません。
|
FML/VIEWバッファを使用するOracle TuxedoサービスをWebサービスにエクスポートする場合は、関連するGWWS環境変数に有効な値が設定されていることを確認します。GWWSサーバーでは、データ・マッピング変換のためにこの情報が必要です。
|
•
|
Oracle Tuxedoサービス・メタデータ・リポジトリの制限に違反しています。
|
SOAPクライアント・データをチェックし、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統合では、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などのバックエンド・アプリケーションへのリバース・プロキシとして動作します。
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に定義されている認可ポリシーに従って成功または失敗します。
|