製品の概要

     前  次    目次を新しいウィンドウで開く     
ここから内容

Oracle SALT の概要

以下の節では、Oracle SALT 製品の概要を説明します。

 


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 サービスについて

Oracle SALT は、標準 Web サービス仕様である (SOAP 1.1、SOAP 1.2、および WSDL 1.1) に準拠しています。このため、他の Web サービス製品や Oracle SALT 開発ツールキットとの相互運用が可能です。Tuxedo アプリケーションは、Oracle SALT を使用して Web サービス アプリケーションと容易に統合できます。

Web サービスの基礎知識

Web サービスとは、機能のセットを単一のエンティティとしてパッケージ化したものです。このパッケージは、ネットワーク上の他のシステムから利用可能です。そのサービスは、分散 Web ベース アプリケーションのコンポーネントとして共有し、使用できます。Web サービスの提供対象とするネットワークは、社内イントラネットでもインターネットでもかまいません。また、CRM (顧客関係管理) システム、受注処理システムのような他のシステム、およびその他の既存バックエンド アプリケーションなどが、データをリクエストしたり作業を実行したりするために Web サービスの機能を呼び出します。Web サービスは、ほとんどのシステムで提供されている標準的なテクノロジを使用して実現されるため、分散システムを相互に接続する手段として非常に優れています。

ソフトウェア業界は、Web 上で動的に対話する疎結合型のサービス指向アプリケーションの実現に向かって発展してきました。このアーキテクチャに基づくアプリケーションでは、大規模なソフトウェア システムが、共有サービスという小規模なモジュラ コンポーネントに分割されます。これらの共有サービスは別々のコンピュータ上で提供されていてもよく、さまざまに異なるテクノロジを使って実装されていてもかまいません。パッケージ化され、標準の Web プロトコル (XML、HTTP など) を使ってアクセスできるような形で提供されます。

異なる種類のシステムが混在する環境で容易にアクセスできるよう、Web サービスは以下のプロパティを共有します。

Web サービスは、クライアント (エンドユーザ アプリケーションや他の Web サービス) との通信に、ほとんどあらゆる種類のプログラミング環境によって (必要な場合は手作業でも) 生成および解析処理ができる単純な XML メッセージを使用します。

Oracle SALT を使用する理由

Oracle SALT は、ネイティブな Tuxedo Web サービスの統合ソリューションです。Tuxedo サービスへアクセスする他のソリューションと比べ、Tuxedo/Web サービスの統合費用を削減し、変換処理を減少させます。Tuxedo アプリケーションと外部 Web サービス アプリケーションとの間でシームレスな接続ができます。

Oracle SALT では、既存の Tuxedo サービス (受信) を追加のプログラミング作業なしに Web サービスとして容易にエクスポーズできます。Tuxedo アプリケーションを外部 Web サービス (発信) に透過的にアクセスするネイティブな Tuxedo アプリケーションを作成することもできます。

Web サービスには、以下のような重要なメリットがあります。

図 1 では、Tuxedo フレームワークにおける Oracle SALT ゲートウェイの使用方法を説明します。

図 1 Tuxedo インフラストラクチャ内の Oracle SALT ゲートウェイ

Tuxedo インフラストラクチャ内の Oracle SALT ゲートウェイ

Oracle SALT SCA コンテナについて

Oracle SALT は、新しいアプリケーションの開発に使用する SCA コンテナを備えています。SCA コンテナは SCA の標準のプログラミング/アセンブリ モデルをベースとしており、各種のミドルウェア API を習得していなくても、ビジネス ロジックに重点を置いてアプリケーションを開発できます。SCA 標準に準拠しているため、SCA ツールを使用してアプリケーションを開発およびアセンブルできます。さらに、Tuxedo インフラストラクチャの特長である信頼性、可用性、スケーラビリティ、パフォーマンスなどは、すべてこれまでどおり活用できます。

SCA コンテナを使用すると、SOA 環境との相互運用も容易になり、既存および新規の Tuxedo アプリケーションの相互運用性や拡張性を向上させることができます。

下に示すサンプル アプリケーションは、SCA のプログラミング/アセンブリ モデルに基づいて開発されたものです。このアプリケーションのサービスの多くは、SCA コンポーネントによって提供されます。この中には、SCA コンテナでホストされるコンポーネントだけでなく、SCA コンポーネントからアクセスするレガシー コンポーネントも含まれています。

図 2 SCA アプリケーション

SCA アプリケーション

 


Oracle SALT のリリース履歴

Oracle SALT は、Tuxedo 製品ファミリの最新のアドオンです。2006 年に開発された Oracle SALT は、Tuxedo アプリケーションおよび標準 Web サービス アプリケーションを統合するシームレス Tuxedo ソリューションを提供するように設計されています。SALT に SCA コンテナが追加されたことで、既存の Tuxedo アプリケーションを SOA 環境に統合しやすくなっただけでなく、新しい SOA アプリケーションを最初から SCA に基づいて設計できるようになりました。

リリース 1.1

リリース 1.1 は、最初の Oracle SALT リリースです。2006 に利用可能になった SALT 1.1 には、以下の重要な機能があります。

リリース 2.0

Oracle SALT 2.0 リリースは、SALT 1.1 リリースをベースに大幅に拡張されました。SALT 2.0 では、以下の機能が追加されました。

リリース 10g リリース 3 (10.3)

SALT 10g リリース 3 (10.3) には、以下の機能が追加されています。

 


Oracle SALT コンポーネント

Oracle SALT は、以下の主要コンポーネントで構成されています。

Oracle SALT ゲートウェイ (GWWS)

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 アシスタント ユーティリティ

WSDL (Web Services Description Language) は、Web サービスの内容を説明する XML ベースの仕様書です。WSDL ドキュメントには、Web サービスのオペレーション、入力および出力パラメータおよびその Web サービスにクライアント アプリケーションから接続する方法が説明されます。Oracle SALT には、Tuxedo アプリケーションと Web サービス WSDL 定義をマップするための 2 つのユーティリティ (tmwsdlgen および wsdlcvt) があります。

Tuxedo 定義からの WSDL ジェネレータ

Tuxedo サービスを Web サービスとしてパブリッシュする場合、Oracle SALT を使用すると、WSDL ドキュメントは手作業で作成する必要がなく、SALT の Web サービス開発作業の一部として自動的に生成されます。生成された WSDL ドキュメントは、Web サービス開発ツールを使って統合したり、UDDI サーバに対してパブリッシュしたりできます。

WSDL ドキュメントを取得するには、以下の 2 つの方法があります。

Tuxedo 定義への WSDL コンバータ

外部 Web サービス アプリケーションをサポートするには、外部 WSDL ドキュメントを変換する必要があります。Oracle SALT 変換ユーティリティ wsdlcvt を使用すると、外部 WSDL ドキュメントを Tuxedo 特定の定義ファイル (SALT Web サービス定義ファイル、Tuxedo サービス メタデータ リポジトリの定義ファイルおよび FML32 フィールド テーブルの定義ファイル) に変換できます。

SALT Web サービス定義ファイルは、SALT デプロイメント ファイルにインポートして特定の GWWS サーバで利用できます。Tuxedo サービス メタデータ リポジトリの定義ファイルおよび FML32 フィールド テーブルの定義ファイルには、Tuxedo クライアント プログラミングのサービス インタフェース記述を提供します。

SCA コンテナの API とユーティリティ

表 1 に、SALT 10g リリース 3 (10.3) SCA コンテナの API とユーティリティをまとめます。

表 1 SALT コンテナの API とユーティリティ
ユーティリティ/API 名
説明
tuxscagen utility
Tuxedo サービス メタデータ リポジトリから、C++ インタフェース ヘッダ ファイルと、XML ベースの SCDL コンポジットおよびコンポーネント ファイルを生成するために使用する。JATMI クライアント用の Java インタフェース クラスの生成にも使用できる。
buildscaclient
SCA クライアント プログラムをコンパイルしてリンクを設定する。
buildscacomponent
SCA コンポーネントをアプリケーション コードとして格納する共有ライブラリの構築に使用する。個別の SCA コンポーネントをソース コードから構築できる。このコマンドを実行すると、SCDL ソースの読み込み、指定されたコンポジット ファイル内でのコンポーネントの検索、対応する .componentType ファイルの解析、および対応する実行可能ライブラリの生成が、.componentType ファイルと同じ場所で実行される。

注意 : buildscacomponent は、通常は buildscaserver の前に実行する。

buildscaserver
SCDL 定義を解析し、Tuxedo にデプロイ可能なサーバを生成する。同時に、Tuxedo にデプロイ可能な以下の要素も生成される。
  • SCA コンポーネントを格納する共有ライブラリ
  • SCDL コンフィグレーション
また、SCDL コードに <binding.ws> 要素が含まれている場合は、SALT Web サービス アーティファクトのコンフィグレーションも自動化される。
scaadmin
SCA コンポーネントの統計情報と管理機能を提供する。
scapasswordstore
Tuxedo ベースのサービスを参照する SCA コンポーネントが使用する password.store ファイルを管理する。
setSCAPasswordCallback(3c)
<binding.atmi> または <binding.jatmi> 要素内の識別子に関連付けられているパスワードを取得するためのコールバックを設定する。
mkfldfromschema/mkfld32fromschema
mkfldfromschema および mkfld32fromschema コマンドは、入力として XML スキーマを取り、適切なフィールド テーブルを生成する。このテーブルは、mkfldhdr または mkfldhdr32 コマンドで処理するか、それを必要とする他のプログラムによってロードされる。
  • mkfldfromschema は 16 ビット FML で使用する
  • mlfld32fromschema は 32 ビット FML で使用する
mkviewfromschema/mkview32fromschema
入力として XML スキーマを取り、ビュー ファイルを生成する。このビュー ファイルは、viewc または viewc32 で処理できる。
  • mkviewfromschema は 16 ビット ビューで使用する
  • mkview32fromschema は、32 ビット ビューで使用する

 


Oracle SALT のユース ケース

以下の節では、Oracle SALT Web サービスの一般的なユース ケースについて説明します。

ユース ケース 1: Web サービスとしてのネイティブな Tuxedo サービスのエクスポーズ

ネイティブ Tuxedo サービスは、標準 Web サービス SOAP プロトコルを使用して Web サービスとしてエクスポーズできます。GWWS サーバは HTTP/S を介して SOAP 要求を受け付け、Tuxedo ATMI コールに変換します。SALT は、Tuxedo サービスのオープン標準 Web サービス インタフェースを説明する WSDL ドキュメントを生成します。Tuxedo サービス メタデータ リポジトリは Tuxedo サービス規約情報を定義するために使用します。これは「着信」ユース ケースです。

図 3 では、ジェネリック受信 Web サービス呼び出しを説明します。

図 3 Web サービス (受信) としての Tuxedo サービスのエクスポーズ

Web サービス (受信) としての Tuxedo サービスのエクスポーズ

ユース ケース 2: Tuxedo アプリケーションからの Web サービスの呼び出し

Web サービス アプリケーションは、Tuxedo ドメインへのインポート、GWWS サーバを介して Tuxedo サービスとしての公開、Tuxedo アプリケーションから呼び出しなどができます。SALT は、各 wsdl:operation を特定の Tuxedo サービスとして変換しマップします。GWWS サーバは、マップされたサービス (呼び出した SALT プロキシ サービス) を公開し、Tuxedo アプリケーションから Tuxedo ATMI リクエストを受け付けます。

Tuxedo サービス メタデータ リポジトリは、変換された Tuxedo サービス規約情報を格納するために使われ、Tuxedo プログラマがインポートされた SALT プロキシ サービスに必要な Tuxedo バッファ タイプを理解するのに役に立ちます。これは「発信」ユース ケースです。

図 4 では、ジェネリック発信 Web サービス呼び出しを説明します。

図 4 Tuxedo アプリケーション (発信) からの Web サービスの呼び出し

Tuxedo アプリケーション (発信) からの Web サービスの呼び出し

ユース ケース 3: SOAP プロトコルを使用した Tuxedo ドメインへの接続

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 の使用方法について説明します。

図 5 SOAP プロトコルを使用した 2 つの Tuxedo ドメインの接続

SOAP プロトコルを使用した 2 つの Tuxedo ドメインの接続

同じ Tuxedo ドメイン内に接続を作成するには、2 つの GWWS サーバを使用しないでください。図 6 を参照してください。また、単一 GWWS サーバは自身に接続できません。図 7 を参照してください。

いずれかのシナリオで、GWWS サーバは、既に他のアプリケーション サーバで公開した同じ Tuxedo サービスを公開します。これによって、dead-loop サービス ディスパッチになる可能性があります。

警告 : これらのシナリオを回避するには Oracle SALT アプリケーションを注意深く計画しコンフィグレーションする必要があります。
図 6 同じ Tuxedo ドメイン内での 2 つの GWWS サーバの接続

同じ Tuxedo ドメイン内での 2 つの GWWS サーバの接続

図 7 自身に接続する単一の GWWS サーバ

自身に接続する単一の GWWS サーバ

ユース ケース 4: SCA 間の通信

Oracle SALT が提供するインフラストラクチャを使用すると、SCA (Services Component Architecture) 仕様に準拠したコンポーネントを開発できます。これらのコンポーネントは、図 8 に示すように、ネイティブの ATMI バインディング、WorkStation プロトコルに基づくバインディング、または Web サービス バインディングを使用して通信することで、ネイティブに対話したり、Tuxedo フレームワークのパフォーマンスや高可用性を活用したりできます。

図 8 SCA 間の通信

SCA 間の通信

ユース ケース 5: 既存の Tuxedo サービスを呼び出す SCA コンポーネント

図 9 に示すように、新しく開発した SCA コンポーネントは、ATMI バインディングを使用して既存の Tuxedo ATMI サービスと対話できます。

図 9 既存の Tuxedo サービスを呼び出す SCA コンポーネント

既存の Tuxedo サービスを呼び出す SCA コンポーネント

ユース ケース 6: SCA コンポーネントを呼び出す Tuxedo ATMI

反対に、既存の Tuxedo クライアントは、図 10 に示すように、ATMI バインディングをエクスポーズすることで新しく開発した SCA コンポーネントと対話できます。

図 10 SCA コンポーネントを呼び出す Tuxedo ATMI

SCA コンポーネントを呼び出す Tuxedo ATMI

 


Oracle SALT による Web サービスのコンフィグレーション

通常、Oracle SALT を使用して Web サービスをコンフィグレーションする場合は次の手順に従います。

  1. 着信 Tuxedo サービスをコンフィグレーションします。
    1. Tuxedo サービス メタデータ リポジトリを使って Tuxedo アプリケーション サービスを定義します。
    2. 1 つまたは複数の Oracle SALT Web サービス定義ファイル (WSDF) を作成します。
  2. 発信 Web サービスをコンフィグレーションします。
    1. 外部 WSDL ドキュメントを、SALT Web サービス定義ファイル、Tuxedo サービス メタデータ リポジトリ定義ファイルおよび FML32 フィールド テーブル定義ファイルなどの Tuxedo コンポーネントに変換します。
    2. 自動的に生成するサービス名および FML32 フィールド名の潜在的なネーミング競合を解決します。
  3. tmloadrepos を使用してすべての Tuxedo サービス定義を Tuxedo サービス メタデータ リポジトリにロードします。
  4. 受信サービスと送信サービスの両方に Oracle SALT デプロイメント ファイルを作成します。
  5. Tuxedo の UBBCONFIG ファイルに TMMETADATA および GWWS サーバを追加します。
  6. Tuxedo アプリケーションを起動します。

Web サービス クライアント ツールキットを使用した Tuxedo サービスの呼び出し

  1. クライアント側ユーザは WSDL ドキュメント ファイルを GWWS サーバからダウンロードします。
  2. クライアント側ユーザは、WSDL ドキュメント ファイルと SOAP 開発キットを使って、クライアント サイドのスタブ コードを生成します。
  3. クライアントサイドのプログラムを生成します。
  4. クライアントを実行し、SOAP メッセージによって Web サービスを呼び出します。

Tuxedo プログラミング インタフェースを使用した Web サービスの呼び出し

  1. 作成した Tuxedo サービス メタデータ定義ファイルに応じて Tuxedo クライアントまたはサーバのプログラムを作成します。クライアント プログラムは、Tuxedo でサポートされているクライアント側の任意のプログラミング言語 (C/C++、Java、COBOL、.NET など) を使用して書くことができます。
  2. Tuxedo クライアントまたはサーバのプログラムをコンパイルしデプロイします。
  3. 外部 Web サービス アプリケーションを呼び出すには Tuxedo アプリケーションを実行します。

 


Oracle SALT でサポートされている標準仕様

Oracle SALT では、以下の標準仕様がサポートされています。

SOAP 標準

SCA および SDO 標準

Oracle SALT では、以下の SCA および SDO 標準がサポートされています。

 


具体的な情報に関する参照マニュアル

Oracle SALT の製品概要を理解した後、SALT 製品を使って Web サービスのインストール、コンフィグレーション、および実行方法の詳細について調べるには、以下のトピックを参照してください。


  ページの先頭       前  次