IBM i のウンチクを語ろう
~ その26: IBM i Access最新バージョンと今後を考える
皆さん、こんにちは。IBM i の特徴についての話題はとりあえず前回までとし、これからはIBM i やパワーシステムに関わる時事ネタを適宜拾い上げてゆきたいと思います。今回の話題はIBM i Accessです。IBM i を利用されている方の中で、これまでに触れた事が無い方はまずいらっしゃらないのではないでしょうか。最近IBM社から重要な発表がなされていますので、その内容を確認すると共に、ユーザーとして今後どうするべきかについて検討してまいります。
かつて30年前に登場した当初は「PCサポート/400」と呼ばれ、PCがAS/400のシステム資源を有効活用できるようにするための、比較的シンプルなソフトウェア製品でした。PCとの間でのデータ転送、AS/400のディスク空間の一部をPCからアクセスできるようにする機能、PCからAS/400のコマンドを投入する機能などが提供されておりました。その後「クライアント・サーバー・コンピューティング」という言葉で表現されるように、「主従」の関係にあったサーバーとクライアントとが、対等な立場で協調して仕事をこなすような分散型のシステムが流行します。ちょっとしたユーティリティに過ぎなかったPCサポート/400は、トレンドの中心的な役割を担う製品として機能強化がなされ、その名称もClient Access/400に変更されます。2000年を過ぎる頃にはトレンドは分散から再度統合の方向に舵を切りましたが、製品としての機能強化は継続され、サーバーのオペレーティング・システム名がIBM i に変更されるのに伴って、現在のIBM i Accessという名称に落ち着いています。
IBM i のクライアントの役割を担うテクノロジーはWindows に留まらず、歴史的に見ればOS/2、Unix、モバイル・デバイス、Mac、Linux、ブラウザと様々なバリエーションが存在しています。それぞれのテクノロジーは市場の中で登場し、いずれ取捨選別・除外され、それを反映するかたちでIBM i Accessがサポートする、またはサポートを終了するクライアントも決定されてゆきます。製品開発部門の立場からすると、複数種類のクライアント用に様々なIBM i Accessを用意するよりも、できる限りバリエーションを絞って開発資源を集中させた方が効率的です。該当クライアントを利用しているユーザーにとっては、豊富な機能が利用できる可能性が高まります。そこで2013年に新たに登場したのが、JVMを前提とするJava版(以降ACS: IBM i Access Client Solutions)です。
2018年7月時点のIBM i Accessには、クライアントにインストールするタイプのACSとWindows版、さらにサーバー側にインストールするタイプのWeb版の各エディションがあります。ACSはWindows、Linuxに加えてMacをサポートします。Web版はブラウザからのアクセスを前提にしているので、PCだけでなくApple iOSやAndroidなどのモバイル・デバイスも利用できます。今後のIBM i AccessクライアントはACSとWeb版の二種類に絞り込まれますが、極めて多くのデバイスに対応できる汎用性を担保しています。今日IBM i Accessユーザーのほとんどが利用しているWindows版については、早目にACSへと移行されるようお願いします。IBMの発表情報によると、Windows版のサポートは2019年4月30日付けで終了する予定です。
Windowsには様々なバージョンがありますが、マイクロソフト社ホームページによると、Windows 7の延長サポート終了予定日は2020年1月14日に設定されています。(ちなみにメインストリームサポートの終了日は2015年1月13日でした。)期限前には後継バージョンにアップグレードする必要があるわけですが、その順当な行き先は最新のWindows 10になるでしょう。ところが現在IBM i Access Windows版をWindows 7上で利用しているとしたら、Windows 10にそのままアップグレードすることはできません。Windows版はWindows 10をサポートしていないので、アップグレードと同時にACSへの移行が必要になります。ここで生じる疑問は、ACSはWindows版の後継として利用できるのか、というものです。結論から言うと、この6月に公開されたバージョン1.1.8.0において、それが可能になりました。
ACSがサポートする機能一覧はIBM社Webサイトにあります。この中で多くの方が利用するのは、5250ディスプレイないしプリンタ・エミュレーションや、データ転送機能といったところでしょうか。これまでも概ね利用上の不具合は無かったのですが、APW(多機能漢字印刷ユーティリティ、IBM製品番号は5770-AP1)という製品を利用した日本語帳票の印刷方法について考慮が必要であり、それゆえに移行を思い留まる方がいらっしゃったのも事実です。
少々ややこしい事に、PC上のエミュレータを経由した印刷にはいくつかの方式があります。印刷データを外に向かって吐き出す時、IBM i は専用プリンタ(PCプリンタとは仕様が全く異なる、サーバー直結型のもの)が接続されていると想定しています。PC上の5250エミュレータの主な仕事は、専用プリンタ用印刷データを受け取って、PCプリンタ用印刷データに変換する事です。印刷方式の違いというのはつまるところ、専用プリンタ用印刷データに含まれる文字や各種属性情報(罫線や文字の大きさ指定など)を、どのようにして「翻訳」するかという方法のバリエーションに過ぎません。
IBM i Access Windows版において昔から利用されていた帳票印刷方式はPDT(プリンタ定義テーブル)を利用するものです。文字については、専用プリンタ向けのEBCDICコードをPCプリンタのShift JISに変換します。エミュレータは両方の文字コード表を持っているので難なく変換できます。印刷属性情報の方はそうは行かず、PCプリンタ機種毎に異なる固有の制御コードに置き換えなくてはなりません。PDTとはここで参照される変換テーブルの事です。 その後Windowsが標準的に備える印刷方式が一般的になります。PC上で文字と属性情報の全てを一括してグラフィック・イメージに変換してしまうので、プリンタ固有の制御コードを気にする必要がない、すなわちプリンタ機種への依存性が無いというメリットがあります。これをGDI(Graphic Device Interface)方式と呼びます。 ACSでもPDT方式は利用可能ですので、この方式を踏襲するのであればWindows版からの移行は容易です。しかしながらGDI方式はそもそもWindows固有の機能です。もしACSがGDI方式をサポートしたらLinuxやMacでは使えませんし、マルチ・クライアントをサポートしようという製品としての意義が揺らいでしまいます。だからと言ってユーザーもわざわざ汎用性のあるGDI方式からプリンタ機種毎のPDT方式へと、設定変更という手間をかけてまで乗り換えたくはありません。様々な機種のプリンタを同時に利用しているのであればなおさらです。さらに市場にはGDI方式にしか対応しないプリンタも存在します。このあたりがACS移行の主要阻害要因でした。
ACSはJVMをプラットフォームとするわけですが、そこにはJava Print Service(以降JPS)という印刷用APIが標準的に備わっています。ACSバージョン1.1.8.0の機能強化ポイントとは、JPSでも各種の印刷属性情報を取り扱えるように機能強化がなされ、WindowsのGDI方式同様にプリンタ非依存という利便性を実現した事にあります。なお、前提としてJVMバージョン8が必要であり、アップデート171以降が推奨されています。例えばWindowsコマンドプロンプトで、「java -version」と入力して、「java version "1.8.0_171"」と出力されればOKです。
参考までに、必ずしも多数派の方が実装しているわけではありませんが、上記PDT方式と同様の翻訳作業を、5250エミュレータではなくIBM i 上で実現するHPT(Host Print Transform)方式も存在します。IBM i は専用プリンタを想定した印刷データを一旦生成し、外部に送信する前にプリンタ機種毎の印刷データに変換・送信します。文字情報は専用プリンタ用のEBCDICコードからShift JISへと問題無く置換できますが、罫線や文字の大きさ指定など印刷属性情報の翻訳にあたっては、IBM i 側でプリンタ機種固有の制御コードを知らなければなりません。PC上のPDT(プリンタ定義テーブル)に相当するものとして、IBM i 上にはWSCST(WorkStation CuSTomize Object)があります。従来からHPT方式は主にWeb環境の印刷において利用されており、これをACSにおいても利用する事ができます。
ACSのWindows版に対するメリットもいくつかあります。私個人の経験として感じるその最大のものは、導入作業を必要としない点です。WebサイトからZIPファイルをダウンロードしたら、Windows版ならば解凍してインストーラを起動し、導入作業を完了させなければなりません。ACSは解凍したら直ぐに利用できますし、必要ならば一台のPC上に複数バージョンを持っておいて同時に利用する事もできます。 ACS機能強化のペースは、数ヶ月に一度と極めて頻繁です。アプリケーション利用だけでなく、システム管理、データベース管理にも使える機能が備わっており、IBM社はWindows版が提供する機能群をカバーするだけでなく、更なる利便性を追求しています。製品を迅速に展開できるので、常に最新版を利用する事が可能になります。
最後の方はちょっと難しくなってしまいましたが、ここでまとめておきましょう。
Windows 7のサポート終了を控えてWindows 10へのアップグレードが必要となる中で、IBM i Accessも旧来のWindows版からACSへの移行が必要になっています。ACSはWindows版の機能を引き継いでいますが、これまで帳票印刷機能に不具合がありました。2018年6月に公開されたバージョン1.1.8.0(推奨JVMバージョン8アップデート171以降)では問題が解消されておりますので、遅くともIBM i Access Windows版のサポートが終了する2019年4月末までには移行を完了するよう計画してください。ではまた