Symfoware Server WebDBtoolsユーザーズガイド - FUJITSU - |
目次
索引
![]() ![]() |
第4章 データベース連携 | > 4.2 データベースのアクセス機構 |
一般に、ブラウザがサーバに依頼した要求の結果が、サーバからブラウザに返却されると、ブラウザとサーバの接続は切断されます。データベースへのアクセスには、アクセス環境を開設する必要がありますが、ブラウザの要求に従って、アクセス環境を開設すると、データベースのコネクションの開設などのために、アクセスごとにオーバヘッドが発生します。これは、アクセス効率を低下させます。
WebScriptには、一度開設したアクセス環境を保持するためのセション管理機能があります。開設されたアクセス環境を、WebScriptセションと呼びます。
データベース連携では、データベースにアクセスするために、WebScriptコマンドを使用します。プログラムからの要求には、以下の4種類があります。
ログイン要求(wit_gwd)
フォーマットファイルの実行要求(wit_fmtr)
バイナリデータのアクセス要求(wit_media)
ログアウト要求(wit_logout)
個別セションは、WebScriptセションをログインからログアウトまで保持しておき、再利用する形態です。WebScriptは、アクセス環境を開設したブラウザに、セションの識別子を与えます。2回目以降の依頼は、ログイン時に開設したアクセス環境(WebScriptセション)を、セション識別子から認識して、同一アクセス環境をログアウトまで利用します。セション内で有効であるグローバル変数と呼ばれる変数を利用して、データを記憶することができます。
利用者専用のセションを個々に持つため、利用者の数が少ない運用に適しています。以下に個別セションの概要を示します。
個別セションでは、以下の手順で利用します。
ログイン
WebScriptコマンド(wit_gwd)に、アプリケーション環境パラメタを引数として渡し、ログインします。以降のWebScriptへの依頼は、ログインの結果開設されたWebScriptセションにより実行されます。
アプリケーション環境パラメタは、ログイン後にブラウザに表示するHTMLファイルを指定します。このHTMLファイルをhomePageと呼びます。
処理要求
homePageから、WebScriptコマンド(wit_fmtr)のパラメタに、フォーマットファイル名を渡し、実行を依頼します。
バイナリデータを検索する場合は、WebScriptコマンド(wit_media)のパラメタに、バイナリデータを検索するSQL文およびバイナリデータの変換タイプを渡し、画像データなどに変換を依頼します。
フォーマットファイル中には、通常、次に実行するフォーマットファイルへの依頼を記述して、処理要求を次々に行います。
ログアウト要求
WebScriptコマンド(wit_logout)で、ログアウトを依頼します。通常は、フォーマットファイルの画面に、このコマンドを依頼するボタンまたはリンクを表示しておき、必要なときにログアウトできるようにします。
個別セションの利用方法の例を以下に示します。
個別セションを利用する場合は、ログインページやホームページ(ログイン直後の初期画面)のためのHTMLファイルおよび拡張タグを記述したフォーマットファイルを準備します。
ログイン用HTMLファイル:
個別セションの開設に必要なファイルです。wit_gwdコマンドにアプリケーション環境パラメタを引数として渡し、ログインを実行するためのHTMLファイルです。これらのファイルをHTML用のディレクトリに配置します。ログイン用HTMLファイルの記述方法については、“WebScriptコマンド”を参照してください。
homePage用HTMLファイル:
個別セションの実行時に必要なファイルです。個別セションへログイン直後に表示するページのファイルです。homePageのHTMLファイルから、wit_fmtrコマンドに依頼して、フォーマットファイルを呼び出します。homePage用HTMLファイルの記述方法については、“WebScriptコマンド”を参照してください。
フォーマットファイル:
データベースをアクセスする拡張タグを記述して、データベースの処理を行います。作成する業務に応じて任意の個数のファイルを作成します。フォーマットファイルの作成については、本章および“フォーマットファイル”から“関数”を参照してください。
“個別セション”のサンプルプログラムで用いているファイルの構成を一例として説明します。サンプルプログラムは、以下のようなファイル構成となっています。
WebDBtoolsのインストールディレクトリ sampleディレクトリ:サンプルに関するファイル全体を配置するディレクトリ format_privateディレクトリ:個別セションのフォーマットファイル配置ディレクトリ demo_fmt.html:データベースの検索用のフォーマットファイル shibori_fmt.html:demo_fmt.htmlの画面から更に条件を絞り込んだ検索用のフォーマットファイル htmlディレクトリ:htmlファイル用のディレクトリ login.html:ログイン用HTMLファイル demo.html:homePage用HTMLファイル
個別セションを利用する場合、アプリケーション環境パラメタを準備します。アプリケーション環境パラメタには、利用するRDBシステム名、データベース名、フォーマットファイル情報、ホームページ情報およびデータベースの利用者情報を指定します。フォーマットファイル情報、ホームページ情報以外は、ログイン画面から入力して設定することもできます。
“個別セション”のサンプルプログラムのアプリケーション環境パラメタの指定のイメージを以下に示します。なお、アプリケーション環境パラメタの指定例については、“個別セション”を参照してください。
主要な要素 |
指定値 |
---|---|
RDBシステム名 |
rdbsys1 |
データベース名 |
SAMPLE |
フォーマットファイル情報 |
format_privateディレクトリのパス名 |
ホームページ情報 |
demo.htmlファイルの絶対パス名 |
アプリケーション環境パラメタの詳細は、“環境パラメタ”を参照してください。
個別セションの環境パラメタの指定のイメージを以下に示します。
“個別セション”のサンプルプログラムを例に個別セションの実行の流れを説明します。
ログイン画面表示
ログイン用のHTMLファイル(login.html)をURLに指定すると、ログイン画面が表示されます。
ログイン依頼
利用者がユーザ情報を、ログイン画面に入力し実行します。
ログイン用のHTMLファイル(login.html)に記述しているwit_gwdコマンドのWIT_envパラメタに、アプリケーション環境パラメタ名(sample.env)が指定され、ログインが依頼されます。本例では、利用者がユーザIDとパスワードを入力し、ログインします。
wit_gwdコマンドの実行により、WebScriptセションが生成されます。
homePage表示
ログインが終了すると、アプリケーション環境パラメタ情報に記述されたhomePage(初画面、本例では、demo.html)がログインの結果として表示されます。
検索依頼
初画面に表示された検索実行要求を依頼します。検索を実行するフォーマットファイル(demo_fmt.html)を引数として、wit_fmtrコマンドに依頼します。本例では、製品名を入力し、検索を実行します。
wit_fmtrコマンドにより、フォーマットファイルの拡張タグ(!DO "SELECT")が実行され、データベースからデータが検索されます。
検索結果表示
データベースから検索されたデータを埋め込んだ結果が表示されます。
絞込みの検索依頼
検索結果画面に対して、更に絞込み要求を依頼します。絞込みを行うフォーマットファイル(shibori.html)を引数として、wit_fmtrコマンドに依頼します。
wit_fmtrコマンドにより、フォーマットファイルの拡張タグ(!DO "SELECT")が実行され絞込み条件を追加して、データベースのデータが再検索されます。
ログアウト依頼
wit_logoutコマンドにログアウトを依頼します。その結果ログアウト後に表示する画面が表示されます。本例では、ログアウト後表示する画面は、ログイン画面としています。
ログアウトしないで、別の検索条件でwit_fmtrコマンドを実行することにより、引き続きセションを継続することもできます。
WebScript起動時に、セションプール内にセションを任意数用意しておき、アクセス要求が生じた場合に、プール内のセションを利用する形態です。アクセス中は、対象アクセス環境を使用中とし、アクセスが終了したときは、セションを未使用とします。これによって、開設したセションの数だけ、データベースの同時アクセスが可能となります。WebScript全体でアクセス環境を共用するため、使用資源を一定量に押さえることができます。利用されるセションは、アクセスのたびに異なる可能性があります。
共有セションは、WebScriptサーバの起動時に開設されるため、ログインやログアウトの処理は必要ありません。共有セションでは、データベースのアクセス利用者情報を、WebScriptサーバ全体で共用します。以下に共有セションの概要を示します。
共有セションでは、フォーマットファイルに実行要求を繰り返し行います。依頼のたびに、どのセションで実行されるかは不定です。
フォーマットファイル実行要求は、以下のとおりになります。
WebScriptコマンド(wit_fmtr)のパラメタにフォーマットファイル名を渡し、実行を依頼します。
フォーマットファイル中には、通常、次に実行するフォーマットへの依頼を記述しておくか、またはログアウトの実行を依頼します。
バイナリデータを検索する場合は、WebScriptコマンド(wit_media)のパラメタに、バイナリデータを検索するSQL文と変換タイプを渡し、画像データなどに変換を依頼します。
共有セションを利用する場合は、フォーマットファイルに処理を依頼するHTMLファイルおよび拡張タグを記述したフォーマットファイルを準備します。
処理依頼用HTMLファイル:
共有セション利用時に、フォーマットファイルに処理を依頼するページのファイルです。HTMLファイルの記述方法については、“WebScriptコマンド”を参照してください。本HTMLファイルから、wit_fmtrコマンドに依頼して、フォーマットファイルを呼び出します。
フォーマットファイル:
データベースをアクセスする拡張タグを記述して、データベースの処理を行います。作成する業務に応じて任意の個数のファイルを作成します。フォーマットファイルの作成については、本章および“フォーマットファイル”から“関数”を参照してください。
“共有セション”のサンプルプログラムで用いているファイルの構成を一例として説明します。“共有セション”のサンプルプログラムでは、以下のようなファイル構成となっています。
WebDBtoolsのインストールディレクトリ sampleディレクトリ:サンプルに関するファイル全体を配置するディレクトリ format_publicディレクトリ:共有セションのフォーマットファイル配置ディレクトリ demo_fmt.html:データベースの検索用のフォーマットファイル shibori_fmt.html:demo_fmt.htmlの画面から更に条件を絞り込んだ検索用のフォーマットファイル htmlデイレクトリ:htmlファイル用のディレクトリ demo_cookie.html:フォーマットファイルに処理依頼するHTMLファイル
共有セションでは、WebScriptサーバの起動時にWebScriptセションが生成されます。したがって、アクセス環境のデータベース利用者情報には、共有セションで利用するデータベースにアクセスが可能な(適切な権限を保持した)ユーザIDを準備します。
共有セションを利用する場合、共有セションのアプリケーション環境パラメタの準備とサーバ環境パラメタの設定値を変更します。共有セションのアプリケーション環境パラメタには、利用するRDBシステム名、データベース名、フォーマットファイル情報および利用者情報を指定します。
“共有セション”のサンプルプログラムのアプリケーション環境パラメタの指定のイメージを以下に示します。なお、アプリケーション環境パラメタの指定例については、“共有セション”を参照してください。
主要な要素 |
指定値 |
---|---|
RDBシステム名 |
rdbsys1 |
データベース名 |
SAMPLE |
フォーマットファイル情報 |
format_publicディレクトリのパス名 |
利用者情報 |
ユーザIDとパスワード |
アプリケーション環境パラメタの詳細は、“環境パラメタ”を参照してください。
共有セションの環境パラメタの指定のイメージを以下に示します。
“共有セション”のサンプルプログラムを例に共有セションの実行の流れを説明します。
依頼HTML画面表示
URLに、フォーマットファイルに処理を依頼するためのHTMLファイルを(本例では、demo_cookie.html)指定し、処理依頼画面を表示します。
検索依頼
依頼画面に表示された検索実行要求を依頼します。検索を実行するフォーマットファイル(demo_fmt.html)を引数として、wit_fmtrコマンドに依頼します。本例では、製品名を入力し、検索を実行します。
wit_fmtrコマンドにより、フォーマットファイルの拡張タグ(!DO "SELECT")が実行されデータベースからデータが検索されます。
検索結果表示
データベースから検索されたデータを埋め込んだ結果が表示されます。
共有セションには、セション利用した環境を保持するための変数(グローバル変数)は利用できないため、セションが利用した環境(ここでは、検索に利用した条件)を、Cookieに記憶しておきます。Cookieの設定については、「<!SETCOOKIE>」を参照してください。
絞込みの検索依頼
検索結果画面に対して、更に絞込み要求を依頼します。絞込みを行うフォーマットファイル(shibori.html)を引数として、wit_fmtrコマンドに依頼します。
wit_fmtrコマンドにより、フォーマットファイルの拡張タグ(!DO "SELECT")が実行されデータベースのデータが絞込み条件で再検索されます。
終了
終了時は、トップ画面への推移により操作を終了します。
目次
索引
![]() ![]() |