Oracle SALTには、Oracle TuxedoアプリケーションとWebサービス・アプリケーション間の双方向接続が用意されています。追加のプログラミング作業を行うことなく、既存のOracle Tuxedoサービスを簡単にWebサービスとして公開できます。Oracle SALTは、Oracle Tuxedo Webサービス規約を説明するWSDLファイルを生成するので、いずれかの標準なWebサービス・クライアントのツールキットを使用してOracle Tuxedoサービスにアクセスすることができます。
Webサービス・アプリケーション(WSDLドキュメントを使用して記述される)は、標準的なOracle Tuxedoサービスと同様にインポートが可能で、Oracle Tuxedo ATMIを使用して各種のOracle Tuxedoアプリケーション(Oracle Tuxedo ATMIクライアント、ATMIサーバー、Joltクライアント、COBOLクライアント、.NETラッパー・クライアントなど)から呼び出すことができます。
Oracle SALTのプロキシ・サービスは、Oracle SALTゲートウェイ、GWWSによって公開されたOracle Tuxedoサービス・エントリです。プロキシ・サービスは、Webサービス・アプリケーションのWSDLファイルから変換します。WSDLファイルの各wsdl:operation
オブジェクトが1つのSALTのプロキシ・サービスとしてマップされます。
Oracle SALTのプロキシ・サービスは、サービス・メタデータ・リポジトリのサービス定義構文を使用して定義します。これらのサービス定義は、サービス・メタデータ・リポジトリにロードする必要があります。Oracle Tuxedoアプリケーションからプロキシ・サービスを呼び出すには、サービス規約の説明を取得するためにOracle Tuxedoサービス・メタデータ・リポジトリを参照する必要があります。
詳細は、「WebサービスのOracle Tuxedo ATMIプログラミング」を参照してください。
Oracle TuxedoアプリケーションとWebサービス・アプリケーションの統合をサポートするため、Oracle SALTゲートウェイでSOAPメッセージをOracle Tuxedoタイプ・バッファまたは逆に変換します。 SOAPメッセージとOracle Tuxedoタイプ・バッファ間のメッセージ変換は、SALTのあらかじめ定義された基本のデータ型のマッピング・ルールの対象になります。
Oracle TuxedoサービスをWebサービスとして公開する際、Tuxedo-to-XMLデータ型のマッピング・ルールのセットを定義します。メッセージ変換の処理は、「着信メッセージ変換」と呼び、Tuxedo-to-XMLデータ型のマッピング・ルールに準拠します。
外部WebサービスをSALTのプロキシ・サービスとしてインポートする際、XML-to-Tuxedoデータ型のマッピング・ルールのセットを定義します。 メッセージ変換の処理は、「発信メッセージ変換」と呼び、XML-to-Tuxedoデータ型のマッピング・ルールに準拠します。
SALTのメッセージ変換とデータ型のマッピングの詳細は、「Oracle SALTのメッセージ変換について」を参照してください。
表1-1には、Oracle SALTプログラミング作業のクイック索引を示します。最初にプログラミング作業を検索して、詳細な説明について対応するリンクをクリックできます。
SCAコンポーネントは、ATMIバインディングを使用してOracle Tuxedoインフラストラクチャ上で実行します。これにより、SOA環境において高い出力性能、可用性、スケーラビリティをバランスよく兼ね備えたアプリケーションを開発できます。Oracle Tuxedo SCAコンテナは、Tuscany SCAネイティブおよびTuscany SDO C++ ((アセンブリ: 0.96、Client and Implementation Model 0.95)およびSDO (2.01))上にビルドします。
ATMIバインディングを実装することによって、SCAコンポーネント間だけでなく、SCAコンポーネントとOracle Tuxedoプログラム(クライアントとサーバー)の間のネイティブなOracle Tuxedo通信も可能になります。実行時のチェックは、ATMIバインディングで指定されたヘッダー(tuxsca.h
)に定義された例外内にカプセル化されます。この例外(ATMIBindingException
)は、ServiceRuntimeException
から派生したもので、スロー時は呼出し元に戻されます。したがって、ATMIバインディングは引き続きServiceRuntimeException
を捕捉できますが、そのことはプログラムからは認識されません。
SCAのデプロイメントは、以下のビルド・コマンドで処理します。
SCAクライアントは、Oracle Tuxedo ATMIクライアントと同様に、スタンドアロンまたはサーバーの構成要素となることができます。コンポーネントは最初にbuildscacomponent
を使用して構築されてから、buildscaserver
を使用してOracle Tuxedo対応可能になります。SCA管理は、一般的なOracle Tuxedoコマンド(例: tmadmin
)と、SCA固有のタスクについてはscaadmin
コマンドを使用して実行されます。