ノーコードツールAdalo でDB2 連携アプリを作成
CData Connect Server を使ってDB2 のデータの仮想OData API エンドポイントを作成して、Adalo からDB2 のデータを使ったアプリを作成する方法。
杉本和也
リードエンジニア
最終更新日:2021-11-15
こんにちは!リードエンジニアの杉本です。
Adalo は ノーコードでスマホやWebベースのアプリを構築できるクラウドサービスです。この記事では、CData Connect Server を経由して Adalo からDB2 に連携するアプリを作成する方法を説明します。
CData Connect Server は、DB2 のデータのクラウド to クラウドの仮想OData インターフェースを提供し、Adalo からリアルタイムにDB2 のデータへ連携することができます。
DB2 の仮想OData API エンドポイントを作成
まずCData Connect Server でデータソースへの接続およびOData API エンドポイント作成を行います。
- CData Connect Server にログインして、Databases をクリックします。
- 利用できるデータソースアイコンから"DB2" を選択します。
-
DB2 に接続するために必要なプロパティを入力します。
DB2 への接続には以下を入力します:
- Server: DB2 が稼働しているサーバー。
- Port: DB2 サーバーのポート。
- Database: DB2 のデータベース。
- User: DB にアクセスする権限のあるユーザー名。
- Password: DB にアクセスする権限のあるユーザーのパスワード。
対応するDB2 のドライバーをインストールする必要があります。
パスワード方式によるSSH 接続
パスワード方式によるSSH接続時に必要なプロパティ一覧を以下に示します。
- User: DB2 のユーザ
- Password: DB2 のパスワード
- Database: DB2 の接続先データベース
- Server: DB2 のサーバー
- Port: DB2 のポート
- UserSSH: "true"
- SSHAuthMode: "Password"
- SSHPort: SSH のポート
- SSHServer: SSH サーバー
- SSHUser: SSH ユーザー
- SSHPassword: SSH パスワード
接続文字列形式では以下のようになります。
Server=10.0.1.2;Port=50000;User=admin;Password=admin;Database=testUseSSH=true;SSHAuthMode=Password;SSHPort=22;SSHServer=ssh-server;SSHUser=root;SSHPassword=sshpasswd;
公開鍵認証方式方式によるSSH 接続
公開鍵認証によるSSH接続時に必要なプロパティ一覧を以下に示します。
- User: DB2 のユーザ
- Password: DB2 のパスワード
- Database: DB2 の接続先データベース
- Server: DB2 のサーバー
- Port: DB2 のポート
- UserSSH: "true"
- SSHAuthMode: "Public_Key"
- SSHClientCertType: キーストアの種類
- SSHPort: SSH のポート
- SSHServer: SSH サーバー
- SSHUser: SSH ユーザー
- SSHClientCert: 秘密鍵ファイルのパス
接続文字列形式では以下のようになります。
Server=10.0.1.2;Port=50000;User=admin;Password=admin;Database=test;UseSSH=true;SSHAuthMode=Public_Key;SSHClientCertType=PUBLIC_KEY_FILE;SSHPort=22;SSHServer=ssh-server;SSHUser=root;SSHClientCert=C:\Keys\key.pem;
-
Test Database をクリックします。
-
Permission -> Add をクリックして、新しいユーザーを追加し、適切な権限を指定します。
-
API タブをクリックして OData API エンドポイントが生成されていることを確認します。
Adalo でアプリを作成する
CData Connect Server 側の準備が完了したら、早速Adalo側でアプリ開発を開始します。
- 「CREATE NEW APP」をクリックし
- 今回は「Desktop Web App」を作成します。
- templateを最初に選ぶことができますが、今回は検証用なので何も無い「Blank」で作成しました。
- 最後にアプリ名とカラーリング設定を選んで、アプリの準備は完了です。
External Collections の登録
続いてCData Connect Server への接続をAdalo に追加します。Adalo では「Collection」という形でデータ構造を持ち、アプリのデータを管理することができるのですが、この「Collection」を外部のAPIとシームレスに連携した形で利用することができる「External Collections with APIs」という機能があります。この機能を用いてCData Connect Server に接続します。
- アプリを作成したら、まず Adalo アプリ内でデータを扱うための定義である「Collection」を登録します。Collection は Adalo 内部の独自DBのような「Database Collections」と、外部のAPIに対してシームレスにアクセスすることが可能な「External Collections」があります。今回は外部のAPIに対してアクセスを行うので「External Collections」で登録します。
- External Collections の登録画面では最初にコレクション名とAPI のベースとなるURLエンドポイントを指定します。任意のCollection 名とAPI Base URLに先程CData Connect Server で登録したDB2 の対象リソースに接続できるODataのエンドポイントを指定します。併せて認証情報として Header に「x-cdata-authtoken」の名前でCData Connect Server ユーザー登録時に生成されているTokenを指定します。
- 続いてAdaloから実行されるそれぞれのリクエストの関連付けを行います。通常のAPIであれば様々なチューニングが必要となる箇所ですが、DB2 ではほぼデフォルトの設定のままで進められます。一点だけ設定が必要な箇所として、DB2 からのレスポンスをレコード単位で識別するために「Get All」の設定にある「Results Key」に「value」を登録しておくことが挙げられます。これを設定したら「Next」をクリックしましょう。
- 最後にAPIの「RUN TEST」を行います。
- 「RUN TEST」をクリック後、最終的に以下のようにメッセージとレスポンスが表示されれば、External Collectionsの作成は完了です。
一覧画面の作成
それでは作成した External Collections を使ってアプリを作っていきましょう。
- まず一覧画面を表示するためにAdalo の画面右上の「+」ボタンをクリックして、「Simple List」をドラッグアンドドロップで画面に配置します。
- 以下のように配置できたら「What is this a list of?」で先程作成したExternal Collectionsの定義を紐付けます。
- 併せて「Title」と「Subtile」を取得するデータ項目に紐付けましょう。
- プレビューを実行し一覧画面に移動してみると、以下のようにDB2 のデータを取得できていました。
このように、CData Connect Serverを経由することで、API 側の複雑な仕様を意識せずにAPI 連携をしたアプリをAdalo で開発できます。他にも多くのデータソースに対応するCData Connect Server の詳細をこちらからご覧ください。