Host Access Transformation Services (HATS) 端末ID固定ガイド 日本IBM システムズ・エンジニアリング(ISE) NWコミュニケーション・システム部
by user
Comments
Transcript
Host Access Transformation Services (HATS) 端末ID固定ガイド 日本IBM システムズ・エンジニアリング(ISE) NWコミュニケーション・システム部
日本IBM システムズ・エンジニアリング(ISE) NWコミュニケーション・システム部 Host Access Transformation Services (HATS) 端末ID固定ガイド © 2010 IBM Corporation 目次 はじめに 端末IDの設定 – – 端末IDとは 従来エミュレーター vs. HATS HATSにおける端末IDの固定 端末IDの固定方法 A) 端末IDを紐付ける情報がある場合 ① IPアドレスとのマッピング ② ユーザーIDとのマッピング B) 端末IDを紐付ける情報がない場合 ① HATS起動用スクリプトの配布 ② ユーザーによる端末IDの直接入力 C) HATS用の端末IDを新規作成して使用する場合 ① LUプールの使用 (3270のみ) ② ワイルドカードの使用 (5250のみ) 付録 – 2 DB接続を使用する場合の設定 参考情報 HATS 端末IDの固定ガイド © 2010 IBM Corporation はじめに 本資料は、Host Access Transformation Services (HATS)における端末IDの固定方法について まとめたものです。2010年12月時点で最新のバージョンである、HATS V7.5.1を前提として作成し ています。 従来のエミュレーターにおいて端末IDを固定して運用している場合、HATS(Webクライアント)へ移 行する際は注意が必要です。HATSでは従来と同様の方法で端末IDを固定することはできません。 お客様の要件に応じて適した端末IDの固定方法を選択する必要があります。 本資料は、HATSへの移行を検討されているお客様が最適な端末IDの固定方法を選択するため のガイドです。 HATSはTN3270/TN5250接続のみサポートします。そのため、本資料ではTN3270/TN5250を前 提としています。SNA環境の従来エミュレーターをHATSへ移行する場合は、まずSNAからTCP/IP へネットワークを移行する必要があります。System zにおいてSNAからTCP/IPへの移行の際の考 慮点については、下記テクニカル・フラッシュをご参照ください。 – 「ネットワークFAQ:z/OS TN3270EサーバーとネイティブSNAの相違点」 (分類番号:NTWK-03-004) • http://w306.ibm.com/jp/domino02/ise/ISEINFO.NSF/99a7d1be5103176a492563ef002002e5/669bef611cd283fd49256d7a0 03248f5?OpenDocument なお、本資料に含まれる情報は可能な限り正確を期しておりますが、IBM / ISEの正式なレビュー を受けておらず、当資料に記載された内容に関して何ら保証するものではありません。ここでの記 載内容はあくまでも支援情報であり、使用者の責任において取り扱われるものとし、資料の内容に よって受けたいかなる損害に関しても一切の保証をするものではありません。 3 HATS 端末IDの固定ガイド © 2010 IBM Corporation 端末IDの設定 4 HATS 端末IDの固定ガイド © 2010 IBM Corporation 端末IDとは 端末を一意に識別可能なID 3270では – LU(Logical Unit)名に相当 • 端末の設定およびTelnetサーバーの設定で決まる – 用途 • 権限チェックなどアプリケーションでLUを使用する • 端末ごとにディスプレイLUに紐付くプリンターLUを指定 5250では – ワークステーションID(装置記述名)に相当 – 用途 • ワークステーションIDごとに環境設定を定義 » 端末ごとに紐付くプリンターを指定 • ジョブでワークステーションIDを取得して使用する • ワークステーションIDごとにサブシステムを変える など 5 HATS 端末IDの固定ガイド © 2010 IBM Corporation 従来エミュレーター(PCOMM)における端末IDの設定 接続形態 – 各端末が直接ホストとTelnetセッションを確立 セッション構成情報 – 端末側で接続情報(ホスト名、ポート番号、端末IDなど)を設定 PCOMM 端末ID:DISP0 1 端末ID:DISP02 Telnet 03 :DISP D I 末 端 セッション構成 情報を設定 6 HATS 端末IDの固定ガイド TNサーバー 既存ホスト © 2010 IBM Corporation HATSにおける端末IDの設定 接続形態 – HATSサーバーがホストとTelnetセッションを確立 セッション構成情報 – HATSサーバー上のHATSアプリケーションに対して接続情報(ホスト名、ポート番号、 端末IDなど)を設定 セッション構成 情報を設定 HATSクライアント (Webブラウザー) 端末ID:HATS01 HTTP Telnet HATSサーバー (WAS) 8 HATS 端末IDの固定ガイド TNサーバー 既存ホスト © 2010 IBM Corporation HATSにするとこう変わる ホスト(Telnetサーバー)から見たTelnetクライアントはHATSサーバー – PCOMM:各端末が直接ホストとTelnetセッションを確立 – HATS:HATSサーバーがホストとTelnetセッションを確立 端末IDはHATSアプリケーションに設定 – PCOMM:端末側で接続情報を設定 – HATS:HATSサーバー上のHATSアプリケーションに対して接続情報を設定 HATSでクライアントごとに端末IDを固定する場合は、端末 (またはユーザー)に端末IDを動的に割り当てる仕組みが必要 9 HATS 端末IDの固定ガイド © 2010 IBM Corporation HATSにおける端末IDの固定 10 HATS 端末IDの固定ガイド © 2010 IBM Corporation HATSにおける端末IDの固定 - 概要 HATSでは、IPアドレスやユーザーIDなど端末IDを固定するための情報と 紐付けることで、端末IDを動的に指定可能 – HATSアプリケーションのURLの後ろにパラメーターとして端末IDを指定 ⇒URLオーバーライド – 端末(またはユーザー)ごとにURLを動的に変更してHATSへ接続 – 端末IDの紐付け部分のロジックはJavaによる作り込みが必要 HATSクライアント (Webブラウザー) セッション構成 情報を設定 http://server_name/project_name/entry?LUName=HATS01 端末ID:HATS01 http://server_name/project_name/entry?LUName=HATS02 端末ID:HATS02 http://server_name/project_name/entry?LUName=HATS03 端末ID:HATS03 Telnet HATSサーバー (WAS) 11 HATS 端末IDの固定ガイド TNサーバー 既存ホスト © 2010 IBM Corporation (参考) 接続パラメーターのオーバーライド (URLオーバーライド) URLの後ろに接続パラメーターを付加することで、HATSアプリケーションの接続設定を上 書き可能 プロジェクト設定ファイルの「その他」タブの「接続パラメーターのオーバーライド」にて設定 – すべてのデフォルト接続パラメーターをクライアント要求でオーバーライドできるようにする • リスト内のチェックマーク以外のパラメーターはすべて上書き可能 – すべてのデフォルト接続パラメーターをクライアント要求でオーバーライドできないようにする • リスト内のチェックマーク以外のパラメーターはすべて上書き不可 http://ホスト名/プロジェクト名/entry?codePage=930&workstationID=xxx 12 HATS 端末IDの固定ガイド © 2010 IBM Corporation 端末(またはユーザー)ごとに端末IDを特定する必要がある場合 A) 端末IDを紐付ける情報がある – HATSでは端末IDを紐付ける情報によって端末IDの固定方法が異なる ① IPアドレスに紐付けて端末IDを固定 » 前提:端末ごとにIPアドレスを固定できること ② ユーザーIDに紐付けて端末IDを固定 » 前提:ユーザーを特定可能なIDを使用できること B) 端末IDを紐付ける情報がない – 端末IDの動的指定は不可 • – ここでいうユーザーIDとは、社員IDなど HATSへのアクセスを特定するために使用 可能なIDのことです。ホストやホスト・アプリ ケーションへログインするためのユーザーID のことではありません。 端末IDを紐付ける情報がないため、HATSのURLオーバーライド機能にて動的に変更す ることができない 対応策 ① ユーザーごとに固有のURLを指定して接続させる » 例:ユーザーごとにHATS起動用スクリプトを作成して配布 ② ユーザーに端末IDを直接入力させる 13 HATS 端末IDの固定ガイド © 2010 IBM Corporation 端末(またはユーザー)ごとに端末IDを特定する必要がない場合 例えば以下のようなケース – – 現行エミュレーターで特定していない 端末IDと紐付いた権限チェックなどのロジックを使用する必要がないアプリケーショ ンをHATSで公開 C) HATS用の端末IDを新規作成し、使用する – HATS用の端末IDを用意することで、HATS経由のTelnetセッションをホスト側から 識別することができる ① HATS用のLUプールを使用することで、Telnetサーバーからプール内の使用可能なLUを 割り当て可能 (3270のみ) ② 固定キーワードとワイルドカードの組み合わせにより、HATSサーバー上で自動採番可能 (5250のみ) 14 HATS 端末IDの固定ガイド © 2010 IBM Corporation 端末IDの固定方法 A) 端末IDを紐付ける情報がある場合 15 HATS 端末IDの固定ガイド © 2010 IBM Corporation ① IPアドレスに紐付けて端末IDを固定 (1/2) 概要 – ユーザーはHATSアプリケーション開始前にあらかじめ用意したサーブレット(または JSP)にアクセス – サーブレット(またはJSP)で以下の処理を実行 • 端末のIPアドレスを取得 • ユーザーIPアドレスに紐付く端末IDを取得 • URLの後ろに端末IDを付加してHATSアプリケーションへ転送 – HATSアプリケーションが端末IDを指定してホストへ接続 ③IPアドレスに紐付く 端末IDを取得 ①HATS前段のサーブレット またはJSPにアクセス ②端末のIPアド レスを取得 IPアドレスと端末IDの マッピング・テーブル Servlet / JSP http://hatsserver_name/hatsapp_name/servlet_name ⑤端末IDを指定 して接続開始 Webブラウザー ④URLの置き換え http://hatsserver_name/hatsapp_name/entry?LUName=xxxx http://hatsserver_name/hatsapp_name/entry?workstationID=yyyy 16 HATS 端末IDの固定ガイド HATSサーバー TNサーバー 既存ホスト © 2010 IBM Corporation ① IPアドレスに紐付けて端末IDを固定 (2/2) 特長 – 各端末ごとに端末IDを固定可能 • Telnetサーバー、ホスト・アプリケーションのロジックを変更することなく、現行のホスト業務 を踏襲できる 考慮点 – IPアドレスと端末IDのマッピング・テーブルが必要 – IPアドレスの更新 / 追加に応じてマッピングの更新が必要 – クライアント-HATSサーバー間でプロキシー設定やNAT設定などにより、クライア ントのIPアドレスが取得できない場合がある • その場合はIPアドレスに端末IDを紐付けることができないため、別の情報で端末IDを固定 する必要があります。 – ホスト(Telnetサーバー)でTelnetクライアントのIPアドレスをチェックしている場合は、 以下のいずれかの対応が必要 • HATSサーバーのIPアドレスはチェックしない • HATSサーバーのIPアドレスで、指定した端末IDが使用できるようにする 17 HATS 端末IDの固定ガイド © 2010 IBM Corporation IPアドレスによる端末ID固定の設定手順 設定手順概要 – HATSプロジェクトにサーブレットを新規作成 – サーブレットに以下の処理を実装する • 端末のIPアドレスを取得 • IPアドレスに紐付く端末IDの取得 • HATS起動用URLの後ろに端末IDを指定して転送 – HATSプロジェクトの設定にて、「接続パラメーターのオーバーライド」を有効化 18 HATS 端末IDの固定ガイド © 2010 IBM Corporation HATSプロジェクトにサーブレットを新規作成 「ナビゲーター」ビューから、HATSプロジェクトを右クリックし、「新規」→「その他」を選択 「Web」→「サーブレット」を選択し、「次へ」をクリック 「クラス名」(任意)を入力し、「次へ」をクリック デフォルトのまま「次へ」をクリック 「doGet」にチェックが入っていることを確認し、「終了」をクリック 19 HATS 端末IDの固定ガイド © 2010 IBM Corporation (参考) HATSプロジェクトにサーブレットが追加されたことの確認 web.xmlの確認 – 「web.xml」ファイルに前手順で作成したサーブレットが追加されていることを確認 • 「ナビゲーター」ビューから「HATSプロジェクト」→「Web Content」→「WEB-INF」→ 「web.xml」を開く • 「設計」タブより、前手順で作成したサーブレットが追加されていることを確認 20 HATS 端末IDの固定ガイド © 2010 IBM Corporation サーブレットのコード・サンプル 前手順で作成したサーブレットを開き、「doGet」メソッドに以下のようにコードを 記述 (赤枠:追記部分) ※必要なパッケージは適宜インポートすること (ここでは、javax.servlet.RequestDispatcherをインポート) protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub String userIP = null; String termID = null; String url = null; //クライアントIPアドレスを取得 userIP = request.getRemoteAddr(); System.out.println("userIPAddress: " + userIP); //デバッグ用 //IPアドレスを基に端末IDを取得 termID = "HATS01"; //HATSのentryサーブレットに渡すパラメーターを作成 url = "entry?workstationID=" + termID; System.out.println("URL: " + url); //デバッグ用 } 21 ここに、IPアドレスに紐付く端末IDを取得し、 結果をtermIDに挿入するコードを記述。 ここでは、サーブレットに端末ID(HATS01)を直書き。 DBを照会して端末IDを取得する方法は、当資料の 「付録) DB接続を使用する場合の設定」を参照。 //上記で作成したサーブレットに転送 RequestDispatcher rd = request.getRequestDispatcher(url); rd.forward(request, response); HATS 端末IDの固定ガイド © 2010 IBM Corporation 接続パラメーターのオーバーライドの有効化 HATSプロジェクトのプロジェクト設定ファイルを開き、「その他」タブ→「接続パラメーター のオーバーライド」を選択 「すべてのデフォルト接続パラメーターをクライアント要求でオーバーライドできないよう にする」にチェックが入っていることを確認 (デフォルトの設定) 「追加」ボタンより、オーバーライドを許可する接続パラメーターを例外として追加 – パラメーター名 • 3270の場合:「LUName」 • 5250の場合:「workstationID」 22 HATS 端末IDの固定ガイド © 2010 IBM Corporation (参考) IPアドレスによる端末ID固定の確認 Webブラウザーより、以下のURLで作成したサーブレットにアクセス – http://<サーバー名>/<HATSプロジェクト名>/<サーブレット名> 23 HATS 端末IDの固定ガイド © 2010 IBM Corporation ② ユーザーIDに紐付けて端末IDを固定 ユーザーIDを取得するためにユーザーIDの入力が必要 a. 認証システムと連携して、ユーザーIDを取得 • • 認証システムからヘッダー情報によりユーザーIDを取得可能 取得したユーザーIDを基に、端末IDを指定してホストへ接続 b. 認証システムがない場合は、HTMLやJSPでHATS用にユーザーID入力画面を新規 作成 • • 24 HATSにアクセスする際に、ユーザーIDをユーザーに入力させる HATSは入力されたユーザーIDを基に、端末IDを指定してホストへ接続 HATS 端末IDの固定ガイド © 2010 IBM Corporation ②-a. 認証システムとの連携によるユーザーIDの取得 (1/2) 認証システムと連携することで、認証システムからユーザーIDを取得可能 概要 – ユーザーは事前に認証システムにより、ユーザー認証 – 認証システム経由でサーブレット(またはJSP)へアクセス • 認証システムがヘッダーにユーザーIDを付加 – サーブレットが認証システムからユーザーIDを取得 • HTTPヘッダーや基本認証ヘッダーを使用 – マッピング・テーブルから、ユーザーIDに紐付く端末IDを取得 – HATSアプリケーションが端末IDを指定してホストへ接続 ①認証システムに アクセスし、認証 ④認証システムのユー ザーIDに紐付く端末ID を取得 ②認証システム経由 でサーブレットまた はJSPへアクセス ユーザーIDと端末IDの マッピング・テーブル Servlet / JSP http://hatsserver_name/hatsapp_name/ servlet_name Webブラウザー ③認証システムから ユーザーIDを取得 認証システム ⑥端末IDを指定して 接続開始 HATSサーバー ⑤URLの置き換え TNサーバー 既存ホスト http://hatsserver_name/hatsapp_name/entry?LUName=xxxx http://hatsserver_name/hatsapp_name/entry?workstationID=yyyy 25 HATS 端末IDの固定ガイド © 2010 IBM Corporation ②-a. 認証システムとの連携によるユーザーIDの取得 (2/2) 特長 – ユーザーごとに端末IDを固定可能 • 端末固定ではないため、どの端末からでもユーザーごとに端末IDの固定が可能 – セキュリティー強化 • 認証システムにより認証されたユーザーのみホストへ接続可能 考慮点 – 認証システムのユーザーIDと端末IDのマッピング・テーブルが必要 – ユーザーIDの更新 / 追加に応じて、マッピングの更新が必要 – 認証システムのセッションの有効期限が切れると再認証が必要 Tivoli Access Manager (TAM)との連携が可能 – TAM側でTAMのユーザーIDとホストの端末IDの管理が可能 26 HATS 端末IDの固定ガイド © 2010 IBM Corporation 認証システムとの連携による端末ID固定の設定手順 設定手順 (認証システム側) – HTTPのヘッダー情報にユーザーIDを付加するように設定 認証システム側の設定詳細については、ご使用の認証システムのマニュアル等を参照してください。 (HATS側) – HATSプロジェクトにサーブレットを新規作成 ⇒当資料P.19を参照 • ユーザーからのリクエストに応じて「GET」と「POST」を選択 – サーブレットにて以下の処理を実装するコードを記述 ⇒当資料P.33を参照 • 認証システムから送信されるヘッダー情報より、ユーザーIDを取得 • ユーザーIDに紐付く端末IDを取得 • HATS起動用URLの後ろに端末IDを指定して転送 – HATSプロジェクト設定にて、「接続パラメーターのオーバーライド」を有効化 ⇒当資料P.22を参照 27 HATS 端末IDの固定ガイド © 2010 IBM Corporation ②-b. HATS用にユーザーID入力画面を作成 (1/2) 概要 – ユーザーはHATSアプリケーション開始前に、あらかじめ用意したユーザーID入力画面 にアクセス – ユーザーIDを入力し、あらかじめ用意したサーブレット(またはJSP)へ転送 – サーブレット(またはJSP)で以下の処理を実装 • 入力されたユーザーIDを取得 • マッピング・テーブルから、入力されたユーザーIDに紐付く端末IDを取得 • URLの後ろに端末IDを付加してHATSアプリケーションへ転送 – HATSアプリケーションが端末IDを動的に変更してホストへ接続 ③ユーザーID を取得 ①HATS前段のユーザーID 入力画面にアクセス Webブラウザー ④ユーザーIDに紐付く 端末IDを取得 Servlet / JSP ②ユーザーIDを入力し、 サーブレットへ転送 ⑥端末IDを指定して 接続開始 HATSサーバー ⑤URLの置き換え 28 HATS 端末IDの固定ガイド ユーザーIDと端末IDの マッピング・テーブル http://hatsserver_name/hatsapp_name/entry?LUName=xxxx または http://hatsserver_name/hatsapp_name/entry?workstationID=yyyy TNサーバー 既存ホスト © 2010 IBM Corporation ②-b. HATS用にユーザーID入力画面を作成 (2/2) 特長 – ユーザーごとに端末IDを固定可能 • 端末固定ではないため、どの端末からでもユーザーごとに端末IDの固定が可能 考慮点 – ユーザーIDと端末IDのマッピング・テーブルが必要 – ユーザーIDの更新 / 追加に応じて、マッピングの更新が必要 – ユーザーはHATSアクセス時にユーザーIDの入力が必要 29 HATS 端末IDの固定ガイド © 2010 IBM Corporation HATS用ユーザーID入力画面による端末ID固定の設定手順 設定手順概要 – HATSプロジェクトにHTML(またはJSP)にてユーザーID入力画面を新規作成 • ユーザーIDを入力させるためのフォームを作成 • フォームで入力されたデータを、次手順で作成するサーブレットへPOSTで送信 – HATSプロジェクトにサーブレットを新規作成 ⇒当資料P.19を参照 • ここでは、POSTで受け取るため、作成時に「doPost」メソッドにチェックが入っていることを 確認 – サーブレットにて以下の処理を実装するコードを記述 • HTTPヘッダーに埋め込まれたユーザーIDを取得 • ユーザーIDに紐付く端末IDを取得 • HATS起動用URLの後ろに端末IDを指定して転送 – HATSプロジェクト設定にて、「接続パラメーターのオーバーライド」を有効化 ⇒当資料P.22を参照 30 HATS 端末IDの固定ガイド © 2010 IBM Corporation HATSプロジェクトにHTMLを新規作成 (1/2) 「ナビゲーター」ビューから、HATSプロジェクトを右クリックし、「新規」→「その他」を選択 「Web」→「Webページ」を選択し、「次へ」をクリック 「ファイル名」を入力し、「HTML / XHTML」を選択して「終了」をクリック – ここでは、「HATSStart.html」とする 31 HATS 端末IDの固定ガイド © 2010 IBM Corporation HATSプロジェクトにHTMLを新規作成 (2/2) HTMLのコード・サンプル <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>HATSStart</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> 次の手順で作成する POST <center> サーブレット名 <h2>HATSスタート</h2> <form name="hatsLogon" method="POST" action=“GetUIDServlet"> ユーザーID: <input type="text" name="userid" value="" size="10"> <input type="submit" value="開始"> </form> HTTPヘッダーに渡すと </center> きのパラメーター名 </body> </html> 32 HATS 端末IDの固定ガイド © 2010 IBM Corporation サーブレットのコード・サンプル P.19を参照してサーブレットを新規作成 サーブレットの「doPost」メソッドに以下のようにコードを記述 (赤枠:追記部分) ※必要なパッケージは適宜インポートすること (ここでは、javax.servlet.RequestDispatcherをインポート) protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub String termID = null; String url = null; //エンコード方式の決定 response.setContentType("text/html;charset=utf-8"); //パラメーターのエンコード方式の決定 response.setCharacterEncoding("utf-8"); 送信側のエンコード方式に応じて設定 前手順で作成したHTMLで「UTF-8」を //POSTで送られたユーザーIDの取得 指定したため、ここでは「UTF-8」を設定 // ※HTTPヘッダーのヘッダー部として送られる場合は、 // ※request.getHeader("ヘッダー名");で取得すること String httpHeaderData = request.getParameter("userid"); System.out.println("userid: " + httpHeaderData);//デバッグ用 //ユーザーIDを基に端末IDを取得 termID = "HATS01"; //HATSのentryサーブレットに渡すパラメーターを作成 url = "entry?workstationID=" + termID; System.out.println("URL: " + url); //デバッグ用 ここに、ユーザーIDに紐付く端末IDを取得し、 結果をtermIDに挿入するコードを記述。 ここでは、サーブレットに端末ID(HATS01)を直書き。 DBを照会して端末IDを取得する方法は、当資料の 「付録) DB接続を使用する場合の設定」を参照。 //上記で作成したサーブレットに転送 RequestDispatcher rd = request.getRequestDispatcher(url); rd.forward(request, response); } 33 HATS 端末IDの固定ガイド © 2010 IBM Corporation (参考) HATS用ユーザーID入力画面による端末ID固定の確認 作成したユーザーID入力画面にアクセス – http://<サーバー名>/<HATSプロジェクト名>/HATSStart.html ユーザーIDを入力し、「開始」をクリック 34 HATS 端末IDの固定ガイド © 2010 IBM Corporation 端末IDの固定方法 B) 端末IDを紐付ける情報がない場合 35 HATS 端末IDの固定ガイド © 2010 IBM Corporation ① ユーザーごとにHATS起動用スクリプトを配布 URLオーバーライドにて端末IDを指定してHATSを開始する部分をスクリプト化 – ブラウザーを起動するスクリプトを作成 • ユーザーごとに、URLオーバーライドにて個別の端末IDを指定したURLにする • VBScriptやJScriptでInternet Explorer (IE)の操作が可能 – 作成したスクリプトを各ユーザーに配布 – ユーザーはスクリプトを実行してHATSへ接続 考慮点 – ユーザー数分スクリプトの開発が必要 – どのユーザーにどのスクリプト(どの端末ID)を配布したかの管理が必要 36 HATS 端末IDの固定ガイド © 2010 IBM Corporation HATS起動用スクリプトのサンプル (1/2) VBScriptを使用してIEの起動スクリプトを作成 – 以下のコードを拡張子「.vbs」で保存 Option Explicit Dim objIE Dim intWidth Dim intHeight Dim isToolbar Dim isMenubar Dim isAddressbar Dim isStatusbar Dim isResizable Dim url 'IEの初期設定 intWidth = 800 intHeight = 600 isMenubar = True '標準ボタン、リンクの表示/非表示の設定はIEで行う isToolbar = True isAddressbar = False isStatusbar = True isResizable = True url = "http://localhost:9080/TermIDTest/entry?workstationID=HATS01" パラメーターをユーザー ごとに変更する 'IEオブジェクトの作成 Set objIE = CreateObject("InternetExplorer.Application") (次頁へ続く) 37 HATS 端末IDの固定ガイド © 2010 IBM Corporation HATS起動用スクリプトのサンプル (2/2) (前頁の続き) '初期設定の適用 objIE.Width = intWidth objIE.Height = intHeight objIE.Menubar = isMenubar objIE.Toolbar = isToolbar objIE.Addressbar = isAddressbar objIE.Statusbar = isStatusbar objIE.Resizable = isResizable 'IEの表示 objIE.Visible = True 'URLの表示 objIE.Navigate url 'ページ読み込み終了のチェック Do Until objIE.Busy=False WScript.sleep(250) 'ページ読み込み終了チェックを250ミリ秒に1回ずつ行う Loop 'オブジェクトの破棄 Set objIE = Nothing 38 HATS 端末IDの固定ガイド © 2010 IBM Corporation ② ユーザーによる端末IDの直接入力 HATSの設定により、HATS接続開始時にプロンプトを表示し、ユーザーが明 示的に端末IDを入力 設定方法 – 接続ファイル(.hco)を開き、「拡張」タブより「プロンプトを出す」を選択 HATS接続時に以下のプロンプトが表示される 考慮点 – ユーザーは自身の端末IDを知っている必要がある 39 HATS 端末IDの固定ガイド © 2010 IBM Corporation 端末IDの固定方法 C) HATS用に端末IDを新規作成して使用する場合 40 HATS 端末IDの固定ガイド © 2010 IBM Corporation ① HATS用のLUプールを使用 (3270のみ) 前提 – Telnetサーバー上にHATS用のLUプールを定義 CS for z/OSの場合 LUGROUP HATSPOOL HATS01..HATS99 ENDLUGROUP Telnetサーバー上でのLUプールの定義方法については、 ご使用のTelnetサーバーのマニュアル等をご参照ください。 CS for z/OSをご使用の場合は、参考情報の「CS for z/OS テクニカルガイド:TN3270(E)編」をご参照ください。 上記例では、プール名「HATSPOOL」に HATS01~HATS99の99個のディスプレイLU HATSからはLUプール名を指定することで、Telnetサーバーからプール内の 使用可能なLUを割り当て可能 – 設定方法 • 接続ファイル(.hco)を開き、「拡張」タブより 「指定値を使用」を選択 • 入力欄にLUプール名を指定 考慮点 – Telnetサーバー、ホスト・アプリケーション側で HATS用のLUを使用できるようにする必要がある 41 HATS 端末IDの固定ガイド © 2010 IBM Corporation ② ワイルドカードによるワークステーションIDの自動採番 (5250のみ) 固定のキーワードとワイルドカード文字を組み合わせて使用することで、ワーク ステーションIDの自動採番が可能 – 設定方法 • 接続ファイル(.hco)を開き、「拡張」タブより「指定値を使用」を選択 • 入力欄に固定値とワイルドカードの組み合わせを指定 – ワイルドカードの種類 • 「=」 » 衝突を回避して0~1、A~Zを順に採番 » Telnetサーバーで以前の名前が拒否された場合に 新規ワークステーションIDが割り当てられる » 36のn乗個のワークステーションIDを割り当て可能 (nは「=」の数) » 「HATS==」と2つ重ねて使用する場合は、0~1、A~Zが ランダムに採番される • 「*」 » 数字を1~0を順に採番 – 例:「HATS=*」と指定する場合 • 「HATS01」→「HATS02」→「HATS03」・・・とワークステーションIDがアサインされる • 36×10 = 360個のワークステーションIDが使用可能 42 HATS 端末IDの固定ガイド © 2010 IBM Corporation 付録) DB接続を使用する場合の設定 43 HATS 端末IDの固定ガイド © 2010 IBM Corporation DB接続の使用 JDBCを使用してDB上のテーブルを参照し、端末IDを取得することが可能 設定手順 – DB接続の準備 • WASに接続プーリング用の設定を行なう » » » » WASの管理コンソールを開く J2C認証データの作成 JDBCプロバイダーの作成 データ・ソースの作成 • DB接続テスト – DB接続の実装 • サーブレットやビジネス・ロジックを使用してDB接続のコードを実装 44 HATS 端末IDの固定ガイド © 2010 IBM Corporation DB接続プーリングの設定 (1/6) 本番環境のWASの管理コンソールにアクセス – WAS管理コンソールは、デフォルトでは以下のURL • http://<サーバー名>:9060/ibm/console 開発時に開発ツール上のWASテスト環境に設定する場合は、HATS Toolkit からWASの管理コンソールを開く – 「サーバー」ビューより、サーバーを右クリックし、「管理」→「管理コンソールの実行」 を選択 45 HATS 端末IDの固定ガイド © 2010 IBM Corporation Note RAD V7.5でWAS V7.0を使用している場合、管理コンソールが英語で表示されます。 日本語対応にする場合は、以下のURLを参照してください。 – 「IBM Rational Application Developer 7.5のWebSphere Application Serverテスト環境 7.0.0.0が英語で 表示される」(Reference #:1364006) • http://www-01.ibm.com/support/docview.wss?rs=2042&uid=swg21364006 46 HATS 端末IDの固定ガイド © 2010 IBM Corporation DB接続プーリングの設定 (2/6) J2C認証データの作成 – WAS管理コンソールの左側のペインから、「セキュリティー」→「グローバル・セキュリ ティー」を選択 – 右側のペインから、「Java認証・承認サービス」→「J2C認証データ」を選択 – 「新規作成」を選択 – 必要な情報を入力し、「OKを選択 • ユーザーID、パスワードはDBに アクセスできるユーザーを設定 – 「保存」を選択 47 HATS 端末IDの固定ガイド © 2010 IBM Corporation DB接続プーリングの設定 (3/6) JDBCプロバイダーの作成 – WAS管理コンソールの左側のペインから、「リソース」→「JDBC」→「JDBCプロバイ ダー」を選択 – 右側のペインから、有効範囲を「すべての有効範囲」から「ノード=xxxx、サーバー =xxxx」に変更 – 「新規作成」を選択 – 「データベース・タイプ」など、 適切なものを選択し、「次へ」をクリック • 図の例はAS400のDB2に接続する場合 48 HATS 端末IDの固定ガイド © 2010 IBM Corporation DB接続プーリングの設定 (4/6) JDBCプロバイダーの作成 (続き) – ドライバーのクラスパスを入力し、「次へ」をクリック • RADの場合、RADに用意されているドライバーを使用する • ドライバーの確認方法は以下のとおり » » » » RADのメニュー・バーから、「ウィンドウ」→「設定」を選択 「データ管理」→「接続」→「ドライバー定義」を選択 ドライバーを選択し、「編集」を選択 「Jarリスト」タブにJARのパスが表示される • 図の例は、AS400のクラスパスを設定した場合 – 要約を確認し、「終了」をクリック – 「保存」を選択 49 HATS 端末IDの固定ガイド © 2010 IBM Corporation DB接続プーリングの設定 (5/6) データ・ソースの作成 – WAS管理コンソールの左側ペインから、「リソース」→「JDBC」→「データ・ソース」を 選択 – 右側のペインから、有効範囲を「すべての有効範囲」から「ノード=xxxx、サーバー =xxxx」に変更 – 「新規作成」を選択 – 必要な情報を入力し、「次へ」をクリック 50 HATS 端末IDの固定ガイド © 2010 IBM Corporation DB接続プーリングの設定 (6/6) データ・ソースの作成 (続き) – 「既存JDBCプロバイダーを選択」をチェックし、 前手順で作成したJDBCプロバイダーを選択し、 「次へ」をクリック – プロパティーを入力し、 「次へ」をクリック • JDBCプロバイダーによって 入力すべき内容は変わってくる • 図の例は、AS400の場合 – 「コンポーネント管理の認証別名」に 前手順で作成したJ2C認証データの ユーザー別名を選択し、「次へ」をクリック – 要約を確認し、「終了」をクリック – 「保存」を選択 51 HATS 端末IDの固定ガイド © 2010 IBM Corporation DB接続テスト WAS管理コンソールの左側ペインから、「リソース」→「JDBC」→「データ・ソー ス」を選択 前頁で作成したデータ・ソースをチェックし、「テスト接続」を選択 メッセージを確認 52 HATS 端末IDの固定ガイド © 2010 IBM Corporation 接続プーリングを使用したDB接続の実装 (1/3) 新規作成したサーブレットのコンストラクターの後に、以下のようなコードを追加 (赤枠: 追記部分) ※必要なパッケージは適宜インポートすること public class IPaddTest extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public IPaddTest() { super(); // TODO Auto-generated constructor stub } //DB接続用(接続プーリング) private static DataSource ds = null; public void init() throws ServletException { try { Context cont = new InitialContext(); ds = (DataSource)cont.lookup("jdbc/sampleDS");//WASに設定したJNDI名 } catch(NamingException e) { System.out.println("JDBC Naming error"); } } 53 HATS 端末IDの固定ガイド © 2010 IBM Corporation 接続プーリングを使用したDB接続の実装 (2/3) サーブレットの「doGet」(または「doPost」)メソッドの後のDB接続部分に以下のような コードを追加 (赤枠:追加部分) ※必要なパッケージは適宜インポートすること protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub String userIP = null; String termID = null; String url = null; //クライアントIPアドレスを取得 userIP = request.getRemoteAddr(); System.out.println("userIPAddress: " + userIP); //デバッグ用 //DB接続準備 Connection con = null; Statement stmt = null; ResultSet rs = null; String dbData = null; (次頁へ続く) 54 HATS 端末IDの固定ガイド © 2010 IBM Corporation 接続プーリングを使用したDB接続の実装 (3/3) (前頁の続き) //DB接続 try { //ドライバー・クラスをロード Class.forName("com.ibm.as400.access.AS400JDBCConnectionPoolDataSource"); //データ・ベースへ接続 con = ds.getConnection(); //ステートメント・オブジェクトを作成 stmt = con.createStatement(); WASに設定したJDBCプロバイ ダーのプロパティーから確認 //SQL文を作成 String sql = "SELECT TERMID FROM XXXX.YYYY WHERE IP = '" + userIP + "'"; //クエリーを実行して結果を取得 rs = stmt.executeQuery(sql); //クエリー結果をStringで取得 if(rs.next()) dbData = rs.getString("TERMID"); System.out.println("dbData: " + dbData);//デバッグ用 } catch(ClassNotFoundException e) {System.out.println(e);} catch(SQLException e) {System.out.println(e);} finally { //DBクローズ try { if(rs != null) rs.close(); if(stmt != null) stmt.close(); if(con != null) con.close(); } catch(SQLException e) {e.printStackTrace();} } 55 HATS 端末IDの固定ガイド © 2010 IBM Corporation 参考情報 56 HATS 端末IDの固定ガイド © 2010 IBM Corporation 参考情報 製品マニュアル: – HATS V7.5 Information Center • http://publib.boulder.ibm.com/infocenter/hatshelp/v75/index.jsp ※「Translated documentation」に日本語のマニュアル(PDF)があります。 ワークショップ資料: – HATS V7.5 ハンズオン・ワークショップ(講義編) • http://www.ibm.com/developerworks/jp/rational/library/em/cms/hats75_ws_lecture/index.html SIL: – Communications Server for z/OS テクニカルガイド:TN3270(E)編 • http://w306.ibm.com/jp/domino02/ise/ISEINFO.NSF/604755fe61c93ffc492563fd002551ec/f89f147fb13e9a 134925721e002f11ac?OpenDocument 57 HATS 端末IDの固定ガイド © 2010 IBM Corporation