企業や組織がコンピュータを使い出して以降、アプリケーションソフトウエアは常に悩みの種であった。本当に欲しいソフトをうまく作れない。間違いが残る。使い始めた後の保守作業が面倒である。こうした昔からの悩みに加え、年を追うごとに新旧のソフトが積み重なり、手が付けられない状態になっている。

 かつてはコンピュータを新機種に入れ替えるたびにソフトを作り直していた。新旧のコンピュータでソフトの互換性が保たれていなかったからである。コンピュータ本体の値段がソフト開発費より当時は高かったこともあり、コンピュータ利用とはそういうものだとされていた。

 しかし、コンピュータは安くなり続け、その一方でソフト開発費は上昇を続けた。いちいち作り直すのは大変だということで、機種間の互換性がとられ、開発したソフトをたとえコンピュータを入れ替えたとしても継続利用できるようになった。

 それでもソフトにかかるお金は増え続けた。いったん動かしたソフトを使い続けるには、エンジニアを張り付けて保守しなければならない。新しい要求に応じて、新しいソフトを作る仕事も当然ある。

 というわけで、ホストコンピュータ(メインフレームやオフコン)上にソフトを集中させていた時代においても新旧ソフトが混在し、ソフトの開発費と保守費は増大していった。エンジニアの数や生産性の向上には限りがあるから、利用者の要求に迅速に応えることが難しくなった。いわゆるバックログ問題である。

 この問題の解決策として、1980年代の終わりから1990年代にかけて、クライアント/サーバー(C/S)という仕組みが言いはやされた。UNIXサーバーとパソコンを組み合わせ、サーバーに置いたリレーショナルデータベース管理システム(RDBMS)をパソコン上のソフトから利用する。C/Sはホストより価格が安くて済み、ソフトを開発しやすいと言われていた。

 確かに、RDBMSに格納してあるデータを加工するアプリケーションの場合、C/Sは大変便利な仕組みであったが、販売管理や生産管理といった従来からあるアプリケーションについてみると、開発や保守にかかる手間はホスト時代からさほど改善しなかった。

 ここに登場したのがERPパッケージソフトである。アプリケーション群と統合されたデータベースがあらかじめ用意されており、C/Sの仕組みで動く。パッケージソフトはホストの時代からあったが、C/Sの時代になって普及に弾みがついた。特に日本においては、ERPとC/Sを一緒に導入することが多かった。

 だが、すべてのアプリケーションをERPとC/Sに置き換えるのは難しかった。バッチ処理や対外接続用途でホストを利用し続け、C/S上の新規開発ソフト、そしてERPパッケージが混在することになった。

 1990年代後半になるとインターネットの利用が進み出し、Webを中心にソフトを動かすようになっていった。2000年代に入り、アプリケーションを自社で保有せず、インターネットを介したサービスとして使うやり方(ASP、SaaS、クラウドなど)が登場してきた。

 といって、すべてのアプリケーションをサービスに置き換えることは当分できないし、将来実現できるかどうかも分からない。企業によっては、ホスト、C/S、ERP、Web、クラウドのすべてが混在することになる。

 ホスト上のソフトで保守が難しくなったアプリケーションはレガシーと呼ばれたが、既にC/Sのレガシーも、ERPのレガシーも出現している。そろそろ、Webのレガシーが登場し、先々はクラウドのレガシーが出てくるだろう。

 「コンピュータに大金を投じてきたのに経営の役に立たないではないか」と経営者が怒ったとしても、情報システム担当者は種々雑多なレガシーと格闘することで精いっぱいなのである。

 このところ、IT企業は「経営の役に立ちます」と言って、データを分析するソフト(BIあるいはBAOと呼ばれる)を企業に売り込もうとしている。ただし、経営に役立つには、意思決定を支援あるいは自動化する何らかの判断ロジックを考え出してソフトに実装し、それにそってデータを集めてこないといけない。

 ホストからデータを少々、C/Sから少々、ERPから少々、Webから少々、クラウドから少々。こう書くだけで、データ収集の厄介さが想像できる。手作業など到底無理だから、レガシーソフト群の間でデータをやり取りするソフト群(ESBやETL、EAIなどと呼ばれる)を用意する必要がある。

 ホスト、C/S、ERP、Web、クラウドをESBやETL、EAIで相互接続した状態を何と呼ぶべきか。スパゲッティと呼ぶには規模が大きい。ラビリンスだろうか。一切合切ひっくるめて“クラウド”と呼べばいいのかもしれない。雲が垂れ込めて視界不良という意味である。