...

Host Access Transformation Services (HATS) 端末ID固定ガイド 日本IBM システムズ・エンジニアリング(ISE) NWコミュニケーション・システム部

by user

on
Category: Documents
95

views

Report

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
Fly UP