製品概要

     前  次    新規ウィンドウで目次を開く    View as PDF - New Window  Get Adobe Reader - New Window
コンテンツはここから始まります

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サービスは、クライアント(エンド・ユーザー・アプリケーションや他の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サービスには、以下のような重要なメリットがあります。

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

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

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プリンシパルが表現されます。

有効化されると、実行時には次のように動作します。

 


SALTのリリース履歴

SALTは、Oracle Tuxedo製品ファミリの最新のアドオンです。2006年に開発されたSALTは、Oracle Tuxedoアプリケーションおよび標準Webサービス・アプリケーションを統合するシームレスOracle Tuxedoソリューションを提供するように設計されています。

リリース1.1

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

リリース2.0

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

リリース10g R3 (10.3)

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

リリース11g R1 (11.1.1.1.0)

SALTリリース11g R1 (11.1.1.1.0)では、次の機能が導入されました。

リリース11g R1 (11.1.1.2.0)

SALT 11gリリース11g R1 (11.1.1.2.0)では、次の機能が導入されました。

リリース11g R1 (11.1.1.2.2)

SALT 11gリリース11g R1 (11.1.1.2.2)では、次の機能が導入されました。

詳細は、『SALT管理ガイド』を参照してください。

リリース12c R1 (12.1.1)

SALT 12cリリース12c R1 (12.1.1)では、次の機能が導入されています。

注意: 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)には、以下の機能が追加されています。

 


SALTコンポーネント

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

SALTゲートウェイ(GWWS)

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

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つの方法があります。

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サービスの公開

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サービスの呼出し

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ドメインの接続

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

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

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

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

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

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

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

ユース・ケース4: SAMLシングル・サインオン

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

図8 SAMLシングル・サインオン

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サービスの構成
    1. Oracle Tuxedoサービス・メタデータ・リポジトリを使用してOracle Tuxedoアプリケーション・サービスを定義します。
    2. 1つまたは複数のSALT Webサービス定義ファイル(WSDF)を作成します。
  2. 発信Webサービスを構成します。
    1. 外部WSDLドキュメントを、SALT Webサービス定義ファイル、Oracle Tuxedoサービス・メタデータ・リポジトリ定義ファイルおよびFML32フィールド表定義ファイルなどのOracle Tuxedoコンポーネントに変換します。
    2. 自動的に生成するサービス名および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標準

シングル・サインオン標準

 


次のステップ

SALTの製品概要を理解した後、SALT製品を使用してWebサービスのインストール、構成および実行の詳細は、次のトピックを参照してください。


  先頭に戻る       前  次