5 Webアクセス可能なOracle Tuxedoサービス
以下の項では、Webベースのアプリケーションで利用可能なOracle Tuxedoサービスを作成する様々な方法について説明します。
5.1 Webアクセス可能とは
「Webアクセス可能」という言葉は、WebベースのアプリケーションがOracle Tuxedoアプリケーション・サービスを利用できることを意味しています。次の図は、WebクライアントからOracle Tuxedoアプリケーション・サービスへのアクセスを示しています。
図5-1 WebクライアントからOracle Tuxedoアプリケーション・サービスへのアクセス

Webベースのクライアント・アプリケーションには、単純なWebクライアント(エンド・ユーザーにハイパーテキスト・マークアップ言語(HTML)ページを表示するWebブラウザなど)や、Webサービスの標準のリクエストを開始できるSOAPエンジンが含まれたWebクライアントがあります。
Webアプリケーション・サーバーは、Webサーバーか、またはWebサーバー兼アプリケーション・サーバーです。Webサーバーの標準的な定義は、「ディスクからファイルをロードし、それをネットワーク上のユーザーのWebブラウザに提供することによって、静的なコンテンツをWebブラウザに提供するサーバー・ソフトウェア・システム」です。このすべての交換処理は、Hypertext Transfer Protocol (HTTP)を使用して対話し合うブラウザとサーバーによって調停されます。アプリケーション・サーバーの標準的な定義は、「データベースとエンド・ユーザー間の広大な計算領域を占有し、多くの場合、両者を接続するサーバー・ソフトウェア・システム」です。アプリケーション・サーバーは、ミドルウェアの一種とされることもあります。Oracle Tuxedoシステムそのものは、基本的にはトランザクション処理アプリケーション・サーバーとオブジェクト・アプリケーション・サーバーという2種類の高パフォーマンス・アプリケーション・サーバーです。
Webアプリケーション・サーバーは、Webクライアントに対して、ハイパーテキスト・マークアップ言語(HTML)ページとeXtensible Markup Language (XML)ページという2種類のページ(ドキュメント)を提供します。
5.2 TuxedoサービスのWebサービスとしての公開
TuxedoサービスをWebサービスとして公開すると、コードを変更せずにアプリケーションを外部に公開できます。また、アプリケーションを小さなモジュール・コンポーネントまたは共有サービスに分割し、それらを分散Webベース・アプリケーションのコンポーネント間で共有し、それらのアプリケーションのコンポーネントとして使用できます。Oracleでは、TuxedoサービスをWebサービスとして公開する方法として、Tuxedoのネイティブ・ソリューションと、Tuxedoと他のTuxedo製品を統合したソリューションの両方を用意しています。
5.2.1 Webサービス標準について
Webサービスの技術とプログラム・インタフェースは、World Wide Web Consortium (W3C)によって開発されています。Webサービスは、HTTPとXML、および次に示す比較的新しいXMLベースのインターネット技術をベースにしています。
- Webサービス記述言語
(1) Webサービスによって提供されるメソッド、(2) Webサービスの入力および出力パラメータ、および(3) Webサービスへの接続手順を記述するためのXMLベースの言語です。WSDLは、クライアントへのWebサービスを記述して呼び出せるようにするための標準化された方法です。
- Simple Object Access Protocol
プラットフォームに依存しない方法でサービス、オブジェクト、およびサーバーにアクセスするためのXML/HTTPベースのプロトコルです。SOAPは、Webサービスのユーザーとプロバイダ間でデータとWebサービス呼出しを転送するための標準化された方法です。
- Universal Description, Discovery, and Integration
企業とその企業が提供するサービスに関する記述が共通のXMLフォーマットで格納されるリポジトリです。UDDIは、クライアント・アプリケーションが登録済Webサービスを検索し、Webサービスをインターネット・サーバー上で登録するための標準化された方法です。
Webサービスは、HTTPによって転送されるXMLメッセージを通じてクライアント(エンド・ユーザー・アプリケーションと他のWebサービス)と通信します。Webサービスは異なるコンピュータ上に存在でき、様々な技術によって実装できますが、標準のインターネット・プロトコルでパッケージ化およびトランスポートされるので、インターネット上のどのユーザーからでも容易にアクセスできます。Webサービス技術については、http://www.w3.org/2002/wsの W3C - Web Services Activity を参照してください。
5.3 Oracle SALTを介したTuxedoサービスのWebサービスとしての公開
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は、ネイティブTuxedo Webサービスの統合ソリューションです。Oracle SALTは主要なWebサービス標準であるSOAP 1.1、SOAP 1.2、およびWSDL 1.1に準拠しています。Oracle SALTを使用すると、Tuxedoアプリケーションを簡単にWebサービスとして公開できます。次の図に、Tuxedoアプリケーション・サービスをWebサービスとして公開するためのOracle TuxedoネイティブWebサービス・ソリューションを構成している、主要なソフトウェア・コンポーネントを示します。
図5-2 Oracle SALTを介したTuxedoアプリケーション・サービスのWebサービスとしての公開

Oracle SALTはTuxedo ATMIサービスをWebサービスとして公開するための推奨製品です。TuxedoとWebサービスの統合コストを軽減し、Tuxedoサービスにアクセスするための他のソリューションに見られるような変換プロセスを減らします。Tuxedoアプリケーションと外部のWebサービス・アプリケーションとのシームレスな接続を可能にします。
5.3.1 SALTゲートウェイ・サーバー — GWWS
Oracle SALTが提供するTuxedoシステム・サーバー(GWWS)は、SOAP over HTTP/Sプロトコルを介して他のWebサービス・アプリケーションと接続します。GWWSサーバーはTuxedoゲートウェイ・プロセスとして機能し、通常のTuxedoシステム・サーバーと同じ方法で管理されます。GWWSサーバーでは双方向(着信または発信)の機能があります。GWWSサーバーは:
- Webサービス・アプリケーションからSOAPリクエストを受け取り、Tuxedoサービスに対してTuxedoネイティブ呼出しを発行します。
- Tuxedo ATMIリクエストを受け取り、Webサービス・アプリケーションに対してSOAP呼出しを発行します。
5.4 他のOracle製品を介したTuxedoサービスのWebサービスとしての公開
この項には次の情報が含まれます:
5.4.1 Oracle WebLogic Serverを介して
次の図に、Tuxedoアプリケーション・サービスをWebサービスとして公開するOracle Tuxedo-WebLogic統合ソリューションを構成している、主要なソフトウェア・コンポーネントを示します。
図5-3 Oracle WebLogic Serverを介したTuxedoアプリケーション・サービスのWebサービスとしての公開

Javaおよび非Javaクライアント・アプリケーション(Microsoft .Net Frameworkクライアントなど)は、WebLogic Serverを通じてWebサービスとして公開されているTuxedoサービスを呼び出すことができます。クライアント・アプリケーションは、呼び出すWebサービスを記述したSOAPメッセージを作成し、必要なすべてのデータをSOAP本文またはSOAP添付に組み込みます。次に、クライアントはSOAPメッセージをHTTPでWebLogic Serverに送信し、WebLogic Serverは次のタスクを行うことによってWebサービスを実行します。
- WTCゲートウェイを通じて関連するすべてのTuxedoサービスを呼び出します。
- TuxedoのレスポンスをSOAPメッセージに組み込みます。
- SOAPメッセージをHTTPでクライアントに返信します。
5.4.2 Oracle AquaLogic Service Busを介して
次の図に、Tuxedoアプリケーション・サービスをWebサービスとして公開するOracle Tuxedo-AquaLogic Service Bus統合ソリューションを構成している、主要なソフトウェア・コンポーネントを示します。
図5-4 Oracle AquaLogic Service Busを介したTuxedoアプリケーション・サービスのWebサービスとしての公開

AquaLogic Service Busは、異種サービス間の対話を接続、管理、仲介する、エンタープライズ・クラスのサービス・バスです。SOAPクライアント・アプリケーションとTuxedo ATMIサービスの間を接続するには、AquaLogicアーキテクチャに基づいて、SOAP接続コンポーネントとTuxedoドメイン接続コンポーネントの両方をデプロイする必要があります。
5.5 Webアプリケーション・サーバーを使用したTuxedoサービスへのアクセス
Webサービスとして利用できるようにするほかに、Oracle Tuxedoアプリケーション・サービスを、Webアプリケーション・サーバーを通じてWebクライアント・プログラムから利用することもできます。Webアプリケーション・サーバーに組み込まれたアプリケーションは、以下のいずれかの方法でTuxedo ATMIサービスにアクセスできます。
5.6 Oracle JoltによってTuxedoサービスをWebアクセス可能にする
Oracle Joltは、WebブラウザとスタンドアロンJavaクライアントからTuxedo ATMIサービスへのインターネット・アクセスを提供します。Joltを使用すると、Javaプログラマは既存および新規のTuxedoアプリケーションを呼び出すクライアント・アプレットおよびアプリケーションをビルドできます。これにより、クライアントとサーバー間で安全かつスケーラブルなイントラネット/インターネット・トランザクションが可能になります。また、HTTPサーブレットを使用してHTTPリクエストに応じてサーバー側Javaタスクを実行することもできます。こうしたJolt接続により、単純なWebクライアントであっても、汎用サーブレットをサポートするWebアプリケーションを通じてTuxedoアプリケーション・サーバーに接続できるようになります。
5.6.1 Joltクラス・ライブラリ
Joltクラス・ライブラリは、Oracle Tuxedo ATMIサービスにアクセスするためのオブジェクト指向Java言語クラス・セットを提供します。クラス・ライブラリには、Jolt APIを実装するクラス・ファイルがあります。
5.6.2 Joltクライアント・パーソナリティ
JoltアプレットとJoltスタンドアロン・アプリケーションに加え、Oracle Joltは次の2種類のJoltクライアント・パーソナリティを単純なWebクライアント向けにサポートしています。
- JSE Connectivity for Oracle Tuxedo
- WebLogic Connectivity for Oracle Tuxedo
5.6.2.1 JSE Connectivity for Oracle Tuxedo
このJoltクライアント・パーソナリティは、Java Webアプリケーション・サーバー環境(Oracle WebLogic Serverなど)で動作するJolt HTTPサーブレットです。このサーブレットを通じて、単純なWebブラウザ・クライアントはTuxedo ATMIサービスを呼び出すことができます。この方法でTuxedo ATMIサービスにアクセスするには、Webアプリケーション・サーバーが動作するマシンにJoltクラス・パッケージjolt.jarおよびjoltjse.jarがインストールされている必要があります。
図5-5 Jolt JSE Connectivityを使用したTuxedoへのWebアクセス

Jolt HTTPサーブレットは、Joltセッション・プール・クラスを使用して、単純なブラウザ・クライアントに代わってTuxedoサービスを起動します。このため、このサーブレットはWebサーバー上のすべてのJoltトランザクションを処理します。これにより、単純なブラウザ・クライアントは直接JoltサーバーとOracle Tuxedoに接続せずにOracle Tuxedoサービスを呼び出すことができます。
5.6.2.2 WebLogic Connectivity for Oracle Tuxedo
このJoltクライアント・パーソナリティは、Jolt JSE ConnectivityのOracle WebLogic Server用バージョンです。この方法でTuxedo ATMIサービスにアクセスするには、Oracle WebLogic Serverが動作するマシンにJoltクラス・パッケージjolt.jar、joltjse.jar、およびjoltwls.jarがインストールされている必要があります。
図5-6 Jolt WebLogic Connectivityを使用したTuxedoへのWebアクセス

ノート:
Joltクライアント・パーソナリティ、WebLogic Connectivity for Oracle Tuxedoは、Oracle Jolt for Oracle WebLogic Serverとも呼ばれています。5.6.3 Joltサーバー
Joltサーバー実装は、Joltクライアントのプロキシとして動作し、クライアントにかわってOracle Tuxedoサービスを呼び出します。Joltサーバーは、Joltクライアントからのリクエストを受け付け、それらをOracle Tuxedoサービス・リクエストにマップします。
5.6.4 Joltのドキュメント
Joltと連携するためのJoltサーバーとOracle Tuxedoサーバーの構成の詳細は、Oracle Tuxedo用のサーブレット接続性の使用を参照してください。
一般的なクライアントとWebサーバーのデプロイメントの考慮事項は、Oracle Joltの紹介を参照してください。
5.7 Oracle WebLogic ServerによってTuxedoサービスをWebアクセス可能にする
Oracle WebLogic Serverを通じたOracle TuxedoサービスへのWebアクセスは、Oracle WebLogic Serverリリース5.1から実現されています。このアクセス機能の中心は、次のOracle JoltソフトウェアとOracle WebLogic Serverゲートウェイです。
- Oracle Jolt for Oracle WebLogic Server (Joltクライアント・パーソナリティ、WebLogic Connectivity for Oracle Tuxedoとも呼ばれる)—WebLogic Server 5.1以上のEJB、JavaServer Pages (JSP)、サーブレット、およびその他のWebLogic Serverアプリケーション・サーバーがWebLogic Server Webブラウザ・クライアントにかわってTuxedo ATMIサービスを呼び出すために使用します。
- WebLogic Tuxedo Connector (WTC)ゲートウェイ: WebLogic Server 6.1以上のアプリケーション(たとえば、サーブレットまたはその他のWebLogic Serverアプリケーション)が、WebLogic Server Webブラウザ・クライアントにかわってTuxedo ATMIサービスまたはTuxedo CORBA C++オブジェクトを呼び出すために使用します。
図5-7 JoltまたはWTCを使用したTuxedoへのWebアクセス

WTCに加え、WebLogic Server (WLS)からWLS ORBおよびTuxedo ISLを介したIIOP接続も利用できます。JoltまたはWTCを使用してOracle TuxedoとOracle WebLogic Serverの相互運用性を実現する方法の詳細は、Oracle WebLogic Serverとの相互運用性を参照してください。