Servoy でDB2 に接続されたWeb アプリを構築

Servoy Developer を使用して手軽にDB2 のデータに接続し、リアルタイムDB2 のデータに接続できるWeb アプリケーションを構築。

古川えりか
コンテンツスペシャリスト

最終更新日:2023-02-26

この記事で実現できるDB2 連携のシナリオ

こんにちは!ドライバー周りのヘルプドキュメントを担当している古川です。

Servoy は、迅速なアプリケーション開発とデプロイのためのプラットフォームです。CData JDBC Driver for DB2 と組み合わせることで、ユーザーはDB2 に接続してリアルタイムDB2 のデータを使用できるアプリケーションを構築できます。この記事では、Servoy からDB2 に接続し、DB2 のデータを表示、検索するための簡単なWeb アプリケーションを構築する方法を説明します。

ビルトインの最適化されたデータ処理により、CData JDBC Driver は、リアルタイムDB2 のデータとやり取りする際に圧倒的なパフォーマンスを提供します。DB2 に複雑なSQL クエリを発行すると、ドライバーはフィルタや集計などのサポートされているSQL 操作をDB2 に直接プッシュし、サポートされていない操作(主にSQL 関数とJOIN 操作)は組み込みのSQL エンジンを利用してクライアント側で処理します。組み込みの動的メタデータクエリを使用すると、ネイティブデータソース型を使用してDB2 のデータを操作できます。

Servoy Developer からDB2 に接続する

DB2 に接続するアプリケーションを構築するには、まず、Servoy Developer からCData JDBC Driver for DB2 を使用してデータプロバイダを作成する必要があります。

  1. JDBC Driver をインストールします。
  2. JDBC Driver JAR ファイル(cdata.jdbc.db2.jar)を、Servoy のインストールディレクトリの/application_server/drivers/ ディレクトリにコピーします。
  3. Servoy Developer を開きます。
  4. Solution Explorer で「Resources」の下の「Database Server」を右クリックし、「Connect to existing database」->「empty」を選択します。
    1. サーバーに名前を付けます。
    2. クリックすると、サーバーの詳細設定が表示されます。
      • 次のようにURL を設定します。例:jdbc:db2:Server=10.0.1.2;Port=50000;User=admin;Password=admin;Database=test;

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

        JDBC URL の構築については、DB2 JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルをダブルクリックするか、コマンドラインからjar ファイルを実行します。

        java -jar cdata.jdbc.db2.jar

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

        DB2 に接続するには以下のプロパティを設定します。

        • Server: DB2 を実行するサーバー名。
        • Port: DB2 サーバーのポート。
        • Database: DB2 データベース名。

        接続の準備ができたら、認証スキームを選択し、以下で説明するように適切なプロパティを設定します。

        本製品 は、DB2 への認証に4つの異なるスキームをサポートします。DB2 ユーザー資格情報(デフォルト)、暗号化されたユーザー資格情報、IBM Identity and Access Management(IAM)認証、および Kerberos です。

        DB2 ユーザー資格情報

        ユーザー資格情報を使用して認証するには、次のプロパティを設定します。
        • AuthSchemeUSRIDPWD
        • User:データベースへのアクセス権を持つユーザーのユーザー名。
        • Password:データベースへのアクセス権を持つユーザーのパスワード。

        暗号化されたユーザー資格情報

        サーバーがセキュア認証に対応しており、暗号化されたユーザー資格情報を使用して認証を行いたい場合は、このプロパティを設定します。
        • AuthSchemeEUSRIDPWD

        IAM、Kerberos で認証したい場合は、ヘルプドキュメントの「はじめに」セクションを参照してください。

        パスワード方式による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; Using the built-in connection string designer to generate a JDBC URL (Salesforce is shown.)
      • コピーしたDriver クラスを選択します。例:cdata.jdbc.db2.DB2Driver
    Connecting to data through the JDBC Driver (Salesforce is shown).

DB2に接続するWeb アプリを構築する

Servoy Developer リソースでDB2 への接続を設定すると、リアルタイムDB2 へのアクセス権を持つアプリケーションを構築することができます。

新しいソリューションを作成する

  1. Server Explorer で、「All solutions」を右クリックし、「Create new solution」を選択します。
  2. ソリューションに名前を付けます。
  3. 「search」モジュールを含むチェックボックスを選択します。
  4. 「Finish」をクリックします。

新しいフォームを作成する

「Forms」を右クリックし、「Create new form」を選択します。

  1. フォームに名前を付けます。
  2. データソースを選択します。
  3. タイプ(Simple など)を設定し、「Finish」をクリックします。
Creating a new form.

フォームにData Grid を追加する

  1. Servoy NG-Grids からData Grid コンポーネントをフォームにドラッグします。
  2. カラムコンポーネントをData Grid にドラッグし、各カラムコンポーネントの「dataprovider」プロパティをDB2 「table」のカラム(例:Orders テーブルのOrderName)に設定します。

    必要に応じてカラムを追加します。

アプリケーションに検索を追加する

検索機能を追加するには、「svySearch」拡張機能が必要です。(新しいソリューションを作成する際にデフォルトで含まれます。)ソリューションの作成時に拡張機能を追加しなかった場合、または、既存のソリューションを変更する場合は、ソリューション内のModules を右クリックして「Add Module」を選択することで検索モジュールを追加できます。「svySearch」を選択し、「OK」をクリックします。

  1. Text Field コンポーネントをForm にドラッグします。
  2. Form を右クリックし、「Open in Script Editor」を選択します。
  3. 検索値を保持する新しい変数(JavaScript)を作成します。
    var searchText = '';
    
  4. Text Field プロパティでForm に戻ります。
    1. 「dataprovider」プロパティを作成したForm 変数に設定します。
    2. ダブルクリックしてonAction イベントのメソッドを追加します。
    3. クリックして「Form」でメソッドを作成し、名前を付けて(例:onEnter)、「Create private」をクリックします。
    4. 「OK & Show」をクリックします。
  5. 以下のJavaScript をJavaScript ファイルに追加することで、Servoy フレームワークを使用してText Field のテキストを使ったバインドデータの検索を実装します。
    var search = scopes.svySearch.createSimpleSearch(foundset).setSearchText(searchText);
    search.setSearchAllColumns();
    search.loadRecords(foundset);
    
The configured web app.

アプリを保存して起動する

フォームとJavaScript ファイルを保存し、「Run」->「Launch NGClient」とクリックしてWeb アプリケーションを起動します。

A simple web app.

CData JDBC Driver for DB2 の30日の無償評価版をダウンロードし、Servoy でDB2 に接続されたアプリケーションの構築を開始します。ご不明な点があれば、サポートチームにお問い合わせください。

関連コンテンツ

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

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