ひまわり証券の新サイト。市況情報や商品解説,セミナーなど,1000ページを超えるコンテンツを提供している
ひまわり証券の新サイト。市況情報や商品解説,セミナーなど,1000ページを超えるコンテンツを提供している
[画像のクリックで拡大表示]
ひまわり証券新サイトのニュースページ。リアルタイムに動的な情報を生成しており,アクセスも多く負荷も高い
ひまわり証券新サイトのニュースページ。リアルタイムに動的な情報を生成しており,アクセスも多く負荷も高い
[画像のクリックで拡大表示]
ひまわり証券 システム部 開発部長 中野和彦氏
ひまわり証券 システム部 開発部長 中野和彦氏
[画像のクリックで拡大表示]
システム構成。同構成のセットが3組ある。ただし,DBサーバーは3セットが同じものを共有している
システム構成。同構成のセットが3組ある。ただし,DBサーバーは3セットが同じものを共有している
[画像のクリックで拡大表示]
ソフトウエア構成。国産オープンソース・ソフトウエアであるMayaa,Seasar2,S2Daoを利用している
ソフトウエア構成。国産オープンソース・ソフトウエアであるMayaa,Seasar2,S2Daoを利用している
[画像のクリックで拡大表示]
ひまわり証券新サイト開発チーム。左からひまわり証券 システム部開発課 南善章氏,開発課長 青木伸夫氏,開発課 服部裕一氏,開発部長 中野和彦氏,グルージェント 代表取締役 栗原傑享氏,松本明丈氏,須賀幸次氏
ひまわり証券新サイト開発チーム。左からひまわり証券 システム部開発課 南善章氏,開発課長 青木伸夫氏,開発課 服部裕一氏,開発部長 中野和彦氏,グルージェント 代表取締役 栗原傑享氏,松本明丈氏,須賀幸次氏
[画像のクリックで拡大表示]

 ひまわり証券は2006年8月,同社のWebサイトをリニューアルした。アクセスの急増に耐えられるようキャパシティを拡大するとともに,デザインや構成をシンプルにすることでユーザーの使いやすさを向上させた。システム面では,DI(Dependency Injection)コンテナであるJ2EEフレームワーク「Seasar2」,HTMLテンプレート・エンジン「Mayaa」,O-Rマッピング・ツール「S2Dao」といった国産のオープンソース・ソフトウエアを活用し,コストや柔軟性を向上させたことが特徴だ。

 同社がWebサイトのリニューアルを計画した理由は,「サイトへのアクセスが急増した」(ひまわり証券 システム部開発部長 中野和彦氏)ことだ。同社が2005年秋からオンライン取引を開始したことなどが理由だ。あまりの増加ぶりに,サイトがダウンすることもあった。またコンテンツも増加してHTMLファイルは約1100個に達しており「情報を盛り込みすぎ,ユーザーが求める情報にたどりつきにくい個所もあった」(中野氏)。これらの問題を解決すべく,サイトのリニューアルを実行に移した。

 最初,CMS(コンテンツ管理システム)を検討したが,既存のパッケージ・ソフトウエアはライセンス料が高額であるか,制約が多く,同社が求める機能を実現できなかった。そこで,以前に同社のシステムを構築したことのあるインテグレータ,グルージェントに打診。グルージェントはオープンソースのSeasar2,Mayaaなどを使ったシステムを提案した。

 実は,グルージェントの代表取締役である栗原傑享氏はSeasar2を開発している非営利団体「Sesarファウンデーション」の代表理事でもある。Mayaaは栗原氏が独立行政法人 情報処理推進機構(IPA)の未踏ソフトウェア・プロジェクトで開発したものだ。

 ひまわり証券はオープンソース・ソフトウエアを活用したコスト効率の高さ,グルージェントの実績などを評価し,Seasar2やMayaaを採用し開発を進めることを決定した。Seasar2,Mayaa,S2Daoのほか,StrutsやTomcat,Seasar2とStrutsを連携させる「S2Struts」を使用。OSについてはひまわり証券で多数採用しておりノウハウが蓄積されているとともに一元管理できることからWidnows 2003サーバーを採用。DBMSにはMicrosoft SQL Serverを使用した。アプリケーション・サーバーは,Tomcatのクラスタリング機能を使いクラスタリング,1台に障害が発生してもサービスが継続できるようになっている。

 開発の過程で課題となったのはパフォーマンスである。ひまわり証券のサイトは,月間約800万ページビュー。為替や株の情報サイトでは,大きなニュースや指標の発表があった際などに爆発的にアクセスが集中,ピーク時は1分間に2400ページビューになる。レスポンスが悪ければ顧客は他の証券会社に流れてしまう。開発部隊には「想定アクセス数下で,ユーザーに対し1秒以内にレスポンスを返す」という条件が課せられていた。開発中にもアクセスが予想以上に増加したため,開発途中で想定アクセス数を引き上げなければならない状況となった。

 これに対しグルージェントはMayaa本体をチューニング。「メモリー消費量を削減する,動的に生成する必要のないデータを見極めて不要な処理を削減する,などの地道な改良を重ねた」(グルージェント 開発部 須賀幸次氏)。またSQL Serverのストアド・プロシジャを作成したひまわり証券 システム部開発課の服部裕一氏は「プロファイラでSQL Serverのストアド・プロシジャ遅い処理を調査し,問題をつぶしていった」(服部氏)。これらの地道なチューニングにより,システムは課せられた性能を達成した。「現在のアクセス数の3倍にも耐えられる」(グルージェント 栗原氏)という。

 MayaaはHTMLのひな形(テンプレート)と,プログラムが動的に生成するデータを組み合わせHTMLとして表示するテンプレート・エンジンである。テンプレートとプログラムの分離が容易になることで,デザイナとプログラマの分業効率が向上する。

 ただし,注意すべき点もあった。プログラムが生成する部分はテンプレートにカスタムHTMLタグとして埋め込んであるのだが,デザイナが使用するWebオーサリング・ツールのDreamWeaverは,カスタムHTMLタグを文法的に正しくないと判断すると,改変してしまう場合があった。Mayaaだけでなく,すべてのテンプレート・エンジンで起き得る問題だが「タグの書き方を注意するなどの運用により問題を回避した」(ひまわり証券 システム部開発課 南善章氏)。

 新サイトは8月19日に本格稼働した。「現在までシステムダウンは一度もない」(ひまわり証券 中野氏)。ひまわり証券でのオープンソース・ソフトウエアの本格的な採用は初めてだったが「オープンソース・ソフトウエアはライセンス料金が削減できるというメリットがある。今回のシステムで使えるということが確認できたので,今後当社でオープンソース・ソフトウエアの採用は増えていくだろう」とひまわり証券 開発課長 青木伸夫氏は語る。