PowerBuilder で Salesforce OData フィードを利用

Jerod Johnson
Jerod Johnson
Senior Technology Evangelist
この記事では、API Server を使用して PowerBuilder からSalesforce のデータを OData フィードとして利用する方法を説明します。

CData API Server は、PowerBuilder DataWindow で利用できるセキュアなSalesforce のデータフィードを生成します。API Server は、OData、Atom、JSON、HTML、CSV、TSV、RSS などの主要な Web サービスをサポートしています。また、主要な認証スキームと SSL もサポートしています。

この記事では、CData API Server を使用して読み取りと書き込みを実行する DataWindow を作成する方法を説明します。

Salesforce データ連携について

CData を使用すれば、Salesforce のライブデータへのアクセスと統合がこれまでになく簡単になります。お客様は CData の接続機能を以下の目的で利用しています:

  • カスタムエンティティやフィールドにアクセスでき、Salesforce ユーザーは Salesforce のすべてにアクセスできます。
  • アトミックおよびバッチ更新操作を作成できます。
  • Salesforce データの読み取り、書き込み、更新、削除ができます。
  • SOAP API バージョン 30.0 のサポートにより、最新の Salesforce 機能を活用できます。
  • SOQL サポートによる複雑なクエリの Salesforce サーバーへのプッシュダウンにより、パフォーマンスの向上を実現できます。
  • SQL ストアドプロシージャを使用して、ジョブの作成・取得・中止・削除、添付ファイルやドキュメントのアップロード・ダウンロードなどのアクションを実行できます。

ユーザーは、Salesforce データを以下と頻繁に統合しています:

  • 他の ERP、マーケティングオートメーション、HCM など。
  • Power BI、Tableau、Looker などのお気に入りのデータツール。
  • データベースやデータウェアハウス。

CData ソリューションが Salesforce とどのように連携するかについての詳細は、Salesforce 統合ページをご覧ください。


はじめに


API Server のセットアップ

以下の手順に従って、セキュアな Salesforce OData サービスの作成を開始します。

デプロイ

API Server は独自のサーバー上で実行されます。Windows では、スタンドアロンサーバーまたは IIS を使用してデプロイできます。Java サーブレットコンテナでは、API Server WAR ファイルをドロップします。詳細と手順については、ヘルプドキュメントを参照してください。

API Server は、Microsoft AzureAmazon EC2Heroku へのデプロイも簡単です。

Salesforce への接続

API Server をデプロイしたら、API Server 管理コンソールで Settings -> Connections をクリックして新しい接続を追加し、Salesforce に接続するために必要な認証値やその他の接続プロパティを指定します。

Salesforce 接続プロパティの設定方法

埋め込みOAuth(UI でのログイン)による接続設定

それでは、Salesforce への接続について説明していきましょう。最も簡単な方法として、Salesforce にログインする際と同様にUI 上からログインするだけで接続設定が完了します(埋め込みOAuth)。この方法をご利用になる場合は、「Salesforce への接続」をクリックしてください。

標準認証の設定

埋め込みOAuth 以外の方法を利用する場合、以下の3つの認証方式をご利用いただけます。標準的な認証方式では、以下の情報が必要となります。

  • ユーザー名
  • パスワード
  • セキュリティトークン

セキュリティトークンの取得方法については、セキュリティトークン取得手順をご確認ください。

OAuth 認証の設定

ユーザー名とパスワードによる認証がご利用いただけない(避けたい)場合は、OAuth 認証をお使いいただけます。

SSO(シングルサインオン)の設定

最後に、IDプロバイダー経由でのシングルサインオンをご利用になる場合は、以下のプロパティを設定してください。

  • SSOProperties
  • SSOLoginUrl
  • TokenUrl

より詳細な設定手順については、ヘルプドキュメントの「はじめに」セクションをご確認ください。

次に、Settings -> Resources をクリックして、API Server からアクセスを許可する Salesforce エンティティを選択できます。

また、Settings -> Server をクリックし、PowerBuilder との互換性のために以下の設定を変更します:

  • Default Format:メニューから XML (Atom) を選択。
  • Default Version:メニューから 2.0 を選択。

API Server ユーザーの認可

生成する OData サービスを決定したら、Settings -> Users をクリックしてユーザーを認可します。API Server は Authtoken ベースの認証を使用し、主要な認証スキームをサポートしています。アクセスは IP アドレスに基づいて制限することもできます。デフォルトでは、ローカルマシンへの接続のみが許可されています。SSL で認証と接続の暗号化も可能です。

Salesforce 用のプロファイルを作成

以下の手順に従って、Database Painter ツールを使用して API Server の OData API 用のデータベースプロファイルを作成します。Database Painter では、データをグラフィカルに操作したり、SQL クエリを実行したりできます。

  1. Tools -> Database Painter をクリックします。
  2. OData ノードを右クリックし、New Profile をクリックします。
  3. Database Profile Setup ダイアログで、以下を入力します:
    • Profile Name:プロファイルのわかりやすい名前を入力します。
    • URI:API Server の OData エンドポイントへの URL を入力します。この URL は以下のような形式になります:
      http://MyServer:8080/api.rsc
    • Supply User Id and Password:HTTP Basic 認証を使用する場合は、このオプションをクリックします。なお、API Server は Windows 認証もサポートしています。
    • User Id:API Server のユーザー名を入力します。
    • Password:API Server のユーザーの Authtoken を入力します。
  4. テーブルを表示・変更するには、テーブルを右クリックして Edit Data -> Grid をクリックします。

PowerBuilder コントロールで Salesforce のデータ を使用

標準的な PowerBuilder オブジェクトを使用して OData フィードに接続し、クエリを実行できます。以下の例は、Salesforce のデータ を DataWindow に取得する方法を示しています。

open メソッドに以下のコードを追加できます:

SQLCA.DBMS = "ODT"
SQLCA.DBParm = "ConnectString='URI=http://MyServer:8080/api.rsc;UID=MyAPIUser;PWD=MyAuthtoken'";
CONNECT USING SQLCA;
dw_account.SetTransObject(SQLCA);
dw_account.Retrieve();

はじめる準備はできましたか?

詳細はこちら、または無料トライアルにお申し込みください:

CData API Server お問い合わせ