SQL Server 外部オブジェクトをSalesforce に設定して利用

API Server を使ってSQL Server data のOData サービスを作成し、クラウドアプリケーションからのアクセスを可能にします。Salesforce からSQL Server data のOData サービスを外部オブジェクトとして設定して利用します。

CData API Server はSQL Server data (および 200+ の他のクラウドデータソース)をOData API 化し、Salesforce の画面やSalesforce1 のようなモバイルアプリケーションでの利用を実現します。 この記事では、API Server によりSQL Server データを外部オブジェクトとしてSalesforce Connect に設定して、Salesforce の標準オブジェクトと同感覚で使用する方法を説明します。

API Server の設定

次のステップに従い、セキュアなSQL Server OData サービスを立ち上げます:

デプロイ

API Server はサーバー上で稼働します。Windows 版は、製品に組み込まれているスタンドアロンのサーバーかIIS に配置して稼働させることができます。Java 版では、Java servlet コンテナにAPI Server のWAR ファイルを配置します。 デプロイの詳細は製品ヘルプを参照してください。API Server をAzure、Amazon EC2、Heroku にデプロイする方法はKB に記事があります。

SQL Server への接続

サーバーへのデプロイ後に、API Server の管理コンソールで[設定]→[接続]から新しい接続を追加してSQL Server を追加します。 SQL Server への接続に必要な認証情報を入力します。接続のテストを行い、接続を確認して、設定を保存します。

Connecting to Microsoft SQL Server

Connect to Microsoft SQL Server using the following properties:

  • Server: The name of the server running SQL Server.
  • User: The username provided for authentication with SQL Server.
  • Password: The password associated with the authenticating user.
  • Database: The name of the SQL Server database.

Connecting to Azure SQL Server and Azure Data Warehouse

You can authenticate to Azure SQL Server or Azure Data Warehouse by setting the following connection properties:

  • Server: The server running Azure. You can find this by logging into the Azure portal and navigating to "SQL databases" (or "SQL data warehouses") -> "Select your database" -> "Overview" -> "Server name."
  • User: The name of the user authenticating to Azure.
  • Password: The password associated with the authenticating user.
  • Database: The name of the database, as seen in the Azure portal on the SQL databases (or SQL warehouses) page.

接続を確立後、[設定]→[リソース]の画面でSQL Server からOData API として公開するエンティティを選択します。

API Server のユーザー設定

[設定]→[ユーザー]からAPI にアクセスできるユーザーの認証設定を行います。API Server はトークンでの認証を行うことができます。 IP アドレスでAPI へのアクセスを制限することも可能です。デフォルトではローカルマシンからのアクセスのみが許可されています。SSL の設定も可能です。

SQL Server Data にOData サービスとしてアクセス

次のステップでAPI Server で生成されたOData フィードを接続します。

  1. Salsforce にログインし、[設定]→[開発]→[外部システムへの接続を管理する]をクリックします。
  2. [新規外部データソース]をクリックします。
  3. Enter values for the following properties:
    • 外部データソース: Salesforce ユーザインターフェースに表示する表示ラベル
    • 名前: 一意の識別子
    • 種別: "Salesforce Connect: OData 4.0" を選択。
    • URL: API Server のOData エンドポイントのURL を設定します。フォーマットは、https://your-server:your-port.rsc.

      です。

      プレーンテキストはテストのみに使用し、本番ではTSL の仕様を推奨します。

  4. [書き込み可能外部オブジェクト]オプションにクリックを入れます。
  5. 形式メニューでは、JSON を選択します。

  6. 認証セクションで、次のプロパティを設定します:
    • ID 種別: 組織のすべてのメンバーが同じ認証情報でAPI Server にアクセスする場合には[指定ユーザー]を指定します。組織のメンバーがそれぞれの認証情報を使う場合には[ユーザ]を指定します。
    • 認証プロトコル: ベーシック認証には、[パスワード認証]を選択します。
    • 証明書: Salesforce からサーバーへの通信を暗号化し認証するには証明書を指定します。
    • ユーザ名: API Server に登録されたユーザー名。
    • パスワード: ユーザーのAuth トークン。

SQL Server オブジェクトの同期

外部オブジェクトを作成したら、次のステップでSQL Server 外部オブジェクトのデータソース側の変更を反映させます。 SQL Server テーブルの定義とSQL Server 外部オブジェクトの定義を同期する必要があります。

  1. 作成した外部オブジェクトをクリックします。
  2. [検証して同期]をクリックします。
  3. 外部オブジェクトとして作業するSQL Server テーブルを選択し、[同期]します。

Salesforce オブジェクトとしてSQL Server Data にアクセス

SQL Server data を外部オブジェクトとして設定したので、Salesforce 標準オブジェクトと同じようにアクセスが可能になりました。

  • フィルタリストビューで新しいタブを作成:

  • SQL Server 外部オブジェクトの関連テーブルを標準セールスフォースオブジェクトのように表示する:

  • Salesforce dashboard からSQL Server データをCRUD できます:

トラブルシューティング

以下によく質問がある接続の問題についてリストします:

  • サーバーがインターネットにつながるIP アドレスを有していること。アプリケーションレイヤーでそのIP アドレスからのアクセスが許可されていること。

    API Server をホスティングしているサーバーがTLS 1.1 以上を使っていること。Windows 版のAPI Server の組み込みサーバーはこれに準拠しています。

    IIS の場合には、TLS 1.1 および1.2 がサポートされていますが、デフォルトでは有効化されていません。 これらのプロトコルを有効化するにはhow-to on MSDN および Microsoft technical referenceを参照してください。

    Java 版の場合、Java 8では、TLS 1.2 がデフォルトでサポートされていますが、Java 6、7 ではサポートされていません。 もしJava 7以前のベージョンを利用している場合、 this Oracle how-to を参照してください。

 
 
ダウンロード