前回の記事で、オープンシステムとは、必要な独自性を残しつつ、公開された仕様で、ネットワーク上でユーザーが自由に選んだ仕組みがつながり、そのユーザーの情報システムを形成することを理解いただけたと思う。
今回は、前回の最後に触れた「DX時代のオープン化」について掘り下げ、「IBM i(旧AS/400)」のオープン化、近代化の手法とメリット、デメリット、その違いをわかりやすく解説する。
手法1:ハードウェアをPCサーバーに変える
テレビ放送がアナログからデジタル化されたことは記憶にまだ新しいと思う。この移行時期となるアナログ、デジタル双方の配信期間は数年間あったが、その時期にはアナログ、デジタル双方を受信できるデュアルチューナーを備えたテレビ受信機が存在していた。
デジタル放送に完全移行後はデジタルチューナーのみの機種が販売されるようになったが、IBM iやその稼働ハードウェアである「Power Systems」は、このデュアルチューナー搭載機に例えられる。30~40年前のプログラムと最新の技術で作られたプログラムのどちらも作れるし、動かせるのである。この実情を知らないIBM iの移行を勧める業者はPower Systemsをアナログテレビのように考えており、デジタルテレビのように彼らが考えているPCサーバーへの置き換えを提案してくることが多い。PCサーバーへの移行を否定するつもりはないが、ハードウェアが古い(古いと思い込んでいる)という理由のみでの置き換えは意味がなく、デメリットしかないと言えるだろう。
手法2:プログラムを「Java」などの新しい言語に変える
毎年、新語・流行語大賞やそれらに類するものが開催され、このような新語の中から定着したとみなされたものは数年に一度、『広辞苑』などに反映される。言葉は生きていて時代とともに変化し、百年単位となると文法などにも影響が出てくる。
これは、プログラム言語にも同じようなことが言える。廃れた言語は使われないので現状に合わせた変化はないが、今も使われている言語は時代とともに変化している。IBM iで利用度の高い「RPG」も、初期のものと比べると記述の方法の変化や使う命令の増加などで、全く違ったものとなっている。
RPG程長くないが、「Java」も同様に25年くらいの歴史があり、さまざまな進化を遂げている。10~20年前のJavaで書かれたシステムは、一部ではレガシーと呼ばれ、それに反論するような記事がでており、RPGや「COBOL」と同じような状態となっている。
つまり、言語自体が問題ではなく、その当時に書かれたプログラムが古文書化し、現在においてなかなか読み解きにくいものになっている、ということが本質的な問題なのである。
Javaに書き換えると、現時点ではその技術者の総数が市場全体から見るとCOBOL、RPGに比べると多いというメリットはある。しかし、書き換えるだけだとシステムの機能には何も進歩が無い。費用対効果をどう考えるかが重要で、変更の少ないプラグラムの場合、ほとんどのシステムを書き換えることはデメリットとなるだろう。言語が古いか新しいかは論点ではなく、書かれた内容が古く閉鎖的で何か具体的な問題になっていないか、を論点としなければならない。
最後に、JavaはIBM iでもプログラム作成でき、動かせるということを加えておく。