CData Software Blog

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

ノンプログラミング Web データベース UnitBase に Salesforce のマスタデータを同期させる方法

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

今回の記事ではノンプログラミング Web データベース UnitBaseに Salesforceのデータを同期させ、UnitBase上で活用できるようにする方法を紹介したいと思います。

UnitBaseとは?

UnitBaseは株式会社ジャストシステムが提供するノンプログラミング Web データベースです。

www.justsystems.com

顧客管理や案件管理といった情報共有のためのデータベースを簡単に、ノンプログラミングで構築することが可能です。

UnitBaseには外部のRDBからマスタデータなどを参照に、シームレスに活用できるようにする機能が提供されています。

今回はこの仕組を利用して Salesforce データの活用方法を解説していきます。

UnitBase から Salesforce API に接続する際の課題

さて、今回の記事では前述の通り UnitBase から Salesforce API に接続していきます。

Salesforce では REST APIが提供されているので、一見連携しやすいように見えますが、SOQLを発行するインターフェースがベースになっており、単純に UnitBase 上からは連携することができません。

developer.salesforce.com

例えば、バッチ処理のプログラムなどを開発し、定期的にSalesforce のデータを吸い上げるなどの対応が必要となってしまうでしょう。

そこで今回の記事ではこのボトルネックを「CData JDBC Driver」を活用することで解消します。

www.cdata.com

UnitBase ではRDBの取り込み設定という仕組みが標準提供されており、この機能を介してSQL ServerMySQLなどにアクセスできるようになっています。

そして、実はこの機能が内部的にはJDBCが利用されているため、この機能とCDataが提供されているJDBC Driverラインナップを組み合わせることで、各種クラウドサービスのAPIにアクセスすることができるようになります。

とは言っても、説明だけではイメージできない部分もあると思うので、実際に連携を試してみましょう。

手順

CData JDBC Driverのインストール

まず CData Salesforce JDBC Driver もセットアップします。トライアルは以下のURLから入手できます。

www.cdata.com

ダウンロード後、exeファイルを実行し、セットアップを進めます。

インストール完了後、「C:\Program Files\CData」にCData JDBC Driverのフォルダが作成され、JDBCのjarファイルがSalesforceのフォルダのlib配下に作成されます。

UnitBase での JDBC Driver 読み取り設定

インストールが完了したら、UnitBase でこの JDBC Driver が利用できるようにjarファイルを配置します。

Program Filesの「JustSystems\UnitBase\jdbc」のフォルダに、セットアップした「cdata.jdbc.salesforce.jar」と「cdata.jdbc.salesforce.lic」の2つのファイルを配置します。

また、合わせてUnitBase でのRDB接続設定を「JustSystems\UnitBase\tomcat\webapps\teambase\WEB-INF」にある「application.properties」で行います。

PostgreSQLの接続設定をベースとしながら、以下のように CData JDBC Driver の接続設定を追加しましょう。

datasync.rdb.jdbc.displayName.postgresql=Salesforce
datasync.rdb.jdbc.driver.postgresql=cdata.jdbc.salesforce.SalesforceDriver
datasync.rdb.jdbc.initJdbcUrl.postgresql=jdbc:salesforce:jdbc:salesforce:User=myUser;Password=myPassword;Security Token=myToken;

接続URLは「jdbc:salesforce:User=myUser;Password=myPassword;Security Token=myToken;」のように指定して作成します。

Salesforceの接続情報 設定項目 備考
ユーザID User
パスワード Password
セキュリティートーク Security Token 取得方法はこちら

「application.properties」変更後、UnitBaseを再起動すれば、JDBC Driverの設定が反映されます。

UnitBase でRDBの取り込み設定を追加する

それでは実際に CData JDBC Driver を通じて、UnitBase で Salesforce のデータを利用できるように構成してみましょう。

UnitBase にログインし

「ホーム」画面から

「新しいデータベースを作る」に移動します。

ここで、JDBC Driver からのデータ取り込み構成を行います。

任意のデータベース名を入力し「RDBから作成」を選択します。

RDBの種類で先程「application.properties」で設定した接続情報および接続URLを指定します。ユーザー名・パスワードは明示的に利用しませんので、適当な値を入力してかまいません。

入力後「接続」をクリックすると、スキーマ・テーブル・ビューでSalesforceのデータが選べるようになります。

今回は顧客情報となるAccountを取り込んでみましょう。

次の画面に移動すると、UnitBase上のデータベースとのマッピングおよび実際のデータを確認できます。必要に応じて取り込む項目やフィールドの種類を調整します。

また、データ更新時のことを踏まえて、キーフィールドも設定しておくと良いでしょう。

これでデータベースの作成を進めます。合わせて「データ取り込みも実行」しておきましょう。

無事データ取り込みが完了すると、これだけで Salesforce の顧客データおよびそのデータベースのモデリングがUnitBase に取り込まれて、利用できるようになります。

更新スケジュールの追加

なお、UnitBase上のデータは更新スケジュールを追加することで、定期的にSalesforce のデータを元にリフレッシュすることができます。

対象のデータベースの「外部データ連携設定」に移動し

データ更新のための「スケジュールの追加」を行います。

この画面でどの程度の頻度で、どういった差分取得条件でデータを取得、UnitBaseに反映させるのか?を設定できます。

おわりに

このようにCData JDBC Driverを追加するだけで、手軽にUnitBaseの連携先を拡充できます。

CData では Salesforce 以外にもJDBC Driver を多数提供しています。Kintone や HubSpot、Sansanなど様々なデータソースをサポートしているので、是非UnitBaseと合わせて活用したいデータソースと組み合わせて連携してみてください。

www.cdata.com