(57)【要約】【課題】Webシステムを前提としつつ、専用アプリと同等のユーザインターフェイスを備えたデータベース利用システムの実現。【解決手段】フロントエンドサーバ16が、一覧表50の最大横幅情報及び各データ項目の表示幅情報を参照し、一覧表50に表示すべきデータ項目を決定する機能、DBサーバ14から送信されたデータリストが格納された第１のキャッシュ38から、表示項目に係るデータ列を所定行数分抽出し第２のキャッシュ40に格納する機能、これをテンプレートに充填してWebファイルを生成しクライアント端末12に送信する機能、クライアント端末12から横スクロールイベントが送信された場合に、最大横幅情報及び各データ項目の表示幅情報を参照し、横スクロール後に表示すべきデータ項目を決定する機能、第１のキャッシュ38から表示項目に係るデータ列を所定行数分抽出し第２のキャッシュ40に格納する機能、これを基にWebファイルを生成しクライアント端末12に送信する機能を備えた。【選択図】        図２
2006031130.tif 000002
【特許請求の範囲】
【請求項１】
データベースサーバとクライアント端末との間に介装されたフロントエンドサーバを備えたデータベース利用システムであって、
上記フロントエンドサーバが、
画面デザインが規定する一覧表の最大横幅情報及び各データ項目の表示幅情報を参照し、初期画面において一覧表に表示すべきデータ項目を決定する機能と、
データベースサーバから送信されたデータリストが格納されている第１のキャッシュから、上記データ項目に係るデータ列を抽出し、第２のキャッシュに格納する機能と、
第２のキャッシュ内のデータリストを取り出し、画面デザインを反映したテンプレートに充填して画面表示用のWebファイルを生成する機能と、
このWebファイルをクライアント端末に送信する機能と、
クライアント端末から表示中の一覧表に対する横スクロールイベントが送信された場合に、上記最大横幅情報及び各データ項目の表示幅情報を参照し、当該横スクロール後に表示すべきデータ項目を決定する機能と、
第１のキャッシュから上記データ項目に係るデータ列を抽出し、第２のキャッシュに格納する機能と、
第２のキャッシュ内のデータリストを取り出し、画面デザインを反映したテンプレートに充填してスクロール後の画面表示用のWebファイルを生成する機能と、
このWebファイルをクライアント端末に送信する機能と、
を備えたことを特徴とするデータベース利用システム。
【請求項２】
データベースサーバとクライアント端末との間に介装されたフロントエンドサーバを備えたデータベース利用システムであって、
上記フロントエンドサーバが、
画面デザインが規定する一覧表の最大横幅情報、各データ項目の表示幅情報、及び固定表示項目情報を参照し、初期画面において当該固定表示項目以外に一覧表に表示すべきデータ項目を決定する機能と、
データベースサーバから送信されたデータリストが格納されている第１のキャッシュから、上記データ項目に係るデータ列及び固定表示項目に係るデータ列を抽出し、第２のキャッシュに格納する機能と、
第２のキャッシュ内のデータリストを取り出し、画面デザインを反映したテンプレートに充填して画面表示用のWebファイルを生成する機能と、
このWebファイルをクライアント端末に送信する機能と、
クライアント端末から表示中の一覧表に対する横スクロールイベントが送信された場合に、上記最大横幅情報、各データ項目の表示幅情報及び固定表示項目情報を参照し、当該横スクロール後において当該固定表示項目以外に一覧表に表示すべきデータ項目を決定する機能と、
第１のキャッシュから上記データ項目に係るデータ列及び固定表示項目に係るデータ列を抽出し、第２のキャッシュに格納する機能と、
第２のキャッシュ内のデータリストを取り出し、画面デザインを反映したテンプレートに充填してスクロール後の画面表示用のWebファイルを生成する機能と、
このWebファイルをクライアント端末に送信する機能と、
を備えたことを特徴とするデータベース利用システム。
【請求項３】
データベースサーバとクライアント端末との間に介装されたフロントエンドサーバを備えたデータベース利用システムであって、
上記フロントエンドサーバが、
画面デザインが規定する一覧表の最大横幅情報及び各データ項目の表示幅情報を参照し、初期画面において一覧表に表示すべきデータ項目を決定する機能と、
データベースサーバから送信されたデータリストが格納されている第１のキャッシュから、上記データ項目に係るデータ列を画面デザインが規定する一覧表の行数に対応する件数分抽出し、第２のキャッシュに格納する機能と、
第２のキャッシュ内のデータリストを取り出し、画面デザインを反映したテンプレートに充填して画面表示用のWebファイルを生成する機能と、
このWebファイルをクライアント端末に送信する機能と、
クライアント端末から表示中の一覧表に対する横スクロールイベントが送信された場合に、上記最大横幅情報及び各データ項目の表示幅情報を参照し、当該横スクロール後に表示すべきデータ項目を決定する機能と、
第１のキャッシュから上記データ項目に係るデータ列を画面デザインが規定する一覧表の行数に対応する件数分抽出し、第２のキャッシュに格納する機能と、
第２のキャッシュ内のデータリストを取り出し、画面デザインを反映したテンプレートに充填してスクロール後の画面表示用のWebファイルを生成する機能と、
このWebファイルをクライアント端末に送信する機能と、
クライアント端末から表示中の一覧表に対する縦スクロールイベントが送信された場合に、第１のキャッシュから上記データ項目に係るデータ列の中で当該縦スクロール後に表示されるべき各行に対応する部分を抽出し、第２のキャッシュに格納する機能と、
この第２のキャッシュ内のデータリストを取り出し、上記テンプレートに充填してスクロール後の画面表示用のWebファイルを生成する機能と、
このWebファイルをクライアント端末に送信する機能と、
を備えたことを特徴とするデータベース利用システム。
【請求項４】
データベースサーバとクライアント端末との間に介装されたフロントエンドサーバを備えたデータベース利用システムであって、
上記フロントエンドサーバが、
画面デザインが規定する一覧表の最大横幅情報、各データ項目の表示幅情報、及び固定表示項目情報を参照し、初期画面において当該固定表示項目以外に一覧表に表示すべきデータ項目を決定する機能と、
データベースサーバから送信されたデータリストが格納されている第１のキャッシュから、上記データ項目に係るデータ列及び固定表示項目に係るデータ列を画面デザインが規定する一覧表の行数に対応する件数分抽出し、第２のキャッシュに格納する機能と、
第２のキャッシュ内のデータリストを取り出し、画面デザインを反映したテンプレートに充填して画面表示用のWebファイルを生成する機能と、
このWebファイルをクライアント端末に送信する機能と、
クライアント端末から表示中の一覧表に対する横スクロールイベントが送信された場合に、上記最大横幅情報、各データ項目の表示幅情報及び固定表示項目情報を参照し、当該横スクロール後において当該固定表示項目以外に一覧表に表示すべきデータ項目を決定する機能と、
第１のキャッシュから上記データ項目に係るデータ列及び固定表示項目に係るデータ列を画面デザインが規定する一覧表の行数に対応する件数分抽出し、第２のキャッシュに格納する機能と、
第２のキャッシュ内のデータリストを取り出し、画面デザインを反映したテンプレートに充填してスクロール後の画面表示用のWebファイルを生成する機能と、
このWebファイルをクライアント端末に送信する機能と、
クライアント端末から表示中の一覧表に対する縦スクロールイベントが送信された場合に、第１のキャッシュから上記データ項目に係るデータ列及び固定表示項目に対応するデータ列の中で当該縦スクロール後に表示されるべき各行に対応する部分を抽出し、第２のキャッシュに格納する機能と、
この第２のキャッシュ内のデータリストを取り出し、上記テンプレートに充填してスクロール後の画面表示用のWebファイルを生成する機能と、
このWebファイルをクライアント端末に送信する機能と、
を備えたことを特徴とするデータベース利用システム。
【請求項５】
上記フロントエンドサーバが、
データベースサーバから送信されたレコードのリストをバッファに格納する機能と、
上記レコードを構成しているデータの中、画面デザイン上表示が要求されるデータ項目に係るデータの組合せを抽出する機能と、
このデータの組合せからなるデータリストを第１のキャッシュに格納する機能と、
を備えたことを特徴とする請求項１〜４の何れかに記載のデータベース利用システム。
【請求項６】
上記フロントエンドサーバが、
データベースサーバから送信されたレコードのリストをバッファに格納する機能と、
上記レコードを構成する少なくとも一部のデータを汎用的なデータ型に変換する機能と、
この変換済みのデータからなるデータリストを第１のキャッシュに格納する機能と、
を備えたことを特徴とする請求項１〜５の何れかに記載のデータベース利用システム。
【請求項７】
データベースサーバとクライアント端末との間に介装されたフロントエンドサーバに適用するデータベース利用プログラムであって、
上記フロントエンドサーバを、
画面デザインが規定する一覧表の最大横幅情報及び各データ項目の表示幅情報を参照し、初期画面において一覧表に表示すべきデータ項目を決定する手段、
データベースサーバから送信されたデータリストが格納されている第１のキャッシュから、上記データ項目に係るデータ列を抽出し、第２のキャッシュに格納する手段、
第２のキャッシュ内のデータリストを取り出し、画面デザインを反映したテンプレートに充填して画面表示用のWebファイルを生成する手段、
このWebファイルをクライアント端末に送信する手段、
クライアント端末から表示中の一覧表に対する横スクロールイベントが送信された場合に、上記最大横幅情報及び各データ項目の表示幅情報を参照し、当該横スクロール後に表示すべきデータ項目を決定する手段、
第１のキャッシュから上記データ項目に係るデータ列を抽出し、第２のキャッシュに格納する手段、
第２のキャッシュ内のデータリストを取り出し、画面デザインを反映したテンプレートに充填してスクロール後の画面表示用のWebファイルを生成する手段、
このWebファイルをクライアント端末に送信する手段、
として機能させることを特徴とするデータベース利用プログラム。
【請求項８】
データベースサーバとクライアント端末との間に介装されたフロントエンドサーバに適用するデータベース利用プログラムであって、
上記フロントエンドサーバを、
画面デザインが規定する一覧表の最大横幅情報、各データ項目の表示幅情報、及び固定表示項目情報を参照し、初期画面において当該固定表示項目以外に一覧表に表示すべきデータ項目を決定する手段、
データベースサーバから送信されたデータリストが格納されている第１のキャッシュから、上記データ項目に係るデータ列及び固定表示項目に係るデータ列を抽出し、第２のキャッシュに格納する手段、
第２のキャッシュ内のデータリストを取り出し、画面デザインを反映したテンプレートに充填して画面表示用のWebファイルを生成する手段、
このWebファイルをクライアント端末に送信する手段、
クライアント端末から表示中の一覧表に対する横スクロールイベントが送信された場合に、上記最大横幅情報、各データ項目の表示幅情報及び固定表示項目情報を参照し、当該横スクロール後において当該固定表示項目以外に一覧表に表示すべきデータ項目を決定する手段、
第１のキャッシュから上記データ項目に係るデータ列及び固定表示項目に係るデータ列を抽出し、第２のキャッシュに格納する手段、
第２のキャッシュ内のデータリストを取り出し、画面デザインを反映したテンプレートに充填してスクロール後の画面表示用のWebファイルを生成する手段、
このWebファイルをクライアント端末に送信する手段、
として機能させることを特徴とするデータベース利用プログラム。
【請求項９】
データベースサーバとクライアント端末との間に介装されたフロントエンドサーバに適用するデータベース利用プログラムであって、
上記フロントエンドサーバを、
画面デザインが規定する一覧表の最大横幅情報及び各データ項目の表示幅情報を参照し、初期画面において一覧表に表示すべきデータ項目を決定する手段、
データベースサーバから送信されたデータリストが格納されている第１のキャッシュから、上記データ項目に係るデータ列を画面デザインが規定する一覧表の行数に対応する件数分抽出し、第２のキャッシュに格納する手段、
第２のキャッシュ内のデータリストを取り出し、画面デザインを反映したテンプレートに充填して画面表示用のWebファイルを生成する手段、
このWebファイルをクライアント端末に送信する手段、
クライアント端末から表示中の一覧表に対する横スクロールイベントが送信された場合に、上記最大横幅情報及び各データ項目の表示幅情報を参照し、当該横スクロール後に表示すべきデータ項目を決定する手段、
第１のキャッシュから上記データ項目に係るデータ列を画面デザインが規定する一覧表の行数に対応する件数分抽出し、第２のキャッシュに格納する手段、
第２のキャッシュ内のデータリストを取り出し、画面デザインを反映したテンプレートに充填してスクロール後の画面表示用のWebファイルを生成する手段、
このWebファイルをクライアント端末に送信する手段、
クライアント端末から表示中の一覧表に対する縦スクロールイベントが送信された場合に、第１のキャッシュから上記データ項目に係るデータ列の中で当該縦スクロール後に表示されるべき各行に対応する部分を抽出し、第２のキャッシュに格納する手段、
この第２のキャッシュ内のデータリストを取り出し、上記テンプレートに充填してスクロール後の画面表示用のWebファイルを生成する手段、
このWebファイルをクライアント端末に送信する手段、
として機能させることを特徴とするデータベース利用プログラム。
【請求項１０】
データベースサーバとクライアント端末との間に介装されたフロントエンドサーバに適用するデータベース利用プログラムであって、
上記フロントエンドサーバを、
画面デザインが規定する一覧表の最大横幅情報、各データ項目の表示幅情報、及び固定表示項目情報を参照し、初期画面において当該固定表示項目以外に一覧表に表示すべきデータ項目を決定する手段、
データベースサーバから送信されたデータリストが格納されている第１のキャッシュから、上記データ項目に係るデータ列及び固定表示項目に係るデータ列を画面デザインが規定する一覧表の行数に対応する件数分抽出し、第２のキャッシュに格納する手段、
第２のキャッシュ内のデータリストを取り出し、画面デザインを反映したテンプレートに充填して画面表示用のWebファイルを生成する手段、
このWebファイルをクライアント端末に送信する手段、
クライアント端末から表示中の一覧表に対する横スクロールイベントが送信された場合に、上記最大横幅情報、各データ項目の表示幅情報及び固定表示項目情報を参照し、当該横スクロール後において当該固定表示項目以外に一覧表に表示すべきデータ項目を決定する手段、
第１のキャッシュから上記データ項目に係るデータ列及び固定表示項目に係るデータ列を画面デザインが規定する一覧表の行数に対応する件数分抽出し、第２のキャッシュに格納する手段、
第２のキャッシュ内のデータリストを取り出し、画面デザインを反映したテンプレートに充填してスクロール後の画面表示用のWebファイルを生成する手段、
このWebファイルをクライアント端末に送信する手段、
クライアント端末から表示中の一覧表に対する縦スクロールイベントが送信された場合に、第１のキャッシュから上記データ項目に係るデータ列及び固定表示項目に対応するデータ列の中で当該縦スクロール後に表示されるべき各行に対応する部分を抽出し、第２のキャッシュに格納する手段、
この第２のキャッシュ内のデータリストを取り出し、上記テンプレートに充填してスクロール後の画面表示用のWebファイルを生成する手段、
このWebファイルをクライアント端末に送信する手段、
として機能させることを特徴とするデータベース利用プログラム。
【請求項１１】
上記フロントエンドサーバを、
データベースサーバから送信されたレコードのリストをバッファに格納する手段、
上記レコードを構成しているデータの中、画面デザイン上表示が要求されるデータ項目に係るデータの組合せを抽出する手段、
このデータの組合せからなるデータリストを第１のキャッシュに格納する手段、
として機能させることを特徴とする請求項７〜１０の何れかに記載のデータベース利用プログラム。
【請求項１２】
上記フロントエンドサーバを、
データベースサーバから送信されたレコードのリストをバッファに格納する手段、
上記レコードを構成する少なくとも一部のデータを汎用的なデータ型に変換する手段、
この変換済みのデータからなるデータリストを第１のキャッシュに格納する手段、
として機能させることを特徴とする請求項７〜１１の何れかに記載のデータベース利用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はデータベース利用技術に係り、特に、クライアント端末とデータベースサーバとの間にフロントエンドサーバを設置し、このフロントエンドサーバを介してクライアント端末のWebブラウザプログラムからデータベースサーバ内の登録データを利用する仕組みを備えたデータベース利用システム及びデータベース利用プログラムに関する。
【背景技術】
【０００２】
元来、データベースサーバが管理しているデータベースをクライアント端末において利用（参照または更新）するために、専用のアプリケーションプログラムをクライアント端末にセットアップすることが行われていた。
この専用のアプリケーションプログラムは、操作ボタンの配置や入力・表示欄の構成などの、いわゆるユーザインターフェイスの設計に適した第四世代言語、例えばVisual Basic（登録商標）等で一般にコーディングされており、非特許文献１に示すように、データベースの参照及び更新に際し視認性や一覧性に優れた画面をディスプレイに表示することができる利点を備えている。
これに対し最近は、個々のクライアント端末に専用のアプリケーションプログラムを搭載することの非効率性が認識されるようになり、またインターネットを中心としたWebシステムの普及もあり、汎用的なWebブラウザプログラムを用いてデータベースの参照や更新を行いたいという要請が強まってきている。
【０００３】
図１は、このようなWebシステムを用いたデータベースの利用形態の一例を示すものであり、DB（Database）サーバ14の前段にWebサーバ機能及びAP（Application）サーバ機能を備えたフロントエンドサーバ16が設置され、インターネットやイントラネット等の通信ネットワーク18を介してこのサーバ16が多数のクライアント端末12と接続されている様子が描かれている。
各クライアント端末12にはWebブラウザプログラムがセットアップされており、このWebブラウザを通じてフロントエンドサーバ16にデータベースの利用要求が送信されると、フロントエンドサーバ82はDBサーバ14に対して該当データの抽出を依頼する。
そして、DBサーバ14からデータが送信されると、これをフロントエンドサーバ16がWebファイルに加工した上で、クライアント端末12に送信する。
この結果ユーザは、クライアント端末12のディスプレイに表示された汎用のWebブラウザ上でデータの閲覧が可能となる（非特許文献２の「テーブルの一覧」参照）。
また、ユーザがWebブラウザ上でデータの追加や修正を行い、クライアント端末12から更新リクエストが送信されると、フロントエンドサーバ16はDBサーバ14に対してこれらの更新情報を送信し、データベースの更新処理を依頼する。
【非特許文献１】入力処理の画面サンプル［平成１６年６月７日検索］  インターネットURL:http://it.e-otsuka.com/ryutsu/images/food_sft1.gif
【非特許文献２】itBASEのデザイン画面サンプル［平成１６年６月７日検索］  インターネットURL:http://219.118.162.84/eaccess/servlet/eAccess?PAGE=00005&acountid=access&accessid=itbase&UPAGE=00002&FILENM=pageclip&FILENO=00002&FILEID=000061&CLIPTABLE=&FORMNO=page00002&REPORTNO
【発明の開示】
【発明が解決しようとする課題】
【０００４】
このように、クライアント端末12に搭載した汎用的なWebブラウザプログラムを介してデータベースの利用が可能になると、クライアント端末12に専用のアプリケーションプログラムを搭載する場合に比べ、イニシャルコストやランニングコストの低減効果が生じ、メンテナンスもサーバ16側で完了できる利点が生じる。
【０００５】
しかしながら、汎用のWebブラウザプログラムには基本的に「頁（ページ）」という概念が存在しないため、データベースの利用画面をディスプレイ上に表示させた場合に、レコードのリストを所定の行数で頁送りすることが困難であり、表示行数が固定された専用のアプリケーションプログラムの操作性に慣れたユーザに違和感を抱かせてしまうという問題がある。
実際、レコードの件数が多い場合には、非特許文献２の「フォームのフィールド指定」画面より明かなように、最終行の下に配置された「登録」や「削除」といった操作ボタンを表示させるために画面自体の縦スクロールを何度も行う必要が生じ、ユーザは大きなストレスを感じることとなる。
【０００６】
また、レコードに含まれるデータ項目数が多い場合、Webブラウザ上で右方向に横スクロールを繰り返すことによって隠れているデータ項目を表示させることは可能であるが、この横スクロールに伴いデータの一覧表以外の部分がディスプレイの左端に隠れてしまい、画面の全体像を見失ってしまうこととなる。
画面内部にスクロールエリアを定義することにより、そのエリア内でのみ横スクロールさせることは可能であるが、項目単位で表示内容を切り替えることまではできないため、各項目の長さに合わせて横スクロールバーを左右に微調整する煩わしさがあり、途中で切れた状態の項目が表示されることによるデザイン上の課題もあった。
上記した専用のアプリケーションプログラムの場合には、データ一覧表の外枠を固定したまま表示内容を項目単位で横スクロールさせる機能を実装できるため、画面の全体像を崩すことなく横方向へ長く延びるレコードを項目単位で切り替え表示させることも可能であるが、汎用的なWebブラウザプログラムにこれを望むことはできなかった。
【０００７】
さらに、クライアント端末12とサーバ16間での情報のやり取りが増えるため、クライアント端末12の数が増えるに従ってネットワークに大きな負荷を与えるようになる。
特に、ＤＢサーバ14に格納されたレコードが多くのデータ項目を備えている場合に、その一部のみをクライアント端末12上で表示させることは、ヒドゥン（hidden）という技術を使うことによって従来も可能であったが、これは非表示のデータであってもクライアント端末12とサーバ16間を往復することが前提となるため、データ通信量の増大を招いていた。
【０００８】
この発明は、上記の問題点を解決するために案出されたものであり、WebベースでDBサーバが管理するデータベースを利用することを前提としながらも、クライアント端末側のユーザインターフェイスを専用アプリケーションプログラムと同様のレベルに高めることができると共に、サーバとクライアント端末間のデータ通信量の低減を実現できるデータベース利用技術を提供することを目的としている。
【課題を解決するための手段】
【０００９】
上記の目的を達成するため、請求項１に記載したデータベース利用システムは、データベースサーバとクライアント端末との間に介装されたフロントエンドサーバを備えたデータベース利用システムであって、上記フロントエンドサーバが、画面デザインが規定する一覧表の最大横幅情報及び各データ項目の表示幅情報を参照し、初期画面において一覧表に表示すべきデータ項目を決定する機能と、データベースサーバから送信されたデータリストが格納されている第１のキャッシュから、上記データ項目に係るデータ列を抽出し、第２のキャッシュに格納する機能と、第２のキャッシュ内のデータリストを取り出し、画面デザインを反映したテンプレートに充填して画面表示用のWebファイルを生成する機能と、このWebファイルをクライアント端末に送信する機能と、クライアント端末から表示中の一覧表に対する横スクロールイベントが送信された場合に、上記最大横幅情報及び各データ項目の表示幅情報を参照し、当該横スクロール後に表示すべきデータ項目を決定する機能と、第１のキャッシュから上記データ項目に係るデータ列を抽出し、第２のキャッシュに格納する機能と、第２のキャッシュ内のデータリストを取り出し、画面デザインを反映したテンプレートに充填してスクロール後の画面表示用のWebファイルを生成する機能と、このWebファイルをクライアント端末に送信する機能とを備えたことを特徴としている。
上記「一覧表の最大横幅情報」は、クライアント端末のディスプレイにおける解像度や画面における一覧表の面積比等を考慮して設定される。
上記「横スクロールイベント」は、一覧表における表示内容を左右方向に項目単位で移動させることを求める左列スクロールイベント及び右列スクロールイベントの他、表示内容を左右方向に頁単位で移動させることを求める左頁スクロールイベント及び右頁スクロールイベントを含む概念である（以下同様）。
【００１０】
請求項２に記載したデータベース利用システムは、データベースサーバとクライアント端末との間に介装されたフロントエンドサーバを備えたデータベース利用システムであって、上記フロントエンドサーバが、画面デザインが規定する一覧表の最大横幅情報、各データ項目の表示幅情報、及び固定表示項目情報を参照し、初期画面において当該固定表示項目以外に一覧表に表示すべきデータ項目を決定する機能と、データベースサーバから送信されたデータリストが格納されている第１のキャッシュから、上記データ項目に係るデータ列及び固定表示項目に係るデータ列を抽出し、第２のキャッシュに格納する機能と、第２のキャッシュ内のデータリストを取り出し、画面デザインを反映したテンプレートに充填して画面表示用のWebファイルを生成する機能と、このWebファイルをクライアント端末に送信する機能と、クライアント端末から表示中の一覧表に対する横スクロールイベントが送信された場合に、上記最大横幅情報、各データ項目の表示幅情報及び固定表示項目情報を参照し、当該横スクロール後において当該固定表示項目以外に一覧表に表示すべきデータ項目を決定する機能と、第１のキャッシュから上記データ項目に係るデータ列及び固定表示項目に係るデータ列を抽出し、第２のキャッシュに格納する機能と、第２のキャッシュ内のデータリストを取り出し、画面デザインを反映したテンプレートに充填してスクロール後の画面表示用のWebファイルを生成する機能と、このWebファイルをクライアント端末に送信する機能とを備えたことを特徴としている。
【００１１】
請求項３に記載したデータベース利用システムは、データベースサーバとクライアント端末との間に介装されたフロントエンドサーバを備えたデータベース利用システムであって、上記フロントエンドサーバが、画面デザインが規定する一覧表の最大横幅情報及び各データ項目の表示幅情報を参照し、初期画面において一覧表に表示すべきデータ項目を決定する機能と、データベースサーバから送信されたデータリストが格納されている第１のキャッシュから、上記データ項目に係るデータ列を画面デザインが規定する一覧表の行数に対応する件数分抽出し、第２のキャッシュに格納する機能と、第２のキャッシュ内のデータリストを取り出し、画面デザインを反映したテンプレートに充填して画面表示用のWebファイルを生成する機能と、このWebファイルをクライアント端末に送信する機能と、クライアント端末から表示中の一覧表に対する横スクロールイベントが送信された場合に、上記最大横幅情報及び各データ項目の表示幅情報を参照し、当該横スクロール後に表示すべきデータ項目を決定する機能と、第１のキャッシュから上記データ項目に係るデータ列を画面デザインが規定する一覧表の行数に対応する件数分抽出し、第２のキャッシュに格納する機能と、第２のキャッシュ内のデータリストを取り出し、画面デザインを反映したテンプレートに充填してスクロール後の画面表示用のWebファイルを生成する機能と、このWebファイルをクライアント端末に送信する機能と、クライアント端末から表示中の一覧表に対する縦スクロールイベントが送信された場合に、第１のキャッシュから上記データ項目に係るデータ列の中で当該縦スクロール後に表示されるべき各行に対応する部分を抽出し、第２のキャッシュに格納する機能と、この第２のキャッシュ内のデータリストを取り出し、上記テンプレートに充填してスクロール後の画面表示用のWebファイルを生成する機能と、このWebファイルをクライアント端末に送信する機能とを備えたことを特徴としている。
上記「縦スクロールイベント」は、一覧表における表示内容を上下方向に行単位で移動させることを求める前行スクロールイベント及び次行スクロールイベントの他、表示内容を上下方向に頁単位で移動させることを求める前頁スクロールイベント及び次頁スクロールイベントを含む概念である（以下同様）。
【００１２】
請求項４に記載したデータベース利用システムは、データベースサーバとクライアント端末との間に介装されたフロントエンドサーバを備えたデータベース利用システムであって、上記フロントエンドサーバが、画面デザインが規定する一覧表の最大横幅情報、各データ項目の表示幅情報、及び固定表示項目情報を参照し、初期画面において当該固定表示項目以外に一覧表に表示すべきデータ項目を決定する機能と、データベースサーバから送信されたデータリストが格納されている第１のキャッシュから、上記データ項目に係るデータ列及び固定表示項目に係るデータ列を画面デザインが規定する一覧表の行数に対応する件数分抽出し、第２のキャッシュに格納する機能と、第２のキャッシュ内のデータリストを取り出し、画面デザインを反映したテンプレートに充填して画面表示用のWebファイルを生成する機能と、このWebファイルをクライアント端末に送信する機能と、クライアント端末から表示中の一覧表に対する横スクロールイベントが送信された場合に、上記最大横幅情報、各データ項目の表示幅情報及び固定表示項目情報を参照し、当該横スクロール後において当該固定表示項目以外に一覧表に表示すべきデータ項目を決定する機能と、第１のキャッシュから上記データ項目に係るデータ列及び固定表示項目に係るデータ列を画面デザインが規定する一覧表の行数に対応する件数分抽出し、第２のキャッシュに格納する機能と、第２のキャッシュ内のデータリストを取り出し、画面デザインを反映したテンプレートに充填してスクロール後の画面表示用のWebファイルを生成する機能と、このWebファイルをクライアント端末に送信する機能と、クライアント端末から表示中の一覧表に対する縦スクロールイベントが送信された場合に、第１のキャッシュから上記データ項目に係るデータ列及び固定表示項目に対応するデータ列の中で当該縦スクロール後に表示されるべき各行に対応する部分を抽出し、第２のキャッシュに格納する機能と、この第２のキャッシュ内のデータリストを取り出し、上記テンプレートに充填してスクロール後の画面表示用のWebファイルを生成する機能と、このWebファイルをクライアント端末に送信する機能とを備えたことを特徴としている。
【００１３】
請求項５に記載したデータベース利用システムは、請求項１〜４のシステムを前提とし、さらに上記フロントエンドサーバが、データベースサーバから送信されたレコードのリストをバッファに格納する機能と、上記レコードを構成しているデータの中、画面デザイン上表示が要求されるデータ項目に係るデータの組合せを抽出する機能と、このデータの組合せからなるデータリストを第１のキャッシュに格納する機能とを備えたことを特徴としている。
【００１４】
請求項６に記載したデータベース利用システムは、請求項１〜５のシステムを前提とし、さらに上記フロントエンドサーバが、データベースサーバから送信されたレコードのリストをバッファに格納する機能と、上記レコードを構成する少なくとも一部のデータを汎用的なデータ型に変換する機能と、この変換済みのデータからなるデータリストを第１のキャッシュに格納する機能とを備えたことを特徴としている。
【００１５】
請求項７に記載したデータベース利用プログラムは、データベースサーバとクライアント端末との間に介装されたフロントエンドサーバに適用するデータベース利用プログラムであって、上記フロントエンドサーバを、画面デザインが規定する一覧表の最大横幅情報及び各データ項目の表示幅情報を参照し、初期画面において一覧表に表示すべきデータ項目を決定する手段、データベースサーバから送信されたデータリストが格納されている第１のキャッシュから、上記データ項目に係るデータ列を抽出し、第２のキャッシュに格納する手段、第２のキャッシュ内のデータリストを取り出し、画面デザインを反映したテンプレートに充填して画面表示用のWebファイルを生成する手段、このWebファイルをクライアント端末に送信する手段、クライアント端末から表示中の一覧表に対する横スクロールイベントが送信された場合に、上記最大横幅情報及び各データ項目の表示幅情報を参照し、当該横スクロール後に表示すべきデータ項目を決定する手段、第１のキャッシュから上記データ項目に係るデータ列を抽出し、第２のキャッシュに格納する手段、第２のキャッシュ内のデータリストを取り出し、画面デザインを反映したテンプレートに充填してスクロール後の画面表示用のWebファイルを生成する手段、このWebファイルをクライアント端末に送信する手段として機能させることを特徴としている。
【００１６】
請求項８に記載したデータベース利用プログラムは、データベースサーバとクライアント端末との間に介装されたフロントエンドサーバに適用するデータベース利用プログラムであって、上記フロントエンドサーバを、画面デザインが規定する一覧表の最大横幅情報、各データ項目の表示幅情報、及び固定表示項目情報を参照し、初期画面において当該固定表示項目以外に一覧表に表示すべきデータ項目を決定する手段、データベースサーバから送信されたデータリストが格納されている第１のキャッシュから、上記データ項目に係るデータ列及び固定表示項目に係るデータ列を抽出し、第２のキャッシュに格納する手段、第２のキャッシュ内のデータリストを取り出し、画面デザインを反映したテンプレートに充填して画面表示用のWebファイルを生成する手段、このWebファイルをクライアント端末に送信する手段、クライアント端末から表示中の一覧表に対する横スクロールイベントが送信された場合に、上記最大横幅情報、各データ項目の表示幅情報及び固定表示項目情報を参照し、当該横スクロール後において当該固定表示項目以外に一覧表に表示すべきデータ項目を決定する手段、第１のキャッシュから上記データ項目に係るデータ列及び固定表示項目に係るデータ列を抽出し、第２のキャッシュに格納する手段、第２のキャッシュ内のデータリストを取り出し、画面デザインを反映したテンプレートに充填してスクロール後の画面表示用のWebファイルを生成する手段、このWebファイルをクライアント端末に送信する手段として機能させることを特徴としている。
【００１７】
請求項９に記載したデータベース利用プログラムは、データベースサーバとクライアント端末との間に介装されたフロントエンドサーバに適用するデータベース利用プログラムであって、上記フロントエンドサーバを、画面デザインが規定する一覧表の最大横幅情報及び各データ項目の表示幅情報を参照し、初期画面において一覧表に表示すべきデータ項目を決定する手段、データベースサーバから送信されたデータリストが格納されている第１のキャッシュから、上記データ項目に係るデータ列を画面デザインが規定する一覧表の行数に対応する件数分抽出し、第２のキャッシュに格納する手段、第２のキャッシュ内のデータリストを取り出し、画面デザインを反映したテンプレートに充填して画面表示用のWebファイルを生成する手段、このWebファイルをクライアント端末に送信する手段、クライアント端末から表示中の一覧表に対する横スクロールイベントが送信された場合に、上記最大横幅情報及び各データ項目の表示幅情報を参照し、当該横スクロール後に表示すべきデータ項目を決定する手段、第１のキャッシュから上記データ項目に係るデータ列を画面デザインが規定する一覧表の行数に対応する件数分抽出し、第２のキャッシュに格納する手段、第２のキャッシュ内のデータリストを取り出し、画面デザインを反映したテンプレートに充填してスクロール後の画面表示用のWebファイルを生成する手段、このWebファイルをクライアント端末に送信する手段、クライアント端末から表示中の一覧表に対する縦スクロールイベントが送信された場合に、第１のキャッシュから上記データ項目に係るデータ列の中で当該縦スクロール後に表示されるべき各行に対応する部分を抽出し、第２のキャッシュに格納する手段、この第２のキャッシュ内のデータリストを取り出し、上記テンプレートに充填してスクロール後の画面表示用のWebファイルを生成する手段、このWebファイルをクライアント端末に送信する手段として機能させることを特徴としている。
【００１８】
請求項１０に記載したデータベース利用プログラムは、データベースサーバとクライアント端末との間に介装されたフロントエンドサーバに適用するデータベース利用プログラムであって、上記フロントエンドサーバを、画面デザインが規定する一覧表の最大横幅情報、各データ項目の表示幅情報、及び固定表示項目情報を参照し、初期画面において当該固定表示項目以外に一覧表に表示すべきデータ項目を決定する手段、データベースサーバから送信されたデータリストが格納されている第１のキャッシュから、上記データ項目に係るデータ列及び固定表示項目に係るデータ列を画面デザインが規定する一覧表の行数に対応する件数分抽出し、第２のキャッシュに格納する手段、第２のキャッシュ内のデータリストを取り出し、画面デザインを反映したテンプレートに充填して画面表示用のWebファイルを生成する手段、このWebファイルをクライアント端末に送信する手段、クライアント端末から表示中の一覧表に対する横スクロールイベントが送信された場合に、上記最大横幅情報、各データ項目の表示幅情報及び固定表示項目情報を参照し、当該横スクロール後において当該固定表示項目以外に一覧表に表示すべきデータ項目を決定する手段、第１のキャッシュから上記データ項目に係るデータ列及び固定表示項目に係るデータ列を画面デザインが規定する一覧表の行数に対応する件数分抽出し、第２のキャッシュに格納する手段、第２のキャッシュ内のデータリストを取り出し、画面デザインを反映したテンプレートに充填してスクロール後の画面表示用のWebファイルを生成する手段、このWebファイルをクライアント端末に送信する手段、クライアント端末から表示中の一覧表に対する縦スクロールイベントが送信された場合に、第１のキャッシュから上記データ項目に係るデータ列及び固定表示項目に対応するデータ列の中で当該縦スクロール後に表示されるべき各行に対応する部分を抽出し、第２のキャッシュに格納する手段、この第２のキャッシュ内のデータリストを取り出し、上記テンプレートに充填してスクロール後の画面表示用のWebファイルを生成する手段、このWebファイルをクライアント端末に送信する手段として機能させることを特徴としている。
【００１９】
請求項１１に記載したデータベース利用プログラムは、請求項７〜１０のプログラムを前提とし、さらに上記フロントエンドサーバを、データベースサーバから送信されたレコードのリストをバッファに格納する手段、上記レコードを構成しているデータの中、画面デザイン上表示が要求されるデータ項目に係るデータの組合せを抽出する手段、このデータの組合せからなるデータリストを第１のキャッシュに格納する手段として機能させることを特徴としている。
【００２０】
請求項１２に記載したデータベース利用プログラムは、請求項７〜１１のプログラムを前提とし、さらに上記フロントエンドサーバを、データベースサーバから送信されたレコードのリストをバッファに格納する手段、上記レコードを構成する少なくとも一部のデータを汎用的なデータ型に変換する手段、この変換済みのデータからなるデータリストを第１のキャッシュに格納する手段として機能させることを特徴としている。
【発明の効果】
【００２１】
請求項１のデータベース利用システム及び請求項７のデータベース利用プログラムにあっては、画面デザインに応じて予め設定された一覧表の最大横幅情報、各データ項目の表示幅情報に基づいて一覧表の横方向における表示範囲が決定され、フロントエンドサーバの第１のキャッシュからこの表示分データのみが取り出されてクライアント端末に送信される仕組みである。
すなわち、レコードのデータ項目数が多い場合であっても、最大横幅に収まるデータ項目のみが送信・表示され、これを越える部分については横スクロールイベントを待って送信及び表示が実行されるため、表示内容を項目単位で切り替えることが可能となる。このため、従来のように隠れたデータを表示させるために画面全体の横スクロールを行ったり、スクロールエリア内において表示内容の微調整を行う必要がなくなり、汎用のWebブラウザプログラムを用いながらも、データベース利用画面のデザイン性を飛躍的に高めることが可能となる。
また、従来のように全データをクライアント端末に一度に送信する場合に比べ、フロントエンドサーバとクライアント端末間のデータ通信量を低減することが可能となる。
【００２２】
請求項２のデータベース利用システム及び請求項８のデータベース利用プログラムにあっては、請求項１及び７について記述した上記の効果に加え、一覧表の横スクロール時において常時表示される固定表示項目の設定が可能となる利点を備えている。
【００２３】
請求項３のデータベース利用システム及び請求項９のデータベース利用プログラムにあっては、画面デザインに応じて予め設定された一覧表の最大横幅情報、各データ項目の表示幅情報、及び行数情報に基づいて一覧表における表示データの範囲が決定され、フロントエンドサーバの第１のキャッシュからこの表示分データのみが取り出されてクライアント端末に送信される仕組みである。
すなわち、レコードのデータ項目数及び件数が多い場合であっても、最大横幅及び設定行数に収まる範囲のデータのみが送信・表示され、これを越える部分については横スクロールイベントあるいは縦スクロールイベントを待ってデータの送信及び表示が実行されるため、従来のようにデータ項目数や件数に応じて画面レイアウトが崩れたり、隠れたデータを表示させるために画面全体の横スクロールや縦スクロールを行う必要がなくなると共に、フロントエンドサーバとクライアント端末間のデータ通信量をより低減することが可能となる。
【００２４】
請求項４のデータベース利用システム及び請求項１０のデータベース利用プログラムにあっては、請求項３及び９について記述した上記の効果に加え、一覧表の横スクロール時において常時表示される固定表示項目の設定が可能となる利点を備えている。
【００２５】
請求項５のデータベース利用システム及び請求項１１のデータベース利用プログラムによれば、データベースサーバから渡されたレコードの中で、画面デザイン上表示不要のデータが事前に排除され、表示が必要なデータのみがクライアント端末に送信されるため、通信量の低減効果をさらに高めることができる。
【００２６】
請求項６のデータベース利用システム及び請求項１２のデータベース利用プログラムによれば、データベースサーバから渡されたレコードが様々な型のデータを含んでいる場合であっても、事前に汎用的なデータ型に変換されるため、後続の処理を簡素化することが可能となる。
【発明を実施するための最良の形態】
【００２７】
図１は、この発明に係るデータベース利用システム10の全体構成を示す概念図であり、多数のクライアント端末12とDBサーバ14との間に、Webサーバ機能及びAPサーバ機能を備えたフロントエンドサーバ16が配置されている。
各クライアント端末12とフロントエンドサーバ16とは、インターネットやイントラネット等の通信ネットワーク18を介して接続されている。
また、フロントエンドサーバ16とDBサーバ14との間も、LANを介してネットワーク接続されている。
各クライアント端末12には、汎用のWebブラウザプログラムがセットアップされている。
【００２８】
図２は、クライアント端末12及びフロントエンドサーバ16の機能構成を示すブロック図である。
まずクライアント端末12は、マウスやキーボード等の入力装置20と、ディスプレイ22とが接続されたPC等のコンピュータよりなり、処理要求部24と、Webページ表示部26とを備えている。
ここで、処理要求部24及びWebページ表示部26は、クライアント端末12のCPUが、汎用のWebブラウザプログラム等に従って必要な処理を実行することによって実現される。
【００２９】
フロントエンドサーバ16は、制御部30と、画面生成部32と、データ変換部34と、業務処理部36と、第１のキャッシュ38と、第２のキャッシュ40と、バッファ42とを備えている。
詳細は後述するが、ユーザがクライアント端末12からフロントエンドサーバ16にアクセスし、Webブラウザ上に表示されるサービスメニューの中から一つのサービスを選択すると、サーバ16側で当該サービス専用のアプリケーションプログラムX1が起動され、サーバ16のCPUがこれに従って必要な処理を実行することによって上記の制御部30、画面生成部32、データ変換部34、業務処理部36が実現される。
また、ユーザが他のサービスを選択した場合には、他のアプリケーションプログラムX2,X3…が別個に起動し、当該サービス用に最適化された制御部30、画面生成部32、データ変換部34、及び業務処理部36が同時並行的に出現することとなる。
上記第１のキャッシュ38、第２のキャッシュ40、及びバッファ42は、上記のアプリケーションプログラムにより、フロントエンドサーバ16のメモリ空間上に設定される。
上記のアプリケーションプログラムは、例えばオブジェクト指向言語の一つであるJava（登録商標）によって記述されている。
【００３０】
以下、図３〜図５のフローチャートに従い、このシステム10を用いて登録データの参照を行う場合の処理手順について説明する。
まず、ユーザがクライアント端末12からフロントエンドサーバ16にアクセスし、ID及びパスワードの入力を伴う認証ステップをクリアすると、サーバ16からメニュー表示用のWebファイル（Htmlファイル等）が送信され（図３のＳ10）、Webブラウザ上に当該ユーザが利用可能なサービスのメニュー画面（図示省略）が表示される（Ｓ11）。
このメニューの中からユーザが一つのサービス、例えば「部門別予算・実績一覧」を選択すると、クライアント端末12の処理要求部24からフロントエンドサーバ16に対し当該サービスに係る利用画面の配信リクエストが送信される（Ｓ12）。
これを受けたフロントエンドサーバ16では、当該サービスに対応したアプリケーションプログラムX1が起動され（Ｓ13）、専用の制御部30、画面生成部32、データ変換部34、及び業務処理部36が形成されると共に、メモリ空間上に第１のキャッシュ38、第２のキャッシュ40、及びバッファ42が設定される。
【００３１】
つぎに、業務処理部36からDBサーバ14に対し、部門別予算・実績情報の抽出リクエストが送信される（Ｓ14）。
そして、DBサーバ14から部門別予算・実績データベース内に格納されているレコードのリストが送信されると、業務処理部36はこれをバッファ42に格納する（Ｓ15）。
【００３２】
これに対しデータ変換部34は、バッファ42に格納された各レコードを構成しているデータ項目の中から、部門別予算・実績一覧画面の一覧表において表示すべきものとして予め画面デザインで設定されているデータ項目に係るデータのみを抽出する（Ｓ16）。
例えば、図６(a)に示すように、部門別予算・実績データベースには部門コード、部門名称の他に、各年度毎の予算データ及び実績データが格納されている場合であっても、上記の部門別予算・実績一覧画面においては表示項目を簡素化するために部門名称、本年度の予算及び実績、前年度以前の実績のみが表示され、部門コードや前年度以前の予算を非表示とすることが設定されているときには、データ変換部34は図中の点線で囲った部分のデータのみを抽出し、図６(b)に示すように、これらのデータを連結させたデータリストを生成する。
このように、データをクライアント端末12に送信する前に非表示のデータを間引いておくことにより、無用のデータがクライアント端末12に送信されることがなくなり、データ通信量を低減することができる。
クライアント端末12のWebブラウザ上で不要なデータ項目を非表示にすること自体は、これまでもヒドゥン（hidden）という技術を使うことで実現されていたが、この場合には非表示のデータであってもクライアント端末12とサーバ16間を往復することとなるため、その分データ通信量の増大を招いていた。
【００３３】
つぎにデータ変換部34は、このデータリストの構成データを、汎用のデータ型に変換した後（Ｓ17）、制御部30に出力する。
すなわち、一つのレコードには通常、ブール型、バイト型、文字型、日付型、整数型、文字列型等、異なるデータ型のデータが含まれているが、後段における処理を単純化するため、この段階でデータ変換部34はこれらを一律に文字列表示用の汎用的なデータ型に変換する。
この結果、制御部30及び画面生成部32はデータリストに含まれる各データのデータ型を意識することなく処理することが可能となり、制御部30及び画面生成部32を実現するためのプログラムコードを簡素化することができる。
【００３４】
制御部30は、データ変換部34から受け取ったデータリストを、一旦第１のキャッシュ38に格納する（Ｓ18）。
つぎに制御部30は、画面デザインに基づいて予めプログラムコード中に設定されたデータ一覧表の行数情報（例えば１頁＝５行）を参照し、第１のキャッシュ38に格納された上位５件のデータリストを抽出すると共に、これを第２のキャッシュ40に格納する（Ｓ19）。
【００３５】
これに対し画面生成部32は、第２のキャッシュ40に格納されたデータリストに対し、画面中に設けられるデータ一覧表の定義情報をセットする（Ｓ20）。
この定義情報には、少なくとも以下のものが含まれている。
(1) 一覧表の最大横幅情報
(2) 各データ項目の表示幅情報
(3) 固定表示項目を特定する情報
【００３６】
これらの定義情報は、Java（登録商標）言語のポインタ機能を通じて第１のキャッシュ38内に格納されたデータリストに伝達される結果、制御部30がこれを認識することが可能となる。
つぎに制御部30は、上記(1)〜(3)の定義情報に基づいて初期画面の一覧表に表示されるべきデータ項目の範囲を決定する（Ｓ21）。
例えば、一覧表の最大横幅＝750ドット、固定表示項目＝部門名称であり、各データ項目の表示幅が下記の通りである場合、制御部30は部門名称（200ドット）、2004年予算（100ドット）、2004年実績（100ドット）、2003年実績（200ドット）を表示可能なデータ項目範囲と認定する。
［各表示項目の表示幅］
部門名称：200ドット
直近年予算：100ドット
直近年実績：100ドット
前年実績：200ドット
前年以前の各実績：250ドット
【００３７】
つぎに制御部30は、画面デザイン上規定されている一覧表の行数情報（１頁＝５行）に従い、第１のキャッシュ38に格納された上位５件のデータリストの中から上記の表示可能なデータ項目範囲（部門名称、2004年予算、2004年実績、2003年実績）に係るデータを抽出し、第２のキャッシュ40に格納する（Ｓ22）。
【００３８】
画面生成部32は、第２のキャッシュ40からこの１頁分の表示データを取り出し、これを当該サービス専用のテンプレートに充填することによって部門別予算・実績一覧用のWebファイルを生成し、クライアント端末12に送信する（Ｓ23）。
この結果、クライアント端末12のWebブラウザ上には、図７(a)に示すように、部門別予算・実績一覧の初期画面が表示される（Ｓ24）。
【００３９】
図示の通り、この部門別予算・実績一覧画面には、データの一覧表50が設けられている。
この一覧表50における直近年（2004年）の予算及び実績項目では年度表示が省略され、単に「予算」、「実績」の文字がカラム名として表示されているのに対し、前年（2003年）の実績項目については「昨年実績」がカラム名として表示されている。
これらのカラム名は、予め画面デザインにおいて規定されており、画面生成部32が管理するWebファイルのテンプレート（テキストファイル）上に記述されている。また、このカラム名の長さに応じて各データ項目の表示幅が設定されている。
【００４０】
上記のように、制御部30は第１のキャッシュ38に格納したデータリストの中から、画面デザインで規定された１頁の行数分のデータリストを切り出して第２のキャッシュ40に格納し、これを画面生成部32が取り出して表示画面（Webファイル）を生成し、１頁単位で順次クライアント端末12に送信するように構成したため、Webブラウザ上では常に決められた行数（５行）のデータリストが表示され、図７(a)に示したように、終了ボタン52や印刷ボタン54の位置も画面上で固定されることとなる。
この結果、従来の専用アプリケーションプログラムで画面を生成した場合と同様の、見やすいユーザインタフェイスを実現できる。
【００４１】
ここで、ユーザが昨年（2003年）より前の実績情報の閲覧を希望する場合、右列スクロールボタン56をクリックする。
この結果、クライアント端末12の処理要求部24からフロントエンドサーバ16に対し、右列スクロールのイベントが送信される（図４のＳ25）。
これを受けた制御部30は、第１のキャッシュ38から右列スクロール後において一覧表に表示されるべきデータを抽出し（Ｓ26）、第２のキャッシュ40に格納する（Ｓ27）。
この右列スクロール後の表示データの範囲は、制御部30によって以下の要領で決定される。
【００４２】
まず、最大横幅が750ドットであり、固定表示項目である「部門名称」の表示幅が200ドットであるため、残りの表示項目に割当て可能な横幅は550ドット以内となる。
つぎに、2002年実績の表示幅が250ドットであるため、他の表示項目に割当て可能な表示幅は300ドット以内となる。
また、2003年実績の表示幅が200ドット、2004年実績の表示幅が100ドットであるため、両者を表示させても300ドット内に収まる。
以上の結果、右列スクロール後の表示項目は、部門名称、2004年実績、2003年実績、2002年実績の各項目となる。
つぎに制御部30は、上記項目に係るデータを上位５件分だけ第１のキャッシュ38に蓄積されたデータリストから抽出し、第２のキャッシュ40に格納する。
【００４３】
画面生成部32は、第２のキャッシュ40からこの右列スクロール後の表示データを取り出し、これを上記テンプレートに充填することによって部門別予算・実績一覧用のWebファイルを生成し、クライアント端末12に送信する（Ｓ28）。
この結果、クライアント端末12のWebブラウザ上には、図７(b)に示すように、右列スクロール後の部門別予算・実績一覧画面が表示される（Ｓ29）。
この画面の一覧表50においては、固定表示項目としての部門名称に対応した「部門」の他、「実績」、「昨年実績」、「2002年実績」の各項目が表示されている。
【００４４】
ここでユーザが、鉄鋼製品〜情報通信部門以外の予算・実績情報の閲覧を希望する場合、一覧表50の次行スクロールボタン58をクリックする。
この結果、クライアント端末12の処理要求部24からフロントエンドサーバ16に対し、次行スクロールのイベントが送信される（Ｓ30）。
これを受けた制御部30は、第１のキャッシュ38から次行スクロール後において表示されるべきデータを抽出し（Ｓ31）、第２のキャッシュ40に格納する（Ｓ32）。
【００４５】
この次行スクロール後の表示データは、具体的には以下の要領で決定される。
まず、表示項目については変更がないため、上記と同様、部門名称、2004年実績、2003年実績、2002年実績のデータが抽出対象として認定される。
つぎに、非鉄製品部門から情報通信部門の次の行に配置された食料部門までのデータが第１のキャッシュ38から抽出され、第２のキャッシュ40に格納される。
【００４６】
画面生成部32は、第２のキャッシュ40からこの表示データを取り出し、これを上記テンプレートに充填することによって次行スクロール後の部門別予算・実績一覧用のWebファイルを生成し、クライアント端末12に送信する（Ｓ33）。
この結果、クライアント端末12のWebブラウザ上には、図７(c)に示すように、次行スクロール後の部門別予算・実績一覧画面が表示される（Ｓ34）。
図示の通り、この次行スクロール後の一覧表50においては、鉄鋼製品部門に係るデータが非表示となり、代わりに食料部門に係るデータが表示されている。
【００４７】
ここでユーザが、食料部門に係る本年度予算の閲覧を希望する場合、一覧表50の左列スクロールボタン60をクリックする。
この結果、クライアント端末12の処理要求部24からフロントエンドサーバ16に対し、左列スクロールのイベントが送信される（Ｓ35）。
これを受けた制御部30は、第１のキャッシュ38から左列スクロール後において表示されるべきデータを抽出し（Ｓ36）、第２のキャッシュ40に格納する（Ｓ37）。
この左列スクロール後の表示項目範囲は、上記と同様のロジックに従い、部門名称、2004年予算、2004年実績、2003年実績と認定される。
【００４８】
画面生成部32は、第２のキャッシュ40からこの表示データを取り出し、これを上記テンプレートに充填することによって左列スクロール後の部門別予算・実績一覧用のWebファイルを生成し、クライアント端末12に送信する（Ｓ38）。
この結果、クライアント端末12のWebブラウザ上には、図７(ｄ)に示すように、部門別予算・実績一覧画面が表示される（Ｓ39）。
図示の通り、この左列スクロール後の一覧表50においては、食料部門に係る本年度予算が表示されている。
ここでユーザが前行スクロールボタン62をクリックすることにより、図７(a)の初期画面が表示されることはいうまでもない。
【００４９】
ユーザが図７(a)の初期画面において、一覧表50の右頁スクロールボタン64をクリックした場合には、クライアント端末12の処理要求部24からフロントエンドサーバ16に対し、右頁スクロールのイベントが送信される（図５のＳ40）。
ここで右頁スクロールイベントとは、一覧表50における全表示項目を右側に存在する非表示データと入れ替えることを要求するものであり、これを受けた制御部30は、第１のキャッシュ38から右頁スクロール後において一覧表に表示されるべきデータを抽出し（Ｓ41）、第２のキャッシュ40に格納する（Ｓ42）。
この右頁スクロール後の表示データの範囲は、制御部30によって以下の要領で決定される。
【００５０】
まず、一覧表50の最大横幅が750ドットであり、固定表示項目である「部門名称」の表示幅が200ドットであるため、残りの表示項目に割当て可能な表示幅は550ドット以内となる。
つぎに、2002年実績及び2001年実績の表示幅がそれぞれ250ドットで合計500ドットに達し、2000年実績を表示範囲に含めることができない。
以上の結果、右頁スクロール後の表示項目は、部門名称、2002年実績、2001年実績の各項目となる。
つぎに制御部30は、上記項目に係るデータを上位５件分だけ第１のキャッシュ38に蓄積されたデータリストから抽出し、第２のキャッシュ40に格納する。
【００５１】
画面生成部32は、第２のキャッシュ40からこの右頁スクロール後の表示データを取り出し、これを上記テンプレートに充填することによって部門別予算・実績一覧用のWebファイルを生成し、クライアント端末12に送信する（Ｓ43）。
この結果、クライアント端末12のWebブラウザ上には、図８に示すように、右頁スクロール後の部門別予算・実績一覧画面が表示される（Ｓ44）。
この画面の一覧表50においては、「部門」、「2002年実績」、「2001年実績」の各項目が表示されている。
【００５２】
ユーザが図７(a)の初期画面において、一覧表50の次頁スクロールボタン66をクリックした場合には、クライアント端末12の処理要求部24からフロントエンドサーバ16に対し、次頁スクロールのイベントが送信される（Ｓ45）。
ここで次頁スクロールイベントとは、一覧表50における全表示項目を下方向に存在するデータ項目と入れ替えることを要求するものであり、これを受けた制御部30は、第１のキャッシュ38から次頁スクロール後において一覧表に表示されるべきデータを抽出し（Ｓ46）、第２のキャッシュ40に格納する（Ｓ47）。
この次頁スクロール後の表示データの範囲は、制御部30によって以下の要領で決定される。
【００５３】
まず、表示項目については変更がないため、上記と同様、部門名称、2004年予算、2004年実績、2003年実績のデータが抽出対象として認定される。
つぎに、情報通信部門の次行に位置する食料部門以降の５件分が抽出対象となる筈であるが、部門別予算・実績データベースには元々９件分のレコードのみが格納されているため、制御部30は食料部門以降の４件分のデータを第１のキャッシュ38から抽出し、第２のキャッシュ40に格納する。
【００５４】
画面生成部32は、第２のキャッシュ40からこの表示データを取り出し、これを上記テンプレートに充填することによって次頁スクロール後の部門別予算・実績一覧用のWebファイルを生成し、クライアント端末12に送信する（Ｓ48）。
この結果、クライアント端末12のWebブラウザ上には、図９に示すように、部門別予算・実績一覧画面が表示される（Ｓ49）。
図示の通り、この次頁スクロール後の一覧表50においては、鉄鋼製品〜情報通信部門に係るデータが非表示となり、代わりに食料〜機械部門に係るデータが表示されている。
【００５５】
画面のデータ一覧表50におけるカラム名は、画面デザインの見直しによってその表記が変更されることが予想され、これに従って表示幅もデータ項目毎にまちまちとなる。また、表示されるデータの長さに応じて表示幅を変える必要が生じる場合もある。
これに対し、上記のようにデータ一覧表50の最大横幅と各表示項目の表示幅を画面生成部32が管理する定義ファイルに設定しておき、これを制御部30が参照することによって表示すべきデータ項目を決定するように構成しておけば、画面デザインの変更が生じても定義ファイルの記述を修正するだけで対応可能となり、制御部30を実現するためのプログラムコードに修正を加える必要がない。
例えば、本年度予算を上記のように単に「予算」と表示する代わりに、「2004年予算」と長目に表示するよう画面デザインを変更した場合、「部門」に続く項目（直近年の予算項目）のカラム名をデータベースのフィールド名と一致させるようにテンプレート上の記述を改変すれば済むこととなり、制御部30のコードを手直しする必要がない。
【００５６】
ただし、この発明は上記のように画面生成部32が保持する定義情報を第２のキャッシュ40内に格納されたデータリストにセットし、これをJava（登録商標）のポインタ機能を利用して第１のキャッシュ38内に格納された元のデータリストに伝達し、この結果制御部30が定義情報を認識するという方式に限定されるものではない。
例えば、一覧表の最大横幅情報、各データ項目の表示幅情報、固定表示項目を特定する情報を、予め制御部30を実現するためのプログラム内に記述しておくことにより、画面生成部32から定義情報が提供されるのを待つことなく、一覧表50の表示データ範囲を制御部30が独自に判断できるように構成することも可能である。
【００５７】
このシステム10の場合、各サービス毎に独自の画面デザイン（画面テンプレート）が設計され、それに合わせて制御部30や画面生成部32、データ変換部34の動作を変更する必要がある。
例えば、あるデータベースの参照画面においては10行／頁の一覧表を設ける画面デザインを採用した場合、制御部30及び画面生成部32は、10件のデータを１頁として処理することが求められる。
これに対し、業務処理部36は画面デザインからは完全に切り離され、ただＤＢサーバ14に対してレコードの抽出を要求し、送信されたレコードをバッファ42に格納する処理に専念できる。
この結果、業務処理部36のプログラム構成を簡素化することができるため、そのコードの再利用性や安定性が向上する効果がある。
また、画面のデザインが変更になった場合も、画面生成部32が管理している画面テンプレートと定義ファイル、制御部30及びデータ変換部34のコードを修正すれば足り、業務処理部36のコードは修正する必要がない。
【００５８】
なお、制御部30や画面生成部32、データ変換部34を画面デザインに合わせてコーディングする際にも、各画面で共通する基本的な動作部分はアプリケーション基盤として事前に作り込んでおき、１頁当たりの行数や表示対象となるデータ項目の範囲を指定する部分等について書き直せば済む。
特に、Java（登録商標）言語によって各部のコーディングを行う場合には、継承の仕組みを利用することによって簡単にアプリケーション基盤部分のコードを援用できるため、画面デザインの変更に伴うプログラムの修正が容易となる。
【００５９】
上記にあっては、データの一覧表50において横スクロール及び縦スクロールが可能な例を示したが、この発明はこれに限定されるものではない。
例えば、表示対象となるレコードの件数が元々少ないため頻繁な縦スクロールを必要としない場合、制御部30は第１のキャッシュ38内のデータリストから必要なデータ項目を全件分抽出し、第２のキャッシュ40に出力する。
これに対し画面生成部32は、これらのデータをそのままテンプレートに充填してWebファイルを生成し、クライアント端末12に送信する。
この結果、クライアント端末12のブラウザ上には、縦スクロールボタンが省略され、横スクロールボタンのみを備えた一覧表50が表示されることとなる。
【図面の簡単な説明】
【００６０】
【図１】この発明に係るデータベース利用システムの全体構成を示す概念図である。
【図２】クライアント端末及びフロントエンドサーバの機能構成を示すブロック図である。
【図３】このシステムにおける処理手順を示すフローチャートである。
【図４】このシステムにおける処理手順を示すフローチャートである。
【図５】このシステムにおける処理手順を示すフローチャートである。
【図６】データ変換部におけるデータの抽出処理を示す概念図である。
【図７】クライアント端末における画面の構成例を示すレイアウト図である。
【図８】クライアント端末における画面の構成例を示すレイアウト図である。
【図９】クライアント端末における画面の構成例を示すレイアウト図である。
【符号の説明】
【００６１】
10  データベース利用システム
12  クライアント端末
14  DBサーバ
16  フロントエンドサーバ
18  通信ネットワーク
20  入力装置
22  ディスプレイ
24  処理要求部
26  Webページ表示部
30  制御部
32  画面生成部
34  データ変換部
36  業務処理部
38  第１のキャッシュ
40  第２のキャッシュ
42  バッファ
50  データの一覧表
52  終了ボタン
54  印刷ボタン
56  右列スクロールボタン
58  次行スクロールボタン
60  左列スクロールボタン
62  前行スクロールボタン
64  右頁スクロールボタン
X1,X2,X3  アプリケーションプログラム
【図１】
2006031130.tif 000003
【図２】
2006031130.tif 000004
【図３】
2006031130.tif 000005
【図４】
2006031130.tif 000006
【図５】
2006031130.tif 000007
【図６】
2006031130.tif 000008
【図７】
2006031130.tif 000009
【図８】
2006031130.tif 000010
【図９】
2006031130.tif 000011