データベースの検索結果をHTMLに出力し、ウェブブラウザから確認したい

Avatar
dstn

データベースの検索結果をHTMLに出力し、ウェブブラウザから確認したい

キーワード:HTML,HTTPトリガー,データベース

概要

データベースの検索結果をHTMLに出力し、ウェブブラウザから確認したい場合、HTTPトリガーを使用してスクリプトを実行します。
スクリプト内のHTMLデータ生成処理でHTMLを生成し、スクリプト出力変数を使用してウェブブラウザに渡します。

サンプルプロジェクトの説明

製品在庫マスタテーブルから「在庫数量」が「100」未満の商品リストを取得し、取得したデータをもとにHTMLを生成します。
生成したHTMLを戻り値としてウェブブラウザに渡すため、スクリプト変数に格納します。

処理の流れ

サンプルプロジェクトの処理の流れは以下の通りです。
  1. 検索系SQL実行処理」で製品在庫マスタテーブルから「在庫数量」が「100」未満の商品リストを取得します。
  2. HTMLデータ生成処理」で、取得した商品リストをもとにHTMLを生成します。
  3. 変数代入処理」で生成したHTMLをスクリプト変数に格納します。
実行結果のイメージについては、以下を参照してください。
  • HTTPトリガーを有効にして、指定したURLにウェブブラウザからアクセスします。
    表示された画面の左フレームにあるリンク「在庫残少リスト」を押下します。


  • スクリプトが実行され、結果が表示されます。

ポイントとなる機能

名前 説明 ツールパレット上の場所
HTMLデータ生成処理 Velocityを用いてメモリ上にHTMLデータを生成します。 「ファイル」-「HTML」-「HTMLデータ生成」

処理のポイント

  • HTML生成処理のHTMLビルダーでVelocityテンプレートを編集し、検索系SQL実行処理で取得したデータを参照します。
    取得したデータを用いた繰り返し処理をVelocityテンプレートに追加することで、取得したレコード数分、HTMLの記述を繰り返すことが可能です。
    HTMLビルダーの詳細については、DataSpider Servistaヘルプの「HTMLビルダー」を参照してください。
  • 生成したHTMLはスクリプト出力変数に代入し、スクリプト外からの参照を可能にします。
  • HTTPトリガーの「実行内容の設定」画面の[スクリプト出力]の設定で、「HTML出力」の[値]にトリガー変数「trigger.outputData」を設定します。
    上記によって、スクリプト出力変数の値がウェブブラウザに渡されます。
    HTTPトリガーの詳細については、DataSpider Servistaヘルプの「HTTPトリガー」を参照してください。

サンプルプロジェクトの使用方法

上記処理を実装したサンプルプロジェクトを用意しています。サンプルプロジェクトを使用する場合の手順は、以下の通りです。

サンプルプロジェクトのダウンロード 逆引きリファレンス シナリオ041-043のサンプルプロジェクト
  1. サンプルプロジェクトの展開
    サンプルプロジェクトファイル「rl_reference_041-043.zip」を展開します。

  2. プロジェクトのアップロード
    「rl_reference_041-043.zip」を展開後に作成される「rl_reference_041-043プロジェクト」ディレクトリがプロジェクトファイルとなります。
    DataSpider Studioを起動し、マイプロジェクトの画面から[ファイル]-[ローカルからアップロード]で展開したディレクトリ「rl_reference_041-043プロジェクト」をアップロードしてください。
    本シナリオに該当するスクリプトは、「rl_reference_041-043プロジェクト」のスクリプト「rl_reference_041」です 。

  3. サンプルデータの準備
    「rl_reference_041-043.zip」を展開後に作成される「samples」ディレクトリがサンプルデータとなります。
    $DATASPIDER_HOME/server/samplesディレクトリに上書きしてください。

  4. サンプルデータベースの準備
    共通サンプルDBの「sample.zip」を展開し、「Sample.mdb」をODBCのデータソースに登録します。

  5. グローバルリソースの設定
    コントロールパネルの[グローバルリソースの設定]から、[新しいグローバルリソースの追加]を選択し、Accessのグローバルリソースを追加します。
    グローバルリソースの設定方法については、DataSpider Servistaヘルプの「グローバルリソースのプロパティ」を参照してください。

  6. プロジェクトをサービスとして登録
    スクリプトをHTTPトリガーから実行するため、プロジェクトをサービスとして登録します。
    デザイナから[ファイル]-[プロジェクトをサービスとして登録]を選択して登録します。
    サービス名は、「root@rl_reference_041-043プロジェクト」を設定します。

  7. HTTPトリガーの作成
    マイトリガーの画面から[ファイル]-[新規トリガー作成]を選択し、HTTPトリガーを作成します。
    HTMLトリガーは、以下のように設定します。

    HTTPトリガーの設定



    処理のポイント
    • HTTPトリガー実行のURLは、[実行パス]に「/sample_01」を設定してるため以下となります。
      http://<DataSpiderServer稼働OSのホスト名またはIPアドレス>:<ポート番号>/dataspider/trigger/sample_01
    • HTTPトリガー実行のURLにアクセスすると、スクリプトが実行されます。

    実行内容の設定



    処理のポイント
    • [スクリプト出力]の設定で、「HTML出力」の[値]にトリガー変数「trigger.outputData」を設定します。
      上記によって、スクリプト出力変数の値がウェブブラウザに渡されます。

  8. HTTPトリガー実行のURL変更
    サンプルプロジェクトのサンプルデータ「menu.html」に記述されている「在庫残少リスト」のリンクを、設定したHTTPトリガー実行のURLに変更します。

    <a href="http://<DataSpiderServer稼働OSのホスト名またはIPアドレス>:<ポート番号>/dataspider/trigger/sample_01" target="contents">在庫残少リスト</a>

スクリプトの作成手順

プロセスフローおよびデータフローは、「 サンプルプロジェクトの説明」のスクリプト画像を参照して適宜設定してください。
  1. HTML出力データとして使用するスクリプト変数を作成します。
    • スクリプト変数のプロパティは、以下のように設定します。

      スクリプト変数のプロパティ

      変数名 変数型 初期値 スクリプト出力変数として使用する
      HTML出力 文字列型   チェックを入れる

  2. デザイナのツールパレット「データベース」-「Access」-「検索系SQL実行」から、検索系SQL実行処理をスクリプトキャンバスに配置します。
    • 検索系SQL実行処理の設定は、以下のように行います。

      [必須設定]タブ



      [SQL文]は以下のように設定しています。

      SELECT
          製品在庫マスタテーブル.ローカル製品コード,
          製品在庫マスタテーブル.在庫数量,
          製品マスタテーブル.製品名,
          製品マスタテーブル.共通製品コード
      FROM (
          製品在庫マスタテーブル
          INNER JOIN 製品マスタテーブル
          ON 製品在庫マスタテーブル.ローカル製品コード = 製品マスタテーブル.ローカル製品コード )
      WHERE
          製品在庫マスタテーブル.在庫数量 < 100
      ORDER BY
          製品在庫マスタテーブル.在庫数量

  3. デザイナのツールパレット「ファイル」-「HTML」-「HTMLデータ生成」から、HTMLデータ生成処理をスクリプトキャンバスに配置します。

  4. HTMLビルダーを開き、検索系SQL実行処理で取得した結果をもとにHTMLを生成するため、Velocityテンプレートを編集します。
    • HTMLビルダーは、以下のように設定します。

      HTMLビルダー



      処理のポイント
      • Velocityテンプレートを編集し、検索系SQL実行処理で取得したデータを参照します。
        取得したデータを用いた繰り返し処理をVelocityテンプレートに追加することで、取得したレコード数分、HTMLの記述を繰り返すことが可能です。
        HTMLビルダーの詳細については、DataSpider Servistaヘルプの「HTMLビルダー」を参照してください。

  5. デザイナのツールパレット「基本」-「処理」-「変数代入」から、変数代入処理をスクリプトキャンバスに配置します。

  6. 変数代入処理のMapperエディタを開き、生成したHTMLをスクリプト変数に代入する処理を作成します。
    • マッピングキャンバスは、以下のように設定します。

      マッピングキャンバス


      HTMLデータ生成処理のコンポーネント変数「html_data」には、生成したHTMLデータが格納されます。

  7. スクリプトを保存し、プロジェクトをサービス登録後、HTTPトリガーを有効にします。
    サンプルプロジェクトのサンプルデータ「index.html」の「在庫残少リスト」を押下後に、生成したHTMLが表示されれば成功です。

コメント

ログインしてコメントを残してください。

Powered by Zendesk