各製品の資料を入手。
詳細はこちら →ローコードアプリ開発プラットフォームOutSystems でSQL Analysis Services 連携アプリを作成
CData Connect Server を使ってSQL Analysis Services のデータの仮想OData API エンドポイントを作成して、OutSystems からSQL Analysis Services のデータを使ったアプリを作成する方法。
最終更新日:2021-09-27
こんにちは!リードエンジニアの杉本です。
OutSystemsは、アプリケーションをUI 上で開発できるローコード開発プラットフォームです。この記事では、CData Connect Server を経由して OutSystems からSQL Analysis Services に連携するアプリを作成する方法を説明します。
CData Connect Server は、SQL Analysis Services のデータのクラウド to クラウドの仮想OData インターフェースを提供し、OutSystems からリアルタイムにSQL Analysis Services のデータへ連携することができます。さらに、CData Connect Server は OpenAPI の定義ファイルを取得できるため、OutSystems で自動的にREST API Method を定義してスムーズにアプリ開発を行うことができます。
SQL Analysis Services の仮想OData API エンドポイントを作成
まずCData Connect Server でデータソースへの接続およびOData API エンドポイント作成を行います。
- CData Connect Server にログインして、Databases をクリックします。
- 利用できるデータソースアイコンから"SQL Analysis Services" を選択します。
-
SQL Analysis Services に接続するために必要なプロパティを入力します。
接続するには、Url プロパティを有効なSQL Server Analysis Services エンドポイントに設定して認証を提供します。XMLA アクセスを使用して、HTTP 経由でホストされているSQL Server Analysis Services インスタンスに接続できます。 Microsoft ドキュメント configure HTTP access を参照してSQL Server Analysis Services に接続してください。
SQL をSQL Server Analysis Services に実行するには、ヘルプドキュメントの「Analysis Services データの取得」を参照してください。接続ごとにメタデータを取得する代わりに、CacheLocation を設定できます。
-
HTTP 認証
AuthScheme を"Basic" または"Digest" に設定してUser とPassword を設定します。CustomHeaders に他の認証値を指定します。
-
Windows (NTLM)
Windows のUser とPassword を設定して、AuthScheme をNTLM に設定します。
-
Kerberos およびKerberos Delegation
Kerberos を認証するには、AuthScheme をNEGOTIATE に設定します。Kerberos 委任を使うには、AuthScheme をKERBEROSDELEGATION に設定します。必要があれば、User、Password およびKerberosSPN を設定します。デフォルトでは、CData 製品は指定されたUrl でSPN と通信しようと試みます。
-
SSL/TLS:
デフォルトでは、CData 製品はサーバーの証明書をシステムの信頼できる証明書ストアと照合してSSL/TLS のネゴシエーションを試みます。別の証明書を指定するには、利用可能なフォーマットについてヘルプドキュメントの「SSLServerCert」プロパティを参照してください。
接続を設定したら、その後はあらゆるキューブを二次元テーブルとして扱うことができます。データに接続する際にCData 製品がSSAS のメタデータを取得して、動的にテーブルスキーマを更新します。 「CacheLocation」プロパティを設定すれば自動でファイルにキャッシュを作成するので、接続時に毎回メタデータを取得する必要もなくなります。
詳細は、ヘルプドキュメントの「Retrieving Analysis Services Data」を参照してください。
-
HTTP 認証
- Test Database をクリックします。
- Permission -> Add をクリックして、新しいユーザーを追加し、適切な権限を指定します。
- API タブをクリックして OData API エンドポイントが生成されていることを確認します。
- 併せて OutSystemsにAPIリクエストの仕様を取り込むためにAPI タブにある「Open API」のファイルを以下から保存しておきましょう。

OutSystems にCData Connect Server のコネクションを追加
続いてCData Connect Server への接続をOutSystems に追加します。OutSystems では RESTインターフェースを用いてCData Connect Server に接続します。
- 「Logic」タブから「Integrations」→「REST」を右クリックし「Consume REST API…」を選択します。ここから外部のREST APIのメソッドをコールする処理・Logic を登録できます。
- 今回は先程取得したOpen API Spec の情報を元に Logic を登録するので「ADD MULTIPLE METHODS」を選択し
- 保存したOpen API Spec のファイルを「UPLOAD FILE」から選んで「ADD METHODS」をクリックして登録します。
- すると以下のようにOpen API Spec のファイルを元に、メソッド一覧が出てくるので任意のメソッドを選択して「FINISH」をクリックします。
- これで CData Connect Server へのLogic を登録できました。
- Logic の登録が完了すると、併せて Data のタブのStructures にデータモデルが登録されます。
- なお、これだけでは認証が通らないので、先程 CData Connect Server で登録したユーザーのID とToken をBasic Authentication のUsername とPassword に登録しましょう。







一覧画面を作成
それでは実際に CData Connect Server と連携した画面を作成していきましょう。
- 「Interface」タブに移動して「Add Screen」をクリックします。
- Screenのテンプレートは「Empty」で進めます。
- Screenを登録したら、登録した対象のScreenから右クリックで「Fetch Data from Other Source」を選択します。これを先程登録したCData Connect Server の Logic と紐付けて、画面上からAPIをコールしてデータを表示します。
- まず、利用するData Type を関連付けましょう。Out1のパラメータを選択して「Data Type」から CData Connect Server のAPI から生成されている Structures にあった一覧画面を取得するメソッドのレスポンスにあたるデータモデルを関連付けます。
- そして、「Fetch Data from Other Source」のフローにCData Connect Server から全データを取得するメソッドをドラッグアンドドロップで配置します。
- 取得したレスポンスは「Assign」機能を使って、Out1のパラメータに格納します。
- これでデータ取得周りの処理が完成です。あとはUI 部品として「Table」をScreen 上に配置し
- Out1で定義したレスポンスデータモデルをドラッグ・アンド・ドロップで配置します。
- 「Sort Attribute」にある「value.」の部分は不要なので消してしまいましょう。
- これだけで、CData Connect Server と連携した画面が作成できました。それでは画面中央上にある「Publish」ボタンをクリックして、動かしてみましょう。
- 正常に起動すると、以下のような画面がブラウザで表示するので、登録したアカウントでログインします。
- 一覧画面が表示されて、以下のようにCData Connect Server 経由で取得したSQL Analysis Services のデータがきれいに表示されました。












クラウドアプリケーションからSQL Analysis Services のデータにOData API アクセスを実現
このように、CData Connect Serverを経由することで、API 側の複雑な仕様を意識せずにAPI 連携をしたアプリをOutSystems で開発できます。他にも多くのSaaS に対応するCData Connect Server の詳細をこちらからご覧ください。