RPG

400. モジュール(*MODULE)とサービス・プログラム(*SRVPGM) (2)

モジュールとサービス・プログラムの使用方法を混同してはいけない、ということを
397.モジュール(*MODULE)とサービス・プログラム(*SRVPGM)」で
基本的な説明を行ったが混同するとどうなるかという説明を補足で追加しておきたい。

一時はWeb化ということで多くのフレーム・ワークとしてのWeb化ツールなどが
国内で流行して配布された。
読者の中にもそのようなWeb化ツールを使っている人もあると思う。
ところでそのツールを導入後でこんなことに気付いたことはないだろうか?

・PTFの配布が一度もない。

・そう言えばリリース・アップも一度もない。

・何も改善はないのに保守料だけは払い続けている。

…これはそのツールのプロバイダーがモジュールとサービス・プログラムを
  混同していてツールをモジュールとして提供し
  ユーザーはモジュールをバインドしてCGIやプログラムを作成している。
このためモジュールに変更があると(=つまりPTFやリリース・アップがあると)
ユーザーはそれまでに作成したプログラムすべてを再コンパイルしなければ
ならなくなる。
300本のCGIを作成したならPTFの都度300本のプログラムを再コンパイルしなければ
ならなくなる。

このようなソリューションは事実、存在している。

そのためPTFの配布やリリース・アップは絶対行うことはない。
どうなるかはそのプロバイダーもよく知っているのでPTFを配布することも
ないしリリース・アップを行うこともない。
あなたがプロバイダーに「最新PTFを配布してください」と
ひとこと言えばすべてが判明するだろう。

それではIBMの場合はどうだろうか?
i5/OS のリリース・アップは多くのユーザーが経験しているだろうし
i5/OS の PTF適用も珍しくはない。
しかしその度IBMからユーザー・プログラムをすべて再コンパイルしてください、
という話は聞いたことがない。
つまり

IBM はすべてサービス・プログラム(*SRVPGM)として機能を提供している。

のである。
再コンパイルなど当然必要はなく新しい機能を使うことができる。
かのソリューション・プロバイダーもモジュールを配布していたのでは
これはおかしいと気付いてもよさそうなものであるが製品と称して
販売しているのはプロバイダーの技術レベルの低さを示している。

  製品として販売するに当たってはあらゆる面において考慮する必要があるのは
言うまでもない。