WagbyでCData JDBC Driver for Salesforceを用いてSalesforceデータをシームレスに表示する方法


はじめに

本記事では超高速開発ツールのWagbyを使って、SalesforceのデータをシームレスにWagby上へ表示する方法を解説します。

Wagbyとは

Wagby (ワグビィ) は Web ベースのエンタープライズアプリケーションをノンプログラミングで超高速に開発するツールです。設計情報から業務ルール、画面、データベーススキーマなど、すべてを自動生成します。

詳細設計から単体テストまでの工数を大幅に削減することに加え、実際に動作するシステムを使ってレビューすることで、要件の修正もすぐに反映できるようになります。

完成イメージ

以下のようにSalesforceのContactデータをWagby上へ一覧表示します。

WagbyではSalesforceのAPIを意識する必要なく、シームレスにデータを取得することが可能です。

必要なもの

  1. Wagby 本体
  2. Salesofrceアカウント
  3. CData JDBC Salesforce Dirver

手順

1.CData Salesforce JDBC Driverのダウンロード・インストール

まず、WagbyとSalesforceの連係のために使用するCData Salesforce JDBC Driverのダウンロード・インストールを実施します。

CData Salesforce JDBC Driverは下記URLより30日間試用版が入手できます。

ダウンロード後、ZIPファイルを解凍すると以下のファイルが生成されますので、setup.jarを実行します。

setup.jarの実行後、以下のようにインストールダイアログが表示されるので、案内通りに進めるだけでインストールできます。

2.ドライバーjarファイルおよびlicファイルの配置

続いて、WagbyでCData Salesforce JDBC Driverを利用できるようにするため、Wagbyへライブラリを配置します。

CData Salesforce JDBC Driverインストール後、[C:\Program Files\CData\CData JDBC Driver for Salesforce 2017J\lib]のフォルダに含まれる以下のファイルをWagbyのライブラリフォルダへ配置します。

[cdata.jdbc.salesforce.jar]
[cdata.jdbc.salesforce.lic]

Wagbyへのファイル配置先は、[Wagby-[Version No]\customize\tomcat\lib]です。

以下のように配置されればOKです。

3.データベース設定ファイルの作成

続いてCData DriverをWagbyで使用できるようにするための、データベース設定ファイルをWagby上へ配置します。

以下の内容で[database.txt]というファイルを作成します。


cdata.database_label=CData Salesforce Driver
cdata.database_type=cdata
cdata.driver=cdata.jdbc.salesforce.SalesforceDriver
cdata.url=jdbc:salesforce:User=myUser;Password=myPassword;SecurityToken=myToken;
cdata.quoteid=\"
cdata.quotewhere=
cdata.quoteidinwhere=\"
cdata.quoteidforhibernate=\"
cdata.hibernateDialect=org.hibernate.dialect.DerbyDialect
cdata.maxTablenameLength=128
cdata.maxIndexnameLength=128
cdata.maxColumnnameLength=128
cdata.maxLengthStringDataType=nvarchar(1000)
cdata.characterLargeObjectDataType=NVARCHAR(MAX)
cdata.supportTimeDataType=false
cdata.searchStringEscapeInLike=\\\\
cdata.createSequenceDDL=CREATE SEQUENCE $QUOTEID$SEQNAME$QUOTEID $MINVALUE$MAXVALUESTART WITH $START NO CACHE CYCLE 
cdata.sequenceDML=SELECT NEXT VALUE FOR $QUOTEID$SEQNAME$QUOTEID
cdata.springBatchDDL=batch_sqlserver.ddl
cdata.masterDDL=master_sqlserver2000.ddl
cdata.validationQuery=SELECT 1

作成したファイルは[Wagby-[Version No]\repository\trunkt]へ配置します。

4.サブデータベースの指定

それでは実際にWagbyでSalesforceデータを読み込むための設定を行っていきます。

Wagbyはシステムを構成するための基軸となるデータを保管するためのメインデータベースと外部データを参照するためのサブデータベースで構成されています。CData Driver はこのサブデータベースを利用することで、各データソースからシームレスにデータの参照を実施できます。

デスクトップに配置されたWagby Designer起動をクリックし、Wagby Designerを立ち上げます。

起動後、以下URLにアクセスし、Wagby Designer画面を表示します。

Wagbyデザイナーにログインし、サブデータベースを指定します。

[環境]→[データベース]→[サブ]を選択し、サブデータベースにて以下のプロパティを設定します。

[データベース] ← [CData Salesforce Driver]を選択

[接続URL] ← CDATAドライバー用接続文字列を指定。

Salesforce ドライバーの場合のサンプル

[jdbc:salesforce:User=myUser;Password=myPassword;Security Token=myToken;]

[ユーザ名] ← 使用しませんが、必須項目のため適当な文字列を入力します。

[パスワード] ← 使用しませんが、必須項目のため適当な文字列を入力します。

接続文字列の設定については、以下のヘルプドキュメントにて詳しく解説しています。

5.モデルの作成

続いて、対象サービスと連携するモデルの作成を実施します。

[モデル]→[新規モデル]をクリックします。

モデル作成画面にて、下記の通り値を入力します。

[モデルID]と[項目ID]は対象サービスのテーブル名・カラム名に基づいて指定します。

本資料では、SalesforceのContactテーブルに基づいて、入力しています。

  • モデル名:取引先担当者 | モデルID:Contact
    • 項目名:GUID | 項目ID:Id | 型:文字列
    • 項目名:名 | 項目ID:FirstName | 型:文字列
    • 項目名:姓 | 項目ID:LastName | 型:文字列

※上記項目以外のカラムは削除してください。

上記設定後、一覧表示にも各行でチェックを入れます。

CData Driverはメタデータの生成に対応していないため、Wagbyが自動的に実行するテーブルの作成機能をOFFにする必要があります。

モデル画面から[画面]→[その他]を選択し以下の項目を設定します。

[テーブルを作成する] ← チェックを外します。

[物理テーブル名] ← 上記テーブル名と同じ名称を指定します。

[サブデータベース] ← 手順2で指定したサブデータベースを選択します。

6.ビルドの実行

ビルドを実行し、サブデータベース・モデルの設定値をビルドファイルに反映させます。ビルドはサブデータベースを指定したため、フルビルドで行ってください。

[ビルド]から[フルビルド]を選択し、[ビルド実行]をクリックします。

7.アプリケーションの起動

Wagby Designerの画面に戻り、[アプリケーション起動]をクリックします。

取引先担当者一覧を表示することで、Salesforceからシームレスにデータの取得が可能です。