the WINDOWSライター

1. プリンタ・セッションの廃止

多くの情報システム室の声として挙がっているのは
プリンタ・セッションを廃止したいという要望である。
この邪魔者扱いされるプリンタ・セッションとは何だろうか?

IBM iからネットワーク・プリンタへ印刷するためには
PCOMMやiAccessなどの5250エミュレータで
ディスプレイ・セッションではなく印刷のための
プリンタ・セッションを構成する必要がある。

■ PDTとはプリンタ・ドライバである

しかもPDT(=Printer DEfinition Table:プリンタ定義テーブル)と
呼ばれる装置や印刷仕様毎の変換テープルを設定しなければ
ならない。
このPDTと呼ばれる印刷ストリームの変換テーブルが
IBM i のSCS印刷ストリームを各プリンタ・メーカー対応の印刷ストリームに
変換しているのである。

 SCS印刷ストリーム--+-->{ PDT:プリンタ定義テーブル] -----> IBM 5577プリンタ
                    |      
                    +-->[ PDT:プリンタ定義テーブル] -----> Cannon プリンタ
                    |
                    +-->[ PDT:プリンタ定義テーブル] -----> RICOH プリンタ
                    |
                    +-->[ PDT:プリンタ定義テーブル] -----> XEROX 複合機
                    | 
                    +-->[ PDT:プリンタ定義テーブル] -----> EPSON プリンタ
                    |
                    +-->[ PDT:プリンタ定義テーブル] -----> その他

このようにPDTを経由してSCS印刷ストリームが各社用の印刷ストリームに変換されて
印刷されることになる。
IBM 5577プリンタに対してもなぜ変換が必要なのかと思われるかもしれないが
SCS印刷ストリームはIBM 5553型プリンタ用のストリームなので
5577とは若干の差異があるため5557への変換が必要になる。

プリンタ・セッションとはPDTに対応して作成されるようになっているので
PDTの数と同じ数だけプリンタ・セッションが作成されることになる。
またPDTとはかつて「PDTとは何だろう」で説明したように
PDTはプリンタ・ドライバそのものである。
プリンタ・ドライバとはMicrosoftが規定している印刷ストリーム:MS-EMF(=
Microsofr Enhanced MetaFile:マイクロソフト規定の拡張メタ・ファイル)を
各社プリンタ用の印刷ストリームに変換するソフトウェアのことである。

つまりPDTとはIBMからのプリンタ・ドライバであるということが言える。

■なぜPDTの数が増えてしまうのか?

さてそのPDTであるがプリンタ・ドライバの場合はプリンタ・ドライバ上で
用紙名や用紙方向の選択をしてから印刷するという方式であるのは
ご存知のとおりである。
しかしPDTは用紙名や方向が異なるのであれば別のPDTとして定義しなければ
ならないという仕様になっている。
そのためエンド・ユーザーは自分のプリンタに対する用紙種類 x 用紙方向 x 印刷トレイ
の数だけPDTつまりプリンタ・セッションを作ろうとする。
そのエンド・ユーザーのPCから印刷可能なプリンタの数ではなく
印刷する用紙の種類や方向 x プリンタ台数となるので
PDTの数が必然的に増えてしまう。

■プリンタ・セッションの問題

(1)Windowsバージョン管理

プリンタ・セッションはクライアントPCつまりWindowsに保管されているので
Windowsのバージョン・アップに大きく影響を受ける。
プリンタ・セッションが次期Windowsのバージョンで使用可能かどうかは
Windowsが発表されてみないとわからない。
4年毎のバージョン・アップに左右されたくないというのが
業務を担っている情報システム部門の気持ちであろう。

(2) IBM ACS移行の問題

IBMはiAccessはこれ以上Windowsのバージョンには追随しないと宣言して
代わりのエミュレータとしてIBM ACS(=Access Client Solutions)を後継に
指名した。
ところがiAccessのPDTはそのままではACSでは使えず
変換が必要になるのだがこの変換にバグがあって
変換することができない。
当初は印刷そのものもできなかったというIBM ACSでは信頼性は低く
他のエミュレータを探すというのが主流になっているのは
当然の流れである。
ACSは RUNRMTCMDコマンドをサポートしていないなど
IBMの製品とは思えない。
IBM自身もエミュレータの技術者が流出してしまっているので
今までのような技術は難しいようである。