IBM System z および IBM System i のエミュレーションとモダナイズソリューションである HCL Z and I Emulator の紹介と実際例を掲載した資料を公開しました。
HCL Z and I Emulator は、いわゆる「レガシー」な資産の単なるエミュレーターに留まらず、それらをモダンなUIやモバイルで活用できるようにすることができる製品です。
3270や5250端末を今風のUIを備えたWebアプリに変換する HCL Z and I Emulator の最初の一歩についての記事 Creating simple ZIETrans project の翻訳版です。
簡単な ZIETrans プロジェクトの作成
2020年9月2日
著者: Mahua Chanda / Developer, Lab Services, HCL ZIE
はじめに
HCL Z and I Emulator for Transformation (ZIETrans) を使用すると、IBMR z Systems プラットフォーム上で実行されている 3270 アプリケーションと IBM i OS プラットフォーム上で実行されている HCL の 5250 アプリケーションを、使いやすいグラフィカル・ユーザー・インターフェース (GUI) を持つ Web アプリケーションを作成できるようになります。
ZIETrans アプリケーションでは、モダンな外観に模様替えすることができます。ZIETrans Web アプリケーションは、会社の Web ページまたはポータル・ページと一致するインターフェイスで開発することができ、ユーザーは Web ブラウザからアクセスすることができます。ZIETrans Web アプリケーションは、携帯電話、データ収集端末、PDA(パーソナル・デジタル・アシスタント)などのモバイル機器からホストアプリケーションへのアクセスを提供するために開発することもできます。
ZIETrans アプリケーション開発のすべてのステップは、Eclipse ベースの IBM Rational Software Delivery Platform (Rational SDP) を使用して実行されます。Rational SDP は、ユーザー・インターフェースと統合開発環境 (IDE) を提供し、そこからウィザードを起動してリソースを作成したり、リソースのリストを表示したり、エディタを使用してリソースを変更できます。
Rational SDP を起動すると、1 つのウィンドウに 1 つ以上のパースペクティブが表示されます。パースペクティブとは、ビューとエディタの集合体で、特定のタイプのプロジェクト (この場合は ZIETrans プロジェクト) に属するリソースの作成、編集、表示、実行を可能にします。一度に複数のパースペクティブを開くことができますが、一度に表示して作業できるのは1つだけです。
Rational SDP ウィンドウの右端には、新しいパースペクティブを開いたり、すでに開いているパースペクティブ間を移動したりするためのショートカットバーがあります。アクティブなパースペクティブの名前がウィンドウのタイトルに表示され、ツールバーにはアクティブなパースペクティブに関連付けられたアイコンが表示されます。
ZIETrans ツールキットとパースペクティブの起動
ZIETrans Toolkit は、2 つの方法で起動できます。
ZIETrans パースペクティブには、2 つの主な領域があります。
ZIETrans ツールキットを初めて起動すると、ZIETrans のヒントが表示されます。チップウィンドウのチェックボックスを使用して、表示するチップを制御することができます。
Rational SDP を起動したときに ZIETrans パースペクティブが表示されない場合は、Window > Open Perspective > Other をクリックして、使用可能なパースペクティブのリストから Z and I Emulator for Transformation を選択することで、ZIETrans パースペクティブを開くことができます。ZIETrans パースペクティブの一部のウィンドウを閉じたり、配置を変更したりすると、終了時に配置が保存されます。ZIETrans Toolkit に戻ると、最後に正常に保存された終了時の設定に復元されます。元の ZIETrans ウィンドウを復元するには、Window > Reset Perspective をクリックします。
ZIETrans プロジェクトの作成
ZIETransプロジェクトの作成には複数の方法があります(動画のリンクをたどってください
ウェルカムページから開始します。ウェルカムページが表示されていない場合は、メインツールバーの Open ZIETrans Welcome Page icon アイコン をクリックしてください。
注: Web 配置オプションが無効になっている場合、サーバー ランタイムが定義されていないことを意味します。サーバーランタイムを定義するには、Window > Preferences > Server > Installed Runtimes に移動し、少なくとも 1 つのランタイム定義を追加します。
Connection Settings ページで、以下の設定を行います。
プロジェクトのテーマページで、アプリケーションの全体的な外観と動作を選択します。アプリケーションをエミュレータのように表示して動作させるか、最新のアプリケーションのように表示するか、またはその中間のカスタム設定にするかを選択することができます。次へ]をクリックします。
デフォルトテンプレートページには、ZIETransで提供されているすべてのテンプレートが表示されます。プロジェクトの出発点として使用するテンプレートを選択し、終了をクリックします。
ZIETrans がプロジェクトを作成すると、プログレスバーが表示されます。
詳細については、「HCL Z and I Emulator for Transformation で簡単なプロジェクトを作成する (Creating a Simple project on ZIETrans)」のビデオをご覧ください。
お問い合わせ HCL ZIE での Web アプリケーションの整理、自動化機能、ラボサービスの提供に関する詳細については、以下までお問い合わせください。
ZIO@hcl.com
Mahua Chanda / Developer, Lab Services, HCL ZIE
前回の記事「HCL Z and I Emulator: PCSAPI を使った自動化」に続き、ホストアクセスクラスライブラリ (HACL) を使った自動化についての英語版ブログの記事 Automation using HACL の日本語版です。
Automation using HACL
2020年8月17日
著者: Sudhir Ranjan Rout / Senior Developer, HCL
PCSAPI を使用したオートメーションと EHLLAPI APIを使用したオートメーションに関する以前のブログに続き、このブログでは、ZIEWIN API の最も強力なセットである HACL(ホストアクセスクラスライブラリ)API について詳しく説明します。
ホストアクセスクラスライブラリ (HACL) は、アプリケーションプログラマがホストアプリケーションに簡単かつ迅速にアクセスできるようにするオブジェクトのセットです。 HCL ZIEWinは、さまざまなHACLレイヤーをサポートしています。
図1 HACLレイヤー
オートメーションオブジェクト(Visual Basic、Word、Excel など): ホストアクセスクラスライブラリオートメーションオブジェクトにより、ZIEWin は Microsoft COM ベースのオートメーションテクノロジー(以前はOLE オートメーションと呼ばれていました)をサポートできます。 HACL 自動化オブジェクトは一連の自動化サーバーで、Microsoft Visual Basic などの自動化コントローラーがプログラムで ZIEWin Communications のデータと機能にアクセスできるようにします。
注:HCL ZIEWin によって提供されるオートメーションオブジェクトは、本来64ビットです。これらは、64ビットの Microsoft Office プログラムでのみ使用できます。
現在、以下のタイプのオートメーションオブジェクトがサポートされています。
このC ++クラスライブラリは、以下を含むホスト接続の完全なオブジェクト指向の抽象化を提供します。
* ホスト表示スペース(画面)の読み取りと書き込み
* 画面上のフィールドの列挙
* 状況情報についてオペレーター標識域 (OIA) を読み取る
* ビジュアルエミュレータウィンドウに関する情報へのアクセスと更新
* ファイルを転送しています
* 重要なイベントの非同期通知を実行する
Javaオブジェクトは、すべてのHACL関数にJavaラッパーを提供します。
ECL コンセプト - 接続、ハンドル、名前
ECL のコンテキストでは、接続は単一であり、ZIEWin エミュレーターウィンドウに固有です。接続は、接続ハンドルまたは接続名によって区別されます。ほとんどの HACL オブジェクトは特定の接続に関連付けられています。通常、オブジェクトは接続ハンドルまたは接続名をオブジェクトのコンストラクターのパラメーターとして受け取ります。たとえば、接続「B」に関連付けられた ECLPS(表示スペース)オブジェクトを作成するには、次のコードを使用します。
C++ ECLPS *PSObject; PSObject = new ECLPS(’B’);
Visual Basic Dim PSObject as Object Below is a graphical representation of the most commonly used autECL Objects Set PSObject = CreateObject("ZIEWIN.autECLPS") PSObject.SetConnectionByHandle("B")
HACL 自動化オブジェクト
図2 autECL オブジェクトの全体図
オートメーションサーバーの一部は、ZIEWin の操作性を制御するメソッドとプロパティを備えた実世界の直感的なオブジェクトとして実装されています。 各オブジェクトは、オートメーションホストアクセスクラスライブラリの autECL で始まります。 これらのオブジェクトを簡単な説明とともに以下に示します。
接続リストには、特定のシステムのZIEWin接続のリストが含まれています。これはautECLConnMgrに含まれていますが、autECLConnMgrとは別に作成できます。
接続マネージャーは、特定のシステムのZIEWin接続を管理するためのメソッドとプロパティを提供します。このコンテキストでの接続はZIEWinウィンドウです。
フィールドリストは、エミュレータ表示スペースのフィールドに対して操作を実行します。
オペレーター情報エリアは、オペレーター情報エリアをクエリおよび操作するためのメソッドとプロパティを提供します。これはautECLSessionに含まれていますが、autECLSessionとは独立して作成できます。
表示スペースは、関連するZIEWin接続の表示スペースを照会および操作するためのメソッドとプロパティを提供します。これには、表示スペース内のすべてのフィールドのリストが含まれています。これはautECLSessionに含まれていますが、autECLSessionとは無関係に作成できます。
画面の説明は、画面を説明するメソッドとプロパティを提供します。これは、autECLPSオブジェクトまたはautECLScreenRecoオブジェクトで画面を待機するために使用できます。
画面認識は、HACL画面認識システムのエンジンを提供します。
画面認識は、HACL画面認識システムのエンジンを提供します。
セッションは、一般的なセッション関連の機能と情報を提供します。便宜上、autECLPS、autECLOIA、autECLXfer、autECLWinMetrics、autECLPageSettings、およびautECLPrinterSettingsオブジェクトが含まれています。
ウィンドウメトリックは、このオブジェクトに関連付けられているZIEWinセッションのウィンドウメトリックを照会するメソッドを提供します。たとえば、このオブジェクトを使用して、ZIEWinウィンドウを最小化または最大化します。これはautECLSessionに含まれていますが、autECLSessionとは独立して作成できます。
ファイル転送は、このファイル転送オブジェクトに関連付けられたZIEWin接続を介してホストとワークステーション間でファイルを転送するためのメソッドとプロパティを提供します。これはautECLSessionに含まれていますが、autECLsessionとは独立して作成できます。
ページ設定は、CPI、LPI、セッションの[ページ設定]ダイアログのフェイス名などの一般的に使用される設定をクエリおよび操作するためのメソッドとプロパティを提供します。これはautECLSessionに含まれていますが、autECLSessionとは独立して作成できます。
プリンター設定は、セッションのプリンター設定ダイアログのプリンターやPDTモードなどの設定を照会および操作するためのメソッドとプロパティを提供します。これはautECLSessionに含まれていますが、autECLSessionとは独立して作成できます。
基本的にすべてのクラスは、プロパティ、メソッド、および (オプションで) イベントを提供します。これらは、ZIEWin ウィンドウ内の操作を相互作用し、制御するために連携して、または別々に使用できます。
前述のクラスとサンプルコードについての詳細情報は、ZIEWin のオンラインドキュメントでも閲覧できます。
以下のサンプルコードは、最も一般的なECLオブジェクトとメソッドの使い方を示しています。
1. Object Declaration Declare the Objects to be used DIM autECLPSObj as Object DIM autECLConnList as Object Dim autECLOIAObj as Object Dim PSText String
2. Initialize session object by Handle or by Name Define the purpose of the object type Set autECLPSObj = CreateObject("ZIEWIN.autECLPS") Set autECLConnList = CreateObject("ZIEWIN.autECLConnList") Set autECLOIAObj = CreateObject("ZIEWIN.autECLOIA") Refresh must be called to get latest connection info autECLConnList.Refresh Initialize the connection with the first in the list autECLPSObj.SetConnectionByHandle(autECLConnList(1).Handle) Initialize the connection with Session Name autECLOIAObj.SetConnectionByName("A")
3. Sendkey (String,Row,Col) sends the text on mentioned row and col location autECLPSObj.SendKeys "ZIEWIN API’s are very Powerful", 3, 1
4. Sendkey (KeyStroke) Send keystroke (Enter) on the green screen autECLPSObj.SendKeys “[Enter]”
5. GetText (Row, Col, Length) ' Gets the text of 10 bytes from row and col PSText = GetText (1,1,10)
6. SetCursorPos (Row, Col) ' sets the cursor position at row and col location autECLPSObj.SetCursorPos 2, 1
7. StartMacro (MacroName) ' Executes the ZIEWIN recorded .mac macro autECLPSObj.StartMacro "MacroName"
8. WaitforInputReady (time in millsec) waits for specified number of milliseconds autECLOIAObj.WaitForInputReady(10000)
9. Properties Number of rows and cols properties in green screen autECLPS class Object Rows = autECLPSObj.NumRows Cols = autECLPSObj.NumCols
10. GetCursorRow and GetCursorCol fetch rows and cols properties position CurPosRow = autECLPSObj.CursorPosRow CurPosCol = autECLPSObj.CursorPosCol
11. RegisterPSEvent/ RegisterCommEvent, RegisterKeyEvent Refer the attached example Excel application
サンプルコードのダウンロード
お問い合わせ
HCL ZIE での Web アプリケーションの整理、自動化機能、Lab サービスの提供に関する詳細については、こちらをご覧ください。
ZIO@hcl.com