(57)【要約】【課題】マスタデータを最新の状態に保つ。【解決手段】クライアント端末２は、記憶部２３に、マスタデータがキャッシュ情報として記憶されているか否かを判定する判定部２４３と、マスタデータが記憶部２３に記憶されていると判定された場合において、マスタデータのバージョンが、ウェブアプリサーバ１に記憶されているマスタデータのバージョンと同じとき、記憶部２３にキャッシュ情報として記憶されているマスタデータを表示部２１に表示されるウェブページに表示させ、マスタデータのバージョンが、ウェブアプリサーバ１に記憶されているマスタデータのバージョンに比べて古いとき、ウェブアプリサーバ１に記憶されているマスタデータをウェブページに表示させる表示制御部２４２とを備える。【選択図】図１
2018101240.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、
前記コンピュータの記憶部に、マスタデータがキャッシュ情報として記憶されているか否かを判定する判定部、及び
前記マスタデータが前記記憶部に記憶されていると判定された場合において、前記マスタデータのバージョンが、前記コンピュータが接続可能なサーバに記憶されている前記マスタデータのバージョンと同じとき、前記記憶部に前記キャッシュ情報として記憶されているマスタデータを前記コンピュータの表示部に表示されるページに表示させ、前記マスタデータのバージョンが、前記サーバに記憶されている前記マスタデータのバージョンに比べて古いとき、前記サーバに記憶されている前記マスタデータを前記ページに表示させる表示制御部、
として機能させるキャッシュ管理プログラム。
【請求項２】
前記コンピュータを、
前記記憶部に、前記サーバに記憶されているマスタデータと同じバージョンのマスタデータが記憶されていない場合に、前記サーバに記憶されている前記マスタデータを取得する取得部、及び、
取得された前記マスタデータを前記記憶部に記憶させる記憶制御部として機能させ、
前記表示制御部は、前記記憶制御部によって前記記憶部に記憶された前記マスタデータを前記ページに表示させる、
請求項１に記載のキャッシュ管理プログラム。
【請求項３】
前記コンピュータを、
前記サーバに記憶されている前記マスタデータと、前記マスタデータのバージョンを示すバージョン情報とを取得する取得部、
取得された前記マスタデータと、前記バージョン情報とを関連付けて前記記憶部に記憶させる記憶制御部として機能させ、
前記表示制御部は、前記マスタデータが前記記憶部に記憶されていると前記判定部が判定した場合において、前記記憶部に記憶されている前記マスタデータに関連付けられている前記バージョン情報が示すバージョンが、前記サーバに記憶されている前記マスタデータに対応する前記バージョン情報が示すバージョンに比べて古い場合に、前記ページに、前記サーバに記憶されている前記マスタデータを表示させる、
請求項１又は２に記載のキャッシュ管理プログラム。
【請求項４】
前記コンピュータを、
前記サーバに記憶されている前記マスタデータと、前記マスタデータのバージョンを示すバージョン情報とを取得する取得部、
取得された前記マスタデータと、前記バージョン情報とを関連付けて前記記憶部に記憶させる記憶制御部として機能させ、
前記表示制御部は、前記マスタデータが前記記憶部に記憶されていると前記判定部が判定した場合に、前記サーバにおいて、前記コンピュータから送信された、前記記憶部に記憶されている前記マスタデータに関連付けられているバージョン情報が示すバージョンが、前記サーバに記憶されている前記マスタデータに対応する前記バージョン情報が示すバージョンに比べて古いと判定された場合に、前記ページに、前記サーバに記憶されている前記マスタデータを表示させる、
請求項１又は２に記載のキャッシュ管理プログラム。
【請求項５】
前記判定部は、複数の前記マスタデータが前記キャッシュ情報として前記記憶部に記憶されているか否かを判定し、
前記取得部は、複数の前記マスタデータが前記キャッシュ情報として前記記憶部に記憶されている場合に、複数の前記マスタデータのそれぞれに関連付けられている前記バージョン情報を前記サーバに一度に送信し、前記サーバから複数の前記マスタデータの少なくともいずれかを取得する、
請求項４に記載のキャッシュ管理プログラム。
【請求項６】
前記表示制御部は、前記マスタデータが前記記憶部に記憶されていないと判定された場合に、前記サーバに記憶されている前記マスタデータを前記ページに表示させる、
請求項１から５のいずれか１項に記載のキャッシュ管理プログラム。
【請求項７】
前記表示制御部は、前記マスタデータが前記記憶部に記憶されていると判定された場合において、当該マスタデータが破損しているとき、前記ページに、前記サーバに記憶されている前記マスタデータを表示させる、
請求項１から６のいずれか１項に記載のキャッシュ管理プログラム。
【請求項８】
前記表示制御部は、前記ページに設けられている第１入力項目が選択されたことに応じて、前記マスタデータを前記ページに表示させ、
前記判定部は、前記表示制御部が前記マスタデータを前記ページに表示させる場合に、当該マスタデータが前記キャッシュ情報として前記記憶部に記憶されているか否かを判定する、
請求項１から７のいずれか１項に記載のキャッシュ管理プログラム。
【請求項９】
前記判定部は、前記表示制御部が第１マスタデータを前記ページに表示させる場合に、第１マスタデータが前記キャッシュ情報として前記記憶部に記憶されているか否かを判定するとともに、当該第１マスタデータの後に前記表示制御部によって表示される予定の第２マスタデータが前記キャッシュ情報として前記記憶部に記憶されているか否かを判定する、
請求項８に記載のキャッシュ管理プログラム。
【請求項１０】
キャッシュを管理するキャッシュ管理装置であって、
記憶部に、マスタデータがキャッシュ情報として記憶されているか否かを判定する判定部と、
前記マスタデータが前記記憶部に記憶されていると判定された場合において、前記マスタデータのバージョンが、前記キャッシュ管理装置が接続可能なサーバに記憶されている前記マスタデータのバージョンと同じとき、前記キャッシュ管理装置の表示部に表示されるページに前記記憶部に前記キャッシュ情報として記憶されているマスタデータを表示させ、前記マスタデータのバージョンが、前記サーバに記憶されている前記マスタデータのバージョンに比べて古いとき、前記ページに、前記サーバに記憶されている前記マスタデータを表示させる表示制御部と、
を備えるキャッシュ管理装置。
【請求項１１】
コンピュータが実行する、
記憶部に、マスタデータがキャッシュ情報として記憶されているか否かを判定するステップと、
前記マスタデータが前記記憶部に記憶されていると判定された場合において、前記マスタデータのバージョンが、前記コンピュータが接続可能なサーバに記憶されている前記マスタデータのバージョンと同じとき、前記コンピュータの表示部に表示されるページに前記記憶部に前記キャッシュ情報として記憶されているマスタデータを表示させ、前記マスタデータのバージョンが、前記サーバに記憶されている前記マスタデータのバージョンに比べて古いとき、前記ページに、前記サーバに記憶されている前記マスタデータを表示させるステップと、
を備えるキャッシュ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、キャッシュ管理プログラム、キャッシュ管理装置及びキャッシュ管理方法に関する。
【背景技術】
【０００２】
従来、クライアント端末において、ウェブアプリケーションにおける表示速度を向上させることを目的として、サーバから取得したデータをキャッシュデータとして記憶することが行われている。例えば、特許文献１には、ＨＴＭＬ５において規定されているＷｅｂＳｔｏｒａｇｅやＩｎｄｅｘｅｄＤＢを利用してキャッシュデータを記憶することが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−２１０６６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、ウェブアプリケーションが仕訳情報等の入力が行われる会計に関するウェブアプリケーションである場合、仕訳に必要となる部門データ等のマスタデータをユーザに迅速に選択させるために、マスタデータをウェブページ上に表示させることがある。
【０００５】
キャッシュデータとしてマスタデータを記憶させる場合には、常に最新の情報であることが求められるものの、特許文献１では、端末上にキャッシュデータとして記憶されているマスタデータを常に最新の状態に保つことについて考慮されておらず、最新の情報が維持されないという問題がある。
【０００６】
そこで、本発明はこれらの点に鑑みてなされたものであり、マスタデータを最新の状態に保つことができるキャッシュ管理プログラム、キャッシュ管理装置及びキャッシュ管理方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第１の態様に係るキャッシュ管理プログラムは、コンピュータを、前記コンピュータの記憶部に、マスタデータがキャッシュ情報として記憶されているか否かを判定する判定部、及び前記マスタデータが前記記憶部に記憶されていると判定された場合において、前記マスタデータのバージョンが、前記コンピュータが接続可能なサーバに記憶されている前記マスタデータのバージョンと同じとき、前記記憶部に前記キャッシュ情報として記憶されているマスタデータを前記コンピュータの表示部に表示されるページに表示させ、前記マスタデータのバージョンが、前記サーバに記憶されている前記マスタデータのバージョンに比べて古いとき、前記サーバに記憶されている前記マスタデータを前記ページに表示させる表示制御部、として機能させる。
【０００８】
前記キャッシュ管理プログラムは、前記コンピュータを、前記記憶部に、前記サーバに記憶されているマスタデータと同じバージョンのマスタデータが記憶されていない場合に、前記サーバに記憶されている前記マスタデータを取得する取得部、及び、取得された前記マスタデータを前記記憶部に記憶させる記憶制御部として機能させ、前記表示制御部は、前記記憶制御部によって前記記憶部に記憶された前記マスタデータを前記ページに表示させてもよい。
【０００９】
前記キャッシュ管理プログラムは、前記コンピュータを、前記サーバに記憶されている前記マスタデータと、前記マスタデータのバージョンを示すバージョン情報とを取得する取得部、取得された前記マスタデータと、前記バージョン情報とを関連付けて前記記憶部に記憶させる記憶制御部として機能させ、前記表示制御部は、前記マスタデータが前記記憶部に記憶されていると前記判定部が判定した場合において、前記記憶部に記憶されている前記マスタデータに関連付けられている前記バージョン情報が示すバージョンが、前記サーバに記憶されている前記マスタデータに対応する前記バージョン情報が示すバージョンに比べて古い場合に、前記ページに、前記サーバに記憶されている前記マスタデータを表示させてもよい。
【００１０】
前記キャッシュ管理プログラムは、前記コンピュータを、前記サーバに記憶されている前記マスタデータと、前記マスタデータのバージョンを示すバージョン情報とを取得する取得部、取得された前記マスタデータと、前記バージョン情報とを関連付けて前記記憶部に記憶させる記憶制御部として機能させ、前記表示制御部は、前記マスタデータが前記記憶部に記憶されていると前記判定部が判定した場合に、前記サーバにおいて、前記コンピュータから送信された、前記記憶部に記憶されている前記マスタデータに関連付けられているバージョン情報が示すバージョンが、前記サーバに記憶されている前記マスタデータに対応する前記バージョン情報が示すバージョンに比べて古いと判定された場合に、前記ページに、前記サーバに記憶されている前記マスタデータを表示させてもよい。
【００１１】
前記判定部は、複数の前記マスタデータが前記キャッシュ情報として前記記憶部に記憶されているか否かを判定し、前記取得部は、複数の前記マスタデータが前記キャッシュ情報として前記記憶部に記憶されている場合に、複数の前記マスタデータのそれぞれに関連付けられている前記バージョン情報を前記サーバに一度に送信し、前記サーバから複数の前記マスタデータの少なくともいずれかを取得してもよい。
前記表示制御部は、前記マスタデータが前記記憶部に記憶されていないと判定された場合に、前記サーバに記憶されている前記マスタデータを前記ページに表示させてもよい。
【００１２】
前記表示制御部は、前記マスタデータが前記記憶部に記憶されていると判定された場合において、当該マスタデータが破損しているとき、前記ページに、前記サーバに記憶されている前記マスタデータを表示させてもよい。
【００１３】
前記表示制御部は、前記ページに設けられている第１入力項目が選択されたことに応じて、前記マスタデータを前記ページに表示させ、前記判定部は、前記表示制御部が前記マスタデータを前記ページに表示させる場合に、当該マスタデータが前記キャッシュ情報として前記記憶部に記憶されているか否かを判定してもよい。
【００１４】
前記判定部は、前記表示制御部が第１マスタデータを前記ページに表示させる場合に、第１マスタデータが前記キャッシュ情報として前記記憶部に記憶されているか否かを判定するとともに、当該第１マスタデータの後に前記表示制御部によって表示される予定の第２マスタデータが前記キャッシュ情報として前記記憶部に記憶されているか否かを判定してもよい。
【００１５】
本発明の第２の態様に係るキャッシュ管理装置は、キャッシュを管理するキャッシュ管理装置であって、記憶部に、マスタデータがキャッシュ情報として記憶されているか否かを判定する判定部と、前記マスタデータが前記記憶部に記憶されていると判定された場合において、前記マスタデータのバージョンが、前記キャッシュ管理装置が接続可能なサーバに記憶されている前記マスタデータのバージョンと同じとき、前記キャッシュ管理装置の表示部に表示されるページに前記記憶部に前記キャッシュ情報として記憶されているマスタデータを表示させ、前記マスタデータのバージョンが、前記サーバに記憶されている前記マスタデータのバージョンに比べて古いとき、前記ページに、前記サーバに記憶されている前記マスタデータを表示させる表示制御部と、を備える。
【００１６】
本発明の第３の態様に係るキャッシュ管理方法は、コンピュータが実行する、記憶部に、マスタデータがキャッシュ情報として記憶されているか否かを判定するステップと、前記マスタデータが前記記憶部に記憶されていると判定された場合において、前記マスタデータのバージョンが、前記コンピュータが接続可能なサーバに記憶されている前記マスタデータのバージョンと同じとき、前記コンピュータの表示部に表示されるページに前記記憶部に前記キャッシュ情報として記憶されているマスタデータを表示させ、前記マスタデータのバージョンが、前記サーバに記憶されている前記マスタデータのバージョンに比べて古いとき、前記ページに、前記サーバに記憶されている前記マスタデータを表示させるステップと、を備える。
【発明の効果】
【００１７】
本発明によれば、マスタデータを最新の状態に保つことができるという効果を奏する。
【図面の簡単な説明】
【００１８】
【図１】第１実施形態に係る表示制御システムの概要を示す図である。
【図２】第１実施形態に係るクライアント端末の構成を示す図である。
【図３】第１実施形態に係るクライアント端末における処理の流れを示すフローチャートである。
【図４】第１実施形態に係るウェブページの一例を示す図である。
【図５】第１実施形態に係るマスタデータ取得処理における処理の流れを示すフローチャートである。
【図６】第２実施形態に係るマスタデータ取得処理における処理の流れを示すフローチャートである。
【図７】第２実施形態に係るバージョン確認情報を受信したときのウェブアプリサーバにおける処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１９】
＜第１実施形態＞
［ウェブアプリサーバ１の概要］
図１は、第１実施形態に係る表示制御システムＳの概要を示す図である。
表示制御システムＳは、ウェブアプリサーバ１と、ウェブアプリサーバ１と通信可能な表示制御装置としてのクライアント端末２とを備える。表示制御システムＳは、クライアント端末２に、ウェブアプリサーバ１が提供するウェブページを表示させるシステムである。
【００２０】
ウェブアプリサーバ１は、例えば、個人事業主や中小企業向けの会計サービスを提供するためのウェブアプリケーションをクライアント端末２に提供するサーバである。ウェブアプリサーバ１は、制御部と記憶部とを備えている。クライアント端末２は、例えば、個人事業主や中小企業が使用するコンピュータであり、パーソナルコンピュータ等である。
【００２１】
なお、図１の説明では、ウェブアプリサーバ１が、一のユーザが使用するクライアント端末２にサービスを提供する例を説明するが、ウェブアプリサーバ１は、複数のユーザのそれぞれが使用するクライアント端末２に対してサービスを提供してもよいものとする。
【００２２】
クライアント端末２は、ユーザの操作に応じて、ウェブページの取得リクエストをウェブアプリサーバ１に送信する（図１の（１））。ウェブアプリサーバ１は、ウェブページの取得リクエストを受信すると、ウェブページをクライアント端末２に送信する（図１の（２））。ウェブページには、マスタデータを表示させるための情報が含まれている。
【００２３】
クライアント端末２は、受信したウェブページを表示する（図１の（３））。クライアント端末２は、ウェブページに表示させるマスタデータがキャッシュ情報として自身の記憶部に記憶されているか確認する（図１の（４））。また、クライアント端末２は、自身の記憶部にマスタデータが記憶されている場合に、当該マスタデータのバージョンが最新のバージョンであるかを確認する（図１の（５））。クライアント端末２は、自身の記憶部にマスタデータが記憶されていない場合、又は、記憶部に記憶されているマスタデータのバージョンが最新のバージョンではない場合に、ウェブアプリサーバ１にマスタデータの取得リクエストを送信する（図１の（６））。
【００２４】
ウェブアプリサーバ１は、クライアント端末２からマスタデータの取得リクエストを受信すると、ウェブアプリサーバ１に記憶されている最新のマスタデータをクライアント端末２に送信する（図１の（７））。クライアント端末２は、最新のバージョンのマスタデータを取得してウェブページに表示させる（図１の（８））。このようにすることで、クライアント端末２は、ウェブページに表示させるマスタデータを最新の状態に保つことができる。
【００２５】
［クライアント端末２の構成］
続いて、クライアント端末２の構成について説明する。図２は、第１実施形態に係るクライアント端末２の構成を示す図である。
【００２６】
クライアント端末２は、表示部２１と、入力部２２と、記憶部２３と、制御部２４とを備える。
表示部２１は、例えば、液晶ディスプレイや有機ＥＬ（Electro-Luminescence）ディスプレイ等により構成される。
入力部２２は、例えば、キーボードやマウスであり、クライアント端末２のユーザから操作入力を受け付ける。
【００２７】
記憶部２３は、例えば、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）及びハードディスク等の記憶媒体である。記憶部２３は、制御部２４が実行するプログラムを記憶する。また、記憶部２３は、キャッシュ情報として、ウェブアプリサーバ１から取得したウェブページに表示させるマスタデータを記憶する。キャッシュ情報は、例えば、ＨＴＭＬ５のＩｎｄｅｘｅｄＤＢによって記憶される。マスタデータは、当該マスタデータのバージョンを示すバージョン情報と関連付けて記憶部２３に記憶されている。
【００２８】
制御部２４は、例えばＣＰＵ（Central Processing Unit）である。制御部２４は、記憶部２３に記憶されている各種プログラムや、通信ネットワークを介して外部機器から取得したプログラムを実行することにより、クライアント端末２に係る機能を制御する。制御部２４は、ページ取得部２４１、表示制御部２４２、判定部２４３、マスタデータ取得部２４４、及び記憶制御部２４５として機能する。
【００２９】
［クライアント端末における処理の流れ］
以下に、制御部２４が備える機能の詳細について、クライアント端末２における処理の流れを示すフローチャートを参照しながら説明する。図３は、第１実施形態に係るクライアント端末２における処理の流れを示すフローチャートである。
【００３０】
まず、ページ取得部２４１は、入力部２２を介して、ウェブアプリケーションに対応するウェブページの取得操作を受け付けたことに応じて、ウェブアプリサーバ１から、ウェブアプリケーションに対応するウェブページを取得する（Ｓ１０）。
【００３１】
例えば、ページ取得部２４１は、記憶部２３に記憶されているブラウザプログラム（以下、ブラウザという。）によって実現される。例えば、ページ取得部２４１は、表示部２１に表示されているブラウザの画面を介してウェブアプリサーバ１のアドレスを指定する操作を受け付ける。ページ取得部２４１は、ウェブアプリサーバ１のアドレスを指定する操作を受け付けると、ウェブページの取得リクエストをウェブアプリサーバ１に送信する。
【００３２】
ウェブアプリサーバ１は、クライアント端末２からウェブページの取得リクエストを受信すると、ウェブアプリサーバ１の記憶部に記憶されているウェブページを取得する。ここで、ウェブページには、クライアント端末２の制御部２４を、表示制御部２４２、判定部２４３、マスタデータ取得部２４４、及び記憶制御部２４５として機能させるキャッシュ管理プログラムが含まれている。
【００３３】
図４は、第１実施形態に係るウェブページ２１１の例を示す図である。図４に示すウェブページ２１１は、企業において発行された売上伝票に関する情報を入力するページである。図４に示すように、ウェブページ２１１には、情報の入力を受け付ける複数の入力項目が含まれている。複数の入力項目の少なくともいずれかは、複数のマスタデータのいずれかを選択して入力するためのマスタデータ入力項目（第１入力項目）である。
【００３４】
ここで、マスタデータは、会計サービスを利用する企業において、会計情報に対して付与されるデータであり、更新頻度が低いデータである。例えば、マスタデータは、得意先コードや部門コードや取引区分コードである。これらのマスタデータを記憶部２３に記憶させることにより、表示制御部２４２は、マスタデータをウェブページに表示させるタイミングとなった時点から、実際にマスタデータがウェブページに表示されるまでの時間を、ウェブアプリサーバ１から取得して表示させる場合に比べて短縮することができる。
【００３５】
なお、マスタデータは、企業の会計年度ごとに異なっていてもよい。この場合、例えば、マスタデータとしての部門コードは、企業の会計年度ごとに、記憶部２３にキャッシュ情報として記憶されるようにしてもよい。
【００３６】
図４に示す例では、得意先、部門、取引区分、商品コード、単位がマスタデータ入力項目である。マスタデータ入力項目が選択されると、マスタデータ表示領域２１１Ａに、マスタデータが表示される。ユーザは、マスタデータ入力項目にマスタデータを入力する場合に、マスタデータ表示領域２１１Ａに表示されているマスタデータを確認しながら入力すべきマスタデータを容易に選択することができる。
【００３７】
図３に説明を戻す。ウェブアプリサーバ１は、取得したウェブページをクライアント端末２に送信する。
ページ取得部２４１は、ウェブアプリサーバ１からウェブページを受信することによりウェブページを取得する。
【００３８】
ブラウザは、ページ取得部２４１が取得したウェブページに含まれるキャッシュ管理プログラムを実行する（Ｓ２０）。これにより、制御部２４は、表示制御部２４２、判定部２４３、マスタデータ取得部２４４及び記憶制御部２４５として動作する。
【００３９】
表示制御部２４２は、ページ取得部２４１が取得したウェブページをブラウザの画面に表示させる（Ｓ３０）。表示制御部２４２は、入力部２２を介してウェブページ内の操作を受け付ける（Ｓ４０）。例えば、表示制御部２４２は、図４に示すウェブページ２１１に含まれている複数の項目のそれぞれに対する情報の入力を受け付ける。
【００４０】
続いて、判定部２４３は、入力部２２を介したユーザの操作によって、マスタデータ入力項目が選択されたか否かを判定する（Ｓ５０）。判定部２４３は、マスタデータ入力項目が選択されたと判定すると、Ｓ６０に処理を移し、マスタデータ入力項目が選択されていないと判定すると、Ｓ４０に処理を移す。
【００４１】
判定部２４３、マスタデータ取得部２４４、及び記憶制御部２４５は、最新のマスタデータを取得するマスタデータ取得処理を実行する（Ｓ６０）。ここで、取得対象のマスタデータは、マスタデータ入力項目に入力される候補となる複数のマスタデータである。図４に示すウェブページ２１１において、マスタデータ入力項目として取引区分が選択された場合、取得対象のマスタデータは、取引区分に入力される候補となる取引区分マスタとなる。
【００４２】
図５は、第１実施形態に係るマスタデータ取得処理における処理の流れを示すフローチャートである。上述したように、マスタデータ取得処理は、ウェブページに設けられているマスタデータ入力項目が選択され、表示制御部２４２が、当該項目に対応するマスタデータをウェブページに表示させる場合に実行される。
【００４３】
まず、判定部２４３は、ブラウザがキャッシュ管理に対応しているか否かを判定する（Ｓ６１０）。例えば、キャッシュ管理プログラムには、キャッシュ管理に用いられるＩｎｄｅｘｅｄＤＢに対応するブラウザの識別情報と、ブラウザのバージョンとを関連付けた対応情報が含まれている。判定部２４３は、ウェブページを表示しているブラウザの識別情報とバージョンとを特定する。判定部２４３は、キャッシュ管理プログラムに含まれている対応情報と、特定されたブラウザの識別情報及びバージョンとに基づいて、ブラウザがキャッシュ管理に対応しているか否かを判定する。判定部２４３は、ブラウザがキャッシュ管理に対応していると判定すると、Ｓ６２０に処理を移す。判定部２４３は、ブラウザがキャッシュ管理に対応していないと判定すると、Ｓ６８０に処理を移す。
【００４４】
続いて、判定部２４３は、取得対象のマスタデータがキャッシュ情報として記憶部２３に記憶されているか否かを判定する（Ｓ６２０）。判定部２４３は、マスタデータが記憶部２３に記憶されていると判定すると、Ｓ６３０に処理を移し、マスタデータが記憶部２３に記憶されていないと判定すると、Ｓ６８０に処理を移す。
【００４５】
続いて、マスタデータ取得部２４４は、取得対象のマスタデータが破損しているか否かを判定する（Ｓ６３０）。例えば、取得対象のマスタデータには、誤り検出情報が含まれており、マスタデータ取得部２４４は、取得対象のマスタデータに基づいて誤り検出情報を生成する。マスタデータ取得部２４４は、生成された誤り検出情報と、予めマスタデータに含まれている誤り検出情報とが一致する場合には、マスタデータが破損していないと判定する。マスタデータ取得部２４４は、生成された誤り検出情報と、予めマスタデータに含まれている誤り検出情報とが一致しない場合には、マスタデータが破損していると判定する。
【００４６】
マスタデータ取得部２４４は、取得対象のマスタデータが破損していると判定すると、Ｓ６８０に処理を移し、取得対象のマスタデータが破損していないと判定すると、Ｓ６４０に処理を移す。このようにすることで、クライアント端末２は、マスタデータの破損時に、マスタデータをウェブアプリサーバ１から取得することができる。
続いて、マスタデータ取得部２４４は、取得対象のマスタデータと関連付けられて記憶部２３に記憶されているマスタデータのバージョン情報を取得する（Ｓ６４０）。
【００４７】
続いて、マスタデータ取得部２４４は、ウェブアプリサーバ１に記憶されている、取得対象のマスタデータに対応する最新のバージョン情報をウェブアプリサーバ１から取得する（Ｓ６５０）。例えば、マスタデータ取得部２４４は、取得対象のマスタデータの識別情報を含み、最新のバージョン情報の取得を要求するバージョン取得リクエストをウェブアプリサーバ１に送信する。ウェブアプリサーバ１は、バージョン取得リクエストを受信すると、当該リクエストに含まれているマスタデータの識別情報を取得し、当該マスタデータの最新のバージョン情報を取得する。ウェブアプリサーバ１は、最新のバージョン情報をクライアント端末２に送信する。マスタデータ取得部２４４は、ウェブアプリサーバ１が送信した最新のバージョン情報を受信する。
【００４８】
続いて、マスタデータ取得部２４４は、Ｓ６４０及びＳ６５０において取得されたバージョン情報に基づいて、記憶部２３に記憶されているマスタデータが最新のマスタデータであるか否かを判定する（Ｓ６６０）。具体的には、マスタデータ取得部２４４は、記憶部２３から取得したバージョン情報が示すバージョンが、ウェブアプリサーバ１から取得したバージョン情報が示すバージョンに比べて古いか否かを判定する。マスタデータ取得部２４４は、記憶部２３に記憶されているマスタデータが最新のマスタデータであると判定すると、Ｓ６７０に処理を移し、記憶部２３に記憶されているマスタデータが最新のマスタデータではないと判定すると、Ｓ６８０に処理を移す。
【００４９】
Ｓ６７０において、マスタデータ取得部２４４は、取得対象のマスタデータを記憶部２３から取得する。すなわち、マスタデータ取得部２４４は、ウェブアプリサーバ１に記憶されているマスタデータと同じバージョンのマスタデータが記憶部２３に記憶されている場合に、記憶部２３にキャッシュ情報として記憶されているマスタデータを取得する。
【００５０】
Ｓ６８０において、マスタデータ取得部２４４は、取得対象のマスタデータをウェブアプリサーバ１から取得する。マスタデータ取得部２４４は、ウェブアプリサーバ１に記憶されているマスタデータと同じバージョンのマスタデータが記憶部２３に記憶されていない場合に、ウェブアプリサーバ１に記憶されているマスタデータを取得する。
【００５１】
ここで、ウェブアプリサーバ１に記憶されているマスタデータと同じバージョンのマスタデータが記憶部２３に記憶されていない場合とは、ブラウザがキャッシュ管理に対応していない場合、取得対象のマスタデータが記憶部２３に記憶されていない場合、記憶部２３に記憶されているマスタデータが破損している場合、又は、記憶部２３に記憶されているマスタデータのバージョンがウェブアプリサーバ１に記憶されている当該マスタデータの最新のバージョンに比べて古い場合のいずれかである。
【００５２】
例えば、マスタデータ取得部２４４は、取得対象のマスタデータの識別情報を含み、マスタデータの取得を要求するマスタ取得リクエストをウェブアプリサーバ１に送信する。ウェブアプリサーバ１は、マスタ取得リクエストを受信すると、当該リクエストに含まれているマスタデータの識別情報を取得し、当該マスタデータを取得するとともに、当該マスタデータのバージョン情報とを取得する。ウェブアプリサーバ１は、取得したマスタデータ及びバージョン情報をクライアント端末２に送信する。マスタデータ取得部２４４は、ウェブアプリサーバ１から送信されたマスタデータ及びバージョン情報を受信する。
【００５３】
続いて、記憶制御部２４５は、取得されたマスタデータとバージョン情報とを関連付けて記憶部２３に記憶させる（Ｓ６９０）。
【００５４】
図３に説明を戻す。表示制御部２４２は、ウェブページに設けられているマスタデータ入力項目が選択されたことに応じて、取得されたマスタデータを当該ウェブページのマスタデータ表示領域に表示する（Ｓ７０）。
【００５５】
ここで、表示制御部２４２は、判定部２４３によって取得対象のマスタデータが記憶部２３に記憶されていると判定された場合において、記憶部２３に記憶されている当該マスタデータのバージョンが、ウェブアプリサーバ１に記憶されているマスタデータのバージョンと同じとき、記憶部２３にキャッシュ情報として記憶されているマスタデータをウェブページに表示させる。
【００５６】
また、表示制御部２４２は、記憶部２３に記憶されているマスタデータのバージョンが、ウェブアプリサーバ１に記憶されているマスタデータのバージョンに比べて古いとき、ウェブアプリサーバ１に記憶されているマスタデータをウェブページに表示させる。また、表示制御部２４２は、記憶部２３に記憶されているマスタデータが破損しているとき、ウェブアプリサーバ１に記憶されているマスタデータをウェブページに表示させる。
【００５７】
このようにすることで、ユーザは、マスタデータ入力項目にマスタデータを入力する場合に、ウェブページに表示されているマスタデータを確認しながら入力すべきマスタデータを選択することができる。
【００５８】
続いて、表示制御部２４２は、ユーザから、ウェブページの表示を終了する表示終了操作を受け付けたか否かを判定する（Ｓ８０）。表示制御部２４２は、表示終了操作を受け付けたと判定すると、本フローチャートに係る処理を終了し、表示終了操作を受け付けていないと判定すると、Ｓ４０に処理を移す。
【００５９】
［変形例］
なお、第１実施形態において、判定部２４３は、表示制御部２４２がマスタデータをウェブページに表示させる場合、すなわち、マスタデータ入力項目が選択された場合に、当該マスタデータがキャッシュ情報として記憶部２３に記憶されているか否かを判定したが、これに限らない。例えば、判定部２４３は、表示制御部２４２が第１マスタデータをウェブページに表示させる場合に、第１マスタデータがキャッシュ情報として記憶部２３に記憶されているか否かを判定するとともに、当該第１マスタデータの後に表示制御部２４２によって表示される予定の第２マスタデータがキャッシュ情報として記憶部２３に記憶されているか否かを判定してもよい。
【００６０】
例えば、図４に示すウェブページ２１１では、売上伝票の売上日が入力された後、得意先が入力され、その後、売上に関連する部門が入力される。このため、判定部２４３は、得意先に対応する入力項目が選択されたことに応じて、判定部２４３は、得意先に対応するマスタデータ（得意先マスタ）が最新のバージョンであるかを判定するとともに、部門に対応するマスタデータ（部門マスタ）が最新のバージョンであるかを判定してもよい。
【００６１】
また、判定部２４３は、得意先に対応する入力項目が選択されたことに応じて、最新の得意先マスタがキャッシュ情報として記憶部２３に記憶されているか否かを判定するとともに、最新の部門マスタがキャッシュ情報として記憶部２３に記憶されているか否かを判定してもよい。そして、判定部２４３は、得意先に対応する入力項目が選択されたタイミングで、最新の部門マスタが記憶部２３に記憶されていない場合に、最新の部門マスタをウェブアプリサーバ１から取得して、キャッシュ情報として記憶部２３に記憶させてもよい。このようにすることで、部門に対応する入力項目が選択される時点において、最新の部門マスタを記憶部２３から取得して高速に表示することができる。
【００６２】
また、判定部２４３は、ウェブページが表示されたことに応じて、当該ウェブページにおいて必ず入力されるマスタ入力項目を特定し、当該項目に対応するマスタデータが記憶部２３に記憶されているか否かを判定してもよい。
【００６３】
［第１実施形態における効果］
以上説明した通り、第１実施形態に係るクライアント端末２は、マスタデータが記憶部２３に記憶されていると判定された場合において、マスタデータのバージョンが、ウェブアプリサーバ１に記憶されているマスタデータのバージョンと同じとき、記憶部２３にキャッシュ情報として記憶されているマスタデータを表示部２１に表示されるウェブページに表示させ、マスタデータのバージョンが、ウェブアプリサーバ１に記憶されているマスタデータのバージョンに比べて古いとき、ウェブアプリサーバ１に記憶されているマスタデータをウェブページに表示させる。
このようにすることで、クライアント端末２は、ウェブページに表示させるマスタデータを最新の状態に保つことができる。
【００６４】
＜第２実施形態＞
［ウェブアプリサーバ１においてキャッシュされているマスタデータが最新であるかを判定する］
続いて、第２実施形態について説明する。第１実施形態では、クライアント端末２がウェブアプリサーバ１から取得対象のマスタデータの最新のバージョン情報を取得し、当該バージョン情報に基づいて、記憶部２３に記憶されているマスタデータが古いと判定すると、ウェブアプリサーバ１からマスタデータを取得した。しかしながら、この手順によってマスタデータを取得する場合には、クライアント端末２は、ウェブアプリサーバ１に２回アクセスすることとなり、マスタデータを取得するまでの時間が長くなってしまう。
【００６５】
そこで、第２実施形態では、ウェブアプリサーバ１が、キャッシュされているマスタデータが最新であるかを判定する。そして、クライアント端末２の表示制御部２４２は、マスタデータが記憶部２３に記憶されていると判定部２４３が判定した場合に、ウェブアプリサーバ１において、クライアント端末２から送信された、記憶部２３に記憶されているマスタデータに関連付けられているバージョン情報が示すバージョンが、ウェブアプリサーバ１に記憶されている最新のマスタデータに対応するバージョン情報が示すバージョンに比べて古いと判定された場合に、ウェブページに、ウェブアプリサーバ１に記憶されているマスタデータを表示させる。以下、第２実施形態について図面を参照して説明する。なお、第１実施形態と同様の構成については同一の符号を付し、詳細な説明を省略する。
【００６６】
図６は、第２実施形態に係るマスタデータ取得処理における処理の流れを示すフローチャートである。
Ｓ６１０からＳ６４０までの処理は、第１実施形態に係るマスタデータ取得処理におけるＳ６１０からＳ６４０までの処理と同じ処理であるので説明を省略する。
【００６７】
マスタデータ取得部２４４は、バージョン確認情報をウェブアプリサーバ１に送信する（Ｓ６５１）。バージョン確認情報は、記憶部２３に記憶されている取得対象のマスタデータが最新であるかの確認をウェブアプリサーバ１に要求するための情報である。バージョン確認情報には、取得対象のマスタデータの識別情報と、Ｓ６４０において取得された、当該マスタデータのバージョン情報とが含まれている。
【００６８】
ウェブアプリサーバ１の制御部は、バージョン確認情報を受信すると、記憶部２３に記憶されている取得対象のマスタデータが最新であるかを確認する。そして、ウェブアプリサーバ１の制御部は、記憶部２３に記憶されている取得対象のマスタデータが最新ではない場合に、最新のマスタデータと、当該マスタデータのバージョン情報とをクライアント端末２に送信する。
【００６９】
図７は、第２実施形態に係るバージョン確認情報を受信したときのウェブアプリサーバ１における処理の流れを示すフローチャートである。
まず、ウェブアプリサーバ１の制御部は、バージョン確認情報に含まれるマスタデータの識別情報と、当該マスタデータのバージョン情報とを取得する（Ｓ１１０）。
続いて、ウェブアプリサーバ１の制御部は、Ｓ１１０において取得されたマスタデータの識別情報に対応する最新のマスタデータのバージョンを示すバージョン情報を取得する（Ｓ１２０）。
【００７０】
続いて、ウェブアプリサーバ１の制御部は、Ｓ１１０において取得されたバージョン情報が示すバージョンと、Ｓ１２０において取得されたバージョン情報が示すバージョンとが異なるか否かを判定する（Ｓ１３０）。ウェブアプリサーバ１の制御部は、バージョンが異なると判定すると、Ｓ１４０に処理を移し、バージョンが同じであると判定すると、Ｓ１５０に処理を移す。
【００７１】
Ｓ１４０において、ウェブアプリサーバ１の制御部は、最新のマスタデータと、当該マスタデータのバージョン情報とを含む応答情報をクライアント端末２に送信する。これにより、ウェブアプリサーバ１は、記憶部２３に記憶されている取得対象のマスタデータが古い場合に、最新のマスタデータと、当該マスタデータのバージョン情報とをクライアント端末２に送信する。
【００７２】
Ｓ１５０において、ウェブアプリサーバ１の制御部は、記憶部２３においてキャッシュデータとして記憶されているマスタデータの更新がない旨を示す情報を含む応答情報をクライアント端末２に送信する。
【００７３】
図６に説明を戻す。クライアント端末２のマスタデータ取得部２４４は、ウェブアプリサーバ１から応答情報を受信する（Ｓ６５２）。
続いて、マスタデータ取得部２４４は、ウェブアプリサーバ１からマスタデータを受信したか否かを判定する（Ｓ６６１）。具体的には、マスタデータ取得部２４４は、Ｓ６５２において受信した応答情報にマスタデータが含まれているか否かを判定することにより、ウェブアプリサーバ１からマスタデータを受信したか否かを判定する。マスタデータ取得部２４４は、ウェブアプリサーバ１からマスタデータを受信したと判定するとＳ６９０に処理を移し、ウェブアプリサーバ１からマスタデータを受信していないと判定すると、Ｓ６７０に処理を移す。
【００７４】
Ｓ６７０からＳ６９０までの処理は、第１実施形態に係るマスタデータ取得処理におけるＳ６７０からＳ６９０までの処理と同じ処理であるので説明を省略する。
【００７５】
［変形例］
なお、マスタデータ取得部２４４は、表示制御部２４２がマスタデータをウェブページに表示させる場合に、当該マスタデータのバージョン情報を含むバージョン確認情報をウェブアプリサーバ１に送信したが、これに限らない。例えば、マスタデータ取得部２４４は、複数のマスタデータがキャッシュ情報として記憶部２３に記憶されている場合に、複数のマスタデータのそれぞれに関連付けられているバージョン情報を含むバージョン確認情報をウェブアプリサーバ１に送信し、ウェブアプリサーバ１から複数のマスタデータの少なくともいずれかを取得してもよい。
【００７６】
例えば、図４に示すウェブページ２１１が表示部２１に表示されている場合において、判定部２４３が、得意先に対応する入力項目が選択されたことに応じて、最新の得意先マスタがキャッシュ情報として記憶部２３に記憶されているか否かを判定するとともに、最新の部門マスタがキャッシュ情報として記憶部２３に記憶されているか否かを判定する。記憶部２３に記憶されている得意先マスタと、部門マスタとがいずれも最新ではないと判定された場合に、マスタデータ取得部２４４が、得意先マスタに対応するバージョン情報と、部門マスタに対応するバージョン情報とを含むバージョン確認情報をウェブアプリサーバ１に送信してもよい。このようにすることで、クライアント端末２は、ウェブアプリサーバ１から短時間で複数のマスタデータを取得することができる。
【００７７】
［第２実施形態における効果］
以上説明した通り、第２実施形態に係るクライアント端末２は、マスタデータが記憶部２３に記憶されている場合には、ウェブアプリサーバ１において、クライアント端末２から送信された、記憶部２３に記憶されているマスタデータに関連付けられているバージョン情報が示すバージョンが、ウェブアプリサーバ１に記憶されている最新のマスタデータに対応するバージョン情報が示すバージョンに比べて古いと判定された場合に、ウェブページに、ウェブアプリサーバ１に記憶されているマスタデータを表示させる。
このようにすることで、クライアント端末２は、第１実施形態と同様にウェブページに表示させるマスタデータを最新の状態に保つことができる。
【００７８】
また、ウェブアプリサーバ１は、クライアント端末２から受信したバージョン確認情報に含まれるマスタデータの識別情報とバージョン情報とに基づいて、取得対象のマスタデータが古いと判定すると、最新のマスタデータをクライアント端末２に送信する。このようにすることで、クライアント端末２は、バージョン確認情報をウェブアプリサーバ１に送信するのみで、記憶部２３に記憶されているマスタデータのバージョンが古い場合に、ウェブアプリサーバ１から最新のバージョンのマスタデータを取得することができる。よって、クライアント端末２は、ウェブアプリサーバ１から短時間でマスタデータを取得することができる。
【００７９】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。そのような変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【符号の説明】
【００８０】
１・・・ウェブアプリサーバ、２・・・クライアント端末、２１・・・表示部、２２・・・入力部、２３・・・記憶部、２４・・・制御部、２４１・・・ページ取得部、２４２・・・表示制御部、２４３・・・判定部、２４４・・・マスタデータ取得部、２４５・・・記憶制御部、Ｓ・・・表示制御システム
【図１】
2018101240.tif 000003
【図２】
2018101240.tif 000004
【図３】
2018101240.tif 000005
【図４】
2018101240.tif 000006
【図５】
2018101240.tif 000007
【図６】
2018101240.tif 000008
【図７】
2018101240.tif 000009