CData Software Blog

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

PowerBuilder で Salesforce に接続したアプリを作成する:CData Slaesforce ODBC Driver

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

今日は PowerBuilder と CData ODBC Driver を組み合わせたアプリケーションの開発方法を紹介します。

PowerBuiler とは?

PowerBuiler 各ユースケースに合った、さまざまなプラットフォームで稼動する業務アプリケーションを迅速に開発できるアプリケーション統合開発環境です。

www.appeon.com

f:id:sugimomoto:20200212131613p:plain

プログラミング用のIDEよりもビジュアル重視で、ローコードベースでもある程度開発することができ、またDataWindowと呼ばれるRDBなどへのデータアクセスのコンポーネントでスムーズにDBと連携したアプリケーションが開発できます。

f:id:sugimomoto:20200212132923p:plain

実現するシナリオ

この記事ではSalesforceから取得したデータを元にしたシンプルな一覧画面を表示するアプリケーションを作成します。

f:id:sugimomoto:20200212131936p:plain

通常 PowerBuilder は Salesforceへの接続コンポーネントを提供していないため、ScriptベースでRESTやSOAP APIを実行し、データを取得する必要がありますが、CData Salesforce ODBC Driverを利用することで、シームレスにSalesforceへの接続を実現できます。

必要なもの

  • PowerBuilder
  • Salesforce アカウント(こちら で開発者ライセンスの取得方法を解説しています。)

実施手順

それでは実施手順を解説していきます。

Salesforce ODBC Driverのセットアップ

まず最初にPowerBuilderがSalesforceへシームレスに接続するためのODBC Driverをインストールします。

以下のURLから CData Salesforce ODBC Driver のトライアル版がダウンロードできるので、予めダウンロード・セットアップをしておきましょう。

https://www.cdata.com/jp/drivers/salesforce/odbc/

f:id:sugimomoto:20200212131632p:plain

セットアップ後、以下のようなSalesforce ODBC の接続設定画面が表示されるので、API接続のために利用する User・Password・Security Tokenの情報を入力します。

f:id:sugimomoto:20200212131640p:plain

入力後「接続のテスト」をクリックし、接続が成功すれば設定は完了です。

アプリケーションの作成

それでは PowerBuilderを立ち上げてアプリケーションの作成を進めていきましょう。

まず右上のNewボタンをクリックし

f:id:sugimomoto:20200212131646p:plain

Targetタブから「Application」を選択してOKをクリックします。

f:id:sugimomoto:20200212131652p:plain

任意のApplicationNameを入力した上で「Finish」を選択すればOKです。

f:id:sugimomoto:20200212131657p:plain

これでベースとなるアプリケーションができました。

ODBC データ接続の構成

次にODBC接続のコネクションを構成します。

先程と同じように「New」ボタンをクリックし

f:id:sugimomoto:20200212131704p:plain

今後は「Database」のタブから「Database Painter」を選択して「OK」をクリックします。

f:id:sugimomoto:20200212131709p:plain

以下のようなRDB接続の一覧が表示されるので、ODB ODBCから右クリックで「New Profile」を選択

f:id:sugimomoto:20200212131714p:plain

任意のProfile Nameを入力の上、先程構成したSalesfofce ODBC DSNを選択。

SalesforceのUserID・Passwordを入力します。

f:id:sugimomoto:20200212131719p:plain

最終的な接続には「Preview」タブにある「Database Connection Syntax」を利用するので、これを控えておきます。その後、Test Connectionをクリックし、接続に問題が無ければ「OK」をクリックして設定を保存します。

f:id:sugimomoto:20200212131725p:plain

また、メインのConnectionを作成したProfileに切り替えておきます。以下のように緑のチェックマークが出ていない場合は、右クリックメニューから「Connect」を選択しておきます。

f:id:sugimomoto:20200212131733p:plain

DataWindowの作成

Salesforceへの接続構成が完了したので、画面を作成していきましょう。

先程と同様に「New」をクリックし

f:id:sugimomoto:20200212131738p:plain

今度は「DataWindow」タブから「Tabular」を選択して「OK」をクリックします。

f:id:sugimomoto:20200212131743p:plain

今回は単純な一覧を表示したいので、「Quick Select」を選択して、次に進めます。

f:id:sugimomoto:20200212131748p:plain

事前に設定したODBC 接続に従って、テーブル一覧が表示されるので、顧客情報が取得できる「salesforce.account」を選択し

f:id:sugimomoto:20200212131755p:plain

右側に表示されたカラムの一覧から必要なカラムを選択の上、「OK」をクリックします。

f:id:sugimomoto:20200212131800p:plain

カラー設定はデフォルトのままで次へ進みます。

f:id:sugimomoto:20200212131806p:plain

あとは「Finish」をクリックすれば、完了です。

f:id:sugimomoto:20200212131812p:plain

以下のように一覧を表示するためのパーツが完成し、プレビューには実際にSalesforceから取得したデータの一覧が表示されていることが確認できます。

f:id:sugimomoto:20200212131818p:plain

あとは保存ボタンをクリックして、DataWindowを保存すればOKです。

f:id:sugimomoto:20200212131827p:plain

Windowsの作成

一覧表示パーツとなるDataWindowが作成できたので、そのパーツを埋め込むための画面を構成します。

「New」をクリックし

f:id:sugimomoto:20200212131838p:plain

「PB Object」の一覧から「Window」を選択し「OK」をクリックします。

f:id:sugimomoto:20200212131843p:plain

「Insert」からDataWindowコントロールを選択し、画面に配置します。

f:id:sugimomoto:20200212131848p:plain

画面に配置したら先程作成したDataWindowと紐付けるためにプロパティから「DataObject」を選択し

f:id:sugimomoto:20200212131855p:plain

「salesforceaccount」を選択します。

f:id:sugimomoto:20200212131904p:plain

最後にOpen時に実行されるスクリプトで、予め取得しておいた接続用スクリプトとConnect処理を記述すれば、DataWindowが表示されるようになります。

// Profile CDataSalesforce
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "ConnectString='DSN=CData Salesforce Source;UID=XXXXX@cdata.com;PWD=<******>'"

CONNECT;
dw_1.SetTransObject( SQLCA )
dw_1.Retrieve()

f:id:sugimomoto:20200212131911p:plain

あとはWindowを保存して設定完了です。

f:id:sugimomoto:20200212131918p:plain

起動ウィンドウを指定

最後にアプリケーション実行時に先程作成されたWindowが表示されうように以下のスクリプトを設定しておきます。

f:id:sugimomoto:20200212131924p:plain

実行

それでは実際にアプリケーションを立ち上げてみます。以下の「Run」ボタンをクリックするだけでOKです。

f:id:sugimomoto:20200212131930p:plain

「Run」をクリックするとアプリケーションが立ち上がり、DataWindowが呼び出されて、Salesforceの一覧が表示されます。

このようにSalesforceAPIスクリプトなどで記述することなく、PowerBuilderで扱うことができました。

f:id:sugimomoto:20200212131936p:plain

おわりに

とても手軽に PowerBuilder で Salesforce のデータを扱えることがイメージできたのではないかと思います。

CData では Salesforce 以外にも数多くの ODBC Driver を提供しています。

kintone や Sansan といった日本のクラウドサービスにも対応しているので、是非お好みのデータソースで試してみてください。

https://www.cdata.com/jp/odbc/

f:id:sugimomoto:20200116122333p:plain