ibm host access transformation services · 2017-08-22 · ibm host access transformation services...

220
IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン 9.5 SA88-5380-01 IBM

Upload: others

Post on 06-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

IBM Host Access Transformation Services

Web アプリケーション・プログラマーズ・ガイド

バージョン 9.5

SA88-5380-01

IBM

Page 2: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5
Page 3: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

IBM Host Access Transformation Services

Web アプリケーション・プログラマーズ・ガイド

バージョン 9.5

SA88-5380-01

IBM

Page 4: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

お願い本書および本書で紹介する製品をご使用になる前に、 185ページの『付録 B. 特記事項』に記載されている情報をお読みください。

お客様の環境によっては、資料中の円記号がバックスラッシュと表示されたり、バックスラッシュが円記号と表示されたりする場合があります。

 

原典: SC27-5902-01

IBM Host Access Transformation Services

Web Application Programmer's Guide

Version 9.5

Tenth Edition (November 2015)

発行: 日本アイ・ビー・エム株式会社

担当: トランスレーション・サービス・センター

© Copyright IBM Corporation 2003, 2015.

Page 5: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

目次

図 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii

表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix

第 1 章 概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1コード例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2API 資料の使用 (Javadoc) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

第 2 章 ビジネス・ロジックの追加. . . . . . . . . . . . . . . . . . . . . . . . . 5他のアプリケーションからの Java コードの組み込み . . . . . . . . . . . . . . . . . . . . . . 7ビジネス・ロジックでのグローバル変数の使用 . . . . . . . . . . . . . . . . . . . . . . . . 8ビジネス・ロジックの例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10例: 日付変換 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10例: 索引付きグローバル変数に含まれている値の追加 . . . . . . . . . . . . . . . . . . . . 11例: ファイルから索引付きグローバル変数へのストリング・リストの読み取り . . . . . . . . . . . . 12例: 統合オブジェクトの呼び出し . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

カスタム画面認識の使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15カスタム画面認識の例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16グローバル変数を使用したカスタム画面認識 . . . . . . . . . . . . . . . . . . . . . . . 17

javax.servlet クラスへのアクセス . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

第 3 章 カスタム・コンポーネントおよびウィジェットの作成 . . . . . . . . . . . . . 21HATS のコンポーネント・タグおよび属性 . . . . . . . . . . . . . . . . . . . . . . . . . 21カスタム・ホスト・コンポーネントの作成 . . . . . . . . . . . . . . . . . . . . . . . . . 24コンポーネント・クラスの拡張 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27カスタム HTML ウィジェットの作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28ウィジェット・クラスの拡張 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29ウィジェットとグローバル規則 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

コンポーネントまたはウィジェットの登録 . . . . . . . . . . . . . . . . . . . . . . . . . 30カスタム・コンポーネントおよびウィジェットの設定に対する HATS Toolkit のサポート . . . . . . . . . 32

第 4 章 Dojo ウィジェットによる作業 . . . . . . . . . . . . . . . . . . . . . . 35HATS Dojo ウィジェットのカスタマイズ . . . . . . . . . . . . . . . . . . . . . . . . . 35コンポーネント設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37ウィジェット設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37HATS Dojo ウィジェットのカスタマイズの例 . . . . . . . . . . . . . . . . . . . . . . . 38

Dojo TabContainer ウィジェットの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . 46HATS Web プロジェクトでの Dojo TabContainer ウィジェットの使用 . . . . . . . . . . . . . . . 46HATS ポートレット・プロジェクトでの Dojo TabContainer ウィジェットの使用 . . . . . . . . . . . 51

第 5 章 HATS ポートレットでのプログラミング . . . . . . . . . . . . . . . . . . 53標準ポートレット . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53セキュリティーの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53入力ポートレットの拡張 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55統合オブジェクトの実行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

第 6 章 統合オブジェクトを使用したプログラミング . . . . . . . . . . . . . . . . . 59統合オブジェクトの情報にアクセスするための共通クラス . . . . . . . . . . . . . . . . . . . . 59統合オブジェクトの Java クラス階層 . . . . . . . . . . . . . . . . . . . . . . . . . . . 61統合オブジェクトのメソッド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

© Copyright IBM Corp. 2003, 2015 iii

Page 6: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

共通のメソッド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61ホスト・アクセス統合オブジェクトのメソッド . . . . . . . . . . . . . . . . . . . . . . 63データベース・アクセス統合オブジェクトのメソッド . . . . . . . . . . . . . . . . . . . . 64

接続オーバーライドの指定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65統合オブジェクトのチェーニング . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67統合オブジェクト出力への XML スタイル・シート処理の適用 . . . . . . . . . . . . . . . . . . 69

getHPubXMLProperties() メソッドによって戻される XML データの DTD . . . . . . . . . . . . . . 69getHPubXMLProperties (HPubConvertToTableFormat.xsl) メソッドによって戻される XML データの DTD . . . 70

第 7 章 Web サービスの開発 . . . . . . . . . . . . . . . . . . . . . . . . . . 73従来の (WSDL ベースの) Web サービスの作成 . . . . . . . . . . . . . . . . . . . . . . . 74統合オブジェクトからのボトムアップ Web サービスの作成 . . . . . . . . . . . . . . . . . . 74EJB Access Bean からの Web サービスの作成 . . . . . . . . . . . . . . . . . . . . . . 76Web Services Explorer による Web サービスのテスト . . . . . . . . . . . . . . . . . . . . 77Web サービス・クライアントの作成 . . . . . . . . . . . . . . . . . . . . . . . . . . 78統合オブジェクトを含むトップダウン Web サービスの作成 . . . . . . . . . . . . . . . . . . 79Web サービスの統合オブジェクトおよび EJB Access Bean を使用したプログラミング . . . . . . . . . 79Web サービスの更新 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80JAX-WS ランタイム用 Web サービスの考慮事項および制限事項 . . . . . . . . . . . . . . . . 81

RESTful Web サービスの作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82RESTful サービスの JAX-RS リソースの作成 . . . . . . . . . . . . . . . . . . . . . . . 83RESTful サービスの JAX-RS リソースの更新 . . . . . . . . . . . . . . . . . . . . . . . 85RESTful サービスの JAX-RS リソース・メソッドのカスタマイズ . . . . . . . . . . . . . . . . 85コンテンツの処理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87応答ヘッダーのカスタマイズ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89HTTP 状況コード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89JAX-RS RESTful サービスの考慮事項および制限事項 . . . . . . . . . . . . . . . . . . . . 90

第 8 章 HATS EJB アプリケーションの作成と使用 . . . . . . . . . . . . . . . . . 91HATS EJB プロジェクトの作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93リポジトリーへの HATS EJB プロジェクトの保管 . . . . . . . . . . . . . . . . . . . . . 94EJB Access Beans の自動作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

EJB Access Beans のプログラミング . . . . . . . . . . . . . . . . . . . . . . . . . . . 95EJB Access Bean メソッドの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . 95Java アプリケーション・クライアントでの EJB Access Bean の使用 . . . . . . . . . . . . . . . 97

第 9 章 統合オブジェクト - 高度なトピック. . . . . . . . . . . . . . . . . . . . 101統合オブジェクト Java コードのカスタマイズ . . . . . . . . . . . . . . . . . . . . . . . 101統合オブジェクト・テンプレートの選択 . . . . . . . . . . . . . . . . . . . . . . . . . 102双方向プロジェクト用統合オブジェクト・テンプレートの選択 . . . . . . . . . . . . . . . . . 102

Java コード・テンプレートの変更 . . . . . . . . . . . . . . . . . . . . . . . . . . . 104統合オブジェクト・テンプレート変更のサンプル . . . . . . . . . . . . . . . . . . . . . 105

WebSphere Java EE アプリケーションでの統合オブジェクトの使用 . . . . . . . . . . . . . . . . 107Web コンテナーでの統合オブジェクトの使用 (カスタム・サーブレットまたは JSP) . . . . . . . . . . 107EJB コンテナーでの統合オブジェクトの使用 (独自の EJB から) . . . . . . . . . . . . . . . . 110

接続管理 API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113acquireExistingTransformationConnection . . . . . . . . . . . . . . . . . . . . . . . . . 113releaseExistingTransformationConnection . . . . . . . . . . . . . . . . . . . . . . . . . 114

第 10 章 Web 高速ログオンのプラグインの作成 . . . . . . . . . . . . . . . . . . 115Web 高速ログオンのカスタム・プラグインの作成 . . . . . . . . . . . . . . . . . . . . . . 115

Web 高速ログオンのプラグイン・インターフェース . . . . . . . . . . . . . . . . . . . . 116ネットワーク・セキュリティー・プラグインの作成 . . . . . . . . . . . . . . . . . . . . . 120信任状マッパー・プラグインの作成 . . . . . . . . . . . . . . . . . . . . . . . . . . 120サンプル Web 高速ログオン・プラグイン . . . . . . . . . . . . . . . . . . . . . . . . 120プラグイン・パラメーター・ストリングの暗号化および暗号化解除 . . . . . . . . . . . . . . . 120

iv IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 7: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

DCAS API オブジェクト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

第 11 章 HATS 双方向 API の使用 . . . . . . . . . . . . . . . . . . . . . . . 125データ変換 API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

ConvertVisualToLogical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125ConvertLogicalToVisual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

グローバル変数 API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126getGlobalVariable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126getSharedGlobalVariable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

BIDI OrderBean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126BIDI OrderBean メソッド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

付録 A. HATS Toolkit のファイル. . . . . . . . . . . . . . . . . . . . . . . . 131アプリケーション・ファイル (.hap) . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

<application> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132<connections> タグ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132<connection> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132<eventPriority> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132<event> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132<classSettings> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133<class> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133<setting> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133<textReplacement> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143<replace> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143<defaultRendering> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144<renderingSet> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144<renderingItem> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145<globalRules> タグ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147<rule> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

接続ファイル (.hco) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150<hodconnection> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150<otherParameters> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156<classSettings> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158<class> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158<setting> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158<poolsettings> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161<webexpresslogon> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162<userconfig> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

テンプレート・ファイルと変換ファイル (.jsp) . . . . . . . . . . . . . . . . . . . . . . . 163画面組み合わせファイル (.evnt) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

<combinations> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164<enddescription> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164<navigation> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164<screenUp> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164<screenDown> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164<keyPress> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164<setCursor> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165<sendText> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165

画面カスタマイズ・ファイル (.evnt) . . . . . . . . . . . . . . . . . . . . . . . . . . . 165<event> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165<actions> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166<apply> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166<insert> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166<extract> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167<set> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167<execute> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169

目次 v

Page 8: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

<show> タグ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169<forwardtoURL> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169<disconnect> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169<play> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170<perform> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170<pause> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170<sendkey> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170<globalRules> タグ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170<rule> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170<associatedScreens> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173<screen> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173<description> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173<oia> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173<string> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174<nextEvents> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175<event> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175<remove> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175

マクロ・ファイル (.hma) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175<macro> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176<associatedConnections> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176<connection> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176<extracts> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176<extract> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176<prompts> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177<prompt> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177<HAScript> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178

画面キャプチャー・ファイル (.hsc) . . . . . . . . . . . . . . . . . . . . . . . . . . . 178BMS マップ・ファイル (.bms および .bmc) . . . . . . . . . . . . . . . . . . . . . . . . 179イメージ・ファイル (.gif、.jpg、または .png) . . . . . . . . . . . . . . . . . . . . . . . . 180スタイルシート・ファイル (.css) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180スプレッドシート・ファイル (.csv または .xls) . . . . . . . . . . . . . . . . . . . . . . . 182ホスト・シミュレーション・トレース・ファイル (.hhs) . . . . . . . . . . . . . . . . . . . . 182ComponentWidget.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183Web 高速ログオン構成ファイル (hatswelcfg.xml). . . . . . . . . . . . . . . . . . . . . . . 183

<credentialmapper> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183<networksecurity> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183<cmplugins> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183<plugin> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184<param> タグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184

付録 B. 特記事項 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185プログラミング・インターフェース情報 . . . . . . . . . . . . . . . . . . . . . . . . . 186商標 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187

用語集 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189

索引 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199

vi IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 9: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

1. ホスト画面から Web ページまでのデータのフロー . . . . . . . . . . . . . . . . . . . . 242. HATS デフォルト Dojo コンボ・ボックス・ウィジェット . . . . . . . . . . . . . . . . . . 353. フライト予約システムのホスト画面 . . . . . . . . . . . . . . . . . . . . . . . . . 384. 都市のリストを含む Dojo コンボ・ボックス・ウィジェット . . . . . . . . . . . . . . . . . 395. フィルタリングされた都市のリストを含む Dojo コンボ・ボックス・ウィジェット . . . . . . . . . . 396. 先頭文字でフィルタリングされた都市のリストを含む Dojo コンボ・ボックス・ウィジェット . . . . . . 407. Dojo コンボ・ボックス・プロンプト・メッセージ . . . . . . . . . . . . . . . . . . . . 418. Dojo コンボ・ボックス無効メッセージ . . . . . . . . . . . . . . . . . . . . . . . . 419. 「アクティブ・ジョブの処理」ホスト画面 . . . . . . . . . . . . . . . . . . . . . . . 42

10. Dojo 拡張グリッド・ウィジェット . . . . . . . . . . . . . . . . . . . . . . . . . . 4211. 単一行選択の Dojo 拡張グリッド・ウィジェット . . . . . . . . . . . . . . . . . . . . . 4312. アカウント番号入力フィールドを持つホスト画面 . . . . . . . . . . . . . . . . . . . . . 4313. Dojo フィルタリング選択ウィジェット . . . . . . . . . . . . . . . . . . . . . . . . 4414. グローバル変数を使用する Dojo フィルタリング選択ウィジェット . . . . . . . . . . . . . . . 4515. Dojo テキスト・ボックス・ウィジェット . . . . . . . . . . . . . . . . . . . . . . . 4516. Dojo 番号スピナー・ウィジェット . . . . . . . . . . . . . . . . . . . . . . . . . . 4617. TabContainer Dojo ウィジェットを使用してレンダリングするホスト画面 . . . . . . . . . . . . . 4718. Dojo TabContainer ウィジェットの Dojo 拡張グリッド・ウィジェット . . . . . . . . . . . . . . 5019. Dojo TabContainer ウィジェットのグラフ (水平棒) ウィジェット . . . . . . . . . . . . . . . 5020. HATS RESTful Web サービスのアーキテクチャー . . . . . . . . . . . . . . . . . . . . 8221. HATS EJB プロジェクト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

© Copyright IBM Corp. 2003, 2015 vii

Page 10: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

viii IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 11: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

1. 設定の有効値 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182. Javax.servlet クラス、HATS クラス、およびアクセス用メソッド . . . . . . . . . . . . . . . . 203. プラグインの組み合わせ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554. サンプル XML データ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705. 状況コード定義 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1196. コード・ページと使用目的キー . . . . . . . . . . . . . . . . . . . . . . . . . . 151

© Copyright IBM Corp. 2003, 2015 ix

Page 12: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

x IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 13: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

第 1 章 概要

Host Access Transformation Services (HATS) Toolkit は、文字ベースの 3270 または5250 ホスト・アプリケーションのための使いやすいグラフィカル・ユーザー・インターフェース (GUI) を備えた Web HATS アプリケーションを作成およびカスタマイズするための多くのツールを提供します。 HATS Web アプリケーション (ポートレットを含む) は、貴社の Web ページまたはポータル・ページに適したルック・アンド・フィールを使用して開発できます。また、ユーザーは Web ブラウザーからそれらのページにアクセスできます。 HATS を使用すると、文字ベースの3270、5250、または VT アプリケーションに含まれているロジックから、サービス指向アーキテクチャー (SOA) アセットを作成することもできます。

サービス指向アーキテクチャーは、ビジネス・プロセスおよびソフトウェア・ユーザーの要件をサポートするために、疎結合ソフトウェア・サービスの使用を定義するソフトウェア・アーキテクチャーの全体像を表現します。 SOA 環境では、ネットワーク上のリソースは、基礎となるプラットフォームのインプリメンテーションの知識がなくてもアクセスできる独立サービスとして使用可能にされます。

また、SOA は、疎結合サービスと相互運用サービスを結合することによって構築されるアプリケーションの作成を可能にする情報システム・アーキテクチャーのスタイルと見なすことができます。これらのサービスは、基礎となるプラットフォームおよびプログラミング言語とは独立した形式的定義または契約 (WSDL など) に基づき、連携して動作します。インターフェース定義は、言語固有サービスのインプリメンテーションがわからないようにします。そのため、SOA 準拠のシステムは、開発テクノロジーおよびプラットフォーム (Java™ および .NET) から独立することができます。例えば、.NET プラットフォームで実行する C# で作成されたサービス、および Java EE プラットフォームで実行する Java で作成されたサービスのどちらも、共通する複合アプリケーションによって消費されます。さらに、一方のプラットフォームで実行するアプリケーションが、他方のプラットフォームで実行するサービスを Web サービスとして消費できるため、再利用が促進されます。 SOA

は、複合エンタープライズ・システム内の統合および一元管理アクティビティーをサポートできますが、SOA は機能やサービスを文書化するための方法論またはフレームワークを指定または提供することはありません。

HATS アプリケーションに何らかの機能を追加する必要があっても、 HATS Toolkit

および IBM® Rational® Software Delivery Platform (SDP) のウィザードおよびエディターを使用して追加できないことがあります。この「Web アプリケーション・プログラマーズ・ガイド」では、追加のプログラミングを行うことにより、ご使用のHATS アプリケーションを拡張する方法をいくつか紹介します。また、次のようなHATS の基本的な概念を読者が十分理解していることが前提になっています。

v HATS によるホスト画面の処理方法

v コンポーネントおよびウィジェットを使用して変換を作成する

v イベントとアクション

v グローバル変数を使用する

v マクロを記録する

© Copyright IBM Corp. 2003, 2015 1

|

|

|

|

|

|

|

|

|

Page 14: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

v マクロから統合オブジェクトを作成する

これらのトピックについて十分理解されていない場合は、「HATS ユーザーと管理者のガイド」の説明を参照すると、本書で説明されている情報を有効に利用するための基本的な知識を得ることができます。また、Java EE アプリケーションを作成するには、Rational SDP の使用方法について理解しておく必要があります。

この「Web アプリケーション・プログラマーズ・ガイド」では、ご使用の HATS

アプリケーションをプログラミングによって拡張する方法を説明します。次のようなことが可能です。

v ビジネス・ロジック・クラスを追加し、イベント発生時のアクションとして呼び出されるようにする。ホスト画面認識を補助するために、カスタム・ロジックを作成することもできます。詳細については、 5ページの『第 2 章 ビジネス・ロジックの追加』を参照してください。

v 既存のホスト・コンポーネントおよびウィジェットを拡張することにより、変換で使用する新しいコンポーネントまたはウィジェットを追加する。詳しくは、 21

ページの『第 3 章 カスタム・コンポーネントおよびウィジェットの作成』を参照してください。

v 統合オブジェクトを使用して複数のプログラミング・タスクを実行する。詳しくは、 59ページの『第 6 章 統合オブジェクトを使用したプログラミング』および101ページの『第 9 章 統合オブジェクト - 高度なトピック』を参照してください。

v 1 つ以上の統合オブジェクトを Web サービスとして使用できるようにし、そのオブジェクトを他のアプリケーションで使用できるようにする。詳細については、 73ページの『第 7 章 Web サービスの開発』を参照してください。

v 1 つ以上の統合オブジェクトを EJB クライアントから使用できるようにし、これらを他のアプリケーションで使用できるようにする。詳細については、 91ページの『第 8 章 HATS EJB アプリケーションの作成と使用』を参照してください。

v Web 高速ログオンのための独自のプラグインを作成する。 115ページの『第 10

章 Web 高速ログオンのプラグインの作成』を参照してください。

v ご使用の HATS ポートレットの機能を拡張する。詳細については、 53ページの『第 5 章 HATS ポートレットでのプログラミング』を参照してください。

v HATS 双方向 API を使用して、双方向コード・ページを使用するアプリケーションで画面要素の方向を操作する。詳細については、 125ページの『第 11 章HATS 双方向 API の使用』を参照してください。

アプリケーションを拡張する際、一部の Java ソース・ファイルを編集する必要が生じる場合があります。 Rational Software Delivery Platform ヘルプの『Java アプリケーションの開発』というセクションは、この作業のために有用な場合があります。

コード例このマニュアル全体で扱うコード例は、隣接するセクションで紹介したオブジェクトや API の使用例を示しています。これらの例を本書からご使用のアプリケーションにコピーしても、適切に機能しない場合があります。

2 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

Page 15: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

API 資料の使用 (Javadoc)HATS API リファレンス資料は、多くのプログラミング・タスクを実行する際に役立ちます。この資料を表示するには、HATS の IBM Knowledge Center コレクション collection (http://www.ibm.com/support/knowledgecenter/SSXKAY_9.5.0 を参照し、「HATS API References (Javadoc)」リンクをクリックしてください。 HATS で提供されているアプリケーション・プログラミング・インターフェースに関する情報や例が必要な場合は、この資料を参照してください。

第 1 章 概要 3

Page 16: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

4 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 17: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

第 2 章 ビジネス・ロジックの追加

ビジネス・ロジックは、ホスト画面の認識や HATS アプリケーションの起動などのイベントの発生時に、アクションとして起動されるあらゆる Java コードです。ビジネス・ロジックはアプリケーションに固有のものであり、HATS の一部として提供されるものではありません。ユーザーはビジネス・ロジックを使用して、HATS アプリケーションを拡張し、データベースや統合オブジェクトなどの他のデータ・ソースと統合することができます。例えば、ファイルやデータベースの内容を HATS

グローバル変数へ読み取ることや、そのグローバル変数を使用して、アプリケーションの GUI ページで使用するドロップダウン・リストやポップアップに入力することができます。

HATS Web プロジェクトに HATS ビジネス・ロジックを組み込む際、HATS によってクラス・ローダー・ポリシーが自動的に更新されます。これにより、HATS アプリケーションのデフォルト WAR クラス・ローダー・ポリシーが、「アプリケーションの単一クラス・ローダー」に更新されます。

ビジネス・ロジックを作成してプロジェクトに追加するには、「ビジネス・ロジックの作成」ウィザードを使用します。このウィザードを起動するには、HATS

Toolkit の「HATS プロジェクト」タブを右クリックして、「新規 HATS」>「ビジネス・ロジック」とクリックします。

「ビジネス・ロジックの作成」ウィザードで、ビジネス・ロジックを追加するプロジェクトを指定し、Java クラス名を入力します。デフォルトのパッケージ名は、projectName.businessLogic ですが、これは Studio の「設定」で変更することができます。オプションで、パッケージ名を指定するか、「参照」をクリックして既存のJava パッケージを選択することができます。プロジェクトのグローバル変数に簡単にアクセスするためのメソッドをビジネス・ロジックに組み込むか、または、プロジェクトのグローバル変数を除去する場合は、「グローバル変数ヘルパー・メソッドの作成」チェック・ボックスを選択します。必要な情報を入力したら、「完了」をクリックします。

ビジネス・ロジック・クラスの作成後、それを 1 つ以上の画面イベントやアプリケーション・イベントにリンクして、そのイベントの発生時に実行させることができます。リンクの追加先の各イベント (アプリケーション・イベントまたは画面カスタマイズ) を編集します。「アクション」タブの「追加」をクリックして、「ビジネス・ロジックを実行」を選択し、ビジネス・ロジック・クラスの詳細を入力します。画面カスタマイズの編集とイベントの編集のいずれについても、「HATS ユーザーと管理者のガイド」を参照してください。

プロジェクト内のビジネス・ロジック・ファイルを見るには、HATS Toolkit の「HATS プロジェクト表示」タブ上のソース・フォルダーを展開します。ソース・フォルダー内の個々のパッケージ名またはクラス名が表示されます。Java クラス名を見るには、パッケージ名フォルダーを展開します。クラスを編集するには、クラス名をクリックします。ソース・フォルダーには、HATS プロジェクトにインポートされたその他の Java ファイルも組み込むことができます。

© Copyright IBM Corp. 2003, 2015 5

Page 18: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

「ビジネス・ロジックの作成」ウィザードを使用してビジネス・ロジックを作成する場合、デフォルトでは、実行アクションによって起動されるメソッドに executeという名前が付けられます。独自のクラスを作成する場合は、メソッドに以下の属性がなければなりません。

v public および static としてマーク付けされている。

v 戻りの型が void である。

v com.ibm.hats.common.IBusinessLogicInformation オブジェクトを唯一のパラメーターとして受け入れる。

メソッドは、次のように上の形式を使用して、この後にユーザー独自のビジネス・ロジック・コードを続ける必要があります。

public static void myMethod (IBusinessLogicInformation businesslogic)

カスタム Java コードに渡される IBusinessLogicInformation オブジェクトにより、HATS プロジェクトの各種オブジェクトおよび設定にアクセスし、それらを使用または変更することができます。この種のオブジェクトや設定には以下のものがあります。

v com.ibm.hats.runtime.IRequest クラス。このクラスは、HATS ランタイムに対してなされた要求を表すオブジェクトを返して、パラメーターを要求するためのアクセスを提供します。

v com.ibm.hats.runtime.IResponse クラス。このクラスは、HATS ランタイムからの応答を表すオブジェクトを返します。

v getConnectionMap() メソッド。アプリケーションに対して提供した接続情報の設定が含まれる java.util.Map を返します。

v getGlobalVariables() メソッド。このアプリケーション・インスタンス用のグローバル変数の java.util.Hashtable を返します。このテーブルには、共用グローバル変数は含まれていません。

v getSharedGlobalVariables() メソッド。このアプリケーション・インスタンス用の共用グローバル変数の java.util.Hashtable を返します。

v クラス・プロパティー。これは、コンポーネントやウィジェットなどのオブジェクトに関するデフォルト設定を提供します。

v com.ibm.hats.common.HostScreen オブジェクト。これにはホスト画面情報が含まれています。

v クライアントの java.util.Locale クラス

v com.ibm.hats.common.TextReplacementList の値と設定

v クライアント・セッション ID ストリング (「ビジネス・ロジックの作成」ウィザードが提供したビジネス・ロジックのテンプレート内の getter メソッドによって戻されたもの)

v 双方向セッションの場合の現在の画面方向

v 双方向セッションの場合のブラウザー内の「画面を反転」ボタンの有無

使用可能なクラスについて詳しくは、HATS Knowledge Center

(http://www.ibm.com/support/knowledgecenter/SSXKAY_9.5.0) にある HATS API 資料に記載された IBusinessLogicInformation クラスを参照してください。IBusinessLogicInformation は、IBaseInfo クラスを拡張するため、これらの API のいくつかは IBaseInfo クラスで定義されます。

6 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 19: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

他のアプリケーションからの Java コードの組み込み他の既存のアプリケーションから HATS プロジェクトに Java コードを組み込むには、いくつか方法があります。

既存のビジネス・ロジックからソース・コード (.java ファイル) を組み込んで、そのコードを変更できるようにする場合は、既存プロジェクトのソース・フォルダーに .java ファイルをインポートすることができます。「ファイル」>「インポート」>「一般」>「ファイル・システム」をクリックして、「インポート」ウィザードを開きます。「インポート」ウィザードでは、「ソース・ディレクトリー」フィールドでソース・ファイルの場所を選択します。Web プロジェクトの場合は、宛先の「宛先フォルダー」入力フィールドで、プロジェクトの Java ソース・フォルダーを選択します。インポートされたソース .java ファイルは自動的にコンパイルされて、HATS プロジェクトに組み込まれます。Rational SDP ワークベンチで、ソース・ファイルの編集、ブレークポイント設定、デバッグが可能です。

コンパイル済みの Java ビジネス・ロジックを、Java アーカイブ・ファイル (.jar)

に組み込むこともできます。Java アーカイブ全体が追加されます。個々のクラスを選択して追加することはできません。

1. .jar ファイルを HATS EAR プロジェクトにインポートします。

a. 「ファイル」>「インポート」>「一般」>「ファイル・システム」をクリックして、「インポート」ウィザードを開きます。

b. 「ソース・ディレクトリー」フィールドで、インポートする Java アーカイブ(.jar) のソース・ディレクトリーを選択します。

c. 右側のペインから、.jar ファイルを選択します。

d. 「宛先フォルダー」フィールドで、使用している HATS EAR プロジェクトを宛先として選択します。

e. 「完了」をクリックします。

f. .jar ファイルがインポートされたら、HATS Toolkit の「ナビゲーター」タブをクリックし、HATS ear プロジェクトを展開します。インポートした java

アーカイブ・ファイルが表示されます。

2. java アーカイブをプロジェクトのビルド・パスに追加します。

a. HATS Toolkit の「ナビゲーター」タブで、ビジネス・ロジックを起動するプロジェクトを選択します。

b. 上位の HATS プロジェクトを右マウス・ボタンでクリックし、「プロパティー」を選択します。

c. 「プロパティー」ウィンドウで、左方のテーブルから「Java のビルド・パス」を選択し、右側の「ライブラリー」タブをクリックします。

d. 「JAR の追加」をクリックして、「JAR の選択」ウィンドウを開きます。

e. HATS EAR プロジェクトを展開し、新たにインポートした Java アーカイブ・ファイルを選択します。

f. 「JAR の選択」ウィンドウで「OK」をクリックし、「プロパティー」ウィンドウで「OK」をクリックします。

g. ビジネス・ロジックを使用するすべての HATS プロジェクトについて、このプロセスを繰り返してください。

第 2 章 ビジネス・ロジックの追加 7

Page 20: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

3. ビジネス・ロジックが起動されるプロジェクトを定義します。

a. HATS Toolkit の「ナビゲーター」タブで、ビジネス・ロジックを起動するプロジェクトを再び選択します。

b. プロジェクト、「Web コンテンツ」フォルダー、および「META-INF」フォルダーを展開します。

c. MANIFEST.MF ファイルをダブルクリックして、JAR 依存関係エディターを開きます。プロジェクトのクラスパスに組み込む各 .jar ファイルの横のチェック・ボックスを選択します。

Java アーカイブを HATS プロジェクトにインポートする方法は、他にもあります。HATS プロジェクトは、Rational SDP ワークベンチ内の Web プロジェクトの拡張版です。Web プロジェクトへのファイルのインポートの詳細については、Rational SDP の「ヘルプ」を開き、「Web プロジェクト」を検索してください。

ビジネス・ロジックでのグローバル変数の使用HATS アプリケーションでグローバル変数を使用して情報を保管している場合は、それらのグローバル変数をビジネス・ロジックで使用できます。

グローバル変数にはローカルと共用の 2 つのタイプがあります。ローカル・グローバル変数は HATS プロジェクト内で作成され、そのプロジェクトに対してのみ可視の変数です。共用グローバル変数は、EAR ファイル内のすべてのアプリケーションに対して可視であり使用可能な変数です。また、HATS グローバル変数には 2 つのリストがあります。1 つはローカル・グローバル変数用で、もう 1 つは共用グローバル変数用です。同じ名前を持つ 2 つのグローバル変数がある場合、1 つがローカルでもう 1 つが共用であれば共存が可能です。

ビジネス・ロジック・クラスを作成する際は、「ビジネス・ロジックの作成」ウィザードを使用して、「グローバル変数ヘルパー・メソッドの作成」チェック・ボックスを選択します。これにより、ビジネス・ロジックに、ローカル・グローバル変数および共用グローバル変数を取得、設定、および除去するためのメソッドが作成されます。

以下のメソッドが作成されます。////////////////////////////////////////////////////////////////////////////////// This sample is provided AS IS.// Permission to use, copy and modify this software for any purpose and// without fee is hereby granted. provided that the name of IBM not be used in// advertising or publicity pertaining to distribution of the software without// specific written permission.//// IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SAMPLE, INCLUDING ALL// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL IBM// BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY// DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER// IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING// OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SAMPLE./////////////////////////////////////////////////////////////////////////////////*** Example method that sets a named global variable* from the current session to a value* @param blInfo - IBusinessLogicInformation from current session* @param name - Name of the global variable* @param value - Value of the global variable*/public static void setGlobalVariable(IBusinessLogicInformation blInfo,

String name,Object value){

8 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 21: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

IGlobalVariable gv = blInfo.getGlobalVariable(name);if ( gv == null ){gv = new GlobalVariable(name,value);}else{gv.set(value);}blInfo.getGlobalVariables().put(name,gv);

}

/*** Example method that sets a named shared* global variable from the current session to a value* @param blInfo - IBusinessLogicInformation from current session* @param name - Name of the shared global variable* @param value - Value of the shared global variable*/public static void setSharedGlobalVariable(IBusinessLogicInformationblInfo,String name,Object value)

{IGlobalVariable gv = blInfo.getSharedGlobalVariable(name);if ( gv == null ){gv = new GlobalVariable(name,value);}else{gv.set(value);}blInfo.getSharedGlobalVariables().put(name,gv);

}

/*** Example method that removes a named global variable from the current session* @param blInfo - IBusinessLogicInformation from current session* @param name - Name of the global variable*/public static void removeGlobalVariable(IBusinessLogicInformation blInfo, String name){IGlobalVariable gv = blInfo.getGlobalVariable(name);if ( gv != null ){blInfo.getGlobalVariables().remove(name);gv.clear();gv = null;}

}/*** Example method that removes a named shared global variable from the current session* @param blInfo - IBusinessLogicInformation from current session* @param name - Name of the shared global variable*/public static void removeSharedGlobalVariable(IBusinessLogicInformation blInfo, String name){IGlobalVariable gv = blInfo.getSharedGlobalVariable(name);if ( gv != null ){blInfo.getSharedGlobalVariables().remove(name);gv.clear();gv = null;}

}/*** Example method that retrieves a named global variable from the current session* @param blInfo - IBusinessLogicInformation from current session* @param name - Name of the global variable* @return - an instance of the global variable, or null if not found.*/public static IGlobalVariable getGlobalVariable(IBusinessLogicInformationblInfo,String name)

{IGlobalVariable gv = blInfo.getGlobalVariable(name);return gv;

}

/*** Example method that retrieves a named shared* global variable from the current session

第 2 章 ビジネス・ロジックの追加 9

Page 22: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

* @param blInfo - IBusinessLogicInformation from current session* @param name - Name of the shared global variable* @return - an instance of the global variable, or null if not found.*/public static IGlobalVariable getSharedGlobalVariable(IBusinessLogicInformationblInfo,String name)

{IGlobalVariable gv = blInfo.getSharedGlobalVariable(name);return gv;

}

コード内の別の部分でローカル・グローバル変数の値が必要になった場合は、このメソッドを呼び出すことができます。

GlobalVariable gv1 = getGlobalVariable(blInfo,"varname");

共用グローバル変数の値を取得するには、次のメソッドを使用します。

GlobalVariable gv1 = getSharedGlobalVariable(blInfo,"varname");

ビジネス・ロジックの例ここでは、ビジネス・ロジックの使用例を示します。各例では、グローバル変数を扱います。それぞれの例で前述のグローバル変数ヘルパー・メソッドを 1 つ以上使用するため、クラスにそれらのメソッドを組み込む必要があります。ここでは、コード例を見やすくするため、スタブが省略されています。

例: 日付変換この例では、日付を mm/dd/yy の形式から月、日、年の形式に変換します。例えば、6/12/2004 は June 12, 2004 に変換されます。この例では、ビジネス・ロジックが呼び出される前にグローバル変数 theDate が設定されていることを前提としています。この例では、以下のメソッドをどのように使用して入力変数の値を取得しているかに注意してください。

IGlobalVariable inputDate = getGlobalVariable(blInfo, "theDate");

この例では、標準の Java 関数を使用して日付を希望の形式で表示するようにストリングを操作した後で、以下のメソッドを使用して同じグローバル変数に新規ストリングを組み込んでいます。

setGlobalVariable(blInfo, "theDate", formattedDate);

////////////////////////////////////////////////////////////////////////////////// This sample is provided AS IS.// Permission to use, copy and modify this software for any purpose and// without fee is hereby granted. provided that the name of IBM not be used in// advertising or publicity pertaining to distribution of the software without// specific written permission.//// IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SAMPLE, INCLUDING ALL// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL IBM// BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY// DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER// IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING// OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SAMPLE.////////////////////////////////////////////////////////////////////////////////import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;

import com.ibm.hats.common.IBusinessLogicInformation;import com.ibm.hats.common.GlobalVariable;import com.ibm.hats.common.IGlobalVariable;

10 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 23: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

public class CustomDateFormatter{

public static void execute(IBusinessLogicInformation blInfo){IGlobalVariable inputDate = getGlobalVariable(blInfo, "theDate");SimpleDateFormat inputFormat = new SimpleDateFormat("MM/dd/yyyy");SimpleDateFormat outputFormat = new SimpleDateFormat("MMMM dd, yyyy");

try{Date tempDate = inputFormat.parse(inputDate.getString().trim());String formattedDate = outputFormat.format(tempDate);setGlobalVariable(blInfo, "theDate", formattedDate);}catch (ParseException ex){ex.printStackTrace();}

}}

例: 索引付きグローバル変数に含まれている値の追加この例では、索引付きグローバル変数に含まれている値を追加し、別の索引なしグローバル変数に合計を保管します。これは、数値を表すストリングが索引付きグローバル変数 subtotals に保管されていることを前提としています。

前の例では、入力グローバル変数と出力グローバル変数 (theDate) の名前が set 呼び出しに含まれていました。この例では、入力変数と出力変数の名前をローカル・ストリング変数内に設定し、それらのストリングを呼び出しで使用してグローバル変数値を取得および設定します。グローバル変数の名前は変数として渡されているため、引用符で囲まれていません。

setGlobalVariable(blInfo,gvOutputName, new Float(myTotal));

////////////////////////////////////////////////////////////////////////////////// This sample is provided AS IS.// Permission to use, copy and modify this software for any purpose and// without fee is hereby granted. provided that the name of IBM not be used in// advertising or publicity pertaining to distribution of the software without// specific written permission.//// IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SAMPLE, INCLUDING ALL// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL IBM// BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY// DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER// IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING// OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SAMPLE.////////////////////////////////////////////////////////////////////////////////import com.ibm.hats.common.IBusinessLogicInformation;import com.ibm.hats.common.GlobalVariable;import com.ibm.hats.common.IGlobalVariable;

public static void execute(IBusinessLogicInformation blInfo){// Name of indexed global variable to be read in

String gvInputName = "subtotals";// Name of global variable to be calculated and savedString gvOutputName = "total";

// The indexed global variable where each index is a subtotal to be summedGlobalVariable gvSubtotals =

((GlobalVariable)getGlobalVariable(blInfo, gvInputName));

float myTotal = 0;

// Calculate the total by adding all subtotalsfor (int i = 0; i < gvSubtotals.size(); i++){myTotal = myTotal + Float.valueOf(gvSubtotals.getString(i)).floatValue();}

第 2 章 ビジネス・ロジックの追加 11

Page 24: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

// Save the total as a non-indexed local variablesetGlobalVariable(blInfo,gvOutputName, new Float(myTotal));

}

例: ファイルから索引付きグローバル変数へのストリング・リストの読み取り

この例では、ファイル・システムからファイルを読み取り、ファイル内のストリングを索引付きグローバル変数に保管します。こうした技法を使用して、例えば会社の場所のリストを含むファイルを読み取ることができます。グローバル変数にストリングを保管した後、そのグローバル変数を使用してドロップダウン・リストやその他のウィジェットに値を入力し、ユーザーが値のリストから選択できるようにすることができます。適切な入力フィールドがあるところではどこでも、このウィジェットを使用するためのグローバル規則を作成できます。アプリケーションが起動するとすぐにグローバル変数が使用可能になるようにするには、このビジネス・ロジック・クラスの実行アクションを Start イベントに追加します。

注: テキスト・ファイルが行間に復帰および改行を使用している場合、次の例のStringTokenizer コンストラクターの呼び出しで 2 番目の引数として「¥r¥n」を使用する必要があります。

////////////////////////////////////////////////////////////////////////////////// This sample is provided AS IS.// Permission to use, copy and modify this software for any purpose and// without fee is hereby granted. provided that the name of IBM not be used in// advertising or publicity pertaining to distribution of the software without// specific written permission.//// IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SAMPLE, INCLUDING ALL// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL IBM// BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY// DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER// IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING// OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SAMPLE.////////////////////////////////////////////////////////////////////////////////import com.ibm.ejs.container.util.ByteArray;import com.ibm.hats.common.IBusinessLogicInformation;import com.ibm.hats.common.GlobalVariable;import com.ibm.hats.common.IGlobalVariable;

public class ReadNamesFromFile{

public static void execute(IBusinessLogicInformation blInfo){// Name of indexed global variable to be savedString gvOutputName = "namesFromFile";

// The file containing a list of information (in this case, it contains names)java.io.File myFileOfNames = new java.io.File("C:" + java.io.File.separator

+ "temp" + java.io.File.separator + "names.txt");

try{

// First, read the contents of the file

java.io.FileInputStream fis = new java.io.FileInputStream(myFileOfNames);

int buffersize = (int)myFileOfNames.length();byte[] contents = new byte[buffersize];;

long n = fis.read(contents, 0, buffersize);

fis.close();

String namesFromFile = new String(contents);

// Next, create an indexed global variable from the file contents

12 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 25: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

java.util.StringTokenizer stok =new java.util.StringTokenizer(namesFromFile, "¥n", false);

int count = stok.countTokens();String[] names = new String[count];for (int i = 0; i < count; i++){names[i] = stok.nextToken();}

IGlobalVariable gv = new GlobalVariable(gvOutputName, names);blInfo.getGlobalVariables().put(gvOutputName,gv);}catch (java.io.FileNotFoundException fnfe){fnfe.printStackTrace();}catch (java.io.IOException ioe){ioe.printStackTrace();}

}}

例: 統合オブジェクトの呼び出しこの例では、ビジネス・ロジックからの統合オブジェクトの呼び出し例を示します。例では、input というストリングを 1 つの入力パラメーターとして使用し、output というストリングを戻す Iomac という統合オブジェクトがあることを前提としています。

このビジネス・ロジックは、次の手順を実行します。

1. 統合オブジェクトのインスタンスを生成します。

IntegrationObject.Iomac io = new IntegrationObject.Iomac();

2. グローバル変数から入力変数を設定します。

io.setInput(getGlobalVariable(blInfo,"input").getString());

3. HATS ラッパー・メソッドからサーブレット要求と応答オブジェクトを取得し、その要求と応答を使用して統合オブジェクトを呼び出します。

WebRequest webReq = (WebRequest)blInfo.getRequest();HttpServletRequest req = webReq.getHttpServletRequest();WebResponse webResp = (WebResponse)blInfo.getResponse();HttpServletResponse resp = webResp.getHttpServletResponse();io.doHPTransaction(req,resp);

4. 例外を確認します。

5. 統合オブジェクトが正常に実行されたら、グローバル変数出力を、統合オブジェクトの getOutput() メソッドによって返された値に設定します。

if (io.getHPubErrorOccurred() == 0)setGlobalVariable(blInfo,"output",io.getOutput());

複数の入力変数を受け入れる統合オブジェクトや複数の変数を戻す統合オブジェクトを起動するには、setter 呼び出しと getter 呼び出しを追加して入力変数を設定してから、統合オブジェクトを起動し、その実行後に出力値を検索します。////////////////////////////////////////////////////////////////////////////////// This sample is provided AS IS.// Permission to use, copy and modify this software for any purpose and// without fee is hereby granted. provided that the name of IBM not be used in// advertising or publicity pertaining to distribution of the software without// specific written permission.//// IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SAMPLE, INCLUDING ALL// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL IBM// BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY

第 2 章 ビジネス・ロジックの追加 13

Page 26: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

// DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER// IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING// OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SAMPLE.////////////////////////////////////////////////////////////////////////////////import com.ibm.hats.common.IBusinessLogicInformation;import com.ibm.hats.common.GlobalVariable;import com.ibm.hats.common.IGlobalVariable;

public class myLogic{

public static void execute(IBusinessLogicInformation blInfo){

//add code here to perform your business logicIntegrationObject.Iomac io = new IntegrationObject.Iomac();

// Set Integration Object’s HAOVariable "input"// equal to text from HATS gv "input"io.setInput(getGlobalVariable(blInfo,"input").getString());

// Get the request and response objects from the HATS wrapper method and run the hp transaction

try {WebRequest webReq = (WebRequest)blInfo.getRequest();HttpServletRequest req = webReq.getHttpServletRequest();WebResponse webResp = (WebResponse)blInfo.getResponse();HttpServletResponse resp = webResp.getHttpServletResponse();io.doHPTransaction(req,resp);}catch (Exception e) {System.out.println("Exception thrown: " + e.toString());setGlobalVariable(blInfo,"output","An exception was thrown. Please view the log for more details");

}

// Retrieve "output" computed through IO transaction// and set it to HATS gv "output"

if (io.getHPubErrorOccurred() == 0) {setGlobalVariable(blInfo,"output",io.getOutput());System.out.println("Transaction has been completed successfully.");}else {setGlobalVariable(blInfo,"output","Transaction has failed unexpectedly.HATS Error message = " + io.getHPubErrorMessage());

System.out.println("Transaction failed unexpectedly. HATS Error message =" + io.getHPubErrorMessage()"); }}

}

注: 標準ポートレットでビジネス・ロジックから統合オブジェクトを実行するには、doHPTransaction(HttpServletRequest, HttpServletResponse) の代わりに、processRequest() メソッドを呼び出す必要があります。代わりに、ステップ 3

(前述) の以下のコードを使用できます。

io.setHPubStartPoolName("my_hats_project/default_connection");io.processRequest();

統合オブジェクトを標準ポートレットで Web 高速ログオンを使用するように構成する場合は、processRequest() メソッドを実行する前に setHPubPortletRequest

(javax.portlet.PortletRequest) を呼び出すことで、PortletRequest を確実に統合オブジェクトで使用できるようにする必要があります。例えば、次のように設定されます。

io.setHPubStartPoolName("my_hats_project/default_connection");com.ibm.hats.portlet.runtime.JsrStandardPortletRequest jsrReq =(com.ibm.hats.portlet.runtime.JsrStandardPortletRequest)blInfo.getRequest();javax.portlet.PortletRequest req = jsrReq.getPortletRequest();io.setHPubPortletRequest(req);io.processRequest();

14 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 27: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

カスタム画面認識の使用ビジネス・ロジックを使用して、カスタム画面認識を実行できます。 HATS Toolkit

では、画面カスタマイズに画面認識のオプションが多数用意されています。これには、画面上のフィールド数、ストリングの有無、グローバル変数の使用などがあります。これらのオプションについては、「HATS ユーザーと管理者のガイド」を参照してください。しかし、画面カスタマイズ・エディターのオプションでは設定できないような方法で画面を認識したい場合もあるでしょう。そのような場合は、独自のカスタム画面認識論理を追加できます。

注: ここで説明する情報は、画面カスタマイズだけでなくマクロでの画面認識にも適用できます。

HATS グローバル変数を使用してカスタム画面認識論理を作成する方法については、 17ページの『グローバル変数を使用したカスタム画面認識』を参照してください。

すでに ECLCustomRecoListener クラスを拡張してカスタム画面認識論理を作成してある場合は、その論理を HATS 内で使用できます。新規カスタム論理を作成する場合は、次の手順に従ってください。

1. Java パースペクティブを開きます。

2. 「ファイル」>「新規」>「クラス」とクリックします。

3. HATS プロジェクトのソース・ディレクトリーを参照します。

4. パッケージとクラスの名前を入力します。

5. スーパークラスの場合は、「参照」をクリックして、com.ibm.hats.common.customlogic.AbstractCustomScreenRecoListener を見つけます。

6. 「継承された抽象メソッド」チェック・ボックスを選択します。「完了」をクリックします。これにより、指定したプロジェクトにコード・スケルトンがインポートされます。

7. isRecognized メソッドに論理を追加します。ブール値が戻されることを確認します。

public boolean isRecognized(String arg0, IBusinessLogicInformation

arg1, ECLPS arg2, ECLScreenDesc arg3)

このメソッドの詳細については、HATS Knowledge Center で HATS API の資料を参照してください。

8. メソッドの作成後、画面認識を更新してメソッドを呼び出す必要があります。「HATS プロジェクト」ビューから、プロジェクトと「画面カスタマイズ」フォルダーを展開します。カスタム論理を追加する画面カスタマイズの名前をダブルクリックします。「ソース」タブをクリックして画面カスタマイズのソース・ビューを開きます。

9. ソース・ビュー内に、<description> タグで始まり </description> タグで終わるブロックが表示されます。このブロックには、画面の認識に使用される情報が含まれています。カスタム論理を起動するには、このブロック内に行を追加します。

第 2 章 ビジネス・ロジックの追加 15

Page 28: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

<customreco id="customer.class.package.MyReco::settings"

invertmatch="false" optional="false"/>

ここで、customer.class.package.MyReco はご使用のパッケージとクラス名です。クラスに設定値を渡す場合は、クラス名の後に 2 つのコロンで区切って設定値を追加します。設定値はオプションです。クラスは、渡された値をすべて解析する必要があります。設定値が必要ない場合は、2 つのコロンを省略します。

説明ブロック内のどこに <customreco> タグを置くかを検討します。他のすべての基準が一致した場合だけカスタム論理を起動するには、ブロックの終わりの</description> タグの直前に <customreco> タグを置きます。画面カスタマイズで画面領域と値を比較する場合、説明ブロックには <block> タグと </block>

タグで囲まれた、より小さいブロックが含まれ、画面領域と比較する値が定義されます。このブロック内には customreco タグを置かないでください。

説明ブロックの例を次に示します。<customreco> タグは </description> タグの直前にあり、<block タグと </block> タグの間にはないことに注意してください。

<description><oia invertmatch="false" optional="false" status="NOTINHIBITED"/><numfields invertmatch="false" number="61" optional="false"/><numinputfields invertmatch="false" number="16" optional="false"/><block casesense="false" col="2" ecol="14" erow="21"

invertmatch="false" optional="false" row="20"><string value="USERID ==="/><string value="PASSWORD ==="/></block><cursor col="16" invertmatch="false" optional="false" row="20"/><customreco id="customer.class.package.MyReco::settings"

invertmatch="false" optional="false"/></description>

10. HATS プロジェクトをビルドし直すには、ツールバーの「プロジェクト」>「クリーン」をクリックします。

11. 「サーバーで実行」を使用してプロジェクトをテストします。ClassNotFoundException エラーを受信したら、サーバー上のクラス・ローダー・ポリシーを変更します。詳細については、「HATS スタートアップ・ガイド」を参照してください。

カスタム画面認識の例以下に、カスタム画面認識を実行するビジネス・ロジックの例を示します。このビジネス・ロジック・クラスは、ブランクで区切られたコード・ページ番号のリストを設定値としてとり、設定値にリストされた値のいずれかとコード・ページが一致した場合に画面を認識します。タグ構文は次のとおりです。

<customreco id="company.project.customlogic.CodePageValidate::[settings]"optional="false" invertmatch="false" />

例えば、次のタグを説明ブロックに挿入することができます。

<customreco id="company.project.customlogic.CodePageValidate::037 434 1138"optional="false" invertmatch="false" />

この場合は、コード・ページが 037、434、または 1138 であるときに画面が認識されます。

16 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 29: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

////////////////////////////////////////////////////////////////////////////////// This sample is provided AS IS.// Permission to use, copy and modify this software for any purpose and// without fee is hereby granted. provided that the name of IBM not be used in// advertising or publicity pertaining to distribution of the software without// specific written permission.//// IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SAMPLE, INCLUDING ALL// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL IBM// BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY// DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER// IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING// OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SAMPLE.////////////////////////////////////////////////////////////////////////////////package company.project.customlogic;

import java.util.StringTokenizer;import java.lang.Integer;import com.ibm.eNetwork.ECL.ECLPS;import com.ibm.eNetwork.ECL.ECLScreenDesc;import com.ibm.hats.common.IBusinessLogicInformation;import com.ibm.hats.common.HostScreen;import com.ibm.hats.common.customlogic.AbstractCustomScreenRecoListener;

public class CodePageValidate extends AbstractCustomScreenRecoListener {

/*** @see com.ibm.hats.common.customlogic.AbstractCustomScreenRecoListener* #isRecognized(java.lang.String, com.ibm.hats.common.IBusinessLogicInformation,* com.ibm.eNetwork.ECL.ECLPS, com.ibm.eNetwork.ECL.ECLScreenDesc)*/public boolean isRecognized(String settings,IBusinessLogicInformation bli,ECLPS ps,ECLScreenDesc screenDescription) {HostScreen hs=bli.getHostScreen();int int_codepage=hs.GetCodePage();if(settings!=null){StringTokenizer tokenizer = new StringTokenizer(settings);while( tokenizer.hasMoreTokens() ){int int_token= Integer.valueOf(tokenizer.nextToken()).intValue();if ( int_token==int_codepage ){return true;

}}}return false;}

}

グローバル変数を使用したカスタム画面認識HATS Toolkit には、次に示すように、グローバル変数を使用した画面認識オプションがいくつか用意されています。

v グローバル変数が存在することを検証

v グローバル変数が存在しないことを検証

v グローバル変数の整数またはストリング値を検証

これらのオプションについては、「HATS ユーザーと管理者のガイド」を参照してください。HATS グローバル変数に基づいて画面認識を実行する場合、「グローバル変数論理 (Global Variable Logic)」パネル内のオプションが要件に合わなければ、1 つ以上のグローバル変数の値または存在に基づいて独自の論理を追加できます。このアプローチでは、Java クラスを作成する必要はありません。代わりに、HATS

が提供する GlobalVariableScreenReco クラスを使用します。<customreco> タグで比較を設定値として指定できます。フォーマットは次のいずれかになります。

第 2 章 ビジネス・ロジックの追加 17

Page 30: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

v <customreco

id="com.ibm.hats.common.customlogic.GlobalVariableScreenReco::

{variable(name,option,resource, index)}COMPARE{type(name,option,resource,

index)}"

invertmatch="false" optional="false"/>

v <customreco

id="com.ibm.hats.common.customlogic.GlobalVariableScreenReco::

{variable(name,option,resource, index)}COMPARE{type(value)}"

invertmatch="false" optional="false"/>

比較される 2 つの項目それぞれを含む中括弧 {} が使用されます。最初の項目は、name で名前が指定された HATS グローバル変数です。option を使用して、比較で変数の値、長さ、存在を使用することを指定できます。resource と index の設定はオプションです。resource を使用すると、グローバル変数がローカル (これがデフォルトです) か共用かを示すことができます。index を使用すると、索引付きグローバル変数から使用する値を示すことができます。

2 番目の項目は次のいずれかです。

v 同様のオプションを持つ別の HATS グローバル変数。この場合は、最初のフォーマットが使用されます。

v 固定値。この場合は、2 番目のフォーマットが使用されます。

設定で有効な値が 表 1 に表示されます。COMPARE 設定の場合、ストリングの比較に有効な値は、EQUAL と NOTEQUAL のみです。

表 1. 設定の有効値

設定 有効値

type v variable

v integer

v boolean

v string

COMPARE v EQUAL

v NOTEQUAL

v GREATERTHAN

v GREATERTHANOREQUAL

v LESS THAN

v LESSTHANOREQUAL

オプション v exists (ブール値)

v value (ストリング/整数/ブール値)

v length (整数)

v object (オブジェクト)

resource v local

v shared

index 任意の正の整数または 0

18 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 31: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

次の例では、2 つのローカル・グローバル変数の値を比較します。

<customreco id="com.ibm.hats.common.customlogic.GlobalVariableScreenReco::{variable(name=gv1,option=value,resource=local)}EQUAL{variable(name=gv2,option=value,resource=local)}"invertmatch="false" optional="false"/>

gv1 と gv2 の値が同じである場合、この式は true と評価されます。

次に、長さのオプションについて考えます。索引のないグローバル変数の場合、長さは変数の値の長さになります。索引付きグローバル変数の場合は、索引を指定すると、長さはグローバル変数のその索引の長さになります。索引を指定しないと、長さはグローバル変数内の索引付きエントリーの数になります。

<customreco id="com.ibm.hats.common.customlogic.GlobalVariableScreenReco::{variable(name=gv1,option=length,resource=shared)}LESSTHANOREQUAL{variable(name=gv2,option=length,index=4)}" invertmatch="false" optional="false"/>

この式は、gv1 の長さと gv2 の 4 番目の索引の長さを比較します。gv1 の長さがgv2 の 4 番目の索引の長さと等しいかそれより小さい場合、この式は true と評価されます。長さは整数値を戻すので、LESSTHANOREQUAL を使用できます。

この例の gv1 に対する resource=shared の使用は、gv1 が共用グローバル変数であることを示しています。もう 1 つのオプションは、デフォルトの resource=local です。これは、グローバル変数がその他のアプリケーションと共有されないことを意味します。

あるグローバル変数を別のグローバル変数と比較する必要はありません。グローバル変数の長さは固定整数と比較できます。グローバル変数の値は別のストリングと比較できます。例えば、次のように設定されます。

<customreco id="com.ibm.hats.common.customlogic.GlobalVariableScreenReco::{variable(name=gv1,option=value)}EQUAL{string(value=mystring)}"invertmatch="false" optional="false"/>

この式は、gv1 の値を mystring に含まれているストリングと比較します。このストリングは、固定されたストリング、変数の値、またはメソッド呼び出しから戻された値です。通常は、グローバル変数の長さまたは値を固定値と比較するためにカスタム論理を使用する必要はありません。これらの比較は、「グローバル変数論理(Global Variable Logic)」パネルを使用して追加できます。

javax.servlet クラスへのアクセスWeb アプリケーションの開発者およびリッチ・クライアント・アプリケーションの開発者の双方に一貫性のある API セットを提供するため、一部の HATS API は汎用化され、Web 環境とリッチ・クライアント環境のどちらでも動作するようになっています。例えば、HATS 7.0 より前では、BusinessLogicInfo.getRequest() メソッドを使用することで、要求の javax.servlet.HttpServletRequest オブジェクトにアクセスできました。この API は現在でも使用可能ですが (ただし推奨はされません)、新規のビジネス・ロジック・クラスでは、BusinessLogicInfo クラスではなく、新規のIBusinessLogicInformation インターフェースを使用します。

このインターフェースの getRequest() メソッドは、com.ibm.hats.runtime.IRequest オブジェクトを返します。 Web アプリケーションでは、このオブジェクトの型はcom.ibm.hats.runtime.WebRequest になります。 WebRequest には HttpServletRequest

第 2 章 ビジネス・ロジックの追加 19

Page 32: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

に似たメソッドがありますが、これは HttpServletRequest を拡張したものではありません。 WebRequest オブジェクトから実際の HttpServletRequest オブジェクトにアクセスするには、getHttpServletRequest() メソッドを呼び出します。

表 2. Javax.servlet クラス、HATS クラス、およびアクセス用メソッドjavax.servlet クラス + ラッパー HATS クラス + アクセス用メソッド

HttpServletRequest com.ibm.hats.runtime.WebRequest WebRequest.getHttpServletRequest()

HttpServletResponse com.ibm.hats.runtime.WebResponse WebResponse.getHttpServletResponse()

ServletContext com.ibm.hats.runtime.WebContext WebContext.getServletContext()

ServletConfig com.ibm.hats.runtime.WebConfig WebConfig.getServletConfig()

詳細およびコード・サンプルについては、IBusinessLogicInformation の Javadoc APIを参照してください。

20 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 33: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

第 3 章 カスタム・コンポーネントおよびウィジェットの作成

HATS には、ホスト画面のエレメントを認識するホスト・コンポーネントと、この認識されたエレメントをレンダリングするウィジェットのセットが用意されています。デフォルト設定が要求通りにコンポーネントを認識しない場合やウィジェットをレンダリングしない場合、コンポーネントおよびウィジェットの設定を変更できます。HATS が提供するコンポーネント、ウィジェット、および設定がニーズに合わない場合は、独自のカスタム・コンポーネントまたはウィジェットを作成するか、既存のホスト・コンポーネントまたはウィジェットを変更することができます。HATS コンポーネントが認識しないホスト画面のエレメントを認識するために独自のホスト・コンポーネントを作成することもできます。また、Web ページでのエレメントの表示方法を変更するために独自のウィジェットを作成することもできます。以下のセクションでは、カスタム・ホスト・コンポーネントおよびウィジェットの作成方法について説明します。詳しくは、 131ページの『付録 A. HATS

Toolkit のファイル』を参照してください。

注:

1. HATS は、HATS アプリケーションにカスタム・コンポーネントまたはウィジェットを追加する際、クラス・ローダー・ポリシーを自動的に更新します。これにより、HATS アプリケーションのデフォルト WAR クラス・ローダー・ポリシーが、「アプリケーションの単一クラス・ローダー」に更新されます。

2. 双方向コード・ページを使用している場合は、ウィジェットおよびその他の表示エレメントを制御できます。 125ページの『第 11 章 HATS 双方向 API の使用』を参照してください。

HATS のコンポーネント・タグおよび属性HATS は、HATS Toolkit の変換構成中に行われるホスト・コンポーネントとウィジェットの選択を反映した JavaServer Pages (JSP) ページを作成します (また、.jsp ファイルに情報を書き込みます)。HATS は、この構成を <HATS:Component> タグの一連の属性として書き込みます。<HATS:Component> タグは、ホスト・コンポーネントを定義し、ウィジェット出力を指定するコードを呼び出します。HATS プロジェクトの変換を表示または編集するには、「HATS プロジェクト」ビューでプロジェクトを展開し、「Web コンテンツ/変換 (Web Content/Transformations)」の中を参照します。

この JSP コードの例は、<HATS:Component> タグのフォーマットを示しています。

<HATS:Component type="<fully qualified component class name>"widget="<fully qualified widget class name>"row="1" col="1" erow="24" ecol="80" componentSettings="" widgetSettings=""textReplacement="" />

<HATS:Component> タグの属性データにより、ホスト・コンポーネントとウィジェットのクラスが何を呼び出し、ウィジェットをどのように HTML 出力で表示するのかが決定されます。<HATS:Component> タグの type 属性は、選択されたホスト画面コンポーネントを認識する際に使用するコンポーネント認識クラスを指定しま

© Copyright IBM Corp. 2003, 2015 21

Page 34: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

す。widget 属性は、HTML 出力を生成する際に使用するレンダリング・クラスを指定します。次のリストに、その他の属性を示します。

row ホスト・コンポーネント認識の開始行の位置。

col ホスト・コンポーネント認識の開始カラムの位置。

erow ホスト・コンポーネント認識の終了行の位置。ホスト画面上の最後の行を示すには、-1 を指定します。

ecol ホスト・コンポーネント認識の終了カラムの位置。ホスト画面上の最後の列を示すには、-1 を指定します。

componentSettingsコンポーネント・クラスに送信された一連のキーおよび値の組。componentSettings 値を指定する場合、key:value の形式で指定してください。複数の key:value を指定する場合は、分割垂直バー ( |

) で区切ってください。例: <..

componentSettings="key1:value1|key2:value2" ... >

componentSettings 属性は、コンポーネントの拡張カスタマイズに使用できます。リスト全体を引用符で囲みます。例えば、コマンド行がトークンに ==> の代わりに >>> を使用した場合、このコンポーネント設定値をここで渡すことができます。

widgetSettings ウィジェット・クラスに送信された一連のキーおよび値の組。widgetSettings 値を指定する場合、key:value の形式で指定してください。複数の key:value 組を指定する場合は、分割垂直バー ( | )

で区切ってください。リスト全体を引用符で囲みます。例:<...

widgetSettings="key1:value1|key2:value2" ... >

widgetSettings 属性は、ウィジェットの拡張カスタマイズに使用できます。例えば、一定のカラム数を含んだテーブルが必要な場合、ここでウィジェット設定を渡すことができます。

textReplacementコンポーネントの使用でのテキスト置換の定義設定。テキスト置換の属性はプロジェクト・レベルのテキスト置換の定義と同じです。属性の説明については、 143ページの『<replace> タグ』を参照してください。

テキスト置換を定義する際、特殊文字を置換する場合は、以下の設定を使用する必要があります。

@vb. | (分割垂直バー)

@cm. , (コンマ)

@dq. " (二重引用符)

@lt. < (より小さい)

@gt. > (より大きい)

@eq. = (等号)

例えば、ABC というストリングを "ABC" というストリングに置換するには、次のようにテキスト置換を指定します。

22 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 35: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

textreplacement="[email protected]@dq."

HATS は次の手順に従って、JSP ページで検出した各 <HATS:Component> タグを処理します。

1. HATS は、タグの type 属性によって指定されたコンポーネントのインスタンスの生成を試みます。この属性に指定できるのは、HATS によって提供されるコンポーネント、またはユーザーによって作成されたコンポーネントの完全修飾クラス名です。

注: ユーザーが com.company.division.product.MyComponent などの完全修飾パスを指定する必要があります。HATS Toolkit でカスタム・コンポーネントを処理できるようにするには、WEB-INF/classes ディレクトリーまたはWEB-INF/lib ディレクトリー内の jar ファイルにクラス・ファイルを置きます。必要に応じて、プロジェクトのソース・ディレクトリーにソース (.java)

ファイルをインポートできます。カスタム・コンポーネントをテストし、HATS Toolkit でそれを処理しない場合は、WebSphere® Application Server

へのインストール時に、HATS アプリケーションが .jar ファイルを使用できるようにする必要があります。

2. HATS は、タグのウィジェット属性によって指定されたウィジェット・オブジェクトのインスタンスの生成を試みます。

注: com.company.division.product.MyWidget のように、完全修飾パスを指定する必要があります。HATS Toolkit でカスタム・ウィジェットを処理できるようにするには、WEB-INF/classes ディレクトリーまたは WEB-INF/lib ディレクトリー内の jar ファイルにクラス・ファイルを置きます。必要に応じて、プロジェクトのソース・ディレクトリーにソース (.java) ファイルをインポートできます。カスタム・ウィジェットをテストし、HATS Toolkit でそれを処理しない場合は、WebSphere Application Server へのインストール時に、HATS アプリケーションが jar ファイルを使用できるようにする必要があります。

3. HATS は、コンポーネント・オブジェクトの recognize() メソッドを呼び出します。

各コンポーネントには、recognize() メソッドの異なるインプリメンテーションがあります。recognize() メソッドは、パターン認識論理やホスト画面データの位置指定を実行します。コンポーネント・クラスは、com.ibm.hats.transform.ComponentElement オブジェクトの配列を戻します。この配列は、指定された設定で指定された領域においてこのコンポーネントが認識した内容を論理的に表したものです。

4. HATS は、コンポーネント・オブジェクトの recognize() メソッドによって戻される配列内の各 ComponentElement オブジェクトで doTextReplacement() メソッドを呼び出すことによって、テキスト置換を実行します。

5. HATS は、ウィジェットの drawHTML() メソッドを呼び出します。適当なdrawHTML() メソッドが見つからない場合は、ウィジェットの draw() メソッドが呼び出されます。このメソッドは、コンポーネントによって戻されるコンポーネント・エレメント配列内の各コンポーネント・エレメントにおける連結されたtoString() 呼び出しだけを戻します (サブクラスによってオーバーライドされない場合)。

第 3 章 カスタム・コンポーネントおよびウィジェットの作成 23

Page 36: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

drawHTML() メソッドは、コンポーネント・エレメントの配列を HTML 出力形式でレンダリングします。drawHTML() メソッドは、提供されたコンポーネント・エレメント配列のレンダリングを含む StringBuffer オブジェクトを戻すことによってこれを実行します。コンポーネントに使用したウィジェットによって、コンポーネント・エレメントがレンダリングされる方法が決まります。また、2

つのウィジェットが同じタイプの入力データを使用することができます。例えば、Link ウィジェットと Button ウィジェットはどちらも同じタイプの入力データを使用しますが、それぞれの drawHTML() メソッドは異なる HTML コンテンツを生成します。

次の図は、ホスト画面の領域からコンポーネントやウィジェットを経由して Web

ページに流れるデータのフローを示したものです。

カスタム・ホスト・コンポーネントの作成HATS は「コンポーネントの作成 (Create Component)」ウィザードを提供しており、カスタム・コンポーネントの作成を支援します。いくつかの方法でウィザードを開始できます。

v HATS Toolkit の「ファイル」>「新規」>「HATS コンポーネント」メニューから

v HATS Toolkit の「HATS」>「新規」>「コンポーネント」メニューから

v HATS プロジェクトのコンテキスト・メニュー (右マウス・ボタンをクリック)

から「新規 HATS」>「コンポーネント」を選択

コンポーネント�

ウィジェット�

ホスト��

����

コンテキスト�� コンポーネント

コンポーネント��の��

ウィジェット

HTML !

図 1. ホスト画面から Web ページまでのデータのフロー

24 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 37: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

「コンポーネントの作成 (Create Component)」ウィザードには 2 つのパネルがあります。最初のパネルでは、プロジェクト名、新規コンポーネント名、コンポーネントの Java パッケージ名を入力します。オプションで、新規コンポーネントによって使用される設定の構成用の GUI パネルを定義できるスタブ・メソッドを組み込むためのチェック・ボックスを選択することができます (詳しくは、 32ページの『カスタム・コンポーネントおよびウィジェットの設定に対する HATS Toolkit のサポート』を参照)。2 番目のパネルでは、HATS Toolkit で新規コンポーネント名として表示する名前を入力し、そのコンポーネントに関連付けるウィジェットを選択します。ウィジェットの関連付けはウィザードを完了するうえで必須ではありません。コンポーネントとウィジェットの関連は後で定義することができます。コンポーネントとウィジェットの関連付けについての詳細は、 30ページの『コンポーネントまたはウィジェットの登録』を参照してください。

次のセクションでは、ウィザードが提供するカスタム・コンポーネントの必須エレメントについて説明します。

v ホスト・コンポーネントの抽象クラス、com.ibm.hats.transform.components.Componentを拡張。

HATS ホスト・コンポーネントの 1 つがユーザーが必要なものとよく似ている場合、そのコンポーネントの拡張はより容易です。詳しくは、 27ページの『コンポーネント・クラスの拡張』を参照してください。

v コンストラクター・メソッドを追加。コンポーネントに指定されたこのメソッドは、com.ibm.hats.common.HostScreen オブジェクトを受け入れる必要があります。例えば、次のように設定されます。

public MyComponent(HostScreen hostScreen) {super(hostScreen);

}

コンストラクターは、ホスト画面オブジェクトに基づいて、recognize() メソッドが必要とするパラメーターを初期化します。

v recognize() メソッドの追加。

public ComponentElement[] recognize(BlockScreenRegion region,Properties settings)

recognize() メソッドは、ホスト・コンポーネント・クラスごとに別々のインプリメンテーションを用います。これは、渡された領域および設定値を受け入れ、コンポーネント・エレメント・オブジェクトの配列を戻します。ご使用のパターン認識論理をインプリメントするには、このメソッドをインプリメントする必要があります。

recognize() メソッドは、com.ibm.hats.transform.elements.ComponentElement で定義されているように、ComponentElement オブジェクトの配列を戻す必要があります。HATS コンポーネントは、ComponentElement を拡張する一連のエレメントとして、それぞれやや異なる値を戻します。例えば、SelectionListComponent は、SelectionComponentElement オブジェクトの配列を戻します。このコンポーネント・エレメントの配列は、指定されたウィジェットに渡されるので、使用するウィジェットが受け入れることのできるエレメントの配列が戻されるようにしてください。

第 3 章 カスタム・コンポーネントおよびウィジェットの作成 25

Page 38: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

このメソッドの引数については、「HATS API References (Javadoc)」でComponent クラスの recognize() メソッドの説明を参照してください。 3ページの『API 資料の使用 (Javadoc)』を参照してください。

v プロジェクトのソース・フォルダーにコンポーネントのソース・コードを追加。

v Rational SDP ワークベンチのプリファレンス (「ウィンドウ」>「設定」>「一般」>「ワークスペース」または「プロジェクト」>「自動的にビルド」) で、「自動的にビルド」にチェック・マークを付けている場合は、新規コンポーネント .java ファイルをコンパイル。コンポーネントが .class ファイルにコンパイルされていない場合、HATS Toolkit では使用できません。

v ComponentWidget.xml ファイルに新規コンポーネントを登録。コンポーネントの登録の詳細については、 30ページの『コンポーネントまたはウィジェットの登録』を参照してください。

チェック・ボックスを選択し HATS Toolkit グラフィカル・ユーザー・インターフェースのサポート・メソッドを組み込んだ場合は、コンポーネントの設定変更が可能になると共に、「コンポーネントの作成」ウィザードで以下のメソッドが追加されます。

v プロパティー設定でページ番号を戻すメソッド。

public int getPropertyPageCount() {return (1);

}

v カスタマイズ可能な設定を戻すメソッド。

public Vector getCustomProperties(int iPageNumber, Properties properties,ResourceBundle bundle) {return (null);

}

v カスタマイズ可能な設定のデフォルト値を戻すメソッド。

public Properties getDefaultValues(int iPageNumber) {return (super.getDefaultValues(iPageNumber));}

カスタム・コンポーネントのサポートに必要なメソッドの詳細については、 32ページの『カスタム・コンポーネントおよびウィジェットの設定に対する HATS Toolkit

のサポート』を参照してください。

注: デフォルト・レンダリング内でコンポーネントを正しく機能させるには、コンポーネント・エレメントを戻す前に、コンポーネントが戻す各コンポーネント・エレメントで使用された領域 (処理されたホスト画面の領域) を設定する必要があります。これによって、デフォルト・レンダリングは、ホスト・コンポーネントによってこの画面領域が使用 (処理) されたため再び処理すべきではないということを認識します。使用された領域を設定するには、次のメソッドを使用します。

public void setConsumedRegion(BlockScreenRegion region)

詳しくは、「HATS API References (Javadoc)」で ComponentElement クラスの説明を参照してください。 3ページの『API 資料の使用 (Javadoc)』を参照してください。

26 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 39: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

コンポーネント・クラスの拡張HATS はホスト・コンポーネント・クラスの番号を提供します。ComponentWidget.xml ファイル内にあるすべてのホスト・コンポーネントのクラスは、新規コンポーネント用に作成された .java ファイル内のステートメント public

class MyCustomComponent extends Component を既存コンポーネントのクラス名で置換することによって拡張できます。例えば、次のように設定されます。

public class MyCustomComponentextends com.ibm.hats.transform.components.CommandLineComponent

注: 双方向コンポーネントは com.ibm.hats.transform.components.BIDI パッケージに保管されています。コンポーネントの双方向クラスの名前は、通常のコンポーネントの名前と同じですが、例えばcom.ibm.hats.transform.components.BIDI.CommandLineComponentBIDI のように最後に「BIDI」が付きます。

各 HATS コンポーネントは、recognize() メソッドでホスト画面のエレメントの認識を実行します。ホスト・コンポーネントを拡張し、必要とする特定の認識タスクを実施するには、次のアプローチのいずれかを使用できます。

v HATS が提供するコンポーネント・クラスの 1 つを拡張し、コンポーネントのrecognize() メソッドをオーバーライドします。recognize() メソッドのどこかで、super.recognize(region, settings); のような呼び出しを追加し、拡張したクラスの recognize() メソッドを呼び出します。設定を変更してからスーパークラスを呼び出すか、スーパークラスによって戻された出力を処理することによって、プロセスを変更します。

v HATS が提供するコンポーネント・クラスの 1 つを拡張し、コンポーネントのrecognize() メソッドをオーバーライドします。スーパークラスの recognize()

メソッドを使用する代わりに、その他のいずれかのコンポーネント・クラスのrecognize() メソッドを呼び出します。このアプローチは、複数の HATS コンポーネントの特徴を結合した複合ホスト・コンポーネントを認識する場合に便利です。

「コンポーネントの作成 (Create Component)」ウィザードでは、null を返すrecognize() メソッドが生成されます。これは、新規コンポーネントでホスト画面領域が認識されないことを示します。拡張元の HATS コンポーネント (エレメントには正しい ComponentElements がすべて含まれる) と同じように機能するようにカスタム・コンポーネントを変更するには、.java ファイルから「return null」を削除し、コンポーネント・コード内のコードを変更します。例えば、次のように設定されます。

public ComponentElement[] recognize(LinearScreenRegion region, Properties settings) {ComponentElement [] elements = super.recognize(region, settings);return elements;}

HATS は、<HATS:Component> タグの type 属性設定に基づいて、カスタム・コンポーネントのインスタンスを生成します。

ComponentWidget.xml ファイルを編集するには、HATS Toolkit の「ナビゲーター」タブをクリックします。 ComponentWidget.xml ファイルは、プロジェクトの「ナビ

第 3 章 カスタム・コンポーネントおよびウィジェットの作成 27

Page 40: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

ゲーター」ビューの下部に表示されます。ComponentWidget.xml ファイルの詳細については、 30ページの『コンポーネントまたはウィジェットの登録』を参照してください。

カスタム HTML ウィジェットの作成HATS は「ウィジェットの作成 (Create Widget)」ウィザードを提供しており、カスタム・ウィジェットの作成を支援します。いくつかの方法でウィザードを開始できます。

v HATS Toolkit の「ファイル」>「新規」>「HATS ウィジェット」メニューから

v HATS Toolkit の「HATS」>「新規」>「ウィジェット」メニューから

v HATS プロジェクトのコンテキスト・メニュー (右マウス・ボタンをクリック)

から「新規 HATS」>「ウィジェット」を選択

「ウィジェットの作成」ウィザードには 2 つのパネルがあります。最初のパネルでは、プロジェクト名、新規ウィジェット名、ウィジェットの Java パッケージ名を入力します。オプションで、新規ウィジェットによって使用される設定の構成用のGUI パネルを定義できるスタブ・メソッドを組み込むためのチェック・ボックスを選択することができます (詳しくは、 32ページの『カスタム・コンポーネントおよびウィジェットの設定に対する HATS Toolkit のサポート』を参照)。 2 番目のパネルでは、HATS Toolkit で新規ウィジェット名として表示する名前を入力し、そのウィジェットに関連付けるコンポーネントを選択します。

このウィザードにより、以下のカスタム・ウィジェットの必須エレメントが提供されます。

v ウィジェットの抽象クラスを拡張し、HTMLRenderer インターフェースをインプリメント。public class MyCustomWidget extends Widget implements

HTMLRenderer

詳しくは、 29ページの『ウィジェット・クラスの拡張』を参照してください。

v コンストラクター・メソッドを追加。

public MyCustomWidget(ComponentElement[] arg0, Properties arg1) {super(arg0, arg1);

}

v 以下のメソッドを追加して、Web プロジェクト用の HTML 出力を生成。

public StringBuffer drawHTML() {StringBuffer buffer = new StringBuffer(256);HTMLElementFactory factory = HTMLElementFactory.newInstance(

contextAttributes, settings);return (buffer);}

HTMLElementFactory クラスは、ウィジェットの表示に必要な JavaScript をすべて自動的に生成します。HTMLElementFactory クラスの詳細およびその他の使用例については、「HATS API References (Javadoc)」を参照してください。 3ページの『API 資料の使用 (Javadoc)』を参照してください。

v プロジェクトのソース・フォルダーにウィジェットのソース・コードを追加。

v Rational SDP ワークベンチのプリファレンス (「ウィンドウ」>「設定」>「一般」>「ワークスペース」) またはプロジェクト・メニューで、「自動的にビル

28 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 41: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

ド」を選択している場合は、新規ウィジェット、.java ファイルをコンパイルします。ウィジェットが .class ファイルにコンパイルされていない場合、HATS

Toolkit では使用できません。

v ComponentWidget.xml ファイルに新規ウィジェットを登録。ウィジェットの登録の詳細については、 30ページの『コンポーネントまたはウィジェットの登録』を参照してください。

チェック・ボックスを選択し HATS Toolkit グラフィカル・ユーザー・インターフェースのサポート・メソッドを組み込んだ場合は、ウィジェットの設定変更が可能になると共に、「ウィジェットの作成」ウィザードで以下のメソッドが追加されます。

v プロパティー設定でページ番号を戻すメソッド。

public int getPropertyPageCount() {return (1);

}

v カスタマイズ可能な設定を戻すメソッド。

public Vector getCustomProperties(int iPageNumber, Properties properties,ResourceBundle bundle) {return (null);

}

v カスタマイズ可能な設定のデフォルト値を戻すメソッド。

public Properties getDefaultValues(int iPageNumber) {return (super.getDefaultValues(iPageNumber));}

カスタム・ウィジェットのサポートに必要なメソッドの詳細については、 32ページの『カスタム・コンポーネントおよびウィジェットの設定に対する HATS Toolkit

のサポート』を参照してください。

ウィジェット・クラスの拡張HATS はウィジェット・クラスの番号を提供します。次のコンポーネントを置換して ComponentWidget.xml ファイル内にあるウィジェットのクラスを拡張できます。

public class MyCustomWidget extends Widget implements HTMLRenderer

作成された .java ファイル内のこのウィジェットを、次のような既存のウィジェットのクラス名を持つ新規ウィジェットと置換します。

public class MyCustomWidget extendscom.ibm.hats.transform.widgets.FieldWidget

注: 双方向ウィジェットは com.ibm.hats.transform.widgets.BIDI パッケージに保管されています。ウィジェットの双方向クラスの名前は、通常のウィジェットの名前と同じですが、例えば次のように最後に「BIDI」が付きます。

com.ibm.hats.transform.widgets.BIDI.FieldWidgetBIDI

既存ウィジェットを変更する場合は、既存ウィジェット・クラスの 1 つを拡張し、その drawHTML メソッドをオーバーライドする必要があります。ウィジェットのインターフェースおよびメソッドについて詳しくは、「HATS API References

(Javadoc)」を参照してください。 3ページの『API 資料の使用 (Javadoc)』を参照してください。

第 3 章 カスタム・コンポーネントおよびウィジェットの作成 29

Page 42: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

HATS は、<HATS:Component> タグのウィジェット属性設定に基づいて、カスタム・ウィジェットのインスタンスを生成します。

ウィジェットとグローバル規則入力フィールドを表すウィジェットは、入力フィールドが HATS グローバル規則によってすでに処理されているかどうかを確認します。ホスト画面が受信されると、HATS はそこから、その HATS アプリケーションに対して定義されたグローバル規則と一致するホスト・コンポーネントを検索します。入力フィールドが HATS グローバル規則によってすでに処理されているかどうかをウィジェットが確認する際、入力フィールドが処理されていない場合、呼び出しはヌルを戻します。入力フィールドがグローバル規則に従ってすでに処理されている場合、この呼び出しは、グローバル規則によって入力フィールドから変換された変換フラグメントを戻します。ウィジェットは、コンポーネント・エレメントを処理するのではなく、フラグメントを出力しなければなりません。Web アプリケーション用の例を以下に示します。

String ruleReplacement =RenderingRulesEngine.processMatchingElement(componentElement, contextAttributes);

if (ruleReplacement != null) {buffer.append(ruleReplacement);

} else {...

}

ウィジェットの drawHTML() メソッドに上記の例を追加してください。

コンポーネントまたはウィジェットの登録カスタム・コンポーネントおよびウィジェットを ComponentWidget.xml ファイルに登録すると、HATS Toolkit で使用可能になります。例えば、「ホスト・コンポーネントを挿入」ウィザードで使用できます。

ホスト・コンポーネントを、特定のウィジェットにマップする必要があります。カスタム・ホスト・コンポーネントは、既存のウィジェットまたはカスタム・ウィジェットのいずれにもマップすることができます。カスタム・コンポーネントやウィジェットの「作成」ウィザードは、ユーザーのカスタム・コンポーネントとウィジェットを ComponentWidget.xml ファイルに登録し、コンポーネントとウィジェットを関連付けます。カスタム・コンポーネントとウィジェットを関連付けずにウィザードを使用した場合、ComponentWidget.xml ファイルを編集し、関連を追加する必要があります。ComponentWidget.xml ファイルを編集するには、HATS Toolkit の「ナビゲーター」タブをクリックします。 ComponentWidget.xml ファイルは、プロジェクトの「ナビゲーター」ビューの下部に表示されます。

注: 登録後にカスタム・コンポーネントまたはウィジェットを削除する場合、コンポーネントやウィジェットのソース・コードをプロジェクトのソース・フォルダーから削除するだけでは完全に除去することはできません。レジストリー内ではなお参照されており、プログラマチックに除去する方法はありません。ComponentWidget.xml ファイルを編集してレジストリーから除去し、そのコンポーネントまたはウィジェットへの参照を削除する必要があります。

30 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 43: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

次に、HATS が提供するフィールド・テーブル・コンポーネントおよび関連ウィジェットの 1 つ、垂直バー・グラフ・ウィジェットを表示する ComponentWidget.xml

ファイルの例を示します。

<ComponentWidgetList><components>

<component className="com.ibm.hats.transform.components.FieldTableComponent"displayName="Field table" image="table.gif">

<associatedWidgets><widget className="com.ibm.hats.transform.widgets.VerticalBarGraphWidget"/>

</associatedWidgets></component>

</components>

<widgets><widget className="com.ibm.hats.transform.widgets.VerticalBarGraphWidget"

displayName="Vertical graph" image="verticalBarGraph.gif" /></widgets>

</ComponentWidgetList>

ご覧のように、このファイルには、コンポーネントとウィジェットの 2 つのセクションがあります。

コンポーネント・セクションには、登録されたコンポーネントの全リストが含まれています。カスタム・コンポーネントを登録し、HATS Toolkit で使用可能にするには、<component> タグと関連の <widget> タグを ComponentWidget.xml ファイルに追加します。className、displayName、および関連ウィジェットを指定する必要があります。

classNameホスト画面のエレメントを認識するコードを含む Java クラスを示します。通常、クラス名の形式は myCompany.myOrg.ClassName です。

displayNameカスタム・コンポーネントの既知名と、HATS Toolkit でそれがどのようにコンポーネントのリストに表示されるかを示します。この名前は、登録済みのコンポーネント間で固有である必要があります。カスタム・コンポーネントの displayName の形式は、単純なストリングです。スペースは、displayName に使用できます。

image image 属性は、HATS Toolkit での表示用に使用するコンポーネントのイメージを示します。

ウィジェットこのコンポーネントに関連付けられたウィジェットを識別します。関連付けられた各ウィジェットには、個別の <widget> タグが必要です。コンポーネントの <widget> タグはすべて、<associatedWidgets> タグおよび、その</associatedWidgets> 終了タグの中で定義される必要があります。<associatedWidgets> タグ内の <widget> タグには、className 属性のみがあり、これはウィジェットをコンポーネントにリンクするコードを含む Java

クラスを識別します。通常、クラス名の形式はmyCompany.myOrg.ClassName です。

ウィジェット・セクションには、登録されたウィジェットの全リストが含まれています。ウィジェットを登録し、コンポーネントにリンクし、HATS Toolkit で使用可

第 3 章 カスタム・コンポーネントおよびウィジェットの作成 31

Page 44: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

能にするには、<widget> タグを ComponentWidget.xml ファイルに追加します。className および displayName を指定する必要があります。

classNameウィジェットをレンダリングするコードを含む Java クラスを識別します。通常、クラス名の形式は myCompany.myOrg.ClassName です。

displayNameカスタム・ウィジェットの既知名と、HATS Toolkit でウィジェットのリストに表示される方法を識別します。この名前は、登録済みウィジェットの中で一意である必要があります。カスタム・ウィジェットの displayName の形式は、単純なストリングです。スペースは、displayName に使用できません。ただし、スペースの代わりに下線 ( _ ) を使用することができます。

カスタム・コンポーネントおよびウィジェットの設定に対する HATSToolkit のサポート

カスタム・コンポーネントおよびカスタム・ウィジェットの設定の変更に GUI サポートを提供できます。この GUI は、作成したカスタム・コンポーネントまたはカスタム・ウィジェットを他の開発者が使用する場合か、または HATS Toolkit で使用可能なプレビュー機能を使用して、設定の異なる組み合わせのテストを簡単に行う場合に役立ちます。基本コンポーネントおよびウィジェット・クラスにより、ICustomPropertySupplier インターフェースがインプリメントされます。このインターフェースを使用すれば、コンポーネントまたはウィジェットによる HATS Toolkit

への設定情報の提供ができます。この情報は、コンポーネントまたはウィジェットの設定を変更できるパネルのレンダリングに使用されます。すべての設定をこのGUI で公開する必要はありません。

getCustomProperties() メソッドは、HCustomProperty でカスタマイズ可能なプロパティー・オブジェクトのベクトルを戻します。各 HCustomProperty オブジェクトは、コンポーネントまたはウィジェットの設定を表します。 HATS Toolkit は、各 HCustomProperty オブジェクトをそのタイプに基づいてレンダリングします。例えば、HCustomProperty.TYPE_BOOLEAN タイプのオブジェクトは、GUI のチェック・ボックスとしてレンダリングされます。

以下のサンプル・コードは、ウィジェットがその 3 つの設定(mySetting1、mySetting2、および mySetting3) に対してどのように GUI サポートを提供できるかを示しています。

// Returns the number of settings panels (property pages) to be contributed//by this widget. The returned value must be greater than or equal to 1 if//custom properties will be supplied via the getCustomProperties() method.public int getPropertyPageCount() {

return 1;}

// Returns a Vector (list) of custom properties to be displayed in the GUI//panel for this component or widget.public Vector getCustomProperties(int iPageNumber, Properties properties,

ResourceBundle bundle) {Vector props = new Vector();

// Constructs a boolean property that will be rendered as a checkboxHCustomProperty prop1 = HCustomProperty.new_Boolean("mySetting1",

"Enable some boolean setting", false, null, null);

32 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 45: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

props.add(prop1);

// Constructs a string property that will be rendered as a text fieldHCustomProperty prop2 = HCustomProperty.new_String("mySetting2",

"Some string value setting", false, null,null, null, null);

props.add(prop2);

// Constructs an enumeration property that will be rendered as a drop-downHCustomProperty prop3 = HCustomProperty.new_Enumeration("mySetting3",

"Some enumerated value setting", false,new String[] { "A", "B", "C" }, new String[]{ "Option A", "Option B", "Option C" }, null, null, null);

props.add(prop3);

return props; }

Enable some boolean setting

Some string value setting

Some enumerated value setting A

カスタム・コンポーネントまたはウィジェットのユーザーによって指定された値が、コンポーネントの recognize() メソッドに渡された componentSettings プロパティー・オブジェクト、またはウィジェットのコンストラクターに渡されたwidgetSettings プロパティー・オブジェクト内で使用可能になります。getCustomProperties() メソッドは、設定用のデフォルト値を収集するために実行時に呼び出される可能性があります。

これらのメソッドの引数および使用法については、「HATS API References

(Javadoc)」で HCustomProperty クラスの説明を参照してください。 3ページの『API 資料の使用 (Javadoc)』を参照してください。

第 3 章 カスタム・コンポーネントおよびウィジェットの作成 33

Page 46: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

34 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 47: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

第 4 章 Dojo ウィジェットによる作業

HATS Dojo ウィジェットのカスタマイズHATS Dojo ウィジェットによってレンダリングされたホスト・コンポーネントを変換 .jsp ファイルに最初に追加するときに、コンポーネントおよびウィジェットの選択内容が <HATS:Component> タグ内に定義されます。 <HATS:Component> タグについて詳しくは、 21ページの『HATS のコンポーネント・タグおよび属性』を参照してください。 HATS デフォルト・ウィジェット定義で自分の要件が満たされている場合は、これ以上の作業は不要です。

HATS デフォルト Dojo コンボ・ボックス・ウィジェットによってレンダリングされたコマンド行コンポーネントを以下に例示します。

このデフォルトのコンポーネントおよびウィジェットは、変換 .jsp ファイルの<HATS:Component> タグ内に次のように定義されます。

<HATS:Componenttype="com.ibm.hats.transform.components.CommandLineComponent"componentSettings=""

row="20" col="7" erow="20" ecol="21"alternate=""

widget="com.ibm.hats.transform.widgets.dojo.ComboBoxWidget"widgetSettings="stringListItems:Boats=boats;JK=strqm;Sign Off=90;|autoSubmitOnSelect:false|useString:true|"

alternateRenderingSet="" textReplacement="" />

デフォルトで提供される機能のほかに、HATS Dojo ウィジェットをカスタマイズして機能を追加する場合は、最初にコンポーネントおよびウィジェットの定義を変換する必要があります。これを行うには、<HATS:Component> タグを選択して右クリックし、「HATS ツール」>「Dojo 編集用に変換 (Transform for Dojo Editing)」を選びます。「Dojo 編集用に変換」ウィザードにより、<HATS:Component> タグが<HATS:Render> タグに変換されます。次の例は、上記の <HATS:Component> タグが <HATS:Render> タグに変換された後の内容を示したものです。

boats=Boats

strqm=JK

90=Sign Off

図 2. HATS デフォルト Dojo コンボ・ボックス・ウィジェット

© Copyright IBM Corp. 2003, 2015 35

Page 48: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

<HATS:Render

<!-- Start of component settings -->type="com.ibm.hats.transform.components.CommandLineComponent"componentSettings=""row="20" col="7" erow="20" ecol="21"textReplacement=""><!-- End of component settings -->

<!-- Start of ComboBoxWidget --><!-- com.ibm.hats.transform.widgets.dojo.ComboBoxWidget -->

<!-- Start of JSON data source -->

<!-- Start of JSON data for the component element --><script>var HATSJSON_<HATS:ElementId/> = <HATS:JSON/>;</script><!-- End of JSON data for the component element -->

<!-- Start of JSON widget settings --><script>var DOJOWidgetSettings_<HATS:ElementId/> ={"type":"ComboBoxWidget","value":{"stringListItems":"Boats=boats;JK=strqm;Sign Off=90;",

"autoSubmitOnSelect":"false","useString":"true"}};<!-- End of JSON widget settings --></script><!-- End of JSON data source -->

<!-- Start of rendered widget --><div id="<HATS:ElementId/>"><label for id="<HATS:ElementId/>_input"

id="<HATS:ElementId/>_label"></label><input id="<HATS:ElementId/>_input"></input></div><!-- End of rendered widget -->

<!-- Start of data binding --><script type="text/javascript"

src="../common/hatsdojo/hsr_comboboxwidget.js"></script><script type="text/javascript">if (HATSJSON_<HATS:ElementId/> && (HATSJSON_<HATS:ElementId/>.value){

dojo.addOnLoad(function(){var uLabel = dojo.byId("<HATS:ElementId/>_label");var jsonData = (HATSJSON_<HATS:ElementId/>;var widgetSettings = DOJOWidgetSettings_<HATS:ElementId/>;var jsonList = getListItemsFromJSONData(jsonData,

getListItemsFromHATSWidgetSettings(widgetSettings));var storeList = new dojo.data.ItemFileReadStore(

{data: {identifier:"value",items:createUniqueItemsList(jsonList,"value")

}}

);var uComboBoxWidget = new dijit.form.ComboBox(

{name:getPosLengthStringFromJSONData(jsonData),store:storeList,searchAttr:"fullName"},"<HATS:ElementId/>_input"

36 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 49: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

);//load the JSON information and behavior into the WidgetbindJSONDataToComboBox(uLabel, uComboBoxWidget,

jsonData, widgetSettings);setInputFieldFocus();});

}</script><!-- End of data binding -->

<!-- /com.ibm.hats.transform.widgets.dojo.ComboBoxWidget --><!-- End of ComboBoxWidget -->

</HATS:Render>

前述の例では、<HATS:Render> タグの各セクションを区切るためにコメントが追加されています。次に、これらのセクションについて説明します。

コンポーネント設定この設定は <HATS:Component> タグの場合と同じです。詳しくは、 21ページの『HATS のコンポーネント・タグおよび属性』を参照してください。

ウィジェット設定ウィジェット設定は JavaScript Object Notation (JSON) オブジェクトに含まれ、JavaScript で Dojo ウィジェットを作成およびバインドするときに、動作、オプション、およびデフォルト値に対して使用されます。

<HATS:ElementId/> では、レンダリングされたコンポーネント・エレメントの固有ID が実行時に作成されます。

<HATS:JSON/> では、実際の JSON オブジェクトが実行時に作成されます。

JSON データ・ソースJSON データ・ソースは、toJSON() メソッドにより ComponentElements から作成されます。この JSON データは、Dojo ウィジェットを HATS データにバインドするために使用されます。詳しくは、ComponentElements の API を参照してください。3ページの『API 資料の使用 (Javadoc)』を参照してください。

レンダリングされるウィジェットレンダリングされるウィジェットは基本の HTML および JavaScript です。これは、HATS Dojo ウィジェットを作成するために Dojo ロード時に変更されます。

データ・バインディングデータ・バインディングでは、指定された設定およびデータにより、レンダリングされたウィジェットが HATS Dojo ウィジェットに変更されます。通常は、フォーカスや選択などの Dojo ウィジェット・イベント動作を指定したり、デフォルト値を入力したり、正しい操作とレイアウトに必要なオプション、設定、またはデータを指定したりします。

第 4 章 Dojo ウィジェットによる作業 37

Page 50: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

HATS Dojo ウィジェットのカスタマイズの例以下のセクションでは、カスタマイズされた HATS Dojo ウィジェットの例について説明します。このような Dojo ウィジェットおよびその他の Dojo ウィジェットについて詳しくは、Dojo Toolkit API の資料 (http://dojotoolkit.org/api/) を参照してください。

コンボ・ボックスHATS Dojo コンボ・ボックス・ウィジェットをカスタマイズするさまざまな方法を次の例で示します。

最初に、コンボ・ボックス・ウィジェットを (例えば、次のようなフライト予約システム・アプリケーションのホスト画面にある「From City」入力フィールドに対して) 作成します。

コンボ・ボックス・ウィジェットを作成するときは、「ストリングから設定」設定で「リスト項目 (List items)」を指定し、ドロップダウン・リストに入れる値を入力します。この例では、次の都市名ストリングを使用します。Albany;Albuquerque;Atlanta;Boston;Chicago;Dallas;Los Angeles;Miami;Montreal;Raleigh;Rochester, MN;Salt Lake City;San Diego;Toronto;Vancouver;Washington DC

コンボ・ボックス・ウィジェットでレンダリングされる入力フィールド・コンポーネントを作成した後、次のように変換 .jsp ファイルにウィジェットが表示されます。

Type choices, press to Make ReservationF10

Flights Reservation System - Create Order 21:25:42 11/01/20 TORASBCC

FLIGHT INFORMATION TICKET ORDER INFORMATION

Airline: Flight:

Date of Flight..:

From City :

Depart Time.......:

To City...:

Arrival Time......:

0000000

01 20 2011

___________________

____________________

Order Number ........................:

Customer .....:

Class of Service - First ...........................:Business ....................:Economy ....................:

Number of Tickets .................................:

Price $ ................................:Tax $ ..................................:Total Due w/ Tax $ ............:

__

PENDING

__________________________

__

X

01

F2=Refresh F4=FROM Cities F5=TO Cities F6=Flights F7=Customers

Buffer length longer than record for member ORDERS.

MA* ho e02cell+hatsvmplnode02+serverl|dojocustom 0 09/023

図 3. フライト予約システムのホスト画面

38 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 51: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

この例をプレビューまたは実行するときに、コンボ・ボックスに文字 al を入力してみます。文字 al を含むすべての都市がドロップダウン・リストに表示されることが分かります。

Albany

Albuquerque

Atlanta

Boston

Chicago

Dallas

Los Angeles

Miami

Montreal

Raleigh

Rochester, MN

Salt Lake City

San Diego

Toronto

Vancouver

Washington DC

図 4. 都市のリストを含む Dojo コンボ・ボックス・ウィジェット

al

Albany

Albuquerque

Dallas

Montreal

Raleigh

Salt Lake City

図 5. フィルタリングされた都市のリストを含む Dojo コンボ・ボックス・ウィジェット

第 4 章 Dojo ウィジェットによる作業 39

Page 52: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

入力された文字で始まる都市のみがドロップダウン・リストに表示されるようにコンボ・ボックス・ウィジェットをカスタマイズするには、変換 .jsp ファイルを編集して、以下の手順を実行します。

1. 変換 .jsp ファイル内で <HATS:Component> タグを見つけます。次のコードは、この例のために作成されたソース・コードです。

<HATS:Componenttype="com.ibm.hats.transform.components.InputComponent"componentSettings="" textReplacement=""row="12" erow="12" col="17" ecol="32"

widget="com.ibm.hats.transform.widgets.dojo.ComboBoxWidget"widgetSettings="stringListItems:Albany;Albuquerque;Atlanta;Boston;Chicago;Dallas;Los Angeles;Miami;Montreal;Raleigh;Rochester, MN;Salt Lake City;San Diego;Toronto;Vancouver;Washington DC|autoSubmitOnSelect:false|useString:true|" alternate="" alternateRenderingSet="" />

2. <HATS:Component> タグを選択して右クリックし、「HATS ツール」>「Dojo編集用に変換 (Transform for Dojo Editing)」を選びます。これにより、<HATS:Component> タグが <HATS:Render> タグに変換されます。

3. Dojo API (例えば、http://dojotoolkit.org/api/1.5/dijit/form/ComboBox) を参照すると、queryExpr プロパティーがドロップダウン・リスト内の項目の突き合わせ方法を制御することが分かります。式 ${0}* を使用すれば、ユーザーが入力した文字で始まるリスト項目のみを表示できます。 <HATS:Render> タグ内で、ウィジェット変数の名前が uComboBoxWidget であることに注目してください。入力された文字で始まる都市のみを表示するようにウィジェットをカスタマイズするには、setInputFieldFocus(); ステートメントの後ろに次のステートメントを追加します。

setInputFieldFocus();uComboBoxWidget.queryExpr = "¥${0}*";

注: queryExpr プロパティー ${0}* の前の円記号 (¥) に注目してください。これによって、JSP 変換プログラムにより式言語 (EL) 構文として処理されることがなくなります。

今度は、この例をプレビューまたは実行するときに、コンボ・ボックスに文字 al

を入力すると、この文字で始まる都市のみがドロップダウン・リストに表示されます。

コンボ・ボックス・ウィジェットは、ユーザーの入力内容の検証もサポートしています。Dojo API 資料を再度参照してください。ユーザーの入力内容のフォーマットを制限するために regExp プロパティーを使用できることが分かります。例えば、

al

Albany

Albuquerque

図 6. 先頭文字でフィルタリングされた都市のリストを含む Dojo コンボ・ボックス・ウィジェット

40 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 53: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

ユーザーの入力に数字を使用できないように指定するには、前の例で追加したステートメントの後ろに次のステートメントを追加します。

uComboBoxWidget.regExp = "[^0-9]*";

さらに、プロンプト・メッセージを追加し、無効値を示すデフォルトのメッセージのテキストを変更するには、下記の最後 2 つのステートメントを追加します。

setInputFieldFocus();uComboBoxWidget.queryExpr = "¥${0}*";uComboBoxWidget.regExp = "[^0-9]*";uComboBoxWidget.promptMessage = "Please enter the departure city.";uComboBoxWidget.invalidMessage = "Numeric characters are not allowed.";

今度は、この例をプレビューまたは実行するときに、コンボ・ボックス内にカーソルを置くとプロンプト・メッセージが表示されることが分かります。

数字を含む値を入力します。無効メッセージが表示され、コンボ・ボックスの色が変わり、コンボ・ボックスに警告アイコンが表示されます。

拡張グリッドこの例では、HATS 拡張グリッド・ウィジェットを変更して、テーブルの各行に単一選択ラジオ・ボタンを追加する方法を示しています。

最初に、拡張グリッド・ウィジェットを (例えば、次のホスト画面に示すようなテーブルに対して) 作成します。

Please enter the departure city.

図 7. Dojo コンボ・ボックス・プロンプト・メッセージ

3 Numeric characters are not allowed.

図 8. Dojo コンボ・ボックス無効メッセージ

第 4 章 Dojo ウィジェットによる作業 41

Page 54: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

拡張グリッド・ウィジェットでレンダリングされるテーブル・コンポーネントを作成した後、次のように変換 .jsp ファイルにウィジェットが表示されます。

注: この図は、Dojo Claro テーマを使用した場合のウィジェットの外観を示しています。異なる Dojo テーマを使用した場合のウィジェットの外観は、これとは異なることがあります。

indirectSelection プラグインを変更して各行に単一選択ラジオ・ボタンを追加するには、transformation .jsp ファイルを編集して以下の手順を実行します。

1. 変換 .jsp ファイル内で <HATS:Component> タグを見つけます。タグを選択して右クリックし、「HATS ツール」>「Dojo 編集用に変換」を選択します。これにより、<HATS:Component> タグが <HATS:Render> タグに変換されます。

2. grid 変数を見つけ、以下に示すように変更します。

var grid = new dojox.grid.EnhancedGrid({autoWidth: true,

Work with Active Jobs ELCRTP68

01/21/11 15:57:41

CPU 5: .0 Elapsed time: 00:00:00 Active jobs: 309

Type options, press Enter.

2=Change 3=Hold 4=End 5=work with 6=Release 7=Display message

8=Work with spooled files 13=Disconnect...

Parameters or command

===>

F3=Exit F5=Refresh F7=Find F10=Restart statistics

F11=Display elapsed data F12=Cancel F23=More options F24=More keys

More...

Current

Opt Subsystem/Job User Type CPU% Function Status

ADMIN

ADMIN

ADMIN

ADMIN

QINTER

QPADEV0036

QSERVER

QPWFSERVSD

QPWFSERVSO

QTMHHTTP

QTMHHTTP

BOB

BOB

QSYS

RICKH

QSYS

QUSER

QSECOFR

PGM-QZSRLOG

PGM-QZSRHTTP

PGM-QYUNLANG

PGM-QYUNLANG

CMD-WRKACTJOB

BCI

BCI

BCI

BCI

SBS

INT

SBS

BCH

PJ

SIGW

SIGW

TIMW

TIMW

DEQW

RUN

DEQW

SELW

DEQW

.0

.0

.0

.0

.0

.0

.0

.0

.0

図 9. 「アクティブ・ジョブの処理」ホスト画面

Opt Subsystem/Job User Type CPU% Function Status

ZENDCORE

QINTER

QPADEV0004

QPADEV0007

QPADEV0009

QZSHSH

QMQM

QSERVER

QPWFSERVSD

QTMHHTTP

QSYS

WEBGUI

WEBGUI

ASH

ASH

QSYS

QSYS

QUSER

BCI

SBS

INT

INT

INT

BCI

SBS

SBS

BCH

.0

.0

.0

.0

.0

.0

.0

.0

.0

PGM-QZSRHTTP

CMD-WRKACTJOB

MNU-MAIN

CMD-QSH

PGM-QZSHSH

DEQW

DEQW

RUN

DSPW

DEQW

TIMW

DEQW

DEQW

SELW

図 10. Dojo 拡張グリッド・ウィジェット

42 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 55: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

autoHeight: true,structure: tableHeader,plugins: {nestedSorting: true, dnd: true, indirectSelection: true},

selectionMode: "single"},document.createElement(’div’));

今度は、拡張グリッド・ウィジェットが変換 .jsp ファイルに次のように表示されます。この例では、テーブルの各行に単一選択ラジオ・ボタンが追加されています。行を選択して、テーブル内の別の位置にドラッグできます。

フィルタリング選択グローバル変数から HATS Dojo フィルタリング選択ウィジェットのドロップダウン・リストに値を指定する方法を以下に例示します。

最初に、フィルタリング選択ウィジェットを (例えば、次のようなアカウント・アプリケーションのホスト画面にある「Account」番号入力フィールドに対して) 作成します。

フィルタリング選択ウィジェットでレンダリングされる入力フィールド・コンポーネントを作成した後、次のように変換 .jsp ファイルにウィジェットが表示されま

Opt Subsystem/Job User Type CPU% Function Status

ZENDCORE

QINTER

QPADEV0004

QPADEV0007

QPADEV0009

QZSHSH

QMQM

QSERVER

QPWFSERVSD

QTMHHTTP

QSYS

WEBGUI

WEBGUI

ASH

ASH

QSYS

QSYS

QUSER

BCI

SBS

INT

INT

INT

BCI

SBS

SBS

BCH

.0

.0

.0

.0

.0

.0

.0

.0

.0

PGM-QZSRHTTP

CMD-WRKACTJOB

MNU-MAIN

CMD-QSH

PGM-QZSHSH

DEQW

DEQW

RUN

DSPW

DEQW

TIMW

DEQW

DEQW

SELW

図 11. 単一行選択の Dojo 拡張グリッド・ウィジェット

TO SEARCH BY NAME, ENTER SURNAME AND IF REQUIRED, FIRST NAME

ACCOUNTS MENU

TO PROCESS AN ACCOUNT, ENTER REQUEST TYPE AND ACCOUNT NUMBER

SURNAME :FIRST NAME :

(1 TO 18 ALPHABETIC CHRS)(1 TO 12 ALPHABETIC CHRS OPTIONAL)

REQUEST TYPE:ACCOUNT :PRINTER ID :

(D-DISPLAY, A-ADD, M-MODIFY, X- DELETE, P-PRINT)(10000 TO 79999)(1 TO 4 CHARACTERS (REQUIRED FOR PRINT REQUEST))

ENTER DATAAND ORPRESS ENTER FOR SEARCH OR ACCOUNT REQUEST PRESS CLEAR TO EXIT

図 12. アカウント番号入力フィールドを持つホスト画面

第 4 章 Dojo ウィジェットによる作業 43

Page 56: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

す。

変換 .jsp ファイルを編集して、以下の手順を実行します。

1. 変換 .jsp ファイル内で <HATS:Component> タグを見つけます。次のコードは、この例のために作成されたソース・コードです。

<HATS:Componenttype="com.ibm.hats.transform.components.InputComponent"componentSettings="" textReplacement=""

row="11" erow="11" col="22" ecol="26"widget="com.ibm.hats.transform.widgets.dojo.FilteringSelectWidget"widgetSettings="" alternate="" alternateRenderingSet="" />

2. <HATS:Component> タグを選択して右クリックし、「HATS ツール」>「Dojo編集用に変換 (Transform for Dojo Editing)」を選びます。これにより、<HATS:Component> タグが <HATS:Render> タグに変換されます。

3. .jsp ソース内で最後の </script> タグの後ろにカーソルを置きます。右クリックから「HATS ツール」>「グローバル変数の挿入」を選択します。

4. 「グローバル変数の挿入」ウィンドウで、フィルタリング選択ドロップダウン・リストに設定するデータが内容に含まれているグローバル変数を選択します。この例では、グローバル変数 acctnumGV にテキスト 10011;10012;10013;10014 が含まれています。これは、このアプリケーションに有効なアカウント番号であり、フィルター操作選択ウィジェットの「リスト項目 (List items)」設定で使用される、セミコロン (;) 区切りのフォーマットと同じフォーマットです。

5. 「グローバル変数の挿入」ツールを使用した結果の 1 つとして、.jsp ソースの<html> タグの前に次の import ステートメントが追加されます。

<%@page import="com.ibm.hats.common.*"%><html>

6. また、別の結果として、カーソル位置 (この場合は .jsp ソース内で最後の</script> タグの後ろ) に次のステートメントが追加されます。

<%= ((TransformInfo)request.getAttribute(CommonConstants.REQ_TRANSFORMINFO)).getGlobalVariable("acctnumGV", true).getString(0) %>

7. <HATS:Render> タグ内で、作成された jsonList 変数を見つけます。このステートメントの後ろに、gvString 変数を作成するステートメントを追加し、gvString

変数内の項目を jsonList 変数に追加します。 gvString 変数を初期化するには、「グローバル変数の挿入」ツールで追加したステートメントを </script> タグの後ろにカット・アンド・ペーストします。これが完了すると、コードは次のようになります。var jsonList = getListItemsFromJSONData(jsonData, getListItemsFromHATSWidgetSettings(widgetSettings));var gvString = ’<%= ((TransformInfo)request.getAttribute(CommonConstants.REQ_TRANSFORMINFO)).getGlobalVariable("acctnumGV", true).getString(0) %>’;jsonList = getListItemsFromString(gvString, jsonList);var storeList = new dojo.data.ItemFileReadStore({data: {identifier:"value",items:createUniqueItemsList(jsonList,"value")}});

今度は、フィルタリング選択ウィジェットが変換 .jsp ファイルに次のように表示されます。この例では、ドロップダウン・リストに、accountNum グローバル変数から

図 13. Dojo フィルタリング選択ウィジェット

44 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 57: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

取得された有効なアカウント番号のセットが含まれています。

番号スピナーフィルタリング選択の例で使用したものと同じ「Account」番号入力フィールドに使用する番号スピナー Dojo ウィジェットを作成する方法を以下に例示します。 43

ページの図 12を参照してください。

最初に、入力フィールドをレンダリングする HATS テキスト・ボックス Dojo ウィジェットを作成します。

テキスト・ボックス・ウィジェットでレンダリングされる入力フィールド・コンポーネントを作成した後、次のように変換 .jsp ファイルにウィジェットが表示されます。

変換 .jsp ファイルを編集して、以下の手順を実行します。

1. 次の例に示すように、番号スピナー・ウィジェット用の dojo.require ステートメントを追加します。

<script type="text/javascript">dojo.require("dojo.parser");dojo.require("dijit.form.TextBox");dojo.require("dijit.form.NumberSpinner");</script>

2. 変換 .jsp ファイル内で <HATS:Component> タグを見つけます。次のコードは、この例のために作成されたソース・コードです。

<HATS:Componenttype="com.ibm.hats.transform.components.InputComponent"

componentSettings="" textReplacement="" BIDIOpposite="false"row="11" erow="11" col="22" ecol="26"

widget="com.ibm.hats.transform.widgets.dojo.TextBoxWidget"widgetSettings="" alternate="" alternateRenderingSet="" />

3. <HATS:Component> タグを選択して右クリックし、「HATS ツール」>「Dojo編集用に変換 (Transform for Dojo Editing)」を選びます。これにより、<HATS:Component> タグが <HATS:Render> タグに変換されます。

10011

10012

10013

10014

図 14. グローバル変数を使用する Dojo フィルタリング選択ウィジェット

図 15. Dojo テキスト・ボックス・ウィジェット

第 4 章 Dojo ウィジェットによる作業 45

Page 58: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

4. <HATS:Render> タグ内で、作成されたテキスト・ボックス・ウィジェットを見つけます。次に示すように、テキスト・ボックス・ウィジェットを作成する部分をコメント化 (または削除) して、番号スピナー・ウィジェットを作成します。

// comment out the original text box code// var uInputWidget = new// dijit.form.TextBox({"type":inputType},"<HATS:ElementId/>_input");var uInputWidget = newdijit.form.NumberSpinner({"smallDelta":1,"constraints":{"min":10011,"max":10037,"places":0},"required":"true"},"<HATS:ElementId/>_input");

今度は、番号スピナー・ウィジェットが変換 .jsp ファイルに次のように表示されます。この例では、min オプションおよび max オプションは、この特定アプリケーションに対する正しいアカウント番号範囲に適合するように設定されています。

Dojo TabContainer ウィジェットの使用HATS タブ付きフォルダー・サポートは、HATS V9.5 では推奨されません。現時点では、タブ付きフォルダーは引き続きサポートされていますが、IBM は、製品の今後のリリースでこの機能を削除する権限を保持しています。代替方法の 1 つはTabContainer Dojo レイアウト・ウィジェットを使用することです。このウィジェットを使用すると、タブを作成し、HATS ウィジェットを使用してタブ内にホスト・コンポーネントをレンダリングすることができます。

HATS Web プロジェクトでの Dojo TabContainer ウィジェットの使用

次の例では、HATS Web プロジェクトで Dojo TabContainer ウィジェットを使用した、2 つのタブの「レポートの表示 (Display Report)」ホスト画面上でのデータのレンダリングを示しています。1 つのタブは HATS Dojo 拡張グリッド・ウィジェットを使用し、もう 1 つのタブは HATS グラフ・ウィジェットを使用しています。

この例で Dojo TabContainer ウィジェットを使用するには、以下の手順に従います。

1. HATS Web プロジェクトを、「Dojo テクノロジーを使用」オプションを選択して作成します。

2. ホスト端末を開始し、レポートの最初の画面までナビゲートし、ツールバーの「HATS 画面カスタマイズを作成」をクリックします。

10011

図 16. Dojo 番号スピナー・ウィジェット

46 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 59: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

3. 「画面カスタマイズ」ページで、デフォルトを受け入れて、「次へ」をクリックします。

4. 「画面認識基準」ページで、画面の識別方法を指定し、「次へ」をクリックします。

5. 「アクション」ページで、デフォルトを受け入れて、「完了」をクリックします。「ホスト・コンポーネントの挿入」ウィザードとともに、Page Designer でtransformation .jsp ファイルが開きます。

6. 「ホスト・コンポーネントの挿入」ウィザードで、「キャンセル」をクリックします。

7. 「パレット」ビューの Dojo レイアウト・ウィジェットの下から、「TabContainer」を選択し、それを transformation .jsp 設計域にドロップします。

8. 「タブ・コンテナーの挿入 (Insert Tab Container)」ダイアログで、「タブの数」に 2 を指定し、「OK」をクリックします。

9. タブの「プロパティー」ビュー、または「ソース」ビューで、タブのタイトルを変更します。「タブ 1 (Tab1)」を「テーブル」に、「タブ 2 (Tab2)」を「グラフ」に変更します。

10. 「パレット」ビューの「HATS コンポーネント」の下から、「テーブル (可視)」を選択し、それを「テーブル」ペインにドロップします。

11. 「画面領域」ペインの「ホスト・コンポーネントの挿入」ウィザードで、表示されるテーブルとして表示する画面領域を選択します。この例の場合、データの 4 つの列と、データの先頭行の上の破線とを含む領域を選択します。

図 17. TabContainer Dojo ウィジェットを使用してレンダリングするホスト画面

第 4 章 Dojo ウィジェットによる作業 47

Page 60: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

12. 「レンダリング・オプション」ページで、コンポーネント・リストから「テーブル (可視)」を選択し、「コンポーネント設定」ボタンをクリックします。

13. 「設定 - テーブル (可視)」ページで、「プロジェクトのデフォルトを使用」ボックスをクリアし、「除外する行」を 1 に設定し、「行上のテーブルから列ヘッダー・テストを抽出 (Extract column header test from row above table)」を選択して、「OK」をクリックします。

14. 「レンダリング・オプション」ページで、ウィジェットのリストから「拡張グリッド (Dojo)」を選択し、「完了」をクリックします。

15. Ctrl-S を押して、その時点までの作業内容を保存します。

16. 「パレット」ビューの「HATS コンポーネント」の下から、「テーブル (可視)」を選択し、それを「グラフ」ペインにドロップします。

注: 「設計」ビューでの「グラフ」ペインへの切り替えが難しい場合は、「ソース」ビューの「グラフ」ペインの </div> タグの前に、「テーブル (可視)」コンポーネントをドロップします。

17. 「画面領域」ページの「ホスト・コンポーネントの挿入」ウィザードで、「テーブル」ペインに対して選択したものと同じ領域を選択します。

18. 「レンダリング・オプション」ページで、コンポーネント・リストから「テーブル (可視)」を選択し、「コンポーネント設定」ボタンをクリックします。

19. 「設定 - テーブル (可視)」ページで、「プロジェクトのデフォルトを使用」ボックスをクリアし、「除外する行」を 1 に設定し、「行上のテーブルから列ヘッダー・テストを抽出 (Extract column header test from row above table)」を選択して、「OK」をクリックします。

20. 「レンダリング・オプション」ページで、ウィジェットのリストから「グラフ(水平棒)」を選択し、「ウィジェット設定」ボタンをクリックします。

21. 「設定 - グラフ (水平棒)」ページで、次のようにします。

a. 「プロジェクトのデフォルトを使用」ボックスをクリアします。

b. 「データ・セットの数」を 1 に設定します。

c. 「X 軸のタイトル」に Inventory と入力します。

d. 「Y 軸のタイトル」に Part Name と入力します。

e. 「データ・ポイントのラベルを抽出」の下で、「列」を 2 に設定します。

f. 「データ・セット」をクリックします。

22. 「データ・ソース設定」ページで、「データ・セット 1、列 (Data set 1,column)」を 3 に設定し、「カラー」ドロップダウンで「オレンジ」を選択し、「凡例のラベル」を削除し、「OK」をクリックします。

23. 「設定 - グラフ (水平棒)」ページで、「OK」をクリックします。

24. 「レンダリング・オプション」ページで、「完了」をクリックします。

25. Ctrl-S を押して、作業内容を保存します。

26. Page Designer で、「プレビュー」タブをクリックし、変換のプレビューを表示します。

27. プロジェクトを実行します。実行時に希望する表示になるように、TabContainer

ウィジェットの高さと幅は調整できます。タブ付きフォルダーが実行時に表示されない場合は、TabContainer ウィジェットの固定高さおよび固定幅を使用する必要があることに注意してください。

48 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 61: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

以下に示すのは、この例での TabContainer が含まれるテーブル域のソースです。<!-- Insert your HATS component tags here. -->

<table width="783" height="500" cellspacing="0" cellpadding="0" border="0"><!-- flm:table --><tbody>

<tr><td height="31" width="12"></td><td width="771"></td>

</tr><tr>

<td height="469"></td><!-- flm:cell --><td valign="top"><div id="TabContainer" dojoType="dijit.layout.TabContainer"

tabposition="top" style="height: 469px; width: 771px"><div dojoType="dijit.layout.ContentPane" title="Table" id="Tab1">

<HATS:Componentrow="7" erow="16" col="14" ecol="77"

alternate="" alternateRenderingSet="" textReplacement=""widget="com.ibm.hats.transform.widgets.dojo.EnhancedGridWidget"widgetSettings=""

type="com.ibm.hats.transform.components.VisualTableComponent"componentSettings="minRows:1|validateCharacterType:false|

includePreviousLineAsHeader:true|columnBreaks:|minColumns:1|behaveAsInDefaultRendering:false|areaAsInDefaultRendering:false|overrideRecognitionBehavior:false|evaluateBetterTableParameter:numberOfCells|excludeCols:|numberOfTitleRows:0|columnDelimiter: |betterTableHasLeastOfParameter:false|includeEmptyRows:true|excludeRows:1|" />

</div><div dojoType="dijit.layout.ContentPane" title="Graph" id="Tab2">

<HATS:Componentrow="7" erow="16" col="14" ecol="77"alternate="" alternateRenderingSet="" textReplacement=""

widget="com.ibm.hats.transform.widgets.HorizontalBarGraphWidget"widgetSettings="extractSource:col|backgroundImage:|dataSource1Color:#ff8040|

backgroundColor:#ffffff|extractLabels:true|dataSource3Legend:Series 3|dataSource2Color:#00ff00|yAxisTitle:Part Name|textAntialiasing:true|labelIndex:2|extractDataSetLabels:false|height:400|alternateText:Graph.jpg|width:400|dataSource3:3|defaultFont:SansSerif-PLAIN-12|dataSource2:2|dataSource1:3|dataSetNumber:1|dataSource2Legend:Series 2|dataSource3Color:#ff0000|dataSource1Legend:|xAxisTitle:Inventory|axisColor:#000000|labelColor:#000000|dataSetLabelIndex:1|"

type="com.ibm.hats.transform.components.VisualTableComponent"componentSettings="minRows:1|validateCharacterType:false|includePreviousLineAsHeader:true|columnBreaks:|minColumns:1|behaveAsInDefaultRendering:false|areaAsInDefaultRendering:false|overrideRecognitionBehavior:false|evaluateBetterTableParameter:numberOfCells|excludeCols:|numberOfTitleRows:0|columnDelimiter: |betterTableHasLeastOfParameter:false|includeEmptyRows:true|excludeRows:1|" />

</div></td>

</tr></tbody>

</table>

以下の図は、実行時に表示される、この例での TabContainer ウィジェットを示しています。「テーブル」タブで、HATS Dojo 拡張グリッド・ウィジェットを使用してレンダリングされたデータに注意してください。

第 4 章 Dojo ウィジェットによる作業 49

Page 62: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

「グラフ」タブで、HATS グラフ (水平棒) ウィジェットを使用してレンダリングされたデータに注意してください。

図 18. Dojo TabContainer ウィジェットの Dojo 拡張グリッド・ウィジェット

図 19. Dojo TabContainer ウィジェットのグラフ (水平棒) ウィジェット

50 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 63: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

HATS ポートレット・プロジェクトでの Dojo TabContainer ウィジェットの使用

HATS ポートレット・プロジェクトで Dojo TabContainer ウィジェットを使用できます。

注: HATS Dojo ウィジェットは、HATS ポートレットではサポートされていません。 Dojo TabContainer ウィジェットを使用してタブを作成する場合は、タブ内でのホスト・コンポーネントのレンダリングに、HATS の Dojo 以外のウィジェットを使用してください。

HATS ポートレット・プロジェクトで Dojo TabContainer ウィジェットを使用するには、HATS Web プロジェクトでのウィジェットの使用と似た手順に従います。ただし以下の考慮事項があります。

1. 「Dojo テクノロジーを使用」オプションは、HATS ポートレット・プロジェクトの作成時には使用できません。 HATS ポートレット・プロジェクトの作成後に、「HATS プロジェクト」ビューで、プロジェクトを右クリックし、「プロパティー」->「プロジェクト・ファセット (Project Facets)」を選択します。Web2.0 プロジェクト・ファセットを展開し、「Dojo Toolkit on WebSphere Portal1.0」を選択します。これにより、Dojo ウィジェットは「パレット」ビューで選択できるようになります。

2. Dojo タブ・コンテナーを画面変換にドラッグする際には、「Dojo ブートストラップ項目の jsp ファイルを指定 (Specify a jsp file for Dojo bootstrap entries)」ページで、「ポートレット jsp ファイルで生成 (Generate in the portlet jspfile)」を選択し、「ポートレット・アプリケーションでポートレット・ヘルパーJavaScript クラスを生成 (Generate portlet helper JavaScript classes in portletapplication)」をクリアし、「OK」をクリックします。

3. Dojo TabContainer ウィジェットを「設計」ビューにドラッグしても、ウィジェットはソースに追加されません。次善策として、ウィジェットを「ソース」ビューの <TD> タグの後の位置にドラッグします。

4. 以下の TabContainer <div> タグが作成されます。

注: タブの数を入力するためのユーザー・インターフェースのプロンプトは出されず、ContentPane は生成されません。

<div dojoType="dijit.layout.TabContainer"id="tabContainer_<portletAPI:namespace/>"

style="width: 500px; height: 100px"></div>

5. タブを作成するには、ContentPane ウィジェット (「パレット」ビューの Dojo

レイアウト・ウィジェットの下にある) を、</div> タグの前にドラッグします。この結果、ソースは以下のようになります。

<div dojoType="dijit.layout.TabContainer"id="tabContainer_<portletAPI:namespace/>"

style="width: 500px; height: 100px"><div dojoType="dijit.layout.ContentPane"

id="contentPane_<portletAPI:namespace/>"></div><div dojoType="dijit.layout.ContentPane"

id="contentPane_<portletAPI:namespace/>"></div><div dojoType="dijit.layout.ContentPane"

id="contentPane_<portletAPI:namespace/>"></div></div>

第 4 章 Dojo ウィジェットによる作業 51

Page 64: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

6. タイトルを追加し、HATS コンポーネントを各 ContentPane ウィジェットに挿入します。

注: 「設計」ビューにはレイアウトが表示されますが、「プレビュー」ビューには何も表示されません。

7. ポートレットをエクスポートして、それをポータル・サーバーにデプロイします。

注: 必要であれば、希望した表示になるように、TabContainer ウィジェットの高さと幅は調整できます。タブ付きフォルダーが実行時に表示されない場合は、TabContainer ウィジェットの固定高さおよび固定幅を使用する必要があることに注意してください。

以下に示すのは、TabContainer ウィジェットのソースの例です。これには IBM i メインメニュー画面のレンダリングで表示される 3 つのタブが含まれています。これらのタブには、HATS 選択リスト、コマンド行、およびファンクション・キーのホスト・コンポーネントがそれぞれ入ります。<!-- Insert your HATS component tags here. -->

<table width="100%" height="100%" cellspacing="0" cellpadding="0" border="0"><!-- flm:table --><tbody>

<tr><td><div dojoType="dijit.layout.TabContainer"

id="tabContainer_<portletAPI:namespace/>"style="width: 500px; height: 400px">

<div dojoType="dijit.layout.ContentPane"id="contentPane_<portletAPI:namespace/>" title="MenuOption"><HATS:Component

row="5" erow="17" col="1" ecol="80"alternate="" alternateRenderingSet="" textReplacement=""

widget="com.ibm.hats.transform.widgets.SLRadioButtonWidget"widgetSettings=""

type="com.ibm.hats.transform.components.SelectionListComponent"componentSettings="" />

</div><div dojoType="dijit.layout.ContentPane"

id="contentPane_<portletAPI:namespace/>" title="CommandLine"><HATS:Component

row="19" erow="21" col="1" ecol="80"alternate="" alternateRenderingSet="" textReplacement=""

widget="com.ibm.hats.transform.widgets.InputWidget"widgetSettings=""type="com.ibm.hats.transform.components.CommandLineComponent"componentSettings="" />

</div><div dojoType="dijit.layout.ContentPane"

id="contentPane_<portletAPI:namespace/>" title="FunctionKey"><HATS:Component

row="22" erow="23" col="1" ecol="80"alternate="" alternateRenderingSet="" textReplacement=""

widget="com.ibm.hats.transform.widgets.ButtonWidget"widgetSettings=""type="com.ibm.hats.transform.components.FunctionKeyComponent"componentSettings="" />

</div></div></td>

</tr></tbody>

</table>

52 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 65: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

第 5 章 HATS ポートレットでのプログラミング

この章は、読者が WebSphere Portal のポートレット開発について十分理解していることが前提になっています。「HATS ユーザーと管理者のガイド」に、HATS ポートレットを作成する方法および HATS Web プロジェクトをポートレット・プロジェクトに変換する方法について説明があります。ご使用の HATS マシンにWebSphere Portal Toolkit をインストールしておいてください。 Portal ツールを使用して、ポートレットの作成、管理、展開、および実行を Rational SDP 環境で行うことができます。 WebSphere Portal Toolkit は、Rational SDP と共にインストールされます。Rational SDP をインストールするときに、「ポートレットおよびポータル開発ツール (Portlet and Portal development tools)」チェック・ボックスを選択してください。

標準の Java ポートレット仕様 API (JSR 168 または JSR 286、以降「標準ポートレット API」と呼びます) に準拠した HATS ポートレットを作成できます。標準ポートレット API (JSR 168 または JSR 286) に準拠する HATS ポートレットを、「標準ポートレット」と呼びます。区別する必要がある場合は、JSR 168 であるのか JSR 286 あるのかを示します。

ポートレットは、WebSphere Portal v7.0 または WebSphere Portal v8.0 のターゲットとすることができます。

Portal API の資料 (Javadoc) はツールキットと一緒にインストールされます。この資料には、この章で説明するタスクの実行に役立つ情報があります。Portal API はビジネス・ロジックまたは JSP で使用できます。Portal API と共に HATS ビジネス・ロジックを使用する詳細な例は、HATS インフォメーション・センターの「Portlet messaging with IBM Rational Host Access Transformation Services (HATS)」という資料にあります。

標準ポートレット以下のトピックは、標準ポートレットにのみ該当します。

セキュリティーの使用WebSphere Portal で信任状ボールトを使用している場合は、信任状ボールトを処理するように HATS ポートレットを構成できます。HATS には、WebSphere Portal

Credential Vault Credential Mapper という Web 高速ログオン・プラグインがあります。このプラグインは、ポートレット・プロジェクトに関してのみ、「信任状マッパー・プラグインの追加」ウィンドウに表示されます。このプラグインは、ボールト・スロットから、受動ユーザー・パスワード信任状を検索します。

以下のクラスは、標準ポートレットによる Portal Credential Vault へのアクセスを支援するために提供されています。

v com.ibm.hats.portlet.cv.CredentialVaultHelper

v com.ibm.hats.portlet.cv.UserPasswordCredential

© Copyright IBM Corp. 2003, 2015 53

|

|

|

|

|

Page 66: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

CredentialVaultHelper クラスには、以下の public メソッドがあります。getInstance() メソッドは、CredentialVaultHelper の固有のインスタンスを返すことに注意してください。public static CredentialVaultHelper getInstance();public static String generateSlotName(String vaultId,String hostDestination,String hostAppId);public String getSlotId(PortletRequest portletRequest, String slotName, int slotType);public void setCredential(String slotId,UserPasswordCredential credential,PortletRequest portletRequest);public UserPasswordCredential getCredential(String slotId,PortletRequest portletRequest);

UserPasswordCredential クラスには、以下の public メソッドがあります。public UserPasswordCredential();public UserPasswordCredential(String user,char[] password);public void setUser(String user);public void setPassword(char[] password);public void setPassword(String password);public String getUser();public String getPassword();

com.ibm.hats.portlet.cv.CredentialVaultHelper クラスおよびcom.ibm.hats.portlet.cv.UserPasswordCredential クラスの詳細については、HATS

Knowledge Center (http://www.ibm.com/support/knowledgecenter/SSXKAY_9.5.0) のHATS API References (Javadoc) を参照してください。

開発者は、対象ユーザーのボールト・スロットの作成および取り込みを行います。Web 高速ログオン・プラグインは、com.ibm.hats.portlet.cv.CredentialVaultHelper クラスの setCredential() メソッドを使用して作成された信任状で直接使用できます。このメソッドはスロットに関して同じ命名規則に従うためです。ボールト・スロット名は、com.ibm.hats.portlet.cv.CredentialVaultHelper クラスの generateSlotName() メソッドを使用して生成できます。このメソッドに対して、プラグイン・パラメーターの SLOT_ID、ホスト名、およびアプリケーション名 (IBM i サーバーへの接続時などアプリケーション名が適用されない場合は、NULL を使用) を渡します。生成されるスロット名は、ホスト名とアプリケーション名をスペースを使用して連結したSLOT_ID になります。スロット名のこの 3 つのエレメントはエンコードされ、スペースは下線に置換されます。次に、com.ibm.hats.portlet.cv.CredentialVaultHelper クラスの getSlotId() メソッドを使用して、実際のボールト・スロット ID を取得できます。ここでは、PortletRequest、スロット名、および SLOT_TYPE を渡します。SLOT_TYPE が 2 または 3 の場合、スロット ID はスロット名と等しくなります。

ボールト・スロットは、ビジネス・ロジックに指定された信任状または他のソースから検索された信任状と一緒に取り込むことができます。ポータル・ユーザー ID

を使用する場合は、WebSphere Portal ネットワーク・セキュリティー・プラグインを使用すれば、ID を検索できます。このプラグインは、ポートレット・プロジェクトの場合に限り、「ネットワーク・セキュリティー・プラグインの追加 (Add

Network Security plug-in)」ウィンドウに表示されます。

115ページの『第 10 章 Web 高速ログオンのプラグインの作成』で説明したとおり、Web 高速ログオンが使用するプラグインには、ネットワーク・セキュリティー・プラグインと信任状マッパー・プラグインの 2 種類があります。 HATS で提供される任意のネットワーク・セキュリティー・プラグインは、HATS ポートレットで使用できます。 55ページの表 3 に、ポートレットで使用可能なプラグインの組み合わせ例を示します。

54 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 67: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

表 3. プラグインの組み合わせ

ネットワーク・セキュリティー・プラグイン 信任状マッパー・プラグイン

WebSphere Portal NS プラグイン 任意の提供されたプラグイン、カスタムのCM プラグイン、または WebSphere Portal

Credential Vault CM プラグイン

なし WebSphere Portal Credential Vault CM プラグイン

カスタム NS プラグイン カスタム CM プラグイン

以下の手順は、Web 高速ログオン 機能をポートレットに追加する方法の 1 つの例です。このロジックを HATS ポートレットの開始イベントに追加してください。ユーザーがポートレットをオープンしたときに、ユーザーのホスト信任状が既に提供されているかどうかを示すグローバル変数を検査します。

1. ホスト信任状が既に提供されている場合、認証後に表示される最初の画面をユーザーに表示します。この画面は、Web 高速ログオンのログオン・マクロの最後に表示される画面と同じです。

2. ホスト信任状がまだ提供されていない場合、com.ibm.hats.portlet.cv.CredentialVaultHelper クラスの getCredential() メソッドを使用して、ボールトからユーザーの信任状を要求します。

a. 信任状を正常に受信した場合 (メソッドがヌルを戻さなかった場合) は、以下の作業を行います。

1) ユーザーのホスト信任状が提供されたことを表示するようにグローバル変数を設定してください。

2) Web 高速ログオンのログオン・マクロを実行します。

b. getCredential() がヌルを戻した場合は、以下の作業を行います。

1) サインオン画面を表示して、ユーザー情報の入力を要求します。この画面には、この用途で作成された変換済みホスト画面または HTML ページを使用できます。

2) 入力データをグローバル変数に格納し、ボールトに追加してください。

入力ポートレットの拡張HATS 標準ポートレットを拡張して、機能を追加したり、ポートレットをカスタマイズしたりできます。例えば、ポートレットを拡張して、接続パラメーターおよびグローバル変数のオーバーライドを指定することができます。

標準 Entry ポートレットを拡張するには、Java クラス・ファイルをカスタマイズする必要があります。以下の手順は、JSR 168 クラス・ファイル(com.ibm.hats.portlet.Jsr168EntryPortlet) を拡張する手順です。同じ手順を実行して、JSR 286 クラス・ファイル (com.ibm.hats.portlet.Jsr286EntryPortlet) を拡張できます。

1. 新規の「Java クラス」ウィザードを使用して、com.ibm.hats.portlet.Jsr168EntryPortlet を拡張する新規の Java クラスを作成します。

a. 「ファイル」>「新規」>「Java」>「クラス・ファイル」をクリックします。

第 5 章 HATS ポートレットでのプログラミング 55

Page 68: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

b. パッケージおよび新規クラスの名前を指定します。「スーパークラス(Superclass)」フィールドには、値com.ibm.hats.portlet.Jsr168EntryPortlet を入力するようにしてください。

2. ポートレット・デプロイメント記述子のポートレット・クラスの名前を変更します。

a. portlet.xml ファイルをポートレット・デプロイメント記述子エディターで開きます。

b. <portlet-class>com.ibm.hats.portlet.Jsr168EntryPortlet</portlet-class> 内のテキストを、<portlet-class>myPackage.myClass</portlet-class> に置き換えます。ここで、myPackage および myClass は、上記の新規の「Java クラス」ウィザードで入力した値です。

以下の例は、拡張したポートレット・クラスを使用して、接続パラメーターおよびグローバル変数のオーバーライドを指定する方法を示したものです。

1. 拡張したポートレット・クラスの Java ソース・ファイルを編集します。

2. getInitParameters() メソッドを以下のとおりにオーバーライドします。public Properties getInitParameters(IRequest request){Properties initParams = new Properties();initParams.setProperty(com.ibm.eNetwork.beans.HOD.Session.HOST, "129.12.11.2");initParams.setProperty(com.ibm.eNetwork.beans.HOD.Session.PORT, "623");initParams.setProperty("hatsgv_userName", "some user");initParams.setProperty("hatsgv_password", "xxxxx");initParams.setProperty("hatssharedgv_someVariable", "zzzzz");return initParams;

}

注: 拡張したポートレット・クラスを使用して接続パラメーターまたはグローバル変数のオーバーライドを設定し、その同じオーバーライドを「編集」モードで使用すると、その「編集」モードの設定によって、拡張したポートレット・クラスの設定がオーバーライドされます。

選択した接続パラメーターまたはグローバル変数のオーバーライドを可能にするには、プロジェクトのセキュリティー設定も構成する必要があります。この構成は、「プロジェクト設定」>「その他」のタブにある「接続パラメーターのオーバーライド」パネルおよび「グローバル変数のオーバーライド」パネルを使用して行います。セキュリティー・パネルでのオーバーライドを許可していない場合は、ポートレット・クラスを拡張するかポートレットの「編集」モードを使用して設定したすべてのオーバーライドが、暗黙的に無視されます。

統合オブジェクトの実行標準ポートレットでの統合オブジェクトの実行には、processRequest() メソッドを使用します。また、統合オブジェクトのチェーニングに関しては特別な考慮事項があります。

統合オブジェクトのチェーニング ( 67ページの『統合オブジェクトのチェーニング』を参照) では、チェーン内のすべての統合オブジェクトで同じ接続を使用する必要があります。 processRequest() メソッドを使用して統合オブジェクトを実行する際、統合オブジェクト・チェーンの接続を表すキーは、チェーン内の最初の統合オブジェクトから取り出して、チェーン内の後続の統合オブジェクトに設定しなけ

56 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 69: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

ればなりません。この接続は、getHPubLinkKey() メソッドによって最初の統合オブジェクトから取り出し、setHPubLinkKey() メソッドによって後続の IO に設定することができます。

接続を表すキーは、以下のように FORM に非表示の入力フィールドを追加することによって、HttpServletRequest オブジェクトのパラメーターとして JSP を介して受け渡されます。<INPUT TYPE="HIDDEN" NAME="<%CommonConstants.HPUB_LINK_KEY%>"VALUE="<%=FirstInChainIO.getHPubLinkKey()%>"/>

その後、次の JSP が getParameter() メソッドを使用してこのキーを取得し、次の統合オブジェクトにこれを設定します。<% MiddleInChainIO.setHPubLinkKey((String)request.getParameter(CommonConstants.HPUB_LINK_KEY)); %>

HATS ポートレットが使用している接続を、「URL に転送」アクションを使用して統合オブジェクトに受け渡す場合、その接続を表すキーは、PortletRequest オブジェクトの CommonConstants.HPUB_LINK_KEY 属性に保存されます。

この場合、ユーザーは、「URL に転送」アクションを使用して制御を取得する JSP

を以下のように編集して、この JSP が、PortletRequest オブジェクトからキーを取得し、setHpubLinkKey() メソッドを呼び出す最初の統合オブジェクトにそのキーを設定するようにしなければなりません。<% ExampleIO.setHPubLinkKey((String)request.getAttribute(CommonConstants.HPUB_LINK_KEY)); %>

「URL に転送」アクションから制御を取得する JSP には、以下のステートメントも追加する必要があります。このとき、その JSP が、統合オブジェクトに必要なデータを収集する入力ページであるか、統合オブジェクトの実行結果を表示する出力ページであるかは関係ありません。<%@ taglib uri="http://java.sun.com/portlet" prefix="portletAPI" %><portletAPI:defineObjects/>

「URL に転送」アクションから制御を取得する JSP が入力ページである場合、アプリケーション開発者は、要求オブジェクトおよび応答オブジェクトを使用している箇所を、ポートレットの renderRequest オブジェクトおよび renderResponse オブジェクトに置き換えることによって、FORM ステートメントを変更する必要もあります。<FORM NAME="iojsp_ExampleIOOutput" METHOD="POST"ACTION=’<%= renderResponse.encodeURL(renderRequest.getContextPath() + "/iojsp/ExampleIOOutput.jsp")%>’>

Web 高速ログオンの使用標準ポートレットで Web 高速ログオンを使用するように構成されている統合オブジェクトを実行するには、processRequest() メソッドを実行する前にsetHPubPortletRequest(javax.portlet.PortletRequest) を呼び出すことで、PortletRequest

を確実に統合オブジェクトで使用できるようにする必要があります。例えば、ポートレット renderRequest が以下のステートメントで使用可能になっている JSP ページで統合オブジェクトを実行するとします。

<%@ taglib uri="http://java.sun.com/portlet" prefix="portletAPI" %><portletAPI:defineObjects/>

以下のステートメントを追加します。

<% ExampleIO.setHPubPortletRequest(renderRequest); %>

第 5 章 HATS ポートレットでのプログラミング 57

Page 70: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

以下のステートメントの前に追加します。

<% ExampleIO.processRequest(); %>

JavaServer Pages をポートレットに追加する.jsp ファイルを非ポートレット・プロジェクトから HATS ポートレット・プロジェクトにコピーする場合は、ファイルを変換する必要があるため、ファイル名を右マウス・ボタンでクリックして、「ポータルの JSP の変換」を選択してください。ツリー表示内で複数の .jsp ファイルを選択すれば、それらを一度に変換できます。このメニュー項目は、Portal Toolkit がインストール済みで、.jsp が HATS ポートレット・プロジェクト内にあり、まだ変換されていない場合にのみ使用できます。複数の .jsp ファイルを選択し、そのうちの 1 つ以上のファイルがすでに変換済みの場合、これらのファイルはスキップされます。

58 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 71: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

第 6 章 統合オブジェクトを使用したプログラミング

統合オブジェクトは、ホスト・アプリケーションとの対話をカプセル化する Java

Bean です。 IBM WebSphere Host Publisher を使用したことがあれば、統合オブジェクトの特徴の多くについては理解されているでしょうが、その場合でも、HATS

で統合オブジェクトをどのように使用できるかを理解する必要があります。HATS

で統合オブジェクトを使用するには、Host Publisher の機能を深く理解していなくてもかまいません。

「HATS ユーザーと管理者のガイド」では、マクロから統合オブジェクトを作成する方法と統合オブジェクトを基にして Web ページを作成する方法について説明しています。IBM WebSphere Host Publisher を使用して作成した統合オブジェクトは、HATS にインポートし、HATS Toolkit で作成した統合オブジェクトと同じように使用できます。この文書では、次に示すような、統合オブジェクトの高度な使用方法について説明します。

v ビジネス・ロジックからの統合オブジェクトの呼び出し。このプロセスについては、 13ページの『例: 統合オブジェクトの呼び出し』で説明しています。

v 別の WebSphere アプリケーションからの統合オブジェクトの呼び出し。このプロセスについては、 107ページの『WebSphere Java EE アプリケーションでの統合オブジェクトの使用』で説明しています。

v 1 つ以上の統合オブジェクトに基づいた Web サービスの作成。このプロセスについては、 73ページの『第 7 章 Web サービスの開発』で説明しています。

v 1 つ以上の統合オブジェクトに基づいた EJB Access Bean の作成。このプロセスについては、 91ページの『第 8 章 HATS EJB アプリケーションの作成と使用』で説明しています。

v 統合オブジェクトに含まれている Java コードの変更。このプロセスについては、 101ページの『第 9 章 統合オブジェクト - 高度なトピック』で説明しています。

統合オブジェクトの情報にアクセスするための共通クラス統合オブジェクトのプロパティーには、WebSphere アプリケーションからアクセスできます。呼び出し側プログラムには、統合オブジェクトの名前および変数の名前がわかっていなければなりません。場合によっては、統合オブジェクトの名前がわからなくても呼び出し側プログラムが、すべての統合オブジェクトが共用しているプロパティーにアクセスできると便利なことがあります。Java クラスcom.ibm.HostPublisher.IntegrationObject.HPubCommon は、すべての統合オブジェクトによって拡張されます。クラスcom.ibm.HostPublisher.IntegrationObject.HPubHostAccess は HPubCommon を拡張したものであり、すべてのホスト・アクセス統合オブジェクトに共通です。クラスcom.ibm.HostPublisher.IntegrationObject.HPubDBAccess は HPubCommon を拡張したものであり、すべてのデータベース統合オブジェクトに共通です。これらのクラスの情報は、統合オブジェクトの名前がわからなくても抽出できます。これらのクラスをイントロスペクトし、統合オブジェクトのメソッドを使用して抽出できる現行

© Copyright IBM Corp. 2003, 2015 59

Page 72: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

プロパティーの名前を見つけます。これらのメソッドの詳細については、 61ページの『統合オブジェクトのメソッド』を参照してください。

60 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 73: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

統合オブジェクトの Java クラス階層デフォルトおよびカスタマイズ可能な統合オブジェクトの Java クラス階層は次のとおりです。

HPubCommon + -- HPubHostAccess + -- HPubHODCommon -- HPubTemplateHODBean.Default| || + -- HPubTemplateHODBean.Customize|+ -- HPubDBAccess

統合オブジェクトのメソッドHATS 統合オブジェクトには、統合オブジェクトを使用してプログラミングするときに使用できる Java メソッドが含まれています。一部のメソッドは、すべての統合オブジェクトに共通です。ホスト・アクセス統合オブジェクトのみに適用されるメソッドや、データベース・アクセス統合オブジェクトのみに適用されるメソッドもあります。このセクションでは、メソッドのリストを示し、各メソッドの機能について簡単に説明します。

共通のメソッド次のメソッドは、すべての統合オブジェクトに共通です。

void doHPTransaction(HttpServletRequest req, HttpServletResponse resp) throwsBeanException

この実行メソッドは、サーブレットまたは JSP から HATS 統合オブジェクトまたは EJB Access Bean を実行します。このメソッドを使用すると、HATS が統合オブジェクト・チェーニングを管理します。ただし、Web プロジェクトの統合オブジェクトを必ず正しい順序でチェーニングする必要があります。

void processRequest() throws BeanExceptionこの実行メソッドは、HttpServletRequest と HttpServletResponse がない環境(Web モジュール以外の環境) で統合オブジェクトまたは EJB Access Bean

を実行します。このメソッドを使用してチェーニングされた統合オブジェクトを実行するには、追加のプログラミングを行う必要があります。 67ページの『統合オブジェクトのチェーニング』を参照してください。

注: 標準ポートレットで Web 高速ログオンを使用するように構成されている統合オブジェクトを実行するには、processRequest() メソッドを実行する前に setHPubPortletRequest(javax.portlet.PortletRequest) を呼び出すことで、PortletRequest を確実に統合オブジェクトで使用できるようにする必要があります。

java.lang.String getHPubBeanName()現在の統合オブジェクトまたは EJB Access Bean の名前を戻します。

java.lang.String getHPubBeanType()HATS 統合オブジェクトまたは EJB Access Bean のタイプを表現するストリングを戻します。戻されるストリングは、次のいずれかです。

HOD Bean は Host Access を使用して作成されました。

DB Bean はデータベース・アクセスを使用して作成されました。

第 6 章 統合オブジェクトを使用したプログラミング 61

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

||

||

Page 74: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

void setHPubErrorPage(java.lang.String value)Host Publisher バージョン 2.2.1 またはバージョン 3.5 で作成した統合オブジェクトの場合、このメソッドで使用するエラー・ページの名前を設定します。このメソッドは、サーブレットまたは JSP から HATS 統合オブジェクトまたは EJB Access Bean を実行している場合にのみ使用してください。ご使用のエラー・ページの名前を、サーブレットまたは JSP の位置を基準とする相対パスで指定します。

注: このメソッドは推奨されないメソッドであり、HATS またはバージョン3.5 以降の Host Publisher で作成した統合オブジェクトでは使用できません。

java.lang.String getHPubStartPoolName()統合オブジェクトが接続を獲得した接続プールの名前を戻します。

void setHPubStartPoolName(java.lang.String value)統合オブジェクトが接続を獲得する接続プールの名前を設定します。統合オブジェクトの processRequest() ビジネス・メソッドを使用する場合 (例えば、統合オブジェクトが EJB コンテナーまたは Web サービスとして配置されている場合)、プール名は HATS アプリケーション名で修飾する必要があります。例えば、my_hats_project/main のようなプール名にします。

java.lang.String getHPubXMLProperties()この統合オブジェクトのプロパティー名と値を指定する XML 形式のストリングを戻します。

java.lang.String getHPubXMLProperties(HPubConvertToTableFormat.xsl)この統合オブジェクトのプロパティー名と値を指定する XML 形式のストリングを戻し、戻されたストリングに XML スタイル・シート処理を適用します。詳細については、 69ページの『統合オブジェクト出力への XML

スタイル・シート処理の適用』を参照してください。

void setHPubSaveConnOnError(java.lang.Boolean flag)統合オブジェクトの実行中にエラーが検出された場合に、接続を破棄しないことを指定する標識を統合オブジェクトの中に設定します。代わりに、接続が保存され、HATS 入力サーブレットに渡されてデフォルトの変換が適用されます。このメソッドは、定義済みの AdvancedIOErrorPage.jsp と組み合わせて使用する必要があります。接続は、デフォルトの接続プールから取得された場合にのみ変換できます。 このメソッドは EJB Access Beans やHATS Web サービス・サポートと共に使用することはできません。

int getHPubErrorOccurred()エラーが発生した場合、ゼロ以外の値を戻します。

java.lang.Exception getHPubErrorException()発生したエラーを説明する例外オブジェクトを戻します。HPubErrorOccurred

がゼロでない場合にのみ有効です。タイプ java.lang.Exception のパラメーターは Simple Object Access Protocol (SOAP) で直列化できないため、このプロパティーは HATS Web サービス・サポートによって生成されるio_name_Output_Properties クラスには含まれていません。

62 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

Page 75: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

java.lang.String getHPubErrorMessage()発生したエラーの HATS コードおよびメッセージを含むストリングを戻します。HPubErrorOccurred がゼロでない場合にのみ有効です。

ホスト・アクセス統合オブジェクトのメソッド次のメソッドは、Host Publisher で作成して HATS にインポートしたホスト統合オブジェクトの中で、HATS Toolkit で作成した統合オブジェクトと共に使用できます。これらのメソッドは、Host Publisher で作成したデータベース・アクセス統合オブジェクトでは使用できません。

java.lang.String getHPubLinkKey()このメソッドは、統合オブジェクト・チェーンの接続を表すキーの名前を返します。この値は、Web コンテナー以外で統合オブジェクトを実行後にチェーン内の最初の統合オブジェクトから取得する必要があります。

void setHPubLinkKey(java.lang.String value)このメソッドは、統合オブジェクト・チェーンの接続を表すキーの名前を設定します。この値は、非 Web コンテナーで統合オブジェクトを実行する前に、チェーン内の最初の統合オブジェクト以外のすべてのチェーニングされた統合オブジェクトに対して設定する必要があります。

java.lang.String getHPubStartChainName()このメソッドは、チェーン内の中間または最後の統合オブジェクトが作成されたときに定義された開始状態ラベルの名前を返します。チェーン内の最初の統合オブジェクトと、チェーニングされていない統合オブジェクトの場合、この値は Null です。

java.lang.String getHPubEndChainName()チェーン内で最初の統合オブジェクトが作成されたときに定義された停止状態ラベルを戻します。チェーン内の最後の統合オブジェクトと、チェーニングされていない統合オブジェクトの場合、この値は Null です。

java.lang.String getHPubScreenState()このメソッドは、マクロが停止したときに実行された最後の Host

On-Demand マクロ画面の名前を返します。

java.lang.String getHPubMacroMessage()このメソッドは、現在の Host On-Demand マクロ画面で実行された最後の画面のメッセージ・タグの値を返します。

public java.lang.String getHPubConnectionOverrides()このメソッドは、入出力で使用する接続オーバーライドを「key1=value1,

key2=value2」または空ストリングの形式で返します。

詳しくは、接続オーバーライドの指定を参照してください。

public void setHPUBConnectionOverrides(String overrides)このメソッドは、統合オブジェクト用のホスト接続を確立する際に適用する接続オーバーライドを指定します。接続オーバーライドは、統合オブジェクトの processRequest() メソッドまたは doHPTransaction() メソッドを呼び出す前に設定する必要があります。接続オーバーライドは、「key1=value1,

key2=value2」という形式にする必要があります。この形式は、Web サービスを作成する場合に特に便利です。

第 6 章 統合オブジェクトを使用したプログラミング 63

|

|

|

Page 76: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

このメソッドは、HATS EJB Access Bean に基づくクライアント・プログラムで、または HATS Web サービスで使用するために生成された Web サービス・クライアントで使用します。

接続オーバーライドが指定されている場合、統合オブジェクトのdoHPTransaction() メソッドまたは processRequest() メソッドが呼び出されると、その統合オブジェクト用の新規の接続プールが作成されます。この新規プールは、その統合オブジェクトの元の接続プールおよび指定された接続オーバーライドを基にして作成されます。統合オブジェクトは、この新規の接続プールを使用するように自動的に切り替えられます。新規プールの名前は、統合オブジェクト・インスタンスの getHPubStartPoolName() メソッドを使用して取得することができます。

詳しくは、接続オーバーライドの指定を参照してください。

public void setHPubConnectionOverrides(Properties overrides)このメソッドは、統合オブジェクト用のホスト接続を確立する際に適用する接続オーバーライドを設定します。接続オーバーライドは、ホスト接続を確立する統合オブジェクトの processRequest() ビジネス・メソッドまたはdoHPTransaction() ビジネス・メソッドを呼び出す前に設定する必要があります。

統合オブジェクトの doHPTransaction() メソッドまたは processRequest() メソッドを呼び出す際に、その統合オブジェクトと関連付けられた接続オーバーライドがある場合は、その統合オブジェクト用の新規の接続プールが、その統合オブジェクトの接続プールおよび接続オーバーライドを基にして作成されます。新規プールの名前は、統合オブジェクト・インスタンスのgetHPubStartPoolName() メソッドを使用して取得することができます。

詳しくは、接続オーバーライドの指定を参照してください。

データベース・アクセス統合オブジェクトのメソッド次のメソッドは、Host Publisher で作成して HATS にインポートしたデータベース・アクセス統合オブジェクトでのみ使用できます。これらのメソッドは、Host

Publisher で作成したホスト・アクセス統合オブジェクトと共に使用することはできません。また、HATS Toolkit で作成した統合オブジェクトと共に使用することもできません。データベースへのアクセス方法の詳細については、Rational SDP の資料を参照してください。

java.lang.String getHPubWarningOccurred()警告が発生したことを示す、ゼロ以外の値を戻します。

java.sql.SQLWarning getHPubSQLWarningException()発生した警告の SQLWarning オブジェクトを戻します。HPubWarningOccurred がゼロでない場合にのみ有効です。

java.sql.SQLException getHPubSQLErrorException()発生したエラーの SQL 例外オブジェクトを戻します。HPubErrorOccurred

がゼロでなく、かつ、HPubErrorMessage が SQL エラーを示している場合にのみ有効です。

64 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 77: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

接続オーバーライドの指定接続オーバーライドは、動的に設定することも、ユーザーが設定することもできます。接続オーバーライドを指定することで、ユーザーは汎用アプリケーションを作成して、アプリケーションを実行するユーザーに応じて一部の設定をカスタマイズできるようになります。しかし、例えば、3270E 接続で使用する LUName や 5250

接続の workstationID は、実行時に動的に設定されます。

統合オブジェクトで接続オーバーライドを指定するには、その統合オブジェクトにアクセスするコードを変更して、doHPTransaction() メソッドまたは processRequest()

メソッドを呼び出す前にその統合オブジェクト・インスタンスのsetHPubConnectionOverrides(Properties overrides) メソッドまたはsetHPubConnectionOverrides(String overrides) メソッドを呼び出すようにする必要があります。このメソッドは、統合オブジェクトの接続オーバーライドを設定します。統合オブジェクトの doHPTransaction() メソッドまたは processRequest() メソッドを呼び出す際に、その統合オブジェクトと関連付けられた接続オーバーライドがある場合は、その統合オブジェクト用の新規プールが、入力内のその統合オブジェクトの接続プールおよび接続オーバーライドを基にして作成されます。

IO.setHPubConnectionOverrides() メソッドを使用する JSP コードの例を以下に示します。

<% // Set the connection overridesjava.util.Properties overrides = new java.util.Properties();overrides.setProperty("LUName", "LU00001");// Apply overrides to the IOSignOn.setHPubConnectionOverrides(overrides);SignOn.doHPTransaction(request,response);// Get new IO pool name to be used in following logicString newPoolName = SignOn.getHPubStartPoolName();

%>

既存の統合オブジェクトに接続オーバーライドを指定する場合には、統合オブジェクトを再コンパイルすることなく、新規のcom.ibm.HostPublisher.IntegrationObject.HPubPoolFactory クラスを使用することができます。 doHPTransaction() メソッドまたは processRequest() メソッドを呼び出す前に、その静的なメソッドである create() を使用できます。このメソッドは、入力内のプール・オブジェクトのクローンを作成して、それに関連付けられた Host

On-Demand プロパティーに接続オーバーライドを適用することによって、新規のプール・オブジェクトを生成します。新規プールの名前が返されるので、setHPubStartPoolName() メソッドを使用して統合オブジェクトでその名前を設定する必要があります。入力内のプール名が無効である場合、create() メソッドはヌルを返します。

create メソッドの 3 番目のパラメーターがヌルである場合は、プール名を HATS

アプリケーション名で修飾する必要があります。例えば、my_hats_project/main のようなプール名にします。

使用可能な静的メソッドは、以下の 2 つです。

static String create(String poolName,Properties overrides,javax.servlet.http.HttpServletRequest httpServletRequest)

第 6 章 統合オブジェクトを使用したプログラミング 65

Page 78: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

static String create(String poolName,String overrides,javax.servlet.http.HttpServletRequest httpServletRequest)

これらのメソッドは、指定のプール定義および指定の接続オーバーライドを基にして新規のプール定義を作成します。

新規プールの名前は、ホスト接続を確立する統合オブジェクトの doHPTransaction()

メソッドまたは processRequest() メソッドを呼び出す前に、インスタンスのsetHPubStartPoolName() メソッドを使用して、その統合オブジェクトで設定する必要があります。

指定のプール名に対する接続定義がプロジェクト内にない場合、create() メソッドはヌルを返します。

create メソッドの 3 番目のパラメーターがヌルである場合は、プール名を HATS

アプリケーション名で修飾する必要があります。例えば、「my_hats_project/main」のようなプール名にします。

2 番目のメソッド・シグニチャーを使用する場合、接続オーバーライドは「key1=value1, key2=value2」という形式にする必要があります。最初のメソッドでは、オーバーライドの指定に標準の Java プロパティー・オブジェクトを使用します。

com.ibm.HostPublisher.IntegrationObject.HPubPoolFactory,create() メソッドを使用するJSP コードの例を以下に示します。

<% // Set the connection overridesjava.util.Properties overrides = new java.util.Properties();overrides.setProperty("LUName", "LU00001");// Create a new Pool based on a the default pool and the connection overridesString poolName = SignOn.getHPubStartPoolName();String newPoolName =com.ibm.HostPublisher.IntegrationObject.HPubPoolFactory.create

(poolName, overrides, request);// If a valid poolName is returned, make the IO use the new poolif (newPoolName != null) {

SignOn.setHPubStartPoolName(newPoolName);SignOn.doHPTransaction(request,response);

}else {

// Error condition}

%>

チェーニングされた統合オブジェクトが正常に動作するための要件は以下のとおりです。

v setHPubConnectionOverrides() メソッドを使用する場合は、接続オーバーライドをチェーン内の最初の統合オブジェクトで設定する必要があります。

v HPubPoolFactory.create() メソッドを使用する場合は、新しく作成されたプール名をチェーン内の最初の統合オブジェクトで設定する必要があります。

どちらの例でも、統合オブジェクトは、統合オブジェクトの元のプールのクローンを作成して接続オーバーライドを適用することによって作成した、新規のプール・オブジェクトを使用します。統合オブジェクトの元のプールに適用されるすべての

66 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 79: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

設定 (プーリングを含む) は、新規のプールにも適用されます。接続オーバーライドは、統合オブジェクトにアクセスするユーザーごとに別々に指定することができます。 HATS ランタイムは、ユーザーごとにプール・オブジェクトを作成します。プーリングが無効になっている場合、接続オーバーライドの指定があるときに動的に作成されるこれらのプールは、最後のアクティブ接続が終了すると共に破棄されます。プロジェクト設定エディターの「その他」タブにある「接続パラメーターのオーバーライド」ページで指定された接続オーバーライド・パラメーターは、統合オブジェクトに適用されません。

プーリングが無効になっている場合、接続オーバーライドの指定があるときに動的に作成されるプールは、最後のアクティブ接続が終了すると共に自動的に破棄されます。

統合オブジェクトのチェーニング統合オブジェクト・チェーニングによって複雑なアプリケーションを複数のタスクに分割できます。各タスクは 1 つの統合オブジェクトによって表現されます。チェーニングを使用すると、複数の統合オブジェクトを順々に実行することができます。各統合オブジェクトの入力データは、直前の統合オブジェクトに依存させることができます。統合オブジェクトのチェーニングの概要については、「HATS ユーザーと管理者のガイド」を参照してください。統合オブジェクトのチェーニングはマクロのチェーニングとはまったく異なり、チェーン内の各統合オブジェクトは、チェーン内の次の統合オブジェクトが制御を取る前に実行を完了します。マクロのチェーニングは、PlayMacro アクションを使用し、現在のマクロ (PlayMacro アクションが発生しているマクロ) を終了させ、ターゲット・マクロの指定されたマクロ画面の処理を開始します。呼び出し側のマクロには何も戻りません。マクロ・チェーニングの詳細については「HATS 拡張マクロ・ガイド」を参照してください。

統合オブジェクトのチェーニングは、以下のために HATS によって処理されます。

v 統合オブジェクトまたは対応する EJB Access Beans を使用する HATS アプリケーション

v Web コンテナーで統合オブジェクトまたは対応する EJB Access Beans を使用するカスタム JSP またはサーブレット

このような場合は、doHPTransaction 実行メソッドを使用します。

チェーニングを使用可能にするプロパティーを取得し、次のように設定する必要があります。

v Web コンテナーの外側で実行される EJB Access Beans

v 統合オブジェクトを使用するカスタム EJB

このような場合は、processRequest 実行メソッドを使用します。

doHPTransaction メソッドおよび processRequest メソッドの詳細については、 61

ページの『統合オブジェクトのメソッド』を参照してください。

HATS で提供されるメソッドを使用すると、チェーン内の最初の統合オブジェクトから統合オブジェクト・チェーンの接続を表現するキーを抽出したり、チェーン内

第 6 章 統合オブジェクトを使用したプログラミング 67

Page 80: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

の後続の統合オブジェクトのプロパティーを設定することができます。また、Web

サービスのチェーニングを使用可能にするプロパティーも取得して設定する必要があります。

processRequest メソッドを使用して統合オブジェクト・チェーンを構築するには、次の手順を実行します。

1. コンストラクターを呼び出して、チェーン内の最初の統合オブジェクトのインスタンスを生成します。

2. 統合オブジェクトのインスタンスのメソッドを呼び出します。必要に応じて、入力変数のプロパティーを設定するメソッドを呼び出します。setter メソッドの命名規則は次のとおりです。

IOChain1.setXyz(String)

ここで、Xyz は入力変数の名前です。

3. 次のメソッドを使用して統合オブジェクトを呼び出し、所定のタスク (例えば、マクロの実行) を実行します。

IOChain1.processRequest()

4. 次のメソッドを呼び出して、エラーがないか検査します。

IOChain1.getHPubErrorOccurred()

5. 統合オブジェクト・チェーンの接続を表現するキーを抽出して保管します。

String myLinkkey = IOChain1.getHPubLinkKey();

6. コンストラクターを呼び出して、チェーン内の次の統合オブジェクトのインスタンスを生成します。

7. このチェーニングされた接続のキーを設定します。

IOChain2.setHPubLinkKey(myLinkkey);

8. この統合オブジェクトのインスタンスのメソッドを呼び出します。必要に応じて、入力変数のプロパティーを設定するメソッドを呼び出します。setter メソッドの命名規則は次のとおりです。

IOChain2.setXyz(String)

ここで、Xyz は入力変数の名前です。

9. 次のメソッドを使用してこの統合オブジェクトを呼び出し、所定のタスクを実行します。

IOChain2.processRequest()

10. 次のメソッドを呼び出して、エラーがないか検査します。

IOChain2.getHPubErrorOccurred()

チェーン内のすべての後続の統合オブジェクトについて、ステップ 6 から 10 を繰り返します。

HATS のチェーニングされた Web サービス

HATS のチェーニングされた Web サービスを統合オブジェクトで使用する場合には、特別な考慮事項があります。チェーニングされた統合オブジェクトを HATS

Web サービス内で使用する場合は、ステートフルな Web サービスを作成していることになります。 HATS ランタイムは、同じ Web サービス内にあるチェーニング

68 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 81: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

された統合オブジェクトの呼び出しと呼び出しの間でデータを保管しません。しかし、HATS ランタイムでは、チェーン内の次の Web サービスの呼び出しを、そのHATS ランタイムの同じインスタンスに戻るようにルーティングする必要があるため、チェーン内の次の統合オブジェクトは、同じ Telnet 接続を使用します。

ステートフルな HATS Web サービスをクラスターに展開したい場合は、以下のいずれかの方法を使用して、そのように展開することができます。

1. EJB Access Bean から HATS Web サービスを作成します。 HATS EJB はステートフル・セッション EJB であるため、EJB クライアントは常に同じ HATS

EJB インスタンスと対話します。

2. Web サービスの有効範囲がセッションになるように構成し (開発環境で行うか、または展開後に行います)、Web サービス・クライアント・ランタイムでSESSION_MAINTAIN_PROPERTY を使用して複数の呼び出し間でセッションを維持することによって、HTTP セッションの親和性を確保します。

統合オブジェクト出力への XML スタイル・シート処理の適用HATS では XML スタイル・シート HPubConvertToTableFormat.xsl を提供しており、表形式データの getHPubXMLProperties() 関数呼び出しに対してこれを適用できます。スタイル・シートを適用すると、テーブル名と列名を持つ XML 形式が生成され、データがレコード形式で再配列されます。HPubConvertToTableFormat.xsl

スタイル・シートを適用するには、getHPubXMLProperties() 関数呼び出しをgetHPubXMLProperties("HPubConvertToTableFormat.xsl") としてコーディングする必要があります。

WebSphere アプリケーションで使用できるメソッドの詳細については、 61ページの『統合オブジェクトのメソッド』を参照してください。

getHPubXMLProperties() メソッドによって戻される XML データの DTD

統合オブジェクト出力に XML スタイル・シートを適用しない場合、XML データは次の文書タイプ定義 (DTD) で戻されます。

<?xml version=¥"1.0¥" standalone=¥"yes¥"?><!DOCTYPE com.ibm.HostPublisher.IntegrationObject.properties [<!ELEMENT com.ibm.HostPublisher.IntegrationObject.properties

(inputProperties, outputProperties)><!ATTLIST com.ibm.HostPublisher.IntegrationObject.properties name CDATA ""><!ELEMENT inputProperties (inputProperty*)><!ELEMENT inputProperty (value)><!ATTLIST inputProperty name CDATA ""><!ELEMENT outputProperties (outputProperty*)><!ELEMENT outputProperty (value*)><!ATTLIST outputProperty name CDATA "" type (singlevalue|multivalue) ’multivalue’><!ELEMENT value (#PCDATA)>]>

第 6 章 統合オブジェクトを使用したプログラミング 69

Page 82: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

getHPubXMLProperties() メソッドを使用する XML データ以下に例として、サンプル・データと XML データの結果を示します。

表 4. サンプル XML データ

名前 電話番号

Mary Smith 765–4321

John Doe 123–4567

<com.ibm.HostPublisher.IntegrationObject.properties name=IntegrationObject.test1><inputProperties><inputProperty name=nameValue><value>%</value><inputProperty></inputProperties?<outputProperties><outputProperty name=tablename type=multivalue><value>Mary Smith</value><value>John Doe</value></outputProperty><outputProperty name=table1phonenumber type=multivalue><value>867-5309</value><value>123-4567</value></outputProperty><outputProperty name=databaseStatus type=singlevalue><value>Ok</value></outputProperty><outputProperty name=hPubErrorOccurred" type=singlevalue><value>0</value></outputProperty><outputProperty name=hPubErrorException" type=singlevalue><value></value></outputProperty><outputProperty name=hPubErrorMessage" type=singlevalue><value></value></outputProperty></outputProperties></com.ibm.HostPublisher.IntegrationObject.properties>

すべてのデータは複数の <value> タグで囲まれており、<outputProperty> タグは列(縦欄) の順序になっています。

getHPubXMLProperties (HPubConvertToTableFormat.xsl) メソッドによって戻される XML データの DTD

統合オブジェクト出力に XML HPubConvertToTableFormat スタイル・シートを適用する場合、XML データは次の文書タイプ定義 (DTD) で戻されます。

<?xml version=¥"1.0¥" standalone=¥"yes¥"?><!DOCTYPE com.ibm.HostPublisher.IntegrationObject.properties [<!ELEMENT com.ibm.HostPublisher.IntegrationObject.properties

(inputProperties, outputProperties)><!ATTLIST com.ibm.HostPublisher.IntegrationObject.properties name CDATA ""><!ELEMENT inputProperties (inputProperty*)><!ATTLIST inputProperty name CDATA ""><!ELEMENT outputProperties (outputProperty*,Table*)><!ATTLIST outputProperty name CDATA ""><!ELEMENT Table (DataRecord*)><!ATTLIST Table name CDATA ""><!ELEMENT DataRecord (outputProperty*)>]>

70 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 83: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

HPubConvertToTableFormat スタイル・シートを適用した XML データ70ページの表 4 に示すサンプル・データの結果の XML データは、次のようになります。

<com.ibm.HostPublisher.IntegrationObject.properties name=IntegrationObject.test1><!-- Input Properties --><inputProperties><inputProperty name=inputName>%<inputProperty></inputProperties?<outputProperties>

<!-- Table (multivalued) output property --><Table name=table1><DataRecord><outputProperty name=Name>Mary Smith</outputProperty><outputProperty name=phoneNumber>867-5309</outputProperty></DataRecord><DataRecord><outputProperty name=Name>John Doe</outputProperty><outputProperty name=phoneNumber>123-4567</outputProperty></DataRecord></Table>

<!-- Single Valued output Property --><outputProperty name=databaseStatus>Ok</outputProperty>

<!-- Standard Error output Properties --><outputProperty name=hPubErrorOccurred">0</outputProperty><outputProperty name=hPubErrorException"></outputProperty><outputProperty name=hPubErrorMessage"></outputProperty></outputProperties>

</com.ibm.HostPublisher.IntegrationObject.properties>

第 6 章 統合オブジェクトを使用したプログラミング 71

Page 84: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

72 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 85: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

第 7 章 Web サービスの開発

Web サービスとは、必要なものを完備した、オープン・スタンダードに基づくアプリケーションであり、Web を介して起動できます。Web サービスは、アプリケーションが容易かつ効果的に接続し対話する手段を提供します。これらのサービスは、社内で使用するアプリケーションのビルディング・ブロックとして、あるいは他社との対話の接点として使用できます。Web サービスのインターフェースは標準に従って定義されているので、非 Java ベース・アプリケーションとの対話が可能です。

HATS Web サービス・サポートを使用して、ホスト・アプリケーションに含まれるビジネス・ロジックおよびトランザクションに標準プログラミング・インターフェースを提供するサービス指向アーキテクチャー (SOA) 資産を作成できます。これらのコア・ビジネス・タスクは、お客様のビジネス・プロセスの統合計画に不可欠な要素である標準の Web サービスとして再利用できます。ご使用のコア・ビジネス・サービスをビルディング・ブロックとして使用して、新規の社内アプリケーションを開発するか、または社外のアプリケーションと統合します。次に、ご使用のホスト・ベースのビジネス・タスクは、IBM WebSphere Process Server、IBM

WebSphere Enterprise Service Bus などの IBM SOA Foundation 製品を使用して、お客様の SOA ソリューションに含めることができます。

HATS Toolkit と Rational SDP のツールを組み合わせて使用すれば、統合オブジェクトまたは EJB Access Beans から Web サービスを作成できます。HATS を使用すれば、Web サービス記述言語 (WSDL) ファイルによって定義される従来の Web

サービスに加え、Representational State Transfer (RESTful) Web サービスも作成できます。

注: Web 高速ログオンを使用するように構成された統合オブジェクトは、Web サービスには使用できません。

従来の Web サービスでは、情報の標準的な編成方法として、Simple Object Access

Protocol (SOAP)、Web Service Description Language (WSDL)、および Universal

Description, Discovery, and Integration (UDDI) を使用します。本書では、これらのプロトコルを参照しますが、プロトコルの詳細は説明しません。これらのプロトコルについては、Rational SDP の資料をオープンし (任意の Rational SDP パースペクティブから「ヘルプ」>「ヘルプ目次」をクリック)、「Web サービス」を検索してください。

RESTful Web サービスは、従来の WSDL スタイルの Web サービス実装の代替となる Web サービスであり、特定のニーズに対して、より適切な場合があります。RESTful Web サービスでは、SOAP の代わりに HTTP を使用し、必要とされる帯域幅が少なくなることが多く、携帯電話や PDA などのデバイスで有用です。さらに、HTTP キャッシュ・インフラストラクチャー (HTTP GET メソッドを使用) の使用により、キャッシュ可能なデータの場合のパフォーマンスを向上できます。

注: Web サービス・インターフェースの形式的な記述 (WSDL ファイル) を設定する必要がある場合は、従来の Web サービスのほうが引き続き適切である可能性があります。

© Copyright IBM Corp. 2003, 2015 73

Page 86: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

RESTful Web サービスは、ステートレス・アーキテクチャーを使用しており、機能呼び出しではなく、リソースであるとみなされます。整形式 URI を使用してリソースを識別し、HTTP メソッド・プロトコルを使用してアクティビティーの作成、検索、更新、および削除 (CRUD) を実行し、HTTP ヘッダー情報を使用してメッセージ・フォーマットを定義します。RESTful Web サービスについて詳しくは、Rational Business Developer の Knowledge Center (http://www.ibm.com/support/

knowledgecenter/SSMQ79) を参照して「Architectural styles in web services」を検索してください。

通常は、既に作成、テスト、および展開が完了した統合オブジェクトから、HATS

Web サービスを作成します。この章では、Web サービスに組み込む 1 つ以上の統合オブジェクトがテスト済みであることを前提とします。ただし、まったく最初から始めることもできます。その場合は、ホスト端末をオープンし、1 つ以上のマクロを記録して、そのマクロから統合オブジェクトを作成し、その統合オブジェクトをテストしてください。マクロから統合オブジェクトを作成する方法については、「HATS ユーザーと管理者のガイド」を参照してください。

従来の (WSDL ベースの) Web サービスの作成作成する Web サービスを Web Services Interoperability (WSI) 規格に準拠させるかどうかを決める必要があります。これによって、どの Web サービス・ランタイムを使用して Web サービスを作成するかが決まります。デフォルトの IBM

WebSphere ランタイムを受け入れた場合、作成される Web サービスは WSI 準拠となります。

IBM WebSphere ランタイムを使用して Web サービスを作成する場合は、特定の命名規則に従う必要があります。この種のオブジェクトや設定には以下のものがあります。

v メソッド名の先頭の文字は、小文字とする。

v クラス名の先頭の文字は、大文字とする。

v メソッド名またはクラス名の中に、下線とそれに続く文字がある場合、その文字は大文字とする。

v メソッド名またはクラス名の中に、数字とそれに続く文字がある場合、その文字は大文字とする。

マクロ作成でマクロ名やプロンプト名、抽出名を作成する際は、これらの命名上の制約に注意してください。命名上の制約の詳細については、Rational SDP の資料を参照してください。

統合オブジェクトからのボトムアップ Web サービスの作成このセクションでの説明は、お客様が統合オブジェクト内のすべてのプロパティーとメソッドと同様の入力と出力のプロパティーとメソッドを備えた Web サービスを作成したいと考えていることを想定しています。言い換えれば、作成する Web

サービスのシグニチャーを Web サービスに組み込まれた統合オブジェクトのシグニチャーと同様にしたいと考えていることが前提になります。このシナリオは、ボトムアップ Web サービスといいます。

74 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 87: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

Web サービスを作成するには、「HATS プロジェクト」ビューにおいて以下の手順を実行します。

1. 使用する統合オブジェクトが含まれるプロジェクトを展開し、続いてソース・フォルダー、IntegrationObject フォルダーを展開します。

2. プロジェクト内にある任意の統合オブジェクトを右クリックして、「Web サービス・サポート・ファイルの作成」を選択します。

3. 「Web サービス・サポート・ファイルの作成」ウィザードでは、Web サービスに組み込む統合オブジェクトのソースとして、任意のプロジェクトを選択できます。ここでクリックしたプロジェクトがデフォルトになります。HATS Web サービス・サポート・ファイルのクラス名を指定します。クラス名の先頭の文字は大文字にしてください。このクラスは、この Web サービスのラッパー・クラスと呼ばれます。このラッパー・クラスを使用すれば、1 つの Web サービスに組み込む統合オブジェクトまたは EJB Access Bean の論理グループを選択できます。例えば、チェーンのすべての統合オブジェクトをラッパー・クラスに組み込むように選択できます。統合オブジェクトのリストを表示して、組み込む対象を選択するには、「次へ」を選択します。

4. Web サービスに組み込むリソース (統合オブジェクトおよび EJB Access Bean)

を選択します。特定のリソースについて Web サービスが公開する入出力のプロパティーを変更するには、リソースを選択し、「プロパティー」をクリックします。

5. 「プロパティーの選択」ページで、Web サービスで公開する入出力のプロパティーを選択します。プロパティーの別名を「別名」フィールドに指定することもできます。「全選択」ボタン、「全選択解除」ボタン、および「デフォルトを選択」ボタンを使用して、プロパティーを選択してください。「OK」をクリックします。

注:

a. 単一統合オブジェクトおよび EJB Access Bean のデフォルトは、入力プロパティーについては全マクロ・プロンプト、出力プロパティーについては全マクロ抽出です。

b. チェーニングされた統合オブジェクトのデフォルトは、入力プロパティーについては、全マクロ・プロンプトと hPubLinkKey (必須)、出力プロパティーについては、全マクロ抽出と hPubLinkKey (必須) です。

c. チェーニングされた EJB Access Bean のデフォルトは、入力プロパティーについては、全マクロ・プロンプトと hPubLinkKey および hPubAccessHandle

(両者必須)、出力プロパティーについては、全マクロ抽出と hPubLinkKey および hPubAccessHandle (両者必須) です。

d. 統合オブジェクトの接続オーバーライドが Web サービスに公開されるよう指定するには、hPubConnectionOverrides プロパティーや hPubStartPoolName

プロパティーなど、デフォルトでは選択されない適切なプロパティーを選択する必要があります。詳しくは、 65ページの『接続オーバーライドの指定』を参照してください。

e. 他の統合オブジェクト・メソッドの使用について詳しくは、 59ページの『第6 章 統合オブジェクトを使用したプログラミング』を参照してください。

第 7 章 Web サービスの開発 75

Page 88: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

f. 双方向言語サポートを使用するときの考慮事項については、「HATS ユーザーと管理者のガイド」の『ボトムアップ Web サービスのサポート』を参照してください。

6. 「完了」をクリックします。HATS は Web サービスの作成に使用するクラスのセットを作成します。以下のクラスが、「HATS プロジェクト」ビューのSource¥webserviceclasses フォルダーに表示されます。

v 指定したラッパー・クラス。このラッパー・クラスには、ラッパー・クラスに組み込むように選択された各統合オブジェクトの io_nameProcessWS() メソッドがあります。Rational SDP ウィザードを使用して Web サービスを作成すると、ラッパー・クラス内のすべての io_nameProcessWS() メソッドを含む Web

サービスが作成されます。

v ラッパー・クラスに組み込まれた各統合オブジェクトの入力プロパティー・クラス (io_name_Input_Properties)。入力プロパティー・クラスは、統合オブジェクトに必要なすべての入力の設定に使用されます。

v ラッパー・クラスに組み込まれた各統合オブジェクトの出力プロパティー・クラス (io_name_Output_Properties)。すべての統合オブジェクトの出力プロパティーは、出力プロパティー・クラスから検索できます。

7. これで、IBM Rational SDP で提供されるツールを使用した Web サービスの作成の準備が整いました。このボトムアップ Web サービスの開発の章を参照しながら、使用可能な手順とオプションを理解してください。 Web サービスの作成を続ける前に、少なくとも Web サービスを展開する予定のサーバーは始動しておいてください。これらの説明では、Web サービスの作成、Web サービスのテスト、および Web サービス・クライアントの作成に別々の手順を使用することを想定しています。

8. webserviceclasses パッケージを展開します。作成したラッパー・クラスを右マウス・ボタンでクリックし、「Web サービス」>「Web サービスの作成」を選択します。「Web サービス・タイプ」は、デフォルトでは「ボトムアップ JavaBean Web サービス」になります。必ずこのデフォルトのままにしてください。ここで「完了」をクリックするか、または Rational SDP 資料で説明されている、お客様の要件に最適な他のオプションを選択することができます。オプション「WSDL ファイルをプロジェクトに生成する」を選択すると、Rational SDP

によって、Web サービスのインターフェースを記述した Web Services

Description Language (WSDL) ファイルが作成されます。この WSDL ファイルは、HATS プロジェクト表示の Web サービス・エクスプローラーを使用するWeb サービスをテストするために使用することができます。このオプションを選択しない場合、動的に生成された WSDL ファイルを使用して、Java EE パースペクティブのサービス・ビューの Web サービスをテストすることができます。すべての選択を完了したら、「完了」をクリックしてください。

9. クライアントを作成する前に Web サービスをテストするため、 77ページの『Web Services Explorer による Web サービスのテスト』に進んでください。

EJB Access Bean からの Web サービスの作成91ページの『第 8 章 HATS EJB アプリケーションの作成と使用』の説明に従って

HATS EJB プロジェクトを作成した場合は、その HATS EJB プロジェクト内の統合オブジェクトのサービスを使用する Web サービスを作成できます。Web サービスを作成するには、ご使用の HATS EJB プロジェクトと同じ Enterprise Archive

76 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 89: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

(EAR ファイル) 内に別の HATS プロジェクトが必要です。このプロジェクトを、ターゲット・プロジェクト と呼びます。この中で選択した EJB Access Bean からWeb サービスが作成されます。Web サービスを作成するには、以下の手順を実行します。

1. 「HATS EJB プロジェクト表示」で、統合オブジェクトの 1 つを右マウス・ボタンでクリックして、「HATS プロジェクトへの EJB Access Bean のエクスポート」を選択します。「EJB Access Bean のエクスポート」ウィンドウで、EJB

Access Bean をエクスポートする統合オブジェクトを選択します。選択可能なプロジェクトのドロップダウン・リストから、ターゲット・プロジェクトを選択します。「完了」をクリックします。

2. 「HATS プロジェクト」ビューで、ターゲット・プロジェクトを展開し、続いてソース・ディレクトリー、IntegrationObject ディレクトリーを展開します。このディレクトリーでは、io_name_Access という名前の項目が表示されます。ここでio_name は、作成された Access Bean の基となった統合オブジェクトの名前を表します。

3. これらの Access Bean のいずれかを右マウス・ボタンでクリックして、「HATSWeb サービス・サポート・ファイルの作成 (Create HATS Web ServicesSupport Files)」を選択します。

4. 74ページの『統合オブジェクトからのボトムアップ Web サービスの作成』の手順リストのステップ 3 (75ページ) 以降の手順を実行してください。

Web Services Explorer による Web サービスのテストクライアント・アプリケーションを作成する前に、Rational SDP で Web サービスをテストできます。

このプロセスを開始する前に、HATS ランタイムが開始されていることを確認してください。これを行うには、ご使用のサーバーを始動した後、「サーバー」ビューで該当の Web サービスが含まれている EAR ファイルを選択して右クリックし、「再始動」を選択します。

オプション「WSDL ファイルをプロジェクトに生成する」を選択した場合は、 74

ページの『統合オブジェクトからのボトムアップ Web サービスの作成』にあるリスト内のステップ 8 (76ページ) を参照してください。作成した WSDL ファイルはHATS プロジェクト内にあります。

v IBM WebSphere の JAX-RPC ランタイムまたは JAX-WS ランタイム用の Web

サービスを作成している場合は、Web Content/WEB-INF/Web Service Definitionsフォルダーにあります。

v Apache Axis ランタイム用の Web サービスを作成した場合は、WebContent/Web Service Definitions フォルダーにあります。

このフォルダーには wrapper.wsdl という名前のファイルがあります。ここでwrapper は、ラッパー・クラスに付けた名前を表します。このファイルを右マウス・ボタンでクリックして、「Web サービス」>「Web サービス・エクスプローラーでのテスト」を選択してください。

Web Services Explorer の右ペインに、Web サービスに組み込まれた各統合オブジェクトまたは EJB Access Bean の io_nameProcessWS() メソッドが表示されます。テストする統合オブジェクトのメソッド名をクリックします。この統合オブジェクト

第 7 章 Web サービスの開発 77

Page 90: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

について指定可能な入力プロパティーのリストが表示されます。このリストは、その統合オブジェクトの io_name_Input_Properties クラスに基づきます。マクロを記録したときに定義したプロンプトのプロパティーだけは、必ず設定してください。その他のプロパティーは、ブランクのままにすることができます。Web Services

Explorer の WSDL 表示を使用して Web サービス定義を検索し、テストする方法については、Rational SDP の資料を参照してください。

オプション「WSDL ファイルをプロジェクトに生成する」を選択しなかった場合は、 74ページの『統合オブジェクトからのボトムアップ Web サービスの作成』にあるリスト内のステップ 8 (76ページ) を参照してください。動的に生成されたWSDL ファイルを使用して、Java EE パースペクティブのサービス・ビューの Web

サービスをテストすることができます。

Web サービス・クライアントの作成次に、Web サービスを使用するクライアント・アプリケーションを作成します。以下のようにします。

1. プロジェクトを展開し、Web サービスを作成した際に選択した Web サービス・ランタイム用の適切なフォルダーを展開します。作成した WSDL ファイルは、以下の HATS プロジェクト内に配置されます。

v IBM WebSphere の JAX-RPC ランタイムまたは JAX-WS ランタイム用のWeb サービスを作成した場合は、Web Content/WEB-INF/ Web ServiceDefinitions フォルダーにあります。

v Apache Axis ランタイム用の Web サービスを作成した場合は、WebContent/Web Service Definitions フォルダーにあります。

このフォルダーには wrapper.wsdl という名前のファイルがあります。ここでwrapper は、ラッパー・クラスに付けた名前を表します。

2. このファイルを右クリックして、「Web サービス」>「クライアントを生成」を選択します。これにより、「Web サービス・クライアント・プロキシー (Web

Service Client Proxy)」ウィザードが開始します。このウィザードの先頭ページで、クライアント・プロジェクトを除くすべてのデフォルトを選択することができます。 Web サービスを含むプロジェクト以外のプロジェクトを選択してください。

注: 指定したクライアント・プロジェクトと Ear プロジェクトには、選択したサーバーと同じサーバー・ターゲットが必要です。

ここで「完了」をクリックすることもでき、ウィザードを続けることもできます。このウィザードのオプションの詳細については、Rational SDP の資料を参照してください。

3. 「Web サービスのテスト」を選択すると、ウィザードによって JSP のサンプル・ページが作成され、そのサンプルがサーバー上で実行されます。 JSP ページのサンプルの出力結果は Web ブラウザーに表示されます。サンプルを「メソッド」フレームで実行するには、io_nameProcessWS リンクをクリックし、特定の統合オブジェクトまたは EJB Access Bean をテストします。「入力」 フレームでは、 77ページの『Web Services Explorer による Web サービスのテスト』の説明のとおり、必須入力データを設定します。「結果 (Result)」 フレームに出力が表示されます。

78 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 91: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

こうしてクライアント・プロジェクトにサンプル・ページが作成されます。ナビゲーター・ビューでクライアント・プロジェクトを展開し、続いて「Web コンテンツ」および samplewrapperProxy を展開します。JSP ページのサンプルは、samplewrapperProxy フォルダーにあります。サーバーで TestClient.jsp ファイルを実行してサンプルを実行できます。Result.jsp をダブルクリックすると、JSP エディターでこのファイルがオープンします。コードを調べて、このサンプルのコードを、画面カスタマイズから実行できる HATS ビジネス・ロジック・クラスにコピーすることができます。これにより、Web サービスを起動し、この出力を変換またはその他の方法で使用することができます。

統合オブジェクトを含むトップダウン Web サービスの作成開発タスクでは、トップダウン Web サービスの作成を必要とする場合があります。この場合、Web サービスの指定されたシグニチャーが格納された WSDL が提供されます。このようなタスクでは、Web サービス・インプリメンテーションを作成します。このインプリメンテーションの一部には、既存の端末のアプリケーションとの対話を伴います。

WSDL 内の入力パラメーターに統合オブジェクト用の必須の入力プロパティーが含まれているか、またはこの入力パラメーターに基づいて、統合オブジェクトの必須の入力プロパティーを設定するコードを作成できる場合は、ご使用の Web サービス・インプリメンテーション内で直接統合オブジェクトを使用できます。

Rational SDP には、既存の WSDL からスケルトンの Java Bean を作成するためのツールが含まれています。また、このスケルトンの Java Bean から直接統合オブジェクトと対話することができます。詳しくは、 59ページの『第 6 章 統合オブジェクトを使用したプログラミング』を参照してください。 1 つの注意点は、Web サービス・ランタイム環境での統合オブジェクトの呼び出しには processRequest() メソッドを使用する必要があるということです。

1ページの『第 1 章 概要』を参照してください。

Web サービスの統合オブジェクトおよび EJB Access Bean を使用したプログラミング

統合オブジェクトと Web サービスのチェーニング作成したアプリケーションにチェーニングが必要な場合は、クライアント・コードで、チェーンの最初の統合オブジェクトから hPubLinkKey プロパティーを検索し、それをチェーン内の後続するすべての統合オブジェクトに設定する必要があります。

EJB Access Bean と Web サービスのチェーニング作成したアプリケーションにチェーニングが必要な場合は、クライアント・コードで、チェーンの最初の EJB Access Bean から hPubLinkKey プロパティーとhPubAccessHandle プロパティーを検索し、それらをチェーン内の後続するすべてのEJB Access Bean に設定する必要があります。

第 7 章 Web サービスの開発 79

Page 92: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

Web サービスのチェーニングに関する特別な考慮事項チェーニングされた統合オブジェクトを HATS Web サービス内で使用する場合は、ステートフルな Web サービスを作成していることになります。 HATS ランタイムは、同じ Web サービス内にあるチェーニングされた統合オブジェクトの呼び出しと呼び出しの間でデータを保管しません。しかし、HATS ランタイムでは、チェーン内の次の Web サービスの呼び出しを、その HATS ランタイムの同じインスタンスに戻るようにルーティングする必要があるため、チェーン内の次の IO は、同じ Telnet 接続を使用します。

JAX-RPC サポートを使用するステートフル HATS Web サービスをクラスターにデプロイする場合は、チェーン内のすべての統合オブジェクトが同じ Telnet 接続を使用できるよう、以下のいずれかを実行してください。

v EJB Access Bean から HATS Web サービスを作成します。 HATS EJB はステートフル・セッション EJB であるため、EJB クライアントは常に同じ HATS

EJB インスタンスと対話します。

v Web サービスの有効範囲がセッションになるように構成し (これは開発環境内で行うことも、展開後に行うこともできます)、Web サービス・クライアント・ランタイムで SESSION_MAINTAIN_PROPERTY を使用して複数の呼び出し間でセッションを維持することによって、HTTP セッションの親和性を確保します。ステートフルな Web サービスについて詳しくは、http://www-128.ibm.com/

developerworks/webservices/library/ws-tip-stateful.html を参照してください。SESSION_MAINTAIN_PROPERTY に関する問題を修正する WebSphere APAR

PK35259 が必要になる場合があることに注意してください。

JAX-WS サポートを使用するステートフル HATS Web サービスをクラスターに展開する場合は、チェーン内のすべての統合オブジェクトが同じ Telnet 接続を使用できるよう、以下のいずれかを実行してください。

v EJB Access Bean から HATS Web サービスを作成します。HATS EJB はステートフル・セッション EJB であるため、EJB クライアントは常に同じ HATS EJB

インスタンスと対話します。

v WebSphere Application Server Knowledge Center の説明 (http://

publib.boulder.ibm.com/infocenter/wasinfo/v8r0/index.jsp?topic=/

com.ibm.websphere.express.doc/info/exp/ae/twbs_enablesecconvcluster.html) に従って、HTTP セッション管理サポートを使用します。

Web サービスの更新「更新」ウィザードは、HATS 7.0.0.2 以上で作成された Web サービス・クラスの場合にのみ使用できます。それより前のバージョンを使用している場合は、手動で更新を行う必要があります。

HATS Web サービスのサポート・クラスを更新するには、以下のようにします。

1. 更新する既存の Web サービス・ラッパー・クラスを選択します。

2. Web サービス・クラスが事前選択された状態で「Web サービスの更新 (Update

Web service)」ウィザードが起動します。

80 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 93: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

3. Web サービスに組み込む統合オブジェクトまたは EJB Access Bean の選択を変更する必要がない場合は、「完了」を選択して Web サービスのサポート・クラスを再生成します。それ以外の場合は、「次へ」を選択してウィザードの次のページに進みます。

4. Web サービス・ラッパー・クラスに組み込むリソースのリスト (統合オブジェクトおよび EJB Access Bean) を変更します。特定のリソースについて Web サービスが公開する入出力のプロパティーを変更するには、リソースを選択し、「プロパティー」をクリックします。

5. 「プロパティーの選択」ページで、Web サービスで公開する入出力のプロパティーを選択します。プロパティーの別名を「別名」フィールドに指定することもできます。「全選択」ボタン、「全選択解除」ボタン、および「デフォルトを選択」ボタンを使用して、プロパティーを選択してください。「OK」をクリックします。

注:

a. 単一統合オブジェクトおよび EJB Access Bean のデフォルトは、入力プロパティーについては全マクロ・プロンプト、出力プロパティーについては全マクロ抽出です。

b. チェーニングされた統合オブジェクトのデフォルトは、入力プロパティーについては、全マクロ・プロンプトと hPubLinkKey (必須)、出力プロパティーについては、全マクロ抽出と hPubLinkKey (必須) です。

c. チェーニングされた EJB Access Bean のデフォルトは、入力プロパティーについては、全マクロ・プロンプトと hPubLinkKey および hPubAccessHandle

(両者必須)、出力プロパティーについては、全マクロ抽出と hPubLinkKey および hPubAccessHandle (両者必須) です。

d. 統合オブジェクトの接続オーバーライドが Web サービスに公開されるよう指定するには、hPubConnectionOverrides プロパティーや hPubStartPoolName

プロパティーなど、デフォルトでは選択されない適切なプロパティーを選択する必要があります。詳しくは、 65ページの『接続オーバーライドの指定』を参照してください。

e. 他の統合オブジェクト・メソッドの使用について詳しくは、 59ページの『第6 章 統合オブジェクトを使用したプログラミング』を参照してください。

f. 双方向言語サポートを使用するときの考慮事項については、「HATS ユーザーと管理者のガイド」の『ボトムアップ Web サービスのサポート』を参照してください。

6. 「完了」をクリックします。

HATS Web サービスのサポート・ファイルが再生成およびコンパイルされます。HATS Web サービスのサポート・ファイルを更新した後、Web サービスを更新するには、引き続き Rational SDP のウィザードを使用する必要があることに注意してください。

JAX-WS ランタイム用 Web サービスの考慮事項および制限事項JAX-WS ランタイム用の HATS Web サービスを作成する場合は、以下の点に留意してください。

v テスト・クライアントを生成すると、WSDL ファイルの絶対ロケーションがハードコーディングされた web_service_nameService.java ファイルが作成されます。別

第 7 章 Web サービスの開発 81

Page 94: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

のマシンにテスト・クライアントをデプロイするときは、このファイルを更新して、WSDL ファイルの正しいロケーションを含めてください。

v Web サービス用に生成することを選択した WSDL ファイルには、Web サービスの URL ロケーションが含まれます。この URL は、ローカル・ホストおよびポートを指します。別のサーバーに Web サービスをデプロイするときは、URL のこのローカル・ホストおよびポートを更新してください。

RESTful Web サービスの作成従来の Web サービスと同様に、RESTful Web サービスは、HATS 統合オブジェクトとその入出力プロパティーから作成されます。従来の Web サービスの場合は、Web サービス・リソースのロケーションおよび入出力のプロパティーを WSDL ファイルに定義します。一方、RESTful Web サービスの場合は、リソースを表現するURI、リソースに対して作動する HTTP メソッド、およびメッセージ・フォーマットを定義する HTTP ヘッダー情報を使用して Web サービス・リソースへのアクセスを定義します。

次の図には、RESTful Web サービスのための HATS サポートのアーキテクチャー構造が含まれています。

1. HATS RestServlet は、URI と HTTP メソッドを含む HTTP 要求をクライアントから受信します。

2. RestServlet では、この URI および HTTP メソッドに含まれる情報を統合オブジェクトの JAX-RS リソースにマップすることにより、要求を経路指定します。

3. JAX-RS リソースは、要求を受け取り、要求に含まれるパラメーターを読み取り、統合オブジェクトを初期化し、プロンプトを設定し (入力プロパティー)、統合オブジェクトを実行します。

4. JAX-RS リソースは、統合オブジェクトから抽出結果 (出力プロパティー)を受け取り、応答を生成し、それを RestServlet に返します。

5. RestServlet はクライアントに応答します。

注: HATS 統合オブジェクトを実行するには、クライアントが一度に 1 つの統合オブジェクトを呼び出す必要があります。チェーニングされた統合オブジェクト

1

5

2

4

3

JAX-RSresource_IO2

JAX-RSresource_IO3

JAX-RSresource_IO1

HATSRestServlet

クライアント&'

オブジェクト: IO2

&'オブジェクト: IO3

&'オブジェクト: Io1

図 20. HATS RESTful Web サービスのアーキテクチャー

82 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 95: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

の場合は、クライアントは、統合オブジェクトの 1 つを呼び出してからリンク・キーを渡して次の統合オブジェクトを呼び出す必要があります。または、リンク・キーを渡しながら統合オブジェクトを 1 つずつ呼び出すように、開発者がラッパーを変更する必要があります。

HATS には、統合オブジェクト用の JAX-RS リソースの作成と、HTTP 要求内のURI と HTTP メソッドを正しい JAX-RS リソースにマップできるようにするためのマッピングに使用できるツールが用意されています。

RESTful サービスの JAX-RS リソースの作成統合オブジェクト用の JAX-RS リソースを作成するには、「HATS プロジェクト」ビューで次のようにします。

1. 使用する統合オブジェクトが含まれるプロジェクトを展開し、続いて Sourceフォルダー、IntegrationObject フォルダーを展開します。

2. 統合オブジェクトを右マウス・ボタンでクリックし、 「RESTful サービス・ファイルの作成」を選択します。RESTful サービス・ファイルの作成ウィザードが開きます。

3. 「JAX-RS リソース・クラス名と統合オブジェクトの指定」ページの「名前」フィールドに、Source フォルダーに生成する JAX-RS リソース・クラスの名前を指定します。この名前は、汎用 Java クラスの名前構文に従っている必要があります。

4. オプションで、「警告なしでリソースを上書き」するかどうかを選択します。

5. 「次へ」をクリックします。

6. 「JAX-RS リソース・クラスの構成」ページの「URI 接尾部」フィールドに、JAX-RS リソースへのマッピングで使用する完全な URI を作成する接尾部を指定します。例えば、HATS RESTful サービスのインストール先のホストがwww.myHost.com で、HATS プロジェクト (アプリケーション) 名がmyApp、URI 接尾部が mySuffix の場合、JAX-RS リソースに対する結果のURI は http://www.myHost.com:9080/myApp/rest/mySuffix になります。

注: URI と HTTP メソッドの組み合わせは、定義するすべての JAX-RS リソースの間で、固有である必要があります。これが固有でない場合、JAX-RS

ランタイムは、消費コンテンツ・タイプと生成コンテンツ・タイプの組み合わせを使用し、優先順位アルゴリズムに基づいて、呼び出すリソース関数の 1 つのみを選択します ( 85ページの『RESTful サービスの JAX-RS

リソース・メソッドのカスタマイズ』を参照)。

7. 「追加」ボタンをクリックして、少なくとも 1 つのメソッドをリソース・クラスに追加します。JAX-RS RESTful サービス・メソッドの定義ウィザードが開きます。

8. 「HTTP メソッド」フィールドで、URI と組み合わせてこの JAX-RS リソース・メソッドへのマップに使用する HTTP メソッド(GET、POST、PUT、DELETE) をドロップダウン・リストから選択します。

9. このメソッドで統合オブジェクトを呼び出す場合は、「統合オブジェクトの使用 (Use Integration Object)」ボックスを選択します。統合オブジェクト処理コ

第 7 章 Web サービスの開発 83

Page 96: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

ードを含まない空のメソッドを生成する場合は、このボックスをクリアします。独自のカスタマイズ済みメソッドを作成する場合は、これを行ってください。

10. 「統合オブジェクトの使用 (Use Integration Object)」ボックスを選択した場合は、ドロップダウン・リストから、このメソッドで呼び出す統合オブジェクトを選択します。

11. 「次へ」をクリックします。

12. 「統合オブジェクトの使用 (Use Integration Object)」ボックスを選択した場合は、「統合オブジェクト・プロパティーの選択 (Choose Integration Object

properties)」ページが表示されます。 RESTful Web サービスのパラメーターとして公開する入出力のプロパティーを選択します。プロパティーの別名を「別名」フィールドに指定することもできます。「全選択」ボタン、「全選択解除」ボタン、および「デフォルトを選択」ボタンを使用して、プロパティーを選択してください。

注:

a. 単一統合オブジェクトおよび EJB Access Bean のデフォルトは、入力プロパティーについては全マクロ・プロンプト、出力プロパティーについては全マクロ抽出です。

b. チェーニングされた統合オブジェクトのデフォルトは、入力プロパティーについては、全マクロ・プロンプトと hPubLinkKey (必須)、出力プロパティーについては、全マクロ抽出と hPubLinkKey (必須) です。

c. チェーニングされた EJB Access Bean のデフォルトは、入力プロパティーについては、全マクロ・プロンプトと hPubLinkKey およびhPubAccessHandle (両者必須)、出力プロパティーについては、全マクロ抽出と hPubLinkKey および hPubAccessHandle (両者必須) です。

d. 統合オブジェクトの接続オーバーライドが Web サービスに公開されるよう指定するには、hPubConnectionOverrides プロパティーや hPubStartPoolName

プロパティーなど、デフォルトでは選択されない適切なプロパティーを選択する必要があります。詳しくは、 65ページの『接続オーバーライドの指定』を参照してください。

e. 他の統合オブジェクト・メソッドの使用について詳しくは、 59ページの『第 6 章 統合オブジェクトを使用したプログラミング』を参照してください。

13. 「次へ」をクリックします。

14. 「JAX-RS リソース・メソッドの構成」ページでは、選択した HTTP メソッドと統合オブジェクトを反映したデフォルトが設定されています。これらのメソッドの設定およびそのカスタマイズ方法について詳しくは、 85ページの『RESTful サービスの JAX-RS リソース・メソッドのカスタマイズ』を参照してください。双方向セッションを使用するときの考慮事項については、「HATS

ユーザーと管理者のガイド」の『RESTful Web サービスのサポート』を参照してください。

15. 「完了」をクリックします。

84 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 97: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

16. 「JAX-RS リソース・クラスの構成」ページの「メソッド」セクションに、追加したメソッドがリストされます。別のメソッドの追加には「追加」ボタンを、選択したメソッドの編集には「編集」ボタンを、選択したメソッドの削除には「除去」ボタンを使用します。

17. 「完了」をクリックすると、HATS が JAX-RS リソース・ファイルを作成し、プロジェクトの Source¥restfulserviceclasses フォルダーに格納します。

18. さらに、HATS は、RestServlet サーブレットが一致を走査できるようにサービスのリストに JAX-RS リソースを追加します。このリストは、「ナビゲーター」ビューで表示可能な WEB-INF/wink-resources.lst ファイルで保守されます。

注:

a. HATS では、プロジェクトに最初の JAX-RS リソースが作成されるときに、WEB-INF/wink-resources.lst ファイルを作成します。

b. HATS アプリケーションのデフォルト WAR クラス・ローダー・ポリシーが、HATS により、「アプリケーションの単一クラス・ローダー」に更新されます。

c. HATS では、JAX-RS ファセットのプロジェクトへの追加も行います。

d. 「RESTful サービス・ファイルの作成」ウィザードを使用せずに JAX-RS

リソース・ファイルを手動で作成した場合は、WEB-INF/wink-resources.lst ファイルを更新して、JAX-RS リソースを RestServlet サーブレットにマップする必要があります。

RESTful サービスの JAX-RS リソースの更新統合オブジェクト用の JAX-RS リソースを更新するには、「HATS プロジェクト」ビューで次のようにします。

1. 「Source」フォルダーを展開し、「restfulserviceclasses」フォルダーを展開します。

2. JAX-RS リソースを右クリックして、「RESTful サービス・ファイルの更新」を選択します。「RESTful サービス・ファイルの更新」ウィザードが開きます。

3. JAX-RS リソースに対する変更は、 83ページの『RESTful サービスの JAX-RS

リソースの作成』の説明に従って行うことができます。

RESTful サービスの JAX-RS リソース・メソッドのカスタマイズHATS RESTful サービスの JAX-RS リソース・メソッドをカスタマイズして、application/xml と application/json 以外のコンテンツ・タイプを処理したり、メソッド・パラメーターを定義したりする場合は、以下の手順を実行します。

1. 83ページの『RESTful サービスの JAX-RS リソースの作成』または『RESTful

サービスの JAX-RS リソースの更新』の手順に従ってください。

2. 「JAX-RS リソース・クラスの構成」ページで、新規メソッドを追加する場合は「追加」をクリックし、強調表示されているメソッドを編集する場合は「編集」をクリックします。

3. HTTP メソッド、統合オブジェクト、および統合オブジェクトのプロパティーを適宜設定します。

4. 「JAX-RS リソース・メソッドの構成」ページの「メソッド名」フィールドにJava メソッド名を指定します。

第 7 章 Web サービスの開発 85

Page 98: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

5. 「URI 接尾部」フィールドで、パスへの追加要素をすべて追加し、URI パラメーターに対するすべての定義を {name} のフォーマットで PathParam パラメーターとして追加します。

6. 「戻りタイプ」フィールドで、このメソッドが返す Java タイプを追加または変更します。デフォルトは restfulserviceclasses.JAX-RS resource class

name+ _resource method name+ _Output_Properties です。

7. 「消費」フィールドには、HTTP 要求本体の入力でサポートするコンテンツ・タイプ (Internet Media Type、つまり MIME タイプ) がリストされます。要求メッセージでサポートするコンテンツ・タイプを追加または変更してください。コンマで分離して複数のコンテンツ・タイプを指定できます。HATS は、application/xml および application/json をデフォルトとしてサポートしています。これは、HTTP メソッドが POST または PUT の場合に限り該当します。HTTP GET メソッドおよび DELETE メソッドには、HTTP 要求本体がなく、「消費」フィールドに対応しません。これらのメソッドの場合は、代わりに、コンテンツ・タイプに application/x-www-form-urlencoded を指定した URI パラメーターとして入力を提供する必要があります。詳しくは、 87ページの『コンテンツの処理』を参照してください。

8. 「生成」フィールドには、HTTP 応答本体の出力でサポートするコンテンツ・タイプがリストされます。応答メッセージでサポートするコンテンツ・タイプを追加または変更してください。コンマで分離して複数のコンテンツ・タイプを指定できます。HATS は、application/xml および application/json をデフォルトとしてサポートしています。詳しくは、 87ページの『コンテンツの処理』を参照してください。

9. 「メソッド・パラメーター」フィールドで、このメソッドがサポートする入力パラメーターを追加または変更します。「追加」ボタン、「編集」ボタン、および「除去」ボタンを使用して、このメソッドの入力パラメーターを作成、変更、および削除してください。

10. 入力パラメーターを作成または変更する場合は、「メソッド・パラメーター」ページで以下のフィールドに入力します。詳しくは、http://jcp.org/aboutJava/

communityprocess/final/jsr311/index.html の JAX-RS 仕様を参照してください。

パラメーター・タイプドロップダウンから、JAX-RS 指定に定義されている以下のいずれかのタイプを選択します。

v Entity - 要求のエンティティー本体から抽出されるアノテーションなしのパラメーターで、例えば、通常の Java オブジェクトです。

v CookieParam - パラメーター値は、HTTP Cookie から抽出されます。

v FormParam - パラメーター値は、HTML フォーム・パラメーターから抽出されます。

v HeaderParam - パラメーター値は、HTTP ヘッダーから抽出されます。

v MatrixParam - パラメーター値は、URI マトリックス・パラメーターから抽出されます。

v PathParam - パラメーター値は、要求の URI パスから抽出されます。

86 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 99: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

v QueryParam - パラメーター値は、URI 照会パラメーターから抽出されます。

v Context - パラメーター値は、Web アプリケーション・コンテキストから抽出されます。

パラメーター名パラメーターの名前。CookieParam、FormParam、HeaderParam、MatrixParam、PathParam、および QueryParam で使用されます。

デフォルト値パラメーターが見つからない場合のデフォルト値。CookieParam、FormParam、HeaderParam、 MatrixParam、PathParam、および QueryParam で使用されます。

タイプ 入力パラメーターの Java タイプ。

名前 入力パラメーター名。

注: 各 JAX-RS リソースは、メソッドを 1 つ以上含む必要があります。「統合オブジェクトの使用 (Use Integration Object)」オプションを選択している場合、このメソッドは、統合オブジェクトの入出力パラメーターをマップし、統合オブジェクトを呼び出す HATS RESTful ラッパーを含みます。HATS は、デフォルトでは、次のようにパラメーターを統合オブジェクトにマップします。

v HTTP PUT または POST の場合、入力パラメーターは単一エンティティー(Entity) としてマップされます。

v HTTP GET または DELETE の場合、入力パラメーターは照会パラメーター(QueryParam) としてマップされます。

v 出力戻りタイプは、常にエンティティー (Java オブジェクト) です。

このセクションで説明されているようにメソッド・パラメーターを変更すると、HATS では、統合オブジェクトのパラメーターをマップせず、変更されたJava メソッドのためのその他の処理を実行しません。この場合は、JAX-RS リソース・クラス・ファイルを編集し、これを独自で実装する必要があります。

コンテンツの処理統合オブジェクトの JAX-RS リソース・メソッドを作成する際、「消費」フィールドでは、JAX-RS メソッドで HTTP 要求本体の入力としてサポートされるコンテンツ・タイプ (Internet Media Type、つまり MIME タイプ) が指定されます。「生成」フィールドには、HTTP 応答本体で JAX-RS リソース・メソッドが出力としてサポートするコンテンツ・タイプがリストされます。

HTTP 要求または応答のコンテンツ・タイプは、Content-Type HTTP ヘッダー・フィールドに定義されます。HTTP 要求では、Accept HTTP 要求ヘッダー・フィールドも、応答で受け入れることができるコンテンツ・タイプの指定に使用できます。

詳しくは、下のリファレンスを参照してください。

v HTTP 仕様については、http://www.w3.org/Protocols/ を参照してください。

v JAX-RS 仕様については、http://jcp.org/aboutJava/communityprocess/final/jsr311/

index.html を参照してください。

v JSON フォーマット定義については、http://www.json.org/ を参照してください。

第 7 章 Web サービスの開発 87

Page 100: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

コンテンツ・タイプの例以下の例は、HTTP 要求および応答でのコンテンツの処理のまとめです。これらの例は、概念を示すことを目的としており、HTTP プロトコルの正確性は意図しておりません。

HTTP GET 要求と DELETE 要求では、標準のエンコードを使用して、URI にすべての入力パラメーターが指定されます。そのような要求には本体がありません。これらの要求のコンテンツ・タイプは、常に x-www-form-urlencoded です。これは、HTTP プロトコルの GET 要求と DELETE 要求で使用できるのは、このコンテンツ・タイプのみであるためです。クライアントでは、Accept ヘッダーを指定することにより、応答で受け入れることができるコンテンツ・タイプを示します。

次の GET 要求では、パラメーターは URI で照会ストリングとして渡されます。応答で受け入れることができるコンテンツ・タイプは、Accept ヘッダー・フィールドに application/xml と指定されています。

GET http://www.myHost.com:9080/myApp/rest/myCustomer?name=john%20doeAccept: application/xml

応答を促す要求の種類によらず、すべての HTTP 応答の本体に、応答のデータが含まれています。応答は、ヘッダー・フィールドから開始されます。応答のContent-Type ヘッダー・フィールドにより、下の本体に含まれているデータのタイプがクライアントに通知されます。HTTP では、応答でさまざまなコンテンツ・タイプが許可されていますが、HATS JAX-RS では application/xml およびapplication/json のみをサポートしています。ヘッダー・フィールドとブランク行 1

行の後で本体が開始されており、指定されているフォーマットのデータが含まれています。

下の GET 応答の Content-Type ヘッダー・フィールドでは、応答本体に含まれているデータのタイプを指定しています。

Content-Type: application/xml

<customer><firstname>John</firstname><lastname>Doe</lastname><accountnumber>111111</accountnumber></customer>

慣例により、POST 要求では、通常は、何らかのオブジェクトの作成を要求します。要求を実行するために必要なデータは要求本体に含めて送信されます。Content-Type は、要求データのフォーマットをサーバーに示します。 Accept ヘッダーは、ここでも、必要な応答フォーマットを指定します。

下の POST 要求では、コンテンツ・タイプは、Content-Type ヘッダー・フィールドに application/xml であると指定されており、コンテンツが要求本体に指定されています。 Accept ヘッダー・フィールドでは、応答で受け入れ可能なデータのフォーマットに application/json が指定されています。

POST http://www.myHost.com:9080/myApp/rest/myCustomerContent-Type: application/xmlAccept: application/json

<customer>

88 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 101: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

<firstname>Jane</firstname><lastname>Doe</lastname><accountnumber>222222</accountnumber></customer>

下の POST 応答では、応答のフォーマットは、要求で使用されているフォーマットと一致する必要がないことがわかります。

Content-Type: application/json

{"message":{"type": "resultCode","value": "Jane Doe account created successfully"

}}

HATS JAX-RS 出力フォーマットの規則では、Accept HTTP 要求ヘッダーに指定されているフォーマットを使用して応答しますが、次に示すように URI 照会パラメーター alt を使用してクライアントがフォーマットを指定している場合は例外です。

POST http://www.myHost.com:9080/myApp/rest/myCustomer?alt=application/xml

応答ヘッダーのカスタマイズRESTful サービスの応答ヘッダーをカスタマイズすることが必要になる場合もあります。例えば、Shift_JIS エンコードを使用する応答ヘッダーを扱うために、REST

リソース・クラス・ファイルを変更して、戻りタイプを javax.ws.rs.core.Response に変えたり、コンテンツ・タイプまたはカスタム・ヘッダーを変えたりする必要があります。例えば、FormParam を指定しながら、Shift_JIS を POST メソッドのデフォルトの文字セットとして使用する場合は、以下の手順を実行します。

1. WebSphere Application Server エンコードを Shift_JIS と指定します。これを行う方法については、http://publib.boulder.ibm.com/infocenter/wasinfo/v8r0/

index.jsp?topic=/com.ibm.websphere.base.doc/info/aes/ae/trun_svr_utf.html を参照してください。

2. REST リソース・クラス内のメソッドの戻りタイプを javax.ws.rs.core.Response

に変更します。例えば、以下のコードを変更します。@POST@Consumes({"application/x-www-form-urlencoded"})@Produces({"application/xml"})public xxx_Output_Properties invoke(@FormParam("id") String id, @FormParam("yyy") String yyy){

::

return outputToClient;}

以下のようにします。@POST@Consumes({"application/x-www-form-urlencoded"})@Produces({"application/xml"})public javax.ws.rs.core.Response invoke(@FormParam("id") String id, @FormParam("yyy") String yyy){

::

return javax.ws.rs.core.Response.ok(outputToClient, "application/xml;charset=Shift_JIS").build();}

HTTP 状況コード以下の HTTP 状況コードが HATS RESTful Web サービスから返されます。

200 成功。エラーなし。

第 7 章 Web サービスの開発 89

Page 102: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

400 一般エラー。例えば、要求本体のコンテンツが正しくありません。

404 URI 未検出。

405 メソッドが許可されません。例えば、サービスで HTTP POST および PUT

をサポートしているときに、URI で HTTP DELETE を要求しています。

406 サポートされない応答フォーマットが要求されました。サポートされる応答フォーマットは Accept ヘッダーで返されます。

415 サポートされない要求フォーマットです。要求に使用されたフォーマットが無効です。要求の Content-Type HTTP ヘッダー・フィールドに、サポートされない値が指定されている場合に、HTTP POST および PUT で使用されます。

500 内部サーバー・エラー。例えば、統合オブジェクト実行エラーです。WebApplicationException がスローされます。

HTTP 状況コードについて詳しくは、http://www.w3.org/Protocols/rfc2616/rfc2616-

sec10.html を参照してください。

JAX-RS RESTful サービスの考慮事項および制限事項JAX-RS RESTful Web サービスのための HATS サポートを使用する際の考慮事項および制限事項を以下にリストします。

v RESTful Web サービスに対する HATS ランタイム・サポートには、Feature Pack

for Web 2.0 for WebSphere Application Server バージョン 7.0 に組み込まれている JAX-RS サポートが必要です。 WebSphere Application Server V8.0 およびV8.5 には必要な JAX-RS サポートが含まれているため、追加のフィーチャー・パックは不要です。詳しくは、『System Requirements for Host Access

Transformation Services』(http://www.ibm.com/support/docview.wss?uid=swg27011794)

を参照してください。

v HATS JAX-RS RESTful サービスは、WebSphere Portal と非互換です。

v カスタマイズしたプロバイダーを作成するには、JAX-RS 仕様(http://jcp.org/aboutJava/communityprocess/final/jsr311/index.html を参照) に従う必要があり、Apache Wink 実装 (http://incubator.apache.org/wink/ を参照) を参照する必要があります。

90 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 103: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

第 8 章 HATS EJB アプリケーションの作成と使用

1 つ以上のホスト・アプリケーションを変換し、エンド・ユーザーに Web ページを表示する通常の HATS プロジェクトの代わりとして、HATS Enterprise JavaBeans

(EJB) プロジェクトを構築することができます。HATS EJB プロジェクトは、統合オブジェクトにカプセル化されたホストとの対話へのアクセスを提供します。統合オブジェクトは、別の HATS アプリケーション、ユーザー作成の Java プログラム、Web アプリケーション、または別の EJB などの EJB クライアントにホスト・データを提供するために必要です。HATS EJB プロジェクトは、ホスト・データのコレクションをその表示から分離することができます。いくつかの HATS プロジェクトから 1 つ以上の統合オブジェクトを呼び出せるようにするには、それらをHATS EJB プロジェクトに組み込んで、いくつかの別の HATS プロジェクトから呼び出します。HATS EJB プロジェクトの構成を完了すると、それを HATS EJB

アプリケーションとしてアセンブルできます。

注:

1. HATS EJB プロジェクト・サポートは HATS V9.5 では推奨されません。現時点では HATS EJB プロジェクトは引き続きサポートされますが、IBM では、今後の製品リリースでこの機能を削除する場合があります。以下の代替方法があります。

v Web サービスを使用して統合オブジェクトにアクセスする。詳しくは、 73ページの『第 7 章 Web サービスの開発』を参照してください。

v カスタム EJB Bean を作成して統合オブジェクトにアクセスする。詳しくは、 110ページの『EJB コンテナーでの統合オブジェクトの使用 (独自の EJB

から)』を参照してください。

2. ここでは、読者が EJB の基本概念に精通していることを前提としています。そうでない場合は、このサブジェクトに関する Rational SDP の資料、またはご使用のバージョンおよびエディションの WebSphere Application Server のWebSphere Knowledge Center を参照してください。

3. HATS EJB プロジェクトで Web 高速ログオンを使用するよう設定された統合オブジェクトを組み込むことはできません。

4. Host Publisher で EJB プロジェクトを開発した場合は、それらを HATS プロジェクトにインポートできます。Host Publisher プロジェクトの HATS へのインポートについては、「HATS ユーザーと管理者のガイド」を参照してください。

HATS EJB アプリケーションでは、エンド・ユーザーとの直接の対話やホスト画面の変換は実行できません。また、このアプリケーションには HATS プロジェクトに組み込まれている画面カスタマイズ、テンプレート、変換などのリソースは含まれません。HATS EJB アプリケーションには 1 つ以上の統合オブジェクトが含まれており、それらのサービスが呼び出し側プログラムで使用可能になります。

HATS EJB プロジェクトを作成すると、HATS Toolkit で新規ビューが開きます。このビューは、「HATS EJB プロジェクト表示」と呼ばれます。これは「HATS プロジェクト」ビューに似ていますが、含まれているのは HATS EJB プロジェクトだけです。このセクションで説明している EJB リソースを表示します。HATS EJB

© Copyright IBM Corp. 2003, 2015 91

Page 104: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

プロジェクトを処理するには、他の HATS プロジェクトで「HATS プロジェクト」ビューを使用するのと同じように「HATS EJB プロジェクト表示」を使用します。例えば、マクロを記録するには、「HATS EJB プロジェクト表示」でプロジェクト名をクリックし、「ホスト端末」アイコンをクリックしてプロジェクトのメイン接続のホスト端末を開きます。

HATS EJB アプリケーションは Enterprise Archive (EAR ファイル) であり、1 つ以上の統合オブジェクトで構成され、それらのサービスが EJB クライアントで使用可能にされます。通常は次の部分から成ります。

v HATS プロジェクト (Web モジュール)。これには、次のものが含まれます。

– 1 つ以上の EJB Access Bean。EJB Access Bean は、HATS EJB を検出し、EJB のインスタンスを作成し、さらに JSP によって設定された統合オブジェクトのプロパティーを含む統合オブジェクトのプロパティー・オブジェクトを入力データとして渡して EJB のメイン・ビジネス・メソッドを起動します。

– 統合オブジェクトをローカルで実行しているかのように EJB Access Bean と対話する 1 つ以上の JSP。

これらのリソースは、「HATS プロジェクト」ビューに表示されます。

v HATS EJB プロジェクト (EJB モジュール)。これは、次のものから構成されます。

– HATS EJB。HATS EJB は、ステートフル・セッション EJB としてインプリメントされます。

– 1 つ以上のヘルパー・オブジェクト。ヘルパー・オブジェクトは、入力パラメーターで起動され、実際の統合オブジェクト機能を実行させます。統合オブジェクトが完了すると、統合オブジェクトのプロパティー・オブジェクトの新規インスタンスが EJB Access Bean に戻されます。

– 1 つ以上の統合オブジェクト (.java ファイル)

– 1 つ以上の接続定義 (.hco ファイル)

– オプションで、1 つ以上の接続マクロおよび切断マクロ (.hma ファイル)

– 統合オブジェクトの作成に使用できる 1 つ以上のマクロ (.hma ファイル)

– アプリケーション・ファイル (application.hap)

– EJB サポート・ファイル (*.java ファイル)

これらのリソースは、「HATS EJB プロジェクト表示」に表示されます。

HATS EJB サポートは、HATS EJB を提供するだけでなく、統合オブジェクトごとに EJB Access Bean を生成します。この EJB Access Bean は統合オブジェクトと同じシグニチャーを持つので、EJB Access Bean を使用して統合オブジェクトを実行するためのアプリケーションと JSP を開発することができます。EJB Access

Bean のシグニチャーは統合オブジェクトと同じなので、元の統合オブジェクトを使用するのとまったく同じように、クライアント・サイドのコードで EJB Access

Bean を使用できます。したがって、クライアントは次のいずれかになります。

v EJB コンテナーで統合オブジェクトを実行する Web アプリケーション内で、1

つ以上の EJB Access Beans を使用する JSP またはサーブレット

v EJB コンテナーで統合オブジェクトを実行するために 1 つ以上の EJB Access

Beans を使用するカスタム EJB

v WebSphere Application Client 実行環境で動作するJava アプリケーション

92 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 105: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

図 21 に、HATS EJB アプリケーションと、そのサービスを使用するその他のアプリケーションとのリンクを示します。

HATS EJB プロジェクトの作成HATS EJB プロジェクトを作成するには、次の手順を実行します。

1. 最終的に EJB Access Bean を組み込む予定の HATS プロジェクトを起動します。これは、ターゲット HATS プロジェクトと呼ばれます。

2. 「ファイル」>「新規」>「プロジェクト」>「HATS」>「HATS EJB プロジェクト」をクリックします。HATS EJB プロジェクトは、必ず HATS ターゲット・プロジェクトと同じ EAR に置いてください。ウィザードでホスト接続を 1

つ定義します。

3. Host Publisher Studio で作成した統合オブジェクトを使用する場合は、それらをプロジェクトにインポートします。「ファイル」>「インポート」をクリックし、「Host Publisher IO」を選択して、ウィザードを完了します。接続の定義やこれらの統合オブジェクトのマクロの記録は必要ありません。

4. データの抽出元となるその他のホスト・マシンへの接続を定義します。接続の定義については、「HATS ユーザーと管理者のガイド」を参照してください。

5. ホスト接続のいずれかに接続マクロと切断マクロが必要な場合は、ホスト端末を使用してそれらのマクロを記録します。次に、接続エディターを使用して、影響を受ける接続をそれぞれ更新し、その接続で使用する接続マクロと切断マクロの名前を指定します。接続マクロと切断マクロの記録については、「HATS ユーザーと管理者のガイド」を参照してください。

ホスト・アプリケーション

#1

ホスト・アプリケーション

#2

EJBAccessBean #1

EJBAccessBean #2

JSP#1

JSP#2

HATSEJB

ヘルパー#1

ヘルパー#2

IO#1

IO#2

EJBコンテナーEJBコンテナー

HATS アプリケーションHATS アプリケーション

EJBAccessBean #1

EJBAccessBean #2

Java アプリケーションJava アプリケーション

図 21. HATS EJB プロジェクト

第 8 章 HATS EJB アプリケーションの作成と使用 93

Page 106: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

6. 統合オブジェクトをまだ作成していない場合は、「HATS EJB プロジェクト表示」からホスト・アプリケーションへ接続し、「HATS ユーザーと管理者のガイド」の指示に従って統合オブジェクトを作成します。

7. 必要な接続、マクロ、統合オブジェクトがすべて HATS EJB プロジェクトに含まれている場合は、EJB Access Beans をターゲット HATS プロジェクトにエクスポートできます。そのためには、「HATS EJB プロジェクト表示」で EJB プロジェクト内の任意の統合オブジェクトを右マウス・ボタンでクリックし、「HATS プロジェクトへの EJB Access Bean のエクスポート」を選択します。次に、ターゲット HATS プロジェクトと、EJB Access Beans を作成する統合オブジェクトを選択します。

8. これで、ターゲット HATS プロジェクト内に作成した EJB Access Beans を処理できるようになりました。EJB Access Beans は、ターゲット HATS プロジェクトのソース・フォルダー、IntegrationObject パッケージ、io-name_Access.java

というパターンの名前を持つファイル内にあります。EJB Access Bean を実行する HATS ビジネス・ロジックを作成することもできます。プロセスは、 5ページの『第 2 章 ビジネス・ロジックの追加』で説明されているビジネス・ロジックからの統合オブジェクトの実行と同じです。Rational SDP 機能を使用すると、JSP ページへの「Bean の挿入 (Insert Beans)」および「Bean から結果を挿入(Insert Results from Beans)」が可能になります。EJB Access Bean から直接HATS モデル 1 ページや Struts Web ページを生成することはできません。

9. 「HATS スタートアップ・ガイド」の説明に従って、Enterprise Archive (EAR ファイル) にプロジェクトをアセンブルします。WebSphere Application Server にそれを配置します。

自分で作成した Java コードで EJB Access Bean を使用することもできます。自分で作成したコードでの EJB Access Bean の使用については、 95ページの『EJB

Access Beans のプログラミング』を参照してください。

EJB Access Bean は、統合オブジェクト内に記録され作成されたマクロに基づいて作成されます。統合オブジェクトのシグニチャーを変更するような方法でマクロを変更して HATS EJB プロジェクトを再配置した場合は、一致する EJB Access

Bean を再エクスポートして、それらを使用するコードまたは JSP を変更する必要があります。

リポジトリーへの HATS EJB プロジェクトの保管CVS などのリポジトリーに HATS EJB プロジェクトを保管する場合、一部のディレクトリーは保管されません。これらのディレクトリーの内容は手動で格納する必要があります。プロジェクトを格納した後、次のディレクトリー内のすべてのファイルも格納する必要があります。HATS EJB プロジェクトがアーカイブ・ファイルとして保管される場合に、これらのファイルは含まれません。

v ejbModule¥com¥ibm¥ejs¥container

v ejbModule¥com¥ibm¥HostPublisher¥EJB

v ejbModule¥com¥ibm¥websphere¥csi

v ejbModule¥org¥omg¥stub¥javax¥ejb

94 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 107: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

EJB Access Beans の自動作成HATS プロジェクトでないプロジェクト内の EJB Access Beans をより簡単に使用するには、HATS プリファレンス・ページでの「統合オブジェクトの作成時にHATS EJB プロジェクトに EJB Access Bean を自動的に生成」プリファレンスを参照します。

このプリファレンスをクリックすると、統合オブジェクトの作成のたびに EJB

Access Bean が HATS EJB プロジェクト内に作成されます。「マクロ保存時に統合オブジェクトを自動的に生成」プリファレンスを選択した場合は、マクロの作成または変更時に統合オブジェクトと共に EJB Access Bean が作成されます。

これによって、HATS プロジェクトへのエクスポートなしに、他のプロジェクトへ直接 EJB Access Bean をコピーすることができます。他のプロジェクトに EJB 参照および EJB 環境変数を追加するには、引き続き、 97ページの『Java アプリケーション・クライアントでの EJB Access Bean の使用』にリストされているステップに従う必要があります。

プロジェクトのマイグレーション時には、EJB Access Beans は自動的に作成されません。

HATS プリファレンスの使用について詳しくは、「HATS ユーザーと管理者のガイド」を参照してください。

EJB Access Beans のプログラミングHATS Toolkit の HATS EJB プロジェクト内で統合オブジェクトを作成すると、EJB サポート・ファイルが生成されます。生成されるファイルの 1 つが EJB

Access Bean です。EJB Access Bean は、Access Bean がサポートする統合オブジェクトと同じシグニチャーを持つ Java Bean です。アプリケーションは EJB

Access Bean を使用して、HATS EJB アプリケーションに組み込まれている統合オブジェクトと対話します。

EJB Access Bean メソッドの使用HATS 統合オブジェクトには、統合オブジェクトを使用してプログラミングするときに使用できる Java メソッドが含まれています。これらのメソッドは、EJB Access

Beans でプログラミングを行う際にも使用できます。EJB Access Beans でプログラミングを行う場合は、 61ページの『統合オブジェクトのメソッド』に記載されているメソッドに加えて、次のメソッドも使用できます。

java.lang.Object getHPubAccessHandle()これは、統合オブジェクト・チェーンに対応する HATS EJB インスタンスのハンドルを戻します。

void setHPubAccessHandle(java.lang.Object value)これは、統合オブジェクト・チェーンに対応する HATS EJB インスタンスのハンドルを設定します。

EJB Access Bean のチェーニングチェーニングされた統合オブジェクトをサポートするため、HATS EJB はステートフル・セッション Bean としてインプリメントされています。HATS EJB インスタ

第 8 章 HATS EJB アプリケーションの作成と使用 95

Page 108: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

ンスのライフ・サイクルは、統合オブジェクト・チェーンの処理と一致します。統合オブジェクト・チェーンの EJB Access Beans が処理される場合、2 つの EJB

Access Bean プロパティーが使用されます。

hPubAccessHandleこれには、統合オブジェクト・チェーンに対応する HATS EJB インスタンスのハンドルが組み込まれます。

hPubLinkKeyこれには、統合オブジェクト・チェーンの接続を表すキーが組み込まれます。

Web コンテナーでの EJB Access Bean のチェーニング: Web モジュール内でEJB Access Beans が doHPTransaction メソッドによって使用される場合、EJB

Access Bean はクライアント・セッションに関連付けられた HttpSessionObject に、hPubAccessHandle プロパティーおよび hPubLinkKey プロパティーの値を保存します。統合オブジェクト・チェーンを処理する際、プロパティーは後続の EJB Access

Beans によって検索されます。

チェーン内の最初の統合オブジェクトの EJB Access Bean は、HATS EJB のインスタンスを作成します。そのインスタンスは、チェーン内の後続の統合オブジェクトの EJB Access Beans すべてに対して使用されます。チェーン内の最後の統合オブジェクトの EJB Access Bean が処理されると、その統合オブジェクト・チェーンに対応する HATS EJB インスタンスは削除されます。したがって、Web モジュール内で EJB Access Beans に対して doHPTransaction メソッドを使用した場合、チェーニングは EJB Access Beans 内で管理されます。

Web コンテナー外での EJB Access Bean のチェーニング: EJB Access Bean がWeb コンテナー外部で (例えば、Java プログラムから直接) 処理される場合、呼び出し側プログラムは hPubAccessHandle プロパティーと hPubLinkKey プロパティーの値を検索する必要があります。プロパティーは、チェーン内の最初の統合オブジェクトの EJB Access Bean が処理された後に検索されます。呼び出し側プログラムは、統合オブジェクト・チェーン内の後続の EJB Access Beans すべてに対して、それらが処理される前に 2 つのプロパティーを設定する必要があります。

Web コンテナー外で EJB Access Beans をチェーニングするには、次の手順を実行します。

1. コンストラクターを呼び出して、チェーン内の最初の EJB Access Bean のインスタンスを作成します。

2. EJB Access Bean インスタンスの setter メソッドを呼び出して、入力変数のプロパティーを設定します。setter メソッドの命名規則は次のとおりです。

EJBChain1.setXyz(String)

ここで、Xyz は入力変数の名前です。

3. EJB Access Bean を起動し、次のメソッドを使用して、マクロの実行などのタスクを実行します。

EJBChain1.processRequest()

4. 次のメソッドを呼び出して、エラーがないか検査します。

EJBChain1.getHPubErrorOccurred()

96 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 109: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

5. EJB Access Bean チェーンの接続を表すキーを抽出して保存します。

String myLinkkey = EJBChain1.getHPubLinkKey();

6. 統合オブジェクト・チェーンに対応する HATS EJB インスタンスのハンドルを抽出して保存します。

Object myHandle = EJBChain1.getHPubAccessHandle();

7. コンストラクターを呼び出して、チェーン内の次の EJB Access Bean のインスタンスを作成します。

8. このチェーニングされた接続のキーを設定します。

EJBChain2.setHPubLinkKey(myLinkkey);

9. このチェーニングされた接続のハンドルを設定します。

EJBChain2.setHPubAccessHandle(myHandle);

10. この EJB Access Bean インスタンスのメソッドを呼び出します。必要に応じて、入力変数のプロパティーを設定するメソッドを呼び出します。setter メソッドの命名規則は次のとおりです。

EJBChain2.setXyz(String)

ここで、Xyz は入力変数の名前です。

11. この EJB Access Bean を起動してタスク (マクロの実行やデータベースの照会など) を実行するには、次のメソッドを使用します。

EJBChain2.processRequest()

12. 次のメソッドを呼び出して、エラーがないか検査します。

EJBChain2.getHPubErrorOccurred()

チェーン内の後続の EJB Access Beans すべてに対して、ステップ 7 から 12 までを繰り返します。

Java アプリケーション・クライアントでの EJB Access Beanの使用

WebSphere では、Java アプリケーション・クライアントは次のモデルから構成されます。

v Java EE アプリケーション・クライアント。アプリケーション・クライアント・コード用のシステム・サービスにアクセスできるようにするコンテナーが備わっています。

v Java シン・アプリケーション・クライアント。エンタープライズ Bean と対話できるダウンロード可能な軽量 Java アプリケーション・ランタイムです。

これらのクライアント・モジュールについて詳しくは、WebSphere Knowledge

Center の資料を参照してください。

以下のセクションでは、 Java EE アプリケーション・クライアントの使用を選択したことを想定しています。Java シン・アプリケーション・クライアントを使用している場合、WebSphere Knowledge Center で、ご使用の WebSphere リリースに該当する指示を調べてください。

Java アプリケーション・クライアントで EJB Access Bean を使用するには、次の手順を実行します。

第 8 章 HATS EJB アプリケーションの作成と使用 97

Page 110: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

1. 1 つ以上のマクロ、統合オブジェクト、およびその他のリソースを含む HATS

EJB プロジェクトと、HATS EJB プロジェクトから EJB Access Bean をエクスポートした HATS プロジェクトを起動します。

2. ご使用のバージョンおよびエディションの WebSphere Application Server のKnowledge Center の説明に従って、Java EE アプリケーション・クライアントを作成します。これらの指示に従うには、メイン・クラスおよびデプロイメント記述子の生成を選択します。 この新規プロジェクトを、HATS EJB プロジェクトと同じ Enterprise Archive (EAR ファイル) に置きます。これらの jar ファイルを従属 jar として追加します。

v HATS EJB プロジェクトの EJB .jar ファイル

v hatscommon.jar

3. EJB Access Beanをアプリケーション・クライアント・プロジェクトに移動します。EJB Access Bean が保持されている IntegrationObject フォルダーを HATS

プロジェクトからアプリケーション・クライアント・プロジェクトのappClientModule ディレクトリーへコピーします。

4. ご使用のアプリケーション・クライアントに生成されたメイン・クラスでテスト・クライアントを作成するには、EJB Access Bean をインスタンス化するコードを実装し、それを実行します。

5. Java EE アプリケーション・クライアントを使用している場合は、クライアント・デプロイメント記述子に EJB 参照および環境変数を追加します。

a. META-INF¥application-client.xml を開きます。

b. アプリケーション・クライアント記述子エディターの「設計」タブで Client

以下を実行します。

1) 「追加」をクリックし、環境変数の追加を次のように選択します。

v 名前: EJB Access Bean 内の HPUBEJB2_REFERENCE ストリングの最後の部分の値をこのフィールドにコピーします。例えば、HPUBEJB2_REFERENCE1318657356 です。

v タイプ: java.lang.String

v 値: ejb/ejb_project_name。ここで、ejb_project_name は HATS EJB プロジェクトの名前です。

2) 「追加」をクリックし、EJB 参照の追加を次のように選択します。

v EJB 参照名: ejb ejb_project_name。ここで ejb_project_name は、HATS

EJB プロジェクトの名前です。

v EJB 参照タイプ: セッション

v ホーム: com.ibm.HostPublisher.EJB.HPubEJB2Home

v リモート: com.ibm.HostPublisher.EJB.HPubEJB2

v EJB リンク: ejb_project_name.jar# ejb_project_name。ここで、ejb_project_name は HATS EJB プロジェクトの名前です。

6. EAR ファイルをテスト・サーバーに公開します。

7. アプリケーション・クライアントをテストします。

a. Debug パースペクティブを開きます。

b. アプリケーション・サーバーを始動します。

98 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 111: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

c. 「デバッグ」ドロップダウン・リストをクリックして「デバッグ」を選択し、作成した Java EE アプリケーション・クライアントのテスト環境を定義および開始します。

1) 「WebSphere Application Client」をクリックします。

2) 「新規」をクリックします。

3) 「アプリケーション」タブへ移動して、フィールドに入力します。

v 「名前」フィールドに、アプリケーション・クライアントに固有のテスト構成の名前を入力します。

v WebSphere サーバー・タイプを選択します。

v アプリケーション・クライアントがある EAR を選択します。

v アプリケーション・クライアント・モジュールを選択します。

v アプリケーション・クライアントがサーバーに接続し、特定のサーバーかプロバイダー URL のいずれかを選択できるようにします。

v 「適用」をクリックします。

v 「デバッグ」をクリックしてテスト環境を始動します。コンソールにテスト・クライアントの出力が表示されます。

8. アプリケーション・クライアントをエクスポートします。「ナビゲーター」ビューで、アプリケーション・クライアント・プロジェクトの名前を右マウス・ボタンでクリックし、「エクスポート」を選択します。EAR ファイルとしてエクスポートします。

アプリケーション・クライアントの実行前のセクションの手順を完了したら、次の手順に従ってアプリケーション・クライアントを実行します。

1. EAR ファイルをアプリケーション・クライアントの bin ディレクトリーにコピーします。

2. コマンド・プロンプトを開いて、Run launchClient ejb_project_nameEAR と入力します。ここで、ejb_project_name は、アプリケーション・クライアントのbin ディレクトリーにコピーした EAR ファイルの名前です。これにより、アプリケーション・クライアントが実行されます。予期した出力が表示されない場合は、launchClient.bat を調べて、DEFAULTSERVERNAME がテスト・サーバーに設定されていて、SERVERPORTNUMBER がテスト・サーバーのブートストラップ・ポートに設定されていることを確認してください。デフォルトのブートストラップ・ポートは 2809 ですが、WebSphere の構成によって異なる場合があります。ブートストラップ・アドレスはブートストラップ・ホストとブートストラップ・ポートの組み合わせで、間にコロン (:) が入ります。 WebSphere

Application Server のブート・ストラップ・ポートを見つけるには、WebSphere

管理コンソールを開き「サーバー」>「アプリケーション・サーバー」>servername >「ポート」>「ブートストラップ・アドレス (BOOTSTRAPADDRESS)」で探します。

クラスター化環境での EJB アプリケーション・クライアントの実行クラスター化環境で EJB アプリケーション・クライアントを実行するには、2 つのオプションがあります。

第 8 章 HATS EJB アプリケーションの作成と使用 99

Page 112: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

v 特定のクラスター・メンバーでアプリケーション・クライアントを実行するには、 99ページの『アプリケーション・クライアントの実行』の手順に従いますが、DEFAULTSERVERNAME と SERVERPORTNUMBER は次のように変更してください。

– DEFAULTSERVERNAME に EJB を実行するクラスター・メンバーのホスト名を設定する。

– SERVERPORTNUMBER に EJB を実行するクラスター・メンバーのブートストラップ・ポートを設定する。ブートストラップ・アドレスはブートストラップ・ホストとブートストラップ・ポートの組み合わせで、間にコロン (:) が入ります。ブートストラップ・ポートは、WebSphere 管理コンソールを開き「サーバー」>「アプリケーション・サーバー」> cluster-member-name >「ポート」>「ブートストラップ・アドレス (BOOTSTRAP ADDRESS)」で探せば見つかります。

v クラスター内の使用可能なクラスター・メンバーでアプリケーション・クライアントを実行するには、環境をセットアップして適切な JNDI 命名構成とパラメーターを指定してください。環境の構成方法については、WebSphere Application

Server の Knowledge Center (http://www.ibm.com/support/knowledgecenter/SSAW57)

で『アプリケーション・クライアントの使用』を検索してください。

100 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 113: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

第 9 章 統合オブジェクト - 高度なトピック

この章では、統合オブジェクト Java コードのカスタマイズ、統合オブジェクト・テンプレート (その選択および変更を含む)、WebSphere Java EE アプリケーションでの統合オブジェクトの使用、および接続管理 API について説明します。

統合オブジェクト Java コードのカスタマイズ統合オブジェクトをマクロから作成する場合や、マクロの保存時に HATS によって統合オブジェクトが自動的に作成される場合、HATS は統合オブジェクト・テンプレート を使用して統合オブジェクトを作成します。これらのテンプレートには、各統合オブジェクトに組み込まれている Java コードが含まれています。

HATS を使用すると、 Java コード・レベルで、基礎となるサブシステムとの統合オブジェクトの対話方法を変更し、追加機能を実行することができます。

Java コード・テンプレートには、デフォルト・テンプレートとカスタマイズ可能テンプレートの 2 つのタイプがあります。テンプレートは、次のディレクトリーに保管されています。

<shared_install_directory>¥plugins¥com.ibm.hats_nnn¥predefined¥IOTemplates¥

ここで、shared_install_directory は、IBM Installation Manager を使用して HATS オファリングをインストールした共用リソース・ディレクトリーです。nnn は、HATS

のバージョンおよびビルド・レベルです。

デフォルト・テンプレートは、HPubTemplateHODBean.Default とHPubTemplateHODBeanInfo.Default です。カスタマイズ可能テンプレートは、HPubTemplateHODBean.Customize と HPubTemplateHODBeanInfo.Customize です。デフォルト・テンプレートには、HATS および Host On-Demand コードとは別個のJava コードが含まれています。HATS または Host On-Demand コードが機能拡張またはサービス用に変更されていれば、デフォルト・テンプレートを使用して作成した統合オブジェクトを再コンパイルおよび再配置する必要はありません。

デフォルト・テンプレートは、スーパークラスからメソッドを呼び出します。カスタマイズ可能テンプレートには、カスタマイズできるメソッドが含まれています。HPubTemplateHODBean.Customize テンプレートを変更して、統合オブジェクトに機能を追加できます。例えば、ホスト画面上のテキストだけでなく、カラーや強調表示などの特性も検索することができます。

カスタマイズ可能テンプレートには、HATS コード、Host On-Demand オブジェクト、イベント、およびその他の Java 構成体と対話する重要な Java コードが含まれています。これらのテンプレートを使用すると、統合オブジェクトを変更して追加機能を実行できます。カスタマイズ可能テンプレートを使用して作成された統合オブジェクトには、HATS および Host On-Demand コードと直接対話し、ほとんどのデータ処理を実装するコードが組み込まれます。HATS または Host On-Demand コ

© Copyright IBM Corp. 2003, 2015 101

Page 114: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

ードの何らかの変更が統合オブジェクト内のコードに影響を与える場合は、統合オブジェクトを再コンパイルおよび再配置する必要があります。

HATS が使用するテンプレートは、Host Publisher が使用するテンプレートとは異なります。Host Publisher で統合オブジェクト・テンプレートを変更した場合は、統合オブジェクト内で同じ機能を達成するため、HATS が提供するテンプレートに同じ変更を加えて統合オブジェクトを再作成する必要があります。変更したテンプレートで作成された Host Publisher 統合オブジェクトや、そのような統合オブジェクトを使用するアプリケーションをインポートまたはマイグレーションすると、カスタマイズされたテンプレートから Java Bean が作成されたことを示すメッセージが表示されます。

統合オブジェクト・テンプレートの選択統合オブジェクトが HATS または稼働環境と対話する方法を変更する必要がない場合は、デフォルト・テンプレートの HPubTemplateHODBean.Default およびHPubTemplateHODBeanInfo.Default を使用してください。前に別のテンプレートを選択していない限り、特にデフォルト・テンプレートを使用するためのアクションを実行する必要はありません。

統合オブジェクトで追加機能を実行する場合は、HPubTemplateHODBean.Customize

および HPubTemplateHODBeanInfo.Customize テンプレートのコピーを作成して、名前を変更します。新規テンプレート・ファイルを変更して、統合オブジェクトで実行する機能に対する Java コードを追加します。

カスタマイズ可能テンプレートまたは名前変更したテンプレートのコピーを使用する場合は、統合オブジェクトの作成時にどのテンプレートを使用するかを HATS に知らせる必要があります。HATS Toolkit で統合オブジェクト・テンプレートを選択するには、「ウィンドウ」>「設定」をクリックします。「HATS」を展開し、「統合オブジェクト」をクリックします。参照して、使用する統合オブジェクト・テンプレートを見付けます。

双方向プロジェクト用統合オブジェクト・テンプレートの選択双方向コード・ページを使用する HATS プロジェクト用の追加機能として、2 つのテンプレートが提供されています。次の 2 つのテンプレートです。

v HPubTemplateHODBeanBIDI.Default

v HPubTemplateHODBeanBIDI.Customize

双方向コード・ページを使用する HATS プロジェクトを作成する場合、統合オブジェクトを作成する際に、HPubTemplateHODBeanBIDI.Default がデフォルトで使用されます。統合オブジェクトをカスタマイズする場合は、HPubTemplateHODBeanBIDI.Customize を変更し、統合オブジェクト作成の際に使用する HATS プリファレンスのページでそれを選択してください。

これらのテンプレートで、統合オブジェクトのテキスト出力を再配列するかどうか指定することができます。また、データを論理モードで動作しているアプリケーションから取得し、ビジュアル・モードで動作しているアプリケーションによって表示することができます。従って、挿入と抽出のための双方向の再配列を個別に制御できます。次のプロパティーが使用可能です。

102 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 115: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

v PromptReordering - プロンプト・アクションから取得したデータを再配列するかどうかを指定

v ExtractReordering - 抽出アクションから取得したデータを再配列するかどうかを指定

v PromptRTLTextOrientation - 論理 RTL 形式 (promptReordering が true の場合)

と可視 RTL 形式 (promptReordering が false の場合) のどちらで HATS Web

サービスにデータを送信するかを判断します

v ExtractRTLTextOrientation - 論理 RTL 形式 (promptReordering が true の場合)

と可視 RTL 形式 (promptReordering が false の場合) のどちらで HATS Web

サービスからデータを受信するかを指定

v PreventRoundTrip: ExtractReordering が true に設定されている場合、LRM マーカーがデータに挿入されて往復問題を回避し、正確な再配列を行います。ただし、これらのマーカーが存在すると、データの整合性に影響を与える可能性があります。例えば、このようなマーカーを適切に処理しないシステムにデータを送信する必要がある場合などです。このプロパティーを false に設定すれば、このような問題は起きません。

これらのプロパティーを取得し設定するために、次のメソッドが用意されています。

public String getPromptReordering();public String getExtractReordering();public String getPreventRoundTrip();public void setPromptReordering(String value);public void setExtractReordering(String value);public void setPreventRoundTrip(String value);

v public void setPromptRTLTextOrientation(String v)

プロンプト・アクションから取得されたデータを RTL 方向で表示する (true)

か表示しない (false) かを設定する。ここで、パラメーター v は true またはfalse のいずれかです。

プロンプト・アクションからのデータに RTL 方向がある場合は、パラメーター v を true に設定する。

v public String getPromptRTLTextOrientation()

プロンプト・アクションから取得されたデータを RTL 方向で表示する (true)

か表示しない (false) かを返す。

v public void setExtractRTLTextOrientation(String v)

抽出アクションから取得されたデータを RTL 方向で表示する (true) か表示しない (false) かを設定する。ここで、パラメーター v は true または false。

抽出アクションからのデータに RTL 方向がある場合は、パラメーター v をtrue に設定する。

v public String getExtractRTLTextOrientation()

抽出アクションから取得されたデータを RTL 方向で表示する (true) か表示しない (false) かを返す

v public void setPreventRoundTrip(String v)

第 9 章 統合オブジェクト - 高度なトピック 103

Page 116: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

再配列を正しく行うため、抽出アクションから取得されたデータに LRM を含める (true) か含めない (false) かを設定する。ここで、パラメーター v はtrue または false。

これらのマーカーの使用を許可するようにパラメーター v を設定する。

v public String getPreventRoundTrip()

LRM の使用を許可する (true) か許可しない (false) かを返す。

ここで、value は true または false のどちらかになります。デフォルトでは、これらのプロパティーは false に設定されているため、統合オブジェクトは双方向でないテンプレートで作成されたオブジェクトのように動作します。しかし、これらのテンプレートで作成された統合オブジェクトを基にしたモデル 1 または JSF のWeb ページ (つまりボトムアップの Web サービスの場合) を、HATS Toolkit を使用して作成する場合、これらの値は Studio の GUI で選択したオプションに従ってtrue に設定されます。

Java コード・テンプレートの変更HPubTemplateHODBean.Customize および HPubTemplateHODBeanInfo.Customize テンプレートには、統合オブジェクトのコンパイル時に統合オブジェクトの Java Bean

コード (.java) ファイルに組み込まれる Java コードが含まれています。テンプレートには HATS 専用の構成体も含まれており、その前に % 記号が付けられています。これらの構成体により、HATS は、統合オブジェクトの作成時にユーザーが指定したデータから Java Bean を作成できます。テンプレート・ファイルを変更する際は、HATS 構成体を含むステートメントを削除しないよう注意してください。テンプレート・ファイルに変更を加える前に、HPubTemplateHODBean.Customize および HPubTemplateHODBeanInfo.Customize テンプレートのバックアップ・コピーを作成してください。

例えば、統合オブジェクトが処理する Host On-Demand Extract Events の名前および画面の x 座標と y 座標をトレースするとします。

注: x 画面座標と y 画面座標は、Web サービスまたは EJB 環境では使用できない内部変数にアクセスする必要があるため、それらの環境で x 画面座標と y 画面座標を抽出することはできません。

以下の手順を実行してください。

1. HPubTemplateHODBean.Customize ファイルをバックアップします。

2. HPubTemplateHODBean.Customize でマクロ・イベントを抽出するコードを変更し、pullVariableValueFromExtractData( haovWorkOnThis, data);... ステートメントの後に次の行を追加します。

// --- Trace X and Y screen coordinates example ---if (HPubTracingOn) {

String strg = "Extracting variable: " + stringExtractNameForThisEvent +" from screen location (" +haovWorkOnThis.intXScreenLocation + "," +haovWorkOnThis.intYScreenLocation + ")";

Ras.trace( this.getClass().getName(),"macroExtractEvent", strg);}

例えば、次のように設定されます。

104 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 117: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

...public void macroExtractEvent(MacroExtractEvent oMacroExtractEvent){ // a HOD macroExtractEvent was fired for this macro

..pullVariableValueFromExtractData( haovWorkOnThis, data);

// --- Trace X and Y screen coordinates example ---if (HPubTracingOn) {

String strg = "Extracting variable: " + stringExtractNameForThisEvent +" from screen location (" +haovWorkOnThis.intXScreenLocation + "," +haovWorkOnThis.intYScreenLocation + ")";

Ras.trace( this.getClass().getName(),"macroExtractEvent", strg);}...

3. 新規テンプレートを指す HATS プリファレンスを更新します。

4. 統合オブジェクトを通常と同じように作成します。既存の統合オブジェクトを変更して Host On-Demand Extract Events の名前および画面座標をトレースするには、マクロを右マウス・ボタンでクリックして「統合オブジェクトの作成」を選択し、統合オブジェクトを再作成します。テンプレートの変更の際に Java 構文エラーがあった場合は、タスク・リストにコンパイル・エラー・メッセージが表示されます。

5. HATS プロジェクトを再ビルドします。「HATS プロジェクト」ビューで、プロジェクトの名前を選択し、Rational SDP メニュー・バーから「プロジェクト」>「クリーン」を選択します。クリーンの対象にできるのは、すべてのワークスペース・プロジェクトか、選択したプロジェクトのみです。

6. 統合オブジェクトを起動する方法がすでにある場合は、このステップを省略してください。統合オブジェクトをテストするには、統合オブジェクトの名前を右マウス・ボタンでクリックし、「モデル 1 Web ページの作成」、「Struts Webページの作成」、または「JSF Web ページの作成 (Create JSF Web Pages)」のいずれかを選択します。これにより、必要な入力データを提供し、統合オブジェクトを起動するためのページが作成されます。

7. 変更した統合オブジェクトを「サーバーで実行」機能を使用してテストします。「HATS プロジェクト」ビューで、プロジェクトの名前を右マウス・ボタンでクリックし、「サーバーで実行」を選択します。

統合オブジェクト・テンプレート変更のサンプルHPubTemplateHODBean.Customize にコードを追加して作成されたサンプル統合オブジェクト・テンプレートが、本書の HTML バージョンに含まれています。このサンプルを表示するには、HATS Knowledge Center (http://www.ibm.com/support/

knowledgecenter/SSXKAY_9.5.0) で「Sample modified Integration Object

template」を検索してください。

この例では、カスタム画面認識基準の使用法を示します。この基準は、該当する画面の記述内のマクロに追加され、テンプレートで定義された DoReco() メソッドを呼び出します。DoReco() は、extendedxml という XML ストリング内にホスト画面のフィールドをすべて保存します。統合オブジェクトの実行後に JSP で値を抽出できるようにするため、getter メソッド getExtendedxml() が提供されています。テンプレートに加えられた変更には、// ADDED FOR XML TABLE というコメントが付けられます。

第 9 章 統合オブジェクト - 高度なトピック 105

Page 118: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

カスタム画面認識基準 (ディスクリプター) を使用すると、統合オブジェクトによって検出されたあらゆる画面のコンテンツを取り込むことができるので、注目に値します。ホスト画面が変更された場合や画面が認識された場合、統合オブジェクトには通知がされません。カスタム画面認識基準を挿入することにより、任意の画面を処理できます。

テンプレートに追加されたコードを呼び出すには、統合オブジェクトの構築に使用するマクロを変更する必要があります。情報の取り込み元となる画面を見付けて、次の行を最後のディスクリプターとして追加します。

<customreco id="HPubExtractFieldAttributes|" optional="false" invertmatch="false" />

このディスクリプターは、希望する画面でのみ使用されるように、その他のディスクリプターの後に追加してください。そうしないと、別の画面からデータが収集される場合があります。customreco ID は「HPubExtractFieldAttributes」ですが、マクロに追加される行では「HPubExtractFieldAttributes|」となっています。バー文字 (|) は、パラメーター間の分離文字として使用されていますが、パラメーターがない場合でも組み込む必要があります。

マクロが uselogic 属性を使用してディスクリプターを結合する場合は、新規ディスクリプターを組み込むために uselogic 値を更新する必要があります。そうしないと、新規ディスクリプターは無視されます。マクロに加える変更の例を次に示します。元の画面が次のような記述であるとします。

<screen name="Screen2.2" entryscreen="true" exitscreen="true" transient="false"><description uselogic="1 and 2" >

<oia status="NOTINHIBITED" optional="false" invertmatch="false" /><string value="Ready; T" row="1" col="1" erow="-1" ecol="-1"

casesense="true" optional="false" invertmatch="false" /></description>

この場合、新規ディスクリプターを追加し、uselogic を変更した画面記述は次のようになります。

<screen name="Screen2.2" entryscreen="true" exitscreen="true" transient="false"><description uselogic="1 and (2 and 3)" >

<oia status="NOTINHIBITED" optional="false" invertmatch="false" /><string value="Ready; T" row="1" col="1" erow="-1" ecol="-1"

casesense="true" optional="false" invertmatch="false" /><customreco id="HPubExtractFieldAttributes|" optional="false"

invertmatch="false" /></description>

DoReco() メソッドが呼び出されると、テンプレートは、それが「HPubExtractFieldAttributes|」カスタム・ディスクリプターを処理するために呼び出されているのかどうかを確認します。そうである場合は、画面から情報が取り込まれ、そうでない場合は、他のいずれかのディスクリプターを使用して画面認識を実行するために制御を親メソッドに渡します。統合オブジェクトの完了後、呼び出し側の JSP は getter メソッドを使用して XML ストリングを取得し、処理できます。

非テキスト平面からのデータの抽出統合オブジェクトのためのマクロにおける非テキスト平面からのデータの抽出は、Visual Macro Editor ではサポートされていません。ただし、統合オブジェクト・テンプレートを変更することにより、非テキスト平面からデータを抽出できます。

106 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 119: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

この例には、「Callback for HOD Custom screen recognition」を記述したセクションがあります。このメソッドを使用すると、データの他の平面を 1 回の入出力で抽出できます。例えば、カラー・データを取得するには、DoReco メソッドで次のコードを使用します。

char[] buff = new char[2];evt.GetPS().GetScreen(buff, 2, i, startCol, 1, ECLConstants.COLOR_PLANE);int val = buff[0];

WebSphere Java EE アプリケーションでの統合オブジェクトの使用ここでは、2 種類のアプリケーションで統合オブジェクトを使用する方法を説明します。

v カスタム・サーブレットや JSP などの Web コンテナー

v EJB コンテナー

Web コンテナーでの統合オブジェクトの使用 (カスタム・サーブレットまたは JSP)

この説明では、統合オブジェクトのメソッドに言及します。このメソッドについては、 61ページの『統合オブジェクトのメソッド』を参照してください。

統合オブジェクトを実行する独自の Web プロジェクトを作成できます。ここでは、HATS プロジェクトから別の Web プロジェクトへファイルを移動し、統合オブジェクトを実行するようにそれを設定する手順を示します。この手順を実行すると、1 つ以上の統合オブジェクトを個別にエクスポートして使用することができます。統合オブジェクトのチェーンを使用する場合は、以降の説明に従ってすべてのファイルをコピーし、統合オブジェクトが正しい順序で実行されるようにする必要があります。

HATS 保守は、個別の Web プロジェクトで配置される統合オブジェクトには適用されません。このように使用される統合オブジェクトに保守を適用する最良の方法は、HATS プロジェクト内の統合オブジェクトを更新してから、次の手順に従ってそれらを再エクスポートすることです。

1. Web プロジェクトが存在しない場合、作成します。これが統合オブジェクトをエクスポートする先のターゲット・プロジェクトになります。統合オブジェクトおよび BeanInfo ソース・ファイルを Web プロジェクトのソース・ディレクトリーにコピーします。IntegrationObject パッケージは保持してください。

2. Web Content/WEB-INF/profiles にある profiles ディレクトリーを新規プロジェクトの WEB-INF ディレクトリーにコピーします。ディレクトリー全体をコピーすることもでき、ディレクトリー構造を再作成して profiles ディレクトリーのconnections サブディレクトリーと macros サブディレクトリーだけをコピーし、統合オブジェクトが使用する接続とマクロだけを反映させることもできます。どちらの方法でも、次のファイルが必要です。

WEB-INF¥profiles¥application.hapWEB-INF¥profiles¥connections¥ioconn.hcoWEB-INF¥profiles¥macros¥iomacro.hma

3. application.hap ファイルを編集して不必要な情報を削除します。ファイルを右マウス・ボタンでクリックして「オープン先を指定」を選択し、テキスト・エディターを選択します。テキスト・エディターに変更を保存すると、非ワークベン

第 9 章 統合オブジェクト - 高度なトピック 107

Page 120: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

チ・エンコードでリソースを保存しようとしているというメッセージが表示される場合があります。これは、ファイルが必須の処理として UTF-8 でエンコードされているためです。「はい」をクリックして先へ進みます。必要に応じて、application.hap のバックアップ・コピーを作成してからそれを Web プロジェクトへコピーし、HATS エディターを使用して編集します。

application.hap に組み込む必要のある情報は、接続だけです。

<?xml version="1.0" encoding="UTF-8"?><application active="true" configured="true" description=""

template="Simple1.jsp"><connections default="ioconn">

<connection name="ioconn"/><connection name="io2conn"/></connections>

</application>

4. HATS EAR ファイル内のすべての jar ファイルを、Web プロジェクトのWEB-INF/lib ディレクトリーへコピーすることによって、Web プロジェクトのクラスパスに追加します。

注: また、HATS EAR ファイル内のすべての jar ファイルを独自の EAR ファイルにコピーすることもできます。ただし、このコピーを実行する前に、プロジェクトの Java ビルド・パスを明示的に更新してこれらのファイルを指示し、また Web プロジェクトの MANIFEST.MF を更新して CLASSPATH

上のそれらのファイルを含めるように各ファイルを指示する必要があります。

5. jar ファイルを追加したディレクトリーと同じディレクトリーにruntime.properties ファイルをコピーします。ログ・ディレクトリーの場所は、runtime.properties ファイルと同じディレクトリーになります。

注: プロジェクトをローカル・テスト環境でテストする場合は、runtime-debug.properties ファイルもコピーします。

6. サーブレットまたは JSP で HATS ランタイムを開始するには、3 つの関数呼び出しを追加します。

// Initialize and activate the HATS runtime RAS functions,// including tracing, logging, PII retrieval, locale.com.ibm.hats.util.Ras.initializeRas(getServletConfig());

// Create the license managercom.ibm.hats.util.LicenseManager.getInstance();

// Initialize Host Publisher / connection management runtimecom.ibm.hats.runtime.connmgr.Runtime.initRuntime(getServletConfig());

これらの手順の実行後は、統合オブジェクトを Web プロジェクト内で通常の Java

Bean として使用できます。

統合オブジェクトを起動するサーブレットを書き込むには、次の手順を実行します。

1. コンストラクターを呼び出して、統合オブジェクトのインスタンスを作成します。

2. 統合オブジェクトの setter メソッドを呼び出して、入力変数のプロパティーを設定します。setter メソッドの命名規則は次のとおりです。

void setXyz(String)

108 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 121: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

ここで、Xyz は入力変数の名前です。

統合オブジェクトの作成時に指定した接続プールとは別の接続プールを使用することもできます。別の接続プールを指定するには、次のメソッドを呼び出します。使用したい接続プールの名前を指定します。

void setHPubStartPoolName(String)

3. 統合オブジェクトを起動してタスク (マクロの実行など) を実行します。

void doHPTransaction(HttpServletRequest, HttpServletResponse)

4. エラーを調べます。統合オブジェクトにエラーがある場合、doHPTransaction(HttpServletRequest, HttpServletResponse) メソッドは例外 (タイプcom.ibm.HostPublisher.IntegrationObject.BeanException) をスローします。

統合オブジェクトが JSP によって呼び出されると、JSP プロセッサーは例外をキャッチし、page ディレクティブの errorPage="errorPageName" 属性で指定されたエラー・ページにブラウザーをリダイレクトします。HATS デフォルト・エラー・ページの DefaultErrorPage.jsp に例があるので、参照してください。

統合オブジェクトがカスタム・サーブレットによって呼び出される場合は、スローされた例外をコードがキャッチする必要があります。

try {integrationObject.doHPTransaction(request, response);} catch (Exception e) {// Handle the exception condition and recover}

5. 統合オブジェクトからの結果を要求します。

v 次のメソッドのいずれかを呼び出して、出力変数の値を検索します。

– 単純なテキスト

String getAbc()

ここで、Abc は出力変数の名前です。

– テーブル

- 結果の列全体を取得するには、次のメソッドを呼び出します。

String[] getAbc()

ここで、Abc は出力変数の名前です。

- 結果の列から単一値を取得するには、次のメソッドを呼び出します。

String getAbc(int) throws ArrayIndexOutOfBoundsException

ここで、Abc は出力変数の名前で、int は必要な値の索引です。この手順を配列で繰り返していくと、配列の終わりに達したときに、メソッドによって ArrayIndexOutOfBoundsException 例外がスローされます。

v 次のメソッドを呼び出すと、統合オブジェクトの作成に使用したアプリケーションに関係なく、出力データを XML 形式で取り出すことができます。

String getHPubXMLProperties()

これは、統合オブジェクトのプロパティーと値を XML 形式のストリングとして戻します。

第 9 章 統合オブジェクト - 高度なトピック 109

Page 122: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

必要に応じて値を取り出せるよう、すべての統合オブジェクトの入力変数に、各setter メソッドに対応する getter メソッドが含まれています。これらのメソッドのシグニチャーは次のようになります。

void getXyz(String)

ここで、Xyz は入力変数の名前です。

入力したデータから生成される入力変数名または出力変数名を確認するには、統合オブジェクトの BeanInfo java ファイル内で定義されたプロパティーを参照します。統合オブジェクトの BeanInfo .java ファイルは、IntegrationObject パッケージ内のプロジェクトのソース・フォルダーにあります。HATS Toolkit では、BeanInfo ファイルが表示されるのは「ナビゲーター」ビューだけです。

EJB コンテナーでの統合オブジェクトの使用 (独自の EJB から)この説明では、統合オブジェクトのメソッドに言及します。このメソッドについては、 61ページの『統合オブジェクトのメソッド』を参照してください。

統合オブジェクトを実行する独自の EJB プロジェクトを作成できます。ここでは、HATS プロジェクトから別の EJB プロジェクトへファイルを移動し、統合オブジェクトを実行するようにそれを設定する手順を示します。この手順を実行すると、1

つ以上の統合オブジェクトを個別にエクスポートして使用することができます。統合オブジェクトのチェーンを使用する場合は、以降の説明に従ってすべてのファイルをコピーし、統合オブジェクトが正しい順序で実行されるようにする必要があります。

注:

1. チェーニングされた統合オブジェクトを使用する場合は、ステートフル EJB プロジェクトを使用します。 EJB プロジェクトで HATS セッション鍵(hPubLinkKey) の管理を行う必要もあります。詳しくは、 67ページの『統合オブジェクトのチェーニング』を参照してください。

2. チェーニングされた統合オブジェクトを使用しない場合は、ステートレス EJB

プロジェクトを使用します。

3. WebSphere Application Server クラスターで実行する場合は、EJB コンテナーがセッションの親和性を処理します。

HATS 保守は、個別の EJB プロジェクトで配置される統合オブジェクトには適用されません。このように使用される統合オブジェクトに保守を適用する最良の方法は、HATS プロジェクト内の統合オブジェクトを更新してから、次の手順に従ってそれらを再エクスポートすることです。また、HATS ランタイム .jar ファイルをHATS EAR からプロジェクトへエクスポートする場合は、HATS 保守を適用する際にそれらを再エクスポートする必要があります。

1. カスタム EJB プロジェクトを作成します (「ファイル」>「新規」>「プロジェクト」>「EJB プロジェクト (EJB Project)」)。この例では、プロジェクトはMy_EJB として参照されています。application.hap ファイルを EJB プロジェクトの ejbModule フォルダーにコピーします。

2. EJB プロジェクトの ejbModule フォルダーで、connections という名前のフォルダーを作成します (「ファイル」>「新規」>「その他」を選択し、「シンプル

110 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 123: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

(Simple)」を展開し、「フォルダー」を選択します)。統合オブジェクトが使用する接続を定義する .hco ファイルをこのフォルダーにコピーします。

3. EJB プロジェクトの ejbModule フォルダーで、macros というフォルダーを作成します。接続で必要な接続マクロや切断マクロ、および統合オブジェクトが使用するマクロを定義する .hma ファイルをこのフォルダーにコピーします。

4. EJB プロジェクトの ejbModule フォルダーで、IntegrationObject というフォルダーを作成します。統合オブジェクト・ファイル (*.java および *BeanInfo.java)

をこのフォルダーにコピーします。この時点で、次のファイルがそろっているはずです。

ejbModule¥application.hapejbModule¥connections¥ioconn.hcoejbModule¥macros¥*.hmaejbModule¥IntegrationObject¥*.java

5. HATS EAR ファイルに含まれているすべての jar ファイルを、独自の EAR ファイルまたは EJB プロジェクトの ejbModule ディレクトリーへ移動することによって、EJB プロジェクトのクラスパスに追加します。

6. jar ファイルを追加したディレクトリーと同じディレクトリーにruntime.properties ファイルをコピーします。ログ・ディレクトリーの場所は、runtime.properties ファイルと同じディレクトリーになります。

注: プロジェクトをローカル・テスト環境でテストする場合は、runtime-debug.properties ファイルもコピーします。

7. EJB プロジェクトの ejbModule¥META-INF フォルダーで、MANIFEST.MF ファイルを編集し、すべての HATS ランタイム jar ファイルを依存関係リストに追加します。

8. これらの呼び出しをコードに追加して、HATS ランタイムを開始します。

// obj is the EJB object reference,// e.g., com.ibm.hats.util.Ras.initializeRas(this);com.ibm.hats.util.Ras.initializeRas(obj);com.ibm.hats.util.LicenseManager.getInstance();// appName is a String representing the EJB project// and obj is the EJB object reference// e.g. com.ibm.hats.runtime.Runtime.initRuntime(My_EJB, this);com.ibm.hats.runtime.connmgr.Runtime.initRuntime(appName, obj);

カスタム EJB から統合オブジェクトを使用するには、次の手順を実行します。

1. コンストラクターを呼び出して、統合オブジェクトのインスタンスを作成します。

2. setter メソッドを呼び出して、入力変数のプロパティーを設定します。setter メソッドの命名規則は次のとおりです。

void setXyz(String)

ここで、Xyz は入力変数の名前です。

3. プール名を、統合オブジェクトが使用する接続プールの名前に設定します。接続名は、EJB プロジェクトの名前で修飾する必要があります。例えば、次のように設定します。

void setHPubStartPoolName("My_EJB/main");

ここで、My_EJB は EJB プロジェクトの名前、main は統合オブジェクトの接続プールの名前です。

第 9 章 統合オブジェクト - 高度なトピック 111

Page 124: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

4. 次のメソッドを使用して統合オブジェクトを呼び出し、所定のタスク (例えば、マクロの実行) を実行します。

void processRequest() throws BeanException

統合オブジェクトにエラーがある場合、processRequest() メソッドは例外 (タイプcom.ibm.HostPublisher.IntegrationObject.BeanException) をスローします。

入力変数をリセットして、processRequest() メソッドを複数回、呼び出すことができます。エラー表示と結果の値は、呼び出しごとにリセットされます。

5. 次のメソッドを呼び出して、エラーがないか検査します。

int getHPubErrorOccurred()

結果がゼロ以外である場合は、エラーが発生しています。エラー例外が示されます。エラーの特定の例外を取得するには、次のメソッドを呼び出します。

Exception getHPubErrorException()

例外オブジェクトで getMessage() を呼び出すことによって、エラー・メッセージを検索します。メッセージは、「HATS メッセージ」に記載されています。最初の 7 文字は HATxxxx または HPSxxxx に設定されています。ここで、xxxx はメッセージ番号です。

6. 統合オブジェクトからの結果を要求します。

v 次のメソッドのいずれかを呼び出して、出力変数の値を検索します。

– 単純なテキスト

String getAbc()

ここで、Abc は出力変数の名前です。

– テーブル

- 結果の列全体を取得するには、次のメソッドを呼び出します。

String[] getAbc()

ここで、Abc は出力変数の名前です。

- 結果の列から単一値を取得するには、次のメソッドを呼び出します。

String getAbc(int) throws ArrayIndexOutOfBoundsException

ここで、Abc は出力変数の名前で、int は必要な値の索引です。この手順を配列で繰り返していくと、配列の終わりに達したときに、メソッドによって ArrayIndexOutOfBoundsException 例外がスローされます。

v 次のメソッドを呼び出すと、統合オブジェクトの作成に使用したアプリケーションに関係なく、出力データを XML 形式で取り出すことができます。

String getHPubXMLProperties()

これは、統合オブジェクトのプロパティーと値を XML 形式のストリングとして戻します。

必要に応じて値を取り出せるよう、すべての統合オブジェクトの入力変数に、各setter メソッドに対応する getter メソッドが含まれています。これらのメソッドのシグニチャーは次のようになります。

void getXyz(String)

112 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 125: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

ここで、Xyz は入力変数の名前です。

入力したデータから生成される入力変数名または出力変数名が不確実の場合は、統合オブジェクトの BeanInfo .java ソース・ファイル内で定義されたプロパティーを参照します。統合オブジェクトの BeanInfo .java ソース・ファイルは、IntegrationObject パッケージ内のプロジェクトのソース・フォルダーにあります。BeanInfo が表示されるのは「ナビゲーター」ビューだけです。

接続管理 APIHATS ランタイムに新規 API が追加されました。ユーザーはこの API を使用することで、変換接続 (「デフォルト接続」とも言います) に対する中間チェーン統合オブジェクトの実行に備えて、その変換接続をサーブレット・コンテキスト内で獲得することができます。この新規 API の目的は、HATS アプリケーションと HATS

以外の他の Web アプリケーションとの間のさらなる統合を提供することです。この API は、com.ibm.hats.runtime パッケージ内の RuntimeFunctions クラスに追加された acquireExistingTransformationConnection およびreleaseExistingTransformationConnection という新規の 2 つの静的メソッドから構成されます。

メソッドのシグニチャーは以下のとおりです。

v public static final String acquireExistingTransformationConnection

(HttpServletRequest request) throws

HostConnectionException, ApplicationUnavailableException

v public static final void releaseExistingTransformationConnection

(HttpServletRequest request)

acquireExistingTransformationConnectionacquireExistingTransformationConnection メソッドの目的は以下の 2 つです。

v 中間チェーン統合オブジェクトによるサーブレット・コンテキストから変換接続へのアクセスを可能にする

v アプリケーションをクライアント・コンテナーからチェックアウトして、初期要求の処理中にブラウザーからの後続の要求をブロックする。

つまり、ユーザーが変換接続が取得された後、それを解放する前に変換接続へのアクセスを試みた場合は、ブラウザーが「アプリケーションは使用中です。」というメッセージ・ページを表示します。このページは、考えられる原因がアプリケーションが準備完了になる前に Web ページを再ロードしていることを示しています。呼び出し元は、返されたラベルを使用して、統合オブジェクトのsetHPubStartChainName() メソッドを呼び出します。統合オブジェクトは、このラベルを使用して実行対象の接続を見つけます。ヌルのラベルが返された場合は、接続は統合オブジェクトにアクセスできません。 HostConnectionException がスローされた場合は、アプリケーション・インスタンスは存在しますが、変換接続が存在しません。 ApplicationUnavailableException がスローされた場合は、アプリケーション・インスタンスが存在しないか、または存在する場合は現在チェックアウトされています。エラーが発生した場合に、統合オブジェクトが変換接続を破棄することを回避するために、doHPTransaction() を呼び出す前に setHPubSaveConnOnError(true) メソッドを呼び出して統合オブジェクトを実行します。

第 9 章 統合オブジェクト - 高度なトピック 113

Page 126: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

releaseExistingTransformationConnectionreleaseExistingTransformationConnection メソッドの目的は、エントリー・サーブレットまたは他の統合オブジェクト・チェーンがアプリケーションを使用できるように、アプリケーションにチェックインすることです。呼び出し元は、統合オブジェクト・チェーン内のすべての統合オブジェクトが実行された後にreleaseExistingTransformationConnection を呼び出す必要があります。統合オブジェクトの実行中にエラーが発生した場合でも、変換接続を再度使用可能にするために、この releaseExistingTransformationConnection 呼び出しを使用する必要があります。この呼び出しは、統合オブジェクト・チェーンが変換接続へのアクセスをすでに必要としないことを意味しています。

114 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 127: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

第 10 章 Web 高速ログオンのプラグインの作成

HATS の Web 高速ログオン機能では、ネットワーク・セキュリティー信任状を受け入れ、これらを使用してホスト信任状を生成し、使用します。これによりユーザーは、ホスト・ログオン画面のナビゲート要件を意識する必要がなくなります。Web 高速ログオンでは、この処理を実行するために、次の 2 種類のプラグインを使用します。

v ネットワーク・セキュリティー・プラグイン は、ネットワーク・セキュリティー・アプリケーションからユーザーの信任状を検索します。

v 信任状マッパー・プラグイン は、ネットワーク・セキュリティー・プラグインから戻された信任状を使用してホスト・ユーザー ID を検索し、ホスト・アクセス信任状を獲得します。

HATS には、ネットワーク・セキュリティー・プラグインおよび信任状マッパー・プラグインがいくつか用意されています。HATS の提供するプラグインがユーザーの要求に合わない場合は、独自のプラグインを作成して、それを Web 高速ログオンに組み込むことができます。例えば、信任状が保管されるさまざまなタイプのデータベースにアクセスする必要がある場合は、独自のプラグインを作成できます。

Web 高速ログオンのカスタム・プラグインの作成Web 高速ログオンでは、ネットワーク・ユーザー ID およびホスト・アクセス信任状を提供する処理をプラグインに依存しています。Web 高速ログオンは次のセクションで説明する Java インターフェースを通じてこれらのプラグインと対話します。

Web 高速ログオン は、HATS Web プロジェクトでは、エンタープライズ・アーカイブ (.ear) ファイルのレベルで実装され、HATS ポートレット・プロジェクトでは、Web アーカイブ (.war) ファイルのレベルで実装されます。各エンタープライズ・アーカイブ・ファイルまたは Web アーカイブ・ファイルにプラグインを適宜入れる必要があります。独自のプラグインを作成するには、以下の手順を実行します。

1. Rational SDP で、プラグインを保持する Java プロジェクトを作成します。このJava プロジェクトのクラスパスには、HATS ファイルが次の順序で設定されていることを確認してください。

a. hatscommon.jar

b. hodwel.jar

これらのファイルは、HATS Toolkit の共通プラグイン (キャッシュ) ディレクトリー (common plug-ins directory/plugins/com.ibm.hats.core_x.x.x.yearxxxxxxxx/lib。ここで、x.x.x はバージョン・レベル、yearxxxxxxxx は HATS のビルド・レベル)

および HATS エンタープライズ・アーカイブ・ファイルのルート・ディレクトリーにあります。

2. この章で説明する API を使用して、プラグインをコード化します。

3. Java プロジェクトから Java Archive (.jar) ファイルを作成します。HATS Web

プロジェクトの場合は、この .jar ファイルを使用する各 .ear ファイルのファイ

© Copyright IBM Corp. 2003, 2015 115

|

|

Page 128: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

ル・システムに、.jar ファイルをエクスポートします。HATS ポートレット・プロジェクトの場合は、この .jar ファイルを使用する HATS ポートレット・プロジェクトの Web Content/WEB-INF/lib ディレクトリーに、.jar ファイルをエクスポートします。

4. Java Archive を Web-Content/META-INF に配置された MANIFEST.MF に追加します。

5. Web 高速ログオンを使用するように接続を構成し、カスタム・プラグインを使用するように Web 高速ログオンを構成します。Web 高速ログオンの計画および構成については、「HATS ユーザーと管理者のガイド」を参照してください。

Web 高速ログオンのプラグイン・インターフェースすべてのプラグインには、以下の Java インターフェースを実装する必要があります。

com.ibm.eNetwork.security.sso.cms.CMInterfaceCMInterface インターフェースには、以下のメソッドが含まれます。

public int Init(Properties p, String id)このメソッドは、プラグインの初期化に使用されます。プラグインの初期化に必要な構成パラメーターは、プロパティー・オブジェクト・パラメーターによって受け渡されます。構成パラメーターは HATS Toolkit で構成され、Web 高速ログオン構成ファイル hatswelcfg.xml に保管されます。id パラメーターは、HATS が生成するプラグインのシンボル名です。この値は、プラグインの複数インスタンスが実行中の場合に、プラグインのインスタンスを修飾するのに使用されます。ネットワーク・セキュリティー・プラグインは、作成されるこのプラグインはいつも 1 インスタンスのみであるので、必ずデフォルト値 "" (空ストリング) で初期化されます。このメソッドは、119ページの表 5 にリストされた SSOConstants 値のいずれかを戻します。

public void Destroy()このメソッドは、HATS のシャットダウン時に呼び出されます。

public CMResponse CMSGetUserCredentials(CMRequest req)HATS は、要求に応答するプラグインを選択したときに、このメソッドを呼び出します。プラグインがネットワーク・セキュリティー・タイプの場合は、そのプラグインがユーザーのネットワーク・ユーザー ID を戻すと予想されます。プラグインがホスト・ユーザー信任状タイプの場合は、このメソッドがユーザーのホスト信任状を戻す必要があります。このメソッドで使用する CMResponse オブジェクトおよび CMRequest オブジェクトについては、この後で説明します。

以下のメソッドは、プラグインの識別および選択に必要となります。

public String getName();このメソッドは、プラグインを識別するストリングを戻します。

public String getDescription();このメソッドは、プラグインの目的と機能についての情報を含むストリングを戻します。

116 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

|

|

|

|

Page 129: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

public String getAuthor();このメソッドは、プラグインを作成した会社または担当者を識別する場合に必要になります。

public String[] getParameters();このメソッドは、このプラグインの構成に使用されるパラメーター名を含むストリング配列を戻します。これらのトークンは、HATS Toolkit の Web

高速ログオン・エディターのパラメーター・セクションで指定される鍵です。パラメーターが Init() メソッドに渡されるときは、HATS によって生成されたプラグインのシンボル名 (id) が各パラメーター名の前に付加されます。構成でパラメーターを必要としない場合、このメソッドはヌルを戻します。

public Properties getParameterInfo(String strParm);パラメーター・トークンが指定されると、このメソッドは、指定されたパラメーターのプロパティーのリストを持つプロパティー・オブジェクトを戻します。使用可能なプロパティーは以下のとおりです。

v cmiDefaultValue。このプロパティーには、指定されたパラメーターのデフォルト値が含まれます。このプロパティーはオプションです。このプロパティーが指定されない場合、そのパラメーターにはデフォルト値はありません。

v cmiEncrypted。このプロパティーは、パラメーターを暗号化するかどうかを決定します。有効な値は、ストリング true および false です。このパラメーターを true に設定した場合は、Web 高速ログオンで提供される暗号化および暗号化解除メソッドを使用する必要があります。これらのメソッドについては、 120ページの『プラグイン・パラメーター・ストリングの暗号化および暗号化解除』を参照してください。

v cmiRequired。このプロパティーは、プラグインの初期化にパラメーターが必要かどうかを示します。有効な値は、ストリング true および falseです。

com.ibm.eNetwork.security.sso.CMRequestHATS は、要求情報をこのオブジェクトで渡すことにより、信任状を要求します。メンバーおよびメソッドは以下のとおりです。

メンバー:

v ID (ホスト ID またはネットワーク ID)

v ホスト・アプリケーション ID

v ホスト宛先アドレス

v 認証タイプ

v HTTP サーブレット要求オブジェクト

メソッド:

public CMRequest()

public CMRequest(String id, String applID, String hostAddr, int authType,HttpServletRequest httpRequest)

public String getID()

第 10 章 Web 高速ログオンのプラグインの作成 117

Page 130: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

public void setID(String id)

public String getHostApplID()

public void setHostApplID(String applID)

public String getHostDestination()

public void setHostDestination(String hostAddr)

public int getAuthType()authtype に使用可能な値は以下のとおりです。

public static final int SSO_AUTHTYPE_ALL = 0xFFFF;public static final int SSO_AUTHTYPE_3270HOST = 0x0001;public static final int SSO_AUTHTYPE_5250HOST = 0x0002;public static final int SSO_AUTHTYPE_VTHOST = 0x0004;

上記の値は、com.ibm.eNetwork.security.sso.SSOConstants クラスに定義されています。これらの値を使用する場合は、このクラスをインポートする必要があります。

public void setAuthType(int authType)authtype に使用可能な値は以下のとおりです。

public static final int SSO_AUTHTYPE_ALL = 0xFFFF;public static final int SSO_AUTHTYPE_3270HOST = 0x0001;public static final int SSO_AUTHTYPE_5250HOST = 0x0002;public static final int SSO_AUTHTYPE_VTHOST = 0x0004;

上記の値は、com.ibm.eNetwork.security.sso.SSOConstants クラスに定義されています。これらの値を使用する場合は、このクラスをインポートする必要があります。

public HttpServletRequest getHttpRequestObject()

public void setHttpRequestObject(HttpServletRequest httpRequest)

com.ibm.eNetwork.security.sso.CMResponseプラグインは、応答をこのオブジェクトに組み込んで、HATS に戻します。メンバーおよびメソッドは以下のとおりです。

メンバー:

v 状況コード

v ID (ホスト ID またはネットワーク ID)

v ユーザー信任状 (パスワードまたはパスチケット)

メソッド:

public CMResponse()

public CMResponse(Object id, Object password, int status)

public int getStatus()

public void setStatus(int status)

信任状マッパー・プラグインは、status エレメントを使用して、戻り値の状況を提供します。プラグイン照会がなんらかの理由で失敗すると、このフィールドはその失敗を Web 高速ログオンに報告します。失敗コードは、

118 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 131: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

com.ibm.eNetwork.security.sso.SSOConstants クラスに定義されています。表 5

に、状況コードの数値、定数ストリング、および定義を示します。

表 5. 状況コード定義

状況コード

定数値 説明

0 SSO_CMR_SUCCESS 成功

1 SSO_CMR_UNKNOWN_STATUS_CODE 不明な状況コード

2 SSO_CMR_CREDENTIAL_MAPPER

_NOT_FOUND

信任状マッパーが見つからない

3 SSO_CMR_INVALID_WEB_ID 無効な Web ID

4 SSO_CMR_INVALID_APPL_ID 無効なアプリケーション ID

5 SSO_CMR_INVALID_SERVER_ADDR 無効なサーバー・アドレス

6 SSO_CMR_DATABASE_CONNECTION_

ERROR

データベース接続エラー

7 SSO_CMR_USER_ID_NOT_FOUND_

IN_DB

データベースにユーザー ID が見つからない

8 SSO_CMR_EXCEPTION 例外

9 SSO_CMR_INVALID_USER_IDU 無効なユーザー ID

10 SSO_CMR_PASSTICKET_ERROR パスチケット・エラー

11 SSO_CMR_TIMEOUT タイムアウト

12 SSO_CMR_UNEXPECTED_DCAS_RC 予期しない DCAS 戻りコード

13 SSO_CMR_API_NOT_SUPPORTED API はサポートされない

14 SSO_CMR_BAD_URL 無効な URL

15 SSO_CMR_UNABLE_TO_PARSE_

RESPONSE

応答を構文解析できない

16 SSO_CMR_LOCAL_USERID_NOT_

AVAILABLE

ローカル・ユーザー ID は使用できない

17 SSO_CMR_DUPLICATE_XML_TAGS XML タグの重複

18 SSO_CMR_CLIENT_EXCEPTION 信任状要求の処理中に例外が発生

19 SSO_CMR_NO_NETWORK_SECURITY_

PLUGIN

ネットワーク・セキュリティー・プラグインがWeb 高速ログオンに定義されていない

public Object getID()

public String getIDasString()

public void setID(Object id)CMSGetUserCredentials() メソッドでこのメソッドを使用すれば、ネットワーク・セキュリティー・プラグインからネットワーク・ユーザー ID を戻すか、あるいは信任状マッパー・プラグインからホスト・ユーザー ID を戻すことができます。

public Object getPassword()

public String getPasswordasString()

public void setPassword(Object password)

第 10 章 Web 高速ログオンのプラグインの作成 119

Page 132: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

ネットワーク・セキュリティー・プラグインの作成HATS には、Tivoli® Access Manager と WebSphere Portal のそれぞれにネットワーク・セキュリティー・プラグインがあります。これらのプラグインを使用しない場合は、独自のプラグインを作成できます。

ネットワーク・セキュリティー・プラグインの機能は、ユーザーのネットワーク ID

を獲得することです。この ID は、着信 HTTP 要求オブジェクトにある HTTP ヘッダーから収集できます。ネットワーク ID の獲得方法は、使用するネットワーク・セキュリティー・アプリケーションによって異なります。詳細は、使用するネットワーク・セキュリティー・アプリケーションの資料を参照してください。

信任状マッパー・プラグインの作成HATS には、いくつかの信任状マッパー・プラグインがあります。これらを使用しない場合は、独自のプラグインを作成できます。

信任状マッパー・プラグインの機能は、ユーザーのネットワーク ID (および必要に応じてアプリケーション ID) を取得し、適切なホスト信任状を取得することです。Web 高速ログオンの実装では、この処理中に Java Database Connectivity (JDBC) によるアクセスが可能なデータベースを経由してユーザーのネットワーク ID をホスト ID にマップします。ただし、この処理を他の方法 (LDAP など) で行いたい場合があります。そのような理由により、独自の信任状マッパー・プラグインを作成したい場合があります。

DCAS/JDBC プラグインでは、HATS は z/OS® ログインを自動化します。この自動化のためにユーザーのネットワーク ID をホスト ID に関連付けて、アプリケーション ID とともにホスト ID を取得し、RACF 生成のパスチケットを z/OS のコンポーネントである Digital Certificate Access Server (DCAS) から取得する処理が行われます。このパスチケットは、ユーザーがホストにサインオンするときに使用されます。使用環境によっては、提供されるプラグインの JDBC 関連アスペクトを使用したくない場合があります。このため、HATS には DCAS API が用意されています。この API を使用すれば、RACF 生成のパスチケットにアクセスできます。

サンプル Web 高速ログオン・プラグインネットワーク・セキュリティー・プラグインまたは信任状マッパー・プラグインのいずれかをコード化する方法を示す、サンプル Web 高速ログオン・プラグインは、本書の HTML バージョンに含まれています。このサンプルを表示するには、HATS Knowledge Center (http://www.ibm.com/support/knowledgecenter/SSXKAY_9.5.0)

で「Sample Web Express Logon plug-in」を検索してください。

プラグイン・パラメーター・ストリングの暗号化および暗号化解除Web 高速ログオンには、プラグイン・パラメーター・ストリングを暗号化および暗号化解除する com.ibm.eNetwork.security.sso.PasswordCipher というオブジェクトがあります。このオブジェクトには、以下の 2 つのメソッドが含まれます。

public static String encrypt (String plainText)このメソッドは、パラメーターとして受け渡されたストリングを暗号化して戻します。

120 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 133: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

public static String decrypt (String cipherText)このメソッドは、ストリングを暗号化解除して戻すことにより、暗号化とは逆のプロセスを行います。cipherText が encrypt メソッドを使用して暗号化されたものでない場合は、元の入力ストリングを戻します。

DCAS API オブジェクトDigital Certificate Access Server (DCAS) API オブジェクト (DCASClient) は、パスチケット要求をカプセル化します。メンバーおよびメソッドは以下のとおりです。

メンバー:

v ポート番号

v 鍵ストアのファイル名

v 鍵ストアのパスワード

v WellKnownTrustedCAs 使用

v サーバー認証

v トレース・レベル

HATS V7.0 よりも前に、DCAS クライアントのオブジェクトを使用して独自のプラグインを作成している場合は、動作し続けるようにご使用のコードを変更する必要はありません。ただし、HATS V7.0 から新規 API が使用可能になるため、新規プラグインを開発する場合はこれらの API を使用してください。推奨の API は、以下で 推奨 の記号のフラグを立てています。

メソッド:

Public DCASClient()オブジェクト作成時にデフォルトのトレース・レベルとログ・ファイル名を使用する場合は、このコンストラクターを使用します。

Public DCASClient(int traceLevel, String logFile)オブジェクト作成時にトレース・レベルとログ・ファイル名を指定する場合は、このコンストラクターを使用します。

v traceLevel - トレース・レベル (0= なし、1= 最小、2= 通常、3= 最大)

v logFile - トレース・ログ・ファイル名。このパラメーターは HATS では使用しません。トレースは、HATS トレース・ファイルに記録されます。Web 高速ログオンのトレースは、ランタイム・トレース・フラグtrace.RUNTIME で制御します。

public int Init (String hostAddress, int hostPort, String trustStoreName,String trustStorePassword, String trustStoreType)

推奨

v hostAddress - DCAS サーバーの IP アドレス。

v hostPort - DCAS サーバーのポート番号。指定されない場合は、デフォルトのポート番号 8990 が使用されます。

v trustStoreName - JSSE によって DCAS の接続に使用されるトラストストアの名前。この名前には、絶対パス名を含めてください。この名前は、デフォルトのトラストストアまたは WellKnownTrustedCAs.p12 を使用している場合はヌルに設定されます。

第 10 章 Web 高速ログオンのプラグインの作成 121

Page 134: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

v trustStorePassword - 指定されたトラストストアのパスワード。このパスワードは、デフォルトのトラストストアまたは WellKnownTrustedCAs.p12

を使用している場合はヌルに設定されます。

v trustStoreType - 指定されたトラストストアのタイプ。有効な値は以下のとおりです。

– DCASClient.TRUSTSTORE_TYPE_PKCS12 (pkcs12)

– DCASClient.TRUSTSTORE_TYPE_JCEKS (jceks)

– DCASClient.TRUSTSTORE_TYPE_JKS (jks)

このトラストストアのタイプは、デフォルトのトラストストアまたはWellKnownTrustedCAs.p12 を使用している場合はヌルに設定されます。

このメソッドは、DCASClient オブジェクトの作成後に呼び出されます。これらのパラメーターはオブジェクトに保管され、オブジェクトが存続する間は変更されません。トラストストア名には、絶対パス名を含めてください。デフォルトのトラストストアまたは WellKnownTrustedCAs.p12 が使用されない場合は、トラストストアには DCAS クライアント証明書とDCAS サーバー証明書を含める必要があります。トラストストアのパスワードは、パスワードの暗号化ツールを使用して暗号化される必要があります。このパスワードは、オブジェクト内に格納される前に暗号化解除されます。有効な戻りコードについては、SSOConstants オブジェクト内で説明されています。成功時は 0、失敗時は 0 以外を返します。戻りコードについては、SSOConstants を参照してください。

Public int Init(String dcasAddr, int dcasPort, String keystoreFileName,String keystorePassword)

このメソッドは、DCASClient オブジェクトの作成後に呼び出されます。これらのパラメーターはオブジェクトに保管され、オブジェクトが存続する間は変更されません。keystoreFileName には、絶対パス名が入ります。鍵ストア・データベースには、DCAS クライアント証明書と DCAS サーバー証明書が格納されている必要があります。 WellKnownTrustedCAs.p12 またはデフォルトのトラストストアがこれらの証明書に使用されている場合は、keystoreFileName と keystorePassword をヌルに設定します。鍵ストアのパスワードは、パスワードの暗号化ツールを使用して暗号化される必要があります。このパスワードは、オブジェクト内に格納される前に暗号化解除されます。有効な戻りコードについては、SSOConstants オブジェクト内で説明されています。

p12 以外のタイプの鍵ストアが使用されている場合は、代わりにInit(hostAddress, hostPort, trustStoreName, trustStorePassword,

trustStoreType) メソッドを使用してください。

v dcasAddr - DCAS サーバーの IP アドレス

v dcasPort - DCAS ポート番号。指定されない場合は、デフォルトのポート番号 8990 が使用されます。

v keystoreFileName - SSL 鍵ストア・データベース・ファイルの名前。この名前には、絶対パス名が入ります。独自のプラグインを開発している間は、HATS アプリケーション展開時に使用される絶対パスがわかりませ

122 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 135: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

ん。以下に示すコード例は、実行時に提供されたファイル名パラメーターを、EAR ディレクトリーに対して相対的な完全修飾ファイル名に変換するために使用できます。

import com.ibm.eNetwork.security.sso.cms.CredMapper;import com.ibm.eNetwork.security.sso.cms.PluginResourceLocator;

if ( (p12FileName != null) &&(CredMapper.getPluginResourceLocator() != null))

p12FileName =CredMapper.getPluginResourceLocator().findResource(p12FileName);

v keystorePassword - 上記の鍵ストア・データベースのパスワード。

鍵ストア・パスワードは、PasswordCipher.encrypt() メソッドを使用して暗号化されている必要があります。暗号化されたパラメーターによってこのパスワードが提供されている (つまり、パラメーターがcmiEncrypted="true" と設定されている) 場合、パスワードは暗号の形式でプラグインに提供されます。暗号化されたパラメーターが提供されない場合は、以下のコードを使用すれば暗号化できます。

import com.ibm.eNetwork.HOD.common.PasswordCipher;keystorePW = PasswordCipher.encrypt(keystorePW);

有効な戻りコードを、 119ページの表 5 に示します。

public void setUseDefaultTrustStore(boolean def)

public void setNoFIPS(boolean nof)

Public void setWellKnownTrustedCAs(boolean wellKnownCAs)

Public void setServerAuthentication(boolean serverAuth)

Public CMResponse getPassticket(String hostUserID, String hostApplID,String hostAddr, long timeout)

このメソッドは、DCASClient オブジェクトの作成および初期化後に、DCAS サーバーからパスチケットを取得するために呼び出されます。パスチケットおよびユーザー ID は、CMResponse オブジェクトに戻されます。呼び出し元は、CMResponse オブジェクトの状況フィールドを検査して、呼び出しが正常に実行されたかどうかを確認する必要があります。呼び出しが正常に実行されると、状況フィールドには SSO_CMR_SUCCESS が設定されます。状況フィールドの有効な値を、 119ページの表 5 に示します。DCAS

との間で SSL クライアント認証接続が確立し、以降のすべてのパスチケット要求に再利用されます。

v hostUserID - パスチケットが要求されているユーザー ID。

v hostApplID - パスチケットが要求されているアプリケーション ID。

v hostAddr - DCAS アドレス。

v timeout - DCAS プロトコルがパスチケットを戻すまでの有効時間でミリ秒で指定。

Public void Destroy()このメソッドは、DCAS 接続をクローズします。

第 10 章 Web 高速ログオンのプラグインの作成 123

Page 136: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

124 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 137: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

第 11 章 HATS 双方向 API の使用

双方向 (アラビア語またはヘブライ語) のコード・ページを使用する HATS アプリケーションを作成し、ビジネス・ロジックの追加または独自のカスタム・コンポーネントやウィジェットの作成を実行する場合は、双方向 API を使用して、Web ページでのホスト・コンポーネントの認識とウィジェットの表示を処理することができます。この章では、この API について説明します。この章の資料を利用する前に、「HATS ユーザーと管理者のガイド」で説明されている双方向の概念をよく理解しておく必要があります。

データ変換 APIHostScreen クラスには、テキストをビジュアルから論理、もしくはその反対に変換するための API が 2 つ含まれています。データ抽出を処理するためにカスタム・ウィジェットおよびコンポーネントを作成する際に、これらの API を使用できます。

ConvertVisualToLogicalpublic java.lang.String ConvertVisualToLogical(java.lang.String

inputBuffer, boolean isleft-to-rightVisual,

boolean isleft-to-rightImplicit)

規定のストリングをビジュアルから暗黙的なフォーマットに変換し、ストリングの暗黙的なフォーマットを戻します。

inputBuffer入力ストリングは、ビジュアルのフォーマットです。

isleft-to-rightVisualtrue の場合、inputBuffer はビジュアルの左から右の形式です。

isleft-to-rightImplicittrue の場合、出力バッファーは暗黙的な左から右の形式です。

ConvertLogicalToVisualpublic java.lang.String ConvertLogicalToVisual(java.lang.String

inputBuffer, boolean isleft-to-rightImplicit,

boolean isleft-to-rightVisual)

規定のストリングを暗黙的なフォーマットからビジュアルに変換し、ストリングのビジュアル・フォーマットを戻します。

inputBuffer入力ストリングは、暗黙的なフォーマットです。

isleft-to-rightImplicittrue の場合、inputBuffer は暗黙的な左から右の形式です。

© Copyright IBM Corp. 2003, 2015 125

Page 138: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

isleft-to-rightVisualtrue の場合、出力バッファーはビジュアルの左から右の形式です。

グローバル変数 APIグローバル変数の値を取得するための getter メソッドが 2 つあります。これらのメソッドを使用して、暗黙的またはビジュアル・フォーマットでグローバル変数値を取得できます。これらの 2 つのメソッドは、com.ibm.hats.common.BaseInfo クラスにあります。

getGlobalVariablepublic IGlobalVariable getGlobalVariable(String name, boolean

createIfNotExist,boolean bidiImplicit)

名前付きのグローバル変数を取得します。まだ存在しない場合は、オプションで作成できます。

createIfNotExist存在しないグローバル変数を作成するかどうかを指定します。

bidiImplicittrue の場合は暗黙的なフォーマットで、false の場合はビジュアル・フォーマットでグローバル変数値を取得するかどうかを指定します。

getSharedGlobalVariablepublic IGlobalVariable getSharedGlobalVariable(String name, boolean

createIfNotExist,boolean bidiImplicit)

名前付きの共用グローバル変数を取得します。まだ存在しない場合は、オプションで作成できます。

createIfNotExist存在しないグローバル変数を作成するかどうかを指定します。

bidiImplicittrue の場合は暗黙的なフォーマットで、false の場合はビジュアル・フォーマットでグローバル変数値を取得するかどうかを指定します。

BIDI OrderBean双方向データを正しく表示するため、BIDI OrderBean のメソッドを使用できます。これには、次のパラメーターが含まれています。

BidiStringストリング。双方向テキストが含まれています。

FromTextVisualブール値。ソース双方向テキストがビジュアルかどうかを示します。デフォルトは true です。

FromOriLTRブール値。ソース双方向テキストの方向が LTR かどうかを示します。デフォルトは true です。

126 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 139: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

ToTextVisualブール値。ターゲット双方向テキストがビジュアルかどうかを示します。デフォルトは true です。

ToOriLTRブール値。ターゲット双方向テキストの方向が LTR かどうかを示します。デフォルトは true です。

NeedShapeブール値。双方向テキストがアラビア語テキストであるかどうかと、形状決定が必要かどうかを示します。デフォルトは false です。

CharSetストリング。JSP 用の文字のエンコードを定義します。

NumShapeストリング。数表示形状メソッドを定義します。デフォルトは Nominal です。

SymSwapブール値。対称スワッピングがオンかどうかを示します。デフォルトはfalse です。

BIDI OrderBean メソッドsetBidiString

public void setBidiString (String BdString)

双方向テキストが所定のストリングに再配列されるように設定します。必要なパラメーターは BdString のみで、再配列が必要な双方向ストリングです。

getBidiStringpublic String getBidiString ()

双方向テキストを取得します。再配列する必要がある双方向ストリングを戻します。

setFromTextVisualpublic void setFromTextVisual (boolean on)

ソース双方向テキスト・タイプをビジュアルとして設定します。必要なパラメーターは on のみです。true の場合は、ビジュアルとしてこのソース双方向テキストを定義します。false の場合は、暗黙としてこのソース双方向テキストを定義します。

setFromOriLTRpublic void setfromOriLTR (boolean on)

ソース双方向テキストの方向を LTR として設定します。必要なパラメーターは on のみです。true の場合は、LTR としてこのソース双方向テキストを定義します。false の場合は、RTL としてこのソース双方向テキストを定義します。

setToTextVisualpublic void setToTextVisual (boolean on)

第 11 章 HATS 双方向 API の使用 127

Page 140: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

ターゲット双方向テキスト・タイプをビジュアルとして設定します。必要なパラメーターは on のみです。true の場合は、ビジュアルとしてこのターゲット双方向テキストを定義します。false の場合は、暗黙としてこのターゲット双方向テキストを定義します。

setToOriLTRpublic void setToOriLTR (boolean on)

ターゲット双方向テキストの方向を LTR として設定します。必要なパラメーターは on のみです。true の場合は、LTR としてこのターゲット双方向テキストを定義します。false の場合は、RTL としてこのターゲット双方向テキストを定義します。

setEncodingpublic void setEncoding (String CharSet)

文字セットのエンコードを設定します。必要なパラメーターは CharSet のみで、文字エンコード名を示します。

setNeedShapepublic void setNeedShape (boolean on)

形状決定を実行する必要があることを設定します。必要なパラメーターはon のみです。true の場合は、双方向テキストで形状決定を実行する必要があることを示します。

Order public void Order ()

双方向テキストの配列を実行します。パラメーターはありません。

CompressLamAlefpublic String CompressLamAlef(String input,boolean direction)

Lam 文字とその後に続く Alef 文字が LamAlef 1 文字に置換されたストリングを戻します。パラメーターには以下のものがあります。

v Direction: true の場合は、入力テキストがビジュアル・フォーマットであることを示します。false の場合は、入力テキストが暗黙のフォーマットであることを示します。

v Input: 圧縮される LamAlef 文字を含む入力ストリング。

ExpandLamAlefpublic String ExpandLamAlef(String input,boolean direction)

Lam Alef 文字が Lam とその後に続く 1 つの Alef 文字に置換されたストリングを戻します。パラメーターには以下のものがあります。

v Direction: true の場合は、入力テキストがビジュアル・フォーマットであることを示します。false の場合は、入力テキストが暗黙のフォーマットであることを示します。

v Input: 展開される LamAlef 文字を含む入力ストリング。

setNumeralspublic void setNumerals(String NumShape)

出力バッファーの数表示形状を設定します。必要なパラメーターは以下のとおりです。

v NumShape: 次の 3 つの値のいずれか 1 つを持つストリングです。

128 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 141: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

– NOMINAL: 数表示はラテン語の形式です。

– CONTEXTUAL: 数表示は数に従います。

– NATIONAL: 数表示は各国の形式です。

v Input: 展開される LamAlef 文字を含む入力ストリング。

setSymSwappublic void setSymSwap (boolean on)

ビジュアル RTL の方向で対称スワッピング・オプションを設定します。必要なパラメーターは on のみです。true の場合は、対称スワッピングを使用した RTL 画面での文字のスワッピングが可能になります。false の場合は (デフォルト)、RTL 画面での文字のスワッピングに対称スワッピングは使用できません。

ShapeArabicDatapublic String ShapeArabicData(String strInBuffer,boolean

isLTRVisual, boolean EnableNumSwap)

アラビア語データが形状決定されたストリングを戻します。パラメーターには以下のものがあります。

v strInBuffer: 形状決定が必要な双方向ストリング。

v isLTRVisual: 展開される LamAlef 文字を含む入力ストリング。true の場合は、双方向ストリングが左から右へビジュアルになります。false の場合は、双方向ストリングが右から左へビジュアルになります。

v EnableNumSwap: true の場合は、数値スワッピングが使用可能になります。false の場合は、数値スワッピングが使用不可になります。

DeshapeArabicDatapublic String DeshapeArabicData (String strInBuffer,boolean

isLTRVisual,boolean EnableNumSwap)

アラビア語データが形状決定解除されたストリングを戻します。パラメーターには以下のものがあります。

v strInBuffer: 形状決定解除が必要な双方向ストリング。

v isLTRVisual: true の場合は、双方向ストリングが左から右へビジュアルになります。false の場合は、双方向ストリングが右から左へビジュアルになります。

v EnableNumSwap: true の場合は、数値スワッピングが使用可能になります。false の場合は、数値スワッピングが使用不可になります。

ConvertLogicalToVisualpublic java.lang.String ConvertLogicalToVisual(java.lang.String

inputBuffer, boolean isLTRimplicit,

boolean isLTRVisual)

規定のストリングを暗黙的なフォーマットからビジュアルに変換し、ストリングのビジュアル・フォーマットを戻します。パラメーターには以下のものがあります。

v InputBuffer: 入力ストリングは、暗黙的なフォーマットです。

v isLTRimplicit: true の場合、inputBuffer は暗黙的な左から右の形式です。

第 11 章 HATS 双方向 API の使用 129

Page 142: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

v isLTRVisual: true の場合、出力バッファーはビジュアルの左から右の形式です。

ConvertVisualToLogicalpublic java.lang.String ConvertVisualToLogical(java.lang.String

inputBuffer, boolean isLTRVisual,

boolean isLTRimplicit)

規定のストリングをビジュアルから暗黙的なフォーマットに変換し、ストリングの暗黙的なフォーマットを戻します。パラメーターには以下のものがあります。

v InputBuffer: 入力ストリングは、ビジュアルのフォーマットです。

v isLTRimplicit: true の場合、出力バッファーは暗黙的な左から右の形式です。

v isLTRVisual: true の場合、inputBuffer はビジュアルの左から右の形式です。

130 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 143: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

付録 A. HATS Toolkit のファイル

HATS Toolkit を使用してプロジェクトをビルドするときに、プロジェクトの各コンポーネント用のファイルが作成されます。この付録では、システム内での各ファイルの位置、ファイルのソースを表示および編集する方法、および各ファイルを形成するタグについて説明します。

注: これらのソース・ファイルを編集する場合は、HATS Toolkit エディターを使用します。

HATS Toolkit で作成するすべてのファイルは、ご使用のシステム上の、Rational

SDP プログラム (Rational Application Developer など) によって管理される 1 つ以上のワークスペースに格納されます。ワークスペース・ディレクトリーは選択可能であり、複数のワークスペース・ディレクトリーを持つことができます。ワークスペースの選択の詳細については、Rational SDP で提供されている情報を参照してください。

この付録に示すファイルの場所はすべて、ご使用のプロジェクトと同じ名前のディレクトリー (ご使用のワークスペース内に作成される) からの相対パスを表しています。

注: HATS EJB (Enterprise JavaBeans) プロジェクトに含まれるファイルは、 HATS

プロジェクトに含まれるフィルとは異なります。HATS EJB プロジェクトの内容の説明については、 91ページの『第 8 章 HATS EJB アプリケーションの作成と使用』を参照してください。

アプリケーション・ファイル (.hap)アプリケーション・ファイルには、プロジェクトを作成するときに選択した設定を定義する XML タグが含まれています。

アプリケーション・ファイル (.hap) は、project_name/Web Content/WEB-INF/profiles

ディレクトリーに格納されます。ここで、project_name は、プロジェクトを作成するときに付けた名前です。 HATS EJB プロジェクトのアプリケーション・ファイル(.hap) は、project_name/ejbModule ディレクトリーに格納されます。HATS プロジェクトのアプリケーション・ファイルのソースを表示したり編集したりするには、「HATS プロジェクト」ビューでプロジェクトを展開し、「プロジェクト設定」をダブルクリックしてプロジェクト・エディターを開きます。ソースを表示するには、「ソース」タブをクリックします。

アプリケーション・ファイルは、プロジェクト・エディターのタブをどれでも使用して変更できます。いずれかのタブで変更を行うと、HATS Toolkit はその他のタブ上で該当情報を更新します。

© Copyright IBM Corp. 2003, 2015 131

Page 144: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

<application> タグ<application> タグは、プロジェクトを囲むタグです。

<application> タグの属性には以下のものがあります。

active この属性は、HATS では使用しません。HATS 限定版との互換性のために含まれています。

configuredこの属性は、HATS では使用しません。HATS 限定版との互換性のために含まれています。

descriptionプロジェクトを作成するときに入力する説明を指定します。

templateプロジェクトの作成時にプロジェクト用として選択したテンプレートの名前を指定します。デフォルト・テンプレートは、Finance.jsp です。

<connections> タグ<connections> タグは、このプロジェクトの接続を定義するすべての connection タグのコンテナーです。

<connections> タグの属性には以下のものがあります。

default デフォルト接続の名前を指定します。デフォルトでは、デフォルト接続の名前は新規 HATS プロジェクト・ウィザードで指定した接続値を使用して作成される main の名前に設定されます。

<connection> タグ<connection> タグは、プロジェクトに対して定義されている接続を識別し、接続が定義されている接続ファイル (.hco) を指し示します。

<connection> タグの属性には以下のものがあります。

name 接続の作成時に入力した名前を指定します。

<eventPriority> タグ<eventPriority> タグは、プロジェクトについて定義した画面イベントを囲むタグです。<eventPriority> タグ内のイベント・タグの順序は、新規ホスト画面が検出されたときにチェックされる画面イベントにおける順序です。このタグには属性はありません。

<event> タグ<event> タグは、プロジェクトに定義した画面イベントを指定します。

<event> タグの属性には以下のものがあります。

enabled新規ホスト画面が検出されたときに画面イベントの画面認識基準をチェックするかどうかを指定します。有効な値は true および false です。デフォルト値は true です。

132 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 145: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

name 画面イベントを定義したときに付けた名前を指定します。画面イベント・ファイルをフォルダー (またはグループ) の下に格納する場合は、そのフォルダーの名前がファイル名の前に付加されます。

type これが画面組み合わせイベントであることを指定します。使用可能な属性はscreenCombination です。

<classSettings> タグ<classSettings> タグは、プロジェクトに含める Java クラスを囲むタグです。このタグには属性はありません。

<class> タグ<class> タグは、<setting> タグで囲まれた属性を持つクラスを指定します。

<class> タグの属性には以下のものがあります。

name 次のいずれかの Java クラスを指定します。

v com.ibm.hats.common.AppletSettings

v com.ibm.hats.common.ApplicationKeypadTag

v com.ibm.hats.common.ClientLocale

v com.ibm.hats.common.DBCSSettings

v com.ibm.hats.common.DefaultConnectionOverrides

v com.ibm.hats.common.DefaultGVOverrides

v com.ibm.hats.common.HostKeypadTag

v com.ibm.hats.common.KeyboardSupport

v com.ibm.hats.common.OIA

v com.ibm.hats.common.RuntimeSettings

v com.ibm.hats.transform

v com.ibm.hats.transform.components.name

v com.ibm.hats.transform.DefaultRendering

v com.ibm.hats.transform.widgets.dojo.name

v com.ibm.hats.transform.widgets.name

<setting> タグ<setting> タグは、<setting> タグを囲んでいるクラスに関連する設定を指定します。<setting> タグは、クラスごとの name と value のペアを含みます。以降のセクションでは、各クラスの name と value のペアについて説明します。

com.ibm.hats.common.AppletSettingscom.ibm.hats.common.AppletSettings クラスの場合、name は HATS アプリケーション自動切断/最新表示実装メソッド、クライアント・プル (Ajax)、およびサーバー・プッシュ (アプレット) のカスタマイズ可能な設定を指定します。以下の設定を使用して、自動切断機能および自動最新表示機能を含むクライアント・プル (Ajax) メソッドを構成できます。これらの設定は、HATS Web アプリケーション (JSR 286 ポートレットを含む) に対してサポートされています。

付録 A. HATS Toolkit のファイル 133

Page 146: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

browserDisconnectDelayenable の設定が ajax で、browserDisconnectEnabled の設定が true の場合に有効です。自動切断機能を実行するまでの待機時間 (ミリ秒単位) です。最小値は 2000 ミリ秒 (2 秒) です。デフォルトは 15000 ミリ秒 (15

秒) です。

browserDisconnectEnabledenable の設定が ajax で、この設定が true の場合は、自動切断機能が有効です。自動切断機能が有効な場合、HATS アプリケーションは、browserDisconnectDelay 設定に指定されている時間内にクライアントがHATS アプリケーションをポーリングしなかった場合に切断アクションを開始します。

browserPollIntervalenable の設定が ajax の場合に有効です。これはミリ秒単位の間隔です。ブラウザーはこの間隔で、HATS アプリケーションをポーリングし、browserDisconnectDelay タイマーを再開して (タイマーが有効な場合)、ホスト画面の更新がないかを検査します。最小値は 1000 ミリ秒 (1 秒) です。browserDisconnectEnabled が true の場合、ポーリング間隔値は、browserDisconnectDelay 設定の値より少なくとも 1000 ミリ秒 (1 ミリ秒)

小さい必要があります。デフォルトは 5000 ミリ秒 (5 秒) です。

注: HTTP セッション・アイドル・タイムアウトが構成されている場合は、HATS アプリケーションのブラウザー・ポーリングによって、HTTP セッション・アイドル・タイムアウト機能が事実上無効になります。このため、HATS ランタイムが HTTP セッション・アイドル・タイムアウト期間をモニターし、アイドル時間を超えるまでにユーザー・アクティビティーがなかった場合は HATS セッションの切断を開始します。

browserRefreshEnabledenable の設定が ajax で、この設定が true の場合は、自動最新表示機能が有効です。使用可能にした場合、ユーザー入力がなく、ポーリング応答でホスト画面の変更が通知されたときに、ブラウザーが画面の最新表示を開始します。

enable この設定を使用して、使用する自動切断方式および自動最新表示方式を構成します。クライアント・プル (Ajax) 方式、自動切断、および自動最新表示を構成するには、ajax を指定します。非同期アプレット更新方式とも呼ばれるサーバー・プッシュ (アプレット) 方式を構成するには、true を指定します。両方の方式を無効にするには、false を指定します。デフォルトはfalse です。

サーバー・プッシュ (アプレット) 方式の設定の説明については、「HATS ユーザーと管理者のガイド」の『サーバー・プッシュ (アプレット) メソッドの使用』セクションを参照してください。

注: サーバー・プッシュ (アプレット) 方式による切断の検出とホスト最新表示は非推奨です。代わりに、クライアント・プル (Ajax) メソッドの使用をお勧めします。アプレット方式は現在サポートされていますが、IBM は、製品の将来のリリースでこの機能を削除する権利を持っています。

134 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 147: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

com.ibm.hats.common.ApplicationKeypadTagcom.ibm.hats.common.ApplicationKeypadTag クラスの場合、name は以下のカスタマイズ可能な設定を指定します。

show true の場合、アプリケーションの中でキーパッドを表示します。

showDefaulttrue の場合、表示をデフォルトの変換に変更するためのキーをアプリケーション・キーパッドに表示します。

showDisconnecttrue の場合、ホストから切断するためのキーをキーパッドに表示します。

showKeyboardToggletrue の場合、アプリケーション・キーパッドの中に、ホスト・キーボードの表示を切り替えるためのキーを表示します。

showPrintJobstrue の場合、アプリケーション・キーパッドの中に、印刷ジョブを示すキーを表示します。

showRefreshtrue の場合、ブラウザー・ウィンドウの内容をオリジナルの変換を使用して最新表示し、入力フィールドを元の値に復元するキーを、キーパッドに表示します。

showResettrue の場合、ブラウザー・ページ上のすべてのフィールドからエンド・ユーザーが行った入力をクリアするキーを、アプリケーション・キーパッドに表示します。

showReversetrue の場合、双方向サポート用のキーをアプリケーション・キーパッドに表示します。

style 値属性に応じて、value=buttons または links と定義されているキーをアプリケーション・キーパッドに表示します。

com.ibm.hats.common.ClientLocalecom.ibm.hats.common.ClientLocale クラスの場合、name は常に locale です。ロケール設定の値は、ボタンの表題やメッセージの表示に使用する言語を指定します。値は次のいずれかです。デフォルトは accept-language です。

ロケールの国別コードを示す文字

ar アラビア語

cs チェコ語

de ドイツ語

en 英語

es スペイン語

fr フランス語

hu ハンガリー語

付録 A. HATS Toolkit のファイル 135

Page 148: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

it イタリア語

ja 日本語

ko 韓国語

pl ポーランド語

pt_BR ブラジル・ポルトガル語

ru ロシア語

tr トルコ語

zh 中国語 (簡体字)

zh_TW中国語 (繁体字)

accept-language言語はユーザーのブラウザーの Accept-Language HTTP ヘッダーから取得します。

primaryLocale言語は HATS アプリケーションを実行している WebSphere Application

Server の基本ロケールから取得します。

com.ibm.hats.common.DBCSSettingscom.ibm.hats.common.DBCSSettings クラスの場合、autoConvertSBCStoDBCS、eliminateMaxlengthInIdeographic、およびshowUnprotectedSISOSpace という、3 つの設定値があります。

v autoConvertSDBCtoDBCS 属性の有効な値は以下のとおりです。

true 3270/3270E G タイプまたは 5250 G タイプ、および J タイプのフィールドについては、単一バイト文字を 2 バイト文字に自動変換します。

false 3270/3270E G タイプまたは 5250 G タイプ、および J タイプのフィールドについては、単一バイト文字を 2 バイト文字に自動変換しません。

デフォルトは false です。詳しくは、「HATS ユーザーと管理者のガイド」のセクション『プロジェクト設定エディター』を参照してください。

v eliminateMaxlengthInIdeographic 属性の有効な値は以下のとおりです。

true enableAutoAdvance ランタイム設定が true の場合、DBCS フィールドの最大長を超える文字は IME に入力できます。また、ユーザーが IME

によって示される候補を選択してこのフィールドに入力した場合は、超過する文字が次のフィールドにカット・アンド・ペーストされます。

enableAutoAdvance ランタイム設定が false の場合、DBCS フィールドの長さを超える文字は IME に入力できます。ただし、ユーザーが IME

によって示される候補を選択してこのフィールドに入力した場合は、超過する文字は除去され、他のいずれのフィールドにも入力されません。

false DBCS フィールドの最大長を超える文字は、IME に入力できません。

デフォルトは false です。詳しくは、「HATS ユーザーと管理者のガイド」のセクション『プロジェクト設定エディター』を参照してください。

v showUnprotectedSISOSpace 属性の有効な値は以下のとおりです。

136 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 149: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

true 無保護のシフトイン文字またはシフトアウト文字をスペースで表示します。

false 無保護のシフトイン文字またはシフトアウト文字を表示するためにスペースを使用しません。

デフォルトは true です。詳しくは、「HATS ユーザーと管理者のガイド」のセクション『プロジェクト設定エディター』を参照してください。

com.ibm.hats.common.DefaultConnectionOverridescom.ibm.hats.common.DefaultConnectionOverrides クラスの場合、allowAll というname 属性の <setting> タグが少なくとも 1 つは常に存在します。この <setting> タグは、接続パラメーターのオーバーライドに関して選択されたデフォルトのセキュリティー・ポリシーを示しています。接続のオーバーライドに関して選択されたセキュリティー・ポリシーに対するすべての例外は、追加の <setting> タグを使用して記録され、その name 属性は、例外接続パラメーターの名前に設定されます。

name 属性の有効な値は以下のとおりです。

true エンド・ユーザーは、指定された接続パラメーターをオーバーライドできます。指定された接続パラメーターが allowAll である場合、これは、指定されていないすべての接続パラメーターをクライアント要求でオーバーライドできるという意味になります。

false エンド・ユーザーは、指定された接続パラメーターをオーバーライドできません。指定された接続パラメーターが allowAll である場合、これは、指定されていないいずれの接続パラメーターもオーバーライドできないという意味になります。

allowAll のデフォルト設定は、false です。

com.ibm.hats.common.DefaultGVOverridescom.ibm.hats.common.DefaultGVOverrides クラスの場合、allowAll という name 属性の <setting> タグが少なくとも 1 つは常に存在します。この <setting> タグは、グローバル変数のオーバーライドに関して選択されたデフォルトのセキュリティー・ポリシーを示しています。選択されたセキュリティー・ポリシーに対するすべての例外が追加の <setting> タグを使用して記録され、その name 属性は、hatsgv_variableName (通常のグローバル変数例外の場合) またはhatssharedgv_variableName (共用グローバル変数例外の場合) に設定されます。

name 属性の有効な値は以下のとおりです。

true エンド・ユーザーは、指定された接続パラメーターをオーバーライドできます。指定された接続パラメーターが allowAll である場合、これは、指定されていないすべての接続パラメーターをクライアント要求でオーバーライドできるという意味になります。

false エンド・ユーザーは、指定された接続パラメーターをオーバーライドできません。指定された接続パラメーターが allowAll である場合、これは、指定されていないいずれの接続パラメーターもオーバーライドできないという意味になります。

allowAll のデフォルト設定は、false です。

付録 A. HATS Toolkit のファイル 137

Page 150: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

com.ibm.hats.common.HostKeypadTagcom.ibm.hats.common.HostKeypadTag クラスの場合、name は以下のカスタマイズ可能な設定を指定します。

show true の場合、アプリケーションの中でホスト・キーパッドを表示します。

F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18

F19 F20 F21 F22 F23 F24 Attention

Page Up Page Down System Request Alternate View

Clear Enter PA1 PA2 PA3

Help Reset Field Exit Field Plus Field Minus

6 : 53

showAltViewtrue の場合、AltView キーをホスト・キーパッドに表示します。

showAttentiontrue の場合、ATTN キーをホスト・キーパッドに表示します。

showCleartrue の場合、CLEAR キーをホスト・キーパッドに表示します。

showEntertrue の場合、Enter キーをホスト・キーパッドに表示します。

showF1 – showF24true の場合、対応する番号の付いたファンクション・キーをホスト・キーパッドに表示します。

showFieldExittrue の場合、Field Exit キーをホスト・キーパッドに表示します。

showFieldMinustrue の場合、Field Minus キーをホスト・キーパッドに表示します。

showFieldPlustrue の場合、Field Plus キーをホスト・キーパッドに表示します。

showHelptrue の場合、Help キーをホスト・キーパッドに表示します。

showPA1true の場合、PA1 キーをホスト・キーパッドに表示します。

showPA2true の場合、PA2 キーをホスト・キーパッドに表示します。

showPA3true の場合、PA3 キーをホスト・キーパッドに表示します。

showPageDowntrue の場合、Page Down キーをホスト・キーパッドに表示します。

showPageUptrue の場合、Page Up キーをホスト・キーパッドに表示します。

showPrinttrue の場合、出力を印刷するための PRINT キーをホスト・キーパッドに表示します。

138 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 151: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

showResettrue の場合、RESET キーをホスト・キーパッドに表示します。

showSystemRequesttrue の場合、SYSREQ キーをホスト・キーパッドに表示します。

style value=true として定義したキーをホスト・キーパッドにどのように表示するのかを指定します。有効な値は buttons または links です。デフォルトは buttons です。

com.ibm.hats.common.KeyboardSupportcom.ibm.hats.common.KeyboardSupport クラスの場合、name は以下のカスタマイズ可能な設定を指定します。

enable プロジェクトでキーボード・サポートが使用可能かどうかを指定します。キーボード・サポートが使用可能の場合、エンド・ユーザーは物理的なキーボードのキーを使用してホストと対話できます。エンド・ユーザーは、F1、SYSREQ、RESET、ATTN キーなどホストの補助キーに特定の物理的なキーをマップして押すことができます。エンド・ユーザーは、マップされた物理的なキーボードのキーを使用してブラウザーと対話する場合、キーボード・サポートを切り替えて使用不可にできます。

注: HATS テーマをデフォルトのエミュレーター・スタイルから最新のアプリケーション・スタイルに変更できるウィザードを表示するには、これを true に設定する必要があります。

initialStatetrue の場合、ホスト・キーボードの初期状態はオン (ユーザーは物理的なキーボードを使用してアプリケーションと対話できる) になります。

supportAllKeystrue の場合は、表示されているボタンやリンクに関係なく、すべてのマップされたキーがサポートされます。false の場合は、以下のいずれかになります。

v 現在のページに認識されたホスト機能がボタンやリンクとしてまったく表示されていない場合、マップされたホスト機能のすべてをサポート。

v 認識されたホスト機能がボタンやリンクとして表示されている場合、それらのホスト機能のみサポート。

com.ibm.hats.common.OIAcom.ibm.hats.common.OIA クラスの場合、name は以下のカスタマイズ可能な設定を指定します。

active true の場合、オペレーター情報域 (OIA) はプロジェクトで可視の状態にあります。デフォルトは true です。

注: HATS テーマをデフォルトのエミュレーター・スタイルから変更したり、最新のアプリケーション・スタイルに変更したりできるウィザードを表示するには、これを true に設定する必要があります。

appletActivetrue の場合、非同期更新サポートが使用可能であれば、標識が OIA に表示されます。デフォルトは false です。

付録 A. HATS Toolkit のファイル 139

Page 152: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

autoAdvanceIndicatortrue の場合、ブラウザーでサポートしていれば、自動拡張が使用可能かどうか、OIA に表示されます。デフォルトは false です。

bidiControlstrue の場合、ブラウザーでサポートしていれば、現在の双方向制御を OIA

に表示し編集状況を示すことができます。デフォルトは true です。

cssClassOIA の外観を制御する Cascading Style Sheet (CSS) のクラス名を指定します。デフォルトは statusArea です。

cursorPositiontrue の場合、1391 など、ホストの絶対カーソル位置が OIA に表示されます。デフォルトは false です。

cursorRowColumntrue の場合、18/031 など、ホストのカーソルの行とカラムが OIA に表示されます。デフォルトは true です。

fieldDatatrue の場合、numeric only や field exit required などのフィールド拡張データが OIA に表示されます。デフォルトは false です。

inputInhibitedtrue の場合、キーボードがロックされ、キーボードから入力不可となっているかどうか、OIA に表示されます。デフォルトは true です。

insertModetrue の場合、ブラウザーがサポートしていれば、上書きモードが使用可能になっているかどうか、OIA に表示されます。デフォルトは true です。

layout 値の属性によって、水平表示 (ページの最下部に表示) か、縦表示 (ページの横のフレームに表示) か、OIA の表示方法が決まります。デフォルトはhorizontal です。

msgWaitingtrue の場合、ホスト・システムにセッションについての 1 つ以上のメッセージがあれば、標識が表示されます。設定は 5250 ホスト・システムにのみ適用されます。

sslChecktrue の場合、Host On-Demand 接続が SSL で保護されているかどうか、OIA に表示されます。デフォルトは true です。

systemWaittrue の場合、データの戻りを待つ間にシステムをロックするかどうか、OIA に表示されます。デフォルトは true です。

com.ibm.hats.common.RuntimeSettingscom.ibm.hats.common.RuntimeSettings クラスの場合、name は以下のカスタマイズ可能な設定を指定します。

autoEraseFields変更された入力フィールドに変更されたデータが入力される前に、そのフィールドに [erasefld] を適用するかどうかを指定します。デフォルト値は

140 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 153: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

true です。この値が false に設定されている場合は、スペース文字を使用して、ホストが以前にそのフィールドに入力したデータを置き換えることができます。

注:

1. 複数の入力フィールドとしてレンダリングされるホスト・フィールドはいずれも、自動でクリアされません。例えば、行から行へと折り返す長いホスト・フィールドは、複数の入力フィールドとしてレンダリングされ、更新前に自動でクリアされることはありません。

2. この設定は、プロジェクト・レベルでのみ指定できます。ただし、単一変換に対しては指定できません。

enableAutoAdvanceカーソルが入力フィールドの終わりにきたとき (つまり、入力フィールドが完全に入力されたとき) に、カーソルが次の入力フィールドに移動するかどうかを指定します。 true の場合、カーソルが入力フィールドの終わりにきたときに、カーソルが次の入力フィールドに移動します。 false の場合、ユーザーが明示的に移動させない限り、カーソルは次の入力フィールドに移動しません。デフォルトは false です。

enableAutoTabOnカーソルが入力フィールドの終わりにきたとき (つまり、入力フィールドが完全に入力されたとき) に、タブ・キーによってカーソルを次の入力フィールドに移動させるかどうかを指定します。 true に設定されている場合、カーソルの位置が現行フィールドの終わりにきたときに、ブラウザーでの表示フィールドの順序に基づいて、タブ・キーによって現行フィールド内のカーソルを次のフィールドに移動させます。 false に設定されている場合、ユーザーが明示的に移動しない限り、タブ・キーがカーソルを次の入力フィールドに移動させることはありません。デフォルトは false です。

enableBusyPagetrue に設定されている場合、複数の要求を送信すると、ページが使用中の場合の動作にリダイレクトされます。false に設定されている場合、複数の要求を送信するとクライアント・サイドでブロックされ、使用中のページは表示されません。デフォルトは false です。

enableCompressiontrue に設定されている場合、HATS ランタイム (WebSphere Application

Server 上で実行される) とユーザーのブラウザー間で転送されるバイト数を減らすために HTTP 圧縮フィルターが使用されます。デフォルトは falseです。

escapeHTMLTagsホスト画面のデータについて HTML タグ解釈を実行する必要があるかどうかを指定します。true の場合は、すべてのデータが単純なテキストとして解釈されます。false の場合は、有効な HTML タグとみなすことができるデータは、HTML タグであると扱われます。例えば、画面に <S>elect などのデータが含まれており、この設定が true である場合、データは単純なテキストであり、<S>elect であるとして解釈されます。この設定が false

の場合、<S> は、HTML の打ち消し線タグであると解釈されます。デフォルトは false です。

付録 A. HATS Toolkit のファイル 141

Page 154: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

注: true の場合、テキスト置換機能を使用して指定されたデータであり、有効な HTML タグと一致するデータは、単純データとして扱われます。

enableOverwriteModetrue の場合は、入力フィールドに入力されるテキストによって、カーソル位置にあるテキストが 1 文字ずつ上書きされます。false の場合は、入力フィールドに入力されるテキストがカーソル位置に挿入され、既存のテキストが押しやられます。ユーザーは、Insert (挿入) キーを使用してこの初期設定を切り替えることができます。デフォルトは true です。

nextFieldForDropDowntrue の場合は、ドロップダウン・リストから選択した場合に、カーソル位置は、次の入力フィールドに移動されます。HATS V7.5.0.2 以降で作成される新規プロジェクトのデフォルトは true です。HATS V7.5.0.2 より前に作成されたプロジェクトのデフォルトは、false です。

注: この設定は、enableAutoAdvance が true の場合のみ有効です。

selectAllOnFocustrue の場合は、フィールドがフォーカスを受け取ったときに、フィールド内のすべてのテキストが選択されます。Web アプリケーションの場合は、これが標準的な動作です。false の場合は、フィールドがフォーカスを受け取ったときに、いずれのテキストも選択されません。端末エミュレーターの場合は、これが標準的な動作です。

注:

1. Web アプリケーションの場合:

v デフォルトは true です。

v この設定は、enableOverwriteMode 設定の動作に影響しません。

v この設定は、アプリケーションのブラウザーに Internet Explorer が使用されている場合のみ有効です。

2. リッチ・クライアント・アプリケーションの場合:

v デフォルトは false です。

v 選択した場合、この設定は、ユーザーがフィールドに入力するときに文字が上書きされる点で enableOverwriteMode 設定のように機能します。

v テキストは、キーボードを使用して Tab キーによりフィールドに移動した場合のみ選択されます。マウスでフィールド内をクリックした場合は、テキストは選択されません。

suppressUnchangedDatatrue の場合、内容がフォームのレンダリング時と変わらないすべてのフィールドを使用不可にします。 false の場合、ブラウザーから受信したフィールドの内容と現在の表示スペースの内容が同一であっても、そのフィールドの内容をホストに送信します。デフォルトは false です。

com.ibm.hats.transformcom.ibm.hats.transform クラスの場合、カスタマイズ可能な設定を指定します。

142 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 155: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

alternatealternateRenderingSet が指定されている場合、値は DEFAULT です。その他の場合は指定されません。

alternateRenderingSetHATS コンポーネント・タグの変換中にレンダリングする対象が見つからない場合、使用するレンダリング・セットの名前をデフォルト・レンダリングに指定します。

com.ibm.hats.transform.components.nameコンポーネント設定の詳細については、「HATS ユーザーと管理者のガイド」を参照してください。

com.ibm.hats.transform.DefaultRenderingcom.ibm.hats.transform.DefaultRendering クラスの場合、name は常にapplicationDefaultRenderingSetName です。 value は、プロジェクトのデフォルトのレンダリング・セットとして定義するレンダリング・セットの名前を指定します。 value 設定で指定したレンダリング・セット名は、<defaultRendering> タグに指定した default 属性の値と一致しなければなりません。

com.ibm.hats.transform.widgets.dojo.nameHATS Dojo ウィジェット設定について詳しくは、「HATS ユーザーと管理者のガイド」を参照してください。

com.ibm.hats.transform.widgets.nameウィジェットの設定の詳細については、「HATS ユーザーと管理者のガイド」を参照してください。

<textReplacement> タグ<textReplacement> タグは、プロジェクトの中で定義するテキスト置換値を囲むタグです。このタグには属性はありません。

<replace> タグ<replace> タグは、プロジェクト内のテキスト置換値を指定します。

注: 双方向コード・ページを使用している場合は、「HATS ユーザーと管理者のガイド」を参照してください。

<replace> タグの属性には以下のものがあります。

caseSensitiveテキスト置換値の大文字小文字の区別が一致した場合のみテキスト置換を行うかどうかを指定します。有効な値は true および false です。デフォルトは false です。

from 置換するテキストを指定します。from 属性に指定するテキストは引用符で囲む必要があります。

to テキストをテキストまたは HTML コード (Web のみ) で置き換える場合に、from 属性で指定した値の代わりに挿入する置き換えストリングを指定

付録 A. HATS Toolkit のファイル 143

Page 156: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

します。 to 属性の置き換えストリングは引用符で囲む必要があります。テキストをボタンまたはリンクと置換する場合、引用符の中にボタンやリンク用のコードを追加しなければなりません。

regularExpressionテキスト置換アルゴリズムの一部として、Java 正規表現のサポート機能を使用するかどうかを指定します。正規表現はストリングのセットを記述する文字のパターンです。正規表現を使用してパターンのオカレンスを検索、変更できます。有効な値は true および false です。デフォルトは false です。

toImageテキストをイメージと置換する場合、from 属性で指定した値の代わりに挿入するイメージのパスと名前を指定します。toImage 属性で指定するイメージのパスと名前は引用符で囲む必要があります。

matchLTR双方向コード・ページを使用する場合、from 属性で指定した値を LTR 画面で置換するかどうかを指定します。有効な値は true および false です。デフォルトは true です。

matchRTL双方向コード・ページを使用する場合、from 属性で指定した値を RTL 画面で置換するかどうかを指定します。有効な値は true および false です。デフォルトは false です。

matchReverse双方向コード・ページを使用する場合、表示される画面のセクションが元のページの方向から反転した際、from 属性で指定した値を置換するかどうかを指定します。有効な値は true および false です。デフォルトは false

です。

注: テキスト置換を使用するときは、注意が必要です。ストリングの文字数が異なるテキスト置換を行うと、画面の表示が変化することがあります。画面上の領域を提示するために使用されるウィジェットによっては、画面上の 1 行に収められているテキストが、縮小または拡張されたり、次の行に継続したりすることがあります。

<defaultRendering> タグ<defaultRendering> タグは、プロジェクトの中で定義するすべてのレンダリング・セットを囲むタグです。

<defaultRendering> タグの属性は次のとおりです。

default プロジェクトの中でデフォルトのレンダリングに使用するレンダリング・セットの名前を指定します。default 属性で指定したレンダリング・セット名は、com.ibm.hats.transform.DefaultRendering という名前のクラス設定の value

属性に指定した値と一致していなければなりません。

<renderingSet> タグ<renderingSet> タグは、レンダリング・セットで定義したレンダリング項目を囲むタグです。

144 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 157: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

<renderingSet> タグの属性には以下のものがあります。

name レンダリング・セットの作成時に指定した名前。

descriptionレンダリング・セットの作成時に指定した説明。

layout 変換された画面のフィールドおよびテキスト内にある不要なブランクを除去するコンパクト・レンダリングを使用するかどうかを示します。この属性は、コンパクト・レンダリングをデフォルトにする場合にのみ使用するようにしてください。 COMPACT が、layout に有効な唯一の値です。デフォルトではレンダリング・セットにこの属性は指定されておらず、コンパクト・レンダリングは使用されません。

separated各フィールドを区別し、HTML およびブランク・スペースの量を削減するために、変換された画面でインラインの span タグを使用して出力をレンダリングするかどうかを示します。モバイル装置用に最適化された Web アプリケーションの場合、これがデフォルトです。デフォルトでは、この属性はレンダリング・セットで指定されません。

table 出力を表でレンダリングして、元のホスト画面のレイアウトを保持するようにするかどうかを示します。モバイル装置用に最適化されていない Web アプリケーションの場合、これがデフォルトです。

<renderingItem> タグ<renderingItem> タグは、特定のレンダリング項目を囲むタグです。

<renderingItem> タグの属性には以下のものがあります。

componentIdentifierコンポーネント情報を変換と調整するために使用するレンダリング項目の名前。デフォルト設定は、画面組み合わせイベントの名前です。

associatedScreenこのレンダリング項目の作成に使用したキャプチャーされた画面の名前。

descriptionレンダリングの作成時に入力した説明。

enabledレンダリングが使用可能かどうかを表します。プロジェクト設定の「レンダリング」ページのチェック・ボックスの状態を反映します。

endColこのレンダリング項目を適用するホスト画面の最後のカラムです。-1 は、ホスト画面の右端のカラムを意味します。

endRowこのレンダリング項目を適用するホスト画面の最後の行です。-1 は、ホスト画面の最後の行を意味します。

startColこのレンダリング項目を適用するホスト画面の最初のカラムです。

付録 A. HATS Toolkit のファイル 145

Page 158: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

startRowこのレンダリング項目を適用するホスト画面の最初の行です。

type 変換する対象となる内容を持つホスト・コンポーネント。この属性の値は、ホスト・コンポーネントの完全なクラス名です。この属性は必須であり、デフォルト値はありません。

widget ホスト・コンポーネントは、このタグに指定したウィジェットに変換されます。

それぞれ固有のレンダリング項目には、次のタグも含まれています。

componentSettings<componentSettings> タグは、このレンダリング項目のコンポーネント用に変更された設定を囲むタグです。このタグには属性はありません。

setting <setting> タグは、このレンダリング項目のコンポーネント用に変更された設定を囲むタグです。

<setting> タグの属性には以下のものがあります。

name コンポーネントのカスタマイズ可能な設定の名前を指定します。使用可能な設定はコンポーネントによって異なります。

コンポーネントの設定の詳細については、「HATS ユーザーと管理者のガイド」を参照してください。

value コンポーネントのカスタマイズ可能な設定の値を指定します。デフォルト値は、設定により異なります。

widgetSettings<widgetSettings> タグは、このレンダリング項目のウィジェット用に変更された設定を囲むタグです。このタグには属性はありません。

setting <setting> タグは、このレンダリング項目のウィジェット用に変更された設定を囲むタグです。

<setting> タグの属性には以下のものがあります。

name ウィジェットのカスタマイズ可能な設定の名前を指定します。使用可能な設定は、ウィジェットによって異なります。

ウィジェットの設定の詳細については、「HATS ユーザーと管理者のガイド」を参照してください。

value ウィジェットのカスタマイズ可能な設定の値を指定します。デフォルト値は、設定により異なります。

textReplacements<textReplacements> タグは、このレンダリング項目に指定されたテキスト置換を囲むタグです。このタグには属性はありません。

replace<replace> タグは、このレンダリング項目のテキスト置換値を指定します。

<replace> タグの属性には以下のものがあります。

caseSensitiveテキスト置換値の大文字小文字の区別が一致した場合のみテキスト

146 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 159: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

置換を行うかどうかを指定します。有効な値は true および false

です。デフォルトは false です。

from 置換するテキストを指定します。from 属性に指定するテキストは引用符で囲む必要があります。

to from 属性で指定した値の代わりに挿入する置き換えストリングを指定します。to 属性の置き換えストリングは引用符で囲む必要があります。

regularExpressionテキスト置換アルゴリズムの一部として、Java 正規表現のサポート機能を使用するかどうかを指定します。正規表現はストリングのセットを記述する文字のパターンです。正規表現を使用してパターンのオカレンスを検索、変更できます。有効な値は true およびfalse です。デフォルトは false です。

toImageテキストをイメージと置換する場合、from 属性で指定した値の代わりに挿入するイメージのパスと名前を指定します。toImage 属性で指定するイメージのパスと名前は引用符で囲む必要があります。

matchLTR双方向コード・ページを使用する場合、from 属性で指定した値をLTR 画面で置換するかどうかを指定します。有効な値は true および false です。デフォルトは true です。

matchRTL双方向コード・ページを使用する場合、from 属性で指定した値をRTL 画面で置換するかどうかを指定します。有効な値は true および false です。デフォルトは false です。

matchReverse双方向コード・ページを使用する場合、表示される画面のセクションが元のページの方向から反転した際、from 属性で指定した値を置換するかどうかを指定します。有効な値は true および false です。デフォルトは false です。

注: テキスト置換を使用するときは、注意が必要です。ストリングの文字数が異なるテキスト置換を行うと、画面上の HTML 表現が変化することがあります。画面上の領域を提示するために使用されるウィジェットによっては、画面上の 1 行に収められているテキストが、縮小または拡張されたり、次の行に継続したりすることがあります。

<globalRules> タグ<globalRules> タグは、プロジェクトの中で定義するグローバル規則を囲むタグです。このタグには属性はありません。

<rule> タグ<rule> タグは、グローバル規則を定義します。

付録 A. HATS Toolkit のファイル 147

Page 160: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

プロジェクト・レベル規則用の <rule> タグの属性は、画面カスタマイズ・レベルのグローバル規則用の属性と同じです。しかし、同じ入力フィールドを使用してプロジェクト・レベルと画面カスタマイズ・レベルのグローバル規則を作成すると、画面カスタマイズ・レベル規則の優先順位の方が高くなります。 <rule> タグの属性には以下のものがあります。

associatedScreenグローバル規則を定義する際の基準となる、プロジェクトの中の画面キャプチャーの名前。

descriptionグローバル規則の作成時に入力した説明。

enabledグローバル規則が使用可能かどうかを表します。プロジェクト設定の「レンダリング」ページのチェック・ボックスの状態を反映します。

endColこのグローバル規則を適用するべきホスト画面の最後のカラムです。-1

は、ホスト画面の右端のカラムを意味します。

endRowこのグローバル規則を適用するべきホスト画面の最後の行です。-1 は、ホスト画面の最後の行を意味します。

name 「プロジェクト設定」の「レンダリング」ページのグローバル規則のリストに表示される名前。

startColこのグローバル規則を適用するべきホスト画面の最初のカラムです。

startRowこのグローバル規則を適用するべきホスト画面の最初の行です。

transformationFragmentグローバル規則に関連付けられた変換フラグメント・ファイルの名前。このファイルには、ホスト・コンポーネントの変換方法を指定する情報が含まれています。該当するフィールドがホスト画面に存在する場合、この情報は変換に組み込まれます。

type このグローバル規則のパターン・タイプ・コンポーネントで、「グローバル規則の作成」ウィザードの最初のページで取得します。タイプは次のいずれかです。

com.ibm.hats.transform.components. InputFieldByTextPatternComponentこのパターン・コンポーネントは、フィールド近くのテキストを基にしてホスト画面上の入力フィールドを認識します。

com.ibm.hats.transform.components. AllInputFieldsPatternComponentこのパターン・コンポーネントは、ホスト画面上のすべての入力フィールドを認識します。

com.ibm.hats.transform.components. InputFieldBySizePatternComponentこのパターン・コンポーネントは、入力フィールドのサイズを基にしてホスト画面上の入力フィールドを認識します。

148 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 161: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

com.ibm.hats.transform.components. InputFieldByPositionPatternComponentこのパターン・コンポーネントは、ホスト画面上のフィールドの位置により、ホスト画面上の入力フィールドを認識します。

それぞれ固有のグローバル規則には、次のタグも含まれています。

componentSettings<componentSettings> タグは、<rule> タグの型属性で指定したパターン・タイプ・コンポーネント用に定義された設定を囲むタグです。このタグには属性はありません。

setting <setting> タグは、<rule> タグの型属性で指定したパターン・タイプ・コンポーネント用に定義された設定を囲むタグです。

<setting> タグの属性には以下のものがあります。

name パターン・タイプ・コンポーネントのカスタマイズ可能な設定の名前を指定します。使用可能な設定はコンポーネントによって異なります。

v com.ibm.hats.transform.components.InputFieldByText の場合、name

属性の設定は以下のとおりです。

caseSensitiveパターンを認識する前に、テキスト設定で大文字小文字の区別を一致させる必要があるかどうかを指定します。有効な値は true および false です。デフォルトはtrue です。

immediatelyNextTo変換する入力フィールドを指定します。有効な値は以下のとおりです。

true 最も近い入力フィールドのみ変換の必要があることを指定します。

false すべての入力フィールドを変換する必要があることを指定します。

デフォルトは false です。

locationテキスト設定で指定した保護フィールドのテキストを、適用するグローバル規則の入力フィールドに対してどの位置に置くかを指定します。有効な値は以下のとおりです。

ABOVE入力フィールドの上に表示するテキストを指定します。

BELOW入力フィールドの下に表示するテキストを指定します。

LEFT 入力フィールドの左に表示するテキストを指定します。

付録 A. HATS Toolkit のファイル 149

Page 162: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

RIGHT入力フィールドの右に表示するテキストを指定します。

デフォルトは RIGHT です。

text ホスト画面の保護フィールドに表示するテキストを指定します。有効な値は、ホスト画面上の保護フィールドの中の任意のテキストです。

v com.ibm.hats.transform.components.AllInputFields の場合、コンポーネント設定はありません。

v com.ibm.hats.transform.components.InputFieldBySizePatternComponent

の場合、name 属性の設定は fieldSize です。有効な値は、ホスト画面上の任意の入力フィールドのサイズです。

v com.ibm.hats.transform.components.

InputFieldByPositionPatternComponent の場合、name 属性の設定はenableFieldLength です。有効な値は true および false です。

注: enableFieldLength が指定される場合、フィールドが認識されるためには、そのフィールド全体 (fieldSize 属性で指定されたもの) が定義された領域の境界内になければなりません。領域の境界は、startRow、endRow、startCol、および endCol属性の値によって定義されます。

接続ファイル (.hco)HATS プロジェクトで定義するそれぞれの接続は、接続ファイルによって表現されます。接続ファイル (.hco) は、project_name/Connections フォルダーに格納されます。ここで、project_name は、プロジェクトを作成したときに付けた名前です。新規 HATS プロジェクト・ウィザードで指定した接続値を使用して作成されるデフォルト接続は、main.hco に保管されます。

<hodconnection> タグ<hodconnection> タグは、接続定義の始まりであり、接続に関するいくつかの特性を指定します。

<hodconnection> タグの属性には以下のものがあります。

certificateFileプロジェクトの SSL 証明書をインポートした場合は、インポート元のファイルの名前を指定します。

codePageこの接続で使用するコード・ページの数値を指定します。デフォルト値は、プロジェクトの作成時に選択した値です。接続ごとに、別のコード・ページを使用できます。コード・ページ番号については、codePageKey 属性の説明を参照してください。

150 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 163: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

codePageKey数字コード・ページに対応する使用目的キーを指定します。デフォルト値はKEY_US です。codePage の有効な値と、それぞれの場所または使用目的キーは以下のとおりです。

表 6. コード・ページと使用目的キー

コード・ページ 使用目的キー

037 KEY_BELGIUM

KEY_BRAZIL

KEY_CANADA

KEY_NETHERLANDS

KEY_PORTUGAL

KEY_US

273 KEY_AUSTRIA

KEY_GERMANY

274 KEY_BELGIUM_OLD

275 KEY_BRAZIL_OLD

277 KEY_DENMARK

KEY_NORWAY

278 KEY_FINLAND

KEY_SWEDEN

280 KEY_ITALY

284 KEY_SPAIN

KEY_LATIN_AMERICA

285 KEY_UNITED_KINGDOM

297 KEY_FRANCE

420 KEY_ARABIC

424 KEY_HEBREW

500 KEY_MULTILINGUAL

803 KEY_HEBREW_OLD

838 KEY_THAI

870 KEY_BOSNIA_HERZEGOVINA

KEY_CROATIA

KEY_CZECH

KEY_HUNGARY

KEY_POLAND

KEY_ROMANIA

KEY_SLOVAKIA

KEY_SLOVENIA

871 KEY_ICELAND

875 KEY_GREECE

924 KEY_MULTILINGUAL_ISO_EURO

930 KEY_JAPAN_KATAKANA

933 KEY_KOREA_EX

937 KEY_ROC_EX

939 KEY_JAPAN_ENGLISH_EX

付録 A. HATS Toolkit のファイル 151

Page 164: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

表 6. コード・ページと使用目的キー (続き)

コード・ページ 使用目的キー

1025 KEY_BELARUS

KEY_BULGARIA

KEY_MACEDONIA

KEY_RUSSIA

KEY_SERBIA_MONTEGRO

1026 KEY_TURKEY

1047 KEY_OPEN_EDITION

1112 KEY_LATVIA

KEY_LITHUANIA

1122 KEY_ESTONIA

1123 KEY_UKRAINE

1137 KEY_HINDI

1140 KEY_BELGIUM_EURO

KEY_BRAZIL_EURO

KEY_CANADA_EURO

KEY_NETHERLANDS_EURO

KEY_PORTUGAL_EURO

KEY_US_EURO

1141 KEY_AUSTRIA_EURO

KEY_GERMANY_EURO

1142 KEY_DENMARK_EURO

KEY_NORWAY_EURO

1143 KEY_FINLAND_EURO

KEY_SWEDEN_EURO

1144 KEY_ITALY_EURO

1145 KEY_LATIN_AMERICA_EURO

KEY_SPAIN_EURO

1146 KEY_UNITED_KINGDOM_EURO

1147 KEY_FRANCE_EURO

1148 KEY_MULTILINGUAL_EURO

1149 KEY_ICELAND_EURO

1153 KEY_BOSNIA_HERZEGOVINA_EURO

KEY_CROATIA_EURO

KEY_CZECH_EURO

KEY_HUNGARY_EURO

KEY_POLAND_EURO

KEY_ROMANIA_EURO

KEY_SLOVAKIA_EURO

KEY_SLOVENIA_EURO

1154 KEY_BELARUS_EURO

KEY_BULGARIA_EURO

KEY_MACEDONIA_EURO

KEY_RUSSIA_EURO

KEY_SERBIA_MONTEGRO_EURO

152 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 165: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

表 6. コード・ページと使用目的キー (続き)

コード・ページ 使用目的キー

1155 KEY_TURKEY_EURO

1156 KEY_LATVIA_EURO

KEY_LITHUANIA_EURO

1157 KEY_ESTONIA_EURO

1158 KEY_UKRAINE_EURO

1160 KEY_THAI_EURO

1166 KEY_KAZAKHSTAN_EURO

1364 KEY_KOREA_EURO

1371 KEY_ROC_EURO

1388 KEY_PRC_EX_GBK

1390 KEY_JAPAN_KATAKANA_EX_EURO

1399 KEY_JAPAN_ENGLISH_EX_EURO

connecttimeoutHATS がホストに接続を試みる時間を指定します。1 から 2147483647 までの秒数を指定します。初期デフォルト値は 120 秒です。

description作成したときの接続の説明を指定します。

disableFldShp双方向コード・ページを使用する場合、パスワード・フィールドのアラビア語データを別個の形式または整形された形式でホストに送信するかどうか指定します。有効な値は true および false です。初期デフォルト値はありません。

disableNumSwapSubmit双方向コード・ページを使用する場合、アラビア (西洋) 数字の入力を使用不可にするかどうか、つまり、RTL 画面にアラビア (インド) 数字のみを入力できるようにするかどうかを指定します。これは、送信時に、すべての数字がアラビア (西洋) 数字として送信されるようにするために行います。有効な値は true および false です。初期デフォルト値はありません。

disconnecttimeoutHATS がホストとの接続の切断を試みる時間を指定します。秒数を 1 から2147483647 の範囲で指定します。初期デフォルト値は 120 秒です。

enableScrRev双方向コード・ページを使用する場合、表示テキストおよび入力フィールドの方向を反転するのに必要な「画面を反転」ボタンを表示するアプリケーションのページを指定します。有効な値は以下のとおりです。

(blank)「画面を反転」ボタンはどの画面にも配置されません。

Customized「画面を反転」ボタンは、画面カスタマイズに一致する画面および画面カスタマイズに一致しない画面に配置されます。つまり、すべ

付録 A. HATS Toolkit のファイル 153

Page 166: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

ての画面に配置されます。画面カスタマイズに一致する画面にのみ「画面を反転」ボタンを配置するオプションはありません。

Non-customized「画面を反転」ボタンは、画面カスタマイズに一致しない画面にのみ配置されます。

初期デフォルト値はありません。

host 接続先ホストの名前を指定します。

hostSimulationNameライブ接続の代わりに使用するためのホスト・シミュレーション・トレース・ファイルの名前を指定します。

LUName拡張 3270 セッションのみ有効 (TNEnhanced="true")。LUName プロパティー (拡張ネゴシエーションで使用する LU 名) を設定します。値はストリング・フォーマットです。LUName の最大長は 17 文字です。デフォルト値はありません。3270 HATS プロジェクトに対して印刷サポートを構成するには、ホスト・タイプとして 3270E を指定する必要があります。接続設定のリストに LUName パラメーターを追加するときは、プリンター LU 名ではなく、ご使用のディスプレイ LU 名またはディスプレイ LU のプールを使用してください。

LUNameSource拡張 3270 セッションのみ有効 (TNEnhanced="true")。接続の LU 名のソースを指定します。有効な値は以下のとおりです。

automaticLU 名は、接続が確立された際、自動的に割り当てられます。

promptエンド・ユーザーに LU 名の入力を求めるプロンプトが表示されます。プールが使用可能な場合、プロンプトは使用できません。

session HTTP セッション変数を使用して LU 名を定義します。LUName 属性がセッション変数の名前を表します。プールが使用可能な場合、セッションは使用できません。

value LU 名は LUName 属性で定義します。

初期デフォルト値はありません。

port ホストへの接続に使用するポートの番号を指定します。有効なポートの範囲は、0 から 65535 です。初期デフォルト値は 23 です。

screenSizeホスト端末に表示する行数とカラム数を指定します。screenSize の有効な値は以下のとおりです。

v 2=24x80

v 3=32x80

v 4=43x80

v 5=27x132

v 6=24x132 (VT のみ)

154 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 167: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

初期デフォルトの画面サイズは、24 x 80 です。

sessionTypeホスト端末に表示する端末のタイプを指定します。type の有効な値は以下のとおりです。

v 1=3270

v 2=5250

v 3=VT

初期デフォルト値は 3270 です。

singlelogonプロジェクトにユーザー・リストが定義されている場合、1 つのユーザーID を一度に複数回使用可能にするかどうかを指定します。有効な値は以下のとおりです。

true ユーザー ID は、一度に 1 回しか使用できません。

false ユーザー ID は、同時に複数回接続することができます。

初期デフォルト値は false です。

SSL SSL を使用可能にするかどうかを指定します。有効な値は以下のとおりです。

true このプロジェクトに対して SSL が使用可能にされます。

false このプロジェクトに対して SSL は使用可能にされません。

TNEnhanced3270 接続でのみ有効です。接続が TN3270E 接続かどうかを指定します。有効な値は true および false です。初期デフォルト値は true です。

VTTerminalTypeVT 接続でのみ有効です。VT 端末のタイプを表します。有効な値は以下のとおりです。

v 1=VT420_7

v 2=VT420_8

v 3=VT100

v 4=VT52

WFEnabled5250 接続でのみ有効です。その接続が 5250W 接続であるかどうかを指定します。有効な値は true および false です。初期デフォルト値は false

です。

workstationID5250 および 5250W 接続でのみ有効です。workstationIDSource 属性がsession または value に設定されている場合は、接続用に HTTP セッション変数またはワークステーション ID を指定します。初期デフォルト値はありません。

workstationIDSource5250 および 5250W 接続でのみ有効です。接続用のワークステーション ID

のソースを指定します。有効な値は以下のとおりです。

付録 A. HATS Toolkit のファイル 155

Page 168: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

automaticワークステーション ID は、接続が確立された際、自動的に割り当てられます。

promptエンド・ユーザーにワークステーション ID の入力を求めるプロンプトが表示されます。プールが使用可能な場合、プロンプトは使用できません。

session HTTP セッション変数を使用してワークステーション ID を定義します。ワークステーション ID の属性がセッション変数の名前を表します。プールが使用可能な場合、セッションは使用できません。

value ワークステーション ID は workstationID 属性で定義します。

初期デフォルト値はありません。

<otherParameters> タグ<otherParameters> タグは、その他の Host On-Demand セッション・パラメーターを指定します。

HATS がサポートする Host On-Demand セッション・パラメーターには以下のものがあります。

ENPTUI5250 ホストに接続したプロジェクトで、拡張非プログラマブル端末ユーザー・インターフェース (ENPTUI) 用の表示データ・ストリーム (DDS) のキーワードを使用できるかどうかを決めます。有効な値は true および false

です。デフォルト値は false です。

HTMLDDS5250 ホストへの接続を使用するプロジェクトで、5250 ディスプレイ・データ・ストリーム (DDS) と共に HTML フラグメントを使用できるかどうかを決定します。この機能は、標準エミュレーション・プログラムでの表示を目的としたものではありません。HTML フラグメントは、ブラウザー内でこの HTML データを表示するように拡張された 5250 Workstation Gateway

装置、および HATS などのホスト・アクセス製品にのみ送信されます。HTML DDS は、ホスト・タイプが 5250 に指定されている場合に、コンポーネントとして使用できます。このコンポーネントの使用はデフォルト・レンダリングの一部ではないため、デフォルト・レンダリングまたはカスタム変換に追加する必要があります。有効な値は以下のとおりです。

v フィルターを使用して DDS データを無視 (Ignore DDS data using filter)

v フィルターを使用して DDS データを受け入れ (Accept DDS data using

filter)

詳しくは、「HATS ユーザーと管理者のガイド」または HATS Knowledge

Center (http://www.ibm.com/support/knowledgecenter/SSXKAY_9.5.0) を参照してください。

LamalefLamAlef プロパティー (LamAlef を展開するか圧縮するか) を設定します。

156 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 169: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

このプロパティーはアラビア語セッションのみに適用されます。値はストリング・フォーマットです。有効な値は以下のとおりです。

v LAMALEF_ON

v LAMALEF_OFF

デフォルト値は LAMALEF_OFF です。

numeralShapenumeralShape プロパティーを設定します。このプロパティーは双方向セッションのみに適用されます。値はストリング・フォーマットです。デフォルト値は NOMINAL です。

numericSwapEnabled数値スワッピング・プロパティーを設定します。このプロパティーはアラビア語 3270 セッションのみに適用されます。有効な値は true および false

です。デフォルト値は true です。

roundTriproundTrip プロパティーを設定します。このプロパティーは双方向セッションのみに適用されます。値はストリング・フォーマットです。有効な値は以下のとおりです。

v ROUNDTRIP_ON

v ROUNDTRIP_OFF

デフォルトは ROUNDTRIP_ON です。

SecurityProtocolSecurityProtocol プロパティーを設定します。このプロパティーは、セキュリティー確保のために TLS v1.0 プロトコルまたは SSL プロトコルのどちらを使用するかを示します。値はストリング・フォーマットです。デフォルト値は TLS です。

SSLServerAuthenticationSSLServerAuthentication プロパティーを設定します。このプロパティーは、SSL サーバーを使用可能にするかどうかを示します。有効な値は true および false です。デフォルト値は false です。

symmetricSwapEnabled対称スワッピングのプロパティーを設定します。このプロパティーはアラビア語 3270 セッションのみに適用されます。有効な値は true および false

です。デフォルト値は true です。

textOrientationtextOrientation プロパティーを設定します。このプロパティーは双方向セッションのみに適用されます。値はストリング・フォーマットです。有効な値は以下のとおりです。

v LEFT_TO_RIGHT

v RIGHT_TO_LEFT

デフォルト値は LEFT_TO_RIGHT です。

付録 A. HATS Toolkit のファイル 157

Page 170: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

ThaiDisplayModeタイ語表示モード・プロパティーを設定します。このプロパティーはタイ語セッションのみに適用されます。値はストリング・フォーマットです。デフォルト値は THAI_MODE_5 です。

workstationIDworkstationID プロパティーを設定します。このプロパティーは、5250 用拡張ネゴシエーションで使用されます。値はストリング・フォーマットです。小文字はすべて大文字に変換されます。デフォルト値はありません。

<classSettings> タグ<classSettings> タグは、接続定義に含める Java クラスを囲むタグです。

<class> タグ<class> タグは、<settings> タグで囲まれた属性を持つクラスを指定します。

<class> タグの属性には以下のものがあります。

name 次のいずれかの Java クラスを指定します。

v com.ibm.hats.common.HATSPrintSettings

v com.ibm.hats.common.NextScreenSettings

name 属性に指定するクラス名は引用符で囲む必要があります。

<setting> タグ<setting> タグは、<setting> タグを囲んでいるクラスに関連する設定を指定します。

<setting> タグの属性には以下のものがあります。

name <class> タグの name 属性によって定義したクラスのカスタマイズ可能な設定の名前を指定します。使用可能な設定は、クラスによって異なります。

com.ibm.hats.common.HATSPrintSettings クラスの場合、カスタマイズ可能な設定は以下のとおりです。

printFontName出力の印刷に使用するフォントを指定します。有効な値は、codePage 属性の値によって異なります。

printNumSwapSupport数値スワッピングを使用可能にするかどうかを指定します。printRTLSupport が使用可能な場合、このプロパティーはアラビア語3270 セッションのみに適用されます。英語の数表示は RTL 画面でアラビア数字に置き換わり、アラビア数字は RTL 画面で英語の数表記に置き換わります。有効な値は true および false です。デフォルト値は true です。

printOrientation印刷出力をページ上にどのように配置するかを指定します。printOrientation の有効な値は以下のとおりです。

PDF_ORIENTATION_PORTRAIT用紙を縦に使用します。

158 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 171: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

PDF_ORIENTATION_LANDSCAPE用紙を 90 度右回転します。

printPaperSize出力を印刷する用紙のサイズを指定します。printPaperSize の有効な値は以下のとおりです。

ISO_A3ISO/DN & JIS A4、297 x 420 mm

ISO_A4ISO/DN & JIS A4、210 x 297 mm

ISO_A5ISO/DN & JIS A4、148 x 210 mm

ISO_B4ISO/DN B4、250 x 353 mm

ISO_B5ISO/DN B5、176 x 250 mm

JIS_B4JIS B4、257 x 364 mm

JIS_B5JIS B5、182 x 257 mm

ISO_C5ISO/DN C5、162 x 229 mm

ISO_DESIGNATED_LONGISO/DN Designated Long、110 x 220 mm

EXECUTIVEExecutive、7 1/4 x 10 1/2 in

LEDGERLedger、11 x 17 in

NA_LETTERNorth American Letter、8 1/2 x 11 in

NA_LEGALNorth American Legal、8 1/2 x 14 in

NA_NUMBER_9_ENVELOPENorth American #9 Business Envelope、3 7/8 x 8 7/8 in

NA_NUMBER_10_ENVELOPENorth American #10 Business Envelope、4 1/8 x 9 1/2 in

MONARCH_ENVELOPEMonarch Envelope、3 7/8 x 7 1/2 in

CONTINUOUS_80_COLUMNSData Processing 80 Columns Continuous Sheet、8 x 11 in

付録 A. HATS Toolkit のファイル 159

Page 172: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

CONTINUOUS_132_COLUMNSData Processing 132 Columns Continuous Sheet、13 1/5 x 11

in

printRTLSupportRTL 印刷のサポートを使用可能にするかどうかを指定します。このプロパティーはアラビア語 3270 セッションのみに適用されます。双方向ファイルは RTL ファイルまたは LTR ファイルのどちらでもかまいません。有効な値は true および false です。デフォルト値は true です。

printSupportプロジェクトに印刷機能が含まれているかどうかを指定します。printSupport の有効な値は、true および false です。初期デフォルト値は false です。

printSymSwapSupport対称スワッピングが使用可能かどうかを指定します。スワッピング文字は RTL 画面でスワップされます。printRTLSupport が使用可能な場合、このプロパティーはアラビア語 3270 セッションのみに適用されます。有効な値は true および false です。デフォルト値はtrue です。

printURL5250 サーバーの System i® Access for Web Printer Output ウィンドウの URL を指定します。デフォルトの URL は、http://hostname/webaccess/iWASpool です。hostname は 5250 サーバーの名前です。

com.ibm.hats.common.NextScreenSettings クラスの場合、カスタマイズ可能な設定は以下のとおりです。

default.appletDelayInterval非同期更新モードで実行中のセッションについて、フル・ホスト画面が到達するまでにサーバーが待機する最大時間 (ミリ秒単位) を指定します。初期デフォルト値は 400 ミリ秒です。

default.blankScreen接続開始時に受信するブランク画面の取り扱い方法を指定します。有効な値は以下のとおりです。

normalブランク画面を表示します。

sendkeysdefault.blankScreen.keys 設定に定義されたホスト・キーを送信します。

timeout接続がタイムアウトになり、エラー・メッセージが発行されるまで待機します。

デフォルトは normal です。

160 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 173: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

default.blankScreen.keysdefault.blankScreen に sendkeys を設定した場合、送信するホスト・キーを指定します。

default.delayInterval初期画面更新後に次の画面更新に到達するまでにサーバーが待機する最大時間 (ミリ秒単位) を指定します。初期デフォルト値は 1200

ミリ秒です。

default.delayStartホスト接続の準備が完了してから最初のフル・ホスト画面が到達するまでにサーバーが待機する最小時間 (ミリ秒単位) を指定します。初期デフォルト値は 2000 ミリ秒です。

nextScreenClass正確性を重視する場合に、速度が最適化されたデフォルトのアルゴリズムをオフにするクラスを指定します。value 属性のクラスは、com.ibm.hats.runtime.TimingNextScreenBean です。その結果、画面遷移が遅くなる可能性があります。default.delayInterval 設定では、画面遷移に要する時間は最小 (ミリ秒単位) に設定されています。default.delayInterval のデフォルト値は 1200 ミリ秒ですが、ネットワークやホスト・アプリケーションに合わせてカスタマイズできます。この値を大きくした場合、HATS はホスト画面が安定するまで最低でもこの時間待機することに注意してください。

oiaLockMaxWaitホスト画面が安定し、OIA システム・ロックの状況が確実にリリースされた後 HATS が待機する最大時間 (ミリ秒単位) を指定します。値の範囲は、0 ミリ秒から 600000 ミリ秒です。初期デフォルト値は 300000 ミリ秒です。

value この設定の値は、個別の設定の記述に組み込まれています。

<poolsettings> タグ<poolsettings> タグは、接続のプール・パラメーターを定義します。

<poolsettings> タグの属性には以下のものがあります。

enabledこの接続でプールが有効かどうかを指定します。enabled の有効な値は、true および false です。初期デフォルト値は false です。

maxbusytimeエンド・ユーザーが使用している接続が終了するまでの秒数。アクティブ接続を終了させない場合は、このフィールドを -1 に設定します。この設定は、プール可能な接続と、プール不能な接続の両方で有効です。プール可能な接続の場合、プール内の有効接続数が、接続状態のまま保持するように指定した最小接続数よりも少なくなると、接続がプールに戻ります。そうでない場合、この接続は廃棄されます。プール不能な接続の場合、接続は廃棄されます。有効な秒数は -1 または 60 から 2147483647 の範囲です。デフォルトは -1 (最大使用中時間なし) です。

付録 A. HATS Toolkit のファイル 161

Page 174: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

maxconnectionsプール内でアクティブにすることのできる接続の最大数。この設定は、プール可能な接続でのみ有効です。有効な接続の数は 1 から 2147483647 の範囲です。デフォルトは、1 です。指定した最大値に達した場合、追加の接続要求を受け取ると、HATS では、次の有効な接続を待機するか、新しい接続を作成することができます。

maxidletimeエンド・ユーザーが使用していない接続が、終了してプールから除去されるまでの秒数。非アクティブ接続を終了させない場合は、このフィールドを-1 に設定します。この設定は、プール可能な接続でのみ有効です。最小接続数に指定した数の接続は、使用中かどうかに関係なく、接続状態のまま保たれます。有効な秒数は -1 または 60 から 2147483647 の範囲です。デフォルトは -1 (最大アイドル時間なし) です。

minconnectionsプール内、接続状態のまま保持するアイドル接続の数。この設定は、接続がプール可能であり、かつ、切断までの最大アイドル時間が -1 以外の値に設定されている場合にのみ有効です。有効な接続数は、0 から 2147483647 です。デフォルトは 0 (接続を接続状態のまま保持しない) です。

overflowallowed最大接続数に達した場合に、非プール接続を新たに作成するかどうかを指定します。この値が false の場合は、プール接続が使用可能になるまでに待機する秒数を指定する必要があります。待機時間が経過しても接続が使用可能にならない場合、HATS からエラーが戻ります。この値が true の場合は、非プール接続が新たに作成されます。エンド・ユーザーがこのタイプの接続の使用を終了したとき、接続はプールに戻されずに廃棄されます。

waittimeout最大接続数に達した場合、別の接続要求が到着したときに、プール接続が使用可能になるまでに待機する秒数。有効な秒数は、0 から 2147483647 までか、-1 (いつまでも待機する) です。デフォルト値は 120 です。

<webexpresslogon> タグ<webexpresslogon> タグは、この接続に対して Web 高速ログオン機能が使用可能かどうかを示します。

<webexpresslogon> タグの属性は以下のとおりです。

enabledこの接続に対して Web 高速ログオン機能が使用可能かどうかを指定します。enabled の有効な値は、true および false です。初期デフォルト値はfalse です。

<userconfig> タグ<userconfig> タグは、接続のユーザー・リストを定義します。 <userconfig> タグの内側のタグおよびデータは複雑であるため、手動編集を行うと破損する可能性があります。ユーザー・リストの整合性を保護するために、<userconfig> データは手動編集しないでください。ユーザー・リストを作成または変更する場合には、代わり

162 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 175: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

に接続エディターの「ユーザー・リスト」タブを使用してください。デフォルトではホスト接続にこのタグは指定されておらず、ユーザー・リストはありません。

テンプレート・ファイルと変換ファイル (.jsp)これらの JavaServer Page (JSP) ファイルには、エンド・ユーザーのブラウザーにプロジェクトをどのように表示するかを定義する HTML および JSP タグ設定が含まれています。

テンプレート .jsp ファイルは、project_name/Web Content/Templates ディレクトリーに格納されています。変換 .jsp ファイルは、project_name/WebContent/Transformations ディレクトリーに格納されています。 .jsp ファイルのソースを表示および編集するには、「HATS プロジェクト表示」でテンプレートまたは変換の名前をダブルクリックして、JSP エディターをオープンします。そして、「ソース」タブをクリックして、ファイルのソースを表示することができます。

JSP エディターで「設計 (Design)」タブまたは「ソース」タブを使用して、テンプレート・ファイルおよび変換ファイルを変更することができます。一方のタブで変更を行うと、もう一方のタブで影響のある情報が更新されます。

テンプレート .jsp ファイルには、プロジェクト・ページ用のリンクおよびイメージを定義する HTML タグ設定が含まれています。テンプレート .jsp ファイルには、<HATS:Transform> タグも含まれています。このタグは、プロジェクトのページを提示するためにテンプレートと共に使用する変換を定義します。

変換 .jsp ファイルには、Web ブラウザーでプロジェクトのユーザーに提示する情報のレイアウトを記述する HTML タグが含まれています。変換 .jsp ファイルには、<HATS:Component> タグも含まれていることがあります。このタグは、プロジェクトのページを提示するために使用する HATS コンポーネントおよびウィジェットを定義します。<HATS:Component> タグの詳細については、 21ページの『HATS

のコンポーネント・タグおよび属性』を参照してください。

画面組み合わせファイル (.evnt)画面組み合わせファイルは、ホスト画面をどのように認識するかを定義するほか、画面が認識されたときに HATS が実行するアクション、画面組み合わせの終了を定義する方法、および画面間をナビゲートする方法も定義します。画面組み合わせ(.evnt) ファイルは project_name/Web Content/WEB-INF/profiles/events/screencombinations ディレクトリーに格納されています。画面組み合わせファイルのソースを表示および編集するには、「HATS プロジェクト」ビューで目的の画面組み合わせの名前をダブルクリックして、画面組み合わせエディターを開きます。そして、「ソース」タブをクリックして、ファイルのソースを表示することができます。エディターで、「開始画面」、「レンダリング (Render)」、「ナビゲーション」、「終了画面」、「アクション」、「テキスト置換」、または「ソース」タブを使用して、画面組み合わせファイルを変更することができます。いずれかのタブで変更を行うと、HATS Toolkit はその他のタブ上で該当情報を更新します。画面組み合わせイベント・ファイルには、ホスト画面をどのように認識するか、およびホスト画面が認識されたときに行うアクションとナビゲーションを定義するタグが含まれています。

付録 A. HATS Toolkit のファイル 163

Page 176: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

画面組み合わせにより、いくつかのタグが画面カスタマイズ (.evnt) ファイルで検出されたタグに追加されます。

<combinations> タグこれは、組み合わせ情報のコンテナーです。 type 属性および画面組み合わせコンポーネントの詳細を説明するレンダリング項目で構成されます。

type type パラメーターにより、画面変換が集約される方法を判別します。

文字列値が dynamic に設定されている場合、ユーザーが画面変換を使用している間、画面変換によって、結合領域に画面を追加できます。

文字列値が normal に設定されているか、または欠落している場合、ユーザーが画面変換と相互作用できるようになる前に、個々の画面が結合します。リッチ・クライアント画面結合は通常処理に制限されます。

<enddescription> タグこれは、画面結合終了画面に達したかどうかを判別するために使用する画面基準について説明します。タグおよび詳細は description タグと一致します。終了画面に関連した画面には、属性 associatedScreen があります。

associatedScreenこれは、終了画面に関連した画面キャプチャーです。

<navigation> タグナビゲーションには、データの収集および配置を行うために、画面間を移動するのに必要なコマンドが含まれます。 screenUp および screenDown タグで構成されます。

<screenUp> タグ組み合わせ内で画面を逆方向にトラバースするのに必要なコマンド。これは、データを画面組み合わせ内の正しい位置に戻すために使用されます。keyPress、setCursor、および sendText タグで構成されます。

<screenDown> タグ組み合わせ内で画面を順方向にトラバースするのに必要なコマンド。これは、データを画面組み合わせ内の正しい位置に戻すと同時に、画面組み合わせビューを作成するために使用されます。 keyPress、setCursor、および sendText タグで構成されます。

<keyPress> タグこのナビゲーション・コマンドは sendKey に相当します。 HOD コマンド送信用のvalue 属性があります。これは、有効な HOD キー・コマンドでなければなりません。

value keyPress タグの value 属性は、有効な HOD キー・コマンドでなければなりません。

164 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 177: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

<setCursor> タグこのナビゲーション・コマンドにより、カーソルを画面上に配置できます。カーソル配置用の row および column 属性があります。

row row 属性は、画面上の位置に相当する、1 を基準とした整数でなければなりません。これは、カーソル位置の垂直コンポーネントを位置決めします。

columncolumn 属性は、画面上の位置に相当する、1 を基準とした整数でなければなりません。これは、カーソル位置の水平コンポーネントを位置決めします。

<sendText>このナビゲーション・コマンドは sendKey に相当します。テキスト送信用の value

属性があります。これは、ホスト・フィールドの有効なテキストでなければなりません。

value sendText タグの value 属性は、ホスト・フィールドの有効なテキストでなければなりません。

画面カスタマイズ・ファイル (.evnt)画面カスタマイズ・ファイルは、ホスト画面をどのように認識するかを定義するほか、画面が認識されたときに HATS が行うアクションも定義します。

画面カスタマイズ (.evnt) ファイルは、project_name/Web Content/WEB-INF/profiles/events/screencustomizations ディレクトリーに格納されています。画面カスタマイズ・ファイルのソースを表示および編集するには、「HATS プロジェクト表示」で目的の画面カスタマイズの名前をダブルクリックして、画面カスタマイズ・エディターを開きます。そして、「ソース」タブをクリックして、ファイルのソースを表示することができます。

エディターで、「画面認識基準」、「アクション」、「テキスト置換」、または「ソース」タブを使用して、画面カスタマイズ・ファイルを変更することができます。いずれかのタブで変更を行うと、HATS Toolkit はその他のタブ上で該当情報を更新します。

画面カスタマイズ・イベント・ファイルには、ホスト画面をどのように認識するか、およびホスト画面が認識されたときに行うアクションを定義するタグが入っています。

<event> タグ画面カスタマイズの定義を開始します。event タグには以下の属性があります。

description画面カスタマイズを作成するときに説明を付加してある場合は、この属性でその説明が定義されます。

type 画面カスタマイズの場合は、type は常に screenRecognize です。結合画面の場合、type は screenCombination です。

付録 A. HATS Toolkit のファイル 165

Page 178: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

<actions> タグこれは、画面カスタマイズ用に定義されたすべてのアクションを囲むタグです。このタグには属性はありません。

<apply> タグ変換を適用するためのアクションを定義します。<apply> タグの属性には以下のものがあります。

applyGlobalRulesホスト画面で HATS がグローバル規則を検索するかどうかを指定します。デフォルトは true です。

applyTextReplacementこのホスト画面で HATS がテキスト置換を検索するかどうかを指定します。デフォルトは true です。テキスト置換の使用方法について詳しくは、<replace> タグを参照してください。

enabledこのアクションが使用可能かどうかを表します。デフォルトは true です。

immediateKeysetプロジェクトのエンド・ユーザーが押すと同時にホストに送られるホスト・キーを定義します。ホストにただちに送信するホスト・キーを定義していない場合は、この属性の値は空です。

template適用する変換を囲むテンプレート・ファイルの名前を示します。デフォルトのテンプレートを使用して変換を囲む場合は、この属性の値は空です。

transformationこのアクション用として適用する変換ファイルの名前を示します。

<insert> タググローバル変数またはストリングを挿入するためのアクションを定義します。<insert> タグの属性には以下のものがあります。

enabledこのアクションが使用可能かどうかを表します。デフォルトは true です。

row ホスト画面上で値を挿入する位置の開始行を定義します。

col ホスト画面上で値を挿入する位置の開始カラムを定義します。

source 挿入する値が、ストリングか、グローバル変数の値かを指定します。有効な値は string および variable です。

value ホスト画面に挿入するストリングか、値がとられるグローバル変数の名前を指定します。

fill 挿入する値のソースが索引付きグローバル変数である場合、fill は、グローバル変数の索引を連結して指定位置に挿入するか、ホスト画面上の長方形の領域に挿入するかを指定します。有効な値は concatenate および rectangular

です。

166 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 179: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

index 挿入する値のソースが索引付きグローバル変数である場合に、index は、ホスト画面に挿入する値として使用する索引の番号を指定します。

shared 挿入する値のソースがグローバル変数である場合、shared は、このグローバル変数を同じ EAR ファイル内のすべてのアプリケーション間で共用するかどうかを指定します。

<extract> タググローバル変数を抽出するためのアクションを定義します。<extract> タグの属性には以下のものがあります。

enabledこのアクションが使用可能かどうかを表します。デフォルトは true です。

srow ホスト画面上から抽出するテキストの開始行を定義します。

erow ホスト画面上から抽出するテキストの終了行を定義します。

scol ホスト画面上から抽出するテキストの開始カラムを定義します。

ecol ホスト画面上から抽出するテキストの終了カラムを定義します。

name 抽出したテキストを入れるグローバル変数の名前を指定します。これは、既存のグローバル変数でも新規のグローバル変数でも構いません。

overwrite既存のグローバル変数の値を抽出したテキストで上書きするかどうかを指定します。有効な値は true および false です。

indexed抽出するテキストが単一のストリングか、ストリングのリストかを指定します。リストの場合、各ストリングは抽出された領域内の 1 行のテキストに対応します。有効な値は true および false です。

index 既存のグローバル変数に索引が付いている場合は、この属性は、抽出した値が書き込まれる索引番号を指定します。この属性の効果は、overwrite 属性の値によって異なります。overwrite=true であれば、既存の変数内の指定された索引位置から始まる部分が、抽出された値で上書きされます。overwrite=false であれば、既存の変数内の指定された索引位置に、抽出された値が挿入されます。

shared shared は、グローバル変数を同じ EAR ファイル内のすべてのアプリケーション間で共用するかどうかを指定します。

<set> タググローバル変数を設定するためのアクションを定義します。<set> タグの属性には以下のものがあります。

enabledこのアクションが使用可能かどうかを表します。デフォルトは true です。

name 設定するグローバル変数の名前を指定します。これは、既存のグローバル変数でも新規のグローバル変数でも構いません。

shared 設定するグローバル変数を同じ EAR ファイル内のすべてのアプリケーション間で共用するかどうかを指定します。

付録 A. HATS Toolkit のファイル 167

Page 180: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

type 設定するグローバル変数の値を、定数からとるか計算値からとるかを指定します。有効な値は string および calculate です。

value このグローバル変数に割り当てる値を指定します。

overwrite既存のグローバル変数の値を、設定した値で上書きするかどうかを指定します。有効な値は true および false です。

index 設定した値を既存の索引付きグローバル変数に書き込む場合、この属性は、設定した値を書き込む索引の番号を指定します。この属性の効果は、overwrite 属性の値によって異なります。overwrite=true であれば、既存の変数内の指定された索引位置から始まる部分が、設定した値で上書きされます。overwrite=false であれば、既存の変数内の指定された索引位置に、設定した値が挿入されます。

op1 計算される値の第 1 オペランドが、定数か、既存のグローバル変数の値かを指定します。有効な値は、定数、またはグローバル変数の名前です。

op1_type計算される値の第 1 オペランドを、定数として設定するか、既存のグローバル変数からの値として設定するかを指定します。有効な値は string および variable です。

op1_index計算される値の第 1 オペランドの値のソースが索引付きグローバル変数である場合、op1_index は、計算対象の値として使用する索引の番号を指定します。

op1_sharedop1 の値がグローバル変数である場合、shared は、このグローバル変数を同じ EAR ファイル内のすべてのアプリケーション間で共用するかどうかを指定します。

op 計算される値の第 1 オペランドと第 2 オペランドの間で行う演算のタイプを指定します。有効な値は、+ (加算)、- (減算)、* (乗算)、/ (除算)、% (モジュロ) などの演算を連結したものです。

op2 計算される値の第 2 オペランドが、定数か、既存のグローバル変数の値かを指定します。有効な値は、定数、またはグローバル変数の名前です。

op2_type計算される値の第 2 オペランドを、定数として設定するか、既存のグローバル変数からの値として設定するかを指定します。有効な値は string および variable です。

op2_index計算される値の第 2 オペランドの値のソースが索引付きグローバル変数である場合、op2_index は、計算対象の値として使用する索引の番号を指定します。

op2_sharedop2 の値がグローバル変数である場合、shared は、このグローバル変数を同じ EAR ファイル内のすべてのアプリケーション間で共用するかどうかを指定します。

168 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 181: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

dec 計算された値を丸めた後に残す小数点以下の桁数を指定します。有効な値は0 から 999 です。

<execute> タグビジネス・ロジックを実行するためのアクションを定義します。<execute> タグの属性には以下のものがあります。

enabledこのアクションが使用可能かどうかを表します。デフォルトは true です。

class ビジネス・ロジックを含める Java クラスの名前を指定します。class 値は必須です。

methodクラス内の、ビジネス・ロジックを実行するメソッドの名前を指定します。method 値は必須です。

packageファイル・システム内でこの Java クラスが入っているパッケージの名前を指定します。package 値はオプションです。

<show> タグURL を表示するためのアクションを定義します。<show> タグには以下の属性があります。

enabledこのアクションが使用可能かどうかを表します。デフォルトは true です。

templateこのアクションに使用するテンプレートを指定します。

url 表示する Web ページの URL を示します。この属性は必須です。

<forwardtoURL> タグプロジェクトから統合オブジェクトを呼び出す JSP に制御を引き渡すためのアクションを定義します。<forwardtoURL> タグには以下の属性があります。

enabledこのアクションが使用可能かどうかを表します。デフォルトは true です。

startStateLabel統合オブジェクト・チェーンを持つ JSP に制御を転送する場合、実行するチェーンの中の最初の統合オブジェクトの開始状態ラベルを指定します。

url 統合オブジェクト JSP の URL を指定します。

<disconnect> タグデフォルト接続を切断します。このアクションを使用する場合は注意が必要です。このアクションは、回復できないイベントに対してのみ使用してください。<disconnect> タグには以下の属性があります。

enabledこのアクションが使用可能かどうかを表します。デフォルトは true です。

付録 A. HATS Toolkit のファイル 169

Page 182: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

<play> タグマクロを実行するためのアクションを定義します。<play> タグには以下の属性があります。

enabledこのアクションが使用可能かどうかを表します。デフォルトは true です。

macro 実行するマクロの名前を指定します。この属性は必須です。

<perform> タグ任意の接続 (デフォルト接続でなくてもよい) に対してマクロを実行するためのアクションを定義します。このアクションは、現在のホスト画面には影響しません。<perform> タグには以下の属性があります。

connectionマクロを実行する接続。デフォルトは main です。

enabledこのアクションが使用可能かどうかを表します。デフォルトは true です。

macro 実行するマクロの名前。

<pause> タグ通常処理を続行するまでの待ち時間のアクションを定義します。<pause> タグには以下の属性があります。

enabledこのアクションが使用可能かどうかを表します。デフォルトは true です。

time 通常処理を続行するまでの一時停止時間 (ミリ秒単位) を指定します。

<sendkey> タグアクションを実行するためにホスト画面に指定したキーを送信するアクションを定義します。<sendkey> タグには以下の属性があります。

enabledこのアクションが使用可能かどうかを表します。デフォルトは true です。

key ホスト画面に送信するキーを示します。

row ホスト画面上でキーを挿入する開始行を定義します。

col ホスト画面上でキーを挿入する開始カラムを定義します。

<globalRules> タグ<globalRules> タグは、画面イベントに定義するグローバル規則を囲むタグです。このタグには属性はありません。

<rule> タグ<rule> タグは、グローバル規則を定義します。

画面カスタマイズ・レベル規則用の <rule> タグの属性は、プロジェクト・レベルのグローバル規則用の属性と同じです。しかし、同じ入力フィールドを使用して画面

170 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 183: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

カスタマイズ・レベルとプロジェクト・レベルのグローバル規則を作成すると、画面カスタマイズ・レベル規則の優先順位の方が高くなります。 <rule> タグの属性には以下のものがあります。

associatedScreenグローバル規則を定義する際の基準となる、プロジェクトの中の画面キャプチャーの名前。

componentSettingsグローバル規則に対して構成する設定 (例えば、認識基準)。

descriptionグローバル規則の作成時に入力した説明。

enabledグローバル規則が使用可能かどうかを表します。プロジェクト設定の「レンダリング」ページのチェック・ボックスの状態を反映します。

endColこのグローバル規則を適用するべきホスト画面の最後のカラムです。-1

は、ホスト画面の右端のカラムを意味します。

endRowこのグローバル規則を適用するべきホスト画面の最後の行です。-1 は、ホスト画面の最後の行を意味します。

name 「プロジェクト設定」の「レンダリング」ページのグローバル規則のリストに表示される名前。

startColこのグローバル規則を適用するべきホスト画面の最初のカラムです。

startRowこのグローバル規則を適用するべきホスト画面の最初の行です。

transformationFragmentグローバル規則に関連付けられた変換フラグメント・ファイルの名前。このファイルには、ホスト・コンポーネントの変換方法を指定する情報が含まれています。該当するフィールドがホスト画面に存在する場合、この情報は変換に組み込まれます。

type このグローバル規則のパターン・タイプ・コンポーネントで、「グローバル規則の作成」ウィザードの最初のページで取得します。タイプは次のいずれかです。

com.ibm.hats.transform.components.InputFieldByTextPatternComponentこのパターン・コンポーネントは、フィールド近くのテキストを基にしてホスト画面上の入力フィールドを認識します。

com.ibm.hats.transform.components.AllInputFieldsPatternComponentこのパターン・コンポーネントは、ホスト画面上のすべての入力フィールドを認識します。

com.ibm.hats.transform.components.InputFieldBySizePatternComponentこのパターン・コンポーネントは、入力フィールドのサイズを基にしてホスト画面上の入力フィールドを認識します。

付録 A. HATS Toolkit のファイル 171

Page 184: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

それぞれ固有のグローバル規則には、次のタグも含まれています。

componentSettings<componentSettings> タグは、<rule> タグの型属性で指定したパターン・タイプ・コンポーネント用に定義された設定を囲むタグです。このタグには属性はありません。

setting <setting> タグは、<rule> タグの型属性で指定したパターン・タイプ・コンポーネント用に定義された設定を囲むタグです。

<setting> タグの属性には以下のものがあります。

name パターン・タイプ・コンポーネントのカスタマイズ可能な設定の名前を指定します。使用可能な設定はコンポーネントによって異なります。

v com.ibm.hats.transform.components.InputFieldByText の場合、name

属性の設定は以下のとおりです。

caseSensitiveパターンを認識する前に、テキスト設定で大文字小文字の区別を一致させる必要があるかどうかを指定します。有効な値は true および false です。デフォルトはtrue です。

immediatelyNextTo変換する入力フィールドを指定します。有効な値は以下のとおりです。

true 最も近い入力フィールドのみ変換の必要があることを指定します。

false すべての入力フィールドを変換する必要があることを指定します。

デフォルトは false です。

locationテキスト設定で指定した保護フィールドのテキストを、適用するグローバル規則の入力フィールドに対してどの位置に置くかを指定します。有効な値は以下のとおりです。

ABOVE入力フィールドの上に表示するテキストを指定します。

BELOW入力フィールドの下に表示するテキストを指定します。

LEFT 入力フィールドの左に表示するテキストを指定します。

RIGHT入力フィールドの右に表示するテキストを指定します。

172 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 185: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

デフォルトは RIGHT です。

text ホスト画面の保護フィールドに表示するテキストを指定します。有効な値は、ホスト画面上の保護フィールドの中の任意のテキストです。

v com.ibm.hats.transform.components.AllInputFields の場合、コンポーネント設定はありません。

v com.ibm.hats.transform.components.InputFieldBySize の場合、name

属性の設定は fieldSize です。有効な値は、ホスト画面上の任意の入力フィールドのサイズです。

<associatedScreens> タグ<associatedScreens> タグは、その後に続く screen タグを囲むタグです。

<screen> タグ画面カスタマイズに関連した画面を定義します。<screen> タグには以下の属性があります。

name 取り込んだ画面 (画面認識基準およびアクションが定義されているもの) の名前を指定します。

<description> タグ<description> タグは、画面カスタマイズに関連した説明を囲むためのタグで、<oia>

タグと <string> タグから成っています。 description タグには属性はありません。

<oia> タグ画面カスタマイズ .evnt ファイルの中の <oia> タグは、一致する必要があるオペレーター情報域 (OIA) 条件を指定します。このタグはオプションです。デフォルトでは、禁止状況になるまで待機します。<oia> タグの属性には以下のものがあります。

status NOTINHIBITED の場合は、OIA の禁止を解除しなければ一致は起こりません。DONTCARE の場合は、OIA 禁止状況は無視されます。これは、OIA をまったく指定しない場合と同じ振る舞いとなります。有効な値はNOTINHIBITED および DONTCARE です。これは必須属性です。

optionalfalse の場合は、画面認識時にこの記述子は非オプションと見なされます。記述子に複数の非オプションの記述子および複数のオプション記述子が含まれる場合は、非オプション記述子が最初に検査されます。非オプション記述子がすべて一致する場合は、画面が一致します。一致しない非オプション記述子が 1 つでも存在する場合は、オプション記述子が検査されます。オプション記述子のいずれかが一致すると、画面が一致します。それ以外の場合は画面は一致しません。値は true または false でなければなりません。この属性はオプションです。デフォルトは false です。

invertmatchtrue の場合は、画面がこの記述エレメントに一致しない (ブール not 演算)

付録 A. HATS Toolkit のファイル 173

Page 186: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

場合にのみ、認識比較を通過します。値は true または false でなければなりません。この属性はオプションです。デフォルトは false です。

<string> タグ<string> タグは、ストリングに基づいて画面を記述します。<string> タグの属性には以下のものがあります。

value ストリング値。この値は、任意の有効な Unicode 文字を含むことができます。これは必須属性です。

row ストリングの開始行の位置 (絶対位置または長方形の中の位置)。値は数値または数値に評価される式でなければなりません。この値はオプションです。指定しない場合は、マクロ・ロジックは画面全体でストリングを検索します。指定する場合は、カラム位置も指定する必要があります。<erow> 属性および <ecol> 属性を指定して、長方形の領域内のストリングを指定することもできます。

注: 負の値も有効です。負の値は、画面の最下部を基準とする相対位置を示します (例えば、-1 は最終行です)。

col ストリングの開始カラムの位置 (絶対位置または長方形の中の位置)。値は数値または数値に評価される式でなければなりません。この属性はオプションです。

erow 長方形の中でのストリングの終了行位置。値は数値または数値に評価される式でなければなりません。この属性はオプションです。erow と ecol の両方を指定する場合は、ストリングは長方形の内側に位置します。

ecol 長方形の中でのストリングの終了カラム位置。値は数値または数値に評価される式でなければなりません。この属性はオプションです。erow と ecolの両方を指定する場合は、ストリングは長方形の内側に位置します。

casesensetrue の場合は、ストリングの比較時に大文字と小文字を区別します。この値は、true、false、または true か false に評価される式でなければなりません。この属性はオプションです。デフォルトは false です。

optionalfalse の場合は、画面認識時にこの記述子は非オプションと見なされます。記述子に複数の非オプションの記述子および複数のオプション記述子が含まれる場合は、非オプション記述子が最初に検査されます。非オプション記述子がすべて一致する場合は、画面が一致します。一致しない非オプション記述子が 1 つでも存在する場合は、オプション記述子が検査されます。オプション記述子のいずれかが一致すると、画面が一致します。それ以外の場合は画面は一致しません。この値は、true、false、または true か false に評価される式でなければなりません。この属性はオプションです。デフォルトは false です。

invertmatchtrue の場合は、画面がこの記述エレメントに一致しない (ブール not 演算)

場合にのみ、認識比較を通過します。この値は、true、false、または true かfalse に評価される式でなければなりません。この属性はオプションです。デフォルトは false です。

174 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 187: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

<nextEvents> タグ<nextEvents> タグは、その後に続く <event> タグを囲むタグです。<nextEvents> タグには以下の属性があります。

defaultEventevent タグで指定された画面カスタマイズに一致するものがない場合、表示する次の画面として使用するデフォルトの画面カスタマイズ (イベント) を指定します。defaultEvent でイベントを指定しなかった場合、プロジェクト設定の通常のイベント優先順位リストが使用されます。有効な値は以下のとおりです。

v unmatchedScreen

v error

v disconnect

v stop

v (値なし)

<event> タグ発生が予想される次の画面の画面カスタマイズをプロジェクトにもう 1 つ定義します。<event> タグには以下の属性があります。

enabledname 属性で定義した画面カスタマイズ (イベント) が使用可能かどうかを示します。デフォルトは true です。

name 発生が予想される次の画面の画面カスタマイズの名前を指定します。

<remove> タグ<remove> タグは、画面カスタマイズ (イベント) に以前追加されたグローバル変数を除去します。 <remove> タグには以下の属性があります。

enabledname 属性に定義されたグローバル変数で除去操作が使用可能になっているかどうかを示します。デフォルトは true です。

name 除去するグローバル変数の名前を指定します。

remove Type除去するグローバル変数の型を指定します。型には、oneLocal、oneShared、allLocal、allShared、および all などがあります。

マクロ・ファイル (.hma)マクロ・ファイルは、project_name/Web Content/WEB-INF/profiles/macros ディレクトリーに格納されます。マクロ・ファイルのソースを表示および編集するには、「HATS プロジェクト表示」で目的のマクロの名前をダブルクリックして、マクロ・エディターをオープンします。そして、「ソース」タブをクリックして、ファイルのソースを表示することができます。マクロについて詳しくは、「拡張マクロ・ガイド」を参照してください。

付録 A. HATS Toolkit のファイル 175

Page 188: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

マクロ・ファイルには、一組の画面を定義するタグが含まれています。タグについては、この後のセクションで説明されます。

<macro> タグマクロの定義を開始します。macro タグには属性はありません。

<associatedConnections> タグ<associatedConnections> タグは、<connection> タグを囲みます。<associatedConnections> タグの属性は次のとおりです。

default このマクロのデフォルト接続を識別します。

<connection> タグ<connection> タグは、このマクロが関連付けられている接続を識別します。connection タグの属性は以下のとおりです。

name このマクロが関連付けられている接続の名前を識別します。

<extracts> タグ<extracts> タグは、その後に続く extract タグを囲むタグです。<extracts> タグには属性はありません。

<extract> タグ<extract> タグは、実行する抽出を定義します。extract タグの属性には以下のものがあります。

name 抽出の名前を指定します。

handler抽出した情報をエンド・ユーザーに対して表示するための .jsp ファイルを選択できます。HATS には、default.jsp という名前のデフォルトのマクロ・ハンドラーが組み込まれています。このファイルを見付けるには、HATS

Toolkit の「HATS プロジェクト表示」タブをクリックし、プロジェクト名を展開し、次に「マクロ」>「マクロ・イベント・ハンドラー」の順に展開します。独自のハンドラーを作成する場合は、必ず HATS ランタイムに制御を戻してください。

showHandler抽出した情報をエンド・ユーザーに提示するかどうかを指定します。有効な値は true および false です。

shared 抽出するグローバル変数を同じ EAR ファイル内のすべてのアプリケーション間で共用するかどうかを指定します。

save 抽出した情報をグローバル変数に保存するかどうかを指定します。有効な値は true および false です。

variableName抽出した情報をグローバル変数に保存する場合に、variableName は新規または既存のグローバル変数の名前を指定します。

176 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 189: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

overwrite抽出した情報を既存のグローバル変数に保存する場合に、overwrite は、既存のグローバル変数の現行値を抽出した情報で上書きするのか、抽出した情報を現行値に追加するのかを指定します。有効な値は true および false

です。True は、既存のグローバル変数の値を上書きすることを指定します。

index 抽出した値を既存の索引付きグローバル変数に書き込む場合、この属性は、設定した値を書き込む索引の番号を指定します。この属性の効果は、overwrite 属性の値によって異なります。overwrite=true であれば、既存の変数内の指定された索引位置から始まる部分が、抽出した値で上書きされます。overwrite=false であれば、既存の変数内の指定された索引位置から始まる部分に、抽出した値が挿入されます。

indexed抽出する情報が、単一のストリングか、ストリングのリストかを指定します。有効な値は true および false です。True は、抽出する情報がストリングのリストであることを指定します。

isBidi マクロの記録で使用される接続が双方向かどうかを指定します。有効な値はtrue および false です。

isRtlScreen双方向画面が RTL であるかどうかを指定します。有効な値は true およびfalse です。

screenorientation「抽出」アクションの方向を指定します。有効な値は ltr および rtl です。

<prompts> タグ<prompts> タグは、その後に続く prompt タグを囲むタグです。prompts タグには属性はありません。

<prompt> タグ<prompt> タグは、表示するプロンプトを定義します。<prompt> タグの属性には以下のものがあります。

name プロンプトの名前を指定します。

handlerエンド・ユーザーに必要な情報の入力を求めるための .jsp ファイルを選択し、ユーザーが情報を送信するためのボタンを組み込むことができます。HATS には、default.jsp という名前のデフォルトのマクロ・ハンドラーが組み込まれています。このファイルを見つけるには、HATS Toolkit の「HATS プロジェクト表示」タブをクリックし、プロジェクト名を展開し、「マクロ」>「マクロ・イベント・ハンドラー」の順に展開します。独自のハンドラーを作成する場合は、必ず HATS ランタイムに制御を戻してください。

source プロンプトの値をストリングに設定するのか、グローバル変数の値に設定するのかを指定します。有効な値は string および variable です。

付録 A. HATS Toolkit のファイル 177

Page 190: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

variableNameプロンプトの値をグローバル変数に保存する場合に、variableName は新規または既存のグローバル変数の名前を指定します。

variableIndexプロンプトの値を索引付きグローバル変数に保存する場合に、variableIndex

は、値を割り当てる索引を指定します。この値は常に 0 です。

variableIndexedプロンプトの情報を索引付きグローバル変数から取得するかどうかを指定します。有効な値は true および false です。True はグローバル変数が索引付きであることを示します。

value プロンプトに使用するストリングか、値がとられるグローバル変数の名前を指定します。

welApplIDWEL ログオン・マクロで使用するアプリケーション ID を指定します。

welIsPasswordこれが WEL ログオン・マクロで使用されるパスワード・フィールドであるかどうかを指定します。

LTRImpicitOrient暗黙の双方向画面方向が LTR であるかどうかを指定します。有効な値はtrue および false です。

isBidi マクロの記録で使用される接続が双方向かどうかを指定します。有効な値はtrue および false です。

isRtlField双方向フィールドが RTL であるかどうかを指定します。有効な値は true

および false です。

isRtlScreen双方向画面が RTL であるかどうかを指定します。有効な値は true およびfalse です。

screenorientation「プロンプト」アクションの方向を指定します。有効な値は ltr およびrtl です。

<HAScript> タグ<HAScript> タグは、他のマクロ・タグおよび属性を囲むメイン・タグです。マクロ・タグの詳細については、「HATS 拡張マクロ・ガイド」を参照してください。

画面キャプチャー・ファイル (.hsc)画面キャプチャー・ファイルは、ホスト画面の XML 表現であり、画面カスタマイズ、画面組み合わせ、変換、グローバル規則、またはマクロを作成あるいはカスタマイズするために使用されます。

178 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 191: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

画面キャプチャー・ファイルは、project_name/Screen Captures ディレクトリーに格納されます。これらのファイルを表示するには、「HATS プロジェクト表示」で目的の画面キャプチャーの名前をダブルクリックします。画面キャプチャー・ファイルは編集できません。

注: ビデオ端末 (VT) ホスト画面の画面キャプチャーは、Visual Macro Editor を使用して、およびプール構成時のチェックイン画面として、マクロを作成またはカスタマイズするために使用できます。それらは、画面カスタマイズ、画面組み合わせ、変換、デフォルト・レンダリング、またはグローバル規則の作成には使用できません。

BMS マップ・ファイル (.bms および .bmc)基本マッピング・サポート (BMS) のマップは、顧客情報管理システム (CICS®) の画面定義ファイルです。各マップが 1 つの画面の全体または一部を定義しており、通常 CICS アプリケーションが 1 つ以上のマップを表示して、完全な画面イメージを作成します。BMS マップのソースは、マップ・セットというグループに編成されます。1 つのマップ・セットには、1 つ以上のマップが含まれています。マップ・セットは、1 つのソース・ファイルに対して 1 つのマップ・セットというようにソース形式で存在します。

BMS マップ・セット・ファイルは HATS Toolkit のプロジェクトにインポートできます。HATS が BMS マップをインポートする際、インポートはマップ・セットのレベルで行われます。マップ単位で個別にインポートすることはできません。HATS

Toolkit では、インポートされた BMS マップ・セット・ファイルのファイル拡張子は .bms で、個々のマップのファイル拡張子は .bmc になります。

マップ・セット・ファイル (.bms) とマップ・ファイル (.bmc) は両方とも、HATS

プロジェクト内の個別の Maps フォルダーに格納されます。デフォルトでは、マップがインポートされるまで、「HATS プロジェクト表示」では Maps フォルダーは見えません。

HATS によって、マップ・ファイルから画面キャプチャーを生成することができます。画面キャプチャーは、マップ・セットをインポートする際に生成することもでき、Maps フォルダーに入れた後、マップから生成することもできます。マップから画面キャプチャーを生成するには、マップ・ファイル上で右マウス・ボタンをクリックしてポップアップ・メニューを表示し、「画面キャプチャーの生成」を選択します。選択した BMS マップごとに個別の画面キャプチャーを作成することもでき、選択した複数の BMS マップを 1 つの画面キャプチャーにマージすることもできます。フィールドがオーバーラップしている場合は、マップをマージすることはできません。画面キャプチャーを作成すれば、HATS 画面カスタマイズの作成を開始できます。

「HATS プロジェクト表示」内のファイルをダブルクリックすることで、HATS

Toolkit エディターでマップ・セット・ファイルを開くことができます。ファイルの内容の詳細については、「CICS アプリケーション・プログラミング・リファレンス」を参照してください。マップ・セット・ファイルをテキスト・エディターで変更し保存した場合、そのファイルを構成するマップは再生成されますが、1 つ例外があります。マップ・セット・ファイル内でラベル定義されたフィールドの内容が変更されたマップ・ファイルの場合です。このようなマップを再生成するには、

付録 A. HATS Toolkit のファイル 179

Page 192: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

「BMS マップ・セットのインポート (BMS map set import)」ウィザードを使用してソース・ファイルを再度インポートする必要があります。

CICS アプリケーションは、ラベル定義されたフィールドの内容を実行中に変更することができます。CICS アプリケーションの実行時に表示されるフィールドを含む画面キャプチャーを作成する必要がある場合があります。ラベル定義されたフィールドはアプリケーション実行時に変更可能なため、マップ・セット・ファイル (およびマップ・セット内にあるマップ・ファイル) に、実際の画面キャプチャーの生成に必要な情報のすべてが含まれているとは限りません。マップ・ファイルの編集はできませんが、ファイルをダブルクリックすることで、ファイル・プレビューが開きます。HATS Toolkit のプロパティー・シート表示によって、欠落情報を追加し、フィールドの内容を手動で設定できます。フィールドの内容を変更することによって、単一のマップを複数の画面キャプチャーに使用することができます。

注:

1. HATS Toolkit でマップ・ファイルをプレビューする際、プロパティー・シート表示に表示されているフィールドは、「HATS プロジェクト表示」で強調表示されているマップ・ファイルのフィールドであり、プレビュー・ウィンドウに表示されているマップ・ファイルのフィールドではありません。

2. 画面キャプチャー・ファイルが BMS マップ・ファイルから生成されている場合は、HATS Toolkit のプロパティー・シート表示を使用して画面キャプチャー・ファイルを表示することも可能です。

イメージ・ファイル (.gif、.jpg、または .png)イメージ・ファイルは、HATS Toolkit でプロジェクトのユーザーに表示する Web

ページを作成するために、テンプレート・ファイルの中で使用されます。

イメージ・ファイルは、project_name/Web Content/common/images ディレクトリーに格納されます。イメージの名前をダブルクリックすることにより、イメージ・ファイルを表示できます。

スタイルシート・ファイル (.css)HATS Toolkit では、Cascading Style Sheet (スタイル・シート) をテンプレート・ファイルで使用して、色、フォント、境界線、空白、イメージ、マージン、および行間などの外観項目を指定します。

HATS が提供するスタイルシート・ファイルはいくつかのカテゴリーにグループ化できます。

固有テンプレート一部の HATS テンプレートでは、個別化されたスタイル・シートを使用しています。以下のスタイル・シートは、それぞれ金融 (Finance)、工業(Industry)、医療 (Medical)、研究 (Research)、および運輸 (Transport) のテンプレートで使用されています。

v finance.css

v industry.css

v medical.css

180 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 193: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

v research.css

v transport.css

さらに、これらのスタイル・シートは、下にリストする「Font」スタイル・シートおよび「Unique」スタイル・シートと組み合わせて使用できます。例えば、Font スタイル・シートを使用すると、デフォルトの定義済みフォントをオーバーライドできます。これらの固有テンプレート・スタイル・シートと、下にリストしてある「Main」スタイル・シートや「Reverse video」スタイル・シートを組み合わせて使用することはできません。

Main 一部の HATS テンプレートでは、汎用スタイル・シートを組み合わせて使用しています。これらの汎用 main スタイル・シートによって決定されるのは、テンプレートの全体の外観とプロジェクトに追加するその他の制御です。これらの制御の例として、ボタン、入力フィールド、テーブル、フィールド、およびリンクがあります。これらの スタイル・シートは、blacktheme、whitetheme、monochrometheme、および tantheme というように名前の最後に theme が付きます。プロジェクトにおけるコントロールの外観は、例えばHATSCHECKBOX、HATSRADIOBUTTON、HATSDROPDOWN というように、スタイル・シートで名付けられたクラスによって決まります。

Reverse video汎用 main スタイル・シートを使用するテンプレートでは、2 次的なスタイル・シートも使用します。このスタイル・シートにより、プロジェクトのあらゆる反転表示項目のカラー・スキームが決定されます。これらの reverse

video スタイル・シートには、reverseVideoGray、reverseVideoTan、reverseVideoBlack、およびreverseVideoWhite などのように名前の先頭に reverseVideo が付きます。スタイル・シートで名付けられたクラスの中には、RHBLUE、RHGREEN、RHMAGENTA などの名前もあります。

Font HATS が提供するスタイル・シートの中には、デフォルトでテンプレート内で名前がないものがあります。ただし、これらのスタイル・シートをテンプレートに適用し、フォント・ファミリー (Arial や Tahoma) や、テキストのフォント・サイズを変更できます。スタイル・シートの名前でその目的がわかります。

v normalFont.css

v scaleableFont.css

v nonFixedFont.css

v largeFont.css

v smallFont.css

v xlargeFont.css

v xsmallFont.css

UniqueHATS が提供する 3 つの追加スタイル・シートには、それぞれ固有の目的があります。以下に示します。

calendar.cssこのスタイル・シートは、新規ブラウザー・ウィンドウで起動され

付録 A. HATS Toolkit のファイル 181

Page 194: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

たときのカレンダー・ウィジェット日付ピッカーの外観を制御します。このスタイル・シートは、カレンダー・ウィジェットの「インライン・カレンダーの使用 (Use inline calendar)」設定を使用して、現行 Web ページに日付ピッカーが起動される場合には、効果がありません。

inlinecalendar.cssこのスタイル・シートは、現行 Web ページで起動されたときのカレンダー・ウィジェット日付ピッカーの外観の一部を制御します。同じページにカレンダーを表示させるには、カレンダー・ウィジェットの「インライン・カレンダーの使用 (Use inline calendar)」設定を選択します。このスタイル・シートは、日付ピッカーが新規ブラウザー・ウィンドウで起動される場合、つまり「インライン・カレンダーの使用 (Use inline calendar)」設定を使用していない場合には、効果がありません。

PrintJobWindow.cssこのスタイル・シートは、PrintJobHeading、ListHeader、およびListEntry を含む、プロジェクトの印刷ジョブの外観を制御します。

スタイル・シート・ファイルは、project_name/Web Content/common/stylesheets ディレクトリーに格納されています。スタイル・シート・ファイルを編集するには、「HATS プロジェクト表示」で目的のスタイル・シートの名前をダブルクリックして、スタイル・シート・エディターをオープンします。

カスケーディング・スタイルシートの編集の詳細については、「HATS ユーザーと管理者のガイド」の『スタイル・シートの使用』を参照してください。

スプレッドシート・ファイル (.csv または .xls).csv (コンマ区切りの値) または .xls (Microsoft Excel) フォーマットのスプレッドシート・ファイルは、TableWidget 内で定義されたホスト画面データから自動的に生成することができます。スプレッドシート・ファイルは HATS

SpreadsheetGeneratorServlet によって作成され、ユーザーが定義済みのボタンまたはリンクをクリックすると、実行時に表示できます。ダイアログ・ポップアップが表示され、ユーザーはスプレッドシート・ファイルを格納するディレクトリーおよびファイル名を入力できます。

スプレッドシート・ファイルの作成の詳細については、「HATS ユーザーと管理者のガイド」の『「テーブル」ウィジェット』を参照してください。

ホスト・シミュレーション・トレース・ファイル (.hhs)ホスト・シミュレーション・トレース・ファイルはシミュレートされたホスト接続環境に保存され、ライブ・ホスト接続を使用するのではなく、このファイルを使用して HATS を実行します。シミュレーションは Host Simulator Recorder によって作成されます。これは、実際のホストと HATS 端末の間のプロキシーとして動作します。ホスト・シミュレーション・トレース・ファイルは、ファイル拡張子 .hhs を

182 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 195: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

付けて XML フォーマットで作成され、「HATS プロジェクト」ビューからアクセスする「ホスト・シミュレーション」 フォルダーの以下のディレクトリーに格納されます。

v Web プロジェクト - Project_name/Web Content/WEB-INF/profiles/hostsimulations

v EJB プロジェクト - Project_name/ejbModule/hostsimulations

ホスト・シミュレーション・トレース・ファイルの作成の詳細については、「HATS

ユーザーと管理者のガイド」を参照してください。

ComponentWidget.xmlComponentWidget.xml ファイルには、HATS で提供されるすべてのホスト・コンポーネントおよびウィジェットの定義が格納されています。独自のホスト・コンポーネントまたはウィジェットを追加したときは、このファイルを更新する必要があります。このファイルの説明と簡単なサンプルについては、 30ページの『コンポーネントまたはウィジェットの登録』を参照してください。ComponentWidget.xml ファイルは、「ナビゲーター」ビューでプロジェクトの最後の項目として表示されます。このファイルを編集するには、「ナビゲーター」ビューでファイル名をダブルクリックして、「ソース」タブを選択します。

このファイルの内容の説明と使用方法については、 30ページの『コンポーネントまたはウィジェットの登録』を参照してください。

Web 高速ログオン構成ファイル (hatswelcfg.xml)Web 高速ログオン (WEL) 信任状マッピングは、hatswelcfg.xml という名前の XML

ファイルで構成します。このファイルは、HATS サーブレット・プロジェクトのEAR プロジェクトのルート・ディレクトリーに格納されています。 WEL 構成のソースを表示するには、接続エディターの「セキュリティー」タブから WEL エディターを開き、「ソース」タブをクリックします。ただし、構成を変更する場合は、WEL エディターの「ネットワーク・セキュリティー・プラグイン」タブおよび「信任状マッパー・プラグイン」タブを使用する必要があります。

<credentialmapper> タグ<credentialmapper> タグは、Web 高速ログオン構成を囲むタグです。<credentialmapper> タグの属性は以下のとおりです。

class WEL 信任状マッパーとして使用する Java クラスを指定します。この値は、WEL エディターの 2 つのプラグイン・タブ上では編集できません。この値は、IBM サービスからの指示がない限りは変更しないでください。

<networksecurity> タグ<networksecurity> タグは、0 個または 1 個のネットワーク・セキュリティー・プラグイン・タグ (<plugin>) のコンテナーであり、属性はありません。

<cmplugins> タグ<cmplugins> タグは、複数の信任状マッパー・プラグイン・タグ (<plugin>) のコンテナーであり、属性はありません。

付録 A. HATS Toolkit のファイル 183

|

|

|

|

|

|

|

Page 196: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

<plugin> タグ<plugin> タグは、ネットワーク・セキュリティー・プラグインまたは信任状マッパー・プラグインを識別し、プラグイン・パラメーターのタグを囲みます。<plugin>

タグの属性には以下のものがあります。

class プラグイン・コードを含む Java クラスを指定します。

authenticationtypeプラグインが信任状をマップできるホストのタイプを指定します。Web 高速ログオンは、この属性を使用して、要求の処理に使用するプラグインを決定します。有効な値は、AuthType_All、AuthType_3270Host、AuthType_5250Host、および AuthType_VTHost です。縦線 (|) で区切ることにより、複数の値を使用できます。この属性は、<plugin> タグが<cmplugins> タグで囲まれているときに、信任状マッパー・プラグインでのみ有効です。

hostmaskプラグインが信任状をマップできるホストの名前を指定します。Web 高速ログオンは、この属性を使用して、要求の処理に使用するプラグインを決定します。この属性の値には、1 つ以上のホスト・アドレスを指定できます。複数の値を指定するには、複数のアドレスを縦線 (|) で結合するか、ホスト・アドレスの最初か最後 (またはその両方) にアスタリスク (*) をワイルドカードとして使用します。この属性は、<plugin> タグが <cmplugins> タグで囲まれているときに、信任状マッパー・プラグインでのみ有効です。

<param> タグ<param> タグは、プラグイン・パラメーターの名前と値を識別します。<param> タグの属性には以下のものがあります。

name プラグイン・パラメーターの名前を指定します。各プラグイン Java クラスは、そのクラスが受け入れるパラメーター名のセットを定義します。

value プラグイン・パラメーターの値を指定します。パラメーターが、暗号化されたパラメーターとしてプラグイン Java クラスで定義されている場合、この値を暗号化する必要があります。

184 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 197: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

付録 B. 特記事項

本書は米国 IBM が提供する製品およびサービスについて作成したものです。 本書に記載の製品、サービス、または機能が日本においては提供されていない場合があります。日本で利用可能な製品、サービス、および機能については、日本 IBM の営業担当員にお尋ねください。本書で IBM 製品、プログラム、またはサービスに言及していても、その IBM 製品、プログラム、またはサービスのみが使用可能であることを意味するものではありません。これらに代えて、IBM の知的所有権を侵害することのない、機能的に同等の製品、プログラム、またはサービスを使用することができます。ただし、IBM 以外の製品とプログラムの操作またはサービスの評価および検証は、お客様の責任で行っていただきます。

IBM は、本書に記載されている内容に関して特許権 (特許出願中のものを含む) を保有している場合があります。本書の提供は、お客様にこれらの特許権について実施権を許諾することを意味するものではありません。実施権についてのお問い合わせは、書面にて下記宛先にお送りください。

〒103-8510東京都中央区日本橋箱崎町19番21号日本アイ・ビー・エム株式会社法務・知的財産知的財産権ライセンス渉外

以下の保証は、国または地域の法律に沿わない場合は、適用されません。IBM およびその直接または間接の子会社は、本書を特定物として現存するままの状態で提供し、商品性の保証、特定目的適合性の保証および法律上の瑕疵担保責任を含むすべての明示もしくは黙示の保証責任を負わないものとします。国または地域によっては、法律の強行規定により、保証責任の制限が禁じられる場合、強行規定の制限を受けるものとします。

この情報には、技術的に不適切な記述や誤植を含む場合があります。本書は定期的に見直され、必要な変更は本書の次版に組み込まれます。IBM は予告なしに、随時、この文書に記載されている製品またはプログラムに対して、改良または変更を行うことがあります。

本書において IBM 以外の Web サイトに言及している場合がありますが、便宜のため記載しただけであり、決してそれらの Web サイトを推奨するものではありません。それらの Web サイトにある資料は、この IBM 製品の資料の一部ではありません。それらの Web サイトは、お客様の責任でご使用ください。

IBM は、お客様が提供するいかなる情報も、お客様に対してなんら義務も負うことのない、自ら適切と信ずる方法で、使用もしくは配布することができるものとします。

本プログラムのライセンス保持者で、(i) 独自に作成したプログラムとその他のプログラム (本プログラムを含む) との間での情報交換、および (ii) 交換された情報の相互利用を可能にすることを目的として、本プログラムに関する情報を必要とする方は、下記に連絡してください。

© Copyright IBM Corp. 2003, 2015 185

Page 198: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

Intellectual Property Dept. for Rational SoftwareIBM Corporation5 Technology Park DriveWestford, MA 01886U.S.A.

本プログラムに関する上記の情報は、適切な使用条件の下で使用することができますが、有償の場合もあります。

本書で説明されているライセンス・プログラムまたはその他のライセンス資料は、IBM 所定のプログラム契約の契約条項、IBM プログラムのご使用条件、またはそれと同等の条項に基づいて、IBM より提供されます。

IBM 以外の製品に関する情報は、その製品の供給者、出版物、もしくはその他の公に利用可能なソースから入手したものです。IBM は、それらの製品のテストは行っておりません。したがって、他社製品に関する実行性、互換性、またはその他の要求については確証できません。IBM 以外の製品の性能に関する質問は、それらの製品の供給者にお願いします。

本書には、日常の業務処理で用いられるデータや報告書の例が含まれています。より具体性を与えるために、それらの例には、個人、企業、ブランド、あるいは製品などの名前が含まれている場合があります。これらの名称はすべて架空のものであり、名称や住所が類似する企業が実在しているとしても、それは偶然にすぎません。

著作権使用許諾:

本書には、様々なオペレーティング・プラットフォームでのプログラミング手法を例示するサンプル・アプリケーション・プログラムがソース言語で掲載されています。お客様は、サンプル・プログラムが書かれているオペレーティング・プラットフォームのアプリケーション・プログラミング・インターフェースに準拠したアプリケーション・プログラムの開発、使用、販売、配布を目的として、いかなる形式においても、IBM に対価を支払うことなくこれを複製し、改変し、配布することができます。このサンプル・プログラムは、あらゆる条件下における完全なテストを経ていません。従って IBM は、これらのサンプル・プログラムについて信頼性、利便性もしくは機能性があることをほのめかしたり、保証することはできません。これらのサンプル・プログラムは特定物として現存するままの状態で提供されるものであり、いかなる保証も提供されません。IBM は、お客様の当該サンプル・プログラムの使用から生ずるいかなる損害に対しても一切の責任を負いません。

この情報をソフトコピーでご覧になっている場合は、写真やカラーの図表は表示されない場合があります。

プログラミング・インターフェース情報この「Web アプリケーション・プログラマーズ・ガイド」には、プログラムを作成するユーザーが HATS のサービスを使用するためのプログラミング・インターフェースに関する情報があります。

186 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 199: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

商標IBM、IBM ロゴおよび ibm.com は、世界の多くの国で登録された International

Business Machines Corporation の商標です。他の製品名およびサービス名等は、それぞれ IBM または各社の商標である場合があります。現時点での IBM の商標リストについては、http://www.ibm.com/legal/copytrade.shtml をご覧ください。

Microsoft および Windows は、Microsoft Corporation の米国およびその他の国における商標です。

Java およびすべての Java 関連の商標およびロゴは Oracle やその関連会社の米国およびその他の国における商標または登録商標です。

付録 B. 特記事項 187

Page 200: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

188 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 201: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

用語集アクション (action). 画面イベントに指定された画面認識基準と一致するホスト画面などの、イベントの結果として管理対象オブジェクトに対してアプリケーションが実行する既定のタスク。アクションのリストは、各イベントの定義の一部である。

ADB. 「アプリケーション・データ・バッファー (application data buffer)」を参照。

管理コンソール (administrative console). HATS 管理コンソールは、Web ベースのユーティリティーである。管理コンソールで提供されるビューおよび機能を使用すると、HATS Web アプリケーションのためのライセンスと接続の管理、ログ設定とトレース設定、メッセージとトレースの表示、および問題判別を実行できる。

アプリケーション (application). 「HATS アプリケーション (HATS application)」を参照。

アプリケーション・データ・バッファー (application data buffer). WebFacing アプリケーションが消費するためにWebFacing サーバーによって戻されるデータの形式。

アプリケーション・イベント (application event). アプリケーションのライフ・サイクル内での状態変更により起動される HATS イベント。アプリケーション・イベントの例には、ユーザーによる HATS アプリケーションへの最初のアクセス (開始イベント)、またはアプリケーションによる認識できない画面の検出 (一致しない画面イベント) などがある。

アプリケーション・キーパッド (application keypad). HATS アプリケーション・レベルの機能を表す一連のボタンまたはリンク。 (「ホスト・キーパッド (host keypad)」と対比。)

成果物 (artifact). 「リソース (resource)」を参照。

バックグラウンド接続 (background connection). デフォルト接続以外の、HATS アプリケーションで定義されている接続。 HATS はバックグラウンド接続からの画面は変換しない。 (「デフォルト接続 (default connection)」と対比。)

双方向 (bidi) (bidirectional (bidi)). 一般に右から左に読み、数字だけは左から右に読むアラビア語やヘブライ語などのスクリプトに関係した表現。

BMS マップ (BMS map). CICS の基本マッピング・サポートで使用する画面定義ファイル。 BMS マップは、CICS

アプリケーションによりグループとして表示される一連のフィールドを定義する。

ビジネス・ロジック (business logic). 高度な機能を実行する Java コード。例えば、Java API 経由でアクセス可能な別のアプリケーション、データベース、またはその他のシステムと対話する機能を実行する。ビジネス・ロジックは、アプリケーションまたは画面イベント内のアクションとして呼び出される。

チェックイン画面 (checkin screen). ホスト画面を識別する画面。これは接続プールに戻せると見なされる接続に対してアクティブである必要がある。アプリケーションがチェックイン画面で指定された画面上にない場合、接続は廃棄されるか、またはチェックイン画面で指定されたホスト画面への接続を戻そうとしてリサイクルされる。チェックイン画面は、接続に対して接続プールが指定されている場合にのみ意味がある。

コンポーネント (component). ホスト画面のビジュアル要素。コマンド行、ファンクション・キー、または選択リストなど。 HATS アプリケーションは、ホスト・コンポーネントをウィジェットに変換する。

接続 (connection). HATS により使用される一連のパラメーター。.hco ファイルに保管され、ホスト・アプリケーションに接続する。 (「デフォルト接続 (default connection)」および「バックグラウンド接続 (background connection)」も参照。)

接続プール (connection pool). 初期状態で維持されるホスト接続のグループ。作成および初期化せずに使用できる。

© Copyright IBM Corp. 2003, 2015 189

Page 202: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

信任状マッパー (credential mapper). Web 高速ログオンのコンポーネント。ネットワーク・セキュリティー層により事前に認証されている、ホスト信任状に対する要求を処理する。 (「ネットワーク・セキュリティー層 (network

security layer)」を参照。)

DDS マップ (DDS map). データ記述仕様 (Data Description Specification) マップの略。これらのマップでは、IBM i

端末アプリケーションの表示スペースのレイアウトおよび動作を定義する。

デバッグ (Debug). リッチ・クライアント・プロジェクトの場合、「実行」と同じである。加えて以下の操作を実行できる。

v 端末の表示を使用して、プロジェクトのテスト中にホスト画面ナビゲーションを表示する。

v Rational SDP コンソールにデバッグ・メッセージを表示する。

v アプリケーションを再始動せずに、プロジェクトへの変更 (テンプレートまたは変換の変更など) を表示する。

v ランタイム環境に展開された設定 (runtime.properties ファイル内で定義) を変更せずに、ランタイム設定(runtime-debug.properties ファイル内で定義) を変更およびテストする。

v HATS ビジネス・ロジックなどの Java コードをステップスルーする。

サーバーでデバッグ (Debug on Server). Web プロジェクトの場合、「サーバーで実行」と同じである。加えて以下の操作を実行できる。

v 端末の表示を使用して、プロジェクトのテスト中にホスト画面ナビゲーションを表示する。

v Rational SDP コンソールにデバッグ・メッセージを表示する。

v テスト・サーバー上でアプリケーションを再始動せずに、プロジェクトへの変更 (テンプレートまたは変換の変更など) を表示する。

v ランタイム環境に展開された設定 (runtime.properties ファイル内で定義) を変更せずに、ランタイム設定(runtime-debug.properties ファイル内で定義) を変更およびテストする。

v HATS ビジネス・ロジックなどの Java コードをステップスルーする。

デフォルト接続 (default connection). HATS がホスト・アプリケーション画面を変換してユーザーに提示する接続。「変換接続 (transformation connection)」とも言う。 (「バックグラウンド接続 (background connection)」と対比。)

デフォルト・レンダリング (default rendering). 特定の変換が指定されていないホスト画面のパーツのレンダリングにHATS が使用するメソッド。

展開 (deploy). HATS アプリケーションをランタイム環境内で使用できるようにすること。 HATS Web アプリケーションの場合、これには、HATS プロジェクトの Java EE アプリケーション (つまり .ear ファイル) としてのエクスポート、および WebSphere Application Server へのそのインストールが含まれる。HATS リッチ・クライアント・アプリケーションの場合、これには、HATS プロジェクトの Eclipse フィーチャーとしてのエクスポート、および個々のクライアント・システムへのそのインストールが含まれる。インストールは、独立の Eclipse アプリケーションとして行う場合と、更新サイトから既存の Eclipse ランタイム環境に対して行う場合がある。

記述子 (descriptor). 「画面認識基準 (screen recognition criteria)」を参照。

開発者 (developer). HATS Toolkit を使用してアプリケーションを開発する人。アプリケーション開発者または Web

開発者とも呼ばれる。 (「ユーザー (user)」と対比。)

Device Runtime Environment (DRE). Lotus Expeditor Client V6.2.0 以前で HATS リッチ・クライアント・アプリケーションを実行するために必要な他のランタイム環境 (J2SE ランタイムなど) を含むパッケージ。DRE は、Lotus

Expeditor Client のランタイム環境にインストールされる。

端末の表示 (display terminal). 実行時の HATS アプリケーションとホスト・アプリケーションとの対話を監視するために、テストおよびデバッグ中に使用できるホスト画面を表示する端末ウィンドウ。端末ウィンドウ内のホスト画面を使用して、ホスト・アプリケーションと対話することもできる。

190 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 203: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

Eclipse. ISV および他のツール開発者に、プラグ・コンパチブル・アプリケーション開発ツール用の標準プラットフォームを提供する、オープン・ソース・イニシアチブ。 Eclipse は、http://www.eclipse.org からダウンロードできる。

エディター (editor). 既存のデータを変更できるアプリケーション。 HATS Toolkit では、エディターはウィザードで作成されたリソースのカスタマイズに使用できる。

拡張非プログラマブル端末ユーザー・インターフェース (ENPTUI: Enhanced Non-Programmable Terminal User

Interface). 非プログラマブル端末 (NPT) およびプログラマブル・ワークステーション (PWS) 上で拡張インターフェースを使用可能にし、5250 フルスクリーン・メニュー方式インターフェース上で、5250 表示データ・ストリーム拡張機能を使用する。

エンタープライズ・アーカイブ (EAR: enterprise archive). 特殊な Java アーカイブ (JAR)ファイル。Java EE 標準により定義され、Java EE アプリケーションを Java EE アプリケーション・サーバーに展開するために使用される。EAR ファイルには、エンタープライズ Bean、配置記述子、および個々の Web アプリケーション用の Web アーカイブ (WAR) ファイルが含まれる。 (Sun)

Enterprise JavaBeans (EJB). オブジェクト指向の分散エンタープライズ・レベル・アプリケーションの開発およびデプロイメントのために Oracle によって定義されたコンポーネント・アーキテクチャー。 (Oracle)

イベント (event). 特定の状態への到達に基づいて一連のアクションを実行する HATS リソース。アプリケーション・イベントと画面イベントの、2 つのタイプの HATS イベントがある。

エクスポート (export). アプリケーションの展開に備えて、HATS プロジェクトのリソースを収集すること。リソースは、必要な実行可能コードと共に、(Web アプリケーションの場合は) アプリケーション EAR ファイル、(リッチ・クライアント・アプリケーションの場合は) Eclipse フィーチャーに収集される。

Extensible Markup Language (XML). SGML から派生し、そのサブセットであるマークアップ言語を定義するための標準メタ言語。

GB18030. GB18030 は、新規の中国語文字エンコード規格である。 GB18030 には 160 万の有効なバイト・シーケンスがあり、1、2、または 4 バイトの文字シーケンスをエンコードする。

グローバル規則 (global rule). 特定の入力フィールドのレンダリングを特定の基準に基づいて変更する方法を定義する規則。グローバル規則は、カスタマイズ画面およびデフォルトを使ってレンダリングされる画面に使用される。グローバル規則は、プロジェクト・レベルまたは画面イベント・レベルで定義できる。

グローバル変数 (global variable). アクション用の情報を含めるために使用する変数。グローバル変数の値は、ホスト画面などから抽出して、テンプレート、変換、マクロ、統合オブジェクト、またはビジネス・ロジックで使用することができる。グローバル変数は、単一値にも配列にもでき、同じブラウザー・セッションを共用する他の HATS アプリケーションと共用できる。

HATS. 「Host Access Transformation Services」を参照。

HATS アプリケーション (HATS application). 特定バージョンのホスト・アプリケーションを、WebSphere

Application Server に展開された Web 対応アプリケーションとして、または Lotus Notes や Lotus Expeditor Client などの Eclipse リッチ・クライアント・プラットフォームに展開された Eclipse クライアント・サイド処理プラグインとして、ユーザーに提示するアプリケーション。 HATS アプリケーションは、HATS プロジェクトから HATS Toolkit

で作成され、適用可能な環境に展開される。展開されたアプリケーションは、他のホストまたは e-ビジネス・アプリケーションと対話して、組み合わせた情報をユーザーに提示できる。

HATS EJB プロジェクト (HATS EJB project). 他のアプリケーションがホスト・データを入手するために使用できる、HATS EJB および統合オブジェクトを含むプロジェクト。 HATS EJB プロジェクトは、ホスト・アプリケーションからの変換済み画面は示さない。

HATS エントリー・サーブレット (HATS entry servlet). HATS Web アプリケーションをブラウザーで開始するときに処理されるサーブレット。

用語集 191

||||||

Page 204: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

HATS プロジェクト (HATS project). HATS リソースの集合 (成果物とも呼ばれる)。HATS Toolkit ウィザードを使用して作成され、HATS Toolkit エディターを使用してカスタマイズされ、HATS アプリケーションにエクスポートできる。

HATS Toolkit. Rational SDP 上で稼働する HATS のコンポーネント。これにより、HATS プロジェクトの作業を行って HATS アプリケーションを作成できるようになる。

Host Access Transformation Services (HATS). IBM ソフトウェアのツール・セットであり、ホスト・ベース・アプリケーションおよびデータ・ソースへの Web ベースのアクセスを可能にする。

ホスト・コンポーネント (host component). 「コンポーネント (component)」を参照。

ホスト・キーパッド (host keypad). ファンクション・キーまたは Enter キーなどの、一般にホスト・キーボードから使用できる機能を表す一連のボタンまたはリンク。 (「アプリケーション・キーパッド (application keypad)」と対比。)

ホスト・シミュレーション (host simulation). ホスト・シミュレーションを利用すると、ホスト・シミュレーション・トレース・ファイルを記録および保管できる。これらのファイルは、ライブ・ホスト接続の代わりに後から使用できる。記録されたトレース・ファイルを再生することにより、以下の操作を実行できる。ホスト端末機能を使用した、画面キャプチャー、画面イベント、および画面変換の作成。ホスト端末機能を使用した、マクロの作成およびテスト。Rational SDP ローカル・テスト環境を使用した、HATS アプリケーションのテスト。他のトレースおよびログと併せて行われる、ランタイム環境内で失敗したシナリオのトラブルシューティングの支援。

ホスト・シミュレーション・トレース (host simulation trace). ホスト・シミュレーション・トレース・ファイルは、ホスト画面とトランザクションを記録および保管する。これらのホスト画面とトランザクションは、ライブ・ホスト接続を使用する代わりに後から再生できる。トレース・ファイルは、ホスト端末機能を使用するかまたはランタイム環境内での実行中に記録できる。

ホスト端末 (host terminal). HATS Toolkit ツール。特定の HATS 接続と結合されたセッションであり、HATS 開発者は、画面の取り込み、画面カスタマイズの作成、およびマクロの記録に使用できる。

HTML. ハイパーテキスト・マークアップ言語 (Hypertext Markup Language)。

HTML ウィジェット (HTML widget). 「ウィジェット (widget)」を参照。

統合オブジェクト (Integration Object). 単一または一連のホスト画面との対話をカプセル化する Java Bean。統合オブジェクトはマクロで構成され、従来の (WSDL ベースの) Web サービス、RESTful Web サービス、または HATS

EJB プロジェクトに組み込むことができる。統合オブジェクトは、リッチ・クライアント・プラットフォーム・アプリケーションでは使用できない。

相互運用性 (interoperability). コンピューターまたはプログラムが他のコンピューターまたはプログラムと連携する能力。

相互運用性ランタイム (interoperability runtime). バックエンド・ホストへの共通接続を管理するために、結合HATS/WebFacing アプリケーションが使用する共通ランタイム。このランタイムは、WebFacing サーバーが戻すデータをアプリケーションの HATS 部分または WebFacing 部分のどちらで処理するかを決定する。

Java Platform, Enterprise Edition (Java EE). エンタープライズ・アプリケーションの開発およびデプロイのためにOracle によって定義された環境。 Java EE プラットフォームは、複数層の Web ベース・アプリケーションを開発するための機能を提供するサービス、アプリケーション・プログラミング・インターフェース (API)、およびプロトコルのセットで構成される。 (Oracle)

JavaServer Faces (JSF). Java で Web ベースのユーザー・インターフェースを作成するためのフレームワーク。Web 開発者は、ページ上に再利用可能な UI コンポーネントを配置し、コンポーネントをアプリケーション・データ・ソースに接続し、クライアント・イベントをサーバー・イベント・ハンドラーに接続することで、アプリケーションを構築できる。 (Oracle)

192 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 205: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

JavaServer Pages (JSP). サーバー・サイドのスクリプト記述テクノロジー。Web ページ (HTML ファイル) が提供されるときに、Java コードを動的にそのページに組み込んで実行し、クライアントに動的コンテンツを返すことができる。 (Oracle)

JavaServer Pages Standard Tag Library (JSTL). 共通構造化タスクのサポートを提供する標準タグ・ライブラリー。共通構造化タスクには、反復と条件、XML 文書の処理、国際化対応、構造化照会言語 (SQL) を使用したデータベース・アクセスなどがある。(Oracle)

JSF. 「JavaServer Faces (JSF)」を参照。

JSP. 「JavaServer Pages (JSP)」を参照。

JSR 168. Java ポートレット仕様では、ポータル環境で実行されるポートレットの集約、パーソナライゼーション、プレゼンテーション、およびセキュリティーの要件に対応しています。 Java ポートレット仕様バージョン 1.0 の Java

Specification Request 168 (JSR 168) では、さまざまなベンダーが提供するポータル・サーバー間でのポートレットの互換性を実現する標準を定義しています。「JSR 286」を参照。

JSR 286. Java ポートレット仕様では、ポータル環境で実行されるポートレットの集約、パーソナライゼーション、プレゼンテーション、およびセキュリティーの要件に対応しています。 Java ポートレット仕様バージョン 2.0 の Java

Specification Request 286 (JSR 286) では、バージョン 1.0 (JSR 168) の機能を拡張する標準を定義することにより、ポートレット間の調整、リソース・サービス提供、およびその他の拡張機能を組み込んでいます。「JSR 186」 を参照。

JSTL. 「JavaServer Pages Standard Tag Library」を参照。

キーボード・サポート (keyboard support). Web ブラウザーまたはリッチ・クライアント環境内でのアプリケーションの実行中にユーザーが物理キーボードを使用してホストと対話できるようにするために、開発者が利用する機能。開発者は、プロジェクトにホスト・キーパッドまたはアプリケーション・キーパッド (あるいはその両方) を含めるかどうかも決定する。キーパッドが含まれる場合、開発者は、クライアント・インターフェースに含めるキーおよびそれらのキーとキーパッドの表示方法も決定する。

キーパッド・サポート (keypad support). ユーザーがキーボード上の物理キーを押した場合と同様にホストと対話したり、アプリケーションに関連するタスク (印刷ジョブの表示や画面の最新表示など) を実行したりできるようにするために、開発者が利用する機能。「アプリケーション・キーパッド (application keypad)」および「ホスト・キーパッド (host keypad)」も参照。

リンク HATS/WebFacing プロジェクト (linked HATS/WebFacing project). 単一の HATS Web プロジェクトと単一の WebFacing プロジェクトをリンクさせて作成されたプロジェクト。HATS Web アプリケーションと WebFacing アプリケーションが相互運用されるエンタープライズ・アプリケーションを作成し、5250 バックエンド・ホストへの接続を共用することを目的とする。

Lotus Expeditor Client. Lotus Expeditor 製品のスタンドアロン・クライアント。ユーザーのマシンまたは開発マシンにインストールされる。

Lotus Notes クライアント (Lotus Notes Client). Lotus Notes 製品のスタンドアロン・クライアント。ユーザーのマシンまたは開発マシンにインストールされる。

マクロ (macro). マクロは、.hma ファイルに保管され、ホストとの対話を自動化する。これはコマンドをホストに送信し、入力フィールドにデータを入力し、ホストからデータを抽出し、ユーザーに代わって画面をナビゲートするために使用できる。

モデル 1 Web ページ (Model 1 Web pages). ユーザーに提示する情報、情報の表示方法を指定する書式設定タグ、およびページの表示順序を制御する論理を含む単一の JSP。(「Struts Web ページ (Struts Web pages)」と対比。)

ネットワーク・セキュリティー層 (network security layer). ユーザーを認証し、IBM Tivoli Access Manager などのネットワーク・リソースへのアクセスを許可するためのソフトウェア。

用語集 193

Page 206: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

オペレーター情報域 (OIA) (Operator Information Area (OIA)). OIA は、ホスト・セッション画面下部の領域であり、セッション標識とメッセージが表示される。セッション標識は、ワークステーション、ホスト・システム、および接続に関する情報を示す。

パースペクティブ (perspective). Rational SDP ワークベンチで、そのワークベンチ内のリソースのさまざまな側面を表示するビューのグループ。 HATS パースペクティブはビューおよびエディターの集合であり、これにより開発者はHATS アプリケーションに属するリソースを作成、編集、表示、および実行できる。

プール (pooling). 「接続プール (connection pool)」を参照。

ポータル (portal). 統合 Web サイトのこと。リンク、コンテンツ、またはサービスなどの Web リソースのカスタマイズ・リストを動的に作成し、特定のユーザーのアクセス許可に基づいて、特定のユーザーが使用できる。

印刷サポート (print support). ホスト・セッションと関連付けるプリンター・セッションを指定し、ユーザーがホスト・アプリケーション印刷ジョブを表示、プリンターに送信、またはディスクに保管できるようにするために、開発者が利用する機能。印刷サポートは、デフォルト接続でのみ使用可能である。

プロファイル (Profile). リッチ・クライアント・プロジェクトの場合、「実行」と同じである。加えて最も多くの時間を必要とする操作を見つけ、繰り返されるアクションを識別し、冗長さを除去できる。この機能をパフォーマンス分析に使用して、アプリケーションの理解を向上させるために役立てることができる。

サーバーでプロファイル作成 (Profile on Server). Web プロジェクトの場合、「サーバーで実行」と同じである。加えて最も多くの時間を必要とする操作を見つけ、繰り返されるアクションを識別し、冗長さを除去できる。この機能をパフォーマンス分析に使用して、アプリケーションの理解を向上させるために役立てることができる。

プロジェクト (project). HATS リソースの集合 (成果物とも呼ばれる)。HATS Toolkit ウィザードを使用して作成され、HATS Toolkit エディターを使用してカスタマイズされる。これらのリソースは HATS アプリケーションとしてエクスポートされる。これには、Web、EJB、リッチ・クライアントの各プロジェクトと、HATS Web (EJB を含む) アプリケーションの管理を目的とする HATS 管理コンソール・プロジェクトの、4 つのタイプの HATS プロジェクトがある。「HATS プロジェクト (HATS project)」または「HATS EJB プロジェクト (HATS EJB project)」を参照。

Rational Software Delivery Platform (Rational SDP). Eclipse オープン・ソース・プラットフォームをベースにした、e-business アプリケーションを開発するための一貫したツール・セットを提供する IBM ソフトウェア・プロダクト・ファミリー。

レンダリング・セット (rendering set). レンダリング・セットは、レンダリング項目の優先順位付きのリストを作成することにより構成される。各レンダリング項目は、1 つの特定の領域を定義する。その領域の内部で、指定されたホスト・コンポーネントが認識され、指定されたウィジェットを使用してレンダリングされる。

リソース (resource). HATS プロジェクトに組み込まれる複数のデータ構造のすべて。 HATS リソースには、テンプレート、画面イベント、変換、画面キャプチャー、接続、およびマクロが含まれる。他の Rational SDP プラグインでは、これらを「成果物」と呼ぶこともある。

RESTful Web サービス (RESTful Web service). 「Web サービス、RESTful (Web service, RESTful)」を参照。

リッチ・クライアント (rich client). クライアント環境内の Eclipse リッチ・クライアント・プラットフォーム上で実行するために設計されたプラグイン。展開先のプラットフォームのネイティブの外観および振る舞いを利用することにより、ユーザー・エクスペリエンスが向上するように設計されている。

実行 (Run). リッチ・クライアント・プロジェクトにおいて、Eclipse、Lotus Notes、または Lotus Expeditor Client インスタンスで HATS リッチ・クライアント・プロジェクトをテストできるようにする Rational SDP の一機能。このモードでは、ランタイム環境に展開されたランタイム設定 (runtime.properties ファイル内で定義) を変更およびテストできる。このモードでのテスト中にランタイム設定に加えた変更はすべて保持され、ランタイム環境に HATS アプリケーションを展開すると有効になることに注意する必要がある。

194 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

|||||

Page 207: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

サーバーで実行 (Run on Server). Web プロジェクトにおいて、WebSphere Application Server または WebSphere

Portal インスタンスでの HATS Web プロジェクトを必要に応じてテストできるようにする Rational SDP の機能。このモードでは、ランタイム環境に展開されたランタイム設定 (runtime.properties ファイル内で定義) を変更およびテストできる。このモードでのテスト中にランタイム設定に加えた変更はすべて保持され、ランタイム環境に HATS アプリケーションを展開すると有効になることに注意する必要がある。

ランタイム設定 (runtime settings). ランタイム環境に展開されたログ、トレース、および問題判別の設定(runtime.properties ファイル内で定義)。

画面キャプチャー (screen capture). ホスト画面の XML 表現。.hsc ファイルに保管され、画面カスタマイズ、画面組み合わせ、変換、グローバル規則、またはマクロの作成またはカスタマイズに使用される。画面キャプチャーは、ホストに接続していない場合でも HATS プロジェクトの開発に使用できるため、有用である。 HATS 統合オブジェクトとWeb サービス・サポートのコアであるマクロの作成にも有用である。

ビデオ端末 (VT) ホスト画面の画面キャプチャーは、Visual Macro Editor を使用して、およびプール構成時のチェックイン画面として、マクロを作成またはカスタマイズするために使用できる。これらの画面キャプチャーは、画面カスタマイズ、画面組み合わせ、変換、デフォルト・レンダリング、またはグローバル規則の作成には使用できない。

画面組み合わせ (screen combination). HATS 画面イベントのタイプの 1 つであり、連続する類似のホスト画面から出力データを収集し、それらを組み合わせ、単一の出力ページで表示するように設計されている。 .evnt ファイルに保管される画面組み合わせの定義内容には、組み合わされる開始および終了画面両方の一連の画面認識基準、画面間のナビゲート方法、各画面から収集されるデータの認識およびレンダリングに使用するコンポーネントとウィジェットが含まれる。

画面カスタマイズ (screen customization). ホスト画面の認識時に一連のアクションを実行するように設計された、画面イベントのタイプの 1 つ。 .evnt ファイルに保管される画面カスタマイズの定義内容には、ホスト画面を突き合わせるための一連の基準、およびホスト画面がそれらの基準と一致するときに実行されるアクションが含まれる。

画面イベント (screen event). 特定の画面認識基準と突き合わせることでホスト画面が認識されるときに起動されるHATS イベント。画面カスタマイズと画面組み合わせの、2 つのタイプの画面イベントがある。

画面認識基準 (screen recognition criteria). HATS が 1 つ以上の画面と突き合わせるときに使用する一連の基準。ホストが画面を表示するときに、HATS は検索を実行し、現在のホスト画面が、プロジェクト内の画面イベントに対して定義された画面認識基準と一致するかを判別する。 HATS が一致するものを検出した場合、その画面イベントの既定のアクションが実行される。

画面認識基準はマクロの記録プロセスにも使用され、そのコンテキストでは「記述子 (descriptors)」と呼ばれることがある。

Secure Sockets Layer (SSL). 通信プライバシーを提供するセキュリティー・プロトコル。 SSL により、クライアント/サーバー・アプリケーションは、盗聴、改ざん、およびメッセージ偽造ができないように設計された方法で通信できる。 SSL は、Netscape Communications Corp. および RSA Data Security, Inc. により開発された。

ソース (source). HATS プロジェクトまたはそのリソースの 1 つを定義するマークアップ言語を含むファイル。さらに、各 HATS プロジェクトに含まれるフォルダーの名前。

SSL. 「Secure Sockets Layer」を参照。

Standard Widget Toolkit (SWT). Java 開発者向けの Eclipse ツールキット。基盤となるオペレーティング・システムのネイティブ・ウィジェットを使用する、移植可能な共通のユーザー・インターフェース API を定義する。

Struts Web ページ (Struts Web pages). Java Web アプリケーションを作成するための The Apache Software

Foundation の Struts オープン・ソース・フレームワークを使用して作成した Web ページ。この Web ページ構築方法では、クラス・ファイル (値を設定し、getter と setter を格納する)、入出力 JSP、および Web ダイアグラム (Web ページの流れと論理を表示する) を作成する。(「モデル 1 Web ページ (Model 1 Web pages)」と対比。)

SWT. 「Standard Widget Toolkit」を参照。

用語集 195

|||||

Page 208: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

システム画面 (system screen). データ記述仕様 (DDS) ディスプレイ・ファイル・ソース・メンバーを使用できないIBM i 画面。システム画面は、WebFacing 化された IBM i 上のアプリケーションに固有の画面である。

テンプレート (template). .jsp ファイル (Web プロジェクトの場合) または .java ファイル (リッチ・クライアント・プロジェクトの場合) に保管されるテンプレート。アプリケーションの基本レイアウト、および色やフォントなどのスタイルを制御する。さらに、バナーやナビゲーション域などの、GUI に共通の領域の外観も定義する。

テキスト置換 (text replacement). HATS 画面変換時にホスト・システム上のテキストをイメージ、HTML コード、または他のテキストに変換するために使用される HATS 機能。

テーマ (theme). テーマでは、プロジェクトの共通の外観および振る舞いの特性一式がグループ化される。これらの属性は後から個別に変更できる。

転送 (transfer). アプリケーション EAR ファイルをサーバーにコピーすること。一般には FTP を使用する。

変換 (transformation). .jsp ファイル (Web プロジェクトの場合) または .java ファイル (リッチ・クライアント・プロジェクトの場合) に保管される変換。ホスト・コンポーネントを、GUI のウィジェットを使用して抽出および表示する方法を定義する。

変換接続 (transformation connection). 「デフォルト接続 (default connection)」を参照。

変換フラグメント (transformation fragment). 任意の変換において特定のパターンの出現個所をすべて置換するためのコンテンツを含む HATS リソース。

Unicode. 現代世界のいずれかの言語で書き記されたテキストの交換、処理、および表示をサポートする、汎用文字エンコード標準。多くの古典言語や、いくつかの言語の過去のテキストもサポートする。 Unicode 標準には、ISO 10646

で定義された 16 ビットの国際文字セットがある。

ユーザー (user). コンピューター・システムのサービスを使用する、人物、組織、プロセス、デバイス、プログラム、プロトコル、またはシステムのこと。

ユーザー・リスト (user list). HATS アプリケーションがホストまたはデータベースにアクセスするために使用できる、アカウント (ユーザー ID) に関する情報を記載したリスト。ユーザー・リストには、アカウントのユーザー ID、パスワード、および説明が記載されている。

UTF-8. Unicode 変換形式の 8 ビットのエンコード形式。既存の ASCII ベース・システムで使いやすくするために設計された。

Web アーカイブ (WAR) (Web archive (WAR)). Java EE 標準で定義された圧縮ファイル・フォーマット。Web アプリケーションのインストールおよび実行に必要なすべてのリソースを単一のファイルに保管する。

Web 高速ログオン (WEL) (Web Express Logon (WEL)). HATS の機能の 1 つであり、これによりユーザーは、ネットワーク・セキュリティー層で認証された一連の信任状を使用して複数のホストにログオンできる。 (「ネットワーク・セキュリティー層 (network security layer)」を参照。)

Web サービス (Web service). 標準ネットワーク・プロトコルを使用してネットワークを介して公開および起動できる、自己完結型で自己記述型のモジュラー・アプリケーション。

Web サービス、RESTful (Web service, RESTful). ステートレス・アーキテクチャーを使用し、機能呼び出しではなくリソースとみなされる Web サービス。整形式 URI を使用して Web サービス・リソースが識別され、HTTP メソッド・プロトコルを使用してアクティビティーの作成、検索、更新、および削除 (CRUD) が実行され、HTTP ヘッダー情報を使用してメッセージ・フォーマットが定義されます。

Web サービス、従来、WSDL ベース (Web service, traditional, WSDL-based). 通常、データにタグを付けるのにXML が使用され、データの転送に SOAP が使用され、使用可能なサービスの記述に WSDL が使用され、どのサービスが使用可能かリストするのに UDDI が使用される Web サービス。

196 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 209: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

WebFacing フィーチャー (WebFacing feature). HATS Toolkit の IBM i 用 IBM WebFacing ツールのフィーチャー。 WebFacing フィーチャーを使用すると、IBM i データ記述仕様 (DDS) ディスプレイ・ファイル・ソース・メンバーを、既存の 5250 プログラム用 Web ベース・ユーザー・インターフェースに変換できる。

WebFacing アプリケーション (WebFaced application). HATS Toolkit の WebFacing フィーチャーによって生成される Web アプリケーション。

WebSphere. Web アプリケーションを実行するための e-business アプリケーションおよびミドルウェアを開発するためのツールを包含する IBM の商標名。 WebSphere Application Server の短縮名として使用される場合もある。これは、WebSphere プロダクト・ファミリーのランタイム部分を表す。

WebSphere Application Server. Web サーバー上で実行し、e-ビジネス・アプリケーションの展開、統合、実行、および管理に使用できる、Web アプリケーション・サーバー・ソフトウェア。 HATS アプリケーションは、エクスポートされてサーバーに転送されると、WebSphere Application Server のアプリケーションとして実行される。

WEL. 「Web 高速ログオン (Web Express Logon)」を参照。

ウィジェット (widget). 再使用可能なユーザー・インターフェース・コンポーネント。例えば、ボタン、スクロール・バー、制御域、またはテキスト編集域などで、キーボードまたはマウスから入力を受け取り、アプリケーションまたは他のウィジェットと通信できる。 HATS アプリケーションは、ホスト・コンポーネントをウィジェットに変換する。

ウィザード (wizard). アクティブな形式のヘルプであり、ユーザーに特定のタスクの各ステップを段階ごとに手引きする。

ワークベンチ (workbench). Rational SDP などの Eclipse ベースの製品におけるユーザー・インターフェースおよび統合開発環境 (IDE)。

XML. 「Extensible Markup Language (XML)」を参照。

Java に関する各種の定義は、Oracle からの許可を得て転載しました。

用語集 197

Page 210: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

198 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 211: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

索引日本語, 数字, 英字, 特殊文字の順に配列されています。なお, 濁音と半濁音は清音と同等に扱われています。

[ア行]アプリケーション (.hap) ファイル 131

イメージ・ファイル 180

印刷設定name 属性

printFontName 158

printNumSwapSupport 158

printOrientation 158

printPaperSize 159

printRTLSupport 160

printSupport 160

printSymSwapSupport 160

printURL 160

ウィザードビジネス・ロジックを作成 5

ウィジェット 21

Dojo TabContainer 46

Dojo による作業 33

HATS Dojo のカスタマイズ 35

拡張グリッド 41

コンボ・ボックス 38

番号スピナー 45

フィルタリング選択 43

ウィジェット、HATS

カスタム登録 30

HATS Toolkit サポート 32

カスタム HTML 28

HTML の作成 28

<HATS:Component> タグ 21

ウィジェット属性renderingItem タグ 146

[カ行]カスタマイズ統合オブジェクト 101

カスタム HTML ウィジェット作成 28

カスタム画面認識 15

カスタム・ウィジェット、HATS

登録 30

HATS Toolkit サポート 32

カスタム・コンポーネント、HATS

登録 30

HATS Toolkit サポート 32

カスタム・ホスト・コンポーネント作成 24

画面カスタマイズ (.evnt) ファイル 165

画面キャプチャー (.hsc) ファイル 178

画面組み合わせ (.evnt) ファイル 163

画面認識カスタム 15

グローバル変数 17

組み合わせタグ 164

クラスAppletSettings 133

ApplicationKeypadTag 135

ClientLocale 135

components.name 143

DBCSSettings 136

DefaultConnectionOverrides 137

DefaultGVOverrides 137

DefaultRendering 143

HostKeypadTag 137

KeyboardSupport 139

OIA 139

RuntimeSettings 140

transform 142

widgets.dojo.name 143

widgets.name 143

クラス・ローダーポリシー 5

WAR 5

クラス・ローダー・ポリシー構成 5

グローバル規則 30

setting タグname 属性 149, 150, 172, 173

value 属性 149, 150, 172, 173

グローバル変数ビジネス・ロジックでの 8

グローバル変数の削除ビジネス・ロジックからの 10

コード・ページ属性hodconnection タグ 150

更新、Web サービスの 80

構成クラス・ローダー・ポリシー 5

コンポーネント 21

コンポーネント、HATS

カスタム登録 30

HATS Toolkit サポート 32

[サ行]サーバー・モジュールの可視性構成 5

サーブレット統合オブジェクトの使用 107

自動切断および自動最新表示設定 133

スタイルシート (.css) ファイル 180

接続オーバーライドの指定 65

接続ファイル 150

設定name 属性

caseSensitive 149, 172

enableFieldLength 150

fieldSize 150, 173

immediatelyNextTo 149, 172

location 149, 172

text 150, 173

value 属性caseSensitive 149, 172

immediatelyNextTo 149, 172

location 149, 172

text 150, 173

双方向 API

グローバル変数 126

データ変換 125

属性ウィジェット

renderingItem タグ 146

コード・ページhodconnection タグ 150

説明application タグ 132

event タグ 165

hodconnection タグ 153

renderingItem タグ 145

renderingSet タグ 145

rule タグ 148, 171

ホストhodconnection タグ 154

applyGlobalRules

apply タグ 166

applyTextReplacement

apply タグ 166

associatedScreen 164

renderingItem タグ 145

rule タグ 148, 171

autoEraseFields

RuntimeSettings 140

© Copyright IBM Corp. 2003, 2015 199

Page 212: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

属性 (続き)

casesense

string タグ 174

caseSensitive

replace タグ 143, 146

certificateFile

hodconnection タグ 150

class

execute タグ 169

codePageKey

hodconnection タグ 151

col

insert タグ 166

sendkey タグ 170

string タグ 174

column 165

componentSettings

rule タグ 171

connection

perform タグ 170

connecttimeout

hodconnection タグ 153

dec

set タグ 169

default

associatedConnections タグ 176

defaultRendering タグ 144

defaultEvent

nextEvents タグ 175

disableFldShp

hodconnection タグ 153

disableNumSwapSubmit

hodconnection タグ 153

disconnecttimeout

hodconnection タグ 153

ecol

extract タグ 167

string タグ 174

enableAutoAdvance

RuntimeSettings 141

enableAutoTabOn

RuntimeSettings 141

enableBusyPage

RuntimeSettings 141

enableCompression

RuntimeSettings 141

enabled

apply タグ 166

disconnect タグ 169

event タグ 132, 175

execute タグ 169

extract タグ 167

forwardtoURL タグ 169

insert タグ 166

pause タグ 170

play タグ 170

属性 (続き)

enabled (続き)

renderingItem タグ 145

rule タグ 148, 171

sendkey タグ 170

set タグ 167

show タグ 169

enableOverwriteMode

RuntimeSettings 142

enableScrRev

hodconnection タグ 153

endCol

renderingItem タグ 145

rule タグ 148, 171

endRow

renderingItem タグ 145

rule タグ 148, 171

erow

extract タグ 167

string タグ 174

escapeHTMLTags

RuntimeSettings 141

fill

insert タグ 166

from

replace タグ 143, 147

handler

extract タグ 176

prompt タグ 177

hostSimulationName

hodconnection タグ 154

immediateKeyset

apply タグ 166

index

extract タグ 167, 177

insert タグ 167

set タグ 168

indexed

extract タグ 167, 177

invertmatch

oia タグ 173

string タグ 174

isBidi

extract タグ 177

prompt タグ 178

isRtlField

prompt タグ 178

isRtlScreen

extract タグ 177

prompt タグ 178

key

sendkey タグ 170

LTRImpicitOrient

prompt タグ 178

LUName

hodconnection タグ 154

属性 (続き)

LUNameSource

hodconnection タグ 154

macro

perform タグ 170

play タグ 170

matchLTR

replace タグ 144, 147

matchRTL

replace タグ 144, 147

method

execute タグ 169

name

class タグ 133, 158

connection タグ 176

event タグ 133, 175

extract タグ 167, 176

prompt タグ 177

renderingSet タグ 145

screen タグ 173

set タグ 167

setting タグ 146, 149, 150, 158,

172, 173

op

set タグ 168

op1

set タグ 168

op1_index

set タグ 168

op1_shared

set タグ 168

op1_type

set タグ 168

op2

set タグ 168

op2_index

set タグ 168

op2_shared

set タグ 168

op2_type

set タグ 168

optional

oia タグ 173

string タグ 174

overwrite

extract タグ 167, 177

set タグ 168

package

execute タグ 169

port

hodconnection タグ 154

regularExpression

replace タグ 144, 147

row 165

insert タグ 166

sendkey タグ 170

200 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 213: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

属性 (続き)

row (続き)

string タグ 174

save

extract タグ 176

scol

extract タグ 167

screenorientation

extract タグ 177

prompt タグ 178

screenSize

hodconnection タグ 154

selectAllOnFocus

RuntimeSettings 142

sessionType

hodconnection タグ 155

shared

extract タグ 167, 176

insert タグ 167

set タグ 167

showHandler

extract タグ 176

singlelogon

hodconnection タグ 155

source

insert タグ 166

prompt タグ 177

srow

extract タグ 167

SSL

hodconnection タグ 155

startCol

renderingItem タグ 145

rule タグ 148, 171

startRow

renderingItem タグ 146

rule タグ 148, 171

startStateLabel

forwardtoURL タグ 169

status

oia タグ 173

suppressUnchangedData

RuntimeSettings 142

template

application タグ 132

apply タグ 166

show タグ 169

time

pause タグ 170

TNEnhanced

hodconnection タグ 155

to

replace タグ 143, 147

toImage

replace タグ 144, 147

属性 (続き)

transformation

apply タグ 166

transformationFragment

rule タグ 148, 171

type 164

event タグ 133, 165, 166

renderingItem タグ 146

rule タグ 148, 171

set タグ 168

url

forwardtoURL タグ 169

show タグ 169

value

insert タグ 166

prompt タグ 178

set タグ 168

setting タグ 146, 149, 150, 161,

172, 173

string タグ 174

variableIndex

prompt タグ 178

variableIndexed

prompt タグ 178

variableName

extract タグ 176

prompt タグ 178

VTTerminalType

hodconnection タグ 155

welApplID

prompt タグ 178

welIsPassword

prompt タグ 178

workstationID

hodconnection タグ 155

workstationIDSource

hodconnection タグ 155

[タ行]代替レンダリング・サポート設定 142

タグ組み合わせ 164

enddescription 164

keyPress 164

screenDown 164

screenUp 164

sendText 165

setCursor 165

チェーニング統合オブジェクト 67

EJB Access Beans 95

次の画面の設定name 属性

default.appletDelayInterval 160

次の画面の設定 (続き)

name 属性 (続き)

default.blankScreen 160

default.blankScreen.keys 161

default.delayInterval 161

default.delayStart 161

nextScreenClass 161

oiaLockMaxWait 161

テキスト置換 23

テンプレート (.jsp) ファイル 163

統合オブジェクトカスタマイズ 101

使用 59

ビジネス・ロジックでの 13

Java クラス階層 61

Java コード・テンプレート 101

Web サービス 77

統合オブジェクト出力XML スタイル・シートの適用 69

getHPubXMLProperties() メソッド70

統合オブジェクトの使用サーブレットまたは JSP での 107

EJB での 110

統合オブジェクトのチェーニング 67

HATS のチェーニングされた Web サービス 68

統合オブジェクトのメソッド 61

共通 61

使用サーブレットでの 107

EJB での 110

JSP での 107

データベース・アクセス 64

ホスト・アクセス 63

EJB Access Beans 95

[ナ行]認識メソッド 25

[ハ行]ビジネス・ロジックグローバル変数の削除 10

グローバル変数の使用 8

作成 5

統合オブジェクトの呼び出し 13

プロジェクトへの追加 5

例 10

「ビジネス・ロジックの作成」ウィザード5

チェック・ボックスグローバル変数ヘルパー・メソッドの作成 5

索引 201

Page 214: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

ビジネス・ロジックの追加 5

ファイルアプリケーション (.hap) 131

イメージ 180

画面カスタマイズ (.evnt) 165

画面キャプチャー (.hsc) 178

画面組み合わせ (.evnt) 163

スタイルシート (.css) 180

接続 (.hco) 150

テンプレート (.jsp) 163

変換 (.jsp) 163

マクロ (.hma) 175

BMS マップ (.bms および .bmc) 179

プラグイン信任状マッパー 115

作成 120

ネットワーク・セキュリティー 115

作成 120

Web 高速ログオン 115

作成 115

プログラミング・タスク 2

プロジェクトビジネス・ロジックの追加 5

変換 (.jsp) ファイル 163

編集ファイル 131

ポートレット 53

標準信任状 53

セキュリティー 53

統合オブジェクトの実行 56

入力ポートレットの拡張 55

Web 高速ログオン 53

JavaServer Page の追加 58

ホスト・アクセス統合オブジェクトJava コード・テンプレート使用 102

変更 104

ホスト・コンポーネント 21

カスタム作成 24

ホスト・コンポーネント、HATS

カスタム 24

作成 24

<HATS:Component> タグ 21

[マ行]マクロ (.hma) ファイル 175

[ラ行]ラッパー・クラス 75

例ビジネス・ロジック 10

ロケール、クライアント設定 135

Aactions タグ 166

Apache Axis ランタイムWeb サービス・クライアント 78

API 資料 3

AppletSettings

設定 133

application タグ 132

ApplicationKeypadTag

設定 135

apply タグ 166

applyGlobalRules 属性apply タグ 166

applyTextReplacement 属性apply タグ 166

associatedConnections タグ 176

associatedScreen

screenCombination 165

associatedScreen 属性 164

renderingItem タグ 145

rule タグ 148, 171

associatedScreens タグ 173

autoEraseFields

RuntimeSettings 140

BBIDI OrderBean 126

メソッド 127

BMS マップ (.bms および .bmc) ファイル 179

Ccasesense 属性

string タグ 174

caseSensitive 設定name 属性グローバル規則 149, 172

value 属性グローバル規則 149, 172

caseSensitive 属性replace タグ 143, 146

certificateFile 属性sessionhodconnection タグ 150

class 属性execute タグ 169

class タグ 133, 158

classSettings タグ 133, 158, 161, 162

ClientLocale

設定 135

CMRequest オブジェクト 117

CMResponse オブジェクト 118

codePageKey 属性hodconnection タグ 151

col 属性insert タグ 166

sendkey タグ 170

string タグ 174

column 属性 165

componentSettings 属性rule タグ 171

componentSettings タグ 146, 149, 172

components.name

設定 143

ComponentWidget.xml ファイル 27, 30

connection 属性perform タグ 170

connection タグ 176

connecttimeout 属性hodconnection タグ 153

DDBCSSettings

設定 136

DCAS API オブジェクト 121

dec 属性set タグ 169

default 属性associatedConnections タグ 176

defaultRendering タグ 144

DefaultConnectionOverrides

設定 137

defaultEvent 属性nextEvents タグ 175

DefaultGVOverrides

設定 137

DefaultRendering

設定 143

defaultRendering タグ 144

description 属性application タグ 132

event タグ 165

hodconnection タグ 153

renderingItem タグ 145

renderingSet タグ 145

rule タグ 148, 171

description タグ 173

disableFldShp 属性hodconnection タグ 153

disableNumSwapSubmit 属性hodconnection タグ 153

disconnect タグ 169

disconnecttimeout 属性hodconnection タグ 153

202 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 215: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

Dojo ウィジェット作業 33

HATS のカスタマイズ 35

拡張グリッド 41

コンボ・ボックス 38

番号スピナー 45

フィルタリング選択 43

TabContainer 46

drawHTML メソッド 23

dynamic 164

Eecol 属性

extract タグ 167

string タグ 174

EJB

統合オブジェクトの使用 110

EJB Access Bean 76

EJB Access Bean のチェーニング 95

EJB Access Beans

使用 95

統合オブジェクトのチェーニングWeb コンテナー外での 96

Web コンテナーでの 96

プロパティーhPubAccessHandle 96

hPubLinkKey 96

enableAutoAdvance

RuntimeSettings 141

enableAutoTabOn

RuntimeSettings 141

enableBusyPage

RuntimeSettings 141

enableCompression

RuntimeSettings 141

enabled 属性apply タグ 166

disconnect タグ 169

event タグ 132, 175

execute タグ 169

extract タグ 167

forwardtoURL タグ 169

insert タグ 166

pause タグ 170

play タグ 170

renderingItem タグ 145

rule タグ 148, 171

sendkey タグ 170

set タグ 167

show タグ 169

enableFieldLength 設定name 属性グローバル規則 150

enableOverwriteMode

RuntimeSettings 142

enableScrRev 属性hodconnection タグ 153

endCol 属性renderingItem タグ 145

rule タグ 148, 171

enddescription タグ 164

endRow 属性renderingItem タグ 145

rule タグ 148, 171

ENPTUI 156

erow 属性extract タグ 167

string タグ 174

escapeHTMLTags

RuntimeSettings 141

event タグ 132, 165, 175

説明 173

actions 166

apply 166

associatedScreens 173

disconnect 169

event 175

execute 169

extract 167

forwardtoURL 169

insert 166

nextEvents 175

oia 173

pause 170

perform 170

play 170

screen 173

sendkey 170

set 167

show 169

string 174

eventPriority タグ 132

execute タグ 169

extract タグ 167, 176

extracts タグ 176

FfieldSize 設定

name 属性グローバル規則 150, 173

fill 属性insert タグ 166

forwardtoURL タグ 169

from 属性replace タグ 143, 147

GgetHPubXMLProperties() 関数

HPubConvertToTableFormat スタイル・シートを適用した 71

globalRules タグ 147, 170

Hhandler 属性

extract タグ 176

prompt タグ 177

HAScript タグ 178

HATS

ウィジェット作成 28

登録 30

HATS Toolkit サポート 32

<HATS:Component> タグ 21

コンポーネント登録 30

HATS Toolkit サポート 32

ホスト・コンポーネント作成 24

<HATS:Component> タグ 21

<HATS:Component> タグ操作 23

属性 21

例 21

HATS EJB プロジェクト 91

コンテンツ 92

作成 93

EJB Access Beans 92

HATS EJB プロジェクト表示 91

HATS Toolkit サポートカスタム・ウィジェット 32

カスタム・コンポーネント 32

HATS ポートレット 53

host 属性hodconnection タグ 154

HostKeypadTag

設定 137

hostSimulationName 属性hodconnection タグ 154

HPubHostAccess クラス 59

HTML ウィジェットカスタム作成 28

HTMLDDS 156

HTMLElementFactory 28

IimmediateKeyset 属性

apply タグ 166

索引 203

Page 216: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

immediatelyNextTo 設定name 属性グローバル規則 149, 172

value 属性グローバル規則 149, 172

index 属性extract タグ 167, 177

insert タグ 167

set タグ 168

indexed 属性extract タグ 167, 177

insert タグ 166

invertmatch 属性oia タグ 173

string タグ 174

isBidi 属性extract タグ 177

prompt タグ 178

isRtlField 属性prompt タグ 178

isRtlScreen 属性extract タグ 177

prompt タグ 178

JJava クラス

HPubHostAccess 59

Java クラス階層統合オブジェクト 61

Java コードインポート 7

Java コードのインポート 7

Javadoc 3

JAX-RPC ランタイムWeb サービス・クライアント 78

JAX-WS ランタイム考慮事項 81

Web サービス・クライアント 78

JSP

統合オブジェクトの使用 107

Kkey 属性

sendkey タグ 170

KeyboardSupport

設定 139

keyPress タグ 164

Llocation 設定

name 属性グローバル規則 149, 172

location 設定 (続き)

value 属性グローバル規則 149, 172

LTRImpicitOrient 属性prompt タグ 178

LUName 属性hodconnection タグ 154

LUNameSource 属性hodconnection タグ 154

Mmacro 属性

perform タグ 170

play タグ 170

macro タグ 176

associatedConnections 176

connection 176

extract 176

extracts 176

HAScript 178

macro 176

prompt 177

prompts 177

matchLTR 属性replace タグ 144, 147

matchRTL 属性replace タグ 144, 147

method 属性execute タグ 169

Nname 属性印刷設定

printFontName 158

printNumSwapSupport 158

printOrientation 158

printPaperSize 159

printRTLSupport 160

printSupport 160

printSymSwapSupport 160

printURL 160

次の画面の設定default.appletDelayInterval 160

default.blankScreen 160

default.blankScreen.keys 161

default.delayInterval 161

default.delayStart 161

nextScreenClass 161

oiaLockMaxWait 161

class タグ 133, 158

connection タグ 176

event タグ 133, 175

extract タグ 167, 176

name 属性 (続き)

prompt タグ 177

renderingSet タグ 145

screen タグ 173

set タグ 167

setting タグ 146, 158

代替レンダリング・サポート 142

AppletSettings 133

ApplicationKeypadTag 135

ClientLocale 135

components.name 143

com.ibm.hats.transform 142

DBCSSettings 136

DefaultConnectionOverrides 137

DefaultGVOverrides 137

DefaultRendering 143

HostKeypadTag 137

KeyboardSupport 139

OIA 139

RuntimeSettings 140

widgets.dojo.name 143

widgets.name 143

nextEvents タグ 175

normal 164

OOIA

設定 139

oia タグ 173

op 属性set タグ 168

op1 属性set タグ 168

op1_index attribute

set タグ 168

op1_shared 属性set タグ 168

op1_type 属性set タグ 168

op2 属性set タグ 168

op2_index 属性set タグ 168

op2_shared 属性set タグ 168

op2_type 属性set タグ 168

optional 属性oia タグ 173

string タグ 174

otherParameters

ENPTUI 156

HTMLDDS 156

otherParameters タグ 156

204 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 217: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

overwrite 属性extract タグ 167, 177

set タグ 168

Ppackage 属性

execute タグ 169

pause タグ 170

perform タグ 170

play タグ 170

port 属性hodconnection タグ 154

prompt タグ 177

prompts タグ 177

RregularExpression 属性

replace タグ 144, 147

remove タグ 175

renderingItem タグ 145

renderingSetg タグ 144

replace タグ 143, 146

RESTful Web サービス 74

作成 82

row 属性 165

insert タグ 166

sendkey タグ 170

string タグ 174

RuntimeSettings

設定 140

Ssave 属性

extract タグ 176

scol 属性extract タグ 167

screen タグ 173

screenCombination

event タグ 165

screenDown タグ 164

screenorientation 属性extract タグ 177

prompt タグ 178

screenSize 属性hodconnection タグ 154

screenUp タグ 164

selectAllOnFocus

RuntimeSettings 142

sendkey タグ 170

sendText タグ 165

session タグ 150

sessionType 属性hodconnection タグ 155

set タグ 167

setCursor タグ 165

setting タグ 133, 146, 149, 158, 172

shared 属性extract タグ 167, 176

insert タグ 167

set タグ 167

show タグ 169

showHandler 属性extract タグ 176

singlelogon 属性hodconnection タグ 155

source 属性insert タグ 166

prompt タグ 177

srow 属性extract タグ 167

SSL 属性hodconnection タグ 155

startCol 属性renderingItem タグ 145

rule タグ 148, 171

startRowl 属性renderingItem タグ 146

rule タグ 148, 171

startStateLabel 属性forwardtoURL タグ 169

status 属性oia タグ 173

string タグ 174

suppressUnchangedData

RuntimeSettings 142

Ttemplate 属性

application タグ 132

apply タグ 166

show タグ 169

text 設定name 属性グローバル規則 150, 173

value 属性グローバル規則 150, 173

textReplacement タグ 143

textReplacements タグ 146

time 属性pause タグ 170

TNEnhanced 属性hodconnection タグ 155

to 属性replace タグ 143, 147

toImage 属性replace タグ 144, 147

transform

設定 142

transformation 属性apply タグ 166

transformationFragment 属性rule タグ 148, 171

type 属性 164

event タグ 133, 165, 166

renderingItem タグ 146

rule タグ 148, 171

set タグ 168

Uurl 属性

forwardtoURL タグ 169

show タグ 169

Vvalue

dynamic 164

normal 164

value 属性insert タグ 166

prompt タグ 178

set タグ 168

setting タグ 146, 161

string タグ 174

variableIndex 属性prompt タグ 178

variableIndexed 属性prompt タグ 178

variableName 属性extract タグ 176

prompt タグ 178

VTTerminalType 属性hodconnection タグ 155

WWeb Services Interoperability 74

Web 高速ログオン 115

統合オブジェクトの実行ビジネス・ロジックでの 14

標準ポートレットでの 57

標準ポートレットでの 53

プラグイン 115

Web サービス 73

クライアントの作成 78

考慮事項 81

作成 75

従来の (WSDL ベースの) 74

統合オブジェクト 79

従来の 73

索引 205

Page 218: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

Web サービス (続き)

テスト 77

統合オブジェクト 77

統合オブジェクトのチェーニング 79

ランタイム 76

Apache Axis ランタイム 78

EJB Access Bean からの作成 76

EJB Access Bean のチェーニング 79

EJB Access Beans

統合オブジェクトのチェーニング79

JAX-RPC ランタイム 78

JAX-WS ランタイム 78, 81

RESTful サービス 74

応答ヘッダー 89

考慮事項 90

コンテンツの処理 87

作成 82

制限事項 90

HTTP 状況コード 89

JAX-RS リソースのカスタマイズ85

JAX-RS リソースの更新 85

JAX-RS リソースの作成 83

Shift_JIS 89

WebSphere Portal Toolkit 53

welApplID 属性prompt タグ 178

welIsPassword 属性prompt タグ 178

widgetSettings タグ 146

widgets.dojo.name

設定 143

widgets.name

設定 143

workstationID 属性hodconnection タグ 155

workstationIDSource 属性hodconnection タグ 155

Xxml タグ

application 132

class 133, 158

classSettings 133, 158, 161, 162

componentSettings 146, 149, 172

connection 132

defaultRendering 144

event 132

eventPriority 132

globalRules 147, 170

otherParameters 156

renderingItem 145

renderingSet 144

replace 143, 146

xml タグ (続き)

rule 147, 170

session 150

setting 133, 146, 149, 158, 172

textReplacement 143

textReplacements 146

widgetSettings 146

[特殊文字]<HATS:Component> タグ操作 23

属性 21

例 21

<rule> タグ 147, 170

206 IBM Host Access Transformation Services: Web アプリケーション・プログラマーズ・ガイド

Page 219: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5
Page 220: IBM Host Access Transformation Services · 2017-08-22 · IBM Host Access Transformation Services Web アプリケーション・プログラマーズ・ガイド バージョン9.5

IBM®

Printed in Japan

SA88-5380-01