マイクロソフトのWeb開発ツールで中身も見た目もクールに 最終回
ダメダメWebアプリからの脱却を目指せ
スクウェア・エニックスがコマースでASP.NETを採用する理由
2010年06月30日 09時00分更新
PHPサイトと連動。商品棚も別の言語で構成
スクウェア・エニックス e-STOREの立ち上げに際しては、先に立ち上がっていた会員向けのコンテンツサイトである「スクウェア・エニックス メンバーズ」ときちんと連携する必要があった。「ポイント連動や購入に合わせて特典を与えるステージの機能で連動が必要でした。しかも、メンバーズのサイトはPHPで構築されていたので、違うプラットフォームとの連動ということになります」(原田氏)。
しかし、短い期間でクロスワープと綿密な調整を行ない、メンバーズとコマースを同期させるプログラムなどをきちんと組んだことで、違和感なくサービスが同居できたという。結果として3カ月という短い期間ではあったが、予定通り2007年1月のオープンにこぎ着けた。「通常であれば時間をかけた形で慎重な判断を求められる状況だと思いますが、問題なく連動させることができました。ASP.NETという環境に制限がないことがわかりましたし、クロスワープさんの柔軟なご対応と開発力が合わさり、難しい状況を乗り越えられました」(原田氏)とのことで、クロスワープの開発能力を高く評価している。
クロスワープ eコマース事業部エンジニア 竹原貴司氏は、Windows NT4英語版の時代から長らくマイクロソフト系の開発を手がけており、「会社の方向性としても品質の高さや柔軟性などを考慮してASP.NETを選択していましたし、そもそも私自身もC#が好きだったので、おのずとASP.NETでした」(竹原氏)とのことで、ASP.NETでMODD SaaSの開発を行なった。そして、今回のスクウェア・エニックスの要件を実現したASP.NETの魅力として、高い柔軟性を挙げている。「そもそもマイクロソフトの製品はマイクロソフトの努力で平準的な部分の品質は勝手に向上して行くんです。ただ、我々開発者自身の手で品質を上げる要素が無いかと言うとそういうわけではまったくなく、逆に案件の種類や求められた要件に応じて必要な箇所の性能を向上させていくことのできる柔軟性も持ち合わせています。たとえば、Visual Studioのコードで生成されたページへの出力に変更を加えたり、特定の処理をスキップすることで、コンシューマ向けの要件の厳しいサイト向けにもどんどんチューニングできるんです。 この柔軟性が素晴らしいと思います。ASP.NETというフレームワークに、どれだけダイブするかで、できることが大きく変わってきます」と、開発者にとっての自由度の高さが大きな魅力だと語っている。
バージョンアップ敢行でASP.NETベースへ
実は、2007年のリリースの時点では、コマースサイトの表面に表示される商品棚のシステムは工期短縮を図るべく既存のリソースを流用しなくてはならず、別の言語で実装されていた。しかし、より一層の安定感のあるシステムとすべく、2009年8月にスクウェア・エニックス e-STOREはバージョンアップし、完全にASP.NETベースに移行した。「オープンしてから1年くらいは、公式ならではのストアとして、限定販売や先行予約、ポイント連動などを試してきました。昨年、ようやくそうした施策も安定してきたので、商品棚とカートが異なったプラットフォームで動いている状況を解消しようと考えたのです。また、カートの部分と商品棚のシステムが統合されることでアイテムの一元管理も行なえるようにしたいと考えていました」(原田氏)とのことだ。
商品数が増えてきたこともあり、レスポンスに関しても、細かい配慮が行なわれた。人気ゲームを擁するスクウェア・エニックスの商品の性格上、発売して数分で売り切れてしまうという例も多い。そのため、突発的なトラフィックへの対応できるよう、出力されたページの軽量化やデータアクセスのキャッシングなどのチューニングも施された。CMS(Contents Management System)として実装しているので、拡張性も高い。「特定のテンプレートをいじれば、すべて変更がかかります。ですから、たとえばTwitterへのリンク機能を追加する場合、アクセス解析用のURLを登録するスキーマに項目を追加して、テンプレートを変更すれば、あとはASP.NETと同様にソースコード自動生成し、動的コンパイルを行なうのでつねに最適な状態で実行可能です」(竹原氏)とのことだ。
当初、ゲームソフトだけだったスクウェア・エニックス e-STOREだったが、今では音楽CDや書籍も扱い、ダウンロード販売もスタートした。ワールドワイドですでに130万人の会員がいるが、今後は「顧客情報と連動しているので、よりユーザーさんの嗜好にあった最適なサービスにチャレンジしていきたいと思います」(津田氏)とのことだ。
エンドトーク
岩崎課長:なるほど。たかがコマースサイト、されどコマースサイトって感じで、ASP.NETのサイトでありながら、ずいぶんチューニングされていた感じだね。確かに、公式サイトだと、商品の注文の最大瞬間風速がすごそうだからな。
坂本:はい。単純にカートを利用するだけだったら、SaaS型でOKなのですが、顧客情報と合わせて、商品ページもきっちり作り込もうとか、Webサービスと柔軟に連携しようとすると、こうしたWeb開発のプラットフォームは重要ですね。あとは、やはりPHPのサイトと違和感なく連携させてしまったというのも、すごいですね。
岩崎課長:こら!感心ばかりしてたら、それこそクロスワープさんにうちの仕事とられちゃうぞ。アズルトラベルのサイトをきっかけに、うちもマイクロソフトの開発実績を充実させていかないとな。よし、わしも久しぶりにプログラムを書いてみるか。C#だか、Cフラットだかで。
坂本:……。ということで、PHPを使ったブログも、動画の投稿サイトも、コマースサイトの将来像もはっきり見えてきましたね。Visual Studioの最新版にも少しずつ慣れてきたので、開発も一気に加速していきましょう。
岩崎課長:よし。3カ月後どんなサイトができるか楽しみだな!!
今回のポイント
- ・Java文化のWeb開発からASP.NETの全面採用へ
- ・PHPサイトとの同居を実現した高い柔軟性
- ・Windows+IIS+SQLだからこそのパフォーマンス
すべらないWebアプリ開発はASP.NETから!by 坂本
ということで、ASP.NETやVisual Studio 2010に興味を持ったユーザーは、さっそく以下のドキュメントを一読してみよう。最新のWebアプリケーション開発のノウハウや、マイクロソフトのソフトウェア開発のネタがギッチリ詰まっているぞ。
Microsoft Web 開発 ガイドライン ~ ASP.NET プログラミング エッセンシャル~
http://msdn.microsoft.com/ja-jp/asp.net/ff602016.aspx
ASP.NET 開発者向け技術情報
http://msdn.microsoft.com/ja-jp/asp.net/default.aspx
また、ASCII.technologies 2010年8月号には「マイクロソフトのツールですばやく作る いまどきのWebアプリケーション開発」が掲載。
サンプルコードを見ながら、ASP.NETがしっかり学べるぞ。また、以下のASCII.jpの過去記事も参照のこと。
http://tech.ascii.jp/elem/000/000/531/531927/
時短!簡単!オイシイ!! Web開発に役立つ「.NET コードレシピ集」を活用しよう!
http://ascii.jp/elem/000/000/483/483869/
Web開発企業をコスト&情報&ビジネス機会で支援!
http://ascii.jp/elem/000/000/480/480913/
.NET Framework 4&Visual Studio 2010で開発環境が変わる
この連載の記事
-
第6回
データセンター
ヤフーが「GyaO!」でSilverlightを採用する理由 -
第5回
データセンター
PHP on Windowsで速攻Web開発を実現 -
第4回
データセンター
わがまま?WordPressをIIS上で使いたい! -
第3回
データセンター
習うより慣れろ!ASP.NETでWebアプリを作る -
第2回
データセンター
最新ASP.NETを知るための3つのキーワード -
第1回
データセンター
Webアプリケーションをカイゼンせよ! -
クラウド
マイクロソフトのWeb開発ツールで中身も見た目もクールに - この連載の一覧へ