はじめに
本記事では超高速開発ツールのWagbyを使って、SalesforceのデータをシームレスにWagby上へ表示する方法を解説します。
Wagbyとは
Wagby (ワグビィ) は Web ベースのエンタープライズアプリケーションをノンプログラミングで超高速に開発するツールです。設計情報から業務ルール、画面、データベーススキーマなど、すべてを自動生成します。
詳細設計から単体テストまでの工数を大幅に削減することに加え、実際に動作するシステムを使ってレビューすることで、要件の修正もすぐに反映できるようになります。
完成イメージ
以下のようにSalesforceのContactデータをWagby上へ一覧表示します。
WagbyではSalesforceのAPIを意識する必要なく、シームレスにデータを取得することが可能です。
必要なもの
- Wagby 本体
- Salesofrceアカウント
- 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からシームレスにデータの取得が可能です。