Mendix のローコード開発プラットフォームで Freshservice のデータを使ったアプリを構築

Dibyendu Datta
Dibyendu Datta
Lead Technology Evangelist
CData API Driver for JDBC を使って Freshservice のデータ と Mendix を連携し、アプリを構築。

Siemens 社が開発した Mendix は、Web およびモバイルアプリケーションを迅速に開発、テスト、デプロイするためのローコードプラットフォームです。デジタルトランスフォーメーションの推進とビジネスのアジリティ向上を実現します。CData API Driver for JDBC と組み合わせることで、Mendix Studio Pro を使って Freshservice のデータを活用したさまざまなアプリケーションを作成できます。

CData JDBC ドライバーは、 最適化されたデータ処理機能を組み込み、リアルタイムFreshservice のデータと連携する際に、比類のないパフォーマンスを発揮します。複雑な SQL クエリを Freshservice に発行すると、ドライバーはフィルタや集計などのサポートされている SQL 操作を直接 Freshservice にプッシュし、サポートされていない操作(多くの場合、SQL 関数や JOIN 操作)は組み込みの SQL エンジンを使用してクライアントサイドで処理します。組み込みの動的メタデータクエリ機能により、ネイティブのデータ型を使用して Freshservice のデータを操作・分析できます。

この記事では、Mendix が提供する JDBC インターフェースと CData JDBC Driver for Freshservice を組み合わせて、Freshservice のデータを活用したアプリケーションを Mendix で簡単に作成する方法を紹介します。

Mendix 環境の準備

このセクションでは、先ほど紹介した Mendix Studio Pro を使用して、Freshservice のデータを使ったアプリを開発する方法を説明します。事前に Mendix Studio Pro をインストールしておいてください。

CData API Driver for JDBC のインストール

まず、Mendix と同じマシンに CData API Driver for JDBC をインストールします。JDBC ドライバーは以下のパスにインストールされます。

C:\Program Files\CData\CData JDBC Driver for Freshservice 20xx\lib\cdata.jdbc.api.jar

アプリケーションの作成

それでは、アプリの作成を始めましょう。まず、Database Connector が利用可能なアプリを作成します。

  1. Mendix Studio Pro を起動し、「Create New App」をクリックします。 新しいアプリの作成
  2. 「Blank Web App」オプションを選択します。 Blank Web App オプションを選択
  3. 「Use this starting point」をクリックして続行します。 Use this starting point
  4. 任意の名前でアプリを作成します。また、後で参照するために「Disk location」の情報をメモしておきましょう。 アプリに名前を付け、Disk location 情報をメモ
  5. これで新しいアプリが作成されました。 アプリの作成完了

アプリケーションに Database Connector を追加

次に、作成したアプリに Database Connector モジュールを追加します。

  1. 右上の Marketplace ボタンをクリックします。
  2. Marketplace の検索セクションで Database Connector を検索し、選択します。 Marketplace から Database Connector を検索
  3. Download をクリックして、最新の Database Connector をダウンロードします。 最新の Database Connector をダウンロード
  4. Import Module ウィンドウで、Action として Add as a new module を選択します。 新しいモジュールを追加 モジュールのインポート成功
  5. アプリ画面に Database Connector が表示されれば、次のステップに進む準備が整いました。 Database Connector の準備完了

Mendix Studio Pro への JDBC ドライバーの追加

この Database Connector で CData JDBC ドライバーを使用するには、JDBC ドライバーの JAR ファイルをプロジェクトに追加する必要があります。

  1. 先ほどメモした Mendix プロジェクトフォルダ内に「userlib」というフォルダがあります。そのフォルダに「cdata.jdbc.api.jar」と「cdata.jdbc.api.lic」の2つのファイルを配置します。 Mendix の userlib フォルダに JAR ファイルと LIC ファイルを配置
  2. これで、Database Connector で CData JDBC ドライバーを使用できるようになりました。

データモデルの作成

それでは、アプリを作成していきましょう。まず、Database Connector からデータを読み込み、一覧画面に表示するためのデータモデルを定義します。データを読み込む前に、データモデルを作成しておきます。

  1. MyFirstModule の「Domain model」に Entity を追加します。 Entity を追加
  2. Entity 名とフィールド定義を入力します。 Entity 名とフィールド定義を追加
  3. DBeaver などのツールを使用して、CData JDBC ドライバー経由でテーブル定義情報を確認すると、データの設定を簡単に行えます。 データベース管理ツールでデータを確認・設定
  4. Entity を定義します。 Entity の定義

JDBC URL 用の定数を作成

次に、Database Connector で使用する JDBC URL の定数を作成します。

  1. MyFirstModule に「Constant」を追加します。 定数を追加
  2. Add Constant ウィンドウで定数に名前を付けます。 定数に名前を追加
  3. Freshservice に接続するための JDBC URL を生成します。jdbc:api: で始まり、セミコロンで区切られた一連の接続文字列プロパティを続けます。

    まず、Profile 接続プロパティをディスク上の Freshservice プロファイルの場所に設定します(例:C:\profiles\Freshservice.apip)。次に、ProfileSettings 接続プロパティを Freshservice の接続文字列に設定します(以下を参照)。

    Freshservice API プロファイル設定

    Freshservice 画面右上の Profile Settings から API キーを取得します。Domain はアカウント URL のサブドメインです。

    組み込みの接続文字列デザイナー

    JDBC URL の構成には、Freshservice JDBC ドライバーに組み込まれている接続文字列デザイナーが便利です。JAR ファイルをダブルクリックするか、コマンドラインから JAR ファイルを実行してください。

    java -jar cdata.jdbc.api.jar
    

    接続プロパティに値を入力し、接続文字列をクリップボードにコピーします。

    組み込みの接続文字列デザイナーを使用して JDBC URL を生成(Salesforce の例)

    一般的な JDBC URL は以下のとおりです。

    jdbc:api:Profile=C:\profiles\Freshservice.apip;ProfileSettings='APIKey=your_api_key;Domain=your_subdomain';
    
  4. 前のステップでコピーした接続文字列を Default value セクションに入力し、OK をクリックします。 接続文字列を入力

Freshservice のデータを取得するマイクロフローの作成

作成した Entity に基づいて、Database Connector からデータを取得するマイクロフローを作成しましょう。

  1. MyFirstModule から「Add microflow」をクリックします。 Add microflow をクリック
  2. 任意の名前でマイクロフローを作成します。 マイクロフローの作成
  3. まず、先ほど定義した Entity 用のオブジェクトを作成します。マイクロフローに「Create Object」アクションを追加します。 オブジェクトの作成
  4. Create Object ウィンドウで、Entity の「Select」ボタンをクリックします。 Create Object ウィンドウで Select をクリック
  5. 先ほど定義した Entity を選択します。 定義した Entity を選択
  6. 任意の Object name を入力し、OK をクリックします。 オブジェクト名を入力
  7. 次に、Database Connector からデータを取得するために、マイクロフローに Execute Query アクションを追加します。 Execute Query アクションを追加
  8. Execute Query ウィンドウで各入力項目を定義します。 Execute Query の各入力項目を定義
  9. 「jdbc url」には、先ほど定義した定数を指定します。 先ほど定義した定数を指定
  10. SQL には、Freshservice からデータを取得するクエリを記述します。 データを取得するクエリを記述
  11. 今回は UsernamePassword は不要なので、「empty」に設定し、前のフローで作成したオブジェクトを Result object として割り当てます。List Name セクションには任意の名前を指定します。 リストに任意の名前を追加
  12. 最後に、マイクロフローの出力を定義します。 マイクロフローの出力を定義
  13. End Event をダブルクリックして開き、Type ドロップダウンから「List」を選択し、先ほど定義した Entity とリンクします。次に、Execute Query の出力結果を Return value として設定します。 リストを Entity にリンク
  14. これで、Freshservice からデータを取得するマイクロフローが完成しました。 マイクロフローの作成完了

一覧画面の作成とマイクロフローへのリンク

最後に、マイクロフローから取得した結果を表示する画面を作成しましょう。

  1. Toolbox メニュー内の「Home_web」をダブルクリックして開きます。 Toolbox メニューから Home_web を開く
  2. Data containers セクションから Data grid テンプレートをドラッグ&ドロップして一覧画面に配置します。 Data grid テンプレートを一覧画面にドラッグ&ドロップ
  3. Data grid を配置したら、ダブルクリックして Edit Data Grid 設定画面を表示します。 Edit Data Grid を開いて設定
  4. Data source タブに移動し、データソースタイプを Microflow とリンクします。
  5. 先ほど作成したマイクロフローを選択します。 マイクロフローを選択
  6. OK をクリックします。 マイクロフロー設定を確定
  7. OK をクリックすると、カラムの自動検出を促すメッセージが表示されます。「Yes」をクリックして続行します。 カラム自動検出で Yes をクリック
  8. 次に、各 Data grid 用のコントローラーを生成するかどうかを確認するメッセージが表示されます。今回は各ロジックを設定しないので、「No」をクリックします。 Data grid のコントローラーで No をクリック
  9. 以下のようなシンプルな Data grid 画面が作成されます。 Data grid 画面の作成完了

動作確認

それでは、正しく動作するか確認しましょう。

  1. 「Publish」ボタンをクリックして、作成したアプリを準備します。完了したら、「View App」をクリックしてアプリを開きます。 作成したアプリを Publish
  2. 以下のような Freshservice のデータの一覧が表示されれば成功です!Freshservice の API を意識することなく、ローコードで Freshservice と連携したアプリを作成できました。 Mendix アプリ画面で Freshservice のデータの一覧を確認

今すぐ始めましょう

CData API Driver for JDBC の 30日間無料トライアル をダウンロードして、Mendix で Freshservice のデータに接続するアプリを簡単に作成してみてください。

ご質問がございましたら、サポートチーム までお気軽にお問い合わせください。

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

API Driver で Freshservice のライブデータに接続

Freshservice に接続