◆ユーザーの課題◆高級ブランド品のWeb通販を手がけるブルーリボン・ドットコムは,2週間という短い期間で見栄えと操作性を向上させた新しいWebサイトを構築する必要があった。入金状況など販売後のステータス管理や,メール・マガジンの発送先管理も,新たにシステムに統合したかった。
◆選んだ解決策◆システムの構築を手がけたエコス独自のM3と呼ぶ開発支援ツールとVisual Studio .NETを使い,ASP.NETアプリケーションとして開発した。決め手は,.NETアプリケーションの開発生産性の高さと,Visual Studio .NETの操作性の高さだった。
◆結果と評価◆M3および.NETのおかげでコーディング量や作業時間を大幅に減らすことに成功し,1人の開発者で納期内に完成させることができた。
バッグや時計などの高級ブランド品をオンライン販売するブルーリボン・ドットコムは,Web通販サイト「ブルーリボン」をASP.NETで再構築した。ASP.NETを採用したのは,2週間という短い期間で開発可能なツールを探した結果だ。
Webサイトを再構築するきっかけは,サイトの運営会社が変わったことである。以前は現在のブルーリボン・ドットコムとは異なるブルーリボンという会社が運営していた。ブルーリボンは元々通常の店舗を構えて,単価の高い高級ブランド品を販売しており,その希少在庫を店舗と連動して効率よく販売できるように,Web販売にも乗り出した。システムを開発したのは,電子商取引システムの構築を手がけているエコスである。
Web通販専門にするのを契機にシステムを再構築
その後ブルーリボンは廃業し,エコスが通販サイトを引き受けた。そのときに設立したのが現在のブルーリボン・ドットコムである。Web通販専門として再スタートを切ると同時に,扱っているブランド品にふさわしい高級感のあるデザインに変更し,Webサイトに訪れる顧客の操作性の向上も図った。さらにオンライン販売に専念する新システムでは,言わば商品一覧を単に掲示していただけだった旧システムに,顧客の入金状況など販売後のステータス管理や,メール・マガジンの発送先管理も統合するつもりだった。
しかし,新システムの構築に与えられた期間はたったの2週間だった。このような短い時間で完成させるには,「コンポーネントの再利用性と生産性の高いASP.NETしか選択肢はなかった。開発に利用したVisual Studio .NETのデバッガの機能が高い点も開発期間の短縮につながった」(エコス開発部ソフトウェア開発グループ シニアプログラマーの古澤 浩氏)。開発中は尋常でない生活をしていたそうだが,古澤氏は納期の2週間で,しかもたった1人で現在のブルーリボン・ドットコムのシステムを作り上げたという。
| ||
| ||
|
開発期間は短かったが,当初の目的通り見栄えをよくできた。ブルーリボン・ドットコムの商品表示画面は,一度に8個の商品を表示するようになっている(図1[拡大表示])。そのカテゴリの商品が8個よりも多い場合には,8個単位で横にスムーズ・スクロールする。しかもスクロールし始めは加速しスクロールが終わるときにはだんだん減速するよう,表現力にもこだわった。この処理は,サーバー・サイドで動作するASP.NETとクライアント・サイドで動作するJavaScriptの組み合わせで実現した。
構築した新システムの構成は,OSがWindows 2000 Server。その上でASP.NETをホスティングするためのInternet Information Services(IIS) 5.0と,データベース管理システムのSQL Server 2000 Standard Editionを動かしている(図2[拡大表示])。
実は,Windows 2000 Server+IIS 5.0,SQL Server 2000というシステム構成だけを見ると,旧システムと変わらない。ただ,新システムにASP.NETを選んだのは,旧システムがASP.NETで構築されていたからという理由だけではなく,生産性の高さ,高機能な開発ツールが大きな理由だった。
独自の開発支援ツールを使って
開発生産性をさらに向上
もちろんゼロから作ったのでは,いくら生産性の高い.NETの開発環境といえども,電子決済や商品管理,販売ステータス管理などの仕組みを組み込んだシステムを,2週間で完成させるのは不可能だ。それを可能にしたのは,エコス独自の開発支援ツール「M3」である。
M3は,データベースおよびデータ操作,入力項目や入力規則などを記述したアプリケーション仕様書を基に,C#(ASP.NET)またはJava(J2EE+Struts*)のソース・コードを生成するコード・ジェネレータと,文字列操作,ファイル操作,ユーザー・インターフェース関連,セキュリティ,データベース接続,入力データのチェックといった機能を提供するライブラリからなる(図3[拡大表示])。これを使うことで,コーディング量を半分近くにまで削減できるという。
例えばコード・ジェネレータを使うと,Excel形式のデータベース定義書から,本来開発者がコーディングする面倒なデータ・アクセス処理を実装したクラスが自動生成される。このクラスにはデータの検証処理なども実装されており,開発者はSaveメソッドを呼び出すコードを書くだけで,データベースにデータを正しく格納できる。データベース管理システムの違いによるデータベースへの接続方法やSQLクエリーの差異なども,M3ライブラリによって抽象化されているので,開発途中のデータベース項目の変更にも臨機応変に対応できる。
M3を使うと,同じ仕様書を基にJavaのソース・コードも生成できる。だが,今回の案件ではC#とASP.NETの組み合わせを選んだ。その理由は,この案件に加えて携帯電話向けサイトの構築計画があり,それをMobile Internet Toolkit*を使って開発しようとしていたためだ。
また,ASP.NETではコード・ビハインドと呼ぶ,Webアプリケーションのユーザー・インターフェースを表現するHTML部分と,ロジック部分を記述するプログラム・コードを,異なるファイルに分離して記述する方式を採れる。これも生産性向上に役立ち,ユーザー・インターフェースをモジュール化できるユーザー・コントロールも開発に大きく役立った。ちなみに携帯電話向けサイトは,後日,3日間で完成させたという。
Visual Studio .NETに不満も
新システムの開発を通して,Visual Studio .NETに対する不満がなかったわけではない。ブルーリボンのようなオンライン通販サイトでは,デザイナが作成したデザイン(ユーザー・インターフェース)を基にWebアプリケーションを作成するのが一般的だ。エコスでも,まずデザイナがデザインしたユーザー・インターフェースを基に,プログラマがコードを追加してWebアプリケーションに仕立てている。
ASP.NETではコード・ビハインドによって,HTML部分とプログラム部分を分離できるようになっている。とはいえ,完全に分離できるわけではない。例えば,HTML部分にも,プログラムに必要なコントロールのタグが記述される。一度コードを組み込んだものを再びデザイナに戻してデザインし直すようなことはめったにないが,デザイナは一般的なHTMLにはないコントロールのタグを理解できない場合が多い。
また,Visual Studio .NETのHTMLデザイナ機能にも不満をもらしていた。せっかく記述したタグがなくなってしまうことがあるという。そのため,大まかにコントロールを配置するときだけHTMLデザイナ機能を使い,その後はHTMLのコード編集画面で直接HTMLを記述することがほとんどだったという。