社内システムのサーバ側不具合になぜかクライアント側で対応

最近、社内システムに2つ動きがあった。ひとつは勤務管理ソフトの更新。もうひとつはクライアントPCの一部刷新だ。
勤務管理ソフトの更新は、阿鼻叫喚で始まった。なんといっても異常に動作が重い。404画面の嵐。しかもその404画面は、サーバ側のhttpサーバソフト(apache)とアプリケーションサーバ(php)が長らく更新されていない事を表していた。
原因について、はじめはサーバのパフォーマンスの問題かと思ったが、実際はサーバソフトが古いことにより、クライアントソフトと正しく通信が出来ない事に由来していた(http://blogs.technet.com/b/jpsecurity/archive/2012/01/30/3477747.aspx)。

まあ、この問題はクライアントのパッチをトリガとする非常にメジャーな問題だったようで、本来ならサーバ側で対応するべき問題であったが、おそらく影響が大き過ぎることと、「世界は予算で動いている」の言葉通り、そんなに簡単に対応できないので、クライアント側で対応して事なきをえた。その対応とは「クライアントのパッチを殺す」ことであった。

一方PCの更新は、若手が結構優秀なので全く問題なく進んだように見えたが、社内の某予約システムが正しく動作しないという不具合をもたらした。これは、新PC掲載のIEがバージョン9であることと、javaが動作検証していないバージョン(v7u1)であることがトリガであるが、所管部署は、リスク要件として新ブラウザや新java対応をランニングコストに盛り込んでおらず、対応は遠い未来になりそうだ・・・(と思っていたが今日調査したところ、本件はjavaの問題で、最新のjava(v7u2)では直っているみたいだ

取り合えずIEはIE8へのバージョンダウンで対応できたが、問題はjavaで、正しい(というより動作するバージョンまで)バージョンまで下げても動作しない。所管部署に聞いたところでまともな答えが返ってくるとは思えない。色々調査した結果、クライアントのjava設定を変更する*1ことで、動作するようになった。

教訓は2つ。

  1. サーバソフトのバージョンは、必ず定期的に見直すこと。そして見直しを予算化しておくこと。
  2. WEBアプリの動作検証はchromeでもやっておくこと。chromeで動作するwebアプリが、ブラウザのバージョン違いによって動作しなくなることはあまりない。

*1:「次世代の Java Plug-in を有効にする」のチェックを外す