JP4464727B2 - データベース利用システム - Google Patents

データベース利用システム Download PDF

Info

Publication number
JP4464727B2
JP4464727B2 JP2004102487A JP2004102487A JP4464727B2 JP 4464727 B2 JP4464727 B2 JP 4464727B2 JP 2004102487 A JP2004102487 A JP 2004102487A JP 2004102487 A JP2004102487 A JP 2004102487A JP 4464727 B2 JP4464727 B2 JP 4464727B2
Authority
JP
Japan
Prior art keywords
data
client terminal
buffer
screen
cache
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004102487A
Other languages
English (en)
Other versions
JP2005292872A (ja
Inventor
裕三 石田
康 大槻
友宏 春木
隆 山柿
太郎 海老原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nomura Research Institute Ltd
Original Assignee
Nomura Research Institute Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nomura Research Institute Ltd filed Critical Nomura Research Institute Ltd
Priority to JP2004102487A priority Critical patent/JP4464727B2/ja
Publication of JP2005292872A publication Critical patent/JP2005292872A/ja
Application granted granted Critical
Publication of JP4464727B2 publication Critical patent/JP4464727B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

この発明はデータベース利用技術に係り、特に、クライアント端末とデータベースサーバとの間にフロントエンドサーバを設置し、このフロントエンドサーバを介してクライアント端末のWebブラウザプログラムからデータベースサーバ内の登録データを利用する仕組みを備えたデータベース利用システムに関する。
データベースの利用形態として、単にデータの検索や表示を目的とした「参照系」と、データの修正や追加、削除を行う「登録系」とに大別することができる。
図11は従来の利用形態の一例を示すものであり、DB(Database)サーバ70の前段にWebサーバ機能及びAP(Application)サーバ機能を備えたフロントエンドサーバ72が設置され、インターネットやイントラネット等の通信ネットワーク74を介してこのサーバ72が多数のクライアント端末76と接続されている様子が描かれている。
各クライアント端末76にはWebブラウザプログラムがセットアップされており、このWebブラウザを通じてフロントエンドサーバ72に特定のデータベースに対する検索リクエストが送信されると、フロントエンドサーバ72は検索条件をDBサーバ70に渡し、検索処理を依頼する。
そして、DBサーバ70から検索結果が送信されると、これをフロントエンドサーバ72がWebファイルに加工した上で、クライアント端末76に送信する。
この結果ユーザは、クライアント端末76のディスプレイに表示された汎用のWebブラウザ上で検索結果の閲覧が可能となる(非特許文献1の「テーブルの一覧」参照)。
これに対し、DBサーバ70内のデータに変更を加える業務については、登録系の処理に最適化された専用のアプリケーションプログラムを搭載したクライアント端末78が用いられる場合が多い(非特許文献2参照)。
このアプリケーションプログラムは、操作ボタンの配置や入力・表示欄の構成などの、いわゆるユーザインターフェイスの設計に適した第四世代言語、例えばVisual Basic(登録商標)等で一般にコーディングされる。
itBASEのデザイン画面サンプル[平成16年3月2日検索]インターネット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 入力処理の画面サンプル[平成16年3月2日検索] インターネッURL:http://it.e-otsuka.com/ryutsu/images/food_sft1.gif
元々、データベースの利用に関しては参照系及び登録系共に専用のアプリケーションプログラムをクライアント端末に搭載することによって実現されていたのであるが、インターネットを中心としたWebシステムの普及に伴い、設計の容易な参照系に関してはいち早くWebベースでの利用が進展してきたという経緯がある。
そして、Webシステムを通じたデータベースの参照利用が拡大するに従い、登録系と参照系のプログラムを別言語でコーディングすることや、個々のクライアント端末78に専用のアプリケーションプログラムを搭載することの非効率性が認識されるようになり、登録系の処理についてもWebベースで実現したいという要請が強まってきているのが現状である。
しかしながら、Webブラウザプログラムには基本的に「頁(ページ)」という概念が存在しないため、登録処理用のWebフォームをディスプレイ上に表示させた場合に、レコードのリストを所定の行数で頁送りすることが困難であり、表示行数が固定された専用のアプリケーションプログラムの操作性に慣れたユーザに違和感を抱かせてしまうという問題がある。
実際、レコードの件数が多い場合には、非特許文献1の「フォームのフィールド指定」画面より明らかなように、最終行の下に配置された「登録」や「削除」といった操作ボタンを表示させるために画面スクロールを何度も行う必要が生じ、ユーザは大きなストレスを感じることとなる。
もちろん、このWebシステムにおけるユーザインターフェイスの問題は参照系の利用形態でも同様に生じるが、登録業務を行う場合により顕著に認識されることとなる。
また、クライアント端末の状態管理や実行管理をサーバが担うことになるため、サーバ側に如何に大量のメモリを搭載したとしても、接続しているクライアント端末の数が膨大(例えば1,000台以上)になると、レスポンスが低下したり動作が不安定となる問題が生じる。
さらに、クライアント端末とサーバ間での情報のやり取りが増えるため、やはりクライアント端末数が増えるに従ってネットワークに大きな負荷を与えるようになる。
この発明は、上記の問題点を解決するために案出されたものであり、Webベースで登録系の処理を実現することを前提としながらも、クライアント端末側のユーザインターフェイスを専用アプリケーションプログラムと同様のレベルに維持できると共に、サーバ側のメモリ資源の節約及び通信量の低減を実現可能なデータベース利用技術を提供することを目的としている。
上記の目的を達成するため、請求項1に記載したデータベース利用システムは、データベースサーバとクライアント端末との間に介装されたフロントエンドサーバを備えたデータベース利用システムであって、上記フロントエンドサーバが、クライアント端末から送信された検索条件をデータベースサーバに送信して検索を依頼すると共に、データベースサーバから送信された検索結果のデータリストを第1のバッファに格納する業務処理部と、この第1のバッファ内のデータリストを取り出してキャッシュに格納すると共に、このキャッシュから画面デザインに応じた行数を備えた1頁分のデータリストを取り出し、第2のバッファに格納する制御部と、この第2のバッファ内のデータリストを取り出し、画面デザインを反映したテンプレートに充填して画面表示用のWebファイルを生成すると共に、このWebファイルをクライアント端末に送信する画面生成部とを備え、上記業務処理部、制御部及び画面生成部は、各クライアント端末において利用の選択がなされたサービス毎に上記フロントエンドサーバ上に生成されると共に、上記第1のバッファ、キャッシュ及び第2のバッファは、同サービス毎に上記フロントエンドサーバのメモリ空間上に確保され、上記クライアント端末から、表示画面中の特定データについてチェックが付されたことを示す通知が送信された場合に、上記制御部は、キャッシュ内における該当データにチェック済みの情報を付加する処理を実行し、上記クライアント端末から、チェック済みのデータを含む頁の再表示を求めるリクエストが送信された場合に、上記制御部は、キャッシュからチェック済みの情報が付加されたデータを含む1頁分のデータリストを取り出し、第2のバッファに格納する処理を実行し、上記画面生成部は、この第2のバッファ内のデータリストを取り出し、上記テンプレートに充填して画面表示用のWebファイルを生成すると共に、このWebファイルをクライアント端末に送信する処理を実行し、上記クライアント端末から、チェック済みのデータまたはチェックされていないデータの削除を求めるリクエストが送信された場合に、上記制御部は、キャッシュ内における対応のデータに削除対象として選択されたことを示す情報を付加する処理と、キャッシュ内のデータを第1のバッファに出力する処理を実行し、上記業務処理部は、この第1のバッファに格納されたデータをデータベースサーバに送信し、データの更新を依頼する処理を実行することを特徴としている。
請求項2に記載したデータベース利用システムは、データベースサーバとクライアント端末との間に介装されたフロントエンドサーバを備えたデータベース利用システムであって、上記フロントエンドサーバが、クライアント端末から送信された検索条件をデータベースサーバに送信して検索を依頼すると共に、データベースサーバから送信された検索結果のデータリストを第1のバッファに格納する業務処理部と、この第1のバッファ内のデータリストを取り出してキャッシュに格納すると共に、このキャッシュから画面デザインに応じた行数を備えた1頁分のデータリストを取り出し、第2のバッファに格納する制御部と、この第2のバッファ内のデータリストを取り出し、画面デザインを反映したテンプレートに充填して画面表示用のWebファイルを生成すると共に、このWebファイルをクライアント端末に送信する画面生成部とを備え、上記業務処理部、制御部及び画面生成部は、各クライアント端末において利用の選択がなされたサービス毎に上記フロントエンドサーバ上に生成されると共に、上記第1のバッファ、キャッシュ及び第2のバッファは、同サービス毎に上記フロントエンドサーバのメモリ空間上に確保され、上記クライアント端末から、表示画面中の特定データについて修正がなされたことを示す情報が送信された場合に、上記制御部は、キャッシュ内における該当データに対応の修正を施す処理を実行し、上記クライアント端末から、表示画面中においてデータの追加がなされたことを示す情報が送信された場合に、上記制御部は、キャッシュ内におけるデータリストに対応のデータを追加する処理を実行し、上記クライアント端末から、修正済みのデータまたは追加データを含む頁の再表示を求めるリクエストが送信された場合に、上記制御部は、キャッシュから修正済みのデータまたは追加データを含む1頁分のデータリストを取り出し、第2のバッファに格納する処理を実行し、上記画面生成部は、この第2のバッファ内のデータリストを取り出し、上記テンプレートに充填して画面表示用のWebファイルを生成すると共に、このWebファイルをクライアント端末に送信する処理を実行し、上記クライアント端末から、修正済みのデータまたは追加データに基づく更新のリクエストが送信された場合に、上記制御部は、キャッシュ内のデータを第1のバッファに出力する処理を実行し、上記業務処理部は、この第1のバッファに格納されたデータをデータベースサーバに送信し、データの更新を依頼する処理を実行することを特徴としている。
請求項3に記載したデータベース利用システムは、請求項1または2のシステムを前提とし、さらに上記クライアント端末には、入力装置からの入力情報を常時監視し、画面を閉じる入力動作を検出した場合には、その旨を示す情報を上記フロントエンドサーバに即座に送信する手段が設けられており、上記フロントエンドサーバは、上記クライアント端末から画面を閉じたことを示す情報が送信された場合に、当該画面に関連したデータを上記キャッシュ及び各バッファから削除する手段と、上記クライアント端末の画面上において所定時間入力操作が行われていない場合に、当該画面に関連したデータを上記キャッシュ及び各バッファからハードディスクに一時的に退避させる手段と、上記クライアント端末から画面上において入力操作が再開されたことを示す情報が送信された場合に、当該画面に関連したデータをハードディスクから上記キャッシュ及び各バッファに復元させる手段とを備えたことを特徴としている。
請求項1のデータベース利用システムにあっては、データベースサーバから渡されたデータリストがキャッシュ内に格納され、画面デザインで規定された行数毎に頁として管理されており、1頁分のデータリストがWebファイルとしてクライアント端末に送信されるため、クライアント端末のWebブラウザ上において決められた行数の頁単位でデータを一覧表示させることが可能となる。
また、このようにフロントエンドサーバからクライアント端末に対し1頁単位でデータが送信され、従来のように全データリストが一度に送信されることがないため、その分フロントエンドサーバとクライアント端末間のデータ通信量を低減することが可能となる。
さらに、クライアント端末から表示中の画面単位(1頁単位)で削除選択のデータが送信され、従来のように削除選択の度に全データリストをフロントエンドサーバにセンドバックさせる必要がないため、フロントエンドサーバとクライアント端末間のデータ通信量を低減することが可能となる。
請求項2のデータベース利用システムの場合も、データベースサーバから渡されたデータリストがキャッシュ内に格納され、画面デザインで規定された行数毎に頁として管理されており、1頁分のデータリストがWebファイルとしてクライアント端末に送信されるため、クライアント端末のWebブラウザ上において決められた行数の頁単位でデータを一覧表示させることが可能となる。
また、このようにフロントエンドサーバからクライアント端末に対し1頁単位でデータが送信され、従来のように全データリストが一度に送信されることがないため、その分フロントエンドサーバとクライアント端末間のデータ通信量を低減することが可能となる。
さらに、クライアント端末から表示中の画面単位(1頁単位)で修正や追加のデータが送信され、従来のように修正や追加の度に全データリストをフロントエンドサーバにセンドバックさせる必要がないため、フロントエンドサーバとクライアント端末間のデータ通信量を低減することが可能となる。
請求項3のデータベース利用システムによれば、クライアント端末上でデータベース利用画面が閉じられた場合には、即座にフロントエンドサーバ側のメモリ空間を解放することができ、リソースの有効利用が可能となる。
また、クライアント端末上での作業が所定時間中断されている場合には、即座にフロントエンドサーバ側のメモリ空間からハードディスクに不要なデータを退避させることができ、リソースの有効利用が可能となる。さらに、作業再開時には、遅滞なく元の状態を復元することが可能となる。
図1は、この発明に係るデータベース利用システム10の全体構成を示す概念図であり、多数のクライアント端末12とDBサーバ14との間に、Webサーバ機能及びAPサーバ機能を備えたフロントエンドサーバ16が配置されている。
各クライアント端末12とフロントエンドサーバ16とは、インターネットやイントラネット等の通信ネットワーク18を介して接続されている。
また、フロントエンドサーバ16とDBサーバ14との間も、LANを介してネットワーク接続されている。
各クライアント端末12には、汎用のWebブラウザプログラムがセットアップされている。
図2は、クライアント端末12及びフロントエンドサーバ16の機能構成を示すブロック図である。
まずクライアント端末12は、マウスやキーボード等の入力装置20と、ディスプレイ22とが接続されたPC等のコンピュータよりなり、状態通知部24と、Webページ表示部26と、処理要求部28とを備えている。
ここで、Webページ表示部26及び処理要求部28は、クライアント端末12のCPUが、汎用のWebブラウザプログラム等に従って必要な処理を実行することによって実現される。また、状態通知部24は、同CPUがフロントエンドサーバ16から配信された専用プログラム(JavaScript)及びWebブラウザプログラム等に従い、必要な処理を実行することによって実現される。
フロントエンドサーバ16は、制御部30と、業務処理部32と、画面生成部34と、キャッシュ38と、第1のバッファ40と、第2のバッファ41と、メモリ管理部42と、退避領域44とを備えている。
詳細は後述するが、ユーザがクライアント端末12からフロントエンドサーバ16にアクセスし、Webブラウザ上に表示されるサービスメニューの中から一つのサービスを選択すると、サーバ16側で当該サービス専用のアプリケーションプログラムX1が起動され、サーバ16のCPUがこれに従って必要な処理を実行することによって上記の制御部30、業務処理部32、及び画面生成部34が実現される。
また、ユーザが他のサービスを選択した場合には、他のアプリケーションプログラムX2,X3…が別個に起動し、当該サービス用に最適化された制御部30、業務処理部32、及び画面生成部34が同時並行的に出現することとなる。
これに対し、メモリ管理部42は、各サービスのアプリケーションプログラムとは独立した、フロントエンドサーバ16内のミドルウェアによって実現される。
上記キャッシュ38、第1のバッファ40、及び第2のバッファ41は、フロントエンドサーバ16のメモリ空間上に確保されており、上記退避領域44は、同サーバ16のハードディスク内に設けられている。
以下、図3及び図4のフローチャートに従い、このシステム10における処理手順について説明する。
まず、ユーザがクライアント端末12からフロントエンドサーバ16にアクセスし、ID及びパスワードの入力を伴う認証ステップをクリアすると、サーバ16からメニュー表示用のWebファイル(Htmlファイル等)が送信され(S10)、Webブラウザ上に当該ユーザが利用可能なサービスのメニュー画面(図示省略)が表示される(S11)。
このメニューの中からユーザが一つのサービス、例えば「マスタメンテナンス・色削除」を選択すると、クライアント端末12の処理要求部28からフロントエンドサーバ16に対して当該サービスに係る利用画面の配信リクエストが送信される(S12)。
これを受けたフロントエンドサーバ16では、当該サービスに対応したアプリケーションプログラムX1が起動され(S13)、専用の制御部30、業務処理部32、画面生成部34が形成されると共に、メモリ空間上にキャッシュ38、第1のバッファ40及び第2のバッファ41が設定される。
つぎに制御部30は、画面生成部34に対して該当のWebファイルの送信を指令し、画面生成部34は予めデザインされた画面テンプレートに従って当該サービスの初期画面用のWebファイルを生成し、クライアント端末12に送信する(S14)。
この結果、クライアント端末12のブラウザ上には、図5に示すように、マスタメンテナンス・色削除サービスの初期画面46が表示される(S15)。
これに対しユーザが色タイプコード入力欄47に特定のコード番号、例えば「01」を入力して検索ボタン48をクリックすると、クライアント端末12の処理要求部28からフロントエンドサーバ16に対して色タイプコード=01のデータベースに対する検索リクエストが送信される(S16)。
これを受けた制御部30は、当該リクエストを第1のバッファ40にセットする(S17)。
これに対し業務処理部32は、第1のバッファ40から検索条件(色タイプコード=01)を取り出し、DBサーバ14に対して検索処理を依頼する(S18)。
そして、DBサーバ14から色タイプコード=01のデータベース内に格納されているデータのリストが送信されると、業務処理部32はこれを第1のバッファ40にセットする(S19)。
つぎに制御部30は、第1のバッファ40内のデータを取り出し、キャッシュ38にコピーすると共に(S20)、データの一部(1頁分)を第2のバッファ41に格納する(S22)。
これに対し画面生成部34は、第2のバッファ41からデータリストを取り出し、当該サービス用のテンプレートに各データを充填することによって検索結果表示用Webファイルを生成し、クライアント端末12に送信する(S23)。
この結果、クライアント端末12のWebブラウザ上には、図6に示すように、色タイプコード=01の登録データが一覧表示される(S24)。
色タイプコード=01の登録データは全部で101件ある中、画面46上には15件分のデータのみが表示されている。
他のデータを参照する場合、ユーザは下スクロールボタン49をクリックするか、キーボードの「Page Down」キーを押下する。
この結果、クライアント端末12の処理要求部28からフロントエンドサーバ16に対し、2頁目のデータの配信リクエストが送信される(S25)。
これを受けた制御部30は、キャッシュ38内に格納された次の15件分のデータを取り出し、第2のバッファ41に格納する(S26)。
画面生成部34は、これらのデータを上記テンプレートに充填すると共に、ページ表記を更新させたWebファイルを生成し、クライアント端末12に送信する(S27)。
この結果、図示は省略したが、Webブラウザ上に2頁目の表示画面が表示されることとなる(S28)。
つぎにユーザが任意のデータのチェックボックス50にチェックを入れ(S29)、頁スクロールのイベントを発生させると、クライアント端末12の状態通知部24からチェック済みの行に対する通知がフロントエンドサーバ16に送信される(S30)。
これを受けた制御部30は、キャッシュ38内に格納されたデータの中で現在表示中の頁における該当行のデータについて、チェック済みの情報を付加する(S31)。
制御部30は、キャッシュ38内に格納されたデータの件数情報と1頁当たりの行数情報から、クライアント端末12において現在表示中の頁を割り出すことができる。
また、ユーザが次の頁の表示を求めた場合、3頁目のデータが埋め込まれたWebファイルが画面生成部34からクライアント端末12に送信され、Webブラウザ上に表示される。
この場合、各データのチェックボックス50には未だチェックが入れられていない。ここでユーザが任意のレコードにチェックを入れた場合も上記と同様、クライアント端末12の状態通知部24からフロントエンドサーバ16に対して行を特定したチェック済みの通知が送信され、制御部30によってキャッシュ38内の該当データに対して削除対象として選択されたことを示す情報が付加される。
ユーザが上スクロールボタン51をクリックし、2頁目の再表示を求めると、制御部30から画面生成部34に対して2頁目のデータ15件分が渡され、2頁目の表示画面がクライアント端末12に送信される。
この場合、当然ながらユーザが先にチェックを入れたデータには、チェック済みを示すレ点が再現されている。
以上のようにして、ユーザが101件のデータ中で削除すべきデータに対するチェック入れを完了すると、削除ボタン52をクリックする。
この結果、クライアント端末12の処理要求部28からフロントエンドサーバ16に対し、チェック済みデータの削除リクエストが送信される(S32)。
これを受けた制御部30は、キャッシュ38内のデータリスト及び削除対象を特定するデータを取り出し、これらを第1のバッファ40にセットする(S34)。
つぎに業務処理部32が起動し、第1のバッファ40内にセットされたデータリスト及び削除対象を特定するデータを取り出し、DBサーバ14に対して削除をリクエストする(S37)。
そして、DBサーバ14における削除処理が完了すると、業務処理部32は削除後の全データをDBサーバ14から受け取り、第1のバッファ40にセットする(S38)。
つぎに制御部30が起動し、第1のバッファ40内の全データをキャッシュ38にコピーすると共に(S40)、1頁分のデータを第2のバッファ41に格納する(S41)。
画面生成部34は、このデータをテンプレートに充填してWebファイルを生成し、クライアント端末12に送信する(S42)。
この結果、クライアント端末12のWebブラウザ上には、削除したデータを除いた、残りのデータが頁単位で表示されることとなる(S43)。
上記のように、制御部30は第1のバッファ40内の全データをキャッシュ38内に格納すると共に、これらを画面デザインが要求する行数を備えた頁単位で管理し、クライアント端末12に対しては第2のバッファ41及び画面生成部34を介して1頁分のデータリストを順次送信するように構成したため、Webブラウザ上では常に決められた行数分のデータが表示され、図6に示したように、検索ボタン48や削除ボタン52の位置も画面46上で固定されることとなる。
この結果、従来の専用アプリケーションプログラムで画面を生成した場合と同様の、見やすいユーザインターフェイスを実現できる。
このシステム10の場合、各サービス毎に独自の画面デザイン(画面テンプレート)が設計され、それに合わせて制御部30や画面生成部34の動作を変更する必要がある。
例えば、あるデータベースの削除画面について20行の一覧表示欄を設けた場合、制御部30及び画面生成部34は、20件のデータを1頁として扱うこととなる。
また、削除対象を選択する方法として、上記のように削除したいレコードにチェックを入れるのではなく、残したいレコードにチェックを入れる方式の画面デザインを採用した場合、制御部30は、チェックされていないデータに対し削除対象として選択されたことを示すデータをキャッシュ38内に記録することとなる。
なお、制御部30や画面生成部34を画面デザインに合わせてコーディングする際にも、各画面で共通する基本的な動作部分はアプリケーション基盤として事前に作り込んでおき、1頁当たりの行数やデータの選択方法、選択された場合の意味(チェックされたものを削除するのか、チェックされなかったものを削除するのか)といった部分についてのみ書き直せば済む。
特に、Java(登録商標)言語によって各部のコーディングを行う場合には、継承の仕組みを利用することによって簡単にアプリケーション基盤部分のコードを援用できるため、画面デザインの設計変更が容易となる。
ところで、図1に示したように、フロントエンドサーバ16には複数のクライアント端末12が接続されており、各クライアント端末12上でも複数のサービス利用画面を同時に起動することが可能であるため、サーバ16の搭載メモリを如何に多く確保したとしても、リソースの不足が懸念される。
そこで、このシステム10はメモリの効率的利用を実現する機能を実装している。
図7は、フロントエンドサーバ16におけるメモリ空間の利用イメージを図示したものであり、図中のセッション情報が各クライアント端末12用に確保されたメモリ空間を表している。各セッション情報は、セッションIDによって識別される。
また、一のセッション情報中の上段の丸印αがセッションIDに対応しており、中段の丸印βが各サービスに対応している。
さらに、下段の丸印γが各サービスに含まれる個々の処理に必要なメモリ領域を示している。
以下、図8のフローチャートに従い、このシステム10におけるメモリ管理の手順について説明する。
まず、ユーザが特定のサービス利用画面を閉じた場合には、クライアント端末12の状態通知部24よりその情報がフロントエンドサーバ16に送信される。
これを受けたメモリ管理部42は(S50)、図7(b)に示すように、メモリ(キャッシュ38、第1のバッファ40及び第2のバッファ41)上から該当のサービス利用画面に係るデータを消去し、メモリ空間(図中の点線で示した部分)を解放する(S51)。
従来、クライアント端末12上で特定のサービス利用画面を閉じたとしても、その事実をサーバ16側で認識することができず、ログオフによってセッション自体が終了するまでリソースの無駄が生じていたが、このシステム10ではクライアント端末12の状態通知部24によって画面を閉じた旨の情報が遅滞なくフロントエンドサーバ16に送信されるため、即座に不要なデータをメモリ空間から削除することが可能となっている。
また、フロントエンドサーバ16のメモリ管理部42は、クライアント端末12との通信状態を常時監視しており、ユーザが所定時間(例えば30分間)何れのサービス利用画面においても操作を行わない場合ことを検知した場合(S52)、図7(c)に示すように、メモリ管理部42は当該クライアント端末12に割り当てたメモリ空間上の全データをハードディスク上の退避領域44に移動させ、メモリ空間を解放する(S53)。
その後、ユーザがサービス利用画面における操作を再開し、クライアント端末12との間で通信が発生すると(S54)、メモリ管理部42は退避領域44から当該クライアント端末12に係るデータをメモリ上に移動させ、図7(a)または(b)の状態を復元する(S55)。
従来もタイムアウトという概念があり、一定時間クライアント端末12との間で通信がない場合には 当該クライアント端末12に係るデータをメモリ空間から削除することは行われていたが、ユーザが作業を再開する場合には再度ログインからやり直す必要があり、また作業の途中経過が再現されないという問題があった。
これに対し、このシステム10の場合には、上記のように一時的にハードディスク内の退避領域44にデータが移動するだけであり、作業再開時には即座に途中経過が復元されるため、ユーザの利便性を確保しつつ、リソースの無駄な占有状態を回避することが可能となる。
メモリ管理部42による上記の監視動作は、当該クライアント端末12とのセッションが終了し(S56)、当該クライアント端末12に割り当てていたメモリ空間から全データが消去されるまで続けられる(S57)。
上記にあっては、サービスの一例としてDBサーバ14に特定データの削除を求める「マスタメンテナンス・色削除」を例示したが、クライアント端末12からDBサーバ14に対してデータの追加や修正を求めることも当然に可能である。
例えば、ユーザが上記サービスメニューの中から「マスタメンテナンス・色登録」を選択すると、クライアント端末12の処理要求部28からフロントエンドサーバ16に対して当該サービスに係る利用画面の配信リクエストが送信される。
これを受けたフロントエンドサーバ16では、当該サービスに対応したアプリケーションプログラムが起動され、専用の制御部30、業務処理部32、画面生成部34が形成されると共に、メモリ空間上にキャッシュ38、第1のバッファ40及び第2のバッファ41が設定される。
つぎに制御部30は、画面生成部34に対して該当のWebファイルの送信を指令し、画面生成部34は予めデザインされた画面テンプレートに従って当該サービスの初期画面用のWebファイルを生成し、クライアント端末12に送信する。
この結果、クライアント端末12のブラウザ上には、図9に示すように、マスタメンテナンス・色登録サービスの初期画面53が表示される。
これに対しユーザが色タイプコード入力欄54に特定のコード番号、例えば「01」を入力して検索ボタン55をクリックすると、クライアント端末12の処理要求部28からフロントエンドサーバ16に対して色タイプコード=01のデータベースに対する検索リクエストが送信される。
これを受けた制御部30は、当該リクエストを第1のバッファ40にセットする。
これに対し業務処理部32は、第1のバッファ40から検索条件(色タイプコード=01)を取り出し、DBサーバ14に対して検索処理を依頼する。
そして、DBサーバ14から色タイプコード=01のデータベース内に格納されているレコードが送信されると、業務処理部32はこれを第1のバッファ40にセットする。
つぎに制御部30は、第1のバッファ40内のデータを取り出し、キャッシュ38にコピーすると共に、データの一部(1頁分=15行分)を第2のバッファ41に書き出す。
これに対し画面生成部34は、当該サービス用のテンプレートに各データを充填することによって検索結果表示用Webファイルを生成し、クライアント端末12に送信する。
この結果、クライアント端末12のWebブラウザ上には、図10に示すように、色タイプコード=01の登録データが一覧表示される。
これに対しユーザが任意のデータに修正を加え、頁スクロールのイベントを発生させると、クライアント端末12の状態通知部24から修正済みのデータ及び修正内容を示す通知がフロントエンドサーバ16に送信される。
これを受けた制御部30は、キャッシュ38内に格納されたデータの中で現在表示中の頁における該当行のデータに対して対応の修正を加える。
また、ユーザが下スクロールボタン56をクリックして次の頁の表示を求めた場合、2頁目のデータが埋め込まれたWebファイルが画面生成部34からクライアント端末12に送信され、Webブラウザ上に表示される。
ここでユーザが上スクロールボタン57をクリックし、1頁目の再表示を求めると、制御部30から第2のバッファ41に対して1頁目のデータ15件分が渡され、画面生成部34から1頁目の表示画面がクライアント端末12に送信される。
この結果、ユーザが先に修正したデータが画面中で再現されることとなる。
データの追加登録を希望するユーザは、最終頁に設けられた空白の入力フィールドに色コード、色漢字名称、色カナ名称を新規に入力する(図示省略)。
この場合も、頁スクロールのイベントを発生させた時点で、状態通知部24から行を特定した新規入力データがフロントエンドサーバ16に送信され、制御部30によってキャッシュ38内における該当頁のデータリストに追加される。
以上のようにして、必要な修正あるいは追加を完了したユーザは、画面中の更新ボタン58をクリックする。
この結果、クライアント端末12の処理要求部28からフロントエンドサーバ16に対し、データの更新リクエストが送信される。
これを受けた制御部30は、キャッシュ38内に格納された修正済みあるいは追加済みのデータリストを取り出し、第1のバッファ40にセットする。
つぎに業務処理部32が起動し、第1のバッファ40内にセットされたデータリストを取り出し、DBサーバ14に対して更新をリクエストする。
この発明に係るデータベース利用システムの全体構成を示す概念図である。 クライアント端末及びフロントエンドサーバの機能構成を示すブロック図である。 このシステムの処理手順を示すフローチャートである。 このシステムの処理手順を示すフローチャートである。 マスタメンテナンス・色削除サービスの初期画面を示すレイアウト図である。 マスタメンテナンス・色削除サービスのデータ一覧画面を示すレイアウト図である。 フロントエンドサーバにおけるメモリ空間の利用イメージを示す概念図である。 このシステムにおけるメモリ管理の手順を示すフローチャートである。 マスタメンテナンス・色登録サービスの初期画面を示すレイアウト図である。 マスタメンテナンス・色登録サービスのデータ一覧画面を示すレイアウト図である。 従来のデータベースの利用形態の一例を示す概念図である。
10 データベース利用システム
12 クライアント端末
14 DBサーバ
16 フロントエンドサーバ
18 通信網
20 入力装置
22 ディスプレイ
24 状態通知部
26 Webページ表示部
28 処理要求部
30 制御部
32 業務処理部
34 画面生成部
38 キャッシュ
40 第1のバッファ
41 第2のバッファ
42 メモリ管理部
44 退避領域
46 マスタメンテナンス・色削除サービスの初期画面
47 色タイプコード入力欄
48 検索ボタン
49 下スクロールボタン
50 チェックボックス
51 上スクロールボタン
52 削除ボタン
53 マスタメンテナンス・色登録サービスの初期画面
54 色タイプコード入力欄
55 検索ボタン
56 下スクロールボタン
57 上スクロールボタン
58 更新ボタン
X1,X2,X3 アプリケーションプログラム

Claims (3)

  1. データベースサーバとクライアント端末との間に介装されたフロントエンドサーバを備えたデータベース利用システムであって、
    上記フロントエンドサーバが、クライアント端末から送信された検索条件をデータベースサーバに送信して検索を依頼すると共に、データベースサーバから送信された検索結果のデータリストを第1のバッファに格納する業務処理部と、この第1のバッファ内のデータリストを取り出してキャッシュに格納すると共に、このキャッシュから画面デザインに応じた行数を備えた1頁分のデータリストを取り出し、第2のバッファに格納する制御部と、この第2のバッファ内のデータリストを取り出し、画面デザインを反映したテンプレートに充填して画面表示用のWebファイルを生成すると共に、このWebファイルをクライアント端末に送信する画面生成部とを備え
    上記業務処理部、制御部及び画面生成部は、各クライアント端末において利用の選択がなされたサービス毎に上記フロントエンドサーバ上に生成されると共に、上記第1のバッファ、キャッシュ及び第2のバッファは、同サービス毎に上記フロントエンドサーバのメモリ空間上に確保され、
    上記クライアント端末から、表示画面中の特定データについてチェックが付されたことを示す通知が送信された場合に、上記制御部は、キャッシュ内における該当データにチェック済みの情報を付加する処理を実行し、
    上記クライアント端末から、チェック済みのデータを含む頁の再表示を求めるリクエストが送信された場合に、上記制御部は、キャッシュからチェック済みの情報が付加されたデータを含む1頁分のデータリストを取り出し、第2のバッファに格納する処理を実行し、上記画面生成部は、この第2のバッファ内のデータリストを取り出し、上記テンプレートに充填して画面表示用のWebファイルを生成すると共に、このWebファイルをクライアント端末に送信する処理を実行し、
    上記クライアント端末から、チェック済みのデータまたはチェックされていないデータの削除を求めるリクエストが送信された場合に、上記制御部は、キャッシュ内における対応のデータに削除対象として選択されたことを示す情報を付加する処理と、キャッシュ内のデータを第1のバッファに出力する処理を実行し、上記業務処理部は、この第1のバッファに格納されたデータをデータベースサーバに送信し、データの更新を依頼する処理を実行することを特徴とするデータベース利用システム。
  2. データベースサーバとクライアント端末との間に介装されたフロントエンドサーバを備えたデータベース利用システムであって、
    上記フロントエンドサーバが、クライアント端末から送信された検索条件をデータベースサーバに送信して検索を依頼すると共に、データベースサーバから送信された検索結果のデータリストを第1のバッファに格納する業務処理部と、この第1のバッファ内のデータリストを取り出してキャッシュに格納すると共に、このキャッシュから画面デザインに応じた行数を備えた1頁分のデータリストを取り出し、第2のバッファに格納する制御部と、この第2のバッファ内のデータリストを取り出し、画面デザインを反映したテンプレートに充填して画面表示用のWebファイルを生成すると共に、このWebファイルをクライアント端末に送信する画面生成部とを備え
    上記業務処理部、制御部及び画面生成部は、各クライアント端末において利用の選択がなされたサービス毎に上記フロントエンドサーバ上に生成されると共に、上記第1のバッファ、キャッシュ及び第2のバッファは、同サービス毎に上記フロントエンドサーバのメモリ空間上に確保され、
    上記クライアント端末から、表示画面中の特定データについて修正がなされたことを示す情報が送信された場合に、上記制御部は、キャッシュ内における該当データに対応の修正を施す処理を実行し、
    上記クライアント端末から、表示画面中においてデータの追加がなされたことを示す情報が送信された場合に、上記制御部は、キャッシュ内におけるデータリストに対応のデータを追加する処理を実行し、
    上記クライアント端末から、修正済みのデータまたは追加データを含む頁の再表示を求めるリクエストが送信された場合に、上記制御部は、キャッシュから修正済みのデータまたは追加データを含む1頁分のデータリストを取り出し、第2のバッファに格納する処理を実行し、上記画面生成部は、この第2のバッファ内のデータリストを取り出し、上記テンプレートに充填して画面表示用のWebファイルを生成すると共に、このWebファイルをクライアント端末に送信する処理を実行し、
    上記クライアント端末から、修正済みのデータまたは追加データに基づく更新のリクエストが送信された場合に、上記制御部は、キャッシュ内のデータを第1のバッファに出力する処理を実行し、上記業務処理部は、この第1のバッファに格納されたデータをデータベースサーバに送信し、データの更新を依頼する処理を実行することを特徴とするデータベース利用システム。
  3. 上記クライアント端末には、入力装置からの入力情報を常時監視し、画面を閉じる入力動作を検出した場合には、その旨を示す情報を上記フロントエンドサーバに即座に送信する手段が設けられており、
    上記フロントエンドサーバは、上記クライアント端末から画面を閉じたことを示す情報が送信された場合に、当該画面に関連したデータを上記キャッシュ及び各バッファから削除する手段と、
    上記クライアント端末の画面上において所定時間入力操作が行われていない場合に、当該画面に関連したデータを上記キャッシュ及び各バッファからハードディスクに一時的に退避させる手段と、
    上記クライアント端末から画面上において入力操作が再開されたことを示す情報が送信された場合に、当該画面に関連したデータをハードディスクから上記キャッシュ及び各バッファに復元させる手段とを備えたことを特徴とする請求項1または2に記載のデータベース利用システム。
JP2004102487A 2004-03-31 2004-03-31 データベース利用システム Expired - Fee Related JP4464727B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004102487A JP4464727B2 (ja) 2004-03-31 2004-03-31 データベース利用システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004102487A JP4464727B2 (ja) 2004-03-31 2004-03-31 データベース利用システム

Publications (2)

Publication Number Publication Date
JP2005292872A JP2005292872A (ja) 2005-10-20
JP4464727B2 true JP4464727B2 (ja) 2010-05-19

Family

ID=35325780

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004102487A Expired - Fee Related JP4464727B2 (ja) 2004-03-31 2004-03-31 データベース利用システム

Country Status (1)

Country Link
JP (1) JP4464727B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4495783B2 (ja) * 2004-06-25 2010-07-07 株式会社野村総合研究所 データベース利用システム
JP4502752B2 (ja) * 2004-09-07 2010-07-14 株式会社野村総合研究所 データベース利用システム
JP4502763B2 (ja) * 2004-09-22 2010-07-14 株式会社野村総合研究所 データベース利用システム
JP2007312106A (ja) * 2006-05-18 2007-11-29 Noritsu Koki Co Ltd 写真処理装置
JP5416597B2 (ja) * 2010-01-07 2014-02-12 株式会社野村総合研究所 コンピューティング共有システム
JP6890685B2 (ja) 2018-01-19 2021-06-18 三菱電機株式会社 通信制御装置、通信制御方法および通信制御プログラム

Also Published As

Publication number Publication date
JP2005292872A (ja) 2005-10-20

Similar Documents

Publication Publication Date Title
CN102939583B (zh) 创建任务会话
US7149806B2 (en) Data access in a distributed environment
JP5274589B2 (ja) デスクトップ・アプリケーションをウェブ・アプリケーションに移行するためのカスタマイズシステムと方法
US7405838B2 (en) Information processing apparatus, information processing method and print systems
JP5462610B2 (ja) 情報処理システム、情報処理装置、それらの制御方法、及びプログラム
US7259882B2 (en) Printing system, printing method, data server, recording medium, and program for performing printing via a communications network
JP2014182790A (ja) Pdfファイルプレビュー操作
JP2013054435A (ja) 画像処理装置及びその制御方法、並びにプログラム
US10878055B2 (en) Web server
JP4464727B2 (ja) データベース利用システム
US9060080B2 (en) Image processing apparatus, method for controlling the same, and storage medium for generating image data based on a read document
US20070208754A1 (en) Processing device and processing method
JP2005190432A (ja) 帳票出力確認サーバおよび帳票出力確認方法およびプログラムおよび記録媒体
US7681122B1 (en) File conversion system and method
JP2007108878A (ja) 定型文書提供システム及びサーバ
US20120017181A1 (en) Image processing apparatus control method and program
CN113448577A (zh) 一种页面生成方法、装置以及存储介质
CN112380470A (zh) Web应用系统显示方法、装置和应急管理系统
JP4502763B2 (ja) データベース利用システム
JP4986234B2 (ja) 情報処理装置
JP5140351B2 (ja) 情報処理装置
JP4495783B2 (ja) データベース利用システム
JP5040026B2 (ja) 情報処理装置
JP4707954B2 (ja) 運用エラー情報の一括印刷方法及びこれを用いたネットワークシステム
JP5090828B2 (ja) 情報処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061106

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090728

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090928

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091117

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100216

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100219

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130226

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140226

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees