IBM Rational Host Access Transformation Services V7.5.1 開発ガイド ― 初心者のためのはじめの一歩 ―

第4回 エミュレーターにはない付加価値の提供

Comments

コンテンツシリーズ

このコンテンツは全#シリーズのパート#です: IBM Rational Host Access Transformation Services V7.5.1 開発ガイド ― 初心者のためのはじめの一歩 ―

このシリーズの続きに乞うご期待。

このコンテンツはシリーズの一部分です:IBM Rational Host Access Transformation Services V7.5.1 開発ガイド ― 初心者のためのはじめの一歩 ―

このシリーズの続きに乞うご期待。

4. エミュレーターにはない付加価値の提供

ここでは、従来のエミュレーターにはない付加価値をHATSにより提供するカスタマイズを行います。

4.1. グローバル変数の利用

HATSのグローバル変数はJavaの変数です。グローバル変数をうまく利用することで、様々な応用が可能です。ここでは単純な利用方法を学習します。

4.1.1. グローバル変数を利用するための準備

「HATSプロジェクト」ビューから「プロジェクト設定」をダブル・クリックしてプロジェクト設定ファイルを開きます。「その他」タブを開き、「グローバル変数のオーバーライド」を選択し、「すべてのグローバル変数をクライアント要求でオーバーライドできるようにする」を選択し、プロジェクト設定ファイルを保存してください。

4.1.2. グローバル変数の取得

ここでは、ユーザーIDとして入力された値をグローバル変数として取得します。サインオン画面をカスタマイズする必要があるため、「第3回 画面カスタマイズ」の章の「3.1. メニュー画面のカスタマイズ」の手順に従ってサインオン画面をカスタマイズします。

まず、ホスト端末を起動し、サインオン画面の画面キャプチャーを取得してください。画面キャプチャーから画面カスタマイズを作成し、「第3回 画面カスタマイズ」の章の「3.2. 入力画面のカスタマイズ」と同様、「フィールドを使用して事前設定」で変換画面を作成します。ここでは画面カスタマイズ・ファイルの名前を「SignOn」とします。

今回は作成されたJSPは編集しません。画面カスタマイズ・ファイルを編集します。サインオン画面から作成した画面カスタマイズ・ファイルが自動的に開かれているはずです。開かれていない場合は、「HATSプロジェクト」ビューから、「画面カスタマイズ」を展開し、該当するファイルをダブル・クリックしてください。

「アクション」タブを選択し、「追加」を選択します。

表示されたウィンドウから「グローバル変数を抽出」を選択し、「次へ」を選択します。

グローバル変数として抽出する入力フィールドをダブル・クリックします。入力フィールドを強調表示するため、「入力」にチェックを入れると便利です。ここではユーザーIDを入力する入力フィールドを選択し、「次へ」を選択します。

グローバル変数の名前を入力し、「終了」を選択します。ここでは「user」という名前にします。

画面カスタマイズ・ファイルに「グローバル変数を抽出」というアクションが追加されたことを確認し、ファイルを保存してください。アクションは上から順番に実行されます。今回追加したアクションは、ユーザーが画面に対してユーザーIDを入力した後に、その入力値をグローバル変数として取得する必要があります。したがって、「変換を適用」というアクションの下に「グローバル変数を抽出」アクションがくるようにしてください。アクションの順番は、「上へ」、「下へ」を選択することで変更できます。

4.1.3. グローバル変数の利用

取得したグローバル変数を表示します。画面変換用のJSPにグローバル変数を表示するコードを挿入することで、そのJSPにグローバル変数を表示することができます。ここでは、HATSのデフォルト変換に使用されるdefault.jspに挿入します。「HATSプロジェクト」ビューから、「Webコンテンツ」→「変換」を展開し、「default」をダブル・クリックしてください。

default.jspを「ソース」タブで表示します。<HATS:DefaultRendering/>の直前にカーソルを置き、その後、右クリックをして「HATSツール」→「グローバル変数の挿入」を選択してください。

表示されたウィンドウからグローバル変数を選択します。ドロップダウンに表示されない場合は、グローバル変数名を直接入力してください。グローバル変数を選択したら、「OK」を選択します。

グローバル変数を表示するためのソースが追加されたことを確認してください。今回は、グローバル変数を画面上部に表示するため、<HATS:DefaultRendering/>よりも前にソースを追加します。<HATS:DefaultRendering/>よりも後にソースを追加すると、画面下部にグローバル変数が表示されてしまいます。ソースが適切な位置に追加されていない場合は、直接ソースを編集してください。

グローバル変数が表示される位置を示すため、下記のようにソースを追加してください。

default.jspを保存し、サーバーで実行してください。サインオン画面で入力したユーザーIDが表示されるかどうかを確認します。ここで、サインオン画面やメニュー画面など、これまでにカスタマイズを行った画面はdefault.jspでは表示されないため、グローバル変数は表示されません。カスタマイズを行っていない画面まで遷移し、グローバル変数の表示の確認を行ってください。

4.2. マクロによるユーザー操作の自動化

マクロを利用することでユーザーの操作を自動化できます。ユーザーがよく行う操作を自動化することで業務の効率化を図ることができます。あるいは、操作を自動化することにより操作ミスを軽減する効果を図ることもできるかもしれません。ここでは、サインオンを自動化するマクロを作成することで、マクロの利用方法を学習します。

4.2.1. マクロの記録用

マクロを記録するためにホスト端末を起動してください。ホスト端末が起動したら、必要に応じてサインオン画面まで遷移し、ツールバーからマクロの記録を開始するアイコンを選択してください。

表示されたウィンドウから、マクロの名前を入力し、「終了」を選択します。ここではマクロ名を「SignOn」とします。

マクロを開始する画面を認識させるため、画面認識基準を設定します。「第3回 画面カスタマイズ」の章の「3.1.2. 画面カスタマイズの作成」で説明したように、画面認識基準はとても重要です。マクロを正しく開始できるよう、マクロの開始画面を一意に認識できる画面認識基準を設定してください。設定したら、「次へ」を選択します。

画面認識基準を追加する必要があれば、ここからさらに追加してください。追加する必要が無ければ、「終了」を選択してください。

ホスト端末でマクロとして記録する操作を実行します。ここで操作したとおりの操作がマクロとして記録されるため、できるだけ正確に操作を行います。マクロは後から修正できますが、この時点で正確に操作を記録することをお勧めします。ここではサインオンの操作を記録します。

サインオン画面でサインオンの操作を実行しますが、ユーザーIDとパスワードはユーザー毎に入力する必要があるため、ユーザーにプロンプトを表示する設定を行います。ホスト端末のツールバーから、「プロンプト・アクションを追加」のアイコンを選択してください。このとき、ホスト端末上のカーソルはユーザーIDを入力する入力フィールドにあることを確認してください。もしカーソルが別のところにある場合は、カーソルをユーザーIDを入力する入力フィールドに合わせてから、アイコンを選択してください。

表示されたウィンドウから、プロンプト・アクションの名前を入力し、「OK」を選択します。ここでは「userID」とします。また、カーソルを置いていた位置で「行」「列」が設定されていることも確認しておいてください。

プロンプトが表示されるので、実際に使用するユーザーIDを入力し、「OK」を選択します。

同様に、パスワードを入力する入力フィールドにカーソルを移動し、「プロンプト・アクションを追加」のアイコンを選択します。

表示されたウィンドウから、プロンプト・アクションの名前を入力し、「OK」を選択します。ここでは「password」とします。なお、入力フィールドの属性により、自動的に「非表示」にチェックが付くようになっています。

プロンプトが表示されるので、実際に使用するユーザーIDを入力し、「OK」を選択します。

サインオンに必要な入力が済んだら、実行キーなどを押してサインオンを実行します。

続けて、このアプリケーションではプログラム・メッセージが表示されるようになっています。これは通常は表示されませんが、同じユーザーIDで2つ以上のセッションを接続すると表示されます。ここではプログラム・メッセージですが、実業務においては、たとえば月末のバッチ処理を実施する日だけ、サインオン後にバッチ処理を実施することを警告するメッセージを表示するなど、ある条件のときのみ表示される画面があるかもしれません。その場合、こういった画面をマクロの中にしっかり記録しておかないと、マクロがうまく動作しない可能性があります。

マクロでの記録ですが、こういった画面が表示されている状態で、「画面認識基準の定義」のアイコンを選択します。

表示されたウィンドウから、画面認識基準を設定できます。この画面を一意に認識できる基準を設定してください。さらに、「作業中の画面」にチェックを入れます。このチェックを入れることで、この画面が表示される場合もされない場合も、マクロがうまく動作するようになります。設定を終えたら、「終了」を選択してください。

この画面を処理するのに必要な操作を行ってください。ここでは実行キーを押します。

サインオン処理を終了したら、「マクロの停止」のアイコンを選択します。

マクロを終了する画面に対し、画面認識基準を設定してください。「フィールドの数」「入力フィールドの数」「カーソル位置」にチェックが入っている場合は、チェックを外します。フィールド数やカーソル位置は変動する可能性があるため、画面認識基準として使用するのはお勧めしません。設定を終えたら、「終了」を選択してください。

マクロを記録し終えたら、マクロを保存するために「マクロを保存」のアイコンを選択してください。

続いて、マクロが正しく動作するかどうかテストを行います。ホスト端末でサインオン画面まで戻り、記録したマクロを実行してください。マクロの実行は「マクロを実行」のアイコンのすぐ右にある三角マークをクリックし、実行するマクロを選択して行います。

プロンプトが表示されるので、ユーザーIDとパスワードを入力し、「OK」を選択してください。

マクロが正常に終了するかどうかを確認してください。画面認識基準が適切でない、マクロとして記録していない想定外の画面が表示されるなどで、マクロが途中で止まってしまう場合があります。下記は誤ったユーザーIDを入力した場合です。マクロが途中で止まっています。この場合、「マクロの停止」のアイコンを選択し、マクロを停止してください。

なお、ここでは、正しいユーザーID、パスワードを入力することを前提としてマクロを作成します。

4.2.2. マクロの利用

マクロを利用するために、マクロを呼び出すボタンをJSPに設置します。「4.1.2. グローバル変数の取得」にて、サインオン画面をカスタマイズしています。このとき作成したSignOn.jspにマクロを設置します。「HATSプロジェクト」ビューから、「Webコンテンツ」→「変換」を展開し、「SignOn」をダブル・クリックしてください。「デザイン」タブで表示し、デザインの適当なところを左クリックし、デザイン全体が黒い枠で囲まれるようにします。HTML要素が追加されていない灰色の部分をクリックすると、デザイン全体が黒い枠で囲まれます。

灰色の部分で右クリックし、「HATSツール」→「マクロ・キーを挿入」を選択します。

表示されたウィンドウから、「SignOn」マクロにチェックを入れ、「OK」を選択します。

マクロを挿入したい部分を左クリックしてください。マクロ・キーが挿入されます。

マクロ・キーの表示文字を変更する場合は、マクロ・キーを選択した状態で「プロパティー」ビューを表示し、「ボタンに表示するラベル」を変更してください。値を変更後、カーソルを別のフィールドに移動すると、デザインが変更されます。「プロパティー」ビューから変更する他、ソースから直接、<input>タグの「value」を変更することもできます。

ここまでの変更を反映するため、SignOn.jspを保存してください。マクロの実際の動きをテストするため、「サーバーでデバッグ」からHATSのテストを実施します。HATSを起動したら、サインオン画面からマクロ・キーを選択してください。

ユーザーIDとパスワードを入力する画面が表示されるので、それぞれ入力し、「続行」を選択します。

マクロの操作後の画面が表示されます。

4.3. グローバル変数とマクロの組み合わせによるシングル・サインオン

グローバル変数とマクロを組み合わせることで、ホスト・アプリケーションへのシングル・サインオンを実現することができます。また、グローバル変数はHATS以外のWebアプリケーションからHATSに渡すこともできます。これを利用すると、外部Webアプリケーションから取得したユーザーID、パスワード情報を使用したシングル・サインオンが可能になります。

4.3.1. 外部Webアプリケーションからのグローバル変数の設定

外部Webアプリケーションからグローバル変数を設定する場合、HATSのURLオーバーライドという機能を使用します。HATSを起動するURLは「http://hatsserver/project/entry」ですが、このURLに「hatsgv_xxx=yyy」というパラメーターを追加します。「xxx」がグローバル変数名、「yyy」がグローバル変数の値です。たとえば、「http://hatsserver/project/entry?hatsgv_test=Hello」とすると、グローバル変数名「test」で、値が「Hello」というグローバル変数をHATSに渡すことになります。

グローバル変数を渡すテストをするために、「4.1.3. グローバル変数の利用」と同様の手順で、「test」というグローバル変数を表示できるようにdefault.jspにソースを追加します。グローバル変数挿入時、ドロップダウンから「test」の選択肢はないため、「test」を直接入力してください。ここでは下記のようなソースにします。

HATSを起動する際、以下のようなURLで起動します。

http://localhost:9080/project/entry?hatsgv_test=Hello

※projectはHATSのプロジェクト名です。

default.jspが表示される画面まで遷移し、グローバル変数の表示を確認してください。

4.3.2. グローバル変数をマクロの入力値に設定

マクロの入力値としてグローバル変数を使用することができます。こうすることで、マクロの入力プロンプトへの入力処理が不要となります。

「4.2.1. マクロの記録」で作成したマクロをカスタマイズします。「HATSプロジェクト」ビューから、「マクロ」を展開し、SignOnマクロを右クリックします。コンテキスト・メニューから、「オープン先を指定」→「Visual Macro Editor」を選択します。

マクロが開かれたら、サインオン処理をする部分をダブル・クリックします。

表示された画面から、「アクション」を選択し、ユーザーIDを入力するプロンプトを選択し、「編集」を選択します。

表示された画面から、「ハンドラー」のところで「プロンプトをグローバル変数に設定」にチェックし、「グローバル変数」として「userID」と入力し、「OK」を選択してください。入力プロンプト名と同じ名前である必要はありませんが、ここでは同じ名前としました。

同様に、パスワードの入力も「グローバル変数」として「password」を使用するように設定を変更します。

ここまでの変更を反映するため、マクロを保存してください。

4.3.3. サインオン画面のアクション変更

サインオン画面に適用しているアクションを変更します。ここまでのカスタマイズで、サインオン画面には「変換を適用」アクションが指定されています。これを削除し、SignOnマクロを自動的に実行するアクションを追加します。

「HATSプロジェクト」ビューから、「画面カスタマイズ」を展開し、サインオン画面用の画面カスタマイズをダブル・クリックします。画面カスタマイズが開いたら、「アクション」タブを選択し、「変換を適用」アクションを選択し、「除去」を選択してください。続けて、「グローバル変数を抽出」アクションも除去します。

続けて、「追加」を選択してください。

開かれたウィンドウから、「マクロを実行」を選択し、「次へ」を選択してください。

SignOnを選択し、「終了」を選択してください。

「マクロを実行」アクションが追加されたことを確認し、画面カスタマイズを保存してください。

HATSを起動し、下記のようなURLでアクセスし、サインオンが自動的に行われるかどうかをテストしてください。

http://localhost:9080/project/entry?hatsgv_userID=WHPDEMO&hatsgv_password=WHPDEMO

実際にはHTMLの下記のようなフォームから値を入力することになります。

<form action="http://localhost/project/entry" method="POST">
<input type="text" name="hatsgv_userID" value="" size="10"><br>
<input type="password" name="hatsgv_password" value="" size="10"><br>
<input type="submit" value="実行">
</form>

あるいは、HTTPヘッダーに値を乗せ、Javaなどでその値を取得し、「http://localhost/project/entry?hatsgv_userID=WHPDEMO&hatsgv_password=WHPDEMO」というようなURLを生成するロジックをコーディングし、HATSを起動することも考えられます。

今回はマクロと組み合わせましたが、HATS以外のWebアプリケーションからHATSのグローバル変数を設定することで、HATSの利用用途をさらに広げていくことが可能となります。

5. まとめ

当ガイドの連載を通して、HATSに必要な最低限のカスタマイズ、HATSをより良く利用していくための個別のカスタマイズについて学習しました。当ガイドは「初心者のためのはじめの一歩」としながらも、HATSの本番稼動用に使えるHints&Tipsをできるだけ盛り込んでいます。当ガイドで作成したHATSアプリケーションが、本番稼動用のベースとなれば幸いです。


ダウンロード可能なリソース


関連トピック


コメント

コメントを登録するにはサインインあるいは登録してください。

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Rational
ArticleID=664948
ArticleTitle=IBM Rational Host Access Transformation Services V7.5.1 開発ガイド ― 初心者のためのはじめの一歩 ―: 第4回 エミュレーターにはない付加価値の提供
publish-date=06102011