Mendix で JSON 連携アプリを構築

Dibyendu Datta
Dibyendu Datta
Lead Technology Evangelist
CData Connect AI を使って JSON Services用の OData フィードを作成し、Mendix でカスタムアプリを構築できます。

Mendix は、モバイルアプリとWeb アプリの両方を大規模に構築・保守できる高生産性アプリプラットフォームです。CData Connect AI と組み合わせることで、Mendix からクラウド間で即座にJSON servicesにアクセスできるようになります。この記事では、Mendix からCData Connect AI のデータソースに接続する方法を説明します。

CData Connect AI は JSON 専用のクラウド間インターフェースを提供し、ネイティブでサポートされているデータベースにデータをレプリケートすることなく、Mendix でリアルタイムのJSON servicesをインポートできます。Mendix でWeb およびモバイルアプリを構築する際、CData Connect AI はサポートされているすべてのSQL 操作(フィルター、JOIN など)を JSON に直接プッシュし、サーバーサイド処理を活用して必要なJSON servicesを迅速に返します。

Mendix 用に JSON への接続を設定

Mendix からJSON servicesを操作するには、Connect AI から JSON に接続し、接続へのユーザーアクセスを付与し、JSON services 用のワークスペースを作成する必要があります。

Connect AI から JSON に接続

CData Connect AI は、シンプルなポイント&クリック操作でデータソースに接続できるインターフェースを提供しています。

  1. Connect AI にログインして「Sources」をクリックし、 Add Connection をクリックします
  2. 接続の追加
  3. Add Connection パネルから「JSON」を選択します
  4. データソースの選択
  5. JSON への接続に必要な認証プロパティを入力します。

    データソースへの認証については、ヘルプドキュメントの「はじめに」を参照してください。CData 製品は、JSON API を双方向データベーステーブルとして、JSON ファイルを読み取り専用ビュー(ローカル ファイル、一般的なクラウドサービスに保存されているファイル、FTP サーバー)としてモデル化します。HTTP Basic、Digest、NTLM、OAuth、FTP などの主要な認証スキームがサポートされています。詳細はヘルプドキュメントの「はじめに」を参照してください。

    URI を設定して認証値を入力したら、DataModel を設定してデータ表現とデータ構造をより厳密に一致させます。

    DataModel プロパティは、データをどのようにテーブルに表現するかを制御するプロパティで、次の基本設定を切り替えます。

    • Document(デフォルト):JSON データのトップレベルのドキュメントビューをモデル化します。CData 製品 は、ネストされたオブジェクト配列を集約されたJSON オブジェクトとして返します。
    • FlattenedDocuments:ネストされた配列オブジェクトと親オブジェクトを、単一テーブルに暗黙的に結合します。
    • Relational:階層データから個々の関連テーブルを返します。テーブルには、親ドキュメントにリンクする主キーと外部キーが含まれています。

    リレーショナル表現の設定についての詳細は、ヘルプドキュメントの「JSON データのモデリング」を参照してください。また、以下の例で使用されているサンプルデータも確認できます。データには人や所有する車、それらの車に行われたさまざまなメンテナンスサービスのエントリが含まれています。

    Amazon S3 内のJSON への接続

    URI をバケット内のJSON ドキュメントに設定します。さらに、次のプロパティを設定して認証します。

    • AWSAccessKey:AWS アクセスキー(username)に設定。
    • AWSSecretKey:AWS シークレットキーに設定。

    Box 内のJSON への接続

    URI をJSON ファイルへのパスに設定します。Box へ認証するには、OAuth 認証標準を使います。 認証方法については、Box への接続 を参照してください。

    Dropbox 内のJSON への接続

    URI をJSON ファイルへのパスに設定します。Dropbox へ認証するには、OAuth 認証標準を使います。 認証方法については、Dropbox への接続 を参照してください。ユーザーアカウントまたはサービスアカウントで認証できます。ユーザーアカウントフローでは、以下の接続文字列で示すように、ユーザー資格情報の接続プロパティを設定する必要はありません。 URI=dropbox://folder1/file.json; InitiateOAuth=GETANDREFRESH; OAuthClientId=oauthclientid1; OAuthClientSecret=oauthcliensecret1; CallbackUrl=http://localhost:12345;

    SharePoint Online SOAP 内のJSON への接続

    URI をJSON ファイルを含むドキュメントライブラリに設定します。認証するには、User、Password、およびStorageBaseURL を設定します。

    SharePoint Online REST 内のJSON への接続

    URI をJSON ファイルを含むドキュメントライブラリに設定します。StorageBaseURL は任意です。指定しない場合、ドライバーはルートドライブで動作します。 認証するには、OAuth 認証標準を使用します。

    FTP 内のJSON への接続

    URI をJSON ファイルへのパスが付いたサーバーのアドレスに設定します。認証するには、User およびPassword を設定します。

    Google Drive 内のJSON への接続

    デスクトップアプリケーションからのGoogle への認証には、InitiateOAuth をGETANDREFRESH に設定して、接続してください。詳細はドキュメントの「Google Drive への接続」を参照してください。

    接続の設定(Salesforce の例)
  6. Save & Test をクリックします
  7. Add JSON Connection ページの「Permissions」タブに移動し、ユーザーベースの権限を更新します。 権限の更新

Personal Access Token の追加

REST API、OData API、またはVirtual SQL Server 経由でConnect AI に接続する場合、Personal Access Token(PAT)を使用してConnect AI への接続を認証します。アクセス管理の粒度を維持するために、サービスごとに個別のPAT を作成することをお勧めします。

  1. Connect AI アプリの右上にある歯車アイコン()をクリックして設定ページを開きます。
  2. Settings ページで「Access Tokens」セクションに移動し、 Create PAT をクリックします。
  3. PAT に名前を付けて「Create」をクリックします。 新しいPAT の作成
  4. Personal Access Token は作成時にのみ表示されるため、必ずコピーして安全な場所に保存してください。

Mendix 用に JSON エンドポイントを設定

JSON への接続後、対象テーブル用のワークスペースを作成します。

  1. 「Workspaces」ページに移動し、 Add をクリックして新しいワークスペースを作成します(または既存のワークスペースを選択します)。 ワークスペースページ 新しいワークスペースの追加
  2. Add をクリックしてワークスペースに新しいアセットを追加します。
  3. JSON 接続(例:JSON1)を選択し、「Next」をクリックします。 アセットの選択(Salesforce の例)
  4. 操作したいテーブルを選択し、「Confirm」をクリックします。 テーブルの選択(Salesforce の例)
  5. ワークスペースのOData サービスURL をメモしておきます。例:https://cloud.cdata.com/api/odata/{workspace_name}

接続、PAT、ワークスペースの設定が完了したら、Mendix からJSON servicesに接続する準備が整いました。

JSON 連携アプリの構築

OData メタデータファイルのダウンロード

Mendix で接続を作成する際、接続フローにはData Source Contract File が必要です。以下の手順に従って、curl(コマンドラインツール)を使用してCData Connect AI のOData メタデータファイルをダウンロードします:

  1. お使いのOS 用のコマンドラインウィンドウを開きます。Windows では、スタートメニューを開いて「cmd」と入力し、Enter キーを押してコマンドプロンプトを開きます。macOS およびLinux では、ターミナルウィンドウを開きます。
  2. curl がシステムにインストールされているか確認するには、「curl -help」と入力してEnter キーを押します。インストールされていない場合は、curl のWeb サイトからインストールしてください。
  3. 以下のcurl コマンドを実行します。USER をCData Connect AI のユーザー名に、PAT を先ほど生成したPAT に置き換えてください:
    curl -u USER:PAT https://cloud.cdata.com/api/odata/{workspace_name}/$metadata -o metadata.xml
  4. curl コマンドで作成されたmetadata.xml ファイルを探し、アクセスしやすい場所に移動します。

Mendix からCData Connect AI に接続

以下の手順に従って、Mendix からCData Connect AI への接続を確立します:

  1. Mendix にログインし、Data Hub ページを開きます。
  2. Mendix ランディングページ
  3. 「Register a Data Source」セクションで「OData」を選択します。
  4. OData データソースの登録
  5. 上記の手順で取得したmetadata.xml ファイルをアップロードし、「Next」をクリックします。
  6. メタデータファイルのアップロード
  7. 「Data Source Name」と「Data Source Version」に希望する値を入力します。 「Data Source Relative Path」フィールドに「/api/odata/{workspace_name}」と入力し、「Next」をクリックします。
  8. データソースの作成
  9. 「Application information」ページで「Register a new application」をクリックします。
  10. 新しいアプリの登録
  11. 「Application Name」に名前を入力し、テクニカルオーナーを選択します(デフォルトでは現在ログインしているユーザーになります)。
  12. アプリのフィールドへの入力
  13. 「Next」をクリックします。「Environment Name」フィールドに希望する名前を入力します(例:CData Connect AI)。 「Environment Location」フィールドに「https://cloud.cdata.com」と入力し、必要に応じて適切な「Environment Type」(例:Production)を選択します。
  14. 環境の作成
  15. 「Done!」をクリックして接続を作成します。
  16. 接続の確定

これで、Mendix Studio Pro で接続を使用して、リアルタイムのJSON servicesにアクセスするアプリケーションを簡単に作成できるようになりました。

CData Connect AI の入手

クラウドアプリケーションから直接、数百種類のSaaS、ビッグデータ、NoSQL ソースへのリアルタイムデータアクセスを実現するには、今すぐCData Connect AI をお試しください!

はじめる準備はできましたか?

CData Connect AI の詳細、または無料トライアルにお申し込みください:

無料トライアル