こんにちは。CData リードエンジニアの杉本です。
今回はExcel感覚で誰でも簡単にWebアプリがつくれる「CELF」というサービスと CData Dynamics 365(CRM) ODBC Driver を組み合わせて、Dynamics 365(CRM)のデータを操作できるアプリケーションの作成方法を紹介したいと思います。
CELF とは?
CELF は SCSK 株式会社が提供しているExcelライクなインターフェースで簡単に業務アプリが作成できるクラウドサービスです。
CELF | Excel感覚でWebアプリがつくれるクラウドサービス
以下のようなイメージで、Excel感覚で予算管理などのWebアプリケーションを簡単に作成することができます。
CELF から Dynamics 365(CRM)にアクセスするイメージ
CELF の外部データ接続は、すべてODBC 経由で行われます。
ただし汎用のODBC Drivers が利用できるわけではなく、MySQL、PostgreSQL、SQL Server などの規定のODBC しか受け付けない仕様になっています。そのため、CData ODBC Drivers などを直接利用することができません。
しかしながら、CData SQL Gateway を併用することで CData ODBC Driver を MySQLの接続口として偽装することができます。これにより CELF から CData SQL Gateway+CData ODBC Driver 経由で Dynamics 365(CRM)への接続を可能とします。
必要なもの
CELF クラウド版(30日間トライアルが提供されています。:https://www.celf.biz/trial/)
CData Dynamics CRM ODBC Driver(30日間トライアルが提供されています。:https://www.cdata.com/jp/drivers/dynamicscrm/odbc/)
MySQL ODBC Driver(https://dev.mysql.com/downloads/connector/odbc/)
Dynamics 365(CRM)アカウント
Dynamics 365(CRM) ODBC Driver の設定
まずは、Dynamics 365(CRM)ODBC Driver の接続設定を行います。
Dynamics 365(CRM)ODBC Driver インストール後、ODBC DSNの接続構成画面が立ち上がるので、以下のように接続情報を指定します。
URL: Dynamics 365(CRM)の組織URLを指定します(例:https://XXXX.crm7.dynamics.com)
User: Dynamics 365(CRM)のログインユーザーIDを指定します(例:XXX@XXX.onmicrosoft.com)
Password: Dynamics 365(CRM)のログインユーザーパスワードを指定します
CData SQL Gateway の設定
次にCData SQL Gatewayを立ち上げます。CData SQL Gatewayは CData ODBC Driverをインストールすると一緒にインストールされます。
スタートメニューから「CData SQL Gateway」して起動します。
CData SQL Gatewayが立ち上がったら「サービス」タブを選択し「追加」をクリックします。
任意のサービス名を入力し、接続方式から「MySQL」を選択、先程作成した「Dynamics CRM Source Sys」のDSNを選択して「OK」をクリックしてください。
サービスタブの画面に戻り、「開始」をクリックすれば、Gatewayサービスが起動します。
最後に接続用のユーザーを作成しておきます。「ユーザー」タブから「追加」をクリックし
任意のユーザーIDとパスワードでユーザーを作成します。特権は特にアクセスユーザーを明示しない場合は「管理者」にチェックを入れればOKです。
以上で、CData SQL Gatewayの設定は完了です。
MySQL のODBC 接続の設定
最後にMySQL ODBCの構成を行います。MySQL ODBC Driverは以下のURLからダウンロードできます。
https://dev.mysql.com/downloads/connector/odbc/
バージョンは「Looking for previous GA versions?」をクリックし、5.3.13をダウンロードしてください。
インストール後、ODBC Manager から新しいDSN を追加し、「MySQL Unicode ODBC Driver 」を選択します。注意点として、ODBC は32 ビットを使用します。64ビットではCELF での利用ができません。
任意の名前を設定し(ここでは「MySQL Dynamics365」)CData SQL Gatewayのホスト名(一緒の環境に入れているのでlocalhost)・ユーザー名・パスワードを入力して接続を確立します。
これで、CELFで接続するための環境構成が整いました。
CELF でのDB 設定
それではCELF からMySQL ODBC 経由で Dynamics 365(CRM)に接続します。
「データベース接続管理」タブから「新規データベース接続先情報作成」ボタンをクリックし
接続情報の画面へ以下のように情報を登録します。
登録が完了したら右上の「テーブル管理」を開きます。
「接続先データベース」で作成した CData SQL Gateway のデータベースを選択するとDynamics 365(CRM)のオブジェクトがテーブルとして左の「テーブル一覧」に表示され、Dynamics 365(CRM)に接続できていることがわかります。
これで、例えば「Account (取引先)」をダブルクリックすることで、Dynamics 365(CRM)に格納されているデータを表示できます。
CELF アプリケーションからのDynamics 365(CRM) データへのアクセス
これでCELF アプリ上から、CData SQL Gateway + CData ODBC Driver 経由でDynamics 365(CRM) データを使うことができるようになりました。
Dynamics 365(CRM) データを取得
リボンから「アクション」ボタンをおして、新しいアクションを設定します。
アクションセット設定で、「データ操作」タブから「テーブルXXから複数権取得する」のブロックをドラグします。 これはSQL でいうSELECT 文を発行するアクションです。
テーブルを「先ほどのMySQL Cloudhub」の「Account」に指定します。 その後データを表示する開始セルを設定したら、保存してテスト実行します。
するとDynamics 365(CRM) データがCELF の指定した箇所にレコードとしてインポートできました。
Dynamics 365(CRM) データを登録
同様にデータの登録(Insert)が可能です。
Dynamics 365(CRM) データを更
同様にデータの更新(Update)が可能です。
Dynamics 365(CRM) データを削除
同様にデータの削除(Delete)が可能です。
まとめ
いかがでしたでしょうか。このような処理を組み合わせて、一覧表示・作成・更新を組み合わせたアプリケーションを簡単に作成することができます。
CELF のカスタマイズやバッチによる連携などを行わずにDynamics 365(CRM) データに連携し、リアルタイムにCRUD を行うことができるので、作成するアプリケーションの幅が大きく広がるのではないかと思います。
CDataでは Dynamics 365(CRM)以外にも様々なデータ接続用ODBC Driverを提供していますので、是非組み合わせていろんなアプリケーション開発に役立ててみてください。