Oracle Joltは、Oracle Tuxedoシステム用のJavaベースのインタフェースです。既存のOracle Tuxedoアプリケーションの機能が拡張されており、イントラネットやインターネットにも対応できます。Joltを使用すると、通常のWebブラウザからOracle TuxedoサービスにアクセスできるようにOracle Tuxedoアプリケーションを変更することができ、さらにこれを簡単に行うことができます。また、Joltは既存および新規のOracle TuxedoアプリケーションやOracle Tuxedoサービスを扱い、クライアント/サーバー間のイントラネット・トランザクションおよびインターネット・トランザクションを安全かつスケーラブルに処理します。さらに、Joltを使用して、既存のOracle Tuxedoサービスをリモートから呼び出すことができるクライアント・アプリケーションやアプレットを作成し、アプリケーション・メッセージング機能、コンポーネント管理、および分散トランザクション処理を実現することができます。
アプリケーションの開発は、Oracle TuxedoとJavaプログラミング言語を使用するJolt APIおよびJoltリポジトリ・エディタで行います。したがって、このマニュアルは、Oracle TuxedoとJavaのプログラミングに精通した読者を対象としています。このマニュアルは、システム管理者、ネットワーク管理者および開発者を対象としています。
Oracle Joltは、リモートのJavaクライアントがOracle Tuxedoシステムにアクセスするためのインタフェースを提供するJavaクラス・ライブラリとAPIです。Oracle Joltは、Oracle TuxedoサービスにアクセスするJavaベースのクライアント・プログラムを作成するための以下のコンポーネントで構成されています。
Oracle Joltにより、既存のOracle Tuxedoサービスを利用して、トランザクション環境を企業のイントラネットや世界中のインターネットにまで拡張できます。Joltアーキテクチャの特徴は、その簡便さにあります。インターネット上で動く、堅牢でモジュール化され、スケーラブルな電子商業システムを構築、デプロイ、管理することができます。
Oracle Joltは、JavaクライアントをOracle Tuxedoを使って構築されたアプリケーションに接続します。Oracle Tuxedoはモジュール化されたサービス一式を提供し、各サービスはアプリケーション全体に関連した特定の機能を提供します。
Oracle Joltのアーキテクチャは、Oracle Joltのアーキテクチャ全体の様子および関連するOracle Tuxedoコンポーネントとそれらの相互作用を表示したものです。
図1-1の例が示す簡単な銀行業務アプリケーションには、照会、引出し、振替え、預入れなどのサービスがあります。サービス・リクエストは通常、プログラム・ライブラリをコールするプログラムとしてCかCOBOLで記述されます。ネイティブなプログラムからライブラリにアクセスすることは、特定のCPUとオペレーティング・システムのリリースの組合せに対応するライブラリをインストールすることを意味しますが、これはJavaが、その設計上避けようとしているような状況です。Joltサーバーの実装はJoltクライアントのプロキシとして動作し、JoltクライアントにかわってOracle Tuxedoサービスを起動します。Oracle Joltサーバーは、Joltクライアントからリクエストを受け入れ、それらのリクエストをOracle Tuxedoサービス・リクエストにマップします。
次のようなJoltサーバー・コンポーネントは協調して、Joltクライアントのトランザクション処理リクエストをOracle Tuxedoアプリケーションに渡します。
図1-2は、JoltサーバーとJoltリポジトリのコンポーネントを示しています。
Oracle Joltクラス・ライブラリは一組のクラスであり、これをJavaアプリケーションやアプレットで使うことによって、Java対応のクライアントからOracle Tuxedoにサービスをリクエストできるようになります。これらのJoltクラス・オブジェクトにより、Oracle Tuxedoトランザクション・サービスにアクセスすることができます。
Joltクライアント・アプリケーションを開発するときに開発者が知っている必要があるのは、Joltが提供するクラスとJoltリポジトリによってエクスポートされるOracle Tuxedoサービスのみです。Joltは背後にあるアプリケーションの詳細を隠します。JoltとJoltクラス・ライブラリを使うために、背後で実行されているトランザクションのセマンティクスや、サービスを記述した言語、バッファ操作、サービスの所在、使用されるデータベース名などを知る必要はありません。
Jolt APIはJavaクラス・ライブラリであり、Javaが提供する利点を備えています。つまり、アプレットは動的にダウンロードされ、実行されている間のみ存在します。その結果、クライアント側でインストールしたり、管理したり、バージョンをコントロールする必要がありません。サービスが変更された場合、クライアント・アプリケーションは次にJoltリポジトリを呼び出すときに、その変更があったことを知ります。
図1-3は、JoltクライアントとOracle Tuxedoシステムとの間のアクティビティの流れを示しています。図中の番号は、表「Joltクラス・ライブラリの使用」のアクティビティの説明に対応しています。
表1-1で、Joltクラス・ライブラリを使用したOracle Tuxedoサービスへのアクセスに関与するアクティビティの流れを簡単に説明します(前出の図「Joltクラス・ライブラリを使用したOracle Tuxedoサービスへのアクセス」を参照)。
Oracle Joltクライアントを作成するためにJava対応の統合開発環境(IDE)で使用されるJoltBeans、Java Beansコンポーネントが、今回Oracle Joltに含まれるようになりました。JavaBeansと、Symantec Visual Caféなどの一般的なJavaBeans対応開発ツールを併せて使用すると、クライアント・アプリケーションをグラフィカルに作成できます。
Oracle JoltBeansには、Oracle JoltへのJavaBeans対応インタフェースが用意されています。これにより、コードを記述することなく、フル機能を備えたOracle Joltクライアントを開発することができます。開発環境のコンポーネント・パレットにあるJoltBeansを、作成中のJoltクライアント・アプリケーションのJavaフォーム(複数のフォームも可)へドラッグ・アンド・ドロップできます。Beansのプロパティを移入し、アプリケーションやアプレットの各種のBeans間のイベント・ソース・リスナーの関係をグラフィカルに設定できます。通常は開発ツールを使用してイベントのフックアップ・コードを生成しますが、フックアップを手動でコーディングすることもできます。JoltBeansを使ったクライアントの開発では、Oracle Joltリポジトリも使用します。Oracle Joltリポジトリを使用すると、利用可能なOracle Tuxedo機能に簡単にアクセスできます。
JoltはJoltサーバーとJoltクライアント間の通信すべてをOracle Joltプロトコルで処理します。JoltサーバーとJoltクライアント・アプレットやアプリケーション間の通信手順は以下のとおりです。
Joltリポジトリは、名前、番号、型、パラメータ・サイズ、許可などのOracle Tuxedoサービスに関する情報が定義されるデータベースです。リポジトリはOracle Tuxedoサービス定義の中心的データベースとして機能し、新規および既存のOracle Tuxedoアプリケーション・サービスをJoltクライアント・アプリケーションで利用できるようにします。Oracle Tuxedoアプリケーションには、ADD_CUSTOMER、GET_ACCOUNTBALANCE、CHANGE_LOCATION、GET_STATUSなどのサービスまたはサービス定義を数多く持たせることができます。これらの定義の全部またはごく一部だけをJoltリポジトリにエクスポートすることができます。開発者またはシステム管理者は、Joltリポジトリ・エディタを使って、これらのサービスをJoltクライアント・アプリケーションにエクスポートすることができます。
1つのクライアントにエクスポートされたすべてのリポジトリ・サービスは、すべてのクライアントにエクスポートされます。サービスのサブセットが1つのクライアントに必要で、他には必要でないようなケースは、Oracle Tuxedoに処理させます。
図1-4は、JoltリポジトリがOracle Tuxedoサービスを複数のJoltクライアント・アプリケーションに仲介する仕組みを示しています。(4種類のOracle Tuxedoサービスが示されていますが、WITHDRAWサービスはリポジトリ内に定義されておらず、またTRANSFERサービスは定義されていますがエクスポートされていません。)
Joltリポジトリ・エディタは、アプリケーション管理者が個々のOracle Tuxedoサービスにアクセスできるようにする、JavaのGUI管理ツールです。Joltリポジトリ・エディタを使って、サービスの定義、テストおよびJoltクライアントに対するエクスポートを行うことができます。
注意: | Joltリポジトリ・エディタは、Joltクライアント・アプリケーションに対するサービスだけを管理します。Oracle Tuxedoアプリケーション自体の変更を行うためには使用できません。 |
Joltリポジトリ・エディタによって、コードを大量に修正することなく、Oracle TuxedoサービスをJoltクライアントに拡張および配信することができます。また、Oracle Tuxedoサービスのパラメータを修正し、Oracle Tuxedoサービスをパッケージに論理的にグループ化し、作成されたパッケージからサービスを取り除くことができます。また、サービスをエクスポートすることで、ブラウザ上のJoltアプレットまたはJoltアプリケーションから利用できるようにすることができます。
Joltインターネット・リレーは、JoltクライアントからのメッセージをJoltサーバーにルーティングするコンポーネントです。Joltインターネット・リレーは、Joltリレー (JRLY)とJoltリレー・アダプタ (JRAD)から構成されます。JRLYは、JoltメッセージをJoltリレー・アダプタにルーティングするスタンドアロンのソフトウェア・コンポーネントです。JoltリレーはJoltクライアントと通信するための最低限の構成しか必要とせず、これによってOracle TuxedoはWebサーバーと同じマシン上で実行されなくてもよくなります。
JRADは、Oracle Tuxedoシステム・サーバーですが、これにはOracle Tuxedoサービスはまったく含まれていません。これをJSHおよびOracle Tuxedoとともに動かすためにはコマンド・ライン引数が必要です。JRADは、JRLYからクライアント・リクエストを受信し、このリクエストを適切なJSHに転送します。JSHからの応答はJRADに返され、JRADはJRLYにそのレスポンスを返します。1つのJoltインターネット・リレー(JRLY/JRADのペア)は複数のクライアントを同時に並行して処理します。
Joltクライアントを作成およびデプロイする主な手順を、以下の手順および「Joltアプリケーションの作成」で説明します。
Oracle Tuxedoのインストール方法とOracle Tuxedoアプリケーションの作成方法の詳細は、Oracle TuxedoシステムのインストールおよびOracle Tuxedoアプリケーションの設定を参照してください。
Oracle Tuxedoシステムのインストールを参照してください。
このユーティリティの使用方法の詳細は、「Tuxedoサービスのバルク・ロード」を参照してください。
Joltリポジトリ・エディタの構成方法とOracle TuxedoサービスをJoltで利用する方法の詳細は、「Joltリポジトリ・エディタの使用」を参照してください。
Joltクラス・ライブラリを使用してクライアント・アプリケーションをプログラミングする方法については、以下を参照してください。