bea ホーム | 製品 | dev2dev | support | askBEA
BEA Logo Tuxedo
 ドキュメントのダウンロード   サイトマップ   用語集 
検索
0

Jolt

 Previous Next Contents Index View as PDF  

JoltBeans を使う

BEA Jolt には、以前アドオンとして用意されていた JoltBeans が組み込まれています。JoltBeans は JavaBeans と同様、簡単に使用できます。JoltBeans は、Jolt クライアントを作成するために Java の開発環境で使用される JavaBeans コンポーネントです。クライアント・アプリケーションは、WebGain Visual Caf などの Java 対応開発ツールのグラフィカル機能を使って作成することができます。JoltBeans には、BEA Jolt 用の JavaBeans 対応インターフェイスが用意されています。これにより、コードを記述せずに、フル機能を備えた BEA Jolt クライアントを開発することができます。

ここでは、次の内容について説明します。

 


Jolt Beans の概要

JoltBeans は、2 種類の Java Beans のセットで構成されています。1 つは Jolt API の Beans バージョンである JoltBeans ツールキットです。2 つ目は、Jolt 対応 AWT Beans と Jolt 対応 Swing Beans を含む GUI Bean です。これらの GUI コンポーネントは、Java AWT 標準コンポーネントおよび Swing 標準コンポーネントを Jolt 対応にしたものです。これらの Jolt 対応 GUI コンポーネントを使用すると、最小限のコーディング、またはコーディングをしなくても Jolt クライアント GUI を作成できます。

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

注記 現在、BEA 社が認可する JoltBeans 用の統合開発環境は、WebGain Visual Caf 3.0 だけです。ただし、JoltBeans は、別の Java 開発環境 (Visual Age など) とも互換性があります。

JoltBeans ツールキットを使用する場合は、JavaBeans 対応の統合開発環境 (IDE: integrated development environment) に慣れておくことをお勧めします。この章の手順説明では、WebGain 社の Visual Caf&233; 3.0 の統合至使用して、アプレットのサンプルを作成する方法を示しています。

JoltBeans の用語

JoltBeans を使用する際には、以下の用語を参照してください。

JavaBeans

移植性があり、プラットフォームに依存しない再利用可能なソフトウェア・コンポーネント。開発環境にグラフィカルに表示されます。

JoltBeans

JoltBeans ツールキットおよび Jolt 対応 GUI Bean の 2 種類の Java Beans のセット。

カスタム GUI コンポーネント

JoltBeans と通信する Java GUI クラス。通信は、JoltBeans が提供する JavaBeans のイベント、メソッド、またはプロパティを介して行われます。

Jolt 対応 Bean

JoltInputEvents のソース、JoltOutputEvents のリスナ、またはその両方である Bean。Jolt 対応 Beans は、Bean のガイドラインに従った、カスタム GUI コンポーネントのサブセットです。

Jolt 対応 GUI Beans

2 種類の GUI コンポーネントのパッケージ AWT (Abstract Window Toolkit) および Swing。どちらにも JoltList、JoltCheckBox、JoltTextField、JoltLabel、および JoltChoice コンポーネントがあります。

JoltBeans ツールキット

BEA Jolt 用のJavaBeans 対応インターフェイス。JoltServiceBean、JoltSessionBean、JoltUserEventBean が含まれます。

関連付け

ある Bean を別の Bean からのイベントのリスナとして登録し、Bean どうしを関連付けること。

JoltBeans を Java 開発環境に追加する

JoltBeans を使用する前には、Java の開発環境に JoltBeans を追加する必要があります。

CLASSPATH の設定方法は、使用している開発環境によって異なります。

JoltBeans には、.jar という拡張子のファイル群が用意されており、この中にはすべての JoltBeans が含まれています。これらの .jar ファイルをお使いの Java 開発環境に追加し、JoltBeans を Java ツールのコンポーネント・ライブラリで使えるようにすることができます。たとえば、WebGain 社の Visual Caf を使う場合は、CLASSPATHを指定することにより、[Component Library] に ..jar ファイルを表示することができます。開発環境では、.jar ファイルの CLASSPATHの設定は一度だけです。.jar ファイルを開発環境の CLASSPATH に設定したら、[Component Library] に JoltBeans を追加できます。これで、Jolt クライアント・アプリケーションを開発する Java フォームに JoltBean を直接ドラッグアンドドロップすることができます。

Java 開発環境の CLASSPATH を設定するには、お使いの開発環境の製品マニュアルに掲載されている説明に従ってください。お使いの統合開発環境から、jolt.jar ファイルが置かれているディレクトリに移動します。jolt.jar ファイルは、通常 %TUXDIR%¥udatadoj¥jolt というディレクトリに格納されています。jolt.jar ファイルには、Jolt の主要なクラスが含まれています。これらのクラスが含まれるように CLASSPATH を設定してください。JoltBean .jar ファイルを CLASSPATH に追加する必要はありません。お使いの統合開発環境にコンポーネントとして追加するだけで、これらのファイルを使用することができます。

Jolt のクラスが含まれるように CLASSPATH を設定すると、お使いの開発環境のコンポーネント・ライブラリに JoltBeans を追加することができます。コンポーネント・ライブラリの設定方法については、お使いの開発環境のマニュアルを参照してください。

JoltBeans をコンポーネント・ライブラリに追加する準備ができたら、JoltBeans の開発用のバージョンのみを追加してください。詳細については、開発用およびランタイム用の JoltBeansを参照してください。

開発用およびランタイム用の JoltBeans

.jar ファイルに含まれる JoltBeans には、開発用とランタイム用の 2 つのバージョンがあります。開発バージョンの JoltBean の名前には、拡張子として Dev が付きます。一方、各クラスのランタイム・バージョンには、拡張子として Rt が付きます。たとえば、JoltBean クラスの場合、開発バージョンは JoltBeanDev、ランタイム・バージョンは JoltBeanRt になります。

開発時には、開発バージョンの JoltBeans を使用してください。開発バージョンの JoltBeans には、IDE でグラフィカルに開発を行うための別のプロパティが用意されています。たとえば、JoltBeans のグラフィックス用プロパティ (bean information) を使うと、開発環境で Bean をグラフィカルなアイコンで表示することができます。

一方、ランタイム・バージョンの JoltBeans には、このようなプロパティはありません。ランタイムでは、開発用のプロパティは必要ないためです。ランタイム・バージョンの Bean は、開発バージョンの JoltBeans の簡易版です。

お使いの開発環境でアプリケーションをコンパイルする場合は、開発バージョンの Bean が使用されます。ただし、使用中の開発環境以外のコマンド行からコンパイルを実行する場合は、CLASSPATHを設定することをお勧めします。これで、ランタイム・バージョンの Bean によってアプリケーションがコンパイルされます。

 


JoltBeans の基本的な使用方法

JoltBeans は、次のような基本的な手順で使用します。

  1. お使いの開発環境のコンポーネント・ライブラリに開発用バージョンの JoltBeans を追加します。JoltBeans を Java 開発環境に追加するを参照してください。

  2. まず、Jolt クライアント・アプリケーションまたはアプレット用に、お使いの開発環境の JoltBeans コンポーネント・パレットから Java フォーム・デザイナへ Bean をドラッグします。

  3. 次に、Bean のプロパティを設定し、アプリケーションやアプレットの Bean に対してイベント・ソースとイベント・リスナの関係を設定します。つまり、Bean の「関連付け」を行います。開発ツールは、イベント発生時に起動するコードを生成します。

  4. イベント・コールバックにアプリケーション・ロジックを追加します。

以上の手順は、後の節で詳しく説明します。JoltBeans の使い方に関する節では、例を示しながらこれらの手順を説明します。

 


JavaBeans イベントと BEA Tuxedo イベント

JavaBeans はイベントを介して通信します。BEA Tuxedo システムと JavaBeans 環境では、イベントの概念が異なります。BEA Tuxedo アプリケーションでは、イベントはアプリケーションのある部分で引き起こされ、同一アプリケーションのほかの部分に通知されます。JoltBeans イベントは複数の Bean 間で通信するイベントです。

JoltBeans で BEA Tuxedo のイベント・サブスクリプションとイベント通知を使用する

BEA Tuxedo は、仲介イベント通知と任意通知型イベント通知をサポートします。Jolt は、Jolt クライアントが BEA Tuxedo イベントを受信するメカニズムを備えています。JoltBeans も同様の機能を備えています。

注記 BEA Tuxedo のイベント・サブスクリプションとイベント通知は JavaBeans のイベントとは異なります。

以下の手順は、BEA Tuxedo の非同期通知機能が JoltBeans のアプリケーションでどのように使用されるかを示しています。

  1. setEventName()setFilter() メソッドと setFilter() メソッドを使用して、サブスクライブしたい BEA Tuxedo イベントを指定します。

  2. イベント通知を受信するコンポーネントは、自身を JoltSessionBean に対する JoltOutputListener として登録します。

  3. JoltUserEventBean で subscribe() メソッドが呼び出されます。

  4. 実際に BEA Tuxedo イベント通知が到着すると、JoltSessionBean は serviceReturned() を呼び出し、リスナに JoltOutputEvent を送信します。JoltOutputEvent オブジェクトには BEA Tuxedo イベントのデータが含まれています。

クライアントがイベントの受信を必要としなくなったら、JoltUserEventBean で unsubscribe() を呼び出します。

注記 クライアントが任意通知型イベントだけを必要とする場合は、setEventName ("¥¥.UNSOLMSG") を使用します。これはプロパティ・シートを使用して設定できます。EventNameFilter は、JoltUserEventBean のプロパティです。

 


JoltBeans における JavaBeans イベント

JoltBeans を使用して作成された Jolt クライアントのアプレットやアプリケーションは、通常 Jolt 対応 GUI Beans (JoltTextField や JoltList) と JoltBeans (JoltServiceBean や JoltSessionBean) で構成されています。Bean は主に JavaBeans イベントを介して通信します。

Jolt 対応 Bean は、JoltInputEvent のソース、JoltOutputEvent のリスナ、またはその両方です。JoltServiceBean は、JoltOutputEvent のソースと JoltInputEvent のリスナです。

Jolt 対応 GUI Beans はプロパティとメソッドをエクスポーズしているため、それを BEA Tuxedo サービス (JoltServiceBean として表される) のパラメータに直接リンクさせることができます。Jolt 対応 Beans は、内容が変更された場合、JoltInputEvent を介して JoltServiceBean に通知します。JoltServiceBean は、サービス・コールの後で応答データが入手できるようになると、登録されているすべての Jolt 対応 Beans に JoltOutputEvent を送信します。Jolt 対応 GUI Beans には、対応するサービスの出力パラメータで内容を更新するロジックが入っています。

次の図は、JoltBeans の関係をグラフィカルに示しています。

図 6-1 JoltBeans の関係


 


 


 

 


JoltBeans ツールキット

JoltBeans ツールキットには、以下の Bean が含まれています。

これらのコンポーネントは、典型的な JavaBean の機能 (再利用が簡単、開発をグラフィカルに行うことができる、など) をすべて備えた状態で Jolt クラス・ライブラリ全体を Bean のコンポーネントに変換します。

JoltBeans のクラス、コンストラクタ、およびメソッドの詳細な説明については、オンライン版の 『BEA Jolt API リファレンス』 を参照してください。

以降の節では、各 Bean のプロパティについて説明します。

JoltSessionBean

JoltSessionBean は BEA Tuxedo のセッションを表し、JoltSession クラス、JoltSessionAttribute クラス、および JoltTransaction クラスの機能をカプセル化します。JoltSessionBean は、BEA Tuxedo セッションをオープンまたはクローズするメソッドに加え、タイムアウトや BEA Tuxedo ユーザ名などのセッション属性やセキュリティ属性を設定するプロパティを提供します。

JoltSessionBean は、BEA Tuxedo セッションが確立されるとき、またはクローズされるときに PropertyChange イベントを送信します。PropertyChange は、 java.beans パッケージで定義される標準的な Bean のイベントです。このイベントの目的は、イベント・ソース Bean のプロパティ値の変更をほかの Bean に通知することです。この場合、ソースは JoltSessionBean で、ターゲットは JoltServiceBean または JoltUserEventBean です。変更されるプロパティは、JoltSessionBean の LoggedOn プロパティです。ログオンが成功してセッションが確立されると、LoggedOn は true に設定されます。ログオフが成功してセッションがクローズすると、LoggedOn プロパティは false に設定されます。

JoltSessionBean には、beginTransaction()commitTransaction()、および rollbackTransaction() など、トランザクションをコントロールするメソッドがあります。

次の表は JoltSessionBean のプロパティの一覧とその説明です。

表 6-1 JoltSessionBean のプロパティと説明

プロパティ

説明

AppAddress

JSL または Jolt リレーの IP アドレス (ホスト名とポート番号) を設定します。フォーマットは //host:port number です。
(例 : myhost:7000)

AppPassword

必要な場合に、ログオン時に使用する BEA Tuxedo アプリケーション・パスワードを設定します。

IdleTimeOut

IDLETIMEOUT 値を設定します。

inTransaction

トランザクションが開始され、コミットもアボートもされていない場合は true、それ以外の場合は false を示します。

LoggedOn

BEA Tuxedo セッションが存在する場合は true 、存在しない場合は false を示します。

ReceiveTimeOut

RECVTIMEOUT 値を設定します。

SendTimeOut

SENDTIMEOUT 値を設定します。

SessionTimeOut

SESSIONTIMEOUT 値を設定します。

UserName

必要な場合、BEA Tuxedo ユーザ名を示します。

UserPassword

必要な場合、BEA Tuxedo ユーザ・パスワードを示します。

UserRole

必要な場合、BEA Tuxedo ユーザ・ロールを示します。


 

JoltServiceBean

JoltServiceBean はリモートの BEA Tuxedo サービスを表します。このサービス名は、JoltServiceBean のプロパティで設定されます。JoltServiceBean は、ほかの Bean からの JoltInputEvent をリッスンし、入力バッファを設定します。JoltServiceBean には、サービスを呼び出す callService() メソッドがあります。JoltServiceBean は、サービスの出力情報を伝達する JoltOutputEvent のイベント・ソースです。callService() が成功すると、応答メッセージを伝達する JoltOutputEvent を介してイベント・リスナ Bean に通知されます。

JoltServiceBean のメッセージ・バッファを変更および照会する主な方法はイベントを介する方法です。また、JoltServiceBean には、setInputValue(...)getOutputValue(...) など、メッセージ・バッファに直接アクセスできるメソッドも用意されています。

次の表は JoltServiceBean のプロパティの一覧とその説明です。

表 6-2 JoltServiceBean のプロパティと説明

プロパティ

説明

ServiceName

JoltServiceBean によって表される BEA Tuxedo サービスの名前。

Session

この Bean に関連付けられた JoltSessionBean であり、BEA Tuxedo クライアント・セッションへのアクセスを許可します。

Transactional

JoltServiceBean が、対応する JoltSessionBean によって開始されたトランザクションに含まれる場合は、true に設定されます。


 

JoltUserEventBean

JoltUserEventBean は、BEA Tuxedo イベントへのアクセスを提供します。この Bean のプロパティ (イベント名およびイベント・フィルタ) を設定して、BEA Tuxedo イベントのサブスクライブまたは非サブスクライブが定義されます。実際のイベント通知は、JoltSessionBean から JoltOutputEvent 形式で通知されます。

次の表は JoltUserEventBean のプロパティの一覧とその説明です。

表 6-3 JoltUserEventBean のプロパティと説明

プロパティ

説明

EventName

Bean によって表されるユーザ・イベントの名前を設定します。

Filter

イベント・フィルタを設定します。

Session

この Bean に関連付けられた JoltSessionBean であり、BEA Tuxedo クライアント・セッションへのアクセスを許可します。


 

 


Jolt 対応 GUI Beans

Jolt 対応 GUI Beans は Java AWT Beans と Swing Beans で構成されており、Java Abstract Windowing Toolkit を継承しています。以下の Bean で構成されています。

注記 コンパイル時のエラーを避けるため、AWT Bean どうし、または Swing Bean どうしで使用し、これらの 2 種類の Bean を組み合わせないことをお勧めします。

JoltTextField

これは、java.awt.TextField および Swing JTextfield を拡張したものです。JoltTextField にはサービスへの入力の一部が入っています。JoltServiceBean は JoltTextField によって引き起こされたイベントをリッスンできます。JoltTextField は、内容が変更されるとリスナ (通常は JoltServiceBean) に JoltInputEvent を送信します。

JoltTextField はサービスからの出力を表示します。この場合、JoltTextField は JoltServiceBean から JoltOutputEvent をリッスンし、リンクされたフィールドのオカレンスに従って内容を更新します。

JoltLabel

JoltLabelは、java.awt.Label および Swing JLabel を Jolt 対応させた拡張クラスであり、JoltFieldName プロパティによって Jolt 出力バッファの特定のフィールドにリンクされています。フィールドが複数のオカレンスを持つ場合、この textfield がリンクされるオカレンスは、この Bean の occurrenceIndex プロパティによって指定されます。JoltLabel を JoltServiceBean に接続して、サービスからの出力を表示することができます。JoltLabel は JoltServiceBean から JoltOutputEvent をリッスンし、リンクされたフィールドのオカレンスに従ってその内容を更新します。

JoltList

JoltList は、java.awt.List および Swing Jlist を Jolt 対応させた拡張クラスであり、JoltFieldName プロパティによって Jolt の入力バッファまたは出力バッファの特定の Jolt フィールドにリンクされています。Jolt 入力バッファ内でフィールドが複数のオカレンスを持つ場合、リストがリンクされるオカレンスは、この Bean の occurrenceIndex プロパティによって指定されます。JoltList は 次に示す 2 通りの方法で JoltServiceBean に接続できます。

JoltCheckbox

JoltCheckbox は、java.awt.Checkbox および Swing JCheckBox を Jolt 対応させた拡張クラスであり、JoltFieldName プロパティによって Jolt 入力バッファの特定のフィールドにリンクされています。フィールドが複数のオカレンスを持つ場合、checkbox がリンクされるオカレンスは、この Bean の occurrenceIndex プロパティによって指定されます。

JoltCheckbox を JoltServiceBean と接続して、サービスの入力の一部を入れることができます。JoltServiceBean は JoltCheckbox によって引き起こされたイベントをリッスンできます。checkbox の選択内容が変わると、JoltCheckbox はリスナ (通常は JoltServiceBean) に JoltInputEvent を送信します。この場合、JoltInputEvent は、 チェックボックスが選択されているときは String データ型の TrueValue プロパティで設定され、チェックボックスが選択されていないときは FalseValue プロパティで設定されます。

JoltChoice

JoltChoice は java.awt.Choice および Swing JChoice を Jolt 対応させた拡張クラスであり、JoltFieldName プロパティによって Jolt 入力バッファの特定のフィールドにリンクされています。フィールドが複数のオカレンスを持つ場合、この選択がリンクされるオカレンスは、この Bean の occurrenceIndex プロパティによって指定されます。

JoltChoice を JoltServiceBean と接続して、サービスの入力の一部を入れることができます。JoltServiceBean は JoltChoice によって引き起こされたイベントをリッスンできます。choicebox の選択内容が変わると、JoltChoice はリスナ (通常は JoltServiceBean) に JoltInputEvent を送信します。この場合、JoltInputEvent は選択された項目の単一の値で設定されます。

注記 クラスの詳細については、『BEA Jolt API リファレンス』 を参照してください。

 


プロパティ・リストとプロパティ・エディタを使った JoltBeans プロパティの変更

JoltBeans のほとんどのプロパティ値は、次のプロパティ・リストと[...] ボタンに示す統合開発環境 (Visual Caf&233; など)祉eィ・リストで、右側の列を編集するだけで変更できます。

JoltBeans の一部のプロパティについては、カスタム・プロパティ・エディタが用意されています。

プロパティ・リストからアクセスできるカスタム・プロパティ・エディタには、プロパティ値を変更するときに使用するダイアログ・ボックスがあります。対応するプロパティ値の隣にある [...] ボタンをクリックすると、プロパティ・リストからカスタム・プロパティ・エディタを呼び出すことができます。

図 6-2 プロパティ・リストと[...] ボタン


 

[...] ボタンを選択すると、次の図に示すようなプロパティ・エディタが表示されます。

図 6-3 カスタム・プロパティ・エディタ・ダイアログ・ボックス

.
 

JoltBeans のカスタム・プロパティ・エディタはキャッシュされた情報を読み取ります。最初はキャッシュされた情報がないため、プロパティ・エディタを初めて使用するときは、このダイアログ・ボックスには何も表示されません。Jolt リポジトリにログオンして、そのリポジトリからプロパティ・エディタ・キャッシュをロードします。

プロパティ・リストとプロパティ・エディタを使ったログオンの詳細については、Jolt リポジトリの使用とプロパティ値の設定を参照してください。

 


JoltBeans クラス・ライブラリの使い方

ここでは、以下の操作を行うためのアプレットの作成方法を説明します。

次の図は、JoltBeans を含む完全な Java フォームの例です。このアプレットは BANKAPP の INQUIRY サービスのクライアント機能を実装しています。このサンプルを実行するには、BEA Tuxedo サーバが実行されていなければなりません。

図 6-4 照会アプレットの例


 


 

Java フォームで必要となる各項目の例については、Visual Caf 3.0 のフォーム・デザイナ を参照してください。図の各項目については、次のフォームに必要なコンポーネントで説明します。

表 6-4 フォームに必要なコンポーネント

コンポーネント

目的

アプレット (JFC アプレットが選択された場合は JApplet)

開発環境で Bean をペイントするときに使用するフォーム。

JoltSessionBean

BEA Tuxedo セッションにログオンします。

JoltTextField

ユーザから入力を取得します (この場合は ACCOUT_ID)。

JoltTextField

結果を表示します (この場合は SBALANCE)。

JoltServiceBean

BEA Tuxedo サービスにアクセスします(この場合は BANKAPP からの INQUIRY)。

ボタン

アクションを開始します。

Label

アプレット上のフィールドを説明します。


 

サンプル・フォームの作成

この例は、Visual Caf 統合開発環境で作成されたサンプル・フォームです。この例では、口座 ID (Account ID) を入力し、BEA Tuxedo サービスを使って口座残高を表示するためのアプレットの作成方法を説明します。

このサンプルを作成するには、次のような基本的な手順に従います。

  1. Visual Caf で、[File] の [New Project] を選択し、JFC アプレットまたは AWT アプリケーションを選択します。この手順により、JoltBeans のドロップ先のフォーム・デザイナが決まります。

  2. アプレットで使用したいすべての JoltBeans をコンポーネント・ライブラリからフォーム・デザイナにドラッグ・アンドドロップします。

  3. プロパティ・リストまたはカスタム・プロパティ・エディタを使用して、Bean を変更またはカスタマイズします。

  4. [Interaction Wizard] を使用して Bean を関連付けます。

  5. アプレットをコンパイルします。

これらの手順は、次の節でさらに詳しく説明されます。

注記 以前の Visual Caf に用意されていたグラフィカル・インターフェイスは、Visual Caf のイ祉イスとは異なります。このサンプル・アプレットは、以前のバージョンの Visual Caf を使って作成することもできますが、 [Interaction Wizard] での手順が若干異なります。

JoltBeans をフォーム・デザイナ上に配置する

  1. [File] の [New Project] を選択し、[JFC Applet] を選択します。

  2. 次の図に示すように Bean をコンポーネント・ライブラリから目的の位置へドラッグ・アンド・ドロップします。

    図 6-5 Visual Caf におけるフォーム・デザイナ


     

Visual Caf 3.0 のフォーム・デザイナは、フォーム・デザイナのパレットに配置された JoltBeans がどのように表示されるかを示しています。

図 6-6 Visual Caf 3.0 のフォーム・デザイナ


 

  1. 各 Bean のプロパティを設定します。ボタン、ラベル、フィールドを変更またはカスタマイズする場合は、プロパティ・リストを使用します。カスタム・プロパティ・エディタを使用する JoltBeans もあります。

    JoltTextField のプロパティ・リストとカスタム・プロパティ・エディタの例,は、テキスト・フィールドのプロパティ・リストにある JoltFieldName を選択すると、カスタム・プロパティ・エディタがどのように表示されるかを示しています。

  2. たとえば、JoltTextField の JoltFieldName プロパティを ACCOUNT_ID に設定します。

注記 JoltBeans のプロパティの設定と変更の詳細については、Jolt リポジトリの使用とプロパティ値の設定を参照してください。

次の図は、設定する必要があるプロパティ値を指定しています。太字で示した値は必須値、普通の文字で示した値は推奨値、イタリック体は設定によって変わる必須値の例です。


 

注記 この例では、occurrenceIndex のデフォルト値 0 は両方の JoltTextField に有効です。

JoltBean のプロパティについての一般的な説明については、次のJoltTextField のプロパティ・リストとカスタム・プロパティ・エディタの例およびJolt リポジトリの使用とプロパティ値の設定を参照してください。

図 6-7 JoltTextField のプロパティ・リストとカスタム・プロパティ・エディタの例


 


 

  • JoltFieldName のプロパティ値を変更するには、プロパティ・リストの JoltFieldName の [...] ボタンをクリックします。

    カスタム・プロパティ・エディタが表示されます。

  • 新しいフィールド名 (この例では「ACCOUNT_ID」) を選択または入力して、[OK] をクリックします。

    変更内容は、JoltFieldName を変更した JoltTextField プロパティ・リストのプロパティ・リストとプロパティが変更されたアプレット・フォーム・デザイナの例のテキスト・フィールドに反映されます。

  • 注記 カスタム・プロパティ・エディタに表示されるプロパティはローカルにキャッシュされます。そのため、元のデータベースが変更された場合は、[Refresh] ボタンを押さないと、最新の使用可能なプロパティが表示されません。

    図 6-8 JoltFieldName を変更した JoltTextField プロパティ・リスト


     


     


     

    次のプロパティが変更されたアプレット・フォーム・デザイナの例は、Bean のプロパティ・リストのフィールドにテキストを追加した後、ボタンやテキストフィールドのテキストがどのように変わるかを示します。

    図 6-9 プロパティが変更されたアプレット・フォーム・デザイナの例


     


     


     


     

    1. 右の列にプロパティ値を設定した後、Visual Caf&233; の Interacti姉ard を使用して Bean を関連付けることにより、Bean のインタラクションの仕方を定義します。詳細については、必須および推奨のプロパティ値を参照してください。詳細については、JoltBeans の関連付けを参照してください。

    JoltBeans の関連付け

    すべての Bean がフォーム上に配置され、プロパティを設定した後、それらのイベントを関連付けます。JoltBeans を関連付ける順序は、Bean を関連付ける際の手順の例を示しています。

    Bean を関連付けると、さまざまなフォームの Bean 間のイベント・ソースとイベント・リスナの関係を確立できます。たとえば、JoltServiceBean はボタンの ActionEvent のリスナであり、このイベントをリッスンしたときに callService() を呼び出します。Visual Caf&233; の 鯖ction Wizard を使って Bean どうしを関連付けてください。

    次の図は、このサンプル・アプレットを作成するための、Bean を関連付ける順序を示しています。図中の数は、次に説明する手順の番号を示しています。

    図 6-10 JoltBeans を関連付ける順序


     

    以下の手順は、JoltBeans を関連付ける順序 に示した番号に対応しています。これらの手順は、次の節でさらに詳しく説明します。

    手順 1: JoltSessionBean とログオンを関連付ける

    手順 2: propertyChange を使用して JoltSessionBean を JoltServiceBean に関連付ける

    手順 3: JoltInputEvent を使用して入力項目 accountID の JoltTextField を JoltServiceBean に関連付ける

    手順 4: JoltAction を使用してボタンを JoltServiceBean に関連付ける

    手順 5: JoltOutputEvent を使用して JoltServiceBean を Balance の JoltTextField に関連付ける

    手順 6: JoltSessionBean とログオフを関連付ける

    手順 7: アプレットをコンパイルする (図には表示されていません)。

    手順 1: JoltSessionBean とログオンを関連付ける

    1. [Form Designer] ウィンドウで、[Interaction Wizard] ボタンをクリックします。

    2. 次の図に示すようにアプレット・ウィンドウの一点をクリックし、そのまま JoltSessionBean へドラッグします。


       


       

      図 6-11 アプレットを Jolt Session Bean に関連付ける


       

    [Interaction Wizard] ウィンドウが表示されます ([ComponentShown] イベントを選択するを参照)。

    「What event in JApplet1 do you want to start the interaction?」というメッセージが表示されます。

  • 次の図のように、インタラクションを開始するイベントとして [Interaction Wizard] ウィンドウの [ComponentShown] を選択します。

    図 6-12 [ComponentShown] イベントを選択する


     


     


     


     


     


     

  • [Next] をクリックします。

    [Interaction Wizard] ウィンドウが表示されます ([Logon to the TUXEDO System] を選択するを参照)。

    「What do you want to happen when Japplet1 fires componentShown event?」というメッセージが表示されます。

  • 次の図のように、[Perform an action] ラジオ・ボタンを選択し、[Logon to the Tuxedo system] を選択します。

    図 6-13 [Logon to the TUXEDO System] を選択する


     

  • [Finish] をクリックします。
  • 手順 1: JoltSessionBean とログオンを関連付けるを終了すると、アプレットを最初に開いたときに送信されるイベント (例 : ComponentShown) で、JoltSessionBean の logon() メソッドをトリガできるようになります。

    手順 2: propertyChange を使用して JoltSessionBean を JoltServiceBean に関連付ける

    1. Visual Caf の [Form Designer] ウィンドウのツールバーで [Interaction Tool] アイコンをクリックします。

    2. 次の図に示すように [JoltSessionBean] をクリックし、そのまま JoltServiceBean へドラッグします。

      図 6-14 JoltSessionBean を JoltServiceBean に関連付ける


       

    [Interaction Wizard] ウィンドウが表示されます ([propertyChange] イベントを選択するを参照)。

    「What event in joltSessionBean1 do you want to start the interaction?」というメッセージが表示されます。

  • インタラクションを開始するイベントとして [propertyChange] を選択します。

    図 6-15 [propertyChange] イベントを選択する


     

    1. [Next] をクリックします。

      [Interaction Wizard] ウィンドウが表示されます ([Handle a Jolt property change event] を選択するを参照)。

      「What do you want to happen when joltSessionBean1 fires propertyChange event?」というメッセージが表示されます。

    2. 次の図のように、メソッドとして [Handle a Jolt property change event] を選択します。

      図 6-16 [Handle a Jolt property change event] を選択する


       

    3. [Next] をクリックします。

      [Interaction Wizard] ウィンドウが表示されます ([joltSesssionBean1] を選択するを参照)。

      「How do you want to supply the parameter to this method?」というメッセージが表示されます。

      使用可能なオブジェクトとアクションの一覧が表示されます。

    4. 次の図のように、アクションを実行するオブジェクトとして [joltSessionBean1] を選択します。

    5. アクションとして [Get the current Property Change Event] オブジェクトを選択します。

      図 6-17 [joltSesssionBean1] を選択する


       

    6. [Finish] をクリックします。

    手順 2: propertyChange を使用して JoltSessionBean を JoltServiceBean に関連付けるを終了すると、logon() 完了時に JoltSessionBean が propertyChange イベントを送信できるようになります。JoltServiceBean はこのイベントをリッスンし、サービスをこのセッションに関連付けます。

    手順 3: JoltInputEvent を使用して入力項目 accountID の JoltTextField を JoltServiceBean に関連付ける

    1. Visual Caf の [Form Designer] ウィンドウで [Interaction Wizard] アイコンをクリックします。

    2. [accountID JoltTextfield Bean] を選択し、そのまま JoltServiceBean へドラッグします。

      次の図のように、[Interaction Wizard] ウィンドウが表示されます。

      「What event in accountId do you want to start the interaction?」というメッセージが表示されます。

    3. 次の図のように、イベントとして [dataChanged] を選択します。

      図 6-18 [dataChanged] イベントを選択する


       

    4. [Next] をクリックします。

      [Interaction Wizard] ウィンドウが表示されます (オブジェクトとして [inquiry]、アクションとして [Handle a Jolt input event] を選択するを参照)。

      「What do you want to happen when accountId fires dataChanged event?」というメッセージが表示されます。

    5. 次の図のように、パラメータを実行するオブジェクトとして joltServiceBean の [inquiry] を選択します。

    6. アクションとして [Handle a jolt input event] を選択します (次の図を参照)。

      図 6-19 オブジェクトとして [inquiry]、アクションとして [Handle a Jolt input event] を選択する


       

    7. [Next] をクリックします。

      [Interaction Wizard] ウィンドウが表示されます (オブジェクトとして [accountId]、アクションとして [Get the current Jolt Input Event] を選択する を参照)。

      「How do you want to supply the parameter to this method?」というメッセージが表示されます。

      使用可能なオブジェクトとアクションの一覧が表示されます。

    8. 次の図のように、オブジェクトとして [accountId] を選択します。

    9. アクションとして [Get the current Jolt Input Event] を選択します。

      図 6-20 オブジェクトとして [accountId]、アクションとして [Get the current Jolt Input Event] を選択する


       

    10. [Finish] をクリックします。

    手順 3: JoltInputEvent を使用して入力項目 accountID の JoltTextField を JoltServiceBean に関連付けるを終了すると、最初のテキスト・フィールドに口座番号を入力できるようになります。JoltTextField の JoltFieldName のプロパティが「ACCOUNT_ID」に設定されます。このテキストボックスの内容が変更されると JoltInputEvent が JoltServiceBean に送信されます。JoltServiceBean は、このテキスト・ボックスから JoltInputEvent をリッスンします。JoltInputEvent オブジェクトには、このフィールドの名前、値、およびオカレンス・インデックスが含まれます。

    手順 4: JoltAction を使用してボタンを JoltServiceBean に関連付ける

    1. Visual Caf の [Form Designer] ウィンドウで [Interaction Wizard] アイコンをクリックします。

    2. [Inquiry] ボタンをクリックし、JoltServiceBean へドラッグします。

      次の図のように、[Interaction Wizard] ウィンドウが表示されます。

      「What event in button1 do you want to start the interaction?」というメッセージが表示されます。

    3. 次の図のように、イベントとして [actionPerformed] を選択します。

      図 6-21 イベントとして [actionPerformed] を選択する


       

    4. [Next] をクリックします。

      [Interaction Wizard] ウィンドウが表示されます (オブジェクトとして [inquiry] を選択し、アクションとして [Invoke the TUXEDO Service represented by this Bean] を選択する操作を参照)。

      「What do you want to happen when button1 fires actionPerformed event?」というメッセージが表示されます。

    5. 次の図のように、オブジェクトとして [inquiry] を選択します。

    6. アクションとして [Invoke the TUXEDO Service represented by this Bean] を選択します (次の図を参照)。

      図 6-22 オブジェクトとして [inquiry] を選択し、アクションとして [Invoke the TUXEDO Service represented by this Bean] を選択する操作


       

    7. [Finish] をクリックします。

    手順 4: JoltAction を使用してボタンを JoltServiceBean に関連付けるを終了すると、JoltServiceBean の callService() メソッドを、[Inquiry] ボタンからの ActionEvent でトリガできます。

    手順 5: JoltOutputEvent を使用して JoltServiceBean を Balance の JoltTextField に関連付ける

    1. Visual Caf の [Form Designer] ウィンドウで [Interaction Wizard] アイコンをクリックします。

    2. [JoltServiceBean] を選択して、[AmountJoltTextFeald Bean] へドラッグします。

      次の図のように [Interaction Wizard] ウィンドウが表示されます。

      「What event in inquiry do you want to start the interaction?」というメッセージが表示されます。

    3. 次の図のように、イベントとして [serviceReturned] を選択します。

      図 6-23 [ServiceReturned] イベントを選択する


       

    4. [Next] をクリックします。

      [Interaction Wizard] ウィンドウが表示されます (オブジェクトとして [balance] を選択し、アクションとして [Handle a service returned event] を選択します。を参照)。

      「What do you want to happen when inquiry fires serviceReturned event?」というメッセージが表示されます。

    5. 次の図のように、オブジェクトとして [balance] を選択します。

    6. アクションとして [Handle a service returned event...] を選択します (次の図を参照)。

      図 6-24 オブジェクトとして [balance] を選択し、アクションとして [Handle a service returned event] を選択します。


       

    7. [Next] をクリックします。

      [Interaction Wizard] ウィンドウが表示されます (オブジェクトとして [inquiry]、アクションとして [Get the JoltOutputEvent object] を選択するを参照)。

      「How do you want to supply the parameter to this method?」というメッセージが表示されます。

    8. 次の図のように、オブジェクトとして [inquiry] を選択します。

    9. アクションとして [Get the JoltOutputEvent] オブジェクトを選択します (次の図を参照)。

      図 6-25 オブジェクトとして [inquiry]、アクションとして [Get the JoltOutputEvent object] を選択する


       

    10. [Finish] をクリックします。

    手順 5: JoltOutputEvent を使用して JoltServiceBean を Balance の JoltTextField に関連付けるを終了すると、JoltServiceBean はリモートのサービスから応答データを受信したときに JoltOutputEvent を送信することができるようになります。JoltOutputEvent オブジェクトには、出力バッファのフィールドにアクセスするためのメソッドが入っています。JoltTextField は INQUIRY サービスの結果を表示します。

    手順 6: JoltSessionBean とログオフを関連付ける

    1. Visual Caf の [Form Designer] ウィンドウで [Interaction Wizard] アイコンをクリックします。

    2. アプレット・ウィンドウの一点をクリックし (Bean はクリックしない)、そのまま JoltSessionBean へドラッグします。

      次の図のように [Interaction Wizard] ウィンドウが表示されます。

      「What event in JApplet1 do you want to start the interaction?」というメッセージが表示されます。

    3. 次の図のように、イベントとして [componentHidden] を選択します。

      図 6-26 イベントとして [componentHidden] を選択する


       

    4. [Next] をクリックします。

      [Interaction Wizard] ウィンドウが表示されます (オブジェクトとして [joltSessionBean1]、アクションとして [Logoff from the TUXEDO system] を選択するを参照)。

      「What do you want to happen when JApplet1 fires componentHidden event?」というメッセージが表示されます。

    5. アクションを実行するオブジェクトとして [joltSessionBean1] を選択します。

    6. アクションとして [Logoff from the TUXEDO system] を選択します (次の図を参照)。

      図 6-27 オブジェクトとして [joltSessionBean1]、アクションとして [Logoff from the TUXEDO system] を選択する


       

    7. [Finish] をクリックします。

    手順 6: JoltSessionBean とログオフを関連付けるを終了すると、アプレットが非表示になったときに送信されるイベント (例: componentHidden) が、JoltSessionBean の logoff() メソッドをトリガできるようになります。

    手順 7: アプレットをコンパイルする

    JoltBeans を関連付けたら、アプレットをコンパイルします。例外処理をキャッチ・ブロックに設定します。メッセージ・ウィンドウに、コンパイル・エラーや例外がないかどうかを確認します。

    詳細については、次のJolt リポジトリの使用とプロパティ値の設定JoltBean 固有のプロパティ、およびJoltServiceBean のプロパティ・エディタを参照してください。

    サンプル・アプリケーションの実行

    サンプル・アプリケーションを実行するには、BEA Tuxedo サーバが実行されていなければなりません。次に、口座番号を [Account ID] フィールドに入力します。BANKAPP データベース内にある口座番号であれば、どの口座番号を使用してもかまいません。次の 2 つの口座番号は、サンプル・アプリケーションで使用できる口座番号の例です。

     


    Jolt リポジトリの使用とプロパティ値の設定

    カスタム・プロパティ・エディタは以下のプロパティのために用意されています

    プロパティ・リストからアクセスされるプロパティ・エディタには、プロパティを追加または変更するときに使用するダイアログ・ボックスが含まれています。対応するプロパティ値の隣にある [...] ボタンを選択することにより、このダイアログ・ボックスをプロパティ・リストから呼び出すことができます。

    JoltBean のなかには、プロパティ・リスト・フィールドへの設定を必要とするものもあります。このような JoltBean を次の表にまとめて示します。

    表 6-6 JoltBean 固有のプロパティ

    JoltBean

    プロパティ

    入力の説明

    JoltSessionBean

    appAddress

    userName、Password または AppPassword

    例 : //host:port

    BEA Tuxedo ユーザ名とパスワードを入力します。

    JoltServiceBean

    serviceName

    isTransactional

    たとえば、INQUIRY を指定します。

    トランザクションの処理中にサービスを実行する必要がある場合は true に設定します。サービスがトランザクションを必要としない場合は、isTransactional を false に設定します。

    JoltUserEventBean

    eventName

    filter

    BEA Tuxedo tpsubscribe コールを参照してください。

    すべての Jolt 対応 GUI Bean

    joltFieldName

    occurrenceIndex

    たとえば、ACCOUNT_ID を指定します。

    同じ名前の複数のフィールド。インデックスは 0 から始まります。

    JoltCheckbox

    TrueValue と FalseValue

    チェックボックスの状態に対応するフィールド値。


     

    プロパティ・エディタは、リポジトリからキャッシュされた情報を読み取り、使用可能なサービス名とリストボックスのデータ要素を返します。ServiceName のプロパティ・エディタの例を次のJoltServiceBean のプロパティ・エディタに示します。

    Bean のプロパティを追加するには、以下の手順に従います。

    1. 次の図の ServiceName フィールドの [...] ボタンをクリックしてサービス名を選択します。

      図 6-28 JoltServiceBean のプロパティ・エディタ


       

      次の図に示すような ServiceName のカスタム・プロパティ・エディタが表示されます。

      図 6-29 ServiceName のカスタム・プロパティ・エディタ


       


       

    注記 Repository データベースに接続できない、または接続したくない場合は、テキスト・ボックスにサービス名を入力し、手順 7 に進んでください。

    1. ログオンしていない場合は、[Logon] を選択します。

      次の図に示すような [JoltBeans Repository Logon] ウィンドウが表示されます。

      図 6-30 JoltBeans Repository Logon ウィンドウ


       

    2. Server フィールドに、BEA Tuxedo または Jolt リレー・ マシンの名前を入力し、Port number フィールドに JSL または Jolt リレーを入力します。

    3. パスワード、およびユーザ名情報 (必要な場合)を入力して [Logon] をクリックします。

      カスタム・プロパティ・エディタがリポジトリからキャッシュをロードします (プロパティ・エディタと選択されたサービス を参照)。

    4. に示すリスト・ボックス内の該当するサービス名を選択します。

    5. プロパティ値 (サービス名またはフィールド名) を直接入力します。

      用意されているテキストボックスに入力してください。

    6. カスタム・プロパティ・エディタ・ダイアログ・ボックスの [OK] をクリックします。

      テキストボックスに入力した内容が Bean のプロパティに設定されます。

      図 6-31 プロパティ・エディタと選択されたサービス


       

    1. カスタム・プロパティ・エディタ・ダイアログ・ボックスの [OK] をクリックします。

     


    JoltBeans のプログラミング

    以下の手順が追加されています。

    JoltBeans によるトランザクションの使用

    BEA Tuxedo アプリケーション・サービスが、データベースを更新する機能を持つ場合があります。この場合は、JoltBeans でトランザクションを使用できます。たとえば BANKAPP では、TRANSFER と WITHDRAWAL のサービスが BANKAPP のデータベースを更新します。アプリケーション・サービスが読み取り専用 (例: INQUIRY) の場合には、トランザクションを使用する必要はありません。

    以下は、JoltBeans でトランザクションを使用する例です。

    1. isJoltServiceBean クラスの setTransactional (true) メソッドを呼び出します。isTransactional は JoltServiceBean の boolean 型のプロパティです。

    2. JoltSessionBean クラスの beginTransaction() メソッドを呼び出します。

    3. JoltServiceBean クラスの callService() メソッドを呼び出します。

    4. サービス・コールの結果により、JoltSessionBean クラスの commitTransaction() メソッドまたは rollbackTransaction() メソッドを呼び出します。

    JoltServiceBean でカスタム GUI コンポーネントを使用する

    JoltBeans には、Jolt 対応の限定された GUI コンポーネントのセットが用意されています。また、Jolt に対応していないコントロールを JoltServiceBean と一緒に使用することもできます。JoltServiceBean にはコントロール (JoltServiceBean によって表されるサービスの出力情報を表示) をリンクすることができます。また、入力情報を表示するコントロールをリンクすることもできます。

    たとえば、GUI コンポーネントは JoltOutputListener インターフェイスを実装するアダプタ・クラスを使用して、JoltOutputEvent をリッスンできます。JoltServiceBean は JoltOutputEvent のイベント・ソースとして、JoltOutputEvent を送信するときにアダプタ・クラスの serviceReturned() メソッドを呼び出します。serviceReturned() の内部では、イベント・オブジェクトからの情報を使用して、コントロールの内部データが更新されます。

    開発ツールは、JoltServiceBean と GUI コンポーネントが関連付けられるとアダプタ・クラスを生成します。

    2 つ目の例として、GUI コンポーネントは JoltServiceBean の setInputTextValue() メソッドを呼び出すことができます。GUI コンポーネントには JoltServiceBean によって表される BEA Tuxedo サービスへの入力データが含まれています。

    3 つ目の例として、GUI コンポーネントは必要なメソッド (addJoltInputListener()removeJoltInputListener()) を実装でき、JoltInputEvent のイベント・ソースとしての役割を果たします。JoltServiceBean は、これらのイベントのイベント・リスナとしての役割を果たします。コントロールは、状態が変わる場合に JoltInputEvent を送信して、入力情報で JoltServiceBean を更新します。

     

    Back to Top Previous Next
    Contact e-docsContact BEAwebmasterprivacy