|
次の項では、Oracle Service Architecture Leveraging Tuxedo (SALT)製品の概要について述べます。
Service Architecture Leveraging Tuxedo (SALT)は、Oracle TuxedoアプリケーションをSOA環境対応にするためのOracle Tuxedoのアドオン製品オプションです。
SALTでは、外部Webサービス・アプリケーションからOracle TuxedoサービスをWebサービスとして呼び出したり、Oracle Tuxedoアプリケーションから外部Webサービスを呼び出したりできます。これを実現するためにSALTでコーディングを行う必要はありません。
SALTは、標準Webサービス仕様である(SOAP 1.1、SOAP 1.2、およびWSDL 1.1)に準拠しています。このため、他のWebサービス製品やSALT開発ツールキットとの相互運用が可能です。Oracle Tuxedoアプリケーションは、SALTを使用してWebサービス・アプリケーションと容易に統合できます。
Webサービスとは、機能のセットを単一のエンティティとしてパッケージ化したものです。このパッケージは、ネットワーク上の他のシステムから利用可能です。そのサービスは、分散Webベース・アプリケーションのコンポーネントとして共有し、使用できます。ネットワークは企業イントラネットの場合もあれば、インターネットの場合もあります。また、CRM (顧客関係管理)システム、受注処理システムのような他のシステム、およびその他の既存バックエンド・アプリケーションなどが、データをリクエストしたり作業を実行したりするためにこれらの機能を呼び出します。Webサービスは、ほとんどのシステムで提供されている標準的なテクノロジを使用して実現されるため、分散システムを相互に接続する手段として非常に優れています。
ソフトウェア業界は、Web上で動的に対話する疎結合型のサービス指向アプリケーションの実現に向かって発展してきました。このアーキテクチャに基づくアプリケーションでは、大規模なソフトウェア・システムが、共有サービスという小規模なモジュラ・コンポーネントに分割されます。これらの共有サービスは別々のコンピュータ上で提供されていてもよく、さまざまに異なるテクノロジを使って実装されていてもかまいません。パッケージ化され、標準のWebプロトコル(XML、HTTPなど)を使ってアクセスできるような形で提供されます。
異なる種類のシステムが混在する環境で容易にアクセスできるよう、Webサービスは次のプロパティを共有します。
Webサービスは、クライアント(エンド・ユーザー・アプリケーションや他のWebサービス)との通信に、ほとんどあらゆる種類のプログラミング環境によって(必要な場合は手作業でも)生成および解析処理ができる単純なXMLメッセージを使用します。
SALTは、ネイティブなOracle Tuxedo Webサービスの統合ソリューションです。Oracle Tuxedoサービスへアクセスする他のソリューションと比べ、Oracle Tuxedo/Webサービスの統合費用を削減し、変換処理を減少させます。Oracle Tuxedoアプリケーションと外部Webサービス・アプリケーションとの間でシームレスな接続ができます。
SALTでは、既存のOracle Tuxedoサービス(受信)を追加のプログラミング作業なしにWebサービスとして容易に公開できます。Oracle Tuxedoアプリケーションを外部Webサービス(発信)に透過的にアクセスするネイティブなOracle Tuxedoアプリケーションを作成することもできます。
図1では、Oracle TuxedoフレームワークにおけるSALTゲートウェイの使用方法を説明します。

SALTは、Oracle Tuxedo製品ファミリの最新のアドオンです。2006年に開発されたSALTは、Oracle Tuxedoアプリケーションおよび標準Webサービス・アプリケーションを統合するシームレスOracle Tuxedoソリューションを提供するように設計されています。
リリース1.1は、最初のSALTリリースです。2006に利用可能になったSALT 1.1には、次の重要な機能があります。
SALT 2.0リリースは、SALT 1.1リリースをベースに大幅に拡張されました。SALT 2.0では、次の機能が追加されました。
SALT 10gリリース3 (10.3)には、次の機能が追加されています。
SCAは、コンポーネントの再利用およびコンポーネント間のシームレスな通信を簡単に実現するためのプログラミング・モデルを提供します。SALT 10gリリース3 (10.3)のSCAコンテナを使用することで、Oracle Tuxedoの重要な特長である信頼性、可用性、スケーラビリティ、パフォーマンスなどを十分に活かしながら、新しいプログラミング・モデルに基づいてアプリケーションを開発できます。SALT 10g リリース3 (10.3)には、以下のSCA機能が追加されています。
実行時に、サービス規約情報が自動的に検索されます。生成された情報は、自動的にメタデータ・リポジトリにロードすることも、一度ファイルに格納してからtmloadreposユーティリティを使用して手動でメタデータ・リポジトリにロードすることもできます。詳細は、Oracle Service Architecture Leveraging Tuxedo管理ガイドのOracle Service Architecture Leveraging Tuxedoアプリケーションの構成に関する項を参照してください。
Oracle Tuxedoクライアント管理者が実行時にアプリケーションの有効性をモニターする場合に役立ちます。アプリケーションの最大クライアント数、現在のクライアント数、および名前付きユーザーを記録できます。
SALTリリース11g R1 (11.1.1.1.0)では、次の機能が導入されました。
SALT SCAでのPythonとRubyのサポートでは、各言語用の簡易なSCAクライアントAPIが用意されており、これを使用してPythonまたはRubyクライアント・プログラムからSCAコールを実行して、PythonまたはRubyのコンポーネントにアクセスできます。Python、RubyまたはC++コンポーネントと他のPython、RubyまたはC++コンポーネントとの間での呼出しが可能になりました。
詳細は、Oracle Service Architecture Leveraging Tuxedoプログラミング・ガイドのOracle Service Architecture Leveraging Tuxedo SCAプログラミングに関する項を参照してください。
パフォーマンス向上のための、追加のC++構造体機能が提供されます。
詳細は、Oracle Service Architecture Leveraging Tuxedoプログラミング・ガイドのOracle Service Architecture Leveraging Tuxedo SCAプログラミングに関する項を参照してください。
Scatuxgenメタデータ生成ツールは、SALT 10gR3で追加されたSCA実行時機能のSCAコンポーネントの開発に使用されるものとして、C++インタフェースを解析します。Oracle Tuxedoメタデータ・リポジトリ・インタフェース・データが生成され、オプションで、Webサービス定義ファイル(WSDF)ドキュメントも生成されます。
詳細は、Oracle Service Architecture Leveraging Tuxedoコマンド・リファレンス・ガイドを参照してください。
WebサービスとOracle Tuxedoアプリケーション間の、双方向でトランザクション対応の相互運用性が提供されます。アプリケーションは、GWWSシステム・サーバーのトランザクション機能を透過的に利用します。
発信XAトランザクションは、Oracle Tuxedoドメインの外側に透過的に伝播され、WS-TXトランザクションに1対1でマップされます。着信WS-TXトランザクションは、Oracle Tuxedoドメイン内に伝播され、XAトランザクションにマップされます。
詳細は、Oracle Service Architecture Leveraging Tuxedo相互運用性のWS_TXのサポートに関する項を参照してください。
SALT 11gリリース11g R1 (11.1.1.2.0)では、次の機能が導入されました。
SOCKSプロキシのサポートでは、発信エンドポイントに関連付けられた構成可能な要素が提供されます。また、SOCKS V4およびV5プロトコルに従ってアウトバウンド接続をプロキシするSOCKSサーバー・アドレスを構成できます。
SOCKSは認識されるリスニング・エンドポイントがない着信接続をプロキシするため、着信のサポートは必要ありません。詳細は、Oracle Service Architecture Leveraging Tuxedoリファレンス・ガイドのOracle Service Architecture Leveraging Tuxedoデプロイメント・ファイル・リファレンスを参照してください。
wsdlcvtコマンドは、SOCKSプロキシ・サーバーに接続するように機能拡張されます。詳細は、Oracle Service Architecture Leveraging Tuxedoリファレンス・ガイドのOracle Service Architecture Leveraging Tuxedoコマンド・リファレンスに関する項を参照してください。
SALT 11gリリース11g R1 (11.1.1.2.2)では、次の機能が導入されました。
詳細は、Oracle Service Architecture Leveraging Tuxedo管理ガイドを参照してください。
SALT 12cリリース12c R1 (12.1.1)では、次の機能が導入されています。
SALT 12cで提供されるHTTPベースの構成ツールでは、構成ファイルを手動で編集することなく、既存のOracle TuxedoサービスをWebサービスとして公開できます。既存のOracle Tuxedoサービスのサービス定義の把握、メタデータ・リポジトリでのサービス定義の編集、およびWebサービス定義とSALTDEPLOYファイルの作成を、使いやすいグラフィカル・ユーザー・インタフェースを使用して行うことができます。
詳細は、Oracle Service Architecture Leveraging Tuxedo構成ガイドのSALT構成ツールの有効化に関する項を参照してください。
SALT Web Services Gateway (GWWS)が受信したSOAPメッセージ・リクエスト内部のSAMLトークンを認識する機能を提供します。トークンの内容に基づいて、GWWSはOracle Tuxedoリソースへのアクセスを許可するか拒否するかを決定します。
詳細は、Oracle Service Architecture Leveraging Tuxedo構成ガイドのOracle Tuxedo Webサービスの構成/セキュリティ機能の構成に関する項を参照してください。
ネストされたView32データ型をサポートします。また、XMLとの間での、追加のViewおよびView32プリミティブ型のマッピングをサポートします。
詳細は、Oracle Service Architecture Leveraging Tuxedoプログラミング・ガイドのデータ型のマッピングおよびメッセージ変換に関する項を参照してください。
| 注意: | SALTの、Python、RubyおよびSCAの各機能は、現在Oracle Tuxedo 12cリリース1 (12.1.1)に含まれています。詳細は、 Oracle Tuxedo 12cリリース(12.1.1)のドキュメントを参照してください。 |
SALTのOracle Tuxedoシステム・サーバー(GWWS)は、HTTP/Sプロトコルを介したSOAPにより別のWebサービス・アプリケーションに接続します。GWWSサーバーはOracle Tuxedoゲートウェイ・プロセスとして機能するサーバーであり、一般のOracle Tuxedoシステム・サーバーと同様の方法で管理されます。GWWSサーバーでは双方向(着信または発信)の機能があります。GWWSサーバーでは、次の操作を行うことができます。
1つのOracle Tuxedoドメインに、GWWSの複数のインスタンスが含めることができます。複数のGWWSインスタンスに対して同一のSALT構成を指定すると、それらのインスタンスに対して同一の機能が提供され、スループットとフェイルオーバー保護の機能を向上させることができます。また、別々の構成ファイルを指定した、用途の異なる複数のGWWSインスタンスをグループ化することもできます。
GWWSサーバーが起動する際、指定されたSALT構成ファイルとOracle Tuxedoサービス規約情報がOracle Tuxedoサービス・メタデータ・リポジトリからロードされます。
GWWSサーバーは、WSDL文書およびXMLスキーマ・ファイルのダウンロード用に単純なHTTP Webサーバーとしても機能します。
WSDL (Web Services Description Language)は、Webサービスの内容を説明するXMLベースの仕様書です。WSDLドキュメントには、Webサービス操作、入力および出力パラメータおよびそのWebサービスにクライアント・アプリケーションから接続する方法が説明されます。SALTには、Oracle TuxedoアプリケーションとWebサービスWSDL定義をマップするための2つのユーティリティ(tmwsdlgenおよびwsdlcvt)があります。
Oracle TuxedoサービスをWebサービスとしてパブリッシュする場合、SALTを使用すると、WSDLドキュメントは手動で作成する必要がなく、SALTのWebサービス開発作業の一部として自動的に生成されます。生成されたWSDLドキュメントは、Webサービス開発ツールを使用して統合したり、UDDIサーバーに対してパブリッシュしたりできます。
WSDLドキュメントを取得するには、次の2つの方法があります。
tmwsdlgenを使用する方法(WSDLドキュメント・ファイル生成ユーティリティ) 外部Webサービス・アプリケーションをサポートするには、外部WSDLドキュメントを変換する必要があります。SALT変換ユーティリティwsdlcvtを使用すると、外部WSDLドキュメントをOracle Tuxedo固有の定義ファイル(SALT Webサービス定義ファイル、Oracle Tuxedoサービス・メタデータ・リポジトリの定義ファイルおよびFML32フィールド表の定義ファイル)に変換できます。
SALT Webサービス定義ファイルは、SALTデプロイメント・ファイルにインポートして特定のGWWSサーバーで利用できます。Oracle Tuxedoサービス・メタデータ・リポジトリの定義ファイルおよびFML32フィールド表の定義ファイルには、Oracle Tuxedoクライアント・プログラミングのサービス・インタフェース記述を提供します。
次の項では、SALT Webサービスの一般的なユース・ケースについて説明します。
ネイティブOracle Tuxedoサービスは、標準WebサービスSOAPプロトコルを使用してWebサービスとして公開できます。GWWSサーバーはHTTP/Sを介してSOAP要求を受け付け、Oracle Tuxedo ATMIコールに変換します。SALTは、Oracle Tuxedoサービスのオープン標準Webサービス・インタフェースを説明するWSDLドキュメントを生成します。Oracle Tuxedoサービス・メタデータ・リポジトリは、Oracle Tuxedoサービス規約情報を定義するために使用します。これは「着信」ユース・ケースです。
図2では、ジェネリック受信Webサービス呼出しを説明します。

Webサービス・アプリケーションは、Oracle Tuxedoドメインにインポートし、GWWSサーバーを介してOracle Tuxedoサービスとして公開され、Oracle Tuxedoアプリケーションから起動することができます。SALTは個々のwsdl:operationを特定のOracle Tuxedoサービスとして変換し、マップします。GWWSサーバーはマップされたサービス(SALTプロキシ・サービスと呼ばれる)を公開し、Oracle Tuxedo ATMIリクエストをOracle Tuxedoアプリケーションから受け取ります。
Oracle Tuxedoサービス・メタデータ・リポジトリは、変換されたOracle Tuxedoサービス規約情報を格納するために使われ、Oracle TuxedoプログラマがインポートされたSALTプロキシ・サービスに必要なOracle Tuxedoバッファ・タイプを理解するのに役に立ちます。これは「発信」ユース・ケースです。
図3では、ジェネリック発信Webサービス呼出しを説明します。

SALTでは、/TドメインのかわりにGWWSサーバーを使用して2つの異なるOracle Tuxedoドメインに接続できます。GWWSサーバーは、呼出しドメインでは、送信方向で動作し、受け取りドメインでは、受信方向で動作します。
受け取りOracle Tuxedoドメインは、Oracle Tuxedoサービス定義を呼出しOracle Tuxedoドメインに伝播する必要があります。つまり、呼出しドメインOracle Tuxedoサービス・メタデータ・リポジトリには、受け取りドメインで実行するOracle Tuxedoサービス定義ファイルが含まれている必要があります。
| 注意: | これは、手動で設定する必要があります。現在、Oracle Tuxedoサービス・メタデータ・リポジトリ・インフラストラクチャは、Oracle Tuxedoドメインの間で自動伝播を提供していません。 |
WSDLドキュメントは不要です。SALTでは、WSDLドキュメントを交換せずにSOAPプロトコルを使用してドメイン接続をするために2つのGWWSサーバーが連携して動作するよう、単純な構成が用意されています。
図4では、2つのドメインを接続するためのSALTの使用方法について説明します。

同じOracle Tuxedoドメイン内に接続を作成するには、2つのGWWSサーバーを使用しないでください。図5を参照してください。また、単一GWWSサーバーは自身に接続できません。図6を参照してください。
いずれかのシナリオで、GWWSサーバーは、すでに他のアプリケーション・サーバーで公開した同じOracle Tuxedoサービスを公開します。これによって、dead-loopサービス・ディスパッチになる可能性があります。
| 警告: | これらのシナリオを回避するには、SALTアプリケーションを注意深く計画し構成する必要があります。 |


Webサービス・クライアントのユーザー・エージェント(通常はWebブラウザ)は、WSS: SOAPメッセージ・セキュリティを使用して、<wsse:Security>ヘッダー内部にアサーション要素を置き、リクエストをGWWSに送信することによって、有効なSAMLアサーションを持つセキュリティ・トークンをSOAPメッセージにアタッチします(図7参照)。

アサーションの整合性が検証されないかぎり、SALTはこれらのアサーションを受け入れません。サポートされている唯一のサブジェクト確認方法は、現時点では送信者保証です。この場合、SALTには、アテスト・エンティティとの信頼関係も必要です。これらの要件がすべて満たされた場合、ユーザーに対してOracle Tuxedoリソースへのアクセスが付与されます。
Oracle WebLogic Serverインスタンス・セキュリティがSAML発行者であることも可能です。WLS環境では、通常はWebサービスが媒介者ですが、Webブラウザのこともあります。アテスト・エンティティとの間に信頼関係を確立するには、GWWSは、アテスト・エンティティとの共有シークレットまたはその公開鍵にアクセスできる必要があります。
SAML発行者とはSAMLアサーションを作成する側で、「媒介者」とは、SOAPメッセージがGWWSに転送される前に、SAMLセキュリティ・トークンをアタッチする側です。
通常、SALTを使用してWebサービスを構成する場合は、次の手順に従います。
tmloadreposを使用して、すべてのOracle Tuxedoサービス定義をOracle Tuxedoサービス・メタデータ・リポジトリにロードします。TMMETADATAおよびGWWSサーバーをOracle Tuxedo UBBCONFIGファイルに追加します。
詳細は、以下を参照してください。
http://www.w3.org/TR/2000/NOTE-SOAP-20000508/
詳細は、以下を参照してください。
http://www.w3.org/TR/soap12-part0/
詳細は、以下を参照してください。
http://www.w3.org/TR/SOAP-attachments
詳細は、次を参照してください。
http://www.w3.org/TR/soap12-mtom/
詳細は、以下を参照してください。http://uddi.org/pubs/ProgrammersAPI-V2.04-Published-20020719.htm
詳細は、以下を参照してください。
http://www.w3.org/TR/2001/NOTE-wsdl-20010315
詳細は、次を参照してください。
http://specs.xmlsoap.org/ws/2004/09/policy/ws-policy.pdf
http://specs.xmlsoap.org/ws/2004/09/policy/ws-policyattachment.pdf
詳細は、以下を参照してください。
http://www.w3.org/Submission/2004/SUBM-ws-addressing-20040810/
詳細は、次を参照してください。
http://specs.xmlsoap.org/ws/2005/02/rm/ws-reliablemessaging.pdf
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0.pdf
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0.pdf
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0.pdf
http://www.oasis-open.org/committees/download.php/16790/wss-v1.1-spec-os-SOAPMessageSecurity.pdf
http://www.oasis-open.org/committees/download.php/16782/wss-v1.1-spec-os-UsernameTokenProfile.pdf
http://www.oasis-open.org/committees/download.php/16785/wss-v1.1-spec-os-x509TokenProfile.pdf
http://schemas.xmlsoap.org/ws/2004/10/wscoor/
詳細は、 http://www.oasis-open.org/standards#samlv1.1を参照してください。
詳細は、 http://www.oasis-open.org/standards#samlv2.0を参照してください。
SALTの製品概要を理解した後、SALT製品を使用してWebサービスのインストール、構成および実行の詳細は、次のトピックを参照してください。
製品のインストール方法の詳細は、Oracle Service Architecture Leveraging Tuxedoインストレーション・ガイドを参照してください。
製品の構成および管理の詳細は、Oracle Service Architecture Leveraging Tuxedo管理ガイドを参照してください。
SALTによるプログラム作成の方法は、Oracle Service Architecture Leveraging Tuxedoプログラミング・ガイドを参照してください。
SALT Webサービス・アプリケーションのサンプルは、Oracle Service Architecture Leveraging Tuxedoサンプル・ガイドを参照してください。
|