(57)【要約】【課題】サーバ装置およびクライアント装置での入力チェックための情報の生産性と保守性を向上させる。【解決手段】ブラウザ１にＵＲＬを入力すると、サーバのチェック関数呼出関数生成部７ａは入力チェック定義ファイル９に記述されている入力項目とチェックルールの対応関係やチェックルールとエラーメッセージの対応関係をもとにクライアントでの入力チェックのためのチェック関数呼出関数５ａおよびエラーメッセージ出力関数５ｂが生成され、これらを組み込んだクライアントアプリケーション４がクライアントに送られる。クライアントは、入力項目への入力操作がなされた場合に、サーバから送られたチェック関数呼出関数５ａを用いて入力チェックを行ない、チェックルールを満たさない場合にはエラーメッセージ出力関数５ｂを実行してエラーメッセージを出力する。【選択図】      図１
2009181320.tif 000002
【特許請求の範囲】
【請求項１】
サーバ装置およびクライアント装置を有するシステムであって、
前記サーバ装置は、
前記クライアント装置で入力された情報のチェックルールおよび前記情報が当該チェックルールを満たさない場合に出力するためのエラーメッセージを対応付けて管理する管理手段と、
前記管理手段により管理される情報をもとに、前記入力された情報を前記サーバ装置がチェックするためのチェックルールおよび前記情報が当該チェックルールを満たさない場合に当該サーバ装置が前記クライアント装置へ出力するためのエラーメッセージを解析する解析手段と、
前記管理手段により管理される情報をもとに、前記入力された情報を前記クライアント装置がチェックするためのチェックルールおよび前記情報が当該チェックルールを満たさない場合に当該クライアント装置が出力するためのエラーメッセージを生成する生成手段と、
前記入力された情報が前記生成手段により生成されたチェックルールを満たすと前記クライアント装置が判別した場合に、前記入力された情報が前記解析手段により解析されたチェックルールを満たすか否かを判別する判別手段と、
前記チェックルールを満たさないと当該判別手段が判別した場合に当該チェックルールに対応するエラーメッセージを出力する出力手段と
を備え、
前記クライアント装置は、
情報の入力を受け付ける入力手段と、
前記入力された情報が前記サーバ装置の生成手段により生成されたチェックルールを満たすか否かを判別する判別手段と、
前記チェックルールを満たさないと前記判別手段が判別した場合に当該チェックルールに対応するエラーメッセージを出力する出力手段と
を備えたことを特徴とする情報処理システム。
【請求項２】
クライアント装置によって入力された情報のチェックルールおよび当該チェックルールを満たさない場合に出力するためのエラーメッセージを対応付けて管理する管理手段と、
前記管理手段により管理される情報をもとに、前記入力された情報を前記サーバ装置がチェックするためのチェックルールおよび前記情報が当該チェックルールを満たさない場合に当該サーバ装置が前記クライアント装置へ出力するためのエラーメッセージを解析する解析手段と、
前記管理手段により管理される情報をもとに、前記入力された情報を前記クライアント装置がチェックするためのチェックルールおよび前記情報が当該チェックルールを満たさない場合に当該クライアント装置が出力するためのエラーメッセージを生成する生成手段と、
前記入力された情報が前記生成手段により生成されたチェックルールを満たすと前記クライアント装置が判別した場合に、前記入力された情報が前記解析手段により解析されたチェックルールを満たすか否かを判別する判別手段と、
前記チェックルールを満たさないと当該判別手段がチェックした場合に当該チェックルールに対応するエラーメッセージを出力する出力手段と
を備えたことを特徴とするサーバ装置。
【請求項３】
前記生成手段により生成したチェックルールおよびエラーメッセージを含めたアプリケーションプログラムを前記クライアント装置で入力された情報を当該クライアント装置がチェックするために動作させるプログラムとして当該クライアント装置に送信する送信手段をさらに備えたことを特徴とする請求項２に記載のサーバ装置。
【請求項４】
前記クライアント装置での入力画面での入力項目が画面遷移を経ないで更新された場合に、前記生成手段により生成したチェックルールおよびエラーメッセージを前記クライアント装置で入力された情報を当該クライアント装置がチェックするための情報として当該クライアント装置に送信する送信手段をさらに備えたことを特徴とする請求項２に記載のサーバ装置。
【請求項５】
情報の入力を受け付ける入力手段と、
サーバ装置により管理されるチェックルールおよび当該チェックルールを満たさない場合に出力するためのエラーメッセージをもとに当該サーバ装置が生成した、前記入力手段により入力した情報のチェックルールおよび当該チェックルールを満たさない場合に当該クライアント装置が出力するためのエラーメッセージを受信する受信手段と、
前記入力された情報が前記受信手段により受信したチェックルールを満たすか否かを判別する判別手段と、
前記チェックルールを満たさないと当該判別手段がチェックした場合に当該チェックルールに対応するエラーメッセージを出力する出力手段と
を備えたことを特徴とするクライアント装置。
【請求項６】
サーバ装置として用いるコンピュータを、
クライアント装置によって入力された情報のチェックルールおよび当該チェックルールを満たさない場合に出力するためのエラーメッセージを対応付けて管理する管理手段、
前記管理手段により管理される情報をもとに、前記入力された情報を前記サーバ装置がチェックするためのチェックルールおよび前記情報が当該チェックルールを満たさない場合に当該サーバ装置が前記クライアント装置へ出力するためのエラーメッセージを解析する解析手段、
前記管理手段により管理される情報をもとに、前記入力された情報を当該クライアント装置がチェックするためのチェックルールおよび前記情報が当該チェックルールを満たさない場合に当該クライアント装置が出力するためのエラーメッセージを生成する生成手段、
前記入力された情報が前記生成手段により生成されたチェックルールを満たすと前記クライアント装置が判別した場合に、前記入力された情報が前記解析手段により解析されたチェックルールを満たすか否かを判別する判別手段、および
前記チェックルールを満たさないと当該判別手段がチェックした場合に当該チェックルールに対応するエラーメッセージを出力する出力手段
として機能させるようにしたコンピュータ読み取り可能な情報処理プログラム。
【請求項７】
クライアント装置として用いるコンピュータを、
情報の入力を受け付ける入力手段、
サーバ装置により管理されるチェックルールおよび当該チェックルールを満たさない場合に出力するためのエラーメッセージをもとに当該サーバ装置が生成した、前記入力した情報のチェックルールおよび当該チェックルールを満たさない場合に当該クライアント装置が出力するためのエラーメッセージを受信する受信手段、
前記入力された情報が前記受信手段により受信したチェックルールを満たすか否かを判別する判別手段、および
前記チェックルールを満たさないと当該判別手段がチェックした場合に当該チェックルールに対応するエラーメッセージを出力する出力手段
として機能させるようにしたコンピュータ読み取り可能な情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアント装置で入力された情報のチェックを行なう情報処理システム、サーバ装置、クライアント装置および情報処理プログラムに関する。
【背景技術】
【０００２】
従来、Ｗｅｂアプリケーションにおいて、ユーザがクライアント装置を用いて入力した情報の型チェック、数値チェック、範囲チェックなどの入力チェックを行なう技術がある（例えば、特許文献１参照)。
【０００３】
Ｗｅｂアプリケーションでは、クライアント装置を用いて入力された情報をクライアント装置のみでチェックを行なったりサーバ装置のみでチェックを行なったりする方法では不十分である。
【０００４】
クライアントだけでチェックした場合には、ユーザが画面への入力を行なわずに直接リクエストを発行する、つまりクライアントでのチェックが行なわれない方法でリクエストが発行されると不正な入力情報、つまり型、数値および範囲などが正しくない入力情報をサーバで処理する可能性が生じる。
【０００５】
また、サーバだけでチェックした場合には、不正な入力情報であってもクライアントからサーバにリクエストを送信することになり、ネットワーク及びサーバの負荷が高くなる。また、クライアントでの入力チェックはユーザの操作補助が目的の一つであり、クライアントでの入力チェックが行なわれないと操作性が低下する。
【０００６】
そのため、正規の操作手順を経た入力情報に対してはクライアントでチェックを行なうことでネットワーク及びサーバの負荷を減らし、不正なリクエストに対してはサーバ側で不正な入力情報の処理の歯止めをかけられるように、クライアントおよびサーバの両方で同じチェックを行なう必要がある。
【０００７】
入力チェックのためには当該入力チェックを行なうためのチェックルール（例えば「入力項目Ａは半角英数５文字以内」）、入力チェックでエラーとなった場合に画面などに表示するエラーメッセージ（例えば「文字が長すぎます。」）をそれぞれ管理する必要がある。
【０００８】
Ｗｅｂアプリケーションでは、サーバ側ではJava（登録商標）で、クライアント側ではJavascriptなどの言語で入力チェック用のプログラムを実現するのでクライアントでの入力チェックの仕組み及びサーバの入力チェックの仕組みを個別に作成して管理していた。
【０００９】
このように入力チェックのためのチェックルールとエラーメッセージがクライアント用及びサーバ用の２種類存在する場合、開発のコストがかかるために生産性が悪くなる。また、情報の管理が煩雑になり、変更の場合に変更漏れの可能性が高くなるので保守性が悪くなる。
【特許文献１】特開平１０−２０７６９９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
StrutsのValidatorと呼ばれる技術では、クライアント用・サーバ用のチェックルールとエラーメッセージを１つのファイルにまとめて管理することで、保守の負担の軽減を図っている。しかしながら、この技術はサーバ用とクライアント用の両方のチェックルール並びにエラーメッセージを１ファイルに記述するものであり、サーバ用・クライアント用の両方を作成する必要がある上、ルール変更時はサーバ用・クライアント用の両方を変更する必要があるので、生産性および保守性の問題を根本的に解決するものではない。
【００１１】
そこで、本発明の目的は、サーバ装置およびクライアント装置での入力チェックための情報の生産性と保守性を向上させることが可能になる情報処理システム、サーバ装置、クライアント装置および情報処理プログラムを提供することにある。
【課題を解決するための手段】
【００１２】
すなわち、本発明に係わる情報処理システムは、サーバ装置およびクライアント装置を有するシステムであって、サーバ装置は、クライアント装置で入力された情報のチェックルールおよび当該情報が当該チェックルールを満たさない場合に出力するためのエラーメッセージを対応付けて管理する管理手段と、当該管理される情報をもとに、入力された情報を前記サーバ装置がチェックするためのチェックルールおよび当該情報が当該チェックルールを満たさない場合に当該サーバ装置が前記クライアント装置へ出力するためのエラーメッセージを解析する解析手段と、
管理手段により管理される情報をもとに、入力された情報をクライアント装置がチェックするためのチェックルールおよび情報が当該チェックルールを満たさない場合に当該クライアント装置が出力するためのエラーメッセージを生成する生成手段と、入力された情報が生成手段により生成されたチェックルールを満たすとクライアント装置が判別した場合に、入力された情報が解析手段により解析されたチェックルールを満たすか否かを判別する判別手段と、チェックルールを満たさないと当該判別手段が判別した場合に当該チェックルールに対応するエラーメッセージを出力する出力手段とを備え、クライアント装置は、入力された情報がサーバ装置の生成手段により生成されたチェックルールを満たすか否かを判別する判別手段と、チェックルールを満たさないと判別手段が判別した場合に当該チェックルールに対応するエラーメッセージを出力する出力手段とを備えたことを特徴とする。
【発明の効果】
【００１３】
本発明によれば、サーバ装置およびクライアント装置での入力チェックための情報の生産性と保守性を向上させることができる。
【発明を実施するための最良の形態】
【００１４】
以下図面により本発明の実施形態について説明する。  
（第１の実施形態）
まず、本発明の第１の実施形態について説明する。  
図１は、本発明の第１の実施形態における情報処理システムのサーバ装置およびクライアント装置の機能構成の一例を示すブロック図である。図１中の点線Ｌ１で囲まれている部分が第１の実施形態における重要要素である。
【００１５】
図１に示すように、クライアント装置は入力チェック機能の構成要素としてブラウザ１、クライアントアプリケーション４、クライアントチェック実行部５およびクライアントチェック関数８を備える。入力チェックには、文字列の桁数チェックや日付フォーマットチェックなどが挙げられる。
【００１６】
本実施形態ではサーバ装置はJavaEEを採用したＷｅｂアプリケーションサーバなどである。また、サーバ装置は入力チェック機能の構成要素としてアプリケーションサーバ実行部２、サーバアプリケーション３、クライアントアプリケーション生成部６、クライアントチェック関数生成部７、入力チェック定義ファイル９、定義ファイル解析部１０、サーバチェック関数管理部１１、サーバチェック実行部１２およびサーバチェック関数１３を備える。
【００１７】
クライアント装置側のブラウザ１は一般的なＷｅｂブラウザである。サーバ装置側のアプリケーションサーバ実行部２はサーバアプリケーション３の処理動作の実行を司る。  
サーバアプリケーション３はサーバ側で実行されるアプリケーションの実体であり、サーバ側での入力チェックをサーバチェック実行部１２に指示する。
【００１８】
クライアント側のクライアントアプリケーション４はクライアント装置側で実行されるアプリケーションの実体であり、ブラウザ１に表示されるHTML言語で構成される。クライアントアプリケーション４はクライアントアプリケーション生成部６によって生成される。
【００１９】
クライアントチェック関数８は、入力された文字の長さチェックや日付フォーマットチェックなどの、クライアント側で行なう入力チェックで利用する全てのチェック関数を保持する。
【００２０】
クライアントチェック実行部５はクライアント側で入力チェックを実行する要素である。クライアントチェック実行部５はクライアントチェック関数生成部７で動的に生成されてクライアントアプリケーション４に組み込まれる。
【００２１】
入力チェック定義ファイル９は画面の各入力項目に対するチェックルールとエラーメッセージが定義される要素である。  
クライアントチェック実行部５はチェック関数呼出関数５ａおよびエラーメッセージ出力関数５ｂで構成される。  
チェック関数呼出関数５ａは、クライアント側の画面において、入力チェックのためにどの入力項目でどのクライアントチェック関数８を呼び出すかを定義した関数である。このチェック関数呼出関数５ａは実行時にクライアントチェック関数８を呼び出す。
【００２２】
このように、呼び出す対象であるクライアントチェック関数８をチェック関数呼出関数５ａと別に用意することでクライアントチェック関数８の再利用性を高めており、当該用意されるクライアントチェック関数８とチェック関数呼出関数５ａとを組み合わせることでクライアント側での入力チェックが可能となる。
【００２３】
エラーメッセージ出力関数５ｂはエラーメッセージをクライアント側の画面に出力するための関数である。チェック関数呼出関数５ａで呼び出されたクライアントチェック関数８で入力チェックが実行され、入力情報がクライアントチェック関数８に対応するチェックルールに反していた場合には、入力チェックに用いられたチェック関数呼出関数５ａに対応するエラーメッセージ出力関数５ｂが実行される。
【００２４】
図２は、本発明の第１の実施形態における情報処理システムのサーバ装置のハードウェア構成の一例を示すブロック図である。  
図２に示したハードウェア構成は、サーバ装置の各部の機能を具現化する構成である。サーバ装置２０のハードウェア構成として、前述したアプリケーションサーバ実行部２、サーバアプリケーション３、クライアントアプリケーション生成部６、クライアントチェック関数生成部７、定義ファイル解析部１０、サーバチェック関数管理部１１およびサーバチェック実行部１２のプログラムや当該装置の制御に必要な入力チェック定義ファイル９およびサーバチェック関数１３などの種々のデータを記憶する不揮発性メモリである記憶装置２２と、当該記憶装置２２内のプログラムやデータに従って当該装置の各部を制御するＣＰＵ２１とネットワークに接続する通信インタフェース（Ｉ／Ｆ）２３とを備え、それぞれがバス２４により接続される。サーバ装置２０は、これらの構成を備えたコンピュータに適用することができる。
【００２５】
図３は、本発明の第１の実施形態における情報処理システムのクライアント装置のハードウェア構成の一例を示すブロック図である。  
図３に示したハードウェア構成は、クライアント装置の各部の機能を具現化する構成である。クライアント装置３０のハードウェア構成として、前述したブラウザ１、クライアントアプリケーション４のプログラムや当該装置の制御に必要なクライアントチェック実行部５およびクライアントチェック関数８などの種々のデータを記憶する不揮発性メモリである記憶装置３２と、当該記憶装置３２内のプログラムに従って当該装置の各部を制御するＣＰＵ３１と、処理結果等を表示するディスプレイ装置といった表示部３６と、ネットワークに接続する通信インタフェース３３と、ユーザが入力操作のために用いる入力デバイス３４とを備え、それぞれがバス３５により接続される。クライアント装置３０は、これらの構成を備えたコンピュータに適用することができる。
【００２６】
図４は、本発明の第１の実施形態における情報処理システムのクライアント装置のクライアントチェック実行部を組み込んだクライアントアプリケーションの一例を示す図である。
【００２７】
クライアントチェック実行部５がクライアントアプリケーション４に組み込まれた状態で、ユーザがクライアント装置３０の表示部３６に表示された画面上の入力項目に入力デバイス３４を用いて文字を入力してクエリ送信ボタンを選択すると、クライアントチェック実行部５内のチェック関数呼出関数５ａが実行される。
【００２８】
この実行されたチェック関数呼出関数５ａによってクライアントチェック関数８が呼び出される。図４に示した例では入力項目に対して数値チェックのためのチェック関数が呼び出される。必要なチェック関数は全てクライアントチェック関数８に含まれる。
【００２９】
チェックの結果が偽、つまり入力した文字がクライアントチェック関数８に対応するチェックルールを満たさない場合はクライアントチェック実行部５内で入力チェックに用いられたチェック関数呼出関数５ａに対応するエラーメッセージ出力関数５ｂが実行される。
【００３０】
サーバ装置のクライアントアプリケーション生成部６は、クライアントアプリケーション４を生成する要素であり、JavaEEのJSPなどが相当する。  
クライアントチェック関数生成部７はクライアントチェック実行部５を生成する要素であり、チェック関数呼出関数生成部７ａおよびチェック関数呼出関数の雛型７ｂで構成される。
【００３１】
図５は、本発明の第１の実施形態における情報処理システムのサーバ装置の入力チェック定義ファイルの一例を示す図である。  
図５に示した線Ｌ２で囲まれた部分がエラーメッセージの記述部分であり、線Ｌ３で囲まれた部分がチェックルールの記述部分である。
【００３２】
チェックルールはユーザがブラウザ１を介して入力する文字列が満たすべきルールである。チェックルール（例えば「入力項目Ａは半角英数５文字以内」）を満たしているかどうかをクライアント側とサーバ側の両方でチェックする。
【００３３】
エラーメッセージは入力情報がチェックルールを満たしていない場合にクライアント側の画面に出力されるメッセージ（例えば「文字が長すぎます。」）である。
【００３４】
定義ファイル解析部１０は入力チェック定義ファイル９を解析する要素である。定義ファイル解析部１０は、入力チェック定義ファイル９で示される対応関係、つまり入力項目とチェックルールの対応関係やチェックルールとエラーメッセージの対応関係を解析することで、入力チェック定義ファイル９で示されるチェックルールやエラーメッセージをクライアントチェック関数生成部７やサーバチェック関数管理部１１で扱える形式に変換する。
【００３５】
図６は、本発明の第１の実施形態における情報処理システムのサーバ装置による入力チェック定義ファイルの解析結果の一例を示す図である。  
図６に示すように、定義ファイル解析部１０は入力チェック定義ファイル９で示される対応関係、つまり入力項目とチェックルールの対応関係やチェックルールとエラーメッセージの対応関係を表形式の情報に変換する。なお、図６に示した入力チェック定義ファイル９は理解を容易にするために図５と比較して記載内容を簡略化している。
【００３６】
チェック関数呼出関数生成部７ａは入力チェック定義ファイル９の解析結果を元にクライアントチェック実行部５を生成する要素であり、クライアントアプリケーション４に存在する入力項目を当該入力項目に対応するチェックルール従ってチェックするチェック関数呼出関数５ａと当該チェック関数呼出関数５ａが必要時に参照するエラーメッセージ出力関数５ｂとをそれぞれ生成する。  
チェック関数呼出関数の雛型７ｂは生成対象のチェック関数呼出関数５ａの雛型を保持する要素である。
【００３７】
図７は、本発明の第１の実施形態における情報処理システムのサーバ装置によるクライアントチェック実行部の生成手順の一例を示す図である。まず、クライアントチェック実行部５が生成されてクライアントアプリケーション４に組み込まれるまでの手順を説明する。
【００３８】
図７に示した（１）〜（４）の処理はチェック関数呼出関数生成部７ａが実行し、（５)）の処理はクライアントアプリケーション生成部６が実行する。  
（１）の処理として、チェック関数呼出関数生成部７ａは、クライアントアプリケーション４に入力項目が存在する場合、当該入力項目に対応するチェックルールを入力チェック定義ファイル９の解析結果から抽出する。図７に示した例では、抽出対象のチェックルールは図７中の線Ｌ４で囲まれた項目Ａに対応するチェックルール「文字の長さ:半角英数字５文字以内」と同じく線Ｌ４で囲まれた項目Ｂに対応するチェックルール「日付フォーマット:YYYY-MM-DD」に相当する。
【００３９】
（２）の処理として、チェック関数呼出関数生成部７ａは、当該抽出したチェックルールに対応するエラーメッセージを入力チェック定義ファイル９の解析結果からさらに抽出する。図７に示した例では、抽出対象のエラーメッセージは文字の長さのエラーメッセージ「文字が長すぎます」と日付フォーマットのエラーメッセージ「YYYY-MM-DDで入力してください」に相当する。
【００４０】
（３）の処理として、チェック関数呼出関数生成部７ａは、抽出済みのエラーメッセージを出力する関数であるエラーメッセージ出力関数５ｂを生成する。
【００４１】
（４）の処理として、チェック関数呼出関数生成部７ａは、抽出済みのチェックルールに対応するチェック関数呼出関数５ａをチェック関数呼出関数の雛型７ｂから選択して生成する。
【００４２】
生成されたチェック関数呼出関数５ａを用いたチェック結果が偽であった場合に当該用いたチェック関数呼出関数５ａに対応するエラーメッセージ出力関数５ｂが呼び出されるようにする。図７に示した例では、チェック関数呼出関数生成部７ａは、雛型７ｂの空白の部分である関数の引数部分に「項目Ａ，０，５」と「項目Ｂ，YYYY-MM-DD」を挿入した情報をクライアントチェック実行部５のチェック関数呼出関数５ａとする。
【００４３】
（３），（４）の処理で生成されたチェック関数呼出関数５ａとエラーメッセージ出力関数５ｂがクライアントチェック実行部５となる。クライアントアプリケーション生成部６は生成済みのクライアントチェック実行部５をクライアントアプリケーション４に組み込む。
【００４４】
また、サーバチェック関数管理部１１は定義ファイル解析部１０で解析した情報を元に入力項目とサーバチェック関数との関係を管理する要素である。  
サーバチェック関数１３は、入力された文字の長さチェックや日付フォーマットチェックなどの、サーバ側で行なう入力チェックで利用する全てのチェック関数を保持する。  
サーバチェック実行部１２はクライアントから送られてきた入力データをサーバ側でチェックするための要素である。サーバチェック実行部１２は、クライアントから送られてきた入力データに対して、どのチェック関数を実行するかをサーバチェック関数管理部１１から参照し、実行対象のチェック関数をサーバチェック関数１３から呼び出して実行する。
【００４５】
本実施形態では、クライアントとサーバ両方の入力チェックのための情報を単一の情報である入力チェック定義ファイル９として管理することで生産性・保守性を高めている。
【００４６】
前述したように、入力チェック定義ファイル９にはクライアントとサーバでの入力チェックに必要な情報であるチェックルールとエラーメッセージが定義される。入力チェック定義ファイル９から定義ファイル解析部１０が情報を読み取る。クライアントチェック関数生成部７とサーバチェック関数管理部１１は、定義ファイル解析部１０が読み取った情報を元に入力チェックの仕組みを生成、管理する。このようにして、単一の入力チェック定義ファイル９からクライアントとサーバの両方の入力チェックの仕組みをそれぞれ作り出すことができる。
【００４７】
次に、図１に示した構成の情報処理システムの動作について説明する。図８は、本発明の第１の実施形態における情報処理システムのクライアント装置用の入力チェック用の情報の生成手順の一例を示す図である。  
まず、ユーザがブラウザ１にアプリケーションのＵＲＬを入力し、アプリケーションへのアクセスを試みると、（ステップＳ１）、ブラウザ１は入力されたＵＲＬに対応したアプリケーションサーバ実行部２へリクエストを送信する（ステップＳ２）。
【００４８】
アプリケーションサーバ実行部２は、受信したリクエストに対応するサーバアプリケーション３を実行する（ステップＳ３）。  
サーバアプリケーション３はクライアントアプリケーション４の生成をクライアントアプリケーション生成部６に指示する（ステップＳ４）。
【００４９】
クライアントアプリケーション生成部６は、クライアントアプリケーション４に組み込むクライアントチェック実行部５の生成をクライアントチェック関数生成部７のチェック関数呼出関数生成部７ａに指示する（ステップＳ５）。
【００５０】
チェック関数呼出関数生成部７ａは、入力チェック定義ファイル９に記述されている、入力項目とチェックルールの対応関係やチェックルールとエラーメッセージの対応関係の参照処理、およびこれらの対応関係のプログラムで扱える形式への変換処理を定義ファイル解析部１０に指示する（ステップＳ６）。
【００５１】
すると定義ファイル解析部１０は、入力チェック定義ファイル９に記述されるチェックルールとエラーメッセージのうち入力項目に対応する情報の参照および変換処理を行ない、変換結果をチェック関数呼出関数生成部７ａに出力する（ステップＳ７，Ｓ８）。
【００５２】
チェック関数呼出関数生成部７ａは、定義ファイル解析部１０による参照および変換結果にしたがって入力項目に対応するエラーメッセージ出力関数５ｂを生成し、さらに定義ファイル解析部１０から得たチェックルールの中から、生成対象のクライアントアプリケーション４中で定義される情報である、画面内の入力項目に該当するチェックルールを抽出し、当該チェックルールに対応するチェック関数呼出関数の雛形を雛型７ｂの中から参照して取り出す処理を経てチェック関数呼出関数５ａを生成する（ステップＳ９，Ｓ１０）。
【００５３】
チェック関数呼出関数生成部７ａは、生成したチェック関数呼出関数５ａやエラーメッセージ出力関数５ｂでなるクライアントチェック実行部５をクライアントアプリケーション生成部６に出力する（ステップＳ１１）。
【００５４】
するとクライアントアプリケーション生成部６は、チェック関数呼出関数５ａやエラーメッセージ出力関数５ｂを生成対象のクライアントアプリケーション４に組み込み、この組み込みを行なったクライアントアプリケーション４の送信をサーバアプリケーション３に指示する（ステップＳ１２）。
【００５５】
サーバアプリケーション３はクライアントアプリケーション４をステップＳ２の処理でのリクエストへのレスポンスとしてアプリケーションサーバ実行部２を介してブラウザ１に送信する（ステップＳ１３）。  
ブラウザ１は、送信されたクライアントアプリケーション４および当該クライアントアプリケーション４に組み込まれるクライアントチェック実行部５を認識して、クライアント装置内に保持する。
【００５６】
次に、クライアントでのクライアントチェック実行部５の認識後の処理について説明する。図９は、本発明の第１の実施形態における情報処理システムのクライアント装置およびサーバ装置による入力チェック手順の一例を示す図である。  
ユーザがブラウザ１に表示された画面の入力項目へ文字を入力し（ステップＳ２１）、入力情報をサーバに送信するためのボタンを押すと（ステップＳ２２）、ブラウザ１はSubmit処理を行ない、入力情報に対する入力チェックの実行をクライアントアプリケーション４に指示する（ステップＳ２３）。  
すると、クライアントアプリケーション４は各入力項目に対応するチェック関数呼出関数５ａを実行する（ステップＳ２４）。
【００５７】
チェック関数呼出関数５ａは記述されるチェック関数呼出関数をクライアントチェック関数８から呼び出す。この呼び出されたクライアントチェック関数８によって入力チェックが実行される（ステップＳ２５）。クライアントチェック関数８は実行により得られたチェック結果をチェック関数呼出関数５ａを介してクライアントアプリケーション４に返す（ステップＳ２６，Ｓ２７）。
【００５８】
このチェック結果が真、つまり入力情報がチェックルールに従ったものであればブラウザ１はクライアント側の入力チェックで真であった入力情報をリクエストに格納して、サーバ側のアプリケーションサーバ実行部２に送信する（ステップＳ２８）。
【００５９】
アプリケーションサーバ実行部２は、受信したリクエストに対応するサーバアプリケーション３を実行する（ステップＳ２９）。  
サーバアプリケーション３は、受信した入力情報に対する入力チェックをサーバチェック実行部１２に指示する（ステップＳ３０）。  
サーバチェック実行部１２は、入力情報に対応するサーバ側でのチェックルールおよびエラーメッセージの取得をサーバチェック関数管理部１１に指示する（ステップＳ３１）。
【００６０】
サーバチェック関数管理部１１は、入力チェック定義ファイル９に記述されている情報のうち、入力項目とチェックルールの対応関係や当該チェックルールとエラーメッセージの対応関係の参照処理、およびこれら参照した情報のプログラムで扱える形式への変換処理を定義ファイル解析部１０に指示する（ステップＳ３２）。
【００６１】
定義ファイル解析部１０は、入力チェック定義ファイル９に記述されるチェックルールとエラーメッセージのうちサーバチェック関数管理部１１からの指示で示された情報の参照処理および変換処理を行ない、この変換結果であるチェックルールとエラーメッセージをサーバチェック関数管理部１１に出力する（ステップＳ３３，Ｓ３４）。
【００６２】
また、サーバ側でブラウザ１へのＵＲＬ入力時に入力チェック定義ファイル９から定義ファイル解析部１０が読み込んだ情報をサーバのメモリ中に一時保存しておき、ステップＳ３３の処理では読み込む対象の情報を一時保存したメモリから読み出すようにしてもよい。
【００６３】
サーバチェック関数管理部１１は、受け取ったチェックルールとエラーメッセージをもとに、入力項目と実行するチェック関数との対応関係をサーバチェック実行部１２に出力する（ステップＳ３５）。
【００６４】
サーバチェック実行部１２は、サーバチェック関数管理部１１から受け取ったチェック関数のＩＤに対応するサーバチェック関数１３を実行してチェック結果を得る（ステップＳ３６，Ｓ３７）。サーバチェック実行部１２は、チェック結果が真であれば次画面のクライアントアプリケーション４をステップＳ２８の処理でのリクエストへのレスポンスとしてクライアントに送信し、偽であればエラー画面もしくはエラーメッセージを前述したレスポンスとしてクライアントに送信して表示させる（ステップＳ３８，Ｓ３９，Ｓ４０）。
【００６５】
次に、クライアントでの入力チェック結果が偽である場合の処理について説明する。図１０は、本発明の第１の実施形態における情報処理システムのクライアント装置による入力から入力チェック後のエラーメッセージの出力までの手順の一例を示す図である。
【００６６】
まず、前述したステップＳ２１〜Ｓ２６までの処理がなされ（ステップＳ５１〜Ｓ５６）、ステップＳ５６の処理で得られたチェック結果が偽であれば、チェック関数呼出関数５ａは、エラーメッセージ出力関数５ｂにおける、チェックに用いたチェック関数呼出関数に対応するエラーメッセージ出力関数を呼び出す（ステップＳ５７）。当該呼び出されたエラーメッセージ出力関数はエラーメッセージをブラウザ１に送信して画面表示させる（ステップＳ５８）。このエラーメッセージを参照したユーザは入力項目への文字入力を再度行うことになる。
【００６７】
以上のように、本発明の第１の実施形態における情報処理システムでは、サーバ側での入力チェックのためのチェック関数やエラーメッセージを当該サーバ側の入力チェック定義ファイル９の解析を経て取得し、さらに、クライアント側での入力チェックのためのチェック関数やエラーメッセージをサーバ側の前述した入力チェック定義ファイル９の解析およびクライアントで実行可能な形式への変換処理を経て生成する。よって、サーバ側の入力チェックのためのチェック関数やエラーメッセージの元となる情報、およびクライアント側での入力チェックのためのチェック関数やエラーメッセージの元となる情報を個別に管理する必要がなくなり、クライアント・サーバ両方の入力チェックに必要な情報を単一のファイルとして管理すれば足りるようになる。よってサーバおよびクライアントでの入力チェックのための情報の保守性および生産性を向上させることができる。
【００６８】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。なお、本実施形態に係る情報処理システムの構成のうち図１に示したものと同一部分の説明は省略する。  
第１の実施形態では、ブラウザの画面遷移が行なわれる毎に、遷移した画面に対応するクライアントチェック実行部５が組み込まれたクライアントアプリケーション４がサーバ側で生成されてクライアントに送信される。  
また、入力チェック定義ファイル９では入力項目のＩＤとチェックルールを関連付けて定義している。  
これらの構成を用いれば、画面遷移が生じない場合での入力項目の変化、つまり画面遷移とは非同期での画面内の入力項目の変化を生ずるクライアントアプリケーション４を用いた入力チェックが可能である。第２の実施形態では、サーバおよびクライアントはこのような非同期での入力項目の変化に応じて入力チェックを行う。
【００６９】
図１１は、本発明の第２の実施形態における情報処理システムのクライアント装置における画面遷移を伴わない入力項目変化の一例を示す図である。  
図１２は、本発明の第２の実施形態における情報処理システムのサーバ装置およびクライアント装置の機能構成の一例を示すブロック図である。図１２中の点線Ｌ５で囲まれている部分が第２の実施形態における重要要素である。  
この情報処理システムは、第１の実施形態と比較してクライアント側はチェック関数非同期取得部１４を備え、サーバ側はチェック関数非同期生成部１５を備える。
【００７０】
チェック関数非同期取得部１４は、画面内に存在する入力項目が画面遷移することなく変化した場合に、画面内に存在する全ての入力項目を抽出して、当該抽出した入力項目の入力チェックを行なうクライアントチェック実行部５をサーバに要求する要素である。チェック関数非同期取得部１４は、入力項目が画面遷移なしに変化したタイミングで、サーバからクライアントチェック実行部５を取得する。
【００７１】
チェック関数非同期生成部１５は、チェック関数非同期取得部１４からのクライアントチェック実行部５の要求を受信し、この要求に従って生成したクライアントチェック実行部５をクライアントに送信する要素である。
【００７２】
本実施形態では、チェック関数呼出関数生成部７ａが生成したクライアントチェック実行部５は第１の実施形態のようにクライアントアプリケーション４に組み込むのではなく直接クライアントに送信するので、第１の実施形態で説明したクライアントアプリケーション生成部６は画面遷移がなされない状態で入力項目が変化しても用いられない。
【００７３】
図１３は、本発明の第２の実施形態における情報処理システムのクライアント装置における画面変更操作からサーバ装置によるクライアントチェック実行部の設定までの手順の一例を示す図である。  
ユーザがクライアントの画面に存在する入力項目が画面遷移なしに変化する操作を実行すると（ステップＳ６１）、ブラウザ１は、画面の入力項目の変化を検知して、クライアントアプリケーション４に通知する（ステップＳ６２）。
【００７４】
そして、クライアントアプリケーション４はチェック関数非同期取得部１４を呼び出す（ステップＳ６３）。  
チェック関数非同期取得部１４は画面に存在する全ての入力項目のＩＤを取得する（ステップＳ６４，６５）。
【００７５】
チェック関数非同期取得部１４は、入力項目のＩＤに対応するチェック関数呼出関数５ａとエラーメッセージ出力関数５ｂを持つクライアントチェック実行部５の生成リクエストをサーバ側のアプリケーションサーバ実行部２に送信する（ステップＳ６６）。
【００７６】
アプリケーションサーバ実行部２は、受信したリクエストに対応するサーバアプリケーション３を実行する（ステップＳ６７）。  
サーバアプリケーション３は、クライアントに非同期で送信するためのデータの生成をチェック関数非同期生成部１５に指示する（ステップＳ６８）。  
チェック関数非同期生成部１５は、入力項目に対応するクライアントチェック実行部５の生成をチェック関数呼出関数生成部７ａに指示する（ステップＳ６９）。
【００７７】
チェック関数呼出関数生成部７ａは、入力チェック定義ファイル９に記述されている、入力項目とチェックルールの対応関係やチェックルールとエラーメッセージの対応関係の参照処理、およびこれらの対応関係のプログラムで扱える形式への変換処理を定義ファイル解析部１０に指示する（ステップＳ７０）。
【００７８】
定義ファイル解析部１０は、入力チェック定義ファイル９に記述されるチェックルールとエラーメッセージのうち入力項目に対応する情報の参照処理および変換処理を行ない、変換結果をチェック関数呼出関数生成部７ａに出力する（ステップＳ７１，Ｓ７２）。
【００７９】
チェック関数呼出関数生成部７ａは、定義ファイル解析部１０による参照および変換結果にしたがって入力項目に対応するエラーメッセージ出力関数５ｂを生成し、さらに定義ファイル解析部１０から得たチェックルールの中から生成対象のクライアントアプリケーション４の画面内の持つ入力項目に該当するチェックルールに対応するチェック関数呼出関数の雛型７ｂの中から参照して取り出す処理を経てチェック関数呼出関数５ａを生成する（ステップＳ７３，Ｓ７４）。
【００８０】
チェック関数呼出関数生成部７ａは、生成したチェック関数呼出関数５ａやエラーメッセージ出力関数５ｂをチェック関数非同期生成部１５に出力する（ステップＳ７５）。  
チェック関数非同期生成部１５は、チェック関数呼出関数５ａやエラーメッセージ出力関数５ｂでなるクライアントチェック実行部５をサーバアプリケーション３に出力する（ステップＳ７６）。サーバアプリケーション３は、クライアントチェック実行部５をアプリケーションサーバ実行部２に出力する（ステップＳ７７）。
【００８１】
アプリケーションサーバ実行部２はクライアントチェック実行部５をステップＳ６６の処理でのリクエストへのレスポンスとしてチェック関数非同期取得部１４に送信する（ステップＳ７８）。  
チェック関数非同期取得部１４は、サーバから受信したクライアントチェック実行部５をクライアントアプリケーション４に設定する（ステップＳ７９）。
【００８２】
以上のように、本発明の第２の実施形態における情報処理システムでは、画面遷移なしに画面の入力項目に変化があったタイミングで、当該画面に存在する入力項目に対する入力チェックのためにクライアントが用いるチェック関数呼出関数やエラーメッセージ出力関数をサーバ側の入力チェック定義ファイル９をもとに生成してクライアント側に設定するので、画面遷移なしに画面の入力項目に変化があった場合でも第１の実施形態と同様に入力チェックのための情報の保守性および生産性を向上させることができる。
【００８３】
なお、この発明は前記実施形態そのままに限定されるものではなく実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を省略してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【図面の簡単な説明】
【００８４】
【図１】本発明の第１の実施形態における情報処理システムのサーバ装置およびクライアント装置の機能構成の一例を示すブロック図。
【図２】本発明の第１の実施形態における情報処理システムのサーバ装置のハードウェア構成の一例を示すブロック図。
【図３】本発明の第１の実施形態における情報処理システムのクライアント装置のハードウェア構成の一例を示すブロック図。
【図４】本発明の第１の実施形態における情報処理システムのクライアント装置のクライアントチェック実行部を組み込んだクライアントアプリケーションの一例を示す図。
【図５】本発明の第１の実施形態における情報処理システムのサーバ装置の入力チェック定義ファイルの一例を示す図。
【図６】本発明の第１の実施形態における情報処理システムのサーバ装置による入力チェック定義ファイルの解析結果の一例を示す図。
【図７】本発明の第１の実施形態における情報処理システムのサーバ装置によるクライアントチェック実行部の生成手順の一例を示す図。
【図８】本発明の第１の実施形態における情報処理システムのクライアント装置用の入力チェック用の情報の生成手順の一例を示す図。
【図９】本発明の第１の実施形態における情報処理システムのクライアント装置およびサーバ装置による入力チェック手順の一例を示す図。
【図１０】本発明の第１の実施形態における情報処理システムのクライアント装置による入力から入力チェック後のエラーメッセージの出力までの手順の一例を示す図。
【図１１】本発明の第２の実施形態における情報処理システムのクライアント装置における画面遷移を伴わない入力項目変化の一例を示す図。
【図１２】本発明の第２の実施形態における情報処理システムのサーバ装置およびクライアント装置の機能構成の一例を示すブロック図。
【図１３】本発明の第２の実施形態における情報処理システムのクライアント装置における画面変更操作からサーバ装置によるクライアントチェック実行部の設定までの手順の一例を示す図。
【符号の説明】
【００８５】
１…ブラウザ、２…アプリケーションサーバ実行部、３…サーバアプリケーション、４…クライアントアプリケーション、５…クライアントチェック実行部、５ａ…チェック関数呼出関数、５ｂ…エラーメッセージ出力関数、６…クライアントアプリケーション生成部、７…クライアントチェック関数生成部、７ａ…チェック関数呼出関数生成部、７ｂ…チェック関数呼出関数の雛型、８…クライアントチェック関数、９…入力チェック定義ファイル、１０…定義ファイル解析部、１１…サーバチェック関数管理部、１２…サーバチェック実行部、１３…サーバチェック関数、１４…チェック関数非同期取得部、１５…チェック関数非同期生成部、２０…サーバ装置、２１，３１…ＣＰＵ、２２，３２…記憶装置、２３，３３…通信インタフェース、２４，３５…バス、３０…クライアント装置、３４…入力デバイス、３６…表示部。
【図１】
2009181320.tif 000003
【図２】
2009181320.tif 000004
【図３】
2009181320.tif 000005
【図４】
2009181320.tif 000006
【図５】
2009181320.tif 000007
【図６】
2009181320.tif 000008
【図７】
2009181320.tif 000009
【図８】
2009181320.tif 000010
【図９】
2009181320.tif 000011
【図１０】
2009181320.tif 000012
【図１１】
2009181320.tif 000013
【図１２】
2009181320.tif 000014
【図１３】
2009181320.tif 000015