CData Software Blog

クラウド連携のCData Software の技術ブログです。

CELF で Dynamics 365(CRM)にアクセスできるアプリケーションをノンプログラミングで作成

こんにちは。CData リードエンジニアの杉本です。

今回はExcel感覚で誰でも簡単にWebアプリがつくれる「CELF」というサービスと CData Dynamics 365(CRMODBC Driver を組み合わせて、Dynamics 365(CRM)のデータを操作できるアプリケーションの作成方法を紹介したいと思います。

CELF とは?

CELF は SCSK 株式会社が提供しているExcelライクなインターフェースで簡単に業務アプリが作成できるクラウドサービスです。

CELF | Excel感覚でWebアプリがつくれるクラウドサービス

f:id:sugimomoto:20190709150154p:plain

以下のようなイメージで、Excel感覚で予算管理などのWebアプリケーションを簡単に作成することができます。

f:id:sugimomoto:20190709171140p:plain

CELF から Dynamics 365(CRM)にアクセスするイメージ

CELF の外部データ接続は、すべてODBC 経由で行われます。

ただし汎用のODBC Drivers が利用できるわけではなく、MySQLPostgreSQLSQL Server などの規定のODBC しか受け付けない仕様になっています。そのため、CData ODBC Drivers などを直接利用することができません。

しかしながら、CData SQL Gateway を併用することで CData ODBC Driver を MySQLの接続口として偽装することができます。これにより CELF から CData SQL Gateway+CData ODBC Driver 経由で Dynamics 365(CRM)への接続を可能とします。

f:id:sugimomoto:20190709181427p:plain

必要なもの

  1. CELF クラウド版(30日間トライアルが提供されています。:https://www.celf.biz/trial/

  2. CData Dynamics CRM ODBC Driver(30日間トライアルが提供されています。:https://www.cdata.com/jp/drivers/dynamicscrm/odbc/

  3. CData SQL Gateway (CData ODBC Driverに同梱されています)

  4. MySQL ODBC Driver(https://dev.mysql.com/downloads/connector/odbc/

  5. Dynamics 365(CRM)アカウント

Dynamics 365(CRMODBC Driver の設定

まずは、Dynamics 365(CRMODBC Driver の接続設定を行います。

Dynamics 365(CRMODBC Driver インストール後、ODBC DSNの接続構成画面が立ち上がるので、以下のように接続情報を指定します。

  • CRM Verison: CRM Onlineを選択します。

  • URL: Dynamics 365(CRM)の組織URLを指定します(例:https://XXXX.crm7.dynamics.com

  • User: Dynamics 365(CRM)のログインユーザーIDを指定します(例:XXX@XXX.onmicrosoft.com)

  • Password: Dynamics 365(CRM)のログインユーザーパスワードを指定します

f:id:sugimomoto:20190709172551p:plain

CData SQL Gateway の設定

次にCData SQL Gatewayを立ち上げます。CData SQL Gatewayは CData ODBC Driverをインストールすると一緒にインストールされます。

スタートメニューから「CData SQL Gateway」して起動します。

f:id:sugimomoto:20190709173346p:plain

CData SQL Gatewayが立ち上がったら「サービス」タブを選択し「追加」をクリックします。

f:id:sugimomoto:20190709173856p:plain

任意のサービス名を入力し、接続方式から「MySQL」を選択、先程作成した「Dynamics CRM Source Sys」のDSNを選択して「OK」をクリックしてください。

f:id:sugimomoto:20190709173942p:plain

サービスタブの画面に戻り、「開始」をクリックすれば、Gatewayサービスが起動します。

f:id:sugimomoto:20190709174207p:plain

最後に接続用のユーザーを作成しておきます。「ユーザー」タブから「追加」をクリックし

f:id:sugimomoto:20190709174246p:plain

任意のユーザーIDとパスワードでユーザーを作成します。特権は特にアクセスユーザーを明示しない場合は「管理者」にチェックを入れればOKです。

f:id:sugimomoto:20190709174324p:plain

以上で、CData SQL Gatewayの設定は完了です。

MySQLODBC 接続の設定

最後にMySQL ODBCの構成を行います。MySQL ODBC Driverは以下のURLからダウンロードできます。

https://dev.mysql.com/downloads/connector/odbc/

バージョンは「Looking for previous GA versions?」をクリックし、5.3.13をダウンロードしてください。

f:id:sugimomoto:20190709150814p:plain

インストール後、ODBC Manager から新しいDSN を追加し、「MySQL Unicode ODBC Driver 」を選択します。注意点として、ODBC は32 ビットを使用します。64ビットではCELF での利用ができません。

f:id:sugimomoto:20190709174552p:plain

任意の名前を設定し(ここでは「MySQL Dynamics365」)CData SQL Gatewayのホスト名(一緒の環境に入れているのでlocalhost)・ユーザー名・パスワードを入力して接続を確立します。

これで、CELFで接続するための環境構成が整いました。

CELF でのDB 設定

それではCELF からMySQL ODBC 経由で Dynamics 365(CRM)に接続します。

「データベース接続管理」タブから「新規データベース接続先情報作成」ボタンをクリックし

f:id:sugimomoto:20190709180205p:plain

接続情報の画面へ以下のように情報を登録します。

f:id:sugimomoto:20190709174809p:plain

  • 接続ID: 任意

  • データソース名: 先ほど設定したODBC

  • ユーザー名: CData SQL Gateway のユーザー名

  • パスワード: CData SQL Gateway のパスワード

登録が完了したら右上の「テーブル管理」を開きます。

f:id:sugimomoto:20190709174858p:plain

「接続先データベース」で作成した CData SQL Gateway のデータベースを選択するとDynamics 365(CRM)のオブジェクトがテーブルとして左の「テーブル一覧」に表示され、Dynamics 365(CRM)に接続できていることがわかります。

これで、例えば「Account (取引先)」をダブルクリックすることで、Dynamics 365(CRM)に格納されているデータを表示できます。

f:id:sugimomoto:20190709175101p:plain

CELF アプリケーションからのDynamics 365(CRM) データへのアクセス

これでCELF アプリ上から、CData SQL Gateway + CData ODBC Driver 経由でDynamics 365(CRM) データを使うことができるようになりました。

Dynamics 365(CRM) データを取得

リボンから「アクション」ボタンをおして、新しいアクションを設定します。 f:id:cdatasoftware:20181113015538p:plain

アクションセット設定で、「データ操作」タブから「テーブルXXから複数権取得する」のブロックをドラグします。 これはSQL でいうSELECT 文を発行するアクションです。 f:id:sugimomoto:20190709175714p:plain

テーブルを「先ほどのMySQL Cloudhub」の「Account」に指定します。 その後データを表示する開始セルを設定したら、保存してテスト実行します。 f:id:cdatasoftware:20181113015550p:plain

するとDynamics 365(CRM) データがCELF の指定した箇所にレコードとしてインポートできました。 f:id:sugimomoto:20190709175810p:plain

Dynamics 365(CRM) データを登録

同様にデータの登録(Insert)が可能です。 f:id:cdatasoftware:20181113015614p:plain

Dynamics 365(CRM) データを更

同様にデータの更新(Update)が可能です。 f:id:cdatasoftware:20181113015602p:plain

Dynamics 365(CRM) データを削除

同様にデータの削除(Delete)が可能です。 f:id:cdatasoftware:20181113015604p:plain

まとめ

いかがでしたでしょうか。このような処理を組み合わせて、一覧表示・作成・更新を組み合わせたアプリケーションを簡単に作成することができます。

f:id:sugimomoto:20190709175925p:plain

CELF のカスタマイズやバッチによる連携などを行わずにDynamics 365(CRM) データに連携し、リアルタイムにCRUD を行うことができるので、作成するアプリケーションの幅が大きく広がるのではないかと思います。

CDataでは Dynamics 365(CRM)以外にも様々なデータ接続用ODBC Driverを提供していますので、是非組み合わせていろんなアプリケーション開発に役立ててみてください。