目次 前 次 PDF


SALTの概要

SALTの概要
次の項では、SALT製品の概要を説明します。
SALTの理解
Service Architecture Leveraging Tuxedo (SALT)は、Oracle TuxedoアプリケーションをSOA環境対応にするためのOracle Tuxedoのアドオン製品オプションです。
SALTでは、外部Webサービス・アプリケーションからOracle TuxedoサービスをWebサービスとして呼び出したり、Oracle Tuxedoアプリケーションから外部Webサービスを呼び出したりできます。これを実現するためにSALTでコーディングを行う必要はありません。
SALT Webサービスの理解
SALTは、標準Webサービス仕様である(SOAP 1.1、SOAP 1.2、およびWSDL 1.1)に準拠しています。このため、他のWebサービス製品やSALT開発ツールキットとの相互運用が可能です。Oracle Tuxedoアプリケーションは、SALTを使用してWebサービス・アプリケーションと容易に統合できます。
Webサービスの基礎知識
Webサービスとは、機能のセットを単一のエンティティとしてパッケージ化したものです。このパッケージは、ネットワーク上の他のシステムから利用可能です。そのサービスは、分散Webベース・アプリケーションのコンポーネントとして共有し、使用できます。ネットワークは企業イントラネットの場合もあれば、インターネットの場合もあります。また、CRM (顧客関係管理)システム、受注処理システムのような他のシステム、およびその他の既存バックエンド・アプリケーションなどが、データをリクエストしたり作業を実行したりするためにこれらの機能を呼び出します。Webサービスは、ほとんどのシステムで提供されている標準的なテクノロジを使用して実現されるため、分散システムを相互に接続する手段として非常に優れています。
ソフトウェア業界は、Web上で動的に対話する疎結合型のサービス指向アプリケーションの実現に向かって発展してきました。このアーキテクチャに基づくアプリケーションでは、大規模なソフトウェア・システムが、共有サービスという小規模なモジュラ・コンポーネントに分割されます。これらの共有サービスは別々のコンピュータ上で提供されていてもよく、さまざまに異なるテクノロジを使って実装されていてもかまいません。パッケージ化され、標準のWebプロトコル(XML、HTTPなど)を使ってアクセスできるような形で提供されます。
異なる種類のシステムが混在する環境で容易にアクセスできるよう、Webサービスは以下のプロパティを共有します。
Webサービスは、幅広くサポートされているHTTPなどのWebプロトコルを介してアクセスされます。
Webサービスは、XMLベースの記述言語を使って表現された、当該Webサービス自体についての情報を示します。
Webサービスは、クライアント(エンド・ユーザー・アプリケーションや他のWebサービス)との通信に、ほとんどあらゆる種類のプログラミング環境によって(必要な場合は手作業でも)生成および解析処理ができる単純なXMLメッセージを使用します。
SALTを使用する理由
SALTは、ネイティブなOracle Tuxedo Webサービスの統合ソリューションです。Oracle Tuxedoサービスへアクセスする他のソリューションと比べ、Oracle Tuxedo/Webサービスの統合費用を削減し、変換処理を減少させます。Oracle Tuxedoアプリケーションと外部Webサービス・アプリケーションとの間でシームレスな接続ができます。
SALTでは、既存のOracle Tuxedoサービス(受信)を追加のプログラミング作業なしにWebサービスとして容易に公開できます。Oracle Tuxedoアプリケーションを外部Webサービス(発信)に透過的にアクセスするネイティブなOracle Tuxedoアプリケーションを作成することもできます。
Webサービスには、以下のような重要なメリットがあります。
多種多様なハードウェアおよびソフトウェア・プラットフォーム上に配置された分散アプリケーション間での相互運用が可能
広範囲からWebプロトコルを使ってアプリケーションに容易にアクセス可能
異種プラットフォーム間および異種言語間で通用するデータ・モデル(XML)により、異機種環境内に分散したアプリケーションの開発が容易
図1では、Oracle TuxedoフレームワークにおけるSALTゲートウェイの使用方法を説明します。
図1 SALTゲートウェイ/Oracle Tuxedoインフラストラクチャ
REpresentational State Transfer (REST)のサポート
SALTは、REpresentational State Transfer (REST)として広く知られるプリンシパルに従った、簡易化されたHTTP形式を使用して、既存のTuxedoサーバーへのアクセスを提供します。RESTを使用するには、SALTDEPLOYに2つの新しいセクションを構成する必要があります。HTTP/Networkに、ゲートウェイがRESTリクエストをリスンするために使用するHTTPまたはHTTPS (SSL)あるいはその両方のポートを指定します。HTTP/Servicesに、どのTuxedoサービスをどのように公開するかを指定します。RESTサービス名(呼出しURLでのRESTサービス識別用、任意指定) + HTTP メソッド(GET/POST/DELETE/PUT)が実際のTuxedoサービスにマップされ、CRUDプリンシパルが表現されます。
有効化されると、実行時には次のように動作します。
クライアント・プログラムがHTTPメッセージをGWWSに送信します。このメッセージには、動詞(GETPOSTPUTDELETE)、ヘッダー(content-typeなど)およびURLが含まれます。
GWWSがデータに何を行うかは、動詞によって決まります。GETまたはDELETEの場合は、問合せ文字列を使用して実際のTuxedoサービス用のリクエストを作成します。POSTまたはPUTの場合は、データのpostを使用します。
呼び出されるサービスはリクエストのURLの部分によって決まります。たとえば、POST http://host:1234/myServiceという呼出しの結果、GWWSはSALTDEPLOYでmyServiceの名前によってマップされるTuxedoサービスに対するリクエストを作成し(例: myServiceGETメソッドの場合はBALANCEという名前のTuxedoサービス)、応答をFML32からJSONに変換し(サービスからの戻りをFML32と想定)、これを呼出し側に返信します。
図2 GWWSアーキテクチャにおけるREST
SALTのリリース履歴
SALTは、Oracle Tuxedo製品ファミリの最新のアドオンです。2006年に開発されたSALTは、Oracle Tuxedoアプリケーションおよび標準Webサービス・アプリケーションを統合するシームレスOracle Tuxedoソリューションを提供するように設計されています。
リリース1.1
リリース1.1は、最初のSALTリリースです。2006に利用可能になったSALT 1.1には、次の重要な機能があります。
着信サービスのサポート
Webサービス・アプリケーションにおけるネイティブOracle Tuxedoサービスの呼出しが可能
HTTPおよびHTTP over SSLトランスポート・サポート
非同期で信頼性のあるメッセージング・サポート
リリース2.0
SALT 2.0リリースは、SALT 1.1リリースをベースに大幅に拡張されました。SALT 2.0では、次の機能が追加されました。
送信サービス・サポート
拡張されたWS-*標準サポート
SOAPメッセージ送信最適化メカニズム・サポート(MTOM)
WebサービスのためのOracle Tuxedo TPFAILサポート
拡張可能なデータ型のマッピングとメッセージ変換
複数のエンコーディング・サポート
構成によるデプロイメント制御
Oracle Tuxedoサービス・メタデータ・リポジトリの利用
データ型のマッピングとメッセージ変換
非同期で信頼性のあるメッセージング
Webサービス・セキュリティ・サポート
リリース10g R3 (10.3)
SALT 10gリリース3 (10.3)には、次の機能が追加されています。
SCA (Service Component Architecture)プログラミング
SCAは、コンポーネントの再利用およびコンポーネント間のシームレスな通信を簡単に実現するためのプログラミング・モデルを提供します。SALT 10gリリース3 (10.3)のSCAコンテナを使用することで、Oracle Tuxedoの重要な特長である信頼性、可用性、スケーラビリティ、パフォーマンスなどを十分に活かしながら、新しいプログラミング・モデルに基づいてアプリケーションを開発できます。SALT 10g リリース3 (10.3)には、以下のSCA機能が追加されています。
ATMIおよびSOAPによるSCA呼出しのためのクライアント側バインディング
ATMIおよびSOAPによるSCAリクエストを処理するためのサーバー側バインディング
Java環境からのSCA呼出しのためのクライアント側バインディング
開発ツールおよび実行時ツール(SCAクライアントとサーバーを構築およびデプロイするためのコマンド、実行時管理のためのコマンド)。詳細は、『SALT 10g Release 3 (10.3)コマンド・リファレンス・ガイド』を参照してください。
SCAサービスの認証と認可
グローバル・トランザクション
スレッド・セーフなSCA/SDOクライアントおよびサーバー
SCDLスキーマ検証
単純なデータ型のサポート
SDOを使用した複雑なデータ型のサポート
Oracle Tuxedoバッファ・タイプからの、またはOracle Tuxedoバッファ・タイプへの自動データ変換
複数のエンコーディングを使用したマルチバイト文字のサポート
サービス規約検索
実行時に、サービス規約情報が自動的に検索されます。生成された情報は、自動的にメタデータ・リポジトリにロードすることも、一度ファイルに格納してからtmloadreposユーティリティを使用して手動でメタデータ・リポジトリにロードすることもできます。詳細は、『SALT管理ガイド』SALTアプリケーションの構成に関する項を参照してください。
すべての着信リクエストのアクセス・ログ
Oracle Tuxedoクライアント管理者が実行時にアプリケーションの有効性をモニターする場合に役立ちます。アプリケーションの最大クライアント数、現在のクライアント数、および名前付きユーザーを記録できます。
リリース11g R1 (11.1.1.1.0)
SALTリリース11g R1 (11.1.1.1.0)では、次の機能が導入されました。
PythonおよびRubyのサポート
SALT SCAでのPythonとRubyのサポートでは、各言語用の簡易なSCAクライアントAPIが用意されており、これを使用してPythonまたはRubyクライアント・プログラムからSCAコールを実行して、PythonまたはRubyのコンポーネントにアクセスできます。Python、RubyまたはC++コンポーネントと他のPython、RubyまたはC++コンポーネントとの間での呼出しが可能になりました。
詳細は、『SALTプログラミング・ガイド』のSALT SCAプログラミングに関する項を参照してください。
SCA構造体のサポート
パフォーマンス向上のための、追加のC++構造体機能が提供されます。
詳細は、『SALTプログラミング・ガイド』のSALT SCAプログラミングに関する項を参照してください。
Scatuxgenメタデータ生成ツール
Scatuxgenメタデータ生成ツールは、SALT 10gR3で追加されたSCA実行時機能のSCAコンポーネントの開発に使用されるものとして、C++インタフェースを解析します。Oracle Tuxedoメタデータ・リポジトリ・インタフェース・データが生成され、オプションで、Webサービス定義ファイル(WSDF)ドキュメントも生成されます。
詳細は、『SALTコマンド・リファレンス・ガイド』を参照してください。
WS-TXのサポート
WebサービスとOracle Tuxedoアプリケーション間の、双方向でトランザクション対応の相互運用性が提供されます。アプリケーションは、GWWSシステム・サーバーのトランザクション機能を透過的に利用します。
発信XAトランザクションは、Oracle Tuxedoドメインの外側に透過的に伝播され、WS-TXトランザクションに1対1でマップされます。着信WS-TXトランザクションは、Oracle Tuxedoドメイン内に伝播され、XAトランザクションにマップされます。
詳細は、『SALT構成ガイド』のWS_TXサポートの構成に関する項、および『SALTの相互運用性』のWS-TXの相互運用性に関する項を参照してください。
リリース11g R1 (11.1.1.2.0)
SALT 11gリリース11g R1 (11.1.1.2.0)では、次の機能が導入されました。
SOCKSプロキシのサポート
SOCKSプロキシのサポートでは、発信エンドポイントに関連付けられた構成可能な要素が提供されます。また、SOCKS V4およびV5プロトコルに従ってアウトバウンド接続をプロキシするSOCKSサーバー・アドレスを構成できます。
SOCKSは認識されるリスニング・エンドポイントがない着信接続をプロキシするため、着信のサポートは必要ありません。詳細は、『SALTリファレンス・ガイド』のSALTのデプロイメント・ファイル・リファレンスに関する項を参照してください。
wsdlcvtコマンドは、SOCKSプロキシ・サーバーに接続するように機能拡張されます。詳細は、『SALTリファレンス・ガイド』のSALTコマンド・リファレンスに関する項を参照してください。
リリース11g R1 (11.1.1.2.2)
SALT 11gリリース11g R1 (11.1.1.2.2)では、次の機能が導入されました。
Apache 2 Web Serverプラグインのサポート
Apache HTTP Server 2、Oracle HTTP ServerまたはiPlanet Server、およびOracle TuxedoベースのWebアプリケーションとのインタフェースのための、Apache 2形式のWeb Serverプラグイン。
Web Gatewayインタフェースのサポート
動的HTMLページを生成するOracle Tuxedoサービスを開発するための、Web Gatewayインタフェースのサポート。
PHP、PythonおよびRubyのWebスクリプト・サポート
直接サポートされるPHPスクリプト
WSGI経由でサポートされるPythonスクリプト
Rack経由でサポートされるRubyスクリプト
ZendフレームワークなどのほとんどのWebフレームワークを使用するPHP、PythonおよびRubyアプリケーション、つまりSymfony、DjangoまたはRailsはOracle Tuxedo環境内のように実行されます。
PHP SCAスクリプト・サポート
SOA統合のための、SCAクライアントおよびSCAコンポーネントとしてのPHPスクリプトのサポート。
詳細は、『SALT管理ガイド』を参照してください。
リリース12c R1 (12.1.1)
SALT 12cリリース12c R1 (12.1.1)では、次の機能が導入されています。
Webサービス構成ツール
SALT 12cで提供されるHTTPベースの構成ツールでは、構成ファイルを手動で編集することなく、既存のOracle TuxedoサービスをWebサービスとして公開できます。既存のOracle Tuxedoサービスのサービス定義の把握、メタデータ・リポジトリでのサービス定義の編集、およびWebサービス定義とSALTDEPLOYファイルの作成を、使いやすいグラフィカル・ユーザー・インタフェースを使用して行うことができます。
詳細は、SALT構成ガイドのSALT構成ツールの有効化に関する項を参照してください。
Security Assertion Markup Language (SAML)のシングル・サインオン(SSO)サポート
SALT Web Services Gateway (GWWS)が受信したSOAPメッセージ・リクエスト内部のSAMLトークンを認識する機能を提供します。トークンの内容に基づいて、GWWSはOracle Tuxedoリソースへのアクセスを許可するか拒否するかを決定します。
詳細は、『SALT構成ガイド』のOracle Tuxedo Webサービスの構成/セキュリティ機能の構成に関する項を参照してください。
新しいデータ型のサポート
ネストされたView32データ型をサポートします。また、XMLとの間での、追加のViewおよびView32プリミティブ型のマッピングをサポートします。
詳細は、『SALTプログラミング・ガイド』のデータ型のマッピングとメッセージの変換に関する項を参照してください。
注意:
SALTの、Python、RubyおよびSCAの各機能は、現在Oracle Tuxedo 12cリリース1 (12.1.1)に含まれています。詳細は、Oracle Tuxedo 12cリリース(12.1.1)のドキュメントを参照してください。
リリース12c R2 (12.1.3)
SALT 12c リリース2 (12.1.3)には、以下の機能が追加されています。
RESTful Web API
既存のOracle Tuxedoサービスは、RESTful Webサービスとしてhttpクライアントからのアクセスを可能にできます。これにより、軽量アプリケーションにSOAP/httpを使用する必要がなくなり、他のアプリケーションとの統合が促進されます。RESTful Web APIは、データ転送にXMLまたはJSONのペイロードを使用できます。
Oracle TuxedoサービスをRESTful Webサービスとしたアクセスが可能であることに加え、コードを記述することなしにOracle Tuxedoアプリケーションから外部RESTfulサービスにアクセスすることも可能です。Oracle Tuxedoアプリケーションは、Oracle Tuxedoサービスを呼び出すのと同じように、RESTfulサービスを呼び出すことができます。SALTゲートウェイは、RESTful Webサービスのプロキシとして動作します。
詳細は、『SALT構成ガイド』SALT構成ツールの有効化、REpresentational State Transfer (REST)オプションに関する項を参照してください。
カスタムHTTPヘッダー
HTTPヘッダーを使用して、関連アプリケーションの制御情報をOracle Tuxedoとの間でやり取りできます。RESTful Webサービスの場合は、Oracle TuxedoバッファにカスタムHTTPヘッダーが添付され、呼び出されたOracle Tuxedoサービスに渡されます。Oracle Tuxedoサービスのヘッダーを読み取るには、提供されるAPIを使用します。同様に、Oracle Tuxedoアプリケーションは提供されるAPIを使用してOracle TuxedoバッファにHTTPヘッダを設定できます。これはSALTゲートウェイによってHTTPヘッダーに変換されます。
詳細は、『SALT構成ガイド』SALT構成ツールの有効化、カスタムHTTPヘッダーに関する項を参照してください。
外部Webサービスに対するWS-Security
メッセージへの署名にX.509証明書を使用したメッセージレベルの認証が用意されています。Oracle Tuxedoは、SOAP/httpとX.509証明書のプリンシパルIDを使用して外部Webサービスを呼び出します。
詳細は、『SALT構成ガイド』Oracle Tuxedo Webサービスの構成/セキュリティ機能の構成に関する項を参照してください。
データ変換のトレース
すべての着信メッセージおよび発信メッセージをトレースできます(RESTful Webサービス、SOAP/http Webサービス、およびXMLとOracle Tuxedo双方向のすべてのデータ変換を含みます)。
詳細は、『SALTプログラミング・ガイド』の「データ型マッピングとメッセージ変換サービス」の外部Webサービスを対象としたXMLからTuxedoへのデータ型マッピングに関する項を参照してください。
ECIDの伝播
ECID (実行コンテキストID)が、Tuxedo内、およびOracleスタックの様々な製品間で、各リクエストと一緒に伝播されます。ECIDの伝播によって、Oracle TuxedoドメインとOracle製品(Oracle WebLogic Server、Oracle Databaseなど)間のリクエスト相関が可能になり、アプリケーションの問題をすばやく診断できます。
詳細は、「ECIDを伝播するためのTuxedoの設定」を参照してください。
動的構成とMIB
停止することなく構成ファイルの変更を動的にリロードできます。Webサービスの構成とランタイム統計を参照できるMIBインタフェースが用意されています。
詳細は、『SALT構成ガイド』SALT構成ツールの有効化、MIBクラス・インタフェースに関する項を参照してください。
XML複合属性のマッピング
WSDLのcomplexType要素で属性フィールドを使用できるようになったことで、外部Webサービスにアクセスする際の使いやすさが向上しました。complexType属性フィールドは、対応するFML32フィールドに"1対1"でマッピングされます。
詳細は、『SALTプログラミング・ガイド』データ型のマッピングとメッセージの変換に関する項を参照してください。
構成ツールの機能拡張
構成ツールの機能拡張によって、次の機能が提供されます。
RESTful Webサービスをサポート
外部Webサービスのインポートが可能
WebブラウザとしてFireFoxとSafariをサポート
RESTful Webサービス用のテスト・クライアント
詳細は、『SALT構成ガイド』SALT構成ツールに関する項を参照してください。
リリース12c R2 (12.2.2)
SALT 12c リリース2 (12.2.2)には、以下の機能が追加されています。
カスタムSOAPヘッダー
この機能により、SOAP/httpを使用してTuxedoサービスにアクセスするときにSOAPメッセージでアプリケーション固有のヘッダーを使用できます。この機能は、既存のtpsetcallinfo()およびtpgetcallinfo() APIを利用してデータを着信/発信方向のSOAPヘッダーに配置したりSOAPヘッダーから取得します。
着信(Webサービスとして公開されたOracle Tuxedoサービス、またはネイティブWebサービス)
発信(WebサービスをOracle Tuxedoサービスとして起動、または外部Webサービスを起動)
詳細は、「tpsetcallinfo()」「tpgetcallinfo()」『SALT構成ガイド』SALT構成ツールの有効化、カスタムSOAPヘッダーに関する項を参照してください。
RECORDバッファ・タイプのサポート
SALTでRECORDバッファ・タイプがサポートされるようになりました。RECORDバッファ・タイプは、COBOLコピーブック・レコードを正しく完全に表現できる柔軟な方法です。
RECORDバッファは、メインフレーム・トランザクションとARTトランザクションをWebサービスとして公開し、これらのトランザクションにアクセスするためにSALTで使用されます。
詳細は、「SALTのOracle Tuxedoサービス・メタデータ・リポジトリの使用」および「Oracle Tuxedoサービス用Tuxedo-to-XMLデータ型のマッピング」を参照してください。
SALTのメインフレーム・トランザクション・パブリッシャ
このリリースのSALTでは、IBMメインフレームのCICS/IMS環境で実行されているトランザクションをWebサービス(SOAP/httpまたはRESTful Webサービス)として簡単に公開できます。さらに、このようなメインフレーム・トランザクションでは、SOAP/httpまたはRESTful APIを使用して外部Webサービスにアクセスすることもできます。この統合は完全に構成に基づき、コードを開発する必要はありません。
SALTには、wscobolcvtなどのツールが含まれており、これらのツールを使用して、COBOLコピーブックをインポートしたり、メタデータ・リポジトリ・アーティファクト、WSDLおよびその他の必要な構成を作成してメインフレーム・トランザクションをWebサービスとして公開できます。同様に、ツールを使用して、外部WebサービスのWSDLをインポートしたり、外部Webサービスにアクセスするメインフレーム・トランザクションに必要なアーティファクトを作成できます。
詳細は、「wscobolcvt」「SALTメインフレーム・トランザクション・パブリッシャ」および「外部Webサービス用XML-to-Tuxedoデータ型のマッピング」を参照してください。
新しいTuxedoサービス・コンソール
このリリースのSALTでは、Tuxedoサービスを公開、インポートするための既存のSALT構成ツールが、新しいTuxedoサービス・コンソールに置き換えられました。この新しいコンソールには、次の主要機能があります。
サービス管理: Tuxedoメタデータ・リポジトリのTuxedoサービス定義を追加/編集/削除します。
Webサービス(SOAPおよびREST)の構成: SOAPまたはRESTサービスとしてOracle Tuxedoサービスにアクセスしたり、Tuxedoアプリケーションから外部SOAP/REST Webサービスにアクセスできます。
メインフレーム・トランザクションとの統合: Webサービス(SOAPまたはREST)としてメインフレーム・トランザクションにアクセスしたり、メインフレーム・トランザクションから外部Webサービスにアクセスできます。
詳細は、「TMADMSVR」および「MTP」を参照してください。
Oracle Access Managerを使用したシングル・サインオン
このリリースのSALTは、OAM認証サーバー構成の自動検出とOAMトークンの処理により、Oracle Access Manager (OAM)とシームレスに統合されています。これにより、セキュアなSOAPおよびRESTアクセスをサポートするためにHTTPレベルでのシングル・サインオンが実現されます。
詳細は、「Oracle Tuxedo Webサービスの構成」のセキュリティ機能の構成に関する項を参照してください。
SALTコンポーネント
SALTは、次の主要コンポーネントで構成されています。
SALTゲートウェイ(GWWS)
SALTのOracle Tuxedoシステム・サーバー(GWWS)は、HTTP/Sプロトコルを介したSOAPにより別のWebサービス・アプリケーションに接続します。GWWSサーバーはOracle Tuxedoゲートウェイ・プロセスとして機能するサーバーであり、一般のOracle Tuxedoシステム・サーバーと同様の方法で管理されます。GWWSサーバーでは双方向(着信または発信)の機能があります。GWWSサーバーでは、次の操作を行うことができます。
Webサービス・アプリケーションからSOAPリクエストを受け付けて、Oracle Tuxedoのネイティブ呼出しをOracle Tuxedoサービスに発行します。
Oracle Tuxedo ATMIリクエストを受け付けて、SOAP呼出しをWebサービス・アプリケーションに発行します。
1つのOracle Tuxedoドメインに、GWWSの複数のインスタンスが含めることができます。複数のGWWSインスタンスに対して同一のSALT構成を指定すると、それらのインスタンスに対して同一の機能が提供され、スループットとフェイルオーバー保護の機能を向上させることができます。また、別々の構成ファイルを指定した、用途の異なる複数のGWWSインスタンスをグループ化することもできます。
GWWSサーバーが起動する際、指定されたSALT構成ファイルとOracle Tuxedoサービス規約情報がOracle Tuxedoサービス・メタデータ・リポジトリからロードされます。
GWWSサーバーは、WSDLドキュメントおよびXMLスキーマ・ファイルのダウンロード用に単純なHTTP Webサーバーとしても機能します。
WSDLアシスタント・ユーティリティ
WSDL (Web Services Description Language)は、Webサービスの内容を説明するXMLベースの仕様書です。WSDLドキュメントには、Webサービス操作、入力および出力パラメータおよびそのWebサービスにクライアント・アプリケーションから接続する方法が説明されます。SALTには、Oracle TuxedoアプリケーションとWebサービスWSDL定義をマップするための2つのユーティリティ(tmwsdlgenおよびwsdlcvt)があります。
Oracle Tuxedo定義からのWSDLジェネレータ
Oracle TuxedoサービスをWebサービスとしてパブリッシュする場合、SALTを使用すると、WSDLドキュメントは手動で作成する必要がなく、SALTのWebサービス開発作業の一部として自動的に生成されます。生成されたWSDLドキュメントは、Webサービス開発ツールを使用して統合したり、UDDIサーバーに対してパブリッシュしたりできます。
WSDLドキュメントを取得するには、以下の2つの方法があります。
tmwsdlgenを使用する方法(WSDLドキュメント・ファイル生成ユーティリティ)。
HTTP(S)を介してGWWSサーバーが生成されたWSDLドキュメントをダウンロードする方法
Oracle Tuxedo定義へのWSDLコンバータ
外部Webサービス・アプリケーションをサポートするには、外部WSDLドキュメントを変換する必要があります。SALT変換ユーティリティwsdlcvtを使用すると、外部WSDLドキュメントをOracle Tuxedo固有の定義ファイル(SALT Webサービス定義ファイル、Oracle Tuxedoサービス・メタデータ・リポジトリの定義ファイルおよびFML32フィールド表の定義ファイル)に変換できます。
SALT Webサービス定義ファイルは、SALTデプロイメント・ファイルにインポートして特定のGWWSサーバーで利用できます。Oracle Tuxedoサービス・メタデータ・リポジトリの定義ファイルおよびFML32フィールド表の定義ファイルには、Oracle Tuxedoクライアント・プログラミングのサービス・インタフェース記述を提供します。
SALTの使用例
次の項では、SALT Webサービスの一般的なユース・ケースについて説明します。
ユース・ケース1: WebサービスとしてのネイティブOracle Tuxedoサービスの公開
ネイティブOracle Tuxedoサービスは、標準WebサービスSOAPプロトコルを使用してWebサービスとして公開できます。GWWSサーバーはHTTP/Sを介してSOAP要求を受け付け、Oracle Tuxedo ATMIコールに変換します。SALTは、Oracle Tuxedoサービスのオープン標準Web サービス・インタフェースを説明するWSDLドキュメントを生成します。Oracle Tuxedoサービス・メタデータ・リポジトリは、Oracle Tuxedoサービス規約情報を定義するために使用します。これは「着信」ユース・ケースです。
図3では、ジェネリック受信Webサービス呼出しを説明します。
図3 Webサービス(受信)としてのOracle Tuxedoサービスの公開
ユース・ケース2: Oracle Tuxedoアプリケーションからの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バッファ・タイプを理解するのに役に立ちます。これは「発信」ユース・ケースです。
図4では、ジェネリック発信Webサービス呼出しを説明します。
図4 Oracle Tuxedoアプリケーション(発信)からのWebサービスの呼出し
ユース・ケース3: SOAPプロトコルを使用したOracle Tuxedoドメインへの接続
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サーバーが連携して動作するよう、単純な構成が用意されています。
図5では、2つのドメインを接続するためのSALTの使用方法について説明します。
図5 SOAPプロトコルを使用した2つのOracle Tuxedoドメインの接続
同じOracle Tuxedoドメイン内に接続を作成するには、2つのGWWSサーバーを使用しないでください。図6を参照してください。また、単一GWWSサーバーは自身に接続できません。図7を参照してください。
いずれかのシナリオで、GWWSサーバーは、すでに他のアプリケーション・サーバーで公開した同じOracle Tuxedoサービスを公開します。これによって、dead-loopサービス・ディスパッチになる可能性があります。
警告:
これらのシナリオを回避するには、SALTアプリケーションを注意深く計画し構成する必要があります。
図6 同じOracle Tuxedoドメイン内での2つのGWWSサーバーの接続
 
図7 自身に接続する単一のGWWSサーバー
ユース・ケース4: SAMLシングル・サインオン
Webサービス・クライアントのユーザー・エージェント(通常はWebブラウザ)は、WSS: SOAPメッセージ・セキュリティを使用して、<wsse:Security>ヘッダー内部にアサーション要素を置き、リクエストをGWWSに送信することによって、有効なSAMLアサーションを持つセキュリティ・トークンをSOAPメッセージにアタッチします(図8参照)
図8 SAMLシングル・サインオン
アサーションの整合性が検証されないかぎり、SALTはこれらのアサーションを受け入れません。サポートされている唯一のサブジェクト確認方法は、現時点では送信者保証です。この場合、SALTには、アテスト・エンティティとの信頼関係も必要です。これらの要件がすべて満たされた場合、ユーザーに対してOracle Tuxedoリソースへのアクセスが付与されます。
Oracle WebLogic Serverインスタンス・セキュリティがSAML発行者であることも可能です。WLS環境では、通常はWebサービスが媒介者ですが、Webブラウザのこともあります。アテスト・エンティティとの間に信頼関係を確立するには、GWWSは、アテスト・エンティティとの共有シークレットまたはその公開鍵にアクセスできる必要があります。
SAML発行者とはSAMLアサーションを作成する側で、「媒介者」とは、SOAPメッセージがGWWSに転送される前に、SAMLセキュリティ・トークンをアタッチする側です。
一般的なフローは次のとおりです。
1.
クライアントがWLSにリクエストを送信します。
2.
WLSがクライアントを認証します。
3.
WLSが発行者(WLS Web Server)に、すべての必要なログイン情報を転送します。
4.
WLS Web Server発行者は、SAMLアサーションを作成し、WLSに戻します。
5.
WLSはSAMLアサーションを持つSAMLセキュリティ・トークンをSOAPメッセージにアタッチし、それをGWWSに転送します。
6.
GWWSは、WLSに応答またはエラーを戻します。
7.
WLSは、クライアントに応答またはエラーを戻します。
GWWSとWLS/発行者の間に信頼関係が発生します。
SALTでのWebサービスの構成
通常、SALTを使用してWebサービスを構成する場合は、次の手順に従います。
1.
着信Oracle Tuxedoサービスの構成
a.
Oracle Tuxedoサービス・メタデータ・リポジトリを使用してOracle Tuxedoアプリケーション・サービスを定義します。
b.
1つまたは複数のSALT Webサービス定義ファイル(WSDF)を作成します。
2.
発信Webサービスを構成します。
a.
外部WSDLドキュメントを、SALT Webサービス定義ファイル、Oracle Tuxedoサービス・メタデータ・リポジトリ定義ファイルおよびFML32フィールド表定義ファイルなどのOracle Tuxedoコンポーネントに変換します。
b.
自動的に生成するサービス名およびFML32フィールド名の潜在的なネーミング競合を解決します。
3.
tmloaderposを使用して、すべてのOracle Tuxedo Service定義をOracle Tuxedoサービス・メタデータ・リポジトリにロードします。
4.
受信サービスと送信サービスの両方にSALTデプロイメント・ファイルを作成します。
5.
TMMETADATAおよびGWWSサーバーをOracle TuxedoのUBBCONFIGファイルに追加します。
6.
Oracle Tuxedoアプリケーションを起動します。
Webサービス・クライアント・ツールキットを使用したOracle Tuxedoサービスの呼出し
1.
クライアント側ユーザーはWSDLドキュメント・ファイルをGWWSサーバーからダウンロードします。
2.
クライアント側ユーザーは、WSDLドキュメント・ファイルとSOAP開発キットを使って、クライアント側のスタブ・コードを生成します。
3.
クライアント・サイドのプログラムを生成します。
4.
クライアントを実行し、SOAPメッセージによってWebサービスを呼び出します。
Oracle Tuxedoプログラミング・インタフェースを使用したWebサービスの呼出し
1.
生成されたOracle Tuxedoサービス・メタデータ定義ファイルに従って、Oracle Tuxedoクライアント/サーバー・プログラムを作成します。クライアント・プログラムは、Oracle Tuxedoでサポートされているクライアント側のプログラミング言語(C/C++、Java、COBOL、.NETなど)で記述できます。
2.
Oracle Tuxedoクライアントまたはサーバーのプログラムをコンパイルしデプロイします。
3.
外部Webサービス・アプリケーションを呼び出すにはOracle Tuxedoアプリケーションを実行します。
SALTでサポートされる標準
SALTでは、次の標準仕様がサポートされています。
SOAP標準
Webサービスとそのユーザーとの間における、データ伝送およびWebサービス呼出しに関する標準
SOAP 1.1
詳細は、以下を参照してください。
http://www.w3.org/TR/2000/NOTE-SOAP-20000508/
SOAP 1.2
詳細は、以下を参照してください。
http://www.w3.org/TR/soap12-part0/
添付ファイル付きSOAP
詳細は、以下を参照してください。
http://www.w3.org/TR/SOAP-attachments
MTOM
詳細は、以下を参照してください。
http://www.w3.org/TR/soap12-mtom/
登録済Webサービスをクライアント・アプリケーションが検索する方法、およびWebサービスを登録する方法に関する標準
UDDI 2.0
詳細は、以下を参照してください。http://uddi.org/pubs/ProgrammersAPI-V2.04-Published-20020719.htm
クライアントからの呼出しができるようにWebサービスの内容を示す方法に関する標準
WSDL 1.1
詳細は、以下を参照してください。
http://www.w3.org/TR/2001/NOTE-wsdl-20010315
WS-Policy
詳細は、次を参照してください。
http://specs.xmlsoap.org/ws/2004/09/policy/ws-policy.pdf
http://specs.xmlsoap.org/ws/2004/09/policy/ws-policyattachment.pdf
Webサービス・インフラストラクチャに関する標準
WS-Addressing
詳細は、以下を参照してください。
http://www.w3.org/Submission/2004/SUBM-ws-addressing-20040810/
WS-ReliableMessaging
詳細は、次を参照してください。
http://specs.xmlsoap.org/ws/2005/02/rm/ws-reliablemessaging.pdf
http://specs.xmlsoap.org/ws/2005/02/rm/WS-RMPolicy.pdf
Webサービス・セキュリティに関する標準
WS-Security 1.0
詳細は、以下を参照してください。
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
WS-Security 1.1
詳細は、以下を参照してください。
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
Webサービス・トランザクションに関する標準
WS-Coordination 1.0
詳細は、以下を参照してください。
http://schemas.xmlsoap.org/ws/2004/10/wscoor/
WS-AtomicTransaction 1.0
詳細は、以下を参照してください。
http://schemas.xmlsoap.org/ws/2004/10/wsat/
シングル・サインオン標準
シングル・サインオン標準
SAML 1.1
詳細は、 http://www.oasis-open.org/standards#samlv1.1を参照してください。
SAML 2.0
詳細は、 http://www.oasis-open.org/standards#samlv2.0を参照してください。
次に行うこと
SALTの製品概要を理解した後、SALT製品を使用してWebサービスのインストール、構成および実行の詳細は、次のトピックを参照してください。
SALT製品のインストール
注意:
現在、SALT 12cリリース2のインストールはOracle Tuxedo 12cリリース2のインストールに含まれています。SALT 12cリリース2は、Oracle Tuxedo 12cリリース2と同じプラットフォームをサポートします。
製品をインストールする方法の詳細は、『Oracle Tuxedoインストレーション・ガイド』を参照してください。
SALT製品の管理
製品を構成および管理する方法の詳細は、『SALT管理ガイド』を参照してください。
SALT製品の構成
製品を構成および管理する方法の詳細は、『SALT構成ガイド』を参照してください。
SALTによるWebサービスのプログラム作成
SALTでのプログラミングの詳細は、『SALTプログラミング・ガイド』を参照してください。
SALT Webサービスのサンプル
SALT Webサービス・アプリケーションのサンプルについては、『SALTサンプル・ガイド』を参照してください。

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