製品をチェック

製品の詳細・30日間の無償トライアルはこちら

CData API Server

SQL Analysis Services データをノーコードモバイル開発のAppSheet で利用する方法

ノーコードでモバイルアプリ開発ができるAppSheet から SQL Analysis Services データ に接続する方法

宮本航太
プロダクトスペシャリスト

最終更新日:2022-05-18

こんにちは!プロダクトスペシャリストの宮本です。

AppSheet は、インテリジェントなノーコードでのモバイルアプリケーションプラットフォームです。AppSheet では、データベースや OData への接続ができるため、CData の製品を組み合わせることで対応データソースを増やすことができます。この記事では CData API Server と ADO.NET Provider for SSAS を使って、AppSheet でSQL Analysis Services データ にデータ連携するモバイルアプリを開発する方法を説明します。

API Server の設定

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

デプロイ

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

SQL Analysis Services データへの接続

PI Server の管理コンソールで[設定]→[接続]から新しい接続を追加してSQL Analysis Services を追加します。SQL Analysis Services のアイコンがデフォルトのAPI Server の接続先にない場合には、API Server がJava 版の場合はJDBC Drivers、API Server がWindows 版の場合はADO.NET Data ProvidersからSQL Analysis Services ドライバーをAPI Server と同じマシンにインストールして、API Server を再起動します。

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」を参照してください。

接続のテストを行い、接続を確認して、設定を保存します。

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

API Server のユーザー設定

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

オンプレミスDB やファイルからのAPI Server 使用

オンプレミスRDB やExcel/CSV などのファイルのデータを使用する場合には、API Server のCloug Gateway / SSH ポートフォワーディングが便利です。是非、Cloud Gatway の設定方法 記事を参考にしてください。

AppSheet でSQL Analysis Services のOData サービスに登録

AppSheet から APIServer への接続設定をしていきます。

  1. My account」から「Sources」タブをクリックします。
  2. AppSheet
  3. 一番下まで下がると「+Data Source」がありますのでクリックします。
  4. AppSheet
  5. AppSheet の対応データソースです。今回はOData を使います。
  6. AppSheet
  7. APIServer への接続情報を入力します。
    AppSheet
    • OData Version: 4.0
    • OData Service Root URL: API Server の以下のURL をセット
    • AppSheet
    • Username: API Server で作成したユーザー名
    • Password: API Server のアクセストークン
    • SAP Gateway: Is not SAP Gateway
    • Require Cross-Site Request Forgery(CSRF) Token: CSRD required
  8. 入力が完了したら、接続テストを行い、「Authorize Access」をクリックして保存します。

AppSheet でのSQL Analysis Services データ 連携モバイルアプリ作成

  • MyAppsタブから、「New app」をクリックします。
  • AppSheet
  • 「Start with your own data」を選択します。
  • AppSheet
  • アプリ名を設定します。入力後、「Next step: choose your data」をクリックします。
  • AppSheet
  • 先ほど作成したものも含めて接続先が表示されます。私は事前に APIServer という名前に変更していましたが、変更していなければ odata-1 などの名前で表示されていると思います。
  • AppSheet
  • ここでは APIServer で公開設定したテーブルだけが表示されます。モバイルアプリで使用するテーブルを選択します。
  • AppSheet
  • テーブル選択を行うとアプリ作成画面が表示されます。選択したデータソースをもとに自動的に右側にアプリが作成されます。
  • AppSheet

このように SQL Analysis Services 内のデータを簡単にAppSheet で作成するモバイルアプリで使用することができるようになります。

CData API Server の無償版およびトライアル

CData API Server は、無償版および30日の無償トライアルがあります。是非、API Server ページ から製品をダウンロードしてお試しください。

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。