目 的 : 既存グループウエアのウェブ環境移行と他システムとの連携
納入先 : 最高裁判所(入札-株式会社メインコンセプト)
使用環境 : HP DL380、 OS? RedhatEnterpriseLinux 3
開発環境 : Apache, PHP, PostgreSQL
概 要 :
入札案件のため、ハードウエアやOS関係のパッケージソフトは別会社の入札となっており、システムの全体設計とコアソフトウエアの開発のみの仕事でした。
ロータスノーツを使用したグループウエアが既存で動いており、これをウェブのシステムに置き換えることが主たる目的でしたが、入札の要件が厳しく苦労しました。
この入札はかなり試験的な意味合いを持っており、公共機関が抱える高額なライセンス料を払い続けるという費用的リスクを最低限にするため、「市販パッケージでライセンス料の発生するソフトウエアは使用しないこと」、「オープンソースで開発すること」という条件が大前提の要件となっていました。
お話をいただいた当初はこの要件を知らなかったため、開発納入実績のあるオラクルDBとオラクル・アプリケーションサーバーで比較的簡単にシステム構成できると考えていたのですが、全てをオープンソースで構築しなければならないという条件に頭を抱えてしまったのです。
確かに裁判所という司法施設だけでも職員約32,000人、接続端末13,000台で考えると、導入ライセンス料だけでも数千万円になってしまうわけで、各官庁や地方自治体などを含めた年間の支払ライセンス料は想像を絶する金額になります。
つまり私たちの税金が一企業に支払ライセンス料として支払われている現実を突きつけられてしまった感じで、これはなんとかしなければと俄然やる気になって設計してしまいました。
これが試験的な意味合いを持っていると前述したのは、実際に入札プレゼンテーションの時にはっきりと実感しました。
後から裁判所の関係者の方から伺ったところによると、プレゼンテーションの会場には二十数名の関係者がいたのですが、なんと裁判所関係者は4人だけで、他は総務省やら農水省やらの別の官庁のシステム関係者ばかりだったのです。つまり、このシステムが成功すればオープンソースでのシステム開発が公共機関開発案件のスタンダードになっていくという布石のような役割だったのだそうです。
システム構成
システム構成は、
ウェブサーバー 4台 (キャッシュDB内蔵)
DBクラスタサーバー 2台 (1台はホットスタンバイのバックアップ)
NAS サーバー 1台 (データバックアップと文書DBストレージ用)
合計7台のサーバーとロードバランサーで構成しました。
主なシステム動作の仕様は以下のようなものです。
・ウェブブラウザーからのリクエストはロードバランサーによって4台のウェブサーバーに振り分けられる。
・ウェブブラウザーからDBトランザクション要求が来るとDBサーバーへトランザクションを送信する。
・DBサーバーへのトランザクションはコミットするとウェブサーバーのキャッシュDBにデータ同期がかかる。
・クエリー要求はすべてウェブサーバーのキャッシュDBで処理する。
・共有データファイル(エクセル、ワードなどの書類)はNASに転送保存し、ファイルパスをDB管理する。
・膨大なテキストベースのデータがあるため、別途全文検索システムを通して登録時にインデックスを外部作成する。
つまりメインのDBサーバーへのアクセスはトランザクションが発生した時のみで、閲覧だけの場合はウェブサーバー内部だけで処理が集結するようなシステムを作りました。また、サーバーのネットワークはブラウザー側のネットワークとは別のプライベートネットで、ブラウザー側からDBサーバーは見えないようになっています。postgreSQLのメインDBは2台のクラスタ構成になっており共有アドレスを使ってアクティブースタンバイで動きます。
すでに導入して2年が経過し、追加機能の実装も何度か行ってきました。ハードウエアを含めたシステム価格及び維持費は従来の4分の1以下に納まったそうです。