製品の概要

     前  次    新規ウィンドウで目次を開く    PDFとして表示 - 新規ウィンドウ  Adobe Readerを取得 - 新規ウィンドウ
コンテンツはここから始まります

Oracle SALTの概要

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

 


Oracle SALTについて

Oracle Service Architecture Leveraging Tuxedo (SALT)は、Oracle TuxedoアプリケーションをSOA環境対応にするためのOracle Tuxedoのアドオン製品オプションです。Oracle SALTは、2つの主要コンポーネント(ネイティブWebサービス・スタックとSCAコンテナ)から構成されています。

Oracle SALTでは、外部Webサービス・アプリケーションからOracle TuxedoサービスをWebサービスとして呼び出したり、Oracle Tuxedoアプリケーションから外部Webサービスを呼び出したりできます。Oracle SALTの場合、これらの操作をコーディングする必要はありません。また、Oracle SALTはSCAコンテナを備えているため、これまでどおりOracle Tuxedoインフラストラクチャを活用しながら、ビジネス・ロジックに重点を置いて新しいSOAアプリケーションを開発できます。SCAコンテナを使用することで、既存のアプリケーション資産を効率的に再利用することも可能になります。

Oracle SALT Webサービスについて

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

Webサービスの基礎知識

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

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

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

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

Oracle SALTを使用する理由

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

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

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

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

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

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

Oracle SALT SCAコンテナについて

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

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

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

図2 SCAアプリケーション

SCAアプリケーション

Oracle SALT Webアプリケーション・サーバーについて

Oracle SALTは、HTTPサーバー・プラグイン(Apache/Oracle HTTP Serverの場合はmod_tuxedo、iPlanetの場合はtux_nsapi)を備えており、これによってHTTPリクエストをTuxedoサービスに転送します。次にOracle Tuxedoサービスからのリプライが、同じプラグインによってWebブラウザなどのHTTPクライアントに送信されて戻されます。

さらに、Oracle SALTはシステム・サーバー(WEBHNDLR)も備えており、これはPHP、PythonおよびRuby Webアプリケーション、つまりSymfony (PHP)、Django (Python)およびRails (Ruby)などを実行できます。

HTTPリクエストは、HTTPサーバー・プラグインに対応するCGIのような形式を使用して、通常のC/C++ Tuxedoサーバーで直接処理することもできます。

Oracle SALT Webアプリケーション・サーバーは次のようなサポートを提供します。

図3に、Oracle SALT Webアプリケーション・サーバー・アーキテクチャの高レベル・ビューを示します。

図3 Oracle SALT Webアプリケーション・サーバー・アーキテクチャ

Oracle SALT Webアプリケーション・サーバー・アーキテクチャ

 


Oracle SALTのリリース履歴

Oracle SALTは、Oracle Tuxedo製品ファミリの最新のアドオンです。2006年に開発されたOracle SALTは、Oracle Tuxedoアプリケーションおよび標準Webサービス・アプリケーションを統合するシームレスOracle Tuxedoソリューションを提供するように設計されています。SALTにSCAコンテナが追加されたことで、既存のOracle 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 R3(10.3)

Oracle SALT 10g リリース3(10.3)では、次の機能が追加されました。

リリース11g R1(11.1.1.1.0)

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

リリース11g R1(11.1.1.2.0)

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

リリース11g R1 (11.1.1.2.2)

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

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

 


Oracle SALTコンポーネント

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

Oracle SALTゲートウェイ(GWWS)

Oracle SALTのOracle Tuxedoシステム・サーバー(GWWS)は、HTTP/Sプロトコルを介して別のWebサービス・アプリケーションに接続します。GWWSサーバーはOracle Tuxedoゲートウェイ・プロセスとして機能するサーバーであり、一般のOracle Tuxedoシステム・サーバーと同様の方法で管理されます。GWWSサーバーでは双方向(着信または発信)の機能があります。GWWSサーバーでは、次の操作を行うことができます。

1つのOracle Tuxedoドメインに、GWWSの複数のインスタンスが含めることができます。複数のGWWSインスタンスに対して同一のOracle SALT構成を指定すると、それらのインスタンスに対して同一の機能が提供され、スループットとフェイルオーバー保護の機能を向上させることができます。また、別々の構成ファイルを指定した、用途の異なる複数のGWWSインスタンスをグループ化することもできます。

GWWSサーバーが起動する際、指定されたSALT構成ファイルとOracle Tuxedoサービス規約情報がOracle Tuxedoサービス・メタデータ・リポジトリからロードされます。

GWWSサーバーは、WSDLドキュメントおよびXMLスキーマ・ファイルのダウンロード用に単純なHTTP Webサーバーとしても機能します。

WSDLアシスタント・ユーティリティ

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

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

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

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

Oracle Tuxedo定義へのWSDLコンバータ

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

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

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

Oracle SALTコマンド・リファレンス・ガイドを参照してください。

Oracle SALT Webサーバー・プラグイン

Oracle SALT動的言語システム・サーバー(WEBHNDLR)は、Webサーバー・プラグイン(mod_tuxedoまたはtux_nsapi)によって送信されたリクエストを受け取り、PHP、PythonまたはRuby Webアプリケーションを使用してそのリクエストを処理します(Oracle Tuxedo固有のAPIは必要ありません)。

 


Oracle SALTのユース・ケース

以下の項では、Oracle 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サービス規約情報を定義するために使用します。これは「着信」ユース・ケースです。

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

図4 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バッファ・タイプを理解するのに役に立ちます。これは「発信」ユース・ケースです。

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

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

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

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

Oracle SALTでは、/TドメインのかわりにGWWSサーバーを使用して2つの異なるOracle Tuxedoドメインに接続できます。GWWSサーバーは、呼出しドメインでは、送信方向で動作し、受け取りドメインでは、受信方向で動作します。

受け取りOracle Tuxedoドメインは、Oracle Tuxedoサービス定義を呼出しOracle Tuxedoドメインに伝播する必要があります。つまり、呼出しドメインOracle Tuxedoサービス・メタデータ・リポジトリには、受け取りドメインで実行するOracle Tuxedoサービス定義ファイルが含まれている必要があります。

注: これは、手動で設定する必要があります。現在、Oracle Tuxedoサービス・メタデータ・リポジトリ・インフラストラクチャは、Oracle Tuxedoドメインの間で自動伝播を提供していません。

WSDLドキュメントは不要です。Oracle SALTでは、WSDLドキュメントを交換せずにSOAPプロトコルを使用してドメイン接続をするために2つのGWWSサーバーが連携して動作するよう、単純な構成が用意されています。

図6では、2つのドメインを接続するためのOracle SALTの使用方法について説明します。

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

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

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

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

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

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

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

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

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

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

図9 SCA間の通信

SCA間の通信

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

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

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

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

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

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

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

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

ユース・ケース7: Ruby Webアプリケーション

Railsを使用して作成されたRuby Webアプリケーションは、コードを変更せずにTuxedo内で直接実行できます。

ユース・ケース8: Python Webアプリケーション

Djangoを使用して作成されたPython Webアプリケーションは、コードを変更せずにTuxedo内で直接実行できます。

ユース・ケース9: PHP Webアプリケーション

Symfonyを使用して作成されたPHP Webアプリケーションは、コードを変更せずにTuxedo内で直接実行できます。

 


Oracle SALTによるWebサービスの構成

通常、Oracle SALTを使用してWebサービスを構成する場合は、次の手順に従います。

  1. 着信Oracle Tuxedoサービスの構成
    1. Oracle Tuxedoサービス・メタデータ・リポジトリを使用してOracle Tuxedoアプリケーション・サービスを定義します。
    2. 1つまたは複数のOracle SALT Webサービス定義ファイル(WSDF)を作成します。
  2. 発信Webサービスを構成します。
    1. 外部WSDLドキュメントを、SALT Webサービス定義ファイル、Oracle Tuxedoサービス・メタデータ・リポジトリ定義ファイルおよびFML32フィールド表定義ファイルなどのOracle Tuxedoコンポーネントに変換します。
    2. 自動的に生成するサービス名およびFML32フィールド名の潜在的なネーミング競合を解決します。
  3. tmloadreposを使用して、すべてのOracle Tuxedoサービス定義をOracle Tuxedoサービス・メタデータ・リポジトリにロードします。
  4. 受信サービスと送信サービスの両方にOracle 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アプリケーションを実行します。

 


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

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

SOAP標準

SCAおよびSDO標準

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

 


次のステップ

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


  先頭に戻る       前  次