島根県立しまね海洋館アクアス
水族館エンターテインメントシステムをRubyで開発
来館者に楽しく情報提供を
島根県立しまね海洋館アクアス(以下、アクアス)は、西日本で唯一見ることのできるシロイルカをはじめ、しまねの神話にも登場するサメ(地方名:ワニ)が主人公となっている1000tのパノラマ水槽の神話の海など、多くの生物を見ることができるエンターテインメント施設である。 アクアスでは、10,000点を超える海の生物たちの情報を来館者に楽しく伝えるために、以下の3つのシステムの開発に着手した。
- 情報検索端末システム
水槽周辺に設置されたタッチパネルモニタ付き専用端末(PC)を使い、入館者がさまざまな情報(図鑑、クイズ、館内情報など)を参照できるシステム。 - ニンテンドーゾーン向けコンテンツサーバ
入館者が持参したニンテンドーDS上でワイヤレス通信機能を利用し、付近の水槽にいる生き物の情報やクイズなどの情報を参照できるシステム。 - コンテンツ管理システム
情報検索端末やニンテンドーDSに配信するコンテンツを管理するシステム。
開発にあたっての課題とその解決
開発を担当した株式会社日立ソリューションズ(以下、日立ソリューションズ)は、このシステム開発に当たり、システムの特性上、要件変更が発生しやすいと考え、修正にかかるコストが小さくできるRubyを開発言語に選定した。
日立ソリューションズ 技術開発本部 Rubyセンタ 野崎康行氏は、「お客様の要望を明確にするためにRubyでつくる『動く仕様書』は大変有効であった。」と語る。開発するシステムは来館者向けの情報提供システムであり、年代を問わない多くの来館者を迎えるアクアスにとっては、誰もが使いやすいシステムを構築したいと考えていた。その「使いやすいシステム」という要件を具体化していくために、従来の紙による仕様書での認識合わせではなく、実際に画面が動き、データベースから本物のデータを取得して画面表示するといった『動く仕様書』が大変有効であったと野崎氏は評価している。
『動く仕様書』では、開発初期段階からスピーディーにソフトウェアを開発する必要があるが、Rubyを活用することで容易に実現することができた。また『動く仕様書』を見せて、アクアスからの修正要求に対し応えていくことにも「Rubyはコード量が少なく、シンプルなコーディングができるため修正が楽であり、結果的にアクアス様の意向を反映しやすかった。」と野崎氏は語る。さらに、野崎氏は「アクアス様からは『動く仕様書』によってシステムの全体像が早い段階で把握でき、修正を繰り返しながら開発したことで概ね要望通りのシステムができたという評価をいただき、Rubyで開発して良かった。」と嬉しそうに語る。
また、コンテンツ管理システムでは、初期要件にはなかった「検索」や「表示順入れ替え」の機能追加の要求がアクアスからあった。この要求に対しても、「Ruby on Railsはプラグインが豊富なため要件の変更や追加に簡単に対応することができた。大変助かった。」と野崎氏は当時を振り返る。また、ネットワークの常時接続を前提としないシステム構成にするために、遠隔端末の監視や起動・終了をする必要があったが、ここでもRubyの豊富なライブラリの力が発揮されている。
『動く仕様書』により、アクアスの要望を具体化し、要望通りのシステムを実現していった日立ソリューションズ。日立ソリューションズによってRubyで開発されたエンターテインメントシステムが、アクアスの来館者満足度を支えている。
システム構成
コンテンツ管理サーバ/DS向け情報配信サーバ |
---|
Ruby環境:Ruby1.8.7、Ruby on Rails2.3、 OS:Windows2003Server、Webサーバ:Apache2.2+Mongrel 1.1、DB: PostgreSQL8.4、 CPU:Xeon 2.4GHz(クアッドコア)、メモリ:3GB、HDD:250GBx3(RAID5) |
情報検索端末 |
Ruby環境:Ruby1.8.7、Ruby on Rails:2.3 OS:WindowsXP、Webサーバ:Mongrel 1.1、DB: PostgreSQL8.4 CPU:Core2 Duo 3GHz、メモリ:2GB、HDD:320GB |
※ニンテンドーDS・ディーエス/DSは任天堂の登録商標または商標です。
※本事例に記載の内容は2011年11月取材日時点のものであり、現在変更されている可能性があります。
事例概要
- 利用企業
- 島根県立しまね海洋館アクアス
- 活用分野
- 水族館エンターテインメントシステム
- 利用技術
- Ruby on Rails
- 開発会社
- 株式会社日立ソリューションズ
- ホームページ
- http://www.hitachi-solutions.co.jp/
- ニーズおよび解決したかったこと
- 全ての来館者に優しく、生物への興味をひかせるような画面で構成されたシステムの開発
- 生物の入れ替えに伴うデータ登録・変更作業の軽減
- ネットワーク障害が発生しても継続的にサービスを提供できること
- Ruby採用理由
- システムのベースを素早くつくれ、使い勝手を含めた画面構成を逐次確認できる
- 利用できるプラグインが充実しており、要件の変更や追加に柔軟に対応できる
- 遠隔端末の監視や起動を実現するためのライブラリが揃っている
- Ruby採用効果
- 紙の仕様書とは異なり、実際に動くソフトウェアに触れることで、早期に要件を具体化でき、使い勝手の良い画面構成のシステムを開発できた
- 生物の情報を直感的かつ容易に登録できるシステムを開発できた
- ネットワークの常時接続を前提としないシステムを効率良く構築できた