こんにちは。CData Software Japan の色川です。
CData Arc で様々なデータソースから連携・統合したデータセットをWeb API として公開したいケースを相談頂くことがあります。CData Arc の「API コネクタ」は、そのような時に活用できる機能です。この記事では、CData Arc の「API コネクタ」についてご紹介します。
CData Arc とは
CData Arc は、CData 製品の中で「自動化/Automate」を担うデータ連携ツールです。「B2B 連携をもっとシンプルに」をコンセプトに、ファイル連携 & DB 連携 & API 連携といったB2B 連携に必要なすべてをノーコード・ローコードでつなぐことができるプラットフォームです。
CDat Arc のAPI コネクタ
CDat Arc のAPI コネクタは、API コネクタで接続するデータベースのテーブルやビュー、ストアド プロシージャなどのオブジェクトをWeb API として公開することができるコネクタです。CData 製品群をご存じの方は「CData API Server のサブセット」と考えて頂くとイメージしやすいかも知れません。
https://www.cdata.com/jp/apiserver/
今回ご紹介する「API コネクタ」はリクエストを受け付ける側(Server 側)の機能です。
対応するデータソース
API コネクタでは以下のようなデータベースやサービス、ファイルに対応しています。対応データソースについて詳しくはこちらのヘルプトピックを参考にしてください。
https://cdn.cdata.com/help/AZJ/jp/mft/API-EstabConn.html
Azure Data Lake Storage |
DB2 |
Excel |
MySQL |
Oracle |
PostgreSQL |
SQL Server |
SQLite |
上記以外のデータソースに接続してWeb API を公開したい場合には、CData API Server をご利用ください。
https://www.cdata.com/jp/apiserver/
この記事のシナリオ
CData Arc のAPI コネクタは、CData API Server 同様に、OpenAPI 標準(Swagger)に準拠したAPI を生成できますので、様々なツールやテクノロジから簡単にアクセスすることができます。その中でも「Salesforce Connect から外部オブジェクトとしてのアクセスするためにAPI コネクタを利用」頂くのは人気の高いシナリオの1つです。
この記事では「API コネクタの基本的な使い方」と「API コネクタで生成したエンドポイントをSalesforce Connect の外部オブジェクトとして設定する手順」をご紹介します。
環境の準備
CData Arc のAPI コネクタ自体はネットワーク構成を問わず利用することができますが、Salesforce Connect の外部オブジェクトとして設定するためには、Salesforce から(インターネットから)アクセス可能で、適切なサーバー証明書を利用した TLS/SSL 接続で構成されている必要があります。
この記事では、Arc 自体はオンプレミスに配置しつつ、この構成条件を成立するように、CData Arc のCloud Gateway を利用しました。CData Arc のCloud Gateway については、こちらの記事を参考にしてください。もちろん、Salesforce から(インターネットから)アクセスできるように(AMI などを含め)IaaS 環境にArc を導入してTLS/SSL 接続を構成する形でも構いません。
https://www.cdata.com/jp/blog/cdataarc-feature-cloudgateway
API コネクタで公開するデータソースには、SQL Server 上に用意した pubs サンプルデータベースを利用しました。
シナリオイメージとしては「様々なクラウドデータソースや、基幹システムを筆頭とした業務アプリケーション、ファイルベースのデータストアなどからOracle やSQL Server に連携・統合したデータセットを、API コネクタでSalesforce Connect から利用可能にする」、そんな形で考えて頂けると思います。
API コネクタの基本的な使い方
ここからは、API コネクタの基本的な使い方を紹介していきます。API コネクタは直感的に構成できる機能性を持ちながら、スキーマ定義のカスタマイズ等も可能な応用力も高い強力なコネクタです。API コネクタの詳細についてはこちらのヘルプトピックを参照してください。
https://cdn.cdata.com/help/AZJ/jp/mft/API.html
API コネクタの設定
コアカテゴリからAPI コネクタを選択して配置します。
配置すると、Web コンソールを表示するコンテキストとコネクタId に沿った「API エンドポイント」が自動的に生成されます。
API コネクタで公開する(API 生成する)データソースを「接続」で指定します。この記事では、SQL Server のpubs データベースを指定します。
接続テストで「Success!」となればデータソースへの接続は成功です。
次に「リソース」で「API で公開するオブジェクト」を指定します。「リソースを追加」で「employee」テーブルを選択します。リソース名や許可するオペレーションはデフォルトで構成しています。
次に「ユーザー」で「API エンドポイントへの権限(認証)」を構成します。「+ 追加」でAPI エンドポイントへアクセスを許可するユーザー(Salesforce Connect からの接続で利用するユーザー)を構成します。「ユーザー」と発行される「認証トークン」はSalesforce Connect 側の構成で指定しますので、控えておいてください。ユーザーの権限やリクエスト上限なども構成できますが、ここではデフォルトで構成しています。
最後に「サーバー」で、API エンドポイントへのアクセスを許可する「信頼されたIP アドレス」を指定します。この記事では簡易的にすべてのIP アドレスを許可していますが、Salesforce Connect から接続する場合は、Salesforce Platform 側が利用するIP レンジを指定するのが良いでしょう。
これで、API コネクタの設定は完了です。
API コネクタで生成したWeb API へアクセス
API エンドポイントにアクセスすると、pubs データベースのemployee テーブルの情報が取得できることが確認出来ました。
Salesforce Connect の外部オブジェクトとして構成
ここまでで用意したAPI エンドポイントを、Salesforce の外部データソースとして接続し、外部オブジェクトとして構成してみます。
ここからの流れは、こちらの記事でも詳しくご紹介しています。あわせて参考にしてください。
Salesforce Connectの外部オブジェクトからCData Connect Serverを利用して自社データベースに接続 | CData Software Blog
「外部データソース」の設定から「新規外部データソース」を作成します。
種別は「Salesforce Connect: OData 4.0」に。URL はAPI エンドポイントを指定します。API エンドポイントへの認証プロトコルには「パスワード認証」を選択し、管理者ユーザー名とパスワードに先ほど控えておいた「ユーザー」と「認証トークン」を指定します。
外部データソースを作成できたら「検証して同期」します。employee(pubs_dbo_employee)が外部オブジェクトとして構成できました。
外部システムの認証設定を施した上で、外部オブジェクトとして構成したemployee(pubs_dbo_employee)のデータを参照してみます。
期待通り、API コネクタで生成したエンドポイントを通じて、任意のデータベースオブジェクトをSalesforce Connect の外部オブジェクトとして構成できました。
まとめ
この記事では、CData Arc の「API コネクタ」についてご紹介しました。
CData Arc のフローでSQL Server やOracle などRDBMS へ連携・統合したデータセットをWeb API として公開したいようなケースでは、ぜひAPI コネクタの活用を検討してみてください。Arc は「リクエストを受け付ける側(Server 側)としての連携機能」も強力です。
CData Arc はシンプルで拡張性の高いコアフレームワークに、豊富なMFT・EDI・エンタープライズコネクタを備えたパワフルな製品です。CData Drivers との組み合わせで270を超えるアプリケーションへの連携を実現できます。
皆さんのつなぎたいシナリオでぜひ CData Arc を試してみてください。
製品を試していただく中で何かご不明な点があれば、テクニカルサポートへお気軽にお問い合わせください。
この記事では CData Arc™ 2023 - 23.4.8801.0 を利用しています。
関連コンテンツ