IBM Rational Host Access Transformation Services V8.0
by user
Comments
Transcript
IBM Rational Host Access Transformation Services V8.0
IBM Rational Host Access Transformation Services V8.0 RESTful Web サービス開発 チュートリアル 第 4 回 HATS RESTful Web サービス使用時の考慮事項 日本 IBM システムズ・エンジニアリング(ISE) 株式会社 2012 年 3 月 『HATS V8.0 RESTful Web サービス開発チュートリアル』 目次 目次 ...................................................................................................................................... 2 4. HATS RESTful Web サービス使用時の考慮点について............................................... 3 4.1. LU (3270) / WorkstationID (5250)について.......................................................... 3 4.2. 接続プールについて ............................................................................................... 3 4.2.1. 4.3. 接続プールの設定............................................................................................ 4 マクロのチューニングについて ............................................................................. 5 4.3.1. 「一時停止時間」の調整................................................................................. 5 4.3.2. マクロ処理のスレッド数の最大値................................................................. 11 5. まとめ.......................................................................................................................... 15 6. 参考文献 ...................................................................................................................... 15 2/15 © 2012 IBM Corporation 『HATS V8.0 RESTful Web サービス開発チュートリアル』 4. HATS RESTful Web サービス使用時の考慮点について ここでは、HATS RESTful Web サービスを使用する際に考慮すべき観点や設定について説 明します。 4.1. LU (3270) / WorkstationID (5250)について TN3270 / TN5250 では、セッション確立時に Telnet クライアントと Telnet サーバー間で ネゴシエーションし、端末を一意に識別する ID を決定します。この端末 ID が TN3270 で は「LU」に相当し、TN5250 では「WorkstationID」に相当します。 HATS では、ホスト(Telnet サーバー)から見た Telnet クライアントは HATS サーバーに なり、端末 ID は HATS アプリケーションに設定します。当チュートリアルのように照会処 理のみ Web サービス化するということを前提として、Web サービス用に照会処理が実行可 能な端末 ID をいくつか用意して HATS アプリケーションに設定することで、Web サービ ス実行時は使用可能な端末 ID を動的に割り当てて使いまわすことができます。その場合の 設定方法につきましては下記資料の P.40-「端末 ID 固定方法 C) HATS 用に端末 ID を新規 作成して使用する場合」をご参照ください。 「HATS における端末 ID 固定ガイド」 http://www.ibm.com/developerworks/jp/rational/library/em/cms/hats_terminal_id/ ユーザーごとに LU を固定して使用する必要がある場合は、Web サービス呼び出し時に端 末 ID を接続パラメーターとしてオーバーライドすることが可能です。Web サービスにおけ る接続パラメーターのオーバーライドの方法については、下記資料をご参照ください。 「HATS RESTful Web サービス開発ガイド」 http://www.ibm.com/developerworks/jp/rational/library/em/cms/hats_restfulweb_guide/ なお、この場合ユーザーと LU / WorkstationID を紐付けて、接続パラメーターとして指定 する仕組みが別途必要となります。 4.2. 接続プールについて このチュートリアルでは、HATS RESTful Web サービスが呼び出されるごとに新規接続を 確立し、結果を取得後、接続を切断しています。そのため RESTful Web サービスを実行す る度にホストとの接続/切断処理のオーバーヘッドがかかっています。接続プールを使用す ることで、ホスト接続を接続確立後の状態で待機させておき、複数のユーザー間で使いま わすことができます。これにより、接続確立のオーバーヘッドを縮小させることができま す。 3/15 © 2012 IBM Corporation 『HATS V8.0 RESTful Web サービス開発チュートリアル』 なお、前節の「LU (3270) / WorkstationID (5250)について」で説明した、接続パラメータ ーのオーバーライドを使用して端末 ID を固定する場合、接続プールを併用することはでき ません。端末 ID を固定する場合は、接続開始時に接続パラメーターとしてオーバーライド する必要があるためです。 4.2.1. 接続プールの設定 接続プールは接続ファイルの「プール」タブにて設定します。「プールを使用可能にする」 にチェックを入れてください。 「接続タイムアウト」や「接続限界」の設定の詳細については、下記資料を参照してくだ さい。 「HATS V8.0 機能ガイド」の「11-2. 統合オブジェクトの接続設定」 http://public.dhe.ibm.com/software/dw/jp/rational/library/em/cms/hats80_ws_lecture/ha tsv80_11_2_ioconnect.pdf 以上で接続プールの設定は完了です。HATS プロジェクトをデバッグ・モードで実行して 接続プールの動作を確認します。(WAS が既に開始済みの場合は、設定を反映するために WAS を再起動します。)RESTful Web サービス・クライアントは、 「Poster」を使用するか、 あるいは「3. RESTful Web サービス・クライアントの例」で作成した HTML ファイルを 使用することができます。 4/15 © 2012 IBM Corporation 『HATS V8.0 RESTful Web サービス開発チュートリアル』 4.3. マクロのチューニングについて HATS RESTful Web サービスの実態は HATS マクロです。従って、マクロのチューニング をすることで RESTful Web サービスのパフォーマンスを改善できる場合があります。マク ロにおけるチューニングのポイントは以下の 2 点です。 4.3.1. 「一時停止時間」の調整 マクロ・ランタイムはユーザーが操作するよりもはるかに迅速にアクションを実行します。 そのため、アクションの前後で依存関係がある場合でも正しくアクションが実行されるよ うに、各アクションの実行後に遅延時間がデフォルトで設定されています。この遅延時間 をチューニングすることでマクロのパフォーマンスが向上する場合があります。ただし、 遅延時間を小さくしすぎるとアクションが正しく実行されない可能性がありますので注意 が必要です。 1) マクロ内の全画面に対する設定 HATS はデフォルトでマクロ内の全画面に対して、「一時停止時間」が設定されています。 「一時停止時間」は以下のように動作します。 ・ 各マクロ画面の最後のアクション以外のすべての入力アクションとプロンプト・アクシ ョンの後に、設定値の 50%の時間一時停止 ・ 各マクロ画面の最後のアクション後に、設定値の 100%の時間一時停止 5/15 © 2012 IBM Corporation 『HATS V8.0 RESTful Web サービス開発チュートリアル』 「一時停止時間」は Visual Macro Editor (VME)を使用して設定変更することができます。 「HATS プロジェクト」ビューよりマクロを右クリックし、「アプリケーションから開く」 →「Visual Macro Editor」を選択します。そして、 「設計」タブの空白部分を右クリックし、 「プロパティー」を選択します。 マクロのプロパティーを設定するダイアログが表示されます。左メニューの「一般」の「ア クション間の一時停止」にて設定を変更します。 6/15 © 2012 IBM Corporation 『HATS V8.0 RESTful Web サービス開発チュートリアル』 2) マクロ内の画面ごとの設定 マクロ内の特定の画面においてのみ一時停止時間を調整したい場合は、「拡張エディター」 を使用します。マクロを右クリックし、「アプリケーションから開く」→「マクロ・エディ ター」を選択します。 「概要」タブの「拡張エディター」ボタンをクリックすると、「拡張エディター」が起動し ます。 7/15 © 2012 IBM Corporation 『HATS V8.0 RESTful Web サービス開発チュートリアル』 「画面」タブより設定したい画面を選択し、「一般」タブの「休止時間の設定」より設定し ます。 3) マクロの「一時停止」アクション 前述の全画面または画面ごとの「一時停止時間」は、各マクロ画面のアクション間の一時 停止時間と最後のアクション後の一時停止時間の設定になります。このうち最後のアクシ ョン後の一時停止時間が短すぎると、HATS がホストから次の画面を完全に受信する前に、 マクロで定義されている次画面のアクションを実行してしまい、正しく動作しない可能性 があります。このような場合は、画面の最後のアクションとして「一時停止」アクション 8/15 © 2012 IBM Corporation 『HATS V8.0 RESTful Web サービス開発チュートリアル』 を追加することで、最後のアクション後の一時停止時間のみを調整することができます。 これにより、HATS がホストから完全に画面データを受信してから次のアクションを実行 させることができます。なお、この「一時停止」アクションで設定した時間は、前述の「一 時停止時間」によって発生する待機時間に加算されます。 「一時停止」アクションは Visual Macro Editor (VME)を使用して追加できます。 「HATS プロジェクト」ビューよりマクロを右クリックし、 「アプリケーションから開く」→「Visual Macro Editor」を選択します。 マクロが開いたら、「設計」タブより「一時停止」アクションを追加したい画面を右クリッ クし、「プロパティー」を選択します。 画面プロパティーが表示されたら、左メニューより「アクション」を選択し、「追加」ボタ ンをクリックします。 9/15 © 2012 IBM Corporation 『HATS V8.0 RESTful Web サービス開発チュートリアル』 「一時停止」アクションを選択し、 「次へ」をクリックします。 一時停止時間(ミリ秒)を指定し、 「終了」をクリックします。 10/15 © 2012 IBM Corporation 『HATS V8.0 RESTful Web サービス開発チュートリアル』 「一時停止」アクションの追加が完了したら、 「OK」をクリックしてマクロを保存します。 以上の設定を調整することでマクロの「一時停止時間」のチューニングをします。 4.3.2. マクロ処理のスレッド数の最大値 HATS ランタイムは、マクロを実行するためのイベント・スレッドの最大数が決められて います。マクロを実行するためにスレッド・プールからスレッドを確保し、マクロ処理終 了後プールに戻します。そのため、ユーザーが同時にマクロ(RESTful Web サービス)を 実行する数が HATS のスレッド最大数を超える場合、スレッド最大数を超過したマクロの 実行はプールにスレッドが戻されるまで待機することになります。HATS のデフォルトの スレッド最大数は「10」です。一時点で 10 ユーザー以上が同時に RESTful Web サービス を呼び出す可能性がある場合は、この値を増やすことでマクロ実行の待機時間を縮小する ことができます。設定できるスレッド数の最大値に上限はありませんが、スレッドごとに JVM メモリーが必要となりますのでご注意ください。 HATS ランタイムのスレッド最大数は、WAS の Java 仮想マシンに対する設定(汎用 JVM 引数)にて上書き設定することができます。汎用 JVM 引数の設定は、WAS の管理コンソ ールより設定します。ここでは、開発ツールである RAD 上の WAS V8.0 テスト環境を使用 します。 「サーバー」ビューより、WAS V8.0 を右クリックし、 「管理」→「管理コンソール 11/15 © 2012 IBM Corporation 『HATS V8.0 RESTful Web サービス開発チュートリアル』 の実行」を選択します。 管理コンソールにログインしたら、左メニューより「サーバー」→「サーバー・タイプ」 →「WebSphere Application Server」を選択し、右側のコンテンツよりサーバー(ここで は「server1」)を選択します。 12/15 © 2012 IBM Corporation 『HATS V8.0 RESTful Web サービス開発チュートリアル』 「構成」タブより「サーバー・インフラストラクチャー」→「Java およびプロセス管理」 →「プロセス定義」を選択します。 13/15 © 2012 IBM Corporation 『HATS V8.0 RESTful Web サービス開発チュートリアル』 「追加プロパティー」から「Java 仮想マシン」を選択します。 「汎用 JVM 引数」欄に「-DmaxHODEventThreads=20」を追記して最大スレッド数(こ こでは 20)を指定します。 設定が完了したら「OK」をクリックし、変更を保存します。サーバーを再起動して変更を 反映します。以上で HATS の最大スレッド数の設定は完了です。 14/15 © 2012 IBM Corporation 『HATS V8.0 RESTful Web サービス開発チュートリアル』 5. まとめ 当チュートリアルを通して、HATS RESTful Web サービスの開発方法および使用例につい て学習しました。HATS RESTful Web サービスは、HATS Toolkit により GUI で簡単に作 成することができます。また HATS RESTful Web サービスを利用することで、ブラウザー からホスト上のデータを取得して、Web システムとのデータ連携を容易に行うことができ ることをご理解いただけたのではないでしょうか。 6. 参考文献 • はじめての HATS アプリケーション開発 ~動画デモによる徹底解説~ http://www-06.ibm.com/software/jp/rational/solutions/em/hats/demo/index.html • IBM Rational Host Access Transformation Services V7.5.1 開発ガイド -初心者 のためのはじめの一歩- http://www.ibm.com/developerworks/jp/rational/library/em/cms/hats751_develop mentguide/ • HATS V8.0 新機能ガイド http://www.ibm.com/developerworks/jp/rational/library/em/cms/hats80guide/ • HATS V8.0 機能ガイド http://www.ibm.com/developerworks/jp/rational/library/em/cms/hats80_ws_lectur e/ • HATS V8.0 機能ガイド(ハンズオン編) http://www.ibm.com/developerworks/jp/rational/library/em/cms/hats80_ws_hands on/ • HATS RESTful Web サービス開発ガイド http://www.ibm.com/developerworks/jp/rational/library/em/cms/hats_restfulweb_ guide/ • HATS における端末 ID 固定ガイド http://www.ibm.com/developerworks/jp/rational/library/em/cms/hats_terminal_id/ • Rational developerWorks Japan エンタープライズ・モダナイゼーション http://www.ibm.com/developerworks/jp/rational/library/em/index.html • HATS V8.0 マニュアル(Information Center) http://publib.boulder.ibm.com/infocenter/hatshelp/v80/topic/com.ibm.hats.doc/nl/e n/doc/doc_ja.htm 15/15 © 2012 IBM Corporation