PR

サイボウズは今春、グループウエア「ガルーン2」をバージョンアップした。目玉は「処理性能を維持しながら、4倍のユーザー数に対応できる」ことだ。開発は難航し、出荷時期は2カ月遅れたが、なんとか当初の計画通りの製品に仕上げ、利用者の使い勝手なども向上させた。

 サイボウズの「ガルーン2」は、Webベースのグループウエアだ。ポータルやスケジュール管理、電子掲示板など約20種類のアプリケーションを利用できる。その最新版「バージョン2.5」の出荷が、4月14日に始まった。機能強化を図り、最大1万ユーザーと利用できるクライアント数を増やした。従来版は 3000ユーザーだった。

 サイボウズが新版の開発に踏み切った理由は、増加する大規模案件の獲得だ。従来版はユーザー数が増えると、機能をフル活用できなかった。この点を改めなければ、大手ユーザー企業の満足度を高めることは困難だ。

 2007年11月にガルーン2を導入した岡山県庁がそうだ。ユーザー数が1万6000人であるため、活用する機能をスケジュール管理と電子掲示板に絞らざるを得なかった。同時アクセス数も制限しているという。同庁は今後、新版に切り替える計画だ。

大手でも制約なく使えるように

 「従来版の4倍以上のユーザー数でも、すべての機能を利用できるようにする」。こうした目標を掲げ、サイボウズは2006年秋、新版の開発チームを立ち上げた。

中野 匡章●開発本部プロダクト管理部プロダクトマネージャー
中野 匡章●開発本部プロダクト管理部プロダクトマネージャー長

 まずは大手ユーザー企業でもすべての機能を使えるようにするため、ガルーン2のアーキテクチャを見直すことから始めた。真っ先に目を付けたのが、データベースである。

 開発チームのリーダーを務めた中野匡章開発本部プロダクト管理部プロダクトマネージャーはこう話す。「従来版は、一つのデータベースで複数のアプリケーションを管理していた。この点が“大規模化”を阻む要因になっていた」。

 新版では、スケジュール管理や電子掲示板といったアプリケーションごとにデータベースを保持するように変更した()。


図●サイボウズのグループウエア「ガルーン2」新版の機能強化ポイント
図●サイボウズのグループウエア「ガルーン2」新版の機能強化ポイント

 従来版では、スケジュール管理にユーザーのアクセスが集中すると、電子掲示板や電子メールなど他のアプリケーションの処理性能が低下してしまう。こうした事態を、アプリケーション別にデータベースを用意することで、回避しようと考えたのである。

 アプリケーション別にデータベースを構築する方式に変更すれば、システムも増強しやすくなる。アクセス数が増え処理性能が低下した場合、そのアプリケーションだけを切り出して、高性能なサーバーに移行すればいい。

テスト段階で開発が振り出しに

 アプリケーション個別にデータベースを用意するという開発方針は決まったが、実現までは苦難の連続だった。特に処理性能問題が難物だったという。ポータルなど、複数のデータベースにまたがる機能を利用すると、処理性能が低下したのだ。

 この問題に対応するため、「ユーザーの所属部署などリアルタイムに更新されない情報については、ログイン時に読み込んだ情報をWebサーバーのメモリーに保持する仕組みにした」(中野マネージャー)という。

 従来版と同様の処理性能が出るようになるまで、日本ヒューレット・パッカードの負荷テストツール「LoadRunner」を使って、データベースを何度もチューニング。スケジュール管理や電子掲示板といったアプリケーションの起動時間を短縮するため、プログラムを書き換えた。

 改善を積み重ね、新版の完成にある程度のメドが立った。ところが2007 年秋のテスト段階で想定外の事態に見舞われた。

 またしても処理性能問題にぶつかったのである。振り出しに戻った格好だ。原因は、採用したデータベースソフト「MySQL」をバージョンアップしたことにあった。バージョンアップの狙いが、最新のセキュリティ対策を施すことだったため、旧版には戻さず、事態を打開することにした。

齋藤 操●開発本部プロダクト管理部プロダクトマネージャー
齋藤 操●開発本部プロダクト管理部プロダクトマネージャー

 再度、LoadRunnerでデータベースをチューニング。「データベースのテーブル数が多すぎた。それを最適化する作業に1カ月ぐらいかかってしまった」。齋藤操 開発本部プロダクト管理部プロダクトマネージャーはこう振り返る。

 その後も、細かな仕様変更に伴う実装作業に2カ月、テストに1カ月を要した。開発作業が終了したのは、当初の出荷予定だった2008年2月のことだ。出荷は同年4月に延期せざるを得ない状況になった。


Ajaxを採用し操作性を向上

 データベースだけでなく、ユーザーインタフェースの改善にもこだわった。「クリック操作の回数を減らしたり、画面表示の処理性能を高めたりすることができる」。中野マネージャーはこう考え、Ajaxを採用した。

 従来版では、ユーザーがスケジュールの翌週や前週の送りボタンをクリックすると、ページ全体を再生成するため、更新に時間がかかっていた。Ajaxを採用したことで、新版ではカレンダーの表示部分だけを変更するといったことが可能になった。「操作性は格段に上がった」と中野マネージャーは自信を見せる。