こんにちは。CData リードエンジニアの杉本です。
今日は PowerBuilder と CData ODBC Driver を組み合わせたアプリケーションの開発方法を紹介します。
PowerBuiler とは?
PowerBuiler 各ユースケースに合った、さまざまなプラットフォームで稼動する業務アプリケーションを迅速に開発できるアプリケーション統合開発環境です。
プログラミング用のIDEよりもビジュアル重視で、ローコードベースでもある程度開発することができ、またDataWindowと呼ばれるRDBなどへのデータアクセスのコンポーネントでスムーズにDBと連携したアプリケーションが開発できます。
実現するシナリオ
この記事ではSalesforceから取得したデータを元にしたシンプルな一覧画面を表示するアプリケーションを作成します。
通常 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/
セットアップ後、以下のようなSalesforce ODBC の接続設定画面が表示されるので、API接続のために利用する User・Password・Security Tokenの情報を入力します。
入力後「接続のテスト」をクリックし、接続が成功すれば設定は完了です。
アプリケーションの作成
それでは PowerBuilderを立ち上げてアプリケーションの作成を進めていきましょう。
まず右上のNewボタンをクリックし
Targetタブから「Application」を選択してOKをクリックします。
任意のApplicationNameを入力した上で「Finish」を選択すればOKです。
これでベースとなるアプリケーションができました。
ODBC データ接続の構成
次にODBC接続のコネクションを構成します。
先程と同じように「New」ボタンをクリックし
今後は「Database」のタブから「Database Painter」を選択して「OK」をクリックします。
以下のようなRDB接続の一覧が表示されるので、ODB ODBCから右クリックで「New Profile」を選択
任意のProfile Nameを入力の上、先程構成したSalesfofce ODBC DSNを選択。
SalesforceのUserID・Passwordを入力します。
最終的な接続には「Preview」タブにある「Database Connection Syntax」を利用するので、これを控えておきます。その後、Test Connectionをクリックし、接続に問題が無ければ「OK」をクリックして設定を保存します。
また、メインのConnectionを作成したProfileに切り替えておきます。以下のように緑のチェックマークが出ていない場合は、右クリックメニューから「Connect」を選択しておきます。
DataWindowの作成
Salesforceへの接続構成が完了したので、画面を作成していきましょう。
先程と同様に「New」をクリックし
今度は「DataWindow」タブから「Tabular」を選択して「OK」をクリックします。
今回は単純な一覧を表示したいので、「Quick Select」を選択して、次に進めます。
事前に設定したODBC 接続に従って、テーブル一覧が表示されるので、顧客情報が取得できる「salesforce.account」を選択し
右側に表示されたカラムの一覧から必要なカラムを選択の上、「OK」をクリックします。
カラー設定はデフォルトのままで次へ進みます。
あとは「Finish」をクリックすれば、完了です。
以下のように一覧を表示するためのパーツが完成し、プレビューには実際にSalesforceから取得したデータの一覧が表示されていることが確認できます。
あとは保存ボタンをクリックして、DataWindowを保存すればOKです。
Windowsの作成
一覧表示パーツとなるDataWindowが作成できたので、そのパーツを埋め込むための画面を構成します。
「New」をクリックし
「PB Object」の一覧から「Window」を選択し「OK」をクリックします。
「Insert」からDataWindowコントロールを選択し、画面に配置します。
画面に配置したら先程作成したDataWindowと紐付けるためにプロパティから「DataObject」を選択し
「salesforceaccount」を選択します。
最後に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()
あとはWindowを保存して設定完了です。
起動ウィンドウを指定
最後にアプリケーション実行時に先程作成されたWindowが表示されうように以下のスクリプトを設定しておきます。
実行
それでは実際にアプリケーションを立ち上げてみます。以下の「Run」ボタンをクリックするだけでOKです。
「Run」をクリックするとアプリケーションが立ち上がり、DataWindowが呼び出されて、Salesforceの一覧が表示されます。
このようにSalesforceのAPIをスクリプトなどで記述することなく、PowerBuilderで扱うことができました。
おわりに
とても手軽に PowerBuilder で Salesforce のデータを扱えることがイメージできたのではないかと思います。
CData では Salesforce 以外にも数多くの ODBC Driver を提供しています。
kintone や Sansan といった日本のクラウドサービスにも対応しているので、是非お好みのデータソースで試してみてください。
https://www.cdata.com/jp/odbc/