![]() ![]() ![]() ![]() ![]() ![]() ![]() |
以前はアドオンとして使用可能であったJoltBeansは、現在はOracle Joltに組み込まれており、JavaBeansと同じぐらい簡単に使用できます。これらは、Java開発環境でJoltクライアントを構成するために使用するJavaBeansコンポーネントです。
Symantec Visual Caféなどの一般的なJava対応開発ツールを使用して、クライアント・アプリケーションをグラフィカルに構成できます。JoltBeansにはOracle JoltとのJavaBeans準拠インタフェースが用意されています。コードを記述しなくても、フル機能を備えたOracle Joltクライアントを開発できます。
JoltBeansは、2つのJava Beansセットで構成されています。1つ目のセットは、Jolt APIのBeansバージョンであるJoltBeansツールキットです。2つ目のセットは、Jolt対応AWT BeansとJolt対応Swing Beansを含むGUI Beansで構成されます。これらのGUIコンポーネントは、Java AWT標準コンポーネントおよびSwing標準コンポーネントの一部をJolt対応バージョンにしたものであり、最小限のコーディングまたはコーディングなしでJoltクライアントGUIを構築することを可能にします。
JoltBeansは、開発ツールのコンポーネント・パレットから作成中のJoltクライアント・アプリケーションのJavaフォームにドラッグ・アンド・ドロップできます。Beansのプロパティを移入し、アプリケーションやアプレットの各種のBeans間のイベント・ソース・リスナーの関係をグラフィカルに設定できます。通常は開発ツールを使用してイベントのフックアップ・コードを生成しますが、フックアップを手動でコーディングすることもできます。JoltBeansを使用したクライアント開発では、Oracle Joltリポジトリと統合されるため、使用可能なOracle Tuxedo機能に簡単にアクセスできます。
注: | 現在、Oracleで動作が保証されているJoltBeans用の統合開発環境は、Symantec Visual Café 3.0のみです。ただし、JoltBeansは別のJava開発環境(Visual Ageなど)とも互換性があります。 |
JoltBeansツールキットを使用する場合は、JavaBeans対応の統合開発環境(IDE)を熟知しておくことをお薦めします。この章のウォークスルーでは、SymantecのVisual Café 3.0の統合開発環境に基づいてサンプル・アプレットを作成する基本的な手順を示しています。
JoltBeansを使用するには、JoltBeansを含むようにJava開発環境を設定しておく必要があります。
CLASSPATH
の設定方法は、使用している開発環境によって異なります。
JoltBeansには、すべてのJoltBeansが含まれる.jar
ファイル・セットが含まれています。これらの.jar
ファイルをJava開発環境に追加すると、Javaツールのコンポーネント・ライブラリ内でJoltBeansが使用可能になります。たとえば、Symantec Visual Caféを使用する場合、Visual Caféの「Component Library」ウィンドウに.jar
ファイルが表示されるようにCLASSPATH
を設定できます。これらの.jar
ファイルのCLASSPATH
は、開発環境で1回設定するだけです。これらの.jar
ファイルを開発環境のCLASSPATH
に設定した後は、JoltBeansをコンポーネン・ライブラリに追加できます。あとは、Joltクライアント・アプリケーションを開発するJavaフォームにJoltBeanを直接ドラッグ・アンド・ドロップするだけです。
Java開発環境のCLASSPATH
を設定するには、ご使用の開発環境の製品ドキュメントに記載された手順に従ってください。開発ツールのIDEから、jolt.jar
ファイルが置かれているディレクトリに移動します。jolt.jar
ファイルは通常、%TUXDIR%\udatadoj\jolt
というディレクトリ内にあります。jolt.jar
ファイルには、Joltの主要なクラスが含まれています。これらのクラスが含まれるようにCLASSPATH
を設定してください。JoltBean .jar
ファイルをCLASSPATH
に追加する必要はありません。これらのファイルは、IDEにコンポーネントとして追加するのみで使用できます。
Joltクラスが含まれるようにCLASSPATH
を設定した後は、開発環境のコンポーネント・ライブラリにJoltBeansを追加できます。コンポーネント・ライブラリへの移入手順は、ご使用の開発環境のドキュメントを参照してください。
JoltBeansをコンポーネント・ライブラリに追加できるようになったら、JoltBeansの開発バージョンのみを追加してください。詳細は、「開発JoltBeansおよび実行時JoltBeansの使用」を参照してください。
JoltBeansを含む.jar
ファイルには、開発バージョンと実行時バージョンの2つのバージョンがあります。開発バージョンのJoltBeanの名前にはそれぞれ、接尾辞Dev
が付きます。実行時バージョンのクラスの名前にはそれぞれ、接尾辞Rt
が付きます。たとえば、JoltBeanクラスの場合、開発バージョンはJoltBeanDev
となり、実行時バージョンはJoltBeanRt
となります。
開発プロセス中は、開発バージョンのJoltBeansを使用してください。開発JoltBeansには、グラフィックIDEでの開発に役立つ追加のプロパティが用意されています。たとえば、JoltBeansのグラフィック・プロパティ(bean information)を使用すると、開発環境でJoltBeansをグラフィック・アイコンとして操作できます。
実行時バージョンのJoltBeansには、このような追加のプロパティはありません。実行時には、Beansの追加の開発プロパティは必要ありません。ランタイムBeansは、開発バージョンのJoltBeansの簡易版です。
開発環境でアプリケーションをコンパイルすると、開発Beansを使用してコンパイルされます。ただし、開発環境外部でコマンド行からコンパイルを実行する場合は、アプリケーションのコンパイル時にランタイムBeansが使用されるようにCLASSPATH
を設定することをお薦めします。
これらの手順については、以降の各項で詳しく説明します。JoltBeansのウォークスルーでは、例を示しながらこれらの手順について説明します。
JavaBeansはイベントを介して通信します。Oracle TuxedoシステムとJavaBeans環境では、イベントの概念が異なります。Oracle Tuxedoアプリケーションでは、イベントはアプリケーションのある部分で発生し、同じアプリケーションの他の部分に通知されます。JoltBeansイベントは複数のBean間で伝達されます。
Oracle Tuxedoでは、ブローカ・イベント通知および非請求イベント通知がサポートされています。Joltには、JoltクライアントがOracle Tuxedoイベントを受信するためのメカニズムが備わっています。JoltBeansにもこの機能が備わっています。
注: | Oracle Tuxedoのイベントのサブスクリプションおよび通知は、JavaBeansのイベントとは異なります。 |
次の手順では、JoltBeansアプリケーションでOracle Tuxedoの非同期通知メカニズムがどのように使用されるかを示します。
setEventName()
メソッドおよびsetFilter()
メソッドを使用して、サブスクライブするOracle Tuxedoイベントを指定します。subscribe()
メソッドがコールされます。serviceReturned()
をコールして、JoltOutputEventをそのリスナーに送信します。JoltOutputEventオブジェクトにはOracle Tuxedoイベントのデータが含まれています。 クライアントはイベントを受信する必要がなくなると、JoltUserEventBeanでunsubscribe()
をコールします。
注: | クライアントが非請求型イベントのみにサブスクライブする場合は、プロパティ・シートを使用して設定できるsetEventName ("\\.UNSOLMSG") を使用します。EventName とFilter は、JoltUserEventBeanのプロパティです。 |
JoltBeansを使用して作成されたJoltクライアントのアプレットやアプリケーションは通常、Jolt対応GUI Beans (JoltTextFieldやJoltList)とJoltBeans (JoltServiceBeanやJoltSessionBean)で構成されています。Bean間での通信は主に、JavaBeansイベントを介して行われます。
Jolt対応Beansは、JoltInputEventのソース、JoltOutputEventのリスナー、またはその両方です。JoltServiceBeansは、JoltOutputEventのソースおよびJoltInputEventのリスナーです。
Jolt対応GUI Beansはプロパティとメソッドを公開しているため、Beansを(JoltServiceBeanで表される)Oracle Tuxedoサービスのパラメータに直接リンクできます。Jolt対応Beansは、内容が変更された場合、JoltInputEventを介してJoltServiceBeanに通知します。JoltServiceBeanは、サービス・コールの後で応答データが使用可能になると、登録されているすべてのJolt対応BeansにJoltOutputEventを送信します。Jolt対応GUI Beansには、サービスの対応する出力パラメータで内容を更新するロジックが含まれています。
図6-1は、JoltBeans間の関係を表しています。
JoltBeansツールキットには、次のBeansが含まれています。
これらのコンポーネントは、一般的なJavaBeanの機能(再利用が簡単、開発をグラフィカルに行うことができる、など)をすべて備えた状態でJoltクラス・ライブラリ全体をBeansコンポーネントに変換します。
JoltBeansのクラス、コンストラクタおよびメソッドの詳細は、オンラインのOracle Jolt APIリファレンスを参照してください。
JoltSessionBeanはOracle Tuxedoセッションを表し、JoltSessionクラス、JoltSessionAttributeクラスおよびJoltTransactionクラスの機能をカプセル化します。JoltSessionBeanには、Oracle Tuxedoセッションをオープンまたはクローズするメソッドに加え、タイムアウトやOracle Tuxedoユーザー名などのセッション属性やセキュリティ属性の設定に使用するプロパティがあります。
JoltSessionBeanは、Oracle Tuxedoセッションが確立またはクローズされるときにPropertyChangeイベントを送信します。PropertyChangeは、java.beans
パッケージ内で定義されている標準的なBeanイベントです。このイベントの目的は、ソースBean内のプロパティ値の変更を他のBeanに通知することです。この場合、ソースはJoltSessionBean、ターゲットはJoltServiceBeansまたはJoltUserEventBeans、プロパティ変更はJoltSessionBeanのLoggedOnプロパティです。ログオンが成功してセッションが確立されると、LoggedOnはtrue
に設定されます。ログオフが成功してセッションがクローズすると、LoggedOnプロパティはfalse
に設定されます。
JoltSessionBeanには、beginTransaction()
、commitTransaction()
、rollbackTransaction()
など、トランザクションを制御するためのメソッドが用意されています。
表6-1に、JoltSessionBeanのプロパティとその説明を示します。
JoltServiceBeanはリモートのOracle Tuxedoサービスを表します。サービス名は、JoltServiceBeanのプロパティとして設定されます。JoltServiceBeanは、他のBeanからのJoltInputEventをリスニングし、その入力バッファを設定します。JoltServiceBeanには、サービスを起動するためのcallService()
メソッドがあります。JoltServiceBeanは、サービスの出力情報を伝達するJoltOutputEventのイベント・ソースです。callService()
が成功すると、応答メッセージを伝達するJoltOutputEventを介してイベント・リスナーBeanに通知されます。
JoltServiceBeanの基礎となるメッセージ・バッファの変更および問合せには通常はイベントが使用されますが、JoltServiceBean には基礎となるメッセージ・バッファに直接アクセスするためのメソッド(setInputValue(…)
やgetOutputValue(…)
など)も用意されています。
表6-2に、JoltServiceBeanのプロパティとその説明を示します。
JoltUserEventBeanは、Oracle Tuxedoイベントへのアクセスを提供します。サブスクライブまたはサブスクライブ解除するOracle Tuxedoイベントを定義するには、このBeanの適切なプロパティ(イベント名およびイベント・フィルタ)を設定します。実際のイベント通知は、JoltSessionBeanからJoltOutputEvent形式で送信されます。
表6-3に、JoltUserEventBeanのプロパティとその説明を示します。
Jolt対応GUI BeansはJava AWT Beansと Swing Beansで構成されており、Java Abstract Windowing Toolkitを継承しています。次が含まれます:
注: | コンパイル時のエラーを回避するため、2つのパッケージからのBeanを組み合せて使用するのではなく、AWT BeanどうしまたはSwing Beanどうしで使用することをお薦めします。 |
これは、java.awt.TextField
およびSwing JTextfield
をJolt対応に拡張したものです。JoltTextFieldにはサービスの入力パーツが含まれます。JoltServiceBeanはJoltTextFieldによって発生したイベントをリスニングできます。JoltTextFieldは、内容が変更されるとリスナー(通常はJoltServiceBean)にJoltInputEventを送信します。
JoltTextField はサービスからの出力を表示します。この場合、JoltTextFieldはJoltServiceBeanからJoltOutputEventをリスニングし、リンクされたフィールドのオカレンスに従ってその内容を更新します。
これはjava.awt.Label
およびSwing JLabel
をJolt対応に拡張したものであり、JoltFieldNameプロパティによってJolt出力バッファ内の特定のフィールドにリンクされています。フィールドが複数のオカレンスを持つ場合、このtextfieldがリンクされるオカレンスは、このBeanのoccurrenceIndexプロパティによって指定されます。JoltLabelをJoltServiceBeanに接続して、サービスからの出力を表示できます。JoltLabelはJoltServiceBeanからJoltOutputEventをリスニングし、リンクされたフィールドのオカレンスに従ってその内容を更新します。
これは、java.awt.List
およびSwing Jlist
をJolt対応に拡張したものであり、JoltFieldNameプロパティによってJoltの入力バッファまたは出力バッファ内の特定のJoltフィールドにリンクされています。Jolt入力バッファ内でフィールドが複数のオカレンスを持つ場合、このリストがリンクされるオカレンスは、このBeanのoccurrenceIndexプロパティによって指定されます。JoltListは次の2通りの方法でJoltServiceBeanに接続できます。
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は、java.awt.Choice
およびSwing JChoice
をJolt対応に拡張したものであり、JoltFieldNameプロパティによってJolt入力バッファ内の特定のフィールドにリンクされています。フィールドが複数のオカレンスを持つ場合、このchoiceがリンクされるオカレンスは、このBeanのoccurrenceIndexプロパティによって指定されます。
JoltChoiceをJoltServiceBeanと接続して、サービスの入力の一部を含めることができます。JoltServiceBeanはJoltChoiceによって発生したイベントをリスニングできます。choiceboxの選択内容が変わると、JoltChoiceはリスナー(通常はJoltServiceBean)にJoltInputEventを送信します。この場合、JoltInputEventは選択されたアイテムの単一の値で設定されます。
注: | これらのクラスの詳細は、Oracle Jolt APIリファレンスを参照してください。 |
ほとんどのJoltBeansプロパティの値は、次の「プロパティ・リスト: 「...」ボタン」の図に示す統合開発環境(IDE)(Visual Caféなど)のプロパティ・リストで、右側の列を編集することにより変更できます。
JoltBeansの一部のプロパティに対しては、カスタム・プロパティ・エディタが用意されています。
カスタム・プロパティ・エディタにはプロパティ・リストからアクセスでき、プロパティ値の変更に使用するダイアログ・ボックスがあります。カスタム・プロパティ・エディタを起動するには、対応するプロパティ値の隣にある「...」ボタンをクリックします。
「...」ボタンを選択すると、図6-3に示すようなプロパティ・エディタが表示されます。
JoltBeansのカスタム・プロパティ・エディタは、キャッシュされた情報を読み取ります。最初はキャッシュされた情報がないため、プロパティ・エディタを初めて使用するときは、このダイアログ・ボックスには何も表示されません。Joltリポジトリにログオンし、リポジトリからプロパティ・エディタ・キャッシュをロードします。
ログオンおよびプロパティ・リストとプロパティ・エディタの使用方法の詳細は、「Joltリポジトリの使用とプロパティ値の設定」を参照してください。
このウォークスルーでは、次の目的で使用するアプレットの作成方法について説明します。
図6-4は、JoltBeansを含む完成したJavaフォームの例を示しています。このアプレットにより、Oracle Tuxedoに組み込まれているBANKAPPサンプルのINQUIRYサービスのクライアント機能が実装されます。このサンプルを実行するには、Oracle Tuxedoサーバーが実行されている必要があります。
Javaフォームで必要な各アイテムの例は、図「Visual Café 3.0フォーム・デザイナ」を参照してください。図の各アイテムについては、次の表「必要なフォーム要素」で説明しています。
この例は、Visual Café 3.0の統合開発環境(IDE)を使用して作成されたサンプル・フォームです。この例は、口座IDを入力し、Oracle Tuxedoサービスを使用して口座残高を取得して表示するためのアプレットの作成方法を示しています。
注: | 以前のVisual Caféのバージョンに用意されていたグラフィカル・インタフェースは、Visual Café 3.0のインタフェースとは異なります。このサンプル・アプレットは、以前のバージョンのVisual Caféを使って作成することもできますが、インタラクション・ウィザードでの手順が若干異なります。 |
「Visual Café 3.0のフォーム・デザイナ」は、フォーム・デザイナのパレットに配置されたJoltBeansがどのように表示されるかを示しています。
「JoltTextFieldのプロパティ・リストとカスタム・プロパティ・エディタの例」は、テキスト・フィールドのプロパティ・リストにあるJoltFieldNameを選択すると、カスタム・プロパティ・エディタがどのように表示されるかを示しています。
注: | JoltBeansのプロパティの設定と変更の詳細は、「Joltリポジトリの使用とプロパティ値の設定」を参照してください。 |
表6-5に、設定する必要があるプロパティ値を示します。太字およびイタリックのテキストで示した値は必須値であり、普通の文字で示した値は推奨値です。
注: | この例では、occurrenceIndexのデフォルト値0は両方のJoltTextFieldに有効です。 |
JoltBeanのプロパティについての一般的な説明については、次の「JoltTextFieldのプロパティ・リストとカスタム・プロパティ・エディタの例」および「Joltリポジトリの使用とプロパティ値の設定」を参照してください。
変更内容は、「JoltFieldNameを変更したJoltTextFieldプロパティ・リスト」のプロパティ・リストと「プロパティが変更されたアプレット・フォーム・デザイナの例」のテキスト・フィールドに反映されます。
注: | カスタム・プロパティ・エディタに表示されるプロパティはローカルにキャッシュされます。そのため、元のデータベースが変更された場合は、「リフレッシュ」ボタンを押さないと、最新の使用可能なプロパティが表示されません。 |
次の「プロパティが変更されたアプレット・フォーム・デザイナの例」は、Beanのプロパティ・リストのフィールドにテキストを追加した後、ボタンやテキスト・フィールドのテキストがどのように変わるかを示します。
すべてのBeanがフォーム上に配置され、プロパティを設定した後、それらのイベントを関連付けます。次の「JoltBeansを関連付ける順序」は、Beanを関連付ける際の手順の例を示しています。
Beanをワイヤリングすると、様々なフォームのBean間のイベント・ソースとイベント・リスナーの関係を確立できます。たとえば、JoltServiceBeanはボタンのActionEventのリスナーであり、このイベントをリスニングしたときにcallService()
を呼び出します。Visual Caféのインタラクション・ウィザードを使ってBeanどうしを関連付けてください。
図6-10は、このサンプル・アプレットを作成するためにBeanどうしを関連付ける順序を示しています。この図の中の数字は、続く手順説明の番号と対応しています。
以下の手順は、「JoltBeansを関連付ける順序」に示した番号に対応しています。これらの手順は、次の項でさらに詳しく説明します。
ステップ1: JoltSessionBeanとログオンを関連付ける
ステップ2: propertyChangeを使用してJoltSessionBeanをJoltServiceBeanに関連付ける
ステップ3: JoltInputEventを使用して入力項目accountIDのJoltTextFieldをJoltServiceBeanに関連付ける
ステップ4: JoltActionを使用してボタンをJoltServiceBeanに関連付ける
ステップ5: JoltOutputEventを使用してJoltServiceBeanをBalanceのJoltTextFieldに関連付ける
ステップ6: JoltSessionBeanとログオフを関連付ける
ステップ7: アプレットをコンパイルする (図には表示されていません)
図「ComponentShownイベントの選択」に示すような「インタラクション・ウィザード」ウィンドウが表示され、次のプロンプトが表示されます。
「What event in JApplet1 do you want to start the interaction?」というメッセージが表示されます。
「インタラクション・ウィザード」ウィンドウが表示されます(「「Logon to the TUXEDO System」を選択する」を参照)。
「What do you want to happen when Japplet1 fires componentShown event?」というメッセージが表示されます。
「ステップ1: JoltSessionBeanとログオンを関連付ける」を終了すると、アプレットを最初に開いたときに送信されるイベント(例: ComponentShown)で、JoltSessionBeanのlogon()
メソッドをトリガーできるようになります。
「インタラクション・ウィザード」ウィンドウが表示されます(「「propertyChange」イベントを選択する」を参照)。
「What event in joltSessionBean1 do you want to start the interaction?」というメッセージが表示されます。
「インタラクション・ウィザード」ウィンドウが表示されます(「「Handle a Jolt property change event」を選択する」を参照)。
「What do you want to happen when joltSessionBean1 fires propertyChange event?」というメッセージが表示されます。
「インタラクション・ウィザード」ウィンドウが表示されます(「「joltSesssionBean1」を選択する」を参照)。
「How do you want to supply the parameter to this method?」というメッセージが表示されます。
「ステップ2: propertyChangeを使用してJoltSessionBeanをJoltServiceBeanに関連付ける」を終了すると、logon()
完了時にJoltSessionBeanがpropertyChangeイベントを送信できるようになります。JoltServiceBeanはこのイベントをリスニングし、サービスをこのセッションに関連付けます。
次の図のように、「インタラクション・ウィザード」ウィンドウが表示されます。
「What event in accountId do you want to start the interaction?」というメッセージが表示されます。
「インタラクション・ウィザード」ウィンドウが表示されます(「オブジェクトとして「inquiry」、アクションとして「Handle a Jolt input event」を選択する」を参照)。
「What do you want to happen when accountId fires dataChanged event?」というメッセージが表示されます。
「Handle a jolt input event」
を選択します(図6-19を参照)。「オブジェクトとして「accountId」、アクションとして「Get the current Jolt Input Event」を選択する」に示すような「インタラクション・ウィザード」ウィンドウが表示され、次のプロンプトが表示されます。
「How do you want to supply the parameter to this method?」というメッセージが表示されます。
「ステップ3 : JoltInputEventを使用して入力としてのaccountID JoltTextFieldをJoltServiceBeanに関連付ける」を完了すると、最初のテキスト・フィールドに口座番号を入力できるようになります。このJoltTextFieldのJoltFieldNameプロパティがACCOUNT_IDに設定されます。このテキスト・ボックス内のテキストが変更されるたびに、JoltInputEventがJoltServiceBeanに送信されます。(JoltServiceBeanは、このテキスト・ボックスからJoltInputEventをリスニングします。)JoltInputEventオブジェクトには、このフィールドの名前、値、およびオカレンス索引が含まれます。
次の図のように、「インタラクション・ウィザード」ウィンドウが表示されます。
「What event in button1 do you want to start the interaction?」というメッセージが表示されます。
「inquiry」オブジェクトおよび「Invoke the TUXEDO Service...」アクションを選択する図に示すような「インタラクション・ウィザード」ウィンドウが表示され、次のプロンプトが表示されます。
「What do you want to happen when button1 fires actionPerformed event?」というメッセージが表示されます。
「ステップ4: JoltActionを使用してボタンをJoltServiceBeanに関連付ける」を終了すると、JoltServiceBeanのcallService()
メソッドを、「Inquiry」ボタンからActionEventでトリガーできます。
次の図のように「インタラクション・ウィザード」ウィンドウが表示されます。
「What event in inquiry do you want to start the interaction?」というメッセージが表示されます。
図「オブジェクトとして「balance」を選択し、アクションとして「Handle a service returned event」を選択する」に示すような「インタラクション・ウィザード」ウィンドウが表示され、次のプロンプトが表示されます。
「What do you want to happen when inquiry fires serviceReturned event?」というメッセージが表示されます。
「インタラクション・ウィザード」ウィンドウが表示されます(「オブジェクトとして「inquiry」、アクションとして「Get the JoltOutputEvent object」を選択する」を参照)。
「How do you want to supply the parameter to this method?」というメッセージが表示されます。
「ステップ5: JoltOutputEventを使用してJoltServiceBeanをBalanceのJoltTextFieldに関連付ける」を終了すると、JoltServiceBeanはリモートのサービスから応答データを受信したときにJoltOutputEventを送信することができるようになります。JoltOutputEventオブジェクトには、出力バッファのフィールドにアクセスするためのメソッドが入っています。JoltTextFieldはINQUIRYサービスの結果を表示します。
次の図のように「インタラクション・ウィザード」ウィンドウが表示されます。
「What event in JApplet1 do you want to start the interaction?」というメッセージが表示されます。
「インタラクション・ウィザード」ウィンドウが表示されます(「オブジェクトとして「joltSessionBean1」、アクションとして「Logoff from the TUXEDO system」を選択する」を参照)。
「What do you want to happen when JApplet1 fires componentHidden event?」というメッセージが表示されます。
「ステップ6: JoltSessionBeanとログオフを関連付ける」を終了すると、アプレットが非表示になったときに送信されるイベント(例: componentHidden)が、JoltSessionBeanのlogoff()
メソッドをトリガーできるようになります。
JoltBeansどうしをワイヤリングした後、アプレットをコンパイルします。また、例外処理用に空のキャッチ・ブロックに値を入力することもお薦めします。メッセージ・ウィンドウに、コンパイル・エラーや例外がないか確認します。
詳細は、「Joltリポジトリの使用とプロパティ値の設定」を参照してください。また、「JoltBean専用プロパティ」の表と「JoltServiceBeanプロパティ・エディタ」の図を参照してください。
サンプル・アプリケーションを実行するには、Oracle Tuxedoサーバーが実行されていなければなりません。次に、口座番号を「Account ID」フィールドに入力します。BANKAPPデータベース内にある口座番号であれば、どの口座番号を使用してもかまいません。次の2つの口座番号は、サンプル・アプリケーションで使用できる口座番号の例です。
カスタム・プロパティ・エディタは以下のプロパティのために用意されています。
プロパティ・リストからアクセスされるプロパティ・エディタには、プロパティを追加または変更するときに使用するダイアログ・ボックスが含まれています。対応するプロパティ値の隣にある「...」ボタンを選択することにより、このダイアログ・ボックスをプロパティ・リストから呼び出すことができます。
JoltBeansの中には、プロパティ・リスト・フィールドへの入力が必要なものもあります。表6-6に、Beansをリストします。
プロパティ・エディタは、リポジトリからキャッシュされた情報を読み取り、使用可能なサービス名とリストボックスのデータ要素を返します。ServiceNameのプロパティ・エディタの例を、次の「JoltServiceBeanのプロパティ・エディタ」に示します。
Beanのプロパティを追加または変更するには、以下の手順に従います。
注: | Repositoryデータベースに接続できない、または接続したくない場合は、テキスト・ボックスにサービス名を入力し、ステップ7に進んでください。 |
図6-30に示すような「JoltBeans Repositoryログオン」が表示されます。
カスタム・プロパティ・エディタがリポジトリからキャッシュをロードします(「サービスが選択されたプロパティ・エディタ」を参照)。
テキストボックスに入力した内容がBeanのプロパティに設定されます。
Oracle Tuxedoアプリケーション・サービスが、データベースを更新する機能を持つ場合があります。この場合は、JoltBeansでトランザクションを使用できます。たとえばBANKAPPでは、TRANSFERとWITHDRAWALのサービスがBANKAPPのデータベースを更新します。アプリケーション・サービスが読取り専用(例: INQUIRY)の場合には、トランザクションを使用する必要はありません。
以下は、JoltBeansでトランザクションを使用する例です。
JoltBeansには、Jolt対応の限定されたGUIコンポーネント・セットが用意されています。また、Jolt対応でないコントロールをJoltServiceBeanと一緒に使用することもできます。JoltServiceBeanには、JoltServiceBeanによって表されるサービスの出力情報を表示するコントロールをリンクできます。また、入力情報を表示するコントロールをリンクすることもできます。
たとえば、GUI要素はJoltOutputListenerインタフェースを実装するアダプタ・クラスを使用して、JoltOutputEventをリスニングできます。JoltServiceBeanはJoltOutputEventのイベント・ソースとして、JoltOutputEventを送信するときにアダプタ・クラスのserviceReturned()
メソッドを呼び出します。serviceReturned()
の内部では、イベント・オブジェクトからの情報を使用して、コントロールの内部データが更新されます。
開発ツールは、JoltServiceBeanとGUI要素が関連付けられるとアダプタ・クラスを生成します。
2つ目の例として、GUI要素はJoltServiceBeanのsetInputTextValue()
メソッドを呼び出すことができます。GUI要素にはJoltServiceBeanによって表されるOracle Tuxedoサービスへの入力データが含まれています。
3つ目の例として、GUI要素は必要なメソッド(addJoltInputListener()
とremoveJoltInputListener()
)を実装でき、JoltInputEventのイベント・ソースとしての役割を果たします。JoltServiceBeanは、これらのイベントのイベント・リスナーとしての役割を果たします。コントロールは、状態が変わる場合にJoltInputEventを送信して、入力情報でJoltServiceBeanを更新します。
![]() ![]() ![]() |