Oracle Joltの使用

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

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アーキテクチャの特徴は、その簡便さにあります。インターネット上で動く、堅牢でモジュール化され、スケーラブルな電子商業システムを構築、デプロイ、管理することができます。

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

 


Oracle 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サービス・リクエストにマップします。

図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リポジトリを呼び出すときに、その変更があったことを知ります。

図1-3は、JoltクライアントとOracle Tuxedoシステムとの間のアクティビティの流れを示しています。図中の番号は、表「Joltクラス・ライブラリの使用」のアクティビティの説明に対応しています。

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

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

表1-1で、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)で使用される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は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に処理させます。

図1-4は、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. このユーティリティの使用方法の詳細は、「Tuxedoサービスのバルク・ロード」を参照してください。

  7. Joltリポジトリ・エディタを使用してサービスを構成し定義します。
  8. Joltリポジトリ・エディタの構成方法とOracle TuxedoサービスをJoltで利用する方法の詳細は、「Joltリポジトリ・エディタの使用」を参照してください。

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

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

  先頭に戻る       前  次