(57)【要約】【課題】ウェブブラウザを利用した業務システムにおいて、運用に手間をかけることなく、データ表示のレスポンス性能の向上を図ることを目的とする。【解決手段】業務サーバ１０が、ウェブクライアント４００から要求されたウェブページ（ＨＴＭＬ１１０）を、ウェブブラウザ４１０で動作するバッファアプリケーション１２１とともにウェブクライアント４００へネットワーク５００を介して配信する。ウェブブラウザ４１０では、配信されたウェブページを表示するとともに、バッファアプリケーション１２１を実行する。バッファアプリケーション１２１は、ウェブページで使用する業務データを業務サーバ１０から順次取得してウェブクライアント４００のバッファメモリに蓄積しておく。【選択図】図１
2011243168.tif 000002
【特許請求の範囲】
【請求項１】
データ配信サーバが、ウェブブラウザが動作するウェブクライアントからウェブページの配信要求を受信する配信要求受信ステップと、
前記データ配信サーバが、前記配信要求受信ステップで受信した配信要求によって要求されたウェブページを、前記ウェブブラウザで動作するバッファアプリケーションとともに前記ウェブクライアントへネットワークを介して配信するページ配信ステップと、
前記ウェブクライアントへ配信され、前記ウェブブラウザで実行されたバッファアプリケーションが、前記ウェブページで使用される処理データを、ネットワークを介してデータベースサーバから取得して、前記ウェブクライアントのメモリに記憶するバッファステップと、
前記ウェブクライアントの前記ウェブブラウザが、前記バッファステップで取得した処理データに基づき前記ウェブページを表示するデータ表示ステップと
を備え、
前記バッファステップでは、前記データ表示ステップでウェブページを表示している間に、前記バッファアプリケーションが、前記処理データが使用された後に前記ウェブページで使用される処理データを前記データベースサーバから取得して、前記ウェブクライアントのメモリに記憶する
ことを特徴とするデータ配信方法。
【請求項２】
前記バッファステップでは、前記バッファアプリケーションが、所定の単位づつ処理データを取得し、前記ウェブクライアントのメモリに記憶された処理データが所定の単位数以下の場合に処理データを取得する
ことを特徴とする請求項１に記載のデータ配信方法。
【請求項３】
前記バッファステップでは、前記処理データに処理順序が定められている場合には、前記バッファアプリケーションが、前記処理順序に従い処理データを取得する
ことを特徴とする請求項１又は２に記載のデータ配信方法。
【請求項４】
前記バッファステップでは、処理順序が定められている一連の処理データを複数のウェブクライアントが順次取得して分散処理する場合には、前記複数のウェブクライアントのウェブクライアント数に応じて、前記処理順序の何番目の順位の処理データを取得するかを計算して、計算した順位の処理データを取得する
ことを特徴とする請求項１又は２に記載のデータ配信方法。
【請求項５】
ウェブブラウザが動作するウェブクライアントからウェブページの配信要求を受信する配信要求受信部と、
前記配信要求受信部が受信した配信要求によって要求されたウェブページを前記ウェブクライアントへネットワークを介して配信するページ配信部と
を備え、
前記ページ配信部は、前記ウェブページとともに、前記ウェブブラウザで動作するバッファアプリケーションであって、前記ウェブページで使用される処理データを、ネットワークを介してデータベースサーバから取得して、前記ウェブクライアントのメモリに記憶するバッファアプリケーションを、前記ウェブクライアントへ配信する
ことを特徴とするデータ配信装置。
【請求項６】
ウェブブラウザが動作するウェブクライアントからウェブページの配信要求を受信する配信要求受信処理と、
前記配信要求受信処理で受信した配信要求によって要求されたウェブページを前記ウェブクライアントへネットワークを介して配信するページ配信処理と
を備え、
前記ページ配信処理は、前記ウェブページとともに、前記ウェブブラウザで動作するバッファアプリケーションであって、前記ウェブページで使用される処理データを、ネットワークを介してデータベースサーバから取得して、前記ウェブクライアントのメモリに記憶するバッファアプリケーションを、前記ウェブクライアントへ配信する
ことを特徴とするデータ配信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ウェブクライアントがサーバからデータを取得する場合におけるバッファ技術に関する。
【背景技術】
【０００２】
ウェブシステムでは、サーバからウェブクライアントへＨＴＭＬ等で記述されたウェブページと、ウェブページから呼び出され実行される業務アプリケーションとを配布する。そして、ウェブクライアントのウェブブラウザで、配布されたウェブページを表示するとともに、業務アプリケーションが実行される。実行された業務アプリケーションは、サーバ（データベース）から業務データを取得して、取得した業務データをウェブページ上に表示したり、実行された業務アプリケーションでの業務処理に使用したりする。
ここで、複数の業務データを順次処理する場合、１件の業務データについての処理が終了すると、業務アプリケーションが次の業務データを取得するというのが一般的な流れである。しかし、このような流れで処理を行った場合、インターネットなどの通信回線の遅さが原因となり、次の業務データへウェブページの画面表示を切り替えるのに時間がかかってしまう場合がある。
【０００３】
特許文献１には、サーバにリモートプロキシを設け、ウェブクライアントにローカルプロキシを設けたバッファ技術についての記載がある。特許文献１では、リモートプロキシで既にウェブクライアントへ配信済のデータと現在サーバに蓄積されている新バージョンのデータとの差異データを求め、差異データをローカルプロキシへ送り、ローカルプロキシに差異データを蓄積しておく。そして、再びウェブクライアントが同じウェブページを表示する際、配信済のデータとローカルプロキシに蓄積した差異データとから新しいページを再構築する。これにより、画面表示を高速に行っている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１０−２１４２３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載された方法では、少なくとも一度は対象のウェブページにアクセスして全データを取得していなければ効果が得られない。つまり、初めて対象のウェブページへアクセスした場合には、画面表示の遅延が発生してしまう。
また、特許文献１に記載された方法では、ローカルプロキシを各ウェブクライアントに導入しなければならない。したがって、運用に手間がかかり、コストが増加してしまう。
この発明は、例えば、ウェブブラウザを利用した業務システムにおいて、運用に手間をかけることなく、データ表示のレスポンス性能の向上を図ることを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係るデータ配信方法は、
データ配信サーバが、ウェブブラウザが動作するウェブクライアントからウェブページの配信要求を受信する配信要求受信ステップと、
前記データ配信サーバが、前記配信要求受信ステップで受信した配信要求によって要求されたウェブページを、前記ウェブブラウザで動作するバッファアプリケーションとともに前記ウェブクライアントへネットワークを介して配信するページ配信ステップと、
前記ウェブクライアントへ配信されたバッファアプリケーションが、前記ウェブページで使用される処理データを、ネットワークを介してデータベースサーバから取得して、前記ウェブクライアントのメモリに記憶するバッファステップと、
前記ウェブクライアントの前記ウェブブラウザが、前記バッファステップで取得した処理データに基づき前記ウェブページを表示するデータ表示ステップと
を備え、
前記バッファステップでは、前記データ表示ステップでウェブページを表示している間に、前記バッファアプリケーションが、前記処理データが使用された後に前記ウェブページで使用される処理データを前記データベースサーバから取得して、前記ウェブクライアントのメモリに記憶する
ことを特徴とする。
【発明の効果】
【０００７】
この発明に係るデータ配信方法によれば、ウェブブラウザで動作するバッファアプリケーションがウェブページとともに配信され、バッファアプリケーションがバッファ処理を行う。そのため、各ウェブクライアントに予めバッファ用のアプリケーションを導入することなく、画面表示のレスポンス性能を向上させることができる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１に係るウェブシステムの構成図。
【図２】実施の形態１に係るウェブシステムの動作を示すフローチャート。
【図３】実施の形態１に係るウェブシステムの動作を示すフローチャート。
【図４】実施の形態２に係るウェブシステムの構成図。
【図５】実施の形態２に係るウェブシステムの動作を示すフローチャート。
【図６】実施の形態２に係るウェブシステムの動作を示すフローチャート。
【図７】業務サーバ１０とウェブクライアント４００とのハードウェア構成の一例を示す図。
【発明を実施するための形態】
【０００９】
以下、図に基づき、発明の実施の形態を説明する。
以下の説明において、処理装置は後述するＣＰＵ９１１等である。記憶装置は後述するＲＯＭ９１３、ＲＡＭ９１４、磁気ディスク９２０等である。表示装置は後述するＬＣＤ９０１等である。つまり、処理装置、記憶装置、表示装置はハードウェアである。
【００１０】
実施の形態１．
図１は、実施の形態１に係るウェブシステムの構成図である。
ウェブシステムは、業務サーバ１０（データ配信装置）と、ウェブクライアント４００とを備え、これらがネットワーク５００を介して接続される。
業務サーバ１０は、ウェブサーバ１００、ＡＰＰサーバ２００（ＡＰＰｌｉｃａｔｉｏｎサーバ）、ＤＢサーバ３００（ＤａｔａＢａｓｅサーバ）を備える。なお、ウェブサーバ１００、ＡＰＰサーバ２００、ＤＢサーバ３００は、必ずしも同一の装置内に配置される必要は無く、複数の装置に分けることも可能である。
ここで、ウェブサーバ１００は、ウェブページの配信を行うサーバである。ＡＰＰサーバ２００は、ウェブクライアント４００から送信された業務処理リクエスト（トランザクション要求）に対応する処理（いわゆるビジネスロジック）等を実行するサーバである。ＤＢサーバ３００は、業務データ（処理データ）を管理するＤＢＭＳ（ＤａｔａＢａｓｅ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ）である。
また、ウェブクライアント４００は、ウェブブラウザ４１０を備えたＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）である。ウェブブラウザ４１０は、Ａｊａｘ（Ａｓｙｎｃｈｒｏｎｏｕｓ  ＪａｖａＳｃｒｉｐｔ（登録商標）  ＋  ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ））に代表されるＲＩＡ（Ｒｉｃｈ  Ｉｎｔｅｒｎｅｔ  Ａｐｐｌｉｃａｔｉｏｎｓ）技術を適用したアプリケーションが動作するブラウザである。
また、ネットワーク５００は、インターネットなどの比較的帯域が狭い（ナローバンド、低速）ネットワークである。
【００１１】
図２，３は、実施の形態１に係るウェブシステムの動作を示すフローチャートである。
（Ｓ１０１：配信要求送信処理）
ウェブクライアント４００では、処理装置によりウェブブラウザ４１０が実行される。そして、ウェブブラウザ４１０は、ＨＴＭＬ１１０で記述された業務ページと、所定の業務処理を実行する業務アプリケーション１３０との配信要求をウェブサーバ１００へネットワーク５００を介して送信する。
【００１２】
（Ｓ１０２：配信要求受信処理、ページ配信処理）
ウェブサーバ１００の配信要求受信部１０１は、ウェブブラウザ４１０が送信した配信要求を受信する。そして、ページ配信部１０２は、配信要求が要求するＨＴＭＬ１１０と業務アプリケーション１３０とを内部の記憶装置から取得し、ライブラリ１２０とともにウェブクライアント４００へネットワーク５００を介して送信する。
ここで、ＨＴＭＬ１１０は、業務アプリケーション１３０とライブラリ１２０との動作記述（リンク情報）を含むウェブページである。なお、ここでは、ＨＴＭＬと呼ぶが、ＨＴＭＬに限らず他の言語で記述されていても構わない。また、ライブラリ１２０は、バッファアプリケーション１２１やその他の汎用アプリケーション１２２などを含むプログラムの集合である。業務アプリケーション１３０は、表示制御を行うプレゼンテーション機能１３１や、業務の実行に必要な処理を行うビジネス機能１３２を含むプログラムである。ライブラリ１２０や業務アプリケーション１３０は、ウェブブラウザ４１０で動作するＲＩＡによって実現されている。
【００１３】
（Ｓ１０３：ページ表示処理）
ウェブブラウザ４１０は、ウェブサーバ１００から配信されたＨＴＭＬ１１０を処理装置により実行することで、業務ページを表示装置に表示するとともに、業務アプリケーション１３０やライブラリ１２０を起動させる。
【００１４】
（Ｓ１１１）から（Ｓ１１６）と、（Ｓ１２１）から（Ｓ１２２）とがバッファ処理である。
（Ｓ１１１）
（Ｓ１０３）で実行された業務アプリケーション１３０は、業務ページにおいて実行される業務処理で使用する業務データの取得要求を、ＡＰＰサーバ２００ではなく、ライブラリ１２０に含まれるバッファアプリケーション１２１へ送信する。
【００１５】
（Ｓ１１２）
バッファアプリケーション１２１は、実行された業務アプリケーション１３０から業務データの取得要求を受信する。
【００１６】
（Ｓ１１３）
バッファアプリケーション１２１は、ウェブクライアント４００における所定のメモリ領域（バッファメモリ）に蓄積されている業務データが十分であるか否かを判定する。
ここでは、バッファアプリケーション１２１は、バッファメモリに蓄積された業務データの件数を管理する内部的な変数としてバッファ変数を持つ。バッファ変数には初期値として所定の値が設定され、後述するように、業務データを１件取得すると１減算され、業務データを１件処理すると１加算される。そして、バッファアプリケーション１２１は、バッファ変数が０であるか否かを判定する。バッファアプリケーション１２１は、バッファ変数が０でなければ、バッファメモリに蓄積されている業務データが不十分であると判定し、０であれば、バッファメモリに蓄積されている業務データが十分であると判定する。
バッファメモリに蓄積されている業務データが不十分であると判定した場合（Ｓ１１３で不十分）、バッファアプリケーション１２１は処理を（Ｓ１１４）へ進めて、（Ｓ１１４）から（Ｓ１１６）で業務データをバッファメモリに蓄積する。一方、バッファメモリに蓄積されている業務データが十分であると判定した場合（Ｓ１１３で十分）、バッファアプリケーション１２１は処理を（Ｓ１２１）へ進めて、バッファ処理を一時停止する。
【００１７】
（Ｓ１１４）
バッファアプリケーション１２１は、業務アプリケーション１３０が実行する業務処理に使用する業務データの取得要求をＡＰＰサーバ２００へネットワーク５００を介して送信する。
また、バッファアプリケーション１２１は、業務データの取得要求を送信した後、バッファ変数の値を１減算する。
【００１８】
（Ｓ１１５）
ＡＰＰサーバ２００のバッファ情報配信部２２０は、要求された業務データをＤＢサーバ３００から取得して、ウェブクライアント４００へネットワーク５００を介して送信する。
なお、業務データは、業務処理の処理単位毎にＤＢサーバ３００で管理されており、ここでは、ＡＰＰサーバ２００は１単位分の業務データを取得する。また、業務データに処理順序が設定されている場合には、ＡＰＰサーバ２００は要求された業務データであって、未だ取得されていない業務データのうち、最も処理順位（優先順位）の高い最優先業務データを取得して、ウェブクライアント４００へ送信する。
【００１９】
（Ｓ１１６）
バッファアプリケーション１２１は、受信した業務データをバッファメモリに記憶する。そして、バッファアプリケーション１２１は、処理を（Ｓ１１１）へ戻す。
【００２０】
（Ｓ１２１）
バッファアプリケーション１２１は、（Ｓ１２２）で業務データの取得停止が解除されるまで、バッファ処理を停止する。
【００２１】
（Ｓ１２２）
バッファアプリケーション１２１は、業務アプリケーション１３０から業務データの取得停止の解除指示を受信する。これにより、バッファアプリケーション１２１は、処理を（Ｓ１１１）へ戻し、再びバッファ処理を開始する。
【００２２】
（Ｓ１３１）から（Ｓ１３８）がデータ表示処理である。
（Ｓ１３１）
業務アプリケーション１３０は、（Ｓ１１１）で業務データの取得要求を送信する一方で、並行してデータ表示処理の実行を開始する。
【００２３】
（Ｓ１３２）
業務アプリケーション１３０は、バッファメモリに業務データが蓄積されているか否かを判定する。ここでは、業務アプリケーション１３０は、少なくとも１件（１単位分）の業務データが蓄積されているか否かを判定する。
業務データが蓄積されていると判定した場合（Ｓ１３２でＹＥＳ）、業務アプリケーション１３０は処理を（Ｓ１３３）へ進める。一方、業務データが蓄積されていないと判定した場合（Ｓ１３２でＮＯ）、業務アプリケーション１３０は、所定時間経過後に再び、バッファメモリに業務データが蓄積されているか否かを判定する。
【００２４】
（Ｓ１３３）
業務アプリケーション１３０は、バッファメモリから業務データを取得する。なお、業務データに処理順序が設定されている場合には、業務アプリケーション１３０はバッファメモリに蓄積された業務データのうち最も処理順位の高い業務データを取得する。
【００２５】
（Ｓ１３４）
業務アプリケーション１３０は、取得した業務データを、表示している業務ページに追加表示する。そして、業務アプリケーション１３０は、表示した業務ページへの入力を受け付ける。
【００２６】
（Ｓ１３５）
業務アプリケーション１３０は、表示した業務ページに対して必要な情報が利用者から入力され、最後に確定入力を受け付けると、ＡＰＰサーバ２００へ入力された情報をネットワーク５００を介して送信する。
【００２７】
（Ｓ１３６）
ＡＰＰサーバ２００のビジネスロジック処理部２１０は、業務アプリケーション１３０から受信した情報をＤＢサーバ３００に格納し、ウェブブラウザ４１０へＡｃｋをネットワーク５００を介して送信する。
【００２８】
（Ｓ１３７）
業務アプリケーション１３０は、ＡＰＰサーバ２００からＡｃｋを受信すると、バッファ変数の値に１加算する。
【００２９】
（Ｓ１３８）
業務アプリケーション１３０は、業務データの取得停止の解除指示をバッファアプリケーション１２１へ送信する。ここで送信された解除指示は、（Ｓ１２２）でバッファアプリケーション１２１に受信される。
そして、業務アプリケーション１３０は、処理を（Ｓ１３２）へ戻す。
【００３０】
以上のように、この実施の形態に係るウェブシステムでは、ＨＴＭＬ１１０や業務アプリケーション１３０とともに、バッファ処理を実行するバッファアプリケーション１２１をウェブクライアント４００へ送信する。そして、ウェブブラウザ４１０において、バッファアプリケーション１２１を動作させる。これにより、プロキシアプリケーションやプロキシ機能を持つ特別なＰＣを用いることなくバッファ処理が実現できる。
【００３１】
なお、ライブラリ１２０には、バッファアプリケーション１２１以外に汎用アプリケーション１２２が含まれている。汎用アプリケーション１２２には、バッファ処理以外の機能のプログラムを設定できる。したがって、バッファ処理以外の機能を、バッファ処理と同様に追加実装することも可能である。
【００３２】
実施の形態２．
実施の形態１では、ウェブクライアント４００において業務データを先読みしバッファすることで画面切替のレスポンスを向上させた。
ここで、上述したように、業務データには処理順序（処理の優先順序）が定められている場合がある。この場合に、複数のウェブクライアント４００が処理順位の高い業務データから順にバッファメモリに蓄積して、各ウェブクライアント４００で分散して業務データを処理すると、一部のウェブクライアント４００へ処理順位の高い業務データが集中してしまうおそれがある。一部のウェブクライアント４００へ処理順位の高い業務データが集中すると、処理順位の高い業務データの処理が処理順位の低い業務データの処理よりも後になってしまうおそれがある。
そこで、この実施の形態では、処理順位の高い業務データが一部のウェブクライアント４００に集中し、処理順序のばらつきが大きくなることを防止する方法について説明する。
【００３３】
なお、複数のウェブクライアント４００で分散処理する場合における業務データの処理順序のばらつきは、バッファ処理をしない場合、ウェブクライアント４００の数の範囲内である。これに対して、バッファ処理をする場合、ウェブクライアント４００の数にバッファする業務データ件数を掛けた範囲でばらつくことになる。
つまり、バッファする業務データの件数を増やして画面切替のレスポンスを向上させると、処理順序のばらつきが大きくなるおそれがある。
ここでは、処理順序のばらつきを、バッファ処理をしない場合と同程度、つまりウェブクライアント４００の数の範囲程度にする方法について説明する。
【００３４】
図４は、実施の形態２に係るウェブシステムの構成図である。
実施の形態２に係るウェブシステムは、実施の形態１に係るウェブシステムと比べ、バッファアプリケーション１２１の構成と、バッファ情報配信部２２０の構成とが異なる。バッファアプリケーション１２１は、最優先順位要求部１２３、バッファ順位要求部１２４を備える。バッファ情報配信部２２０は、最優先順位抽出部２２１、バッファ順位抽出部２２２を備える。
【００３５】
図５，６は、実施の形態２に係るウェブシステムの動作を示すフローチャートである。
（Ｓ１０１）から（Ｓ１０３）と、（Ｓ１１１）から（Ｓ１１２）と、（Ｓ１２１）から（Ｓ１２２）と、（Ｓ１３１）から（Ｓ１３８）とは、実施の形態１と同様である。そこで、ここでは、（Ｓ１１３）から（Ｓ１２０）についてのみ説明する。
なお、（Ｓ１１１）から（Ｓ１２０）と、（Ｓ１２１）から（Ｓ１２２）とがバッファ処理である。
【００３６】
（Ｓ１１３）
バッファアプリケーション１２１の最優先順位要求部１２３は、最優先順位の業務データを要求可能か否かを判定する。
ここでは、最優先順位要求部１２３は、最優先順位の業務データを要求可能か否かを判定するための内部的な変数として優先変数を持つ。優先変数には、業務アプリケーション１３０の起動時には１が設定され、後述するように、最優先順位の業務データを１件取得すると１減算され、業務データを１件処理すると１加算される。そして、最優先順位要求部１２３は、優先変数が０であるか否かを判定する。バッファアプリケーション１２１は、優先変数が０でなければ、最優先順位の業務データを要求可能であると判定し、０であれば、最優先順位の業務データを要求不可能であると判定する。
最優先順位の業務データを要求可能であると判定した場合（Ｓ１１３で要求可）、バッファアプリケーション１２１は処理を（Ｓ１１４）へ進めて、（Ｓ１１４）から（Ｓ１１６）で最優先順位の業務データをバッファメモリに蓄積する。一方、最優先順位の業務データを要求不可能であると判定した場合（Ｓ１１３で要求不可）、バッファアプリケーション１２１は処理を（Ｓ１１７）へ進めて、最優先順位ではない業務データを要求するか否かを判定する。
【００３７】
（Ｓ１１４）
最優先順位要求部１２３は、最優先順位の業務データの取得要求をＡＰＰサーバ２００へネットワーク５００を介して送信する。
また、最優先順位要求部１２３は、業務データの取得要求を送信した後、優先変数の値と、バッファ変数の値とを１減算する。
【００３８】
（Ｓ１１５）
ＡＰＰサーバ２００のバッファ情報配信部２２０の最優先順位抽出部２２１は、最優先順位の業務データをＤＢサーバ３００から取得して、ウェブクライアント４００へネットワーク５００を介して送信する。
【００３９】
（Ｓ１１６）
最優先順位要求部１２３は、受信した最優先順位の業務データをバッファメモリに記憶する。そして、バッファアプリケーション１２１は、処理を（Ｓ１１１）へ戻す。
【００４０】
（Ｓ１１７）
バッファ順位要求部１２４は、ウェブクライアント４００におけるバッファメモリに蓄積されている業務データが十分であるか否かを判定する。
ここでは、バッファ順位要求部１２４は、実施の形態１と同様に、バッファ変数が０であるか否かを判定する。バッファ順位要求部１２４は、バッファ変数が０でなければ、バッファメモリに蓄積されている業務データが不十分であると判定し、０であれば、バッファメモリに蓄積されている業務データが十分であると判定する。
バッファメモリに蓄積されている業務データが不十分であると判定した場合（Ｓ１１７で不十分）、バッファ順位要求部１２４は処理を（Ｓ１１８）へ進めて、（Ｓ１１８）から（Ｓ１２０）で業務データをバッファメモリに蓄積する。一方、バッファメモリに蓄積されている業務データが十分であると判定した場合（Ｓ１１７で十分）、バッファ順位要求部１２４は処理を（Ｓ１２１）へ進めて、バッファ処理を一時停止する。
【００４１】
（Ｓ１１８）
バッファ順位要求部１２４は、要求する業務データの処理順位を、バッファメモリに蓄積される業務データの処理順位が飛び飛びになるように計算する。例えば、ウェブサーバ１００に接続が見込まれるウェブクライアント４００の最大数をＹ、１，２，．．．の順に各ウェブクライアント４００に割り当てた番号をｙとする。この場合に、バッファ順位要求部１２４は、処理順位Ｘを、正の整数ｋを用いてＸ’＝ｋＹ＋ｙで求まる値Ｘ’の中で、未だ業務データが取得されていない処理順位の最小値とする。
そして、バッファ順位要求部１２４は、計算した処理順位の業務データの取得要求をＡＰＰサーバ２００へネットワーク５００を介して送信する。
また、バッファ順位要求部１２４は、業務データの取得要求を送信した後、バッファ変数の値を１減算する。
【００４２】
（Ｓ１１９）
ＡＰＰサーバ２００のバッファ情報配信部２２０は、要求された処理順位の業務データをＤＢサーバ３００から取得して、ウェブクライアント４００へネットワーク５００を介して送信する。
【００４３】
（Ｓ１２０）
バッファ順位要求部１２４は、受信した業務データをバッファメモリに記憶する。そして、バッファアプリケーション１２１は、処理を（Ｓ１１１）へ戻す。
【００４４】
なお、（Ｓ１３７）では、業務アプリケーション１３０は、バッファ変数だけでなく、優先変数にも１加算する。
【００４５】
以上のように、この実施の形態に係るウェブシステムでは、取得する業務データの処理順位をばらつかせることにより、処理順位の高い業務データが一部のウェブクライアント４００に集中し、処理順序のばらつきが大きくなることを防止できる。そのため、処理順位の高い業務データの処理が処理順位の低い業務データの処理よりも後になる可能性を抑えることができる。
【００４６】
また、所定の場合には、最優先順位の業務データを取得させているため、取得する業務データの処理順位をばらつかせることにより、かえって処理順位の高い業務データの処理が後になってしまうことを防止できる。
【００４７】
つまり、以上の実施の形態に係るウェブシステムの特徴をまとめると次のようになる。
（１）ウェブクライアント以外に情報をバッファするための新たな端末（計算機）を導入することなく、さらにウェブクライアントで動作するウェブブラウザ以外に情報をバッファするための新たなアプリケーションを導入することなく、ウェブブラウザが表示する情報を先読みしてバッファすることができる。
（２）バッファ機能はウェブブラウザ上で動作するＲＩＡによって実現される。
（３）バッファ機能は、順次処理する業務データを対象とし、予めバッファすべき情報が特定可能或いは推測可能である。
（４）バッファ機能など、ウェブブラウザ上で動作するアプリケーションから利用される汎用機能は、任意で追加・変更・削除が可能となるよう、モジュール化とそのモジュールを管理する機能を持つ。
（５）バッファ機能では、端末毎にバッファする特性から、処理順序にばらつきが生じるため、処理順序が期待される業務データでは課題となるが、バッファしないときの端末なみにばらつきを抑えることができる。
【００４８】
次に、実施の形態におけるウェブシステムの業務サーバ１０（ウェブサーバ１００、ＡＰＰサーバ２００、ＤＢサーバ３００）とウェブクライアント４００とのハードウェア構成について説明する。
図７は、業務サーバ１０とウェブクライアント４００とのハードウェア構成の一例を示す図である。
図７に示すように、業務サーバ１０とウェブクライアント４００とは、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。ＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３、ＲＡＭ９１４、ＬＣＤ９０１（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）、キーボード９０２（Ｋ／Ｂ）、通信ボード９１５、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置９２０（固定ディスク装置）の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。磁気ディスク装置９２０は、所定の固定ディスクインタフェースを介して接続される。
【００４９】
磁気ディスク装置９２０又はＲＯＭ９１３などには、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ９１１、オペレーティングシステム９２１、ウィンドウシステム９２２により実行される。
【００５０】
プログラム群９２３には、上記の説明において「配信要求受信部１０１」、「ページ配信部１０２」、「ＨＴＭＬ１１０」、「ライブラリ１２０」、「業務アプリケーション１３０」、「バッファアプリケーション１２１」、「汎用アプリケーション１２２」、「最優先順位要求部１２３」、「バッファ順位要求部１２４」、「ビジネスロジック処理部２１０」、「バッファ情報配信部２２０」、「最優先順位抽出部２２１」、「バッファ順位抽出部２２２」等として説明したソフトウェアやプログラムや、その他のプログラムが記憶されている。プログラム群９２３は、ＣＰＵ９１１により読み出され実行される。
ファイル群９２４には、上記の説明において「ウェブページ」、「業務データ」等の情報やデータや信号値や変数値やパラメータが、「ファイル」や「データベース」の各項目として記憶される。「ファイル」や「データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのＣＰＵ９１１の動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のＣＰＵ９１１の動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【００５１】
また、上記の説明におけるフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、その他光ディスク等の記録媒体やＩＣチップに記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体や電波によりオンライン伝送される。
また、上記の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「〜手段」、「〜機能」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。また、「〜装置」として説明するものは、「〜回路」、「〜機器」、「〜手段」、「〜機能」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。さらに、「〜処理」として説明するものは「〜ステップ」であっても構わない。すなわち、「〜部」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、ＲＯＭ９１３等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、上記で述べた「〜部」としてコンピュータ等を機能させるものである。あるいは、上記で述べた「〜部」の手順や方法をコンピュータ等に実行させるものである。
【符号の説明】
【００５２】
１０  業務サーバ、１００  ウェブサーバ、１０１  配信要求受信部、１０２  ページ配信部、１１０  ＨＴＭＬ、１２０  ライブラリ、１２１  バッファアプリケーション、１２２  汎用アプリケーション、１２３  最優先順位要求部、１２４  バッファ順位要求部、１３０  業務アプリケーション、１３１  プレゼンテーション機能、１３２  ビジネス機能、２００  ＡＰＰサーバ、２１０  ビジネスロジック処理部、２２０  バッファ情報配信部、２２１  最優先順位抽出部、２２２  バッファ順位抽出部、３００  ＤＢサーバ、３１０  業務データ、４００  ウェブクライアント、４１０  ウェブブラウザ、５００  ネットワーク。
【図１】
2011243168.tif 000003
【図２】
2011243168.tif 000004
【図３】
2011243168.tif 000005
【図４】
2011243168.tif 000006
【図５】
2011243168.tif 000007
【図６】
2011243168.tif 000008
【図７】
2011243168.tif 000009