新・闘わないプログラマ No.8

私は何をやっているのだろう


前々回のコラム「95と97と98と」でも少し書きましたが、企業で分散系システムを導入する上で、ランニングコストが非常に問題になって来ています。世の中では、いろいろな試みがなされているようですが、なかなかうまく行っていないのが現状のようです。

私も、そういったシステムの開発に携わっていて、自分の時間(=人件費)のかなりの部分を運用にのったシステムの維持・管理に費やされています。特にWindowsNTがシステムに入り込んできてからというもの、その時間は増える一方です。
「なんか知らないけど、動かないんだけど」というユーザーからのクレームの処理で毎日が悩殺されてまうことも多々あります。そのほとんどは、原因が分かってみれば、「私はなんでこんなことをしなければいけないのだろう」というつまらないことが多いわけです。
何が問題かというと、それはそれはいろいろあるのですが、そんな中から私が経験したいろんなトラブルを見ていきたいと思います。

分散系システムにおいて、最近は、直接エンドユーザが使用するコンピュータ(クライアント)は、ほとんどの場合WindowsNTを入れたPCです。UNIXワークステーションをクライアントにすることも無いことも無いのですが、ユーザ側の要求としてクライアントでワープロ(まぁ、今なら一太郎かMS-Wordでしょうか)や表計算ソフト(Excelかな)を使いたいという要求があるわけです。するとどうしてもWindows系のOSを載せざるを得ません。
私がやっているシステム案件ですと、このPC上で業務アプリケーションを動作させる、というものが多いわけです。しかも、大概の場合、この「業務アプリケーション」はクリティカルなもの、一時のシステムの停止が業務上の損害に繋がるようなたぐいのもの、なのです。
ここで問題になるのが、ワープロや表計算ソフトのように、ユーザーが自由に何をやってもいいよ(例えばディスク上に勝手にファイルと作ったり・消したり、とか)というアプリケーションと、上記の業務アプリケーションのようなものとが、一つのPCの中に同居していることなのです。
ユーザーは何をやるか分かりません。業務アプリケーションのファイルを消してしまったり、設定を変えてしまったり、ディスクに馬鹿でっかいファイルを作ってテンポラリ用のスペースが無くなってしまったり、まぁ、いろんなことをやってくれます。そういえば、勝手にLANケーブルを抜いてしまって「動かない」とクレームがあったこともありました。

OSのバージョンによるアプリケーションのふるまいの違い、も、特にWindows系のOSを使用している場合には悩みの種です。WindowsNTの3.51と4.0、といったメジャーバージョンの違い、ならばこちらとしてもそれなりに注意を払っているのでまだいいのですが(といっても、なぜバージョン毎にあんなにAPIの仕様を変えるのでしょう、開発側としては、あまりに無駄な時間を費やすはめになってしまいます)、その他に、各バージョンに「サービスパック」なる、いわゆるOSのパッチを集めたものがあり、これがなかなか曲者です。私の巷では
「○○っていうアプリケーションがうまく動かないんだけど」
「それはサービスパック○を当てると動くらしいよ」
「ほんと?」
「たぶん。○○さんが、御利益があるって言っていたけど・・・」
「でもサービスパック○を当てると◇◇っていうアプリケーションの動きが変なんだよなぁ」
なんて会話が飛び交ったりしています。
サービスパックだけでもややこしいのに、最近だと、ちょっと話題になっているから、と、Internet Explorer 4.0(IE4.0)をユーザーがインストールして、業務アプリケーションが動かなくなったり・・・・・
こちらは、あるアプリケーションの動作確認をするときに、OSのバージョンの他に、サービスパックのレベル、に加えて、IE4.0をインストールしているか否か、といったことを組み合わせて、調べる必要があります。はっきり言って、やってられん、というのが正直な感想です。

昔、といってもほんの数年前までのことですが、はよかったですね。業務アプリケーションは、メインフレームやオフコンで動作していて、パソコンがあったとしても、それには端末エミュレータを入れて単なる端末として動作させていて、パソコン側の問題と言うものはほとんど発生しませんでしたから。
最近は、いわゆる「ホスト-端末」型のシステムに逆に魅力を感じています。出来れば、クリティカルなアプリケーションはクライアントではなくサーバーで動かして、クライアントはユーザーインターフェースだけを受け持つ、または、せめてプログラムはサーバーで管理して、クライアントにダウンロードして動作させる、こんなことが必要なのかな、と思います。
そういう意味では、Network Computer(NC)は魅力的なのですが、現状ではたぶんエンドユーザーには支持されないだろうな、と思います。いまやエンドユーザーと言えども、パソコンやそのソフトに関する知識は、そんじょそこいらの情報システム部門の人間よりはるかに上のことも多いですから。まぁ、情報システム部門の人間と言ってもコンピュータに詳しいとは限らない、この道10ウン年のCOBOLプログラマ、なんてのも多いですし。話を元に戻して、とにかく知識のあるユーザーは、パソコン上のアプリケーションを使いたいわけで、NCなんかにされたら困る、と思っているはずです。私だって、職場の自分の机にあるPCを突然NCにされてしまったら困ります。
結局、いまあるPCとNCが合体したようなのがいいかも知れませんね。PC上でエミュレーションするんじゃなくて(それなら今のJava VMとさして変わらないですから)、本当に2つを合体してしまう、PCとNCは画面と入力装置を共有する他は完全に独立していて、例えばPC部分がハングしようがリブートしようがNCには影響を与えないような作り。
私が知らないだけで(すいません、無知なんです(^^;))、もう既にどっかでこんなこと考えられているのでしょうか。NetPCとは全然方向性が違うとは思います。

とにかく、現在は「私は何をやっているのだろう」と思わせるようなしょーもない仕事が多すぎます。なんとか、もっと生産的な仕事をしたいと思っているのですが・・・

[前へ] [次へ]

[Home] [戻る]


mailto:lepton@amy.hi-ho.ne.jp