PR
写真1●イー・ショッピングのトップページ
URLはhttp://www.eshopping.ne.jp/

様々なプロジェクト管理上の工夫によってわずか5カ月で構築した大規模なEコマース・サイト。セブン-イレブンの店舗で商品受け取りと支払いができるなど,「日本型Eコマース・モデル」を模索した点が注目だ。中核となるミドルウエアには国産製品を採用。またDBやWWWサーバーの多重化で,24時間営業と負荷分散を実現した。

 99年11月28日,書籍販売サイト「イー・ショッピング・ブックス」と玩具販売サイト「イー・ショッピング・トイズ」が同時にオープンした(写真1[拡大表示])。「開発中の4~5カ月は,まさに戦争だった」と,サイトを構築したイー・ショッピング・インフォメーション サイトプランニングデパートメント ゼネラルマネージャー 山口憲治氏ら(写真2[拡大表示])は振り返る。

インターネット・スピードで開発

 戦争という言葉が飛び出してくるのも無理はない。それほど開発サイドにとってのハードルは高かった(図1[拡大表示])。

写真2●(a)イー・ショッピング・インフォメーション サイトプランニングデパートメント ゼネラルマネージャー 山口憲治氏
(b)同サイトプランニングデパートメント アプリケーションプランニングエキスパート 浦家利彰氏
(c)ソフトバンク・テクノロジー 第1技術部3グループ 担当部長 井上久氏

 2000年4月時点で約10万人の会員,約140万種の書籍,2万種の玩具を扱う日本最大級のEコマース・サイトでありながら,詳細設計から営業開始まで実質4~5カ月という極めてタイトなスケジュールだった(図2[拡大表示])。24時間365日稼働という信頼性も求められた。セブン-イレブンで商品の受け取りと支払いができる,など多くのパートナーとの従来にない形態での業務モデルである。さらに,サイトの仕様は開発中にも絶えず変化していく。

 開発ピーク時には60人近くを動員した。約1000にものぼるモジュールを扱うプロジェクトは「インターネット・ビジネスはスピードが命。すべてを通常の数倍の速さで」(山口氏)というスピード感で疾走した。

 イー・ショッピングは,Yahoo!のような“輸入型”サービスではなく,ソフトバンクの社内ベンチャーとして生まれたプロジェクトだ。その構想は99年初頭に誕生した。この時点ですでにEコマース・サイト自体は珍しくはない。注目すべきは,卸,コンビニエンス・ストアという,米国に比べ圧倒的に発達した日本独特のインフラを活用する,“日本型Eコマース・モデル”を狙ったことだ。

 99年6月に発表された際に注目を集めたのが,セブン-イレブンの店頭で支払いと商品の受け取りができる初めてのEコマース・サイトとなる点だった。書籍を供給するパートナとして参加したのは,取り次ぎ最大手のトーハンである。

 両社は書籍サイトを運営するイー・ショッピング・ブックスに出資する。玩具サイトのパートナであるハピネットなども,同サイトを運営するイー・ショッピング・トイズに出資している。

 こうして,イー・ショッピングは当初から大規模なシステムとしてスタートすることになった。営業開始は,99年11月とした。折しも前年,98年の米国の年末商戦は「Eクリスマス」と呼ばれた。年末は電子商店の雌雄を決する決戦期である。過酷なスケジュールだが,遅れることはできない。

在庫と配送状況を表示

 システム面では「顧客に安心してもらえる」機能を重視した(図3[拡大表示])。具体的には,(1)リアルタイムで在庫を表示して引き当てることにより「注文したが売り切れ」といった事態をなくす。(2)多様な決裁と受け取り方法を実現するためにパートナとのシステム連携を実現する。例えばクレジット・カード払いだけでなくセブン-イレブンでの支払いができ,宅配だけでなくセブン-イレブンでの受け取りも可能とする。(3)配送状況を顧客がWWWで確認できるようにするとともに,予定到着日やコンビニエンス・ストアへの到着をメールでも通知する。

 構築したシステムは,ブックス,トイズで共有し,システム・コストを下げる。のみならず,今後音楽CDや旅行,衣類など様々な専門店を設立していく構想がある。それらのサイトも短期間で安く立ち上げられるよう,共通して利用できるシステム基盤とすることを狙った。

国産パッケージをベースに

 短期間でシステムを立ち上げるには「ゼロから作るのはリスクが高い」(山口氏)。マイクロソフトなど,数社のEコマース・サイト構築パッケージを評価し,最終的にエコスが開発したパッケージMercuryを採用した。

 エコスはWebアプリケーション・サーバー製品にインターナショナル システム リサーチのZolarという国産ツールを採用したパッケージである。バックオフィス業務の充実と日本独自仕様への対応が採用の決め手になった。具体的には,検討時点でクレジットの決済インタフェースであるC-HASに対応していたのはMercuryだけだった。またヤマト運輸とのシステム連携機能も備えていた。

図1●システム構築のポイント

 インターナショナル システム リサーチも開発に参加,会員管理システムにも同社のWebAuthを採用することになった。WebAuthはZolarで構築されたユーザー認証とアクセス制御用のミドルウエアで,会員データをOracle上で管理する。

日単位で進ちょく管理,次々テスト

 もちろん,パッケージを使うだけで短期構築できるわけではない。イー・ショッピングが理想とするシステムとするためには,改良したり新たに作成すべき部分が多くあった。

 そのために,「日次で進ちょくを把握し,スケジュールを管理する」といった工夫をした。前述のように,開発スタッフはテスト担当も含めピーク時には50~60人に上った。各開発メンバーから電子メールまたは電話で進ちょく状況の情報を集めた。1000近い膨大なモジュールを管理するため,進ちょくデータはファイル・サーバー上に置いたExcelのワークシートで管理した。出来上がったモジュールから,即座にテストに回した。

図2●開発の経緯
ソフトバンクの社内ベンチャーとして誕生し,1999年4月から事業立案。国内最大級のEコマース・サイトでありながら実質的な開発期間4~5カ月という短期間で本稼働を実現した

走りながら考える

 「一日中,膨大な量の情報が上がってきて,それを即座に判断して指示を出さねばならない」(システム・インテグレーションを担当したソフトバンク・テクノロジー 第1技術部3グループ 担当部長 井上久氏)。ミーティングをするにも夜中でなければ時間がとれなかった。「判断するにも,情報を収集する時間がなかった。メーカーに問い合わせて答えが返ってくるのを待つ余裕がない。まず,決めて,走らせて,その結果を見るしかない」(山口氏)。判断をためらい,開発を止めてしまうことが最も避けなければならないことだった。100%正しい判断ではなくてもよい。山口氏らは前へ前へとプロジェクトを押し進めていった。

 システムの仕様も最初に決めた通り,というわけにはいかなかった。画面遷移なども開発途中にどんどん変わっていった。「Eコマースをやっている以上,最適なビジネス・モデルは刻々と変わる。最も速く変われる者が生き残る」(山口氏)

すべてを多重化

 このような中で,システムの実現方法が固まっていった。

 24時間営業と,集中するアクセスに耐えるための多重化は,図4[拡大表示]のように実現した。WWWサーバーは5台とした。台数は,負荷テストを実施した結果を基に割り出した。

図3●イー・ショッピングの特徴
システム面での特徴は(1)リアルタイムの在庫表示と引き当て,(2)セブン-イレブンでの代金支払いおよび商品受け取りやヤマト運輸での配送など多様な決済と受け取り方法,(3)配送状況のWWW上での確認とメールによる通知,など

 アクセスを複数のWWWサーバーの負荷に応じて割り振る負荷分散装置を導入し,処理効率の向上を狙った。採用した製品は,米Alteon WebSystemsのACEdirectorである。ACEdirector自体も2重化している。この2台がそれぞれ5台のWWWサーバー機に直接接続する形としてスループットを高めるとともに,1台が故障してもサービスを続行可能とした。

 アプリケーション・サーバー機は1台をメインに,もう1台をバックアップ兼バックオフィス処理にあてている。メイン機に障害が発生した場合,バックアップ機でサービスを提供する。DBサーバーはOracle Parallel Server Optionによる2ノードのクラスタ構成とした。2台がディスクを共有し,障害時もトランザクションの続行が可能である。

専用線とインターネットで連携

 パートナとの連携にも多彩な方法を使った(図5[拡大表示])。トーハン,ハピネットとは専用線で結び,ファイル転送により在庫や商品画像,発注データをやりとりしている。ファイル転送にはセゾン情報システムズのHULFTと日立製作所のジョブ管理ツールのJP1を採用し,自動化している。

図4●24時間運転と負荷分散のための多重化
WWWサーバーは現在5台。負荷分散装置ACEdirectorを使用し,アクセスを振り分けている。負荷分散装置自体も2重化している。アプリケーション・サーバーは1台をメイン機,もう1台をバックアップ機兼バックオフィス処理にあてた。DBサーバーはOracle Parallel Server Optionによる2台のクラスタ構成とした

 一方セブン-イレブン・ジャパンとは,インターネット経由で接続している。セブン-イレブンの店舗で支払いをする場合は,その手続きはセブン-イレブン側のシステムで行う。このため,ある処理手順から先はユーザーとセブン-イレブンのサイトで直接やりとりされる。例えば図5[拡大表示]の画面は払込依頼票と呼ばれるものだ。ユーザーはこれを印刷するか,あるいは番号をメモし店に持参し代金を払う。

 イー・ショッピングとセブン・イレブンの間では,暗号化したデータをさらにSSL(Secure Socket Layer)で送る。つまり,2重に暗号化されたデータをやりとりしている。

テストを重視,人員を厚く

 テストは開発に勝るとも劣らず重視した(図6[拡大表示])。必要なサーバーの台数を割り出すためのテストは,ベースになったパッケージMercuryを使い,WWWサーバー1台の構成で行った。Javaで記述したテスト・プログラムを作成し,静的なWWWページの読み出しと会員登録を行った。その際プロセッサの負荷などを記録し,想定するアクセス数に対し必要なサーバー数を計算した。

 最終段階では,約20人が一斉にアクセスしたり,意図的に不正な操作を行いバグをあぶり出した。


図5●パートナとの連携
パートナ卸であるトーハン,ハピネットとは専用線で結び,ファイル転送により在庫や商品画像,発注データをやりとりしている。セブン-イレブンとはインターネット経由で2重に暗号化されたデータをやりとりしている
図6●主要なテストの方法
開発の前半では,必要なサーバーの台数を割り出すためJavaで記述したテスト・プログラムで静的なWWWページの読み出しと会員登録を行った。最終段階では,約20人が一斉にアクセスしたり,意図的に不正な操作を行いバグをあぶり出すテストを実施した

 人員投入についても工夫した。ピーク時には主としてテスト要員を追加投入したのである。ピーク時では約15人がテスト要員だった。主に住商情報システムとアステック・eコマースのSEからなるテスト班は,膨大なモジュールのバグを次々とあぶり出した。「要求以上に,開発担当が思い付かないような突っ込んだテストをしてくれた。開発メンバーがテストもやる体制では,バグを見付けきれずにプロジェクトが失敗したかもしれない」(井上氏)。テスト要員の人数だけでなく質も重視したことが功を奏した。

 商品の検索に,Oracle8iの新機能である全文検索エンジンInter Mediaを使用した。新機能であるため問題もあったが,日本オラクルも協力し問題を回避したという。

 最終段階では,営業開始に間に合わせるため,比較的重要度の低い機能を切っていった。例えばどの画面からでも商品を検索できる機能などだ。「毎週,仕様を整理し機能を見直す決断を迫られた」(山口氏)

 これらの努力により,1999年11月24日,イー・ショッピングは予定通り営業開始の日を迎えた。

 しかし,これで終わりではない。2000年5月には新しいサイト「イー・ショッピング・カーグッズ」が開業する。日石三菱,エンパイヤ自動車などが出資しており,日石三菱のガソリン・スタンドで支払いと商品受け取りができる仕組みだ。


終盤に機能を切る

 プラットフォームに関する障害もあったが,その都度メーカーに対応を求めるなどして解決した。DBMSでも,データ量が増えてある限界を越えると突然遅くなるといった現象もあったが「常にコツコツとSQLを改良し」(井上氏)チューニングしていった。

 もちろんコンテンツに至っては,ユーザーの反応を見ながら日に何度も書き換えている。今後も会員とアクセス数増加に備えたシステムの増強が必要になる。インターネット・ビジネスに「完成」はない。

(高橋 信頼 =nob@nikkeibp.co.jp


システム概要

 静的なHTMLの表示と,SSL(Secure Socket Layer)通信を受け持つWWWサーバーは現在5台構成。負荷分散装置のACEdirectorでインターネットからのアクセスを割り振っている。ACEdirector自体も2重化しWWWサーバー機との間のネットワークも2重化している。


図A●システム構成図
WWWサーバーは現在5台構成。レイヤー3スイッチで分けられたもう一つのセグメントにあるアプリケーション・サーバーは2台,DBサーバーは2ノードのクラスタ構成である。内部ネットワークへ至るセグメントにはファイアウオールを置き,パートナ卸,クレジット・カードの与信管理システムと接続している。KDDのハウジング・サービスを利用している。

 レイヤー3スイッチで分けられたもう一つのセグメントにはアプリケーション・サーバーとDBサーバーがある。アプリケーション・サーバー用マシンは2台。メイン機とバックアップ(兼バッチ処理・バックオフィス処理)機である。


 アプリケーション・サーバー用マシンの上では,インターナショナル システム リサーチのミドルウエア(Webアプリケーション・サーバー)Zolar5iと,Zolar5iを利用したパッケージMercury(開発:エコス)が稼働している。


 DBサーバーはOracle8iにOracle Parallel Server Optionを搭載した2ノードのディスク共有型クラスタ構成。各ノードは4CPU構成のSMP(密結合マルチプロセッサ)マシンでメモリーは2Gバイトを搭載している。以上のサーバーはいずれも米Sun Microsystems製である。
 内部ネットワークへ至るセグメントにはファイアウオールを置き,パートナであるトーハンおよびハピネットと専用線経由で結ぶ。セゾン情報システムズのHULFTおよび日立製作所のJP1のファイル転送ツールを使用し自動ファイル転送を行う。
 またクレジット・カードの決済システムとも接続している。
 サーバーは,KDDのハウジング・サービスNEWEBを利用し,KDDのセンター内に設置している。