ノーコードツールAdalo でKafka 連携アプリを作成

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

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

最終更新日:2021-11-15

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

Adalo は ノーコードでスマホやWebベースのアプリを構築できるクラウドサービスです。この記事では、CData Connect Server を経由して Adalo からKafka に連携するアプリを作成する方法を説明します。

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

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

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

  1. CData Connect Server にログインして、Databases をクリックします。 データベースを追加
  2. 利用できるデータソースアイコンから"Kafka" を選択します。
  3. Kafka に接続するために必要なプロパティを入力します。

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

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

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

    デフォルトでは、本製品はデータソースとPLAINTEXT で通信し、これはすべてのデータが暗号化なしで送信されることを意味します。 通信を暗号化するには:

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

    Apache Kafka への認証

    Apache Kafka データソースは、次の認証メソッドをサポートしています:

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

    Anonymous

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

    匿名認証を行うには、このプロパティを設定します。

    • AuthSchemeNone

    その他の認証方法については、ヘルプドキュメントを参照してください。 接続を設定

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

Adalo でアプリを作成する

CData Connect Server 側の準備が完了したら、早速Adalo側でアプリ開発を開始します。

  1. 「CREATE NEW APP」をクリックし
  2. 今回は「Desktop Web App」を作成します。
  3. templateを最初に選ぶことができますが、今回は検証用なので何も無い「Blank」で作成しました。
  4. 最後にアプリ名とカラーリング設定を選んで、アプリの準備は完了です。

External Collections の登録

続いてCData Connect Server への接続をAdalo に追加します。Adalo では「Collection」という形でデータ構造を持ち、アプリのデータを管理することができるのですが、この「Collection」を外部のAPIとシームレスに連携した形で利用することができる「External Collections with APIs」という機能があります。この機能を用いてCData Connect Server に接続します。

  1. アプリを作成したら、まず Adalo アプリ内でデータを扱うための定義である「Collection」を登録します。Collection は Adalo 内部の独自DBのような「Database Collections」と、外部のAPIに対してシームレスにアクセスすることが可能な「External Collections」があります。今回は外部のAPIに対してアクセスを行うので「External Collections」で登録します。
  2. External Collections の登録画面では最初にコレクション名とAPI のベースとなるURLエンドポイントを指定します。任意のCollection 名とAPI Base URLに先程CData Connect Server で登録したKafka の対象リソースに接続できるODataのエンドポイントを指定します。併せて認証情報として Header に「x-cdata-authtoken」の名前でCData Connect Server ユーザー登録時に生成されているTokenを指定します。
  3. 続いてAdaloから実行されるそれぞれのリクエストの関連付けを行います。通常のAPIであれば様々なチューニングが必要となる箇所ですが、Kafka ではほぼデフォルトの設定のままで進められます。一点だけ設定が必要な箇所として、Kafka からのレスポンスをレコード単位で識別するために「Get All」の設定にある「Results Key」に「value」を登録しておくことが挙げられます。これを設定したら「Next」をクリックしましょう。
  4. 最後にAPIの「RUN TEST」を行います。
  5. 「RUN TEST」をクリック後、最終的に以下のようにメッセージとレスポンスが表示されれば、External Collectionsの作成は完了です。

一覧画面の作成

それでは作成した External Collections を使ってアプリを作っていきましょう。

  1. まず一覧画面を表示するためにAdalo の画面右上の「+」ボタンをクリックして、「Simple List」をドラッグアンドドロップで画面に配置します。
  2. 以下のように配置できたら「What is this a list of?」で先程作成したExternal Collectionsの定義を紐付けます。
  3. 併せて「Title」と「Subtile」を取得するデータ項目に紐付けましょう。
  4. プレビューを実行し一覧画面に移動してみると、以下のようにKafka のデータを取得できていました。

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

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。