IBM iユーザーはWindows 10で5250エミュレータを使うべく、IBM i Access Client Solutions(ACS)への移行を進めている。ACSは単なるエミュレータ機能にとどまらず、IBM iの運用・管理からDB開発、さらにSQLスクリプト実行まで、実に多彩な機能を備えている。
この機会にACSが備えるさまざまな機能を理解して、IBM iの活用をレベルアップしよう。
単なるエミュレータだけじゃない
ACSの多彩な機能を知る
IBM i Access for Windowsは2019年4月末でサポート終了になり、Windows 7の延長サポートも2020年1月14日で終了した。
IBMは、IBM i Access for Windowsの後継として、Windows専用のエミュレータではなく、Windows 10をはじめLinux、MacなどJava をサポートするほとんどのOS上で稼働するJava ベースの製品として「IBM i Access Client Solution」(以下、ACS)を2015年から提供している。
ACSはPCのOS環境に依存せず、従来のWindows版を超える多彩な機能を提供している。また発表当時課題であった印刷機能も、2018年6月以降のV1.1.8.0からJava標準のAPIを活かした印刷がサポートされたことで、以前のWindows版と比べても遜色がなくなった。
本稿では単なるエミュレータではなく、IBM iを運用・管理する機能、データベースの開発機能など、いろいろな場面で使えるACSの実力を解説していきたい(使用する図表や画面イメージはACS 1.1.8.3を使用している)。
IBM i Access Client Solutionsとは
最初に、IBM i Access Family製品について整理しておこう(図表1)。
ACSはIBM i Access Familyの製品の1つで、5250エミュレータなどIBM i へアクセスする機能を提供している。5250エミュレータ、プリンタ・エミュレーション、およびデータ転送の機能を使用するには、IBM i Access Familyライセンス(5770-XW1) が必要である。それ以外の機能はすべて、IBM i ライセンスのみで使用できる。
IBM i Access for Web (5770-XH2)も、IBM i Access Familyの製品の1つである。IBM iへのWebブラウザベースのアクセス環境を提供しており、以下のような機能を使用できる。
・ Webベースの5250ユーザー・インターフェースの提供
・ ジョブ、メッセージ、出力待ち行列、ファイル(IFS)、印刷の参照/管理
・ PTF、PTFグループの参照
・ データベース・レコードの参照/挿入/更新
・ SQLウィザードを使用したSQLステートメントのビルド/実行/保管
IBM i Access Familyのライセンス
IBM i Access Familyライセンスは、同時アクセスされるユーザー数をサーバー側でカウントおよび制御している。IBM i Access のユーザーは、以下のとおり定義される。
①ACS のデータ転送機能または 5250 エミュレーション機能 (あるいはその両方) を使用して同時にサーバーへアクセスする。
②Web 版の各ブラウザ・セッションから同時にサーバーへアクセスする(ACS版、Web版はそれぞれ別の端末と見なされるので、同時にアクセスする場合は複数のライセンスが必要となる)。
ACSのパッケージ内容
ACSに含まれるパッケージ内容を整理しておこう(図表2)。
基本パッケージは、以下を提供している。
・ 5250 ディスプレイ・エミュレータ(IBM i Access for Windowsでよく使用する5250 ディスプレイの全機能に加えて、いくつかの追加機能が提供されている。たとえば複数のセッションを簡単に切り替えられるタブ・サポートや、ページ間を直観的にスクロールできるマウス・ホイール・サポートなど)
・ 5250エミュレータ・セッションを管理するのに使用する 5250セッション管理機能
・ 5250プリンタ・エミュレーション
・ LAN、HMCコンソールのための5250エミュレーション
・ IBM iデータベースと、ワークステーション上のさまざまなファイル・タイプ、たとえばOpenDocument スプレッドシート (*.ods)、Excel ワークブック (*.xlsx)、およびその他のファイル形式などとの間でデータをやり取りするデータ転送機能
・ IBM i の統合ファイル・システムを参照するためのインターフェース(ここでサポートされるアクションには表示、PC からのダウンロード/PC へのアップロード、および他の IBM i 区画への送信が含まれる)
・ ブラウザを使用した IBM Navigator for i の起動機能
・ Db2 for iデータベース管理機能(Db2 for iの管理インターフェースをGUIで提供)
・ 「SQL スクリプトの実行」および「SQL Performance Center」などのデータベース開発機能
・ オープンソースパッケージの管理(IBM i 7.2以降でOSSをインストールおよび更新する新しい方法を提供。Node.jsやPythonなどをリストから選択し、インストールや更新が可能)
さらに追加のアプリケーション・パッケージとして、Windows 用の追加パッケージでは以下を提供している(Windowsで以下の機能が必要な場合に導入)。
・ ODBC、.Net、および OLE DB を使用した Db2 for i への接続
・ IBM i システム・オブジェクトにアクセスするためのプログラミング・ツールキット
・ TLS/SSL 接続のサポート
Linux 用の追加パッケージでは、以下を提供している(Linuxで、以下の機能が必要な場合に導入)。
・ Db2 for i にアクセスするための ODBC ドライバ(完全な 64 ビット ODBCデータ・タイプをサポート)
PASE用の追加パッケージでは、以下を提供している(PASE環境でODBCを使いたい場合に導入)。
・ IBM i 7.2以降で使用可能な、PASE環境で稼働するODBCドライバによるDb2 for iの接続を可能にする専用ODBCドライバ
オプション機能は必要に応じて導入する必要があるので、ダウンロード時にも別モジュールで提供している。
IBM i Access for Windowsに含まれていた機能のうち、5250エミュレータ画面・印刷機能、データ転送機能、コンソール機能、ODBCドライバはACSで提供されている。一部の機能(かつてのSysmtem i Navigator、いわゆるiNavi)やマネージメント・セントラルは、IBM Navigator for iで提供している。ACSからはIBM Navigator for iを起動でき、ブラウザベースで機能提供されている(図表3)。
図表4は、IBM Navigator for iのメイン画面である。
頻繁に使用するIBM iの運用・管理機能が、Webインターフェースを介して操作できる。コマンドを知らなくても容易に操作できるので覚えやすく、操作ミスも減少する。しかもIBM iのOS基本機能で提供しているので、すぐに使用できるメリットがある。
ACSの多彩な機能
ここでは、ACSの主要な機能を解説する。ACSのメイン画面から機能を利用するには、ACSメイン画面を起動し、利用したいIBM iマシンを登録する。
● 管理
「システム構成」を選択し、管理したいIBM iマシンを登録する。
● 新規
「新規システムの追加」画面で、システム名にIPアドレス(または管理対象システムのホスト名)、説明にはIBM iマシン名などを入力する(図表5)。メイン画面からの機能を選択する際には、ここで登録した「システム:xxxx」を選択する。
5250エミュレータの起動
IBM iマシンの登録が完了したら、ACSメイン画面の「システムの選択」から接続したいIBM iマシンを選び、ACSの各種機能を使用できる。
5250エミュレータ画面を直接起動したい場合は、画面左側の「一般」の「5250」をクリックすると、「IBM i のサインオン」画面が表示される。
ただしこの方法では、5250画面は起動できるが、プリンタ・セッションは起動できない。ユーザーID とパスワードを入力し、「OK」ボタンをクリックすると、5250エミュレータが起動する。もしくは「管理」→「5250セッション管理」で、新規ディスプレイ・セッションを構成する。
以前のWindows版と同様に、より詳細な項目を入力できる。プリンタ・セッションを使用する場合は、ここから構成する必要がある(図表6)。
5250セッション管理機能
ACSメイン画面から、「管理」→「5250セッション管理機能」を選択する。あるいは、PCにACSをインストールした場合は、「ACS Session Mgr ショートカット」ができているので、このアイコンをクリックして起動する。
5250セッション管理機能から「新規ディスプレイ・セッション」を選択することで、新規のディスプレイ・セッションを作成できる。また「新規プリンタ・セッション」を使って、新規にプリンタ・セッションも作成できる。
エミュレータ・セッションを作成し、保存すると構成済みセッション内にアイコンができるので、次回起動にはアイコンを選択して直接起動できる(図表7)。
5250 ディスプレイ・エミュレータの機能強化
IBM i Access for Windows の使用時に使い慣れている、5250 ディスプレイの各種機能に加えて、以下のような追加機能が提供されている(図表8)。
・ 5250ディスプレイのウィンドウの上部に各種機能を起動するツールバーアイコンを表示する(画面印刷、データ転送、IFSファイル、IBM Navigator for iの起動、Db2 for iの管理、SQLスクリプトの実行、SQL パフォーマンスセンターなど)
・ 複数のセッションをタブで切り替える
・ マウス・ホイール・サポートでページ間を直観的にスクロールする
・ ウォーターマークにより背景を入れる
・ 画面ヒストリーを自動で取得する
・ ワークステーションをリブートせずに言語間を切り替える
・ 異なるホスト・コード・ページを使用する複数のセッションを同時に表示し、異なるエミュレータ・セッション内で別個の言語を使用できる
5250プリンタの設定
ACSには3つの印刷方式がある。自社の印刷環境を考慮して、どの方式がよいかを検討してほしい(図表9)。
①JPS印刷方式
Javaの標準印刷APIであるJava印刷サービス(Java Print Service:JPS)によりプリンタモデルに依存しない、日本語帳票印刷が可能になった。これはACS 1.1.8.0以降で追加された機能である。APW罫線のような帳票を正常に印刷できなかったユーザーは、ぜひ試してほしい。
②PDT印刷方式
文字データはエミュレータ上で、EBCDICからShift-JISコードに変換される。帳票の属性はプリンタ固有コードに変換されるが、プリンタに対応したPDTファイルを使う必要がある。PDTファイルはカスタマイズできる。
③HPT印刷方式
HPT(Host Print Transform)の機能により、IBM i 上でプリンタの印刷命令に変換する方法。文字データはIBM i上で、EBCDICからShift-JISコードに変換される。帳票の属性はプリンタ固有コードに変換される(ただしHPTに対応しているプリンタは少ない)。
データ転送
データ転送はWindows版に比べて、かなり機能拡張されている。主な機能強化として、IBM i からのデータ転送(ダウンロード機能)ではxlsx形式への対応や、DDSファイルに設定したカラムヘディングの表示、SQL SELECT ステートメントを直接入力しての転送などが可能になった(図表10)。
統合ファイル・システムの操作
IBM i には、通常よく知られているライブラリーの管理システム(QSYSファイルシステム)以外に、WindowsなどのPCと同じ階層システムであるルートファイルシステム(/)の考え方が導入されている。これを統合ファイル・システム(以下、IFS)と呼んでいる。この操作をGUIで管理できる以下のような機能が、ACSに組み込まれた。
・ 新しいフォルダ(ディレクトリ、ライブラリーやフォルダ)の作成
・ オブジェクトの削除
・ オブジェクトの名前の変更
・ IBM iとPC間でのオブジェクトのコピー
・ IBM i と別システムのIBM i間でのオブジェクトのコピー
・ IBM i の複数システムへのオブジェクトの送信
・ オブジェクトのプロパティの表示
オープンソースを使って開発している場合はIFSを多用するので、ACSから管理できるこれらの機能は大変に便利である。またPCファイルをそのままIFSに持っていき、IBM i接続のテープ装置に保管することもできる。
データベースの操作
データベース管理者や開発者は、Db2 for iのほぼすべての操作をGUI実行できる。ACSの表示にある「スキーマ」はSQL用語で、IBM iではライブラリーになる。
使い方の一例を挙げてみよう。たとえばデータベースのデータ内容を照会し、Excelで保管したい場合には、「データベース」→「スキーマ」で照会したいライブラリーを選択(ここではQEOL)して、ファイル選択(ここではHINMSP)し、右クリックで、「データ」→「ビュー」を選択し、データを表示する。下部に「Save Resuls」というボタンがあるのでクリックすると、保管したいデータ形式を選択できる(図表11)。
プリンタ出力の操作
プリンタ出力は、IBM iの出力待ち行列を操作できるGUIインターフェースを提供している。フィルタ設定を利用すると、ユーザー、出力待ち行列、ジョブ、ユーザー指定データ、作成日時などを選択できる。
便利な機能としては、出力待ち行列内のスプールファイルをPCにダウンロードして表示する機能がある。「一般」→「プリンタ出力」で、現行のフィルタ設定条件でのスプールファイル一覧が照会できる。
次に「編集」→「設定」で、「その他」にある「PDF形式を使用可能」の選択を外しておく。デフォルトでは「PDF形式を使用」になっており、日本語スプールは文字化けする。たとえば表示させたいスプールファイル(ここではQPJOBLOG)を選択して、「ダウンロードして表示」を選択することで、スプールファイルの内容をテキストでPCに保管し、中身を確認できる。(図表12)。
オープンソースの管理
IBM i 7.2以降で、オープンソースソフトウェアをインストールおよび更新する新しい方法を提供している。Node.jsやPythonなどをリストから選択し、インストールや更新が可能となる。
使用する際は、SSH (Secure Shell)インターフェースを介してIBM iに接続する。TCP/IPサーバーSSHD (Secure Shell Daemon)が開始されていない場合は、開始が必要である。また、IBMのリポジトリにアクセスするため、IBM i がインターネット環境に接続できることが前提となる(図表13)。
最新バージョンで追加された機能
最後に、近年追加されたACSの機能強化についてまとめておこう(図表14)。
最近のバージョンアップでは、SQLスクリプト実行機能が大幅に強化されている。この機能強化点について、以下に解説する。
V1.1.8.2でのSQLスクリプト実行機能強化
SQLスクリプト実行は、ACSメイン画面から、「データベース」→「SQLスクリプト実行」で起動できる。ここから、SQL ステートメントおよび CL コマンドを実行できる。SQLコマンドを使っていなくても、このSQLスクリプト実行画面からIBM iサービスを簡単に使用できるようになった。
IBM iサービスでは、さまざまなIBM iのシステム情報をSQLで呼び出せる(図表15)。
この機能拡張により、IBM iシステム情報を簡単に呼び出せる。たとえば、IBM iサービスのNETSTAT(TCP/IPネットワーク状況の表示)機能を呼び出したい場合、ACSメイン画面から、「データベース」→「SQLスクリプト実行」で起動し、「編集」→「例」→「例から挿入」→「IBM iサービス」を選択→ここでNETSTATを選択→「挿入」をクリック→SQLスクリプト画面から「実行」、という方法で、SQL文を1行も記述することなく実行できる(図表16)。
V1.1.8.3でのSQLスクリプト実行支援機能
SQL スクリプト作成時に、入力するテーブル、カラムをリストから選択できる。SQL構文を作成する際に、データベースのカラム名やカラム属性を見て選択したり、使えるライブラリー一覧から選択できる。SQL初心者にも、データベース開発者にも大変便利な機能である(図表17)。
以上、ACSの概要を説明してきた。Windows 10でも十分に使えるソリューションであることが感じられたのではないだろうか。Java環境は無償版を利用でき、印刷機能も改善されてきた。基幹システムの業務端末ソリューションとして、必要十分な機能を備えているACSをぜひ活用していただきたい。
著者
澤田 英寿氏
日本アイ・ビー・エム株式会社
システム事業本部 Power Systems テクニカルセールス
シニアITスペシャリスト
1988年、AS/400(IBM i)が誕生した年に入社。以来一貫してIBM iのテクニカル支援を担当。現在は、 Power Systemsのパートナーの技術支援に従事している。
[i Magazine 2020 Spring掲載]