Mendix で Kafka 連携アプリを構築

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

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

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

Mendix 用に Kafka への接続を設定

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

Connect AI から Kafka に接続

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

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

    Apache Kafka 接続プロパティの取得・設定方法

    それでは、Apache Kafka に接続していきましょう。.NET ベースのエディションは、Confluent.Kafka およびlibrdkafka ライブラリに依存して機能します。 これらのアセンブリはインストーラーにバンドルされており、CData 製品と一緒に自動的にインストールされます。 別のインストール方法をご利用の場合は、NuGet から依存関係のあるConfluent.Kafka 2.6.0をインストールしてください。

    Apache Kafka サーバーのアドレスを指定するには、BootstrapServers パラメータを使用します。

    デフォルトでは、CData 製品はデータソースとPLAINTEXT で通信しており、そのため、データはすべて暗号化されずに送信されます。 通信を暗号化したい場合は、以下の設定を行ってください:

    1. UseSSL をtrue に設定し、CData 製品がSSL 暗号化を使用するように構成します
    2. SSLServerCert およびSSLServerCertType を設定して、サーバー証明書をロードします

    Apache Kafka への認証

    続いて、認証方法を設定しましょう。Apache Kafka データソースでは、以下の認証方法をサポートしています:

    • Anonymous
    • Plain
    • SCRAM ログインモジュール
    • SSL クライアント証明書
    • Kerberos

    Anonymous 認証

    Apache Kafka の特定のオンプレミスデプロイメントでは、認証接続プロパティを設定することなくApache Kafka に接続できます。 このような接続はanonymous(匿名)と呼ばれます。

    匿名認証を行うには、以下のプロパティを設定してください。

    • AuthScheme:None

    その他の認証方法については、ヘルプドキュメントをご確認ください。

    接続の設定(Salesforce の例)
  6. Save & Test をクリックします
  7. Add Kafka 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 用に Kafka エンドポイントを設定

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

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

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

Kafka 連携アプリの構築

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 で接続を使用して、リアルタイムのKafka のデータにアクセスするアプリケーションを簡単に作成できるようになりました。

CData Connect AI の入手

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

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

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

無料トライアル