Oracle Jolt

     前  次    新しいウィンドウで目次を開く     
ここから内容の開始

Oracle Jolt 入門

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 コンポーネント

Oracle Jolt は、リモートの Java クライアントが Oracle Tuxedo システムにアクセスするためのインタフェースを提供する Java クラス ライブラリと API です。Oracle Jolt は、Oracle Tuxedo サービスにアクセスする Java ベースのクライアント プログラムを作成するための以下のコンポーネントで構成されています。

 


主な特徴

Oracle Jolt により、既存の Oracle Tuxedo サービスを利用して、トランザクション環境を企業のイントラネットや世界中のインターネットにまで拡張できます。Jolt アーキテクチャの特徴は、その簡便さにあります。Jolt を使うと、インターネット上で動く、堅牢でモジュール化され、スケーラブルな電子商業システムを構築、デプロイ、管理することができます。

Oracle Jolt には以下のような特徴があります。

 


Oracle Jolt の仕組み

Oracle Jolt は、Java クライアントを Oracle Tuxedo を使って構築されたアプリケーションに接続します。Oracle Tuxedo はモジュール化されたサービス一式を提供し、各サービスはアプリケーション全体に関連した特定の機能を提供します。

Oracle Jolt のアーキテクチャは、Oracle Jolt のアーキテクチャ全体の様子および関連する Oracle Tuxedo コンポーネントとそれらの相互作用を表示したものです。

この図が示す簡単な銀行業務アプリケーションには、照会、引き出し、振り替え、預け入れなどのサービスがあります。サービス リクエストは通常、プログラム ライブラリを呼び出すプログラムとして C 言語か COBOL で記述されます。ネイティブなプログラムからライブラリにアクセスすることは、特定の CPU とオペレーティング システムのリリースの組み合わせに対応するライブラリをインストールすることを意味しますが、これは Java が、その設計上避けようとしているような状況です。Jolt サーバの実装は Jolt クライアントのプロキシとして動作し、Jolt クライアントに代わって Oracle Tuxedo サービスを呼び出します。Oracle Jolt サーバは、リクエストを Jolt クライアントから受信し、それらのリクエストを Oracle Tuxedo サービス リクエストにマップします。

図 1-1 Oracle Jolt のアーキテクチャ

Oracle Jolt のアーキテクチャ

Jolt サーバ

次のような Jolt サーバ コンポーネントは協調して、Jolt クライントのトランザクション処理リクエストを Oracle Tuxedo アプリケーションに渡します。

図 1-2 に Jolt サーバ コンポーネントと Jolt リポジトリ コンポーネントを示します。

図 1-2 Jolt サーバ コンポーネントと Jolt リポジトリ コンポーネント

Jolt サーバ コンポーネントと Jolt リポジトリ コンポーネント

Jolt クラス ライブラリ

Oracle Jolt クラス ライブラリは一組のクラスであり、これを Java アプリケーションやアプレットで使うことによって、Java 対応のクライアントから Oracle Tuxedo にサービスをリクエストできるようになります。これらの Jolt クラス オブジェクトにより、Oracle Tuxedo トランザクション サービスにアクセスすることができます。

Jolt クライアント アプリケーションを開発するときに開発者が知っていなければならないのは、Jolt が提供するクラスと Jolt リポジトリによってエクスポートされる Oracle Tuxedo サービスのみです。Jolt は背後にあるアプリケーションの詳細を隠します。Jolt と Jolt クラス ライブラリを使うために、背後で実行されているトランザクションの詳細や、サービスを記述した言語、バッファ操作、サービスの所在、使用されるデータベース名などを知る必要はありません

Jolt API は Java クラス ライブラリであり、Java が提供する利点を備えています。つまり、アプレットは動的にダウンロードされ、実行されている間のみ存在します。その結果、クライアント側でインストールしたり、管理したり、バージョンをコントロールする必要がありません。サービスが変更された場合、クライアント アプリケーションは次に Jolt リポジトリを呼び出すときに、その変更があったことを知ります。

次の図は、Jolt クライアントと Oracle Tuxedo システム間の処理の流れを示します。図中の番号は、「Jolt クラス ライブラリを使う」のアクションの説明に対応しています。

図 1-3 Jolt クラス ライブラリを使って Oracle Tuxedo サービスにアクセスする

Jolt クラス ライブラリを使って Oracle Tuxedo サービスにアクセスする

次の表で、「Jolt クラス ライブラリを使って Oracle Tuxedo サービスにアクセスする」に示した Jolt クラス ライブラリを使用して Oracle Tuxedo サービスにアクセスする処理の流れを簡単に説明します。

表 1-1 Jolt クラス ライブラリを使う
プロセス
手順
操作
接続

1

Java 対応の Web ブラウザが HTTP プロトコルを使用して HTML ページをダウンロードする。
...

2

Jolt アプレットがダウンロードされ、クライアントの Java 仮想マシンで実行される。
...

3

Java アプレットの最初の作業は、Jolt サーバに対する別の接続を確立すること。
リクエスト

4

Jolt クライアントはサービスのシグネチャ (名前、パラメータ、型など) を知っているので Jolt クラス定義に基づいてサービス リクエスト オブジェクトを構築し、メソッドを呼び出すことができる。
...

5

リクエストは Jolt サーバに送信され、そこで Java に基づくリクエストが Oracle Tuxedo リクエストに変換されて Oracle Tuxedo 環境に転送される。
応答

6

Oracle Tuxedo がリクエストを処理してその情報を Jolt サーバに返すと、変換し直されて Java アプレットに返される。

JoltBeans

Oracle Jolt クライアントを作成するために Java 対応の統合開発環境 (IDE : Integrated Development Environment) で使用される JoltBeans、Java Beans コンポーネントが、今回 Oracle Jolt に含まれるようになりました。JavaBeans を使用すると、クライアント アプリケーションを Symantec Visual Café などの JavaBeans 対応開発ツールのグラフィカル機能を使って作成することができます。

Oracle JoltBeans には、Oracle Jolt への JavaBeans 対応インタフェースが用意されています。これにより、コードを記述することなく、フル機能を備えた Oracle Jolt クライアントを開発することができます。開発環境のコンポーネント パレットにある JoltBeans を、作成中の Jolt クライアント アプリケーションの Java フォーム (複数のフォームも可) へドラッグ アンド ドロップできます。次に、Bean のプロパティを設定し、アプリケーションやアプレットの Bean に対してイベント ソースとイベント リスナの関係をグラフィカルに設定します。通常、開発ツールはイベント発生時に起動するコードを生成します。コードが生成されない場合は手動で生成します。JoltBeans を使ったクライアントの開発では、Oracle Jolt リポジトリも使用します。Oracle Jolt リポジトリを使用すると、利用可能な Oracle Tuxedo 機能に簡単にアクセスできます。

Jolt サーバと Jolt クライアントの通信

Jolt は Jolt サーバと Jolt クライアント間の通信すべてを Oracle Jolt プロトコルで処理します。Jolt サーバと Jolt クライアント アプレットやアプリケーション間の通信手順は以下のとおりです。

  1. Oracle Tuxedo サービス リクエストおよび関連するパラメータがメッセージ バッファにパッケージ化されて、ネットワーク経由で Jolt サーバに配信されます。
  2. Jolt サーバはメッセージの中からデータを入手して、数値形式の変換や文字セットの変換などの必要なデータ変換を行います。
  3. Jolt サーバは、Jolt クライアントが要求したアプリケーション サービスに対する適切なサービス要求を実行します。
  4. サービス リクエストが Oracle Tuxedo システムに入力されると、ほかの Oracle Tuxedo クライアントによって出されるリクエストとまったく同じように実行されます。
  5. その結果は Oracle Jolt 1.2 Oracle Jolt サーバに返され、そこで結果やエラー情報をメッセージにパッケージ化して Jolt クライアントに送ります。
  6. 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 に処理させます。

次の図は、Jolt リポジトリが Oracle Tuxedo サービスを複数の Jolt クライアント アプリケーションに仲介する仕組みを示しています。4 種類の Oracle Tuxedo サービスが示されていますが、WITHDRAW サービスはリポジトリに定義されておらず、また TRANSFER サービスは定義されていますがエクスポートされていません。

図 1-4 Jolt 経由で Oracle Tuxedo サービスを配信する

Jolt 経由で Oracle Tuxedo サービスを配信する

Jolt リポジトリ エディタ

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 インターネット リレーは、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 クライアントを作成して Oracle Tuxedo アプリケーションにアクセスする

Jolt クライアントを作成およびデプロイする主な手順を、以下の手順および「Jolt アプリケーションの作成」で説明します。

  1. Oracle Tuxedo システム アプリケーションを作成したことを確認します。
  2. Oracle Tuxedo のインストール方法と Oracle Tuxedo アプリケーションの作成方法の詳細については、『Oracle Tuxedo システムのインストール』および『Oracle Tuxedo アプリケーションの設定』を参照してください。

  3. Jolt をインストールします。
  4. 『Oracle Tuxedo システムのインストール』を参照してください。

  5. バルク ロード ユーティリティを使って、Tuxedo サービスを Jolt リポジトリ データベースにロードします。
  6. このユーティリティの使用方法の詳細については、「大量の Oracle Tuxedo サービス定義をロードする」を参照してください。

  7. Jolt リポジトリ エディタを使用してサービスをコンフィグレーションし定義します。
  8. Jolt リポジトリ エディタのコンフィグレーション方法と Oracle Tuxedo サービスを Jolt で利用する方法の詳細については、「Jolt リポジトリ エディタを使う」を参照してください。

  9. Jolt クラス ライブラリを使用してクライアント アプリケーションを作成します。
  10. Jolt クラス ライブラリを使用してクライアント アプリケーションをプログラミングする方法については、以下を参照して下さい。

  11. Jolt に基づくクライアント アプレットやアプリケーションを実行します。
  12. 図 1-5 Jolt アプリケーションの作成

  ページの先頭       前  次