株式会社日立ソリューションズ

O2Oソリューションの開発にRubyを採用することで、短期間、低コストを実現した『ReBee』
O2O(Online to Offline)は、小売業分野のIT化で注目を集めるキーワードの一つだ。日立ソリューションズの「ReBee」は、スマートフォンアプリと小売店舗の会員制度を結びつけ、リアル店舗への集客に結びつけようとするO2Oソリューションである。
ReBeeで顧客との直接の接点となるのはスマートフォンアプリである。アプリは、クーポンなど、顧客メリットを訴えてリアル店舗への集客に結びつける窓口となる。一方、バックグラウンドではCRM(Customer Relationship Management)、顧客管理システムと連携する。
商業施設「ミーナ」で初導入、スマートフォン決済をシンプルに実現
このReBeeのファーストユーザーとなったのが、商業施設ミーナ(mina)である。2013年4月にプロジェクトを開始し、6カ月で構築、2013年10月にはカットオーバーと、素早い導入だった。
ミーナからの要求は、「クレジット決済をスマートフォンだけで行いたい」というものだった。この種の話を聞けば、NFCやFeliCaといったICカード系の決済技術を連想するかもしれないが、今回の事例の取り組みはより地に足が付いたやり方を採用した。
ミーナでは、「minaカード」と呼ぶハウスカードを発行している。このminaカードの情報をスマートフォンアプリに登録することにより、「ミーナ」の店舗でのサインレス、カードレスでの決済を可能とした。カード会社と決済代行会社を巻き込んで決済スキームを作り上げた。
とはいっても、決済の方法はシンプルである。「コロンブスの卵」という言葉を連想するほどだ。買い物に来た顧客は、自分のスマートフォンアプリを操作して、なおかつ店舗に設置したタブレットで店員が入力した金額を確認する。この一連の操作により購入意思を確認することで、決済処理を実地する。
「ECサイト決済に比べればリアル店舗の方がセキュリティを担保できる」(同社)。なるほど、ブラウザやスマートフォンアプリからEC(電子商取引)サイトでの購入を完結できることを思い出すなら、リアル店舗での購入にアプリを使っても良いわけである。
この導入プロジェクトで肝心な部分は、店舗側に新たな機器、つまりエンドポイントとなるタブレット端末を設置し、なおかつタブレット端末による確認作業という新たなオペレーションを店舗の業務に導入したことである。このような案件では、小売業の店舗側の協力を取り付けられるか否かで成否はまったく変わってくる。当案件では、商業施設であるミーナ主導の案件だったことから、このような店舗業務の変更が可能となったのだ。
Ruby導入で開発期間は1/2、コストは3/4に
Ruby導入の効果はどれほどだったのか。今回の案件の規模は、3人で6カ月。この開発期間は、設計、製造、テストなどを含む。同社では、Ruby採用により、同規模のJava案件に比べて開発(製造)期間は1/2の約3カ月、コストは3/4に削減できたと見積もっている。
「RubyやRailsを採用したのは、一つは会社の意向」と同社は言う。開発メンバーにとっては、これは最初のRuby案件だった。「開発者はJava技術者が多く、Ruby案件に最初はとまどった。『Javaなら簡単にできたのに』とも思った。ただ、結果としてはうまくいった」(同社)。
同社によれば、Rubyが必ずしも、すべての案件に適しているわけではないという。特にRuby on Railsを使う場合は、特にRailsと相性が合うDB設計をすることも重要となる。「別の案件でRubyを採用しようとしたが、DBMS(データベース管理システム)製品やDB定義が事前に決まっていた。(日立ソリューションズ内のRuby推進部署である)Rubyセンタに相談したところ『泥沼にハマるパターンなのでお薦めできない』と言われ、こちらの案件はJavaにした」。
ReBee案件の場合は「基本はRailsの作法に従い、プラグインなどもあまり使わず、極力シンプルに作った」(同社)。
Java案件と比べて心配だったのは、性能の問題が顕在化しないかどうかだったが、今のところ問題は出ていないという。
スマートフォンアプリ側では、iOS版のリリースが、ちょうどiOS7がリリースされて一週間後だったことから、一回リジェクトを受けるという苦労もあった。
開発メンバーもRubyベースの開発のメリットを体感
同社がO2Oのソリューションに乗り出したのは、この分野、特にスマートフォンアプリを使った集客促進の分野で、早い時期に地位を確立したかったということがある。
一方、第1号ユーザーであるミーナ側では、集客とハウスカードの活用が課題だった。現在の大きなトレンドは、スマートフォンを集客に活用し、カードと連携し、さらにSNS(social networking service)と連携することである。ミーナでも、SNSのFacebookページを活用するなど取り組みを進めている。
今回初めてRuby案件を成し遂げた開発メンバーに心境の変化はあったのだろうか。「当初はコードに嫌悪感すらあった。それまでに触ってきたJava言語と大きく違う。特にRails特有の文法などもあった。今では、Railsの方が画面作成は格段に早くなった。Railsライブラリのrails3_acts_as_paranoidを使うと、テーブルのアップデートや削除が1行で書ける。Railsの便利さ、開発の早さを実感するようになった」(同社)。
そして、開発メンバーはこう付け加えた。
「設計の考え方も、今後は変わる必要があるかもしれません。アジャイル開発の考え方をもっと取り込む形で」。
Rubyとの出会いは、同社の開発メンバーのマインドにも影響を与えつつあるようだ。
参考写真



※本事例に記載の内容は取材日時点のものであり、現在変更されている可能性があります。
事例概要
- 会社名
- 株式会社日立ソリューションズ
- 活用分野
- 小売向けソーシャルCRMソリューション ReBee
- 利用技術
- Ruby on Rails
- Apache + Passenger
- PostgreSQL
- RubyGems
- devise
- jquery-rails
- kaminari
- ruby-pg(gem pg)
- cancan
- rails3_acts_as_paranoid
- settingslogic
- database_cleaner
- validates_timeliness
- execjs
- therubyracer
- uglifier
- sass-rails
- coffee-rails
- 開発会社
- 株式会社日立ソリューションズ
- ニーズおよび解決したかったこと
- O2Oソリューション。スマートフォンアプリを活用、リアル店舗への集客を促進するCRMソリューション
- スピード。競合他社との差別化を図るため市場投入スピードを重視
- コスト。限られた予算の中で市場優位性を見出すソリューションを開発
- Ruby採用理由
- アジャイル開発。短期間のイテレーションで開発を進めていくのに適していた
- スピード・コストの圧縮。クラウド上での開発・運用の実績が多く、短期間・低コストの開発に優位
- サポート体制(社内)。社内にRubyエキスパートが存在
- Ruby採用効果
- アジャイル開発。モックアプリを容易に作成でき、十分なイテレーションにより要件定義に柔軟に対応
- スピード・コストの圧縮。当初6カ月と想定していた開発期間を3カ月に短縮、あわせて開発コストを約3/4に削減
- サポート体制(社内)。Rubyのファースト案件であったが、充実したサポートにより大きな問題もなく立上げできた