CData Connect は、クラウド上のMySQL/SQL Server のインスタンスで、100を超えるクラウドデータをDB に仮想化することができるサービスです。
CELF は、プログラマーではないユーザーがセルフサービスで業務アプリを開発・管理できる便利なサービスです。 本記事では、CELF からCData Connect 経由でSalesforce のデータをリアルタイムでアクセスすることを検証しました。
CData Connect にSalesforce データを接続
まず CData Connect (旧CloudHub) のアカウントを取得します。CData Connect はSaaS ですので、アカウントを取得したらインストールやホスティングなどなく、ブラウザからログインすることですぐに使用開始です。
早速ブラウザからCData Connect にログインします。「DATABASE」タブから仮想データベースを設定していきます。まずは接続するデータソースであるSalesforce のアイコンをクリックします。
データソース接続画面が開くので、データソース毎の認証情報を入力します。Salesforce の場合はUser、Password、Security Token を入力することでデータにアクセスすることができます。
接続設定を行ったあとは、「Data Explorer」を使ってクエリを確認してみましょう。
次に「ENDPOINTS」タブで、このデータをどのインターフェースのエンドポイントして公開するかを選択します。デフォルトで、OData、MySQL wire protocol、TDS(SQL Server) wire Protocol がすべて有効になっています。
必要があればアクセスを許可する信頼されたIP アドレスを指定することも可能です。
最後に公開したデータにアクセスできるユーザーとトークンを作成します。「USERS」タブからユーザーを作成するとトークンが生成されます。ユーザーを作成した場合は、データソースの Privileges タブでアクセス権を付与することを忘れないようにしてください。
これでCData Connect でSalesforce データを扱う準備ができました。
CELF からCData Connect 経由でSalesforce にアクセスする方法
ここからはCELF からCData Connect にアクセスする方法を説明します。
MySQL のODBC 接続の設定
CELF の外部データ接続は、すべてODBC 経由で行われます。 ただし汎用のODBC Drivers が利用できるわけではなく、MySQL、PostgreSQL、SQL Server などの規定のODBC しか受け付けない仕様になっています。 このため、CData ODBC Drivers などを直接利用することができません。そのため、CData Connect のMySQL インスタンスをODBC で接続します。
ODBC Manager から新しいDSN を追加し、「MySQL Unicode ODBC Driver 」を選択します。 注意点として、ODBC は32 ビットを使用します。64ビットではCELF での利用ができません。
任意の名前を設定し(ここでは「MySQL CData Connect」)CData Connect のホスト名・ユーザー名・パスワードを入力して接続を確立します。
CELF でのDB 設定
次にCELF からMySQL ODBC に接続します。 「データベース接続管理」タブから「新規データベース接続先情報作成」ボタンをクリックして、情報を登録します。
登録が完了したら右上の「テーブル管理」を開き、「接続先データベース」で作成したCData Connect のデータベースを選択します。 すると、Salesfore のオブジェクトがテーブルとして左の「テーブル一覧」に表示されます。ここでは「Account (取引先)」をダブルクリックします。 すると「データ」欄にSalesforce 上の取引先データがレコード表示されます。
確かにSalesforce のデータです。
CELF アプリケーションからのSalesforce データへのアクセス
これでCELF アプリ上でCData Connect 経由でSalesforce データを使うことができるようになります。
Salesforce データを取得
リボンから「アクション」ボタンをおして、新しいアクションを設定します。
アクションセット設定で、「データ操作」タブから「テーブルXXから複数権取得する」のブロックをドラグします。 これはSQL でいうSELECT 文を発行するアクションです。
テーブルを「先ほどのMySQL CData Connect」の「Account」に指定します。 その後データを表示する開始セルを設定したら、保存してテスト実行します。
するとSalesforce データがCELF の指定した箇所にレコードとしてインポートできました。
Salesforce データを登録
同様にデータの登録(Insert)が可能です。
Salesforce データを更新
同様にデータの更新(Update)が可能です。
Salesforce データを削除
同様にデータの削除(Delete)が可能です。
まとめ
このようにCELF のカスタマイズを行わずにSalesforce データに連携し、リアルタイムにCRUD を行うことができます。
関連コンテンツ