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

Oracle SALT は、新しいアプリケーションの開発に使用する SCA コンテナを備えています。SCA コンテナは SCA の標準のプログラミング/アセンブリ モデルをベースとしており、各種のミドルウェア API を習得していなくても、ビジネス ロジックに重点を置いてアプリケーションを開発できます。SCA 標準に準拠しているため、SCA ツールを使用してアプリケーションを開発およびアセンブルできます。さらに、Tuxedo インフラストラクチャの特長である信頼性、可用性、スケーラビリティ、パフォーマンスなどは、すべてこれまでどおり活用できます。
SCA コンテナを使用すると、SOA 環境との相互運用も容易になり、既存および新規の Tuxedo アプリケーションの相互運用性や拡張性を向上させることができます。
下に示すサンプル アプリケーションは、SCA のプログラミング/アセンブリ モデルに基づいて開発されたものです。このアプリケーションのサービスの多くは、SCA コンポーネントによって提供されます。この中には、SCA コンテナでホストされるコンポーネントだけでなく、SCA コンポーネントからアクセスするレガシー コンポーネントも含まれています。

Oracle SALT は、Tuxedo 製品ファミリの最新のアドオンです。2006 年に開発された Oracle SALT は、Tuxedo アプリケーションおよび標準 Web サービス アプリケーションを統合するシームレス Tuxedo ソリューションを提供するように設計されています。SALT に SCA コンテナが追加されたことで、既存の Tuxedo アプリケーションを SOA 環境に統合しやすくなっただけでなく、新しい SOA アプリケーションを最初から SCA に基づいて設計できるようになりました。
リリース 1.1 は、最初の Oracle SALT リリースです。2006 に利用可能になった SALT 1.1 には、以下の重要な機能があります。
Oracle SALT 2.0 リリースは、SALT 1.1 リリースをベースに大幅に拡張されました。SALT 2.0 では、以下の機能が追加されました。
SALT 10g リリース 3 (10.3) には、以下の機能が追加されています。
SCA は、コンポーネントの再利用およびコンポーネント間のシームレスな通信を簡単に実現するためのプログラミング モデルを提供します。SALT 10g リリース 3 (10.3) の SCA コンテナを使用することで、Tuxedo の重要な特長である信頼性、可用性、スケーラビリティ、パフォーマンスなどを十分に活かしながら、新しいプログラミング モデルに基づいてアプリケーションを開発できます。SALT 10g リリース 3 (10.3) には、以下の SCA 機能が追加されています。
実行時に、サービス規約情報が自動的に検索されます。生成された情報は、自動的にメタデータ リポジトリにロードすることも、いったんファイルに格納してから tmloadrepos ユーティリティを使用して手動でメタデータ リポジトリにロードすることもできます。
Tuxedo クライアントの管理者が、実行時にアプリケーションの有効性をモニタできるようにします。アプリケーションの最大クライアント数、現在のクライアント数、特定のユーザを記録できます。
Oracle SALT は、以下の主要コンポーネントで構成されています。
Oracle SALT の Tuxedo システム サーバ (GWWS) は、HTTP/S プロトコルを介して別の Web サービス アプリケーションに接続します。GWWS サーバは Tuxedo ゲートウェイ プロセスとして機能するサーバであり、一般の Tuxedo システム サーバと同様の方法で管理されます。GWWS サーバでは双方向 (受信または送信) の機能があります。GWWS サーバでは、以下の操作を行うことができます。
1 つの Tuxedo ドメインに、GWWS の複数のインスタンスが含めることができます。複数の GWWS インスタンスに対して同一の Oracle SALT コンフィグレーションを指定すると、それらのインスタンスに対して同一の機能が提供され、スループットとフェイルオーバ保護の機能を向上させることができます。また、別々のコンフィグレーション ファイルを指定した、用途の異なる複数の GWWS インスタンスをグループ化することもできます。
GWWS サーバが起動する際には、指定した SALT コンフィグレーション ファイルおよび Tuxedo サービス メタデータ リポジトリからの Tuxedo サービス規約情報がロードされます。
GWWS サーバは、WSDL 文書および XML スキーマ ファイルのダウンロード用に単純な HTTP Web サーバとしても機能します。
WSDL (Web Services Description Language) は、Web サービスの内容を説明する XML ベースの仕様書です。WSDL ドキュメントには、Web サービスのオペレーション、入力および出力パラメータおよびその Web サービスにクライアント アプリケーションから接続する方法が説明されます。Oracle SALT には、Tuxedo アプリケーションと Web サービス WSDL 定義をマップするための 2 つのユーティリティ (tmwsdlgen および wsdlcvt) があります。
Tuxedo サービスを Web サービスとしてパブリッシュする場合、Oracle SALT を使用すると、WSDL ドキュメントは手作業で作成する必要がなく、SALT の Web サービス開発作業の一部として自動的に生成されます。生成された WSDL ドキュメントは、Web サービス開発ツールを使って統合したり、UDDI サーバに対してパブリッシュしたりできます。
WSDL ドキュメントを取得するには、以下の 2 つの方法があります。
tmwsdlgen を使用する方法 (WSDL ドキュメント ファイル生成ユーティリティ)
外部 Web サービス アプリケーションをサポートするには、外部 WSDL ドキュメントを変換する必要があります。Oracle SALT 変換ユーティリティ wsdlcvt を使用すると、外部 WSDL ドキュメントを Tuxedo 特定の定義ファイル (SALT Web サービス定義ファイル、Tuxedo サービス メタデータ リポジトリの定義ファイルおよび FML32 フィールド テーブルの定義ファイル) に変換できます。
SALT Web サービス定義ファイルは、SALT デプロイメント ファイルにインポートして特定の GWWS サーバで利用できます。Tuxedo サービス メタデータ リポジトリの定義ファイルおよび FML32 フィールド テーブルの定義ファイルには、Tuxedo クライアント プログラミングのサービス インタフェース記述を提供します。
表 1 に、SALT 10g リリース 3 (10.3) SCA コンテナの API とユーティリティをまとめます。
以下の節では、Oracle SALT Web サービスの一般的なユース ケースについて説明します。
ネイティブ Tuxedo サービスは、標準 Web サービス SOAP プロトコルを使用して Web サービスとしてエクスポーズできます。GWWS サーバは HTTP/S を介して SOAP 要求を受け付け、Tuxedo ATMI コールに変換します。SALT は、Tuxedo サービスのオープン標準 Web サービス インタフェースを説明する WSDL ドキュメントを生成します。Tuxedo サービス メタデータ リポジトリは Tuxedo サービス規約情報を定義するために使用します。これは「着信」ユース ケースです。
図 3 では、ジェネリック受信 Web サービス呼び出しを説明します。
Web サービス アプリケーションは、Tuxedo ドメインへのインポート、GWWS サーバを介して Tuxedo サービスとしての公開、Tuxedo アプリケーションから呼び出しなどができます。SALT は、各 wsdl:operation を特定の Tuxedo サービスとして変換しマップします。GWWS サーバは、マップされたサービス (呼び出した SALT プロキシ サービス) を公開し、Tuxedo アプリケーションから Tuxedo ATMI リクエストを受け付けます。
Tuxedo サービス メタデータ リポジトリは、変換された Tuxedo サービス規約情報を格納するために使われ、Tuxedo プログラマがインポートされた SALT プロキシ サービスに必要な Tuxedo バッファ タイプを理解するのに役に立ちます。これは「発信」ユース ケースです。
図 4 では、ジェネリック発信 Web サービス呼び出しを説明します。
Oracle SALT では、/T ドメインの代わりに GWWS サーバを使用して 2 つの異なる Tuxedo ドメインに接続できます。GWWS サーバは、呼び出しドメインでは、送信方向で動作し、受け取りドメインでは、受信方向で動作します。
受け取り Tuxedo ドメインは、Tuxedo サービス定義を呼び出し Tuxedo ドメインに伝播する必要があります。つまり、呼び出しドメイン Tuxedo サービス メタデータ リポジトリには、受け取りドメインで実行する Tuxedo サービス定義ファイルが含まれている必要があります。
| 注意 : | これは、手動で設定する必要があります。現在、Tuxedo サービス メタデータ リポジトリ インフラストラクチャは、Tuxedo ドメインの間で自動伝播を提供していません。 |
WSDL ドキュメントは不要です。Oracle SALT では、WSDL 文書を交換せずに SOAP プロトコルを使用してドメイン接続をするために 2 つの GWWS サーバが連携して動作するよう、単純なコンフィグレーションが用意されています。
図 5 では、2 つのドメインを接続するための Oracle SALT の使用方法について説明します。
同じ Tuxedo ドメイン内に接続を作成するには、2 つの GWWS サーバを使用しないでください。図 6 を参照してください。また、単一 GWWS サーバは自身に接続できません。図 7 を参照してください。
いずれかのシナリオで、GWWS サーバは、既に他のアプリケーション サーバで公開した同じ Tuxedo サービスを公開します。これによって、dead-loop サービス ディスパッチになる可能性があります。
| 警告 : | これらのシナリオを回避するには Oracle SALT アプリケーションを注意深く計画しコンフィグレーションする必要があります。 |
Oracle SALT が提供するインフラストラクチャを使用すると、SCA (Services Component Architecture) 仕様に準拠したコンポーネントを開発できます。これらのコンポーネントは、図 8 に示すように、ネイティブの ATMI バインディング、WorkStation プロトコルに基づくバインディング、または Web サービス バインディングを使用して通信することで、ネイティブに対話したり、Tuxedo フレームワークのパフォーマンスや高可用性を活用したりできます。
図 9 に示すように、新しく開発した SCA コンポーネントは、ATMI バインディングを使用して既存の Tuxedo ATMI サービスと対話できます。
反対に、既存の Tuxedo クライアントは、図 10 に示すように、ATMI バインディングをエクスポーズすることで新しく開発した SCA コンポーネントと対話できます。
通常、Oracle SALT を使用して Web サービスをコンフィグレーションする場合は次の手順に従います。
tmloadrepos を使用してすべての Tuxedo サービス定義を Tuxedo サービス メタデータ リポジトリにロードします。UBBCONFIG ファイルに TMMETADATA および GWWS サーバを追加します。
Oracle SALT では、以下の標準仕様がサポートされています。
詳細については、以下を参照してください。
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://specs.xmlsoap.org/ws/2005/02/rm/WS-RMPolicy.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
Oracle SALT では、以下の SCA および SDO 標準がサポートされています。
http://www.osoa.org/display/Main/Service+Data+Objects+Specifications
詳細については、以下を参照してください。
http://www.osoa.org/download/attachments/35/SCA_ClientAndImplementationModelforCpp_V0.95.pdf?version=1
詳細については、以下を参照してください。
http://www.osoa.org/download/attachments/35/SCA_AssemblyModel_V096.pdf?version=1
詳細については、以下を参照してください。
http://www.osoa.org/download/attachments/35/SCA_TransactionPolicy_V1.0.pdf?version=1
Oracle SALT の製品概要を理解した後、SALT 製品を使って Web サービスのインストール、コンフィグレーション、および実行方法の詳細について調べるには、以下のトピックを参照してください。
Oracle SALT 製品をインストールする方法の詳細については、『インストール ガイド』を参照してください。
Oracle SALT 製品を管理する方法の詳細については、『管理ガイド』を参照してください。
SALT でのプログラミングの詳細については、『プログラミング ガイド』を参照してください。
Oracle SALT Web サービス アプリケーションのサンプルについては、『サンプル ガイド』を参照してください。
|