SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

イベントレポート(AD)

クラウドアプリのベスト設計とは? タイプが異なる「PaaS」組み合わせ事例

  • このエントリーをはてなブックマークに追加

 動いているものは何でも使え――というと極端だが、現在のPaaS(Platform as a Service)には便利なAPIやサービスが多数公開されており、利用しない手はない。中でも「業務をソフトウェア化したサービス」は業務のベストプラクティスが反映されており、利用価値は非常に高いといえるだろう。システムの独自機能はPaaS上で別途実装することになるが、問題は両者の連携。ここが容易でなければ開発生産性を落としてしまう。SaaS(Software as a Service)の宗家として、既製サービスと独自システムの連携に長く取り組んできたセールスフォース・ドットコムは、昨年12月3日~4日に開催した国内最大級のクラウドイベント「Salesforce World Tour Tokyo 2015」で、この問題を解決する2つのPaaSについて、開発事例を交えて解説した。

  • このエントリーをはてなブックマークに追加
本記事のセッション動画

本記事で紹介しているセッションは、動画でもご視聴いただけます(左の画像をクリック)。また、セッション資料もこちらからダウンロードできます。

Force.com上の業務アプリとHeroku上のエンゲージメントアプリをシームレスに同期

アイデアのアプリ化へ最短ルートを提供するSalesforce App Cloud

 解説は「HEROKU×FORCE!! 事例とアーキテクチャ」と題したセッションで行われた。登壇したのは、セールスフォース・ドットコム ソリューションアーキテクト兼デベロッパーマーケティングマネージャーの相澤 歩氏。相澤氏はまず、Salesforce1 Platformから名称変更した「Salesforce App Cloud」(以下、App Cloud)を紹介した。

株式会社セールスフォース・ドットコム ソリューションアーキテクトの相澤 歩氏
株式会社セールスフォース・ドットコム ソリューションアーキテクトの相澤 歩氏

 App Cloudはアプリケーションの土台となるプラットフォーム全体を指し、「アイデアをアプリに変える最短のルートを提供する」ことを基本理念とする。通常、新しいアプリケーションを作成しようとすると、ハードウェアの導入から始まり、ソフトウェアのインストール、ミドルウェアのセットアップを経て、さまざまな機能を作り込むという段取りを踏むため、リリースは半年から1年先になってしまう。

App Cloudはアイデアをアプリに変える最短のルートを提供する
App Cloudはアイデアをアプリに変える最短のルートを提供する

 しかし、App Cloudを利用することで、デベロッパーのアイデアやその先にいるお客様の要望を「最短のルート」でアプリケーションとして形にできると相澤氏は強調。Salesforceが提供する営業支援の数々のアプリケーションをはじめ、社内・社外を問わずさまざまな業務アプリ、そしてお客様とのエンゲージメントがすべてApp Cloud上で実現可能というのが、Salesforceの提示するコンセプトであるとした。

社内・社外を問わずさまざまな業務アプリ、そしてお客様とのエンゲージメントがすべてApp Cloud上で実現可能
社内・社外を問わずさまざまな業務アプリ、そしてお客様とのエンゲージメントがすべてApp Cloud上で実現可能

Force.comとHerokuの違い

 このコンセプトを実現するため、App Cloudでは2種類のPaaSを提供している。

 1つは「Force.com」。業務に精通したユーザーがクリックやドラッグ&ドロップなどの操作だけで、必要な業務アプリを構築できるプラットフォームだ。Force.comでは、モバイルアプリケーションをノープログラミングで構築できる「Lightning」、統一したルック&フィールを作成するための「Lightning Design System」、魅力的なUIコンポーネントを活用できるライブラリ「AppExchange for Components」などが提供されている。

Force.com
Force.com

 Force.comは、業務アプリケーションをデベロッパーに頼らずに構築することを可能にするが、業務に特化したコンポーネントやForce.comにはない機能の構築など、実際のアプリケーション開発ではデベロッパーの存在は不可欠である。

 App Cloudが提供するもう1つのPaaSである「Heroku」は、デベロッパー向けにRuby、Java、PHP、Node.jsなど任意の言語やフレームワークを自由に使って独自のアプリケーションを構築できる環境を提供する。

Heroku
Heroku

 Herokuの特徴は、その強固でスケーラブルなインフラにある。たとえば、サービスをデプロイした後、当初数百人程度だった利用者が数百万人、数千万人規模に増えても、Heroku側がインフラのマネージメントを担当し、自動でスケールを行う。デベロッパーはこういった管理に関与する必要がなく、利用者からのフィードバックの反映や新しい機能の追加など、サービスの価値を高める作業に集中できる。

 また、エンタープライズ向けの「Heroku Enterprise」では新サービスとして、2016年に「Private Spaces」をリリースする予定。Herokuはこれまでパブリッククラウド上でプラットフォームを提供していたが、Private Spacesにより、利用者ごとにネットワークの区画が分けられ、利用者専用のプロビジョニングが可能になる。これに伴い、2016年初頭には東京リージョンでHerokuが稼働するようになり、マルチリージョンにも対応する。またHeroku Enterpriseは、Force.comとHerokuを連動して利用できるようにシングルサインオン機能も提供する。

Heroku EnterpriseとPrivate Spaces
Heroku EnterpriseとPrivate Spaces

 そして、Force.comとHerokuをつなぐキーテクノロジーが「Heroku Connect」である。Heroku Connectにより、Force.com上で開発した業務アプリケーションとHeroku上で開発したコンシューマ向けエンゲージメントアプリケーションを統合し、シームレスなデータの同期が可能になる。相澤氏は「これから事例を紹介する2社のように、Force.comとHerokuを組み合わせ、それぞれの特性を活かしたソリューションを提供していくことが必要」と述べ、App Cloudの紹介を締めくくった。

Force.comとHerokuは「無料」で試せます

 簡単なご登録ですぐにさわってみることができます。ご興味のある方は下記のリンクから。

機能要件に応じてForce.comとHerokuを使い分け、Heroku Connectで統合

 Force.comとHerokuの機能面の違いは、相澤氏が解説したとおりである。しかし、ユーザーが実際に2つのPaaSをどのように使い分け、また統合して開発を成功させているかをまず知りたいところだろう。相澤氏はここでセールスフォース・ドットコムの開発パートナー企業2社から招聘したスピーカーを紹介。Force.comとHerokuの具体的な利用方法や使い分けなどを、それぞれ語ってもらった。

 最初に登壇したのは、株式会社フレクト IoT部チームマネージャーの佐伯葉介氏。フレクトは、Heroku、Force.comなど複数のクラウドを利用したインテグレーションに主眼を置き、コンシューマ向けWebアプリケーションなどの開発を行っている。佐伯氏は、Heroku ConnectによりO2Oカスタマーエンゲージメントを実現した事例を紹介した。

株式会社フレクト IoT部チームマネージャー 佐伯葉介氏
株式会社フレクト IoT部チームマネージャー 佐伯葉介氏

 あるとき同社は、インテリアショップを展開する企業から、「オフラインだけでなくオンラインを含めた活動により顧客の囲い込みを行いたい」という案件を受託した。顧客エンゲージメントを高めるには、顧客とより高い頻度で質の高いコミュニケーションをとらなければならない。店舗だけがタッチポイントになると顧客との関わりが限定的になってしまうので、Webやモバイルを活用し、顧客に来店や商品予約などのアクションを促すように、新商品やセール、メンテナンスといった情報を配信する必要がある。また、来店時の接客からその経緯や嗜好などの情報を記録し、顧客自身の情報、顧客に配信した情報と合わせることで、さらに質の高いサービスの提供につなげていく。

 システムの構築にはHerokuとForce.comの両方を使用した。Herokuでは、ブランドに即したリッチなUIデザインを持つアプリケーションをスクラッチで開発。その企業独自の強みを表現した。また、数十万に及ぶ会員のアクセスログの記録やトラフィック対応も行う。一方、顧客の情報や契約、顧客に発信するコンテンツ、問い合わせへの対応履歴の管理などバックエンド業務のプラットフォームとしてForce.comを活用。そして、Heroku Connectで稼働中の2つのプラットフォームをシームレスに統合した。

「異なる機能要件をそれぞれ特性の異なる2つのプラットフォームで実装し、Heroku Connectで統合できることは、デベロッパーにとって他にはない強みになる」(佐伯氏)

インテリアショップを展開する企業に構築した顧客エンゲージメントを高めるためのシステム
インテリアショップを展開する企業に構築した顧客エンゲージメントを高めるためのシステム

 ただし、Heroku ConnectでHerokuとForce.comを統合する際にはデータを置く場所に注意が必要だと、佐伯氏は指摘する。たとえば、会員数に比例して増加するアクセスログなどは、コスト、パフォーマンスの観点からForce.comに置くのは得策ではない。大量の詳細なデータはHeroku上で分析し、顧客の価値創造につながる価値の高いデータを可視化してForce.comで参照できるようにする。そのほか、アクセスログや来店ログを特定の条件で集計したデータのみをForce.comに保持し、商品の展示箇所の訴求改善などに活かすことも可能である。

Heroku ConnectでHerokuとForce.comを統合する際にはデータを置く場所に注意が必要
Heroku ConnectでHerokuとForce.comを統合する際にはデータを置く場所に注意が必要

Force.comとHerokuは「無料」で試せます

 簡単なご登録ですぐにさわってみることができます。ご興味のある方は下記のリンクから。

Heroku上でユーザー管理とForce.comとの連携を一括して担うライブラリを導入

 続いてもう1社、株式会社chatbox 代表取締役であり、株式会社タンバリンで技術顧問を務める後藤知宏氏が登壇した。タンバリンはモバイルやクラウドを使ったカスタムアプリケーションを提供している。後藤氏は、オープンソースのECパッケージをHeroku上に展開し、Force.comとHeroku Connectで統合する事例、およびその際に生じる課題を吸収するライブラリを紹介した。

株式会社タンバリン 技術顧問 兼 株式会社chatbox 代表取締役 後藤知宏氏
株式会社タンバリン 技術顧問 兼 株式会社chatbox 代表取締役 後藤知宏氏

 後藤氏によれば、顧客企業からはCRMの提供後、ECの導入を希望されるケースが多いのだという。そこで、ECを簡単に提供できるように、オープンソースのECパッケージである「EC-CUBE 3」をHeroku上に展開することを考えたという。ECでは機能が充実してくると、セールの際にサーバーがダウンするなど、インフラ周りの問題が多く発生する。Herokuを使えばそういった問題を解決でき、さらにForce.comとHeroku Connectで統合して顧客データを連携し、Force.comのCRM機能も活用できる。EC-CUBE側ではHerokuの各種アドオンを使い、画像管理、ログ監視、データベースのバックアップなどをWeb上の画面で実行可能だ。

EC-Cubeとその稼働プラットフォームHeroku、ならびにForce.comの間での連携
EC-Cubeとその稼働プラットフォームHeroku、ならびにForce.comの間での連携

 ただ、こうしたメリットがある半面、EC-CUBEなどの既存のアプリケーションとHeroku Connectとの間で双方向に同期を行うのが難しい場合もあるということが、課題として判明した。原因は、アプリとForce.comとの間にあるデータ構造のギャップ。とはいえ、データの同期を手動で行ってギャップを解消する仕組みにはできない。そこで、データ構造のギャップを吸収し、アプリとForce.comの連携を可能にするソリューションとして考えられたのが、PHPライブラリ「TAMOPACK[1]」である。

 TAMOPACKは、Heroku上でユーザー管理機能を提供する。ECサイト、クーポン配信、コミュニティなどのアプリケーションを個別に作成し、ユーザー管理の部分はTAMOPACKを使って実装すると、TAMOPACKがユーザー管理処理とHeroku Connectによるデータの同期を行うため、各アプリケーションがHeroku上でまとめられた形でForce.comとシームレスに連携する。

「TAMOPACKを使うことで、ユーザー管理を一括で行い、Force.comのCRM機能を活用できる。それにより、お客様に価値を提供できるアプリケーションのフロント部分により注力した開発が可能になる」(後藤氏)

TAMOPACKは共通IDでシームレスな連携を可能にし、Heroku Connect利用時の課題を解消する
TAMOPACKは共通IDでシームレスな連携を可能にし、Heroku Connect利用時の課題を解消する

この一年間のプラットフォーム提案の動きを見ると、開発パートナーが主導するソリューション提案、セールスフォース・ドットコムが主導する提案の双方で、Force.comとHerokuの両方を使ったシステム構築の案件が大きく増えているという。デベロッパーにとっては、特性の異なるこの2つのプラットフォームをいかに組み合わせて新しい価値を創造できるかが今後のカギとなるだろう。

[1]: 後藤氏によるTAMOPACKの紹介がQiitaにある。

Force.comとHerokuは「無料」で試せます

 簡単なご登録ですぐにさわってみることができます。ご興味のある方は下記のリンクから。

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/9169 2016/04/12 15:10

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング