Mendix で Elasticsearch 連携アプリを構築
Mendix は、モバイルアプリとWeb アプリの両方を大規模に構築・保守できる高生産性アプリプラットフォームです。CData Connect AI と組み合わせることで、Mendix からクラウド間で即座にElasticsearch のデータにアクセスできるようになります。この記事では、Mendix からCData Connect AI のデータソースに接続する方法を説明します。
CData Connect AI は Elasticsearch 専用のクラウド間インターフェースを提供し、ネイティブでサポートされているデータベースにデータをレプリケートすることなく、Mendix でリアルタイムのElasticsearch のデータをインポートできます。Mendix でWeb およびモバイルアプリを構築する際、CData Connect AI はサポートされているすべてのSQL 操作(フィルター、JOIN など)を Elasticsearch に直接プッシュし、サーバーサイド処理を活用して必要なElasticsearch のデータを迅速に返します。
Elasticsearch データ連携について
CData を使用すれば、Elasticsearch のライブデータへのアクセスと統合がこれまでになく簡単になります。お客様は CData の接続機能を以下の目的で利用しています:
- SQL エンドポイントと REST エンドポイントの両方にアクセスでき、接続を最適化し、Elasticsearch データの読み書きに関してより多くのオプションを提供します。
- v2.2 以降およびオープンソース Elasticsearch サブスクリプションを含む、ほぼすべての Elasticsearch インスタンスに接続できます。
- SCORE() 関数を明示的に要求することなく、常にクエリ結果の関連性スコアを受け取ることができます。これにより、サードパーティツールからのアクセスが簡素化され、クエリ結果のテキスト関連性のランキングを簡単に確認できます。
- 複数のインデックスを検索でき、クライアントマシンではなく Elasticsearch がクエリと結果の管理・処理を担当します。
ユーザーは、Crystal Reports、Power BI、Excel などの分析ツールと Elasticsearch データを統合し、当社のツールを活用して、Elasticsearch を含むすべてのデータソースへの単一のフェデレートアクセスレイヤーを実現しています。
CData の Elasticsearch ソリューションの詳細については、ナレッジベース記事をご覧ください:CData Elasticsearch Driver Features & Differentiators
はじめに
Mendix 用に Elasticsearch への接続を設定
Mendix からElasticsearch のデータを操作するには、Connect AI から Elasticsearch に接続し、接続へのユーザーアクセスを付与し、Elasticsearch のデータ 用のワークスペースを作成する必要があります。
Connect AI から Elasticsearch に接続
CData Connect AI は、シンプルなポイント&クリック操作でデータソースに接続できるインターフェースを提供しています。
- Connect AI にログインして「Sources」をクリックし、 Add Connection をクリックします
- Add Connection パネルから「Elasticsearch」を選択します
-
Elasticsearch への接続に必要な認証プロパティを入力します。
Elasticsearch 接続プロパティの取得・設定方法
接続するには、Server およびPort 接続プロパティを設定します。 認証には、User とPassword プロパティ、PKI (public key infrastructure)、またはその両方を設定します。 PKI を使用するには、SSLClientCert、SSLClientCertType、SSLClientCertSubject、およびSSLClientCertPassword プロパティを設定します。
CData 製品は、認証とTLS/SSL 暗号化にX-Pack Security を使用しています。TLS/SSL で接続するには、Server 値に'https://' を接頭します。Note: PKI を 使用するためには、TLS/SSL およびクライアント認証はX-Pack 上で有効化されていなければなりません。
接続されると、X-Pack では、設定したリルムをベースにユーザー認証およびロールの許可が実施されます。
- Save & Test をクリックします
-
Add Elasticsearch Connection ページの「Permissions」タブに移動し、ユーザーベースの権限を更新します。
Personal Access Token の追加
REST API、OData API、またはVirtual SQL Server 経由でConnect AI に接続する場合、Personal Access Token(PAT)を使用してConnect AI への接続を認証します。アクセス管理の粒度を維持するために、サービスごとに個別のPAT を作成することをお勧めします。
- Connect AI アプリの右上にある歯車アイコン()をクリックして設定ページを開きます。
- Settings ページで「Access Tokens」セクションに移動し、 Create PAT をクリックします。
-
PAT に名前を付けて「Create」をクリックします。
- Personal Access Token は作成時にのみ表示されるため、必ずコピーして安全な場所に保存してください。
Mendix 用に Elasticsearch エンドポイントを設定
Elasticsearch への接続後、対象テーブル用のワークスペースを作成します。
-
「Workspaces」ページに移動し、 Add をクリックして新しいワークスペースを作成します(または既存のワークスペースを選択します)。
- Add をクリックしてワークスペースに新しいアセットを追加します。
-
Elasticsearch 接続(例:Elasticsearch1)を選択し、「Next」をクリックします。
-
操作したいテーブルを選択し、「Confirm」をクリックします。
- ワークスペースのOData サービスURL をメモしておきます。例:https://cloud.cdata.com/api/odata/{workspace_name}
接続、PAT、ワークスペースの設定が完了したら、Mendix からElasticsearch のデータに接続する準備が整いました。
Elasticsearch 連携アプリの構築
OData メタデータファイルのダウンロード
Mendix で接続を作成する際、接続フローにはData Source Contract File が必要です。以下の手順に従って、curl(コマンドラインツール)を使用してCData Connect AI のOData メタデータファイルをダウンロードします:
- お使いのOS 用のコマンドラインウィンドウを開きます。Windows では、スタートメニューを開いて「cmd」と入力し、Enter キーを押してコマンドプロンプトを開きます。macOS およびLinux では、ターミナルウィンドウを開きます。
- curl がシステムにインストールされているか確認するには、「curl -help」と入力してEnter キーを押します。インストールされていない場合は、curl のWeb サイトからインストールしてください。
-
以下のcurl コマンドを実行します。USER をCData Connect AI のユーザー名に、PAT を先ほど生成したPAT に置き換えてください:
curl -u USER:PAT https://cloud.cdata.com/api/odata/{workspace_name}/$metadata -o metadata.xml - curl コマンドで作成されたmetadata.xml ファイルを探し、アクセスしやすい場所に移動します。
Mendix からCData Connect AI に接続
以下の手順に従って、Mendix からCData Connect AI への接続を確立します:
- Mendix にログインし、Data Hub ページを開きます。
- 「Register a Data Source」セクションで「OData」を選択します。
- 上記の手順で取得したmetadata.xml ファイルをアップロードし、「Next」をクリックします。
- 「Data Source Name」と「Data Source Version」に希望する値を入力します。 「Data Source Relative Path」フィールドに「/api/odata/{workspace_name}」と入力し、「Next」をクリックします。
- 「Application information」ページで「Register a new application」をクリックします。
- 「Application Name」に名前を入力し、テクニカルオーナーを選択します(デフォルトでは現在ログインしているユーザーになります)。
- 「Next」をクリックします。「Environment Name」フィールドに希望する名前を入力します(例:CData Connect AI)。 「Environment Location」フィールドに「https://cloud.cdata.com」と入力し、必要に応じて適切な「Environment Type」(例:Production)を選択します。
- 「Done!」をクリックして接続を作成します。
これで、Mendix Studio Pro で接続を使用して、リアルタイムのElasticsearch のデータにアクセスするアプリケーションを簡単に作成できるようになりました。
CData Connect AI の入手
クラウドアプリケーションから300以上のSaaS、Big Data、NoSQL ソースへのリアルタイムデータアクセスを実現するために、CData Connect AI を今すぐお試しください!