製品をチェック

製品の詳細・30日間の無償トライアルはコチラ

CData Connect

UI/UX 特化ローコード開発ツール NEXACRO BEYOND を使ってJSON と連携したアプリを開発する方法

CData Connect Server を使ってJSON データのOData API エンドポイントを作成して、NEXACRO BEYOND からJSON データを使ったアプリを作成する方法。

杉本和也
リードエンジニア

最終更新日:2022-06-20

こんにちは!リードエンジニアの杉本です。

NEXACRO BEYOND は UI/UX に特化したローコード開発ツールおよびその実行基盤です。この記事では、CData Connect Server を経由して NEXACRO BEYOND からJSON に連携し、アプリを開発する方法を紹介します。

CData Connect Server は、JSON データの仮想OData インターフェースを提供し、NEXACRO BEYOND からリアルタイムにJSON データへ連携することができます。
NEXACRO BEYOND からJSON にデータ連携。

Connect Server を構成する

NEXACRO BEYOND でJSON データをリアルタイムで操作するには、Connect Server からJSON に接続し、コネクションにユーザーアクセスを提供してJSON データのOData エンドポイントを作成する必要があります。

JSON の仮想OData API エンドポイントを作成

まずCData Connect Server でデータソースへの接続およびOData API エンドポイント作成を行います。

  1. CData Connect Server にログインして、「DATA MODEL」をクリックします。 データベースを追加
  2. 利用できるデータソースアイコンから"JSON" を選択します。
  3. 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 への接続」を参照してください。

    接続を設定
  4. 「Test Connection」をクリックします。
  5. 「USERS」 -> Add をクリックして、新しいユーザーを追加し、適切な権限を指定します。
  6. API タブをクリックして OData API エンドポイントが生成されていることを確認します。

コネクションとOData エンドポイントを設定したら、NEXACRO BEYOND からJSON データに接続できます。

プロジェクトの作成

Web API の準備が整ったのでNEXACRO BEYOND によるアプリケーション開発を進めていきます。NEXACRO BEYOND のアプリケーションは NEXACRO Studio というツールを用いて開発します。

  1. まず、NEXACRO Studio を立ち上げて新しいプロジェクトを作成しましょう。
  2. 任意の名称でProject を作成します。
  3. 作成するアプリケーションの種類は今回はDesktop としました。
  4. Template から「Full」を選択して、「Finish」をクリックします。

Form の作成

プロジェクトを作成したら、一覧画面を表示するためのForm を作成しておきます。

  1. 「File」→「New」→「Form(.xfdl)」を選択し
  2. 任意の名称でEmpty Form を作成します。
  3. 以下のようにフォームが表示できればOKです。

DataObject の作成

続いてWeb API との通信の部分を作り込んでいきます。NEXACRO BEYOND ではDataObject という機能を用いて、JSON フォーマットのWeb API との通信やデータ制御を行うようになっています。

  1. まず「DataObject」を画面に配置します。
  2. DataObject を配置すると、Invisible Object の一覧に配置したDataObject が表示されるので右クリックから「Edit」を選択します。
  3. このJson Content Editor でJSON のオブジェクト構造を確認します。ここで先ほどCData Connect Server で定義したリソースのエンドポイントを指定します。その際にクエリパラメータでの認証も入力しておきましょう。
  4. 併せて、今回はアプリケーションを実行したときに通信が行われるように「preload」を「true」に指定しておきました。

Dataset を構成する

今回は最終的に一覧画面を作るわけですが、一覧画面のコンポーネントはJSON のように不定形なオブジェクトだとバインディングすることができません。

そこで、一度DataObject を「Dataset」という画面上で利用できるオブジェクトにマッピングしてあげた上で、UI 上で表示できるようにします。

  1. 「Dataset」を先ほどと同じように画面に配置します。
  2. 作成したDataset の「binddataobject」で先ほど作成したDataObject を選択し、次に「dataobjectpath」を編集します。
  3. 以下のようなData Path Editor という画面で、JSON のオブジェクト構造をどのようにマッピングするかを構成できます。
  4. CData Connect Server で作成されたWeb API「$.value」というJSON Path でレコードに分解できます。そのため DataObject Path に「$.value [*]」と入力して、リロードし、各カラムをマッピングさせます。

Grid の作成

最後に一覧表示用のGrid を配置して、取得したデータを表示してみましょう。

  1. Grid をキャンパス上に配置します。
  2. Grid を配置後、先ほど定義したDataset をGrid 上にドラッグ・アンド・ドロップで持っていくと、以下のよう一覧画面が表示されます。

このように、CData Connect Server を経由することで、API 側の複雑な仕様を意識せずにAPI 連携アプリをNEXACRO BEYOND で開発できます。他にも多くのデータソースに対応するCData Connect Server の詳細をこちらからご覧ください。