Monaca アプリで使えるSQL Analysis Services データ連携用のバックエンドAPI をノーコードで開発

ハイブリッドアプリ開発プラットフォームMonaca から SQL Analysis Services データに接続するためのバックエンドAPI サーバーをCData API Server で構築

CData API Server と ADO.NET Provider for SQL Analysis Services を使って、Monaca ハイブリッドアプリ開発プラットフォーム(https://ja.monaca.io/) から SQL Analysis Services に接続してデータを取得する方法を説明します。

API Server の設定

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

デプロイ

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

SQL Analysis Services への接続

API 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 tを参照して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 を設定します。デフォルトでは、本製品は指定されたUrl でSPN と通信しようと試みます。

  • SSL/TLS:

    デフォルトでは、本製品はサーバーの証明書をシステムの信頼できる証明書ストアと照合してSSL/TLS のネゴシエーションを試みます。別の証明書を指定するには、利用可能なフォーマットについてSSLServerCert プロパティを参照してください。

You can then access any cube as a relational table: When you connect the data provider retrieves SSAS metadata and dynamically updates the table schemas. Instead of retrieving metadata every connection, you can set the CacheLocation property to automatically cache to a simple file-based store.

See the Getting Started section of the CData documentation, under Retrieving Analysis Services Data, to execute SQL-92 queries to the cubes.

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

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

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

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

    Monaca で作成したモバイルアプリでの SQL Analysis Services データ取得

    Monacaではクラウド上にあるIDEが用意されていますので、まずはアカウント作成します。そこからCData API Server のデータをMonaca アプリ使う設定を作成していきます。

    1. ブラウザより Monaca のダッシュボードを開き、「新しいプロジェクトを作る」をクリックします。
    2. まずはテンプレートの種類は、フレームワークテンプレートを選択します。
    3. 今回は JavaScript を選択します。
    4. テンプレートは「Onsen UI V2 JS Navigation」を選択します。テンプレの画面構成は、「Push page」ボタンをクリックすると、画面遷移するものとなっています。
    5. 任意のプロジェクト名を設定し、「作成」ボタンをクリックします。
    6. 作成したプロジェクトを選択した状態で、「クラウドIDEで開く」をクリックします。
    7. 検索ボタンがクリックされたら、先ほど作成した API を Ajax で呼び出すようにしています。

      API Server で作成したエンドポイントをURL に設定し、ヘッダーにAPI Server のアクセストークンを設定します。
    8. レスポンスが返ってきた後、処理が成功していればリストにname だけを1データずつ加えています。

    デバッグ実行してみる

    Monaca でデバッグを行う際は、Monacaデバッガーアプリを実機にインストールすることで、MonacaのクラウドIDE と実機で動かしているMonacaデバッガーアプリが連動するようです。そのため、いちいちコードを修正してからのビルドが不要になるため、素早く検証を行うことができます。

    また、Monaca Localkit を使うことで、ローカルの開発環境でも利用することができます。今回はこのLocalkit を使って vscode 上でコードを修正し、アプリ内容を確認していきました。

    Monaca Localkit を起動し、プレビューを押すとすぐにアプリ画面が表示されます。

    初期画面→検索→画面遷移まで確認することができました。

    このように SQL Analysis Services 内のデータをMonaca アプリで利用することができるようになります。

     
     
    ダウンロード