Azure×EC-CUBEでお手軽ネットショップ構築

第6回[開発合宿]EC-CUBEとMicrosoft Dynamics CRMの連携

今回開発したものの概要

EC-CUBEとCRM(顧客管理システム)を連携させることで、ECサイトでの販売履歴と営業活動の履歴を連携させるなど、より効果的にお客様に適切なサービスで提供できる機能を開発しました。

利用したMicrosoft Azureに関するテクノロジーはAzure WebサイトとAzure仮想マシンです。また、Microsoft Dynamics CRMとEC-CUBEはもちろん、認証に必要なActiveDirectory、通信の解析するためのFiddler、デスクトップのサンプルアプリを動かして通信のテストなどを行いました。

今回開発したものの結果

今回は、Dynamics CRMの取引相手情報(Contact)を取得してEC-CUBEの顧客として登録するということを行いました。顧客管理の機能としてはまだまだ最初の一歩ですが、EC-CUBEとDynamics CRM、それらが動作するAzureの環境について知ることができたの今後の開発にかなり弾みとなりました。

今回の合宿では以下の作業を行いました。

Dynamics CRMの構築

Azure 仮想マシン上に、Windows Server 2012 R2とデータベースであるSQL Serverを構築しました。これはAzureであらかじめ用意されたもので簡単に導入できます。
Azure上で仮想マシンを作成する
Azure上で仮想マシンを作成する

構築した仮想マシンにリモートデスクトップ接続して、ActiveDirectoryとDynamics CRMを作成します。ActiveDirectoryはDynamics CRMの認証に必要になります。

Dynamics CRMをインストール
Dynamics CRMをインストール

仮想マシンはスペックも高いため、利用しない時間はシャットダウンしておくと費用の削減になります。ただし、再び起動した際にIPアドレスが別のものに変わってしまう点が注意ポイントです。

EC-CUBEの構築

Azure Webサイト上にEC-CUBE環境を作成します。

こちらもAzureのギャリーというテンプレート機能としてEC-CUBEが含まれているため簡単に構築できました。

ギャラリーから簡単にEC-CUBEを構築できる
ギャラリーから簡単にEC-CUBEを構築できる

接続の確認

Dynamics CRMの取引相手データをEC-CUBEに使われているPHPという言語から取得するにはSOAPという通信を使います。

SOAP通信の仕組みは、Dynamics CRMのSDKについてくるSOAPLoggerというC#アプリを動かして、通信の中身をFiddlerというソフトで確認することで解析しました。

限られた時間の中で最短の解決を目指したのですが、この解析が一番時間がかかった作業となりました。

参考リンク:Microsoft Dynamics CRM 2013 ソフトウェア開発キット (SDK)
http://www.microsoft.com/ja-jp/download/details.aspx?id=40321

SOAPLoggerは展開したSDKの以下のディレクトリにあります。

SDK\SampleCode\CS\Client\SOAPLogger
Fiddlerで通信を解析する
Fiddlerで通信を解析する

EC-CUBEへの組み込み

最後にEC-CUBEへの組み込みを行いました。

こちらはWebMatrixという開発ツールで簡単にAzure上に修正したファイルを上げることができ非常に便利でした。

簡単にですがDyanamicsCRMの取引相手データをEC-CUBEに導入できました
簡単にですがDyanamicsCRMの取引相手データをEC-CUBEに導入できました

まだまだ機能は未熟ですが、今回の合宿を通して一気に開発が進みました。

今後はさらに連携を強化していき、EC-CUBEのプラグインとして提供できればと考えております。

開発のポイント

Azure Webサイトへの素早い環境構築。Azure 仮想マシンという柔軟な環境へのDynamics CRMの構築の便利さがポイントでした。

開発者に向けたDynamics CRMの情報発信の不十分さも今回の合宿でわかった良い気付きでした。今後はより開発者が素早く開発できるように情報発信していけたらと思います

今回開発しての感想

今回利用したCRMソフトウェアはMicrosoft社のDynamics CRMでしたが、ソフトウェアの性質上、推奨環境のサーバースペックが高く、このような環境を簡単に構築、必要が無くなれば破棄することができる仮想マシンの機能はとても便利でした。

EC-CUBE×Azureの組み合わせに関しての感想

EC-CUBEとAzureという組み合わせによって今回の連携がスムーズに構築できました。今回のDynamics CRMなどのMicrosfot社が豊富に持つ企業向け製品との連携のプラットフォームとしてAzureは非常に強力に感じました。

おすすめ記事

記事・ニュース一覧