(57)【要約】【課題】メイン処理を実行するためのプログラムを変更することなく、バリデーションの内容を変更できるようにすることができるバリデーション処理サーバ２０を提供する。【解決手段】本発明のバリデーション処理サーバ２０は、データの種別およびそのデータ内の項目の組合せ毎にバリデーション処理を予め作成してクラスとして登録しておき、メイン処理ではデータの種別および項目で対応するバリデーション処理のクラスを呼び出し、呼び出されたクラスのインスタンスを実行する。【選択図】図２
2011186824.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、バリデーション処理を実行させるバリデーション処理プログラムであって、
前記コンピュータに、
入力データの種別および入力データに含まれる項目を受け取った場合に、入力データの種別および入力データに含まれる項目の組合せ毎に、当該組合せに対応するデータを処理するバリデーション処理のクラスの定義の格納先を示す情報を対応付けたバリデーション処理リストテーブルを参照して、受け取った種別および項目の組合せに対応付けられているクラスの定義の格納先を特定し、特定した格納先からクラスの定義を取得し、取得したクラスの定義を元にバリデーション処理を実行するインスタンスを作成し、作成したインスタンスを返す処理内容検索機能、および、
外部からデータが入力された場合に、入力されたデータに含まれる項目毎のデータについて、入力データの種別および項目の組合せを１つずつ選択し、選択した組合せを前記処理内容検索機能へ送り、前記処理内容検索機能から返されたインスタンスを実行することにより、選択した組合せに該当するデータのバリデーション処理を実行するメイン処理機能
を実現させることを特徴とするバリデーション処理プログラム。
【請求項２】
請求項１に記載のバリデーション処理プログラムであって、
前記バリデーション処理リストテーブルには、
入力データの種別および入力データに含まれる項目の組合せ毎に、当該組合せに対応するデータを処理するバリデーション処理が有効な期間を示す情報がさらに対応付けられており、
前記処理内容検索機能は、
入力データの種別および項目の組合せを受け取った場合に、当該組合せに対応付けられているクラスの定義の格納先を示す情報の中で、現時点で有効なものを抽出することを特徴とするバリデーション処理プログラム。
【請求項３】
請求項２に記載のバリデーション処理プログラムであって、
前記バリデーション処理リストテーブルには、
入力データの種別および入力データに含まれる項目の組合せ毎に、当該組合せに対応するデータを処理するバリデーション処理のバージョンおよび当該バリデーション処理に渡すべき引数がさらに対応付けられており、
前記コンピュータに、
所定のタイミングで、バージョン毎に当該バージョンのバリデーション処理が有効な期間を示す情報を対応付けたバリデーション処理内容バージョン情報テーブルを参照して、現時点で有効なバージョンおよび今後有効となるバージョンを特定し、
データの種別および項目の組合せ毎に、当該組合せに対応するデータを処理するバリデーション処理のクラス名、当該バリデーション処理のバージョン、および、当該バリデーション処理のインスタンスに渡すべき引数を対応付けたバリデーション処理内容テーブルを参照して、現時点で有効または今後有効となるバージョンが対応付けられている種別および項目の組合せ、当該組合せに対応するデータを処理するバリデーション処理のクラス名、および、当該バリデーション処理のインスタンスに渡すべき引数を抽出し、
抽出した情報を有効期間に対応付けて前記バリデーション処理リストテーブルを作成するテーブル作成機能
をさらに実現させることを特徴とするバリデーション処理プログラム。
【請求項４】
請求項３に記載のバリデーション処理プログラムであって、
前記コンピュータに、
前記バリデーション処理リストテーブルの作成指示をユーザから受け付ける受付機能をさらに実現させ、
前記テーブル作成機能は、
前記受付機能が前記バリデーション処理リストテーブルの作成指示をユーザから受け付けた場合に、前記バリデーション処理内容テーブル、前記バリデーション処理内容バージョン情報テーブル、および前記クラス定義テーブルを参照して前記バリデーション処理リストテーブルを作成することを特徴とするバリデーション処理プログラム。
【請求項５】
請求項１から４のいずれか一項に記載のバリデーション処理プログラムであって、
Ｊａｖａにより実現されることを特徴とするバリデーション処理プログラム。
【請求項６】
請求項１から５のいずれか一項に記載のバリデーション処理プログラムを実行するバリデーション処理サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メディエーションシステムにおけるバリデーション処理を行うためのプログラムおよびそれを実行するサーバに関する。
【背景技術】
【０００２】
取り扱うデータの形式が異なるシステム間におけるデータを中継するメディエーションを行うシステムが知られている。メディエーションには、データの検証等を行うバリデーションやデータの形式を変更するトランスポート等の機能がある（例えば、下記の非特許文献１参照）。
【０００３】
メディエーションシステムにおけるバリデーションは、通常、顧客から提供された仕様に基づいて作成されるため、入力データの形式およびバリデーションの方法等が予め定められていた。そのため、詳細なバリデーションの処理は、顧客毎に特化して作成され、ハードコーディングにより実現されることが一般的である。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】システムコンサルティング部 近藤 佳大、”[連載]エンタープライズアーキテクチャ  システム間連携の鍵を握るメディエーション”［online］、２００５年９月６日、みずほ情報総研、［平成２２年３月５日検索］、インターネット＜URL：http://www.mizuho-ir.co.jp/publication/column/it/2005/ea050906.html＞
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、同一の顧客であっても、サービス内容の変更や追加に伴い、新たな種類の入力データに対してバリデーションが必要になった場合や、入力データのフォーマットが変更になった等の場合、コードを書き換える必要がある。そのため、そのような変更があるたびに、システムを止めてメインプログラムを改修する必要がある。これにより、処理結果の出力が一時的に遅れたり、システム停止中に処理待ちのデータが溜ることにより改修後のシステムにかかる処理負荷が増大する場合がある。
【０００６】
本発明は上記事情を鑑みてなされたものであり、本発明の目的は、メイン処理を実行するためのプログラムを変更することなく、バリデーションの内容を変更できるようにすることにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明では、データの種別およびそのデータ内の項目の組合せ毎にバリデーション処理を予め作成してクラスとして登録しておき、メイン処理ではデータの種別および項目で対応するバリデーション処理のクラスを呼び出し、呼び出されたクラスのインスタンスを実行する。
【０００８】
例えば、本発明は、コンピュータに、バリデーション処理を実行させるバリデーション処理プログラムであって、
前記コンピュータに、
入力データの種別および入力データに含まれる項目を受け取った場合に、入力データの種別および入力データに含まれる項目の組合せ毎に、当該組合せに対応するデータを処理するバリデーション処理のクラスの定義の格納先を示す情報を対応付けたバリデーション処理リストテーブルを参照して、受け取った種別および項目の組合せに対応付けられているクラスの定義の格納先を特定し、特定した格納先からクラスの定義を取得し、取得したクラスの定義を元にバリデーション処理を実行するインスタンスを作成し、作成したインスタンスを返す処理内容検索機能、および、
外部からデータが入力された場合に、入力されたデータに含まれる項目毎のデータについて、入力データの種別および項目の組合せを１つずつ選択し、選択した組合せを前記処理内容検索機能へ送り、前記処理内容検索機能から返されたインスタンスを実行することにより、選択した組合せに該当するデータのバリデーション処理を実行するメイン処理機能
を実現させることを特徴とするバリデーション処理プログラムを提供する。
【発明の効果】
【０００９】
本発明によれば、メイン処理を実行するためのプログラムを変更することなく、バリデーションの内容を変更することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態に係るメディエーションシステム１０の構成を示すシステム構成図である。
【図２】バリデーション処理サーバ２０の機能構成の一例を示すブロック図である。
【図３】クラス定義テーブル格納部２４に格納されるクラス定義テーブル２４０のデータ構造の一例を示す図である。
【図４】バリデーション処理内容テーブル格納部２６に格納されるバリデーション処理内容テーブル２６０のデータ構造の一例を示す図である。
【図５】バリデーション処理内容バージョン情報テーブル格納部２７に格納されるバリデーション処理内容バージョン情報テーブル２７０のデータ構造の一例を示す図である。
【図６】バリデーション処理リストテーブル格納部２３に格納されるバリデーション処理リストテーブル２３０のデータ構造の一例を示す図である。
【図７】メディエーションシステム１０の動作の一例を示すフローチャートである。
【図８】バリデーション処理サーバ２０の動作の一例を示すフローチャートである。
【図９】バリデーション処理サーバ２０の機能を実現するコンピュータ３０の一例を示すハードウェア構成図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態について図面を参照しながら説明する。
【００１２】
図１は、本発明の一実施形態に係るメディエーションシステム１０の構成を示すシステム構成図である。メディエーションシステム１０は、メディエーション制御サーバ１２、トランスポート処理サーバ１５、およびバリデーション処理サーバ２０を備える。
【００１３】
メディエーション制御サーバ１２は、第１の情報処理システム１１または第２の情報処理システム１４からデータの中継を依頼された場合に、中継対象のデータについてバリデーション処理サーバ２０にバリデーション処理を実行させる。中継対象のデータには、複数の種類が存在し、それぞれのデータは複数の項目のデータで構成される。バリデーション処理サーバ２０は、データの種別および項目の組合せ毎にバリデーション処理を実行する。
【００１４】
メディエーション制御サーバ１２は、バリデーション処理が実行された後のデータについて、トランスポート処理サーバ１５にトランスポート処理を実行させる。そして、メディエーション制御サーバ１２は、トランスポート処理が実行された後のデータを中継先のシステムへ送信する。
【００１５】
図２は、バリデーション処理サーバ２０の機能構成の一例を示すブロック図である。バリデーション処理サーバ２０は、メイン処理部２１、処理内容検索部２２、バリデーション処理リストテーブル格納部２３、クラス定義テーブル格納部２４、テーブル作成部２５、バリデーション処理内容テーブル格納部２６、バリデーション処理内容バージョン情報テーブル格納部２７、作成指示受付部２８、およびテーブル更新部２９を有する。
【００１６】
クラス定義テーブル格納部２４は、例えば図３に示すようなクラス定義テーブル２４０を格納する。クラス定義テーブル２４０には、バリデーション処理を実装するクラスのクラス名２４１に対応付けて、当該クラスの定義２４２が格納される。
【００１７】
バリデーション処理内容テーブル格納部２６は、例えば図４に示すようなバリデーション処理内容テーブル２６０を格納する。バリデーション処理内容テーブル２６０には、複数のレコード２６６が格納される。それぞれのレコード２６６には、中継対象のデータの種類を示す種別２６１、当該データに含まれる項目２６２、種別２６１および項目２６２の組合せに対応するデータを処理するバリデーション処理のバージョン２６３、当該バリデーション処理を実装するクラスのクラス名２６４、および、当該バリデーション処理のインスタンスに渡すべき引数２６５が含まれる。
【００１８】
種別２３１は、入力データの種類を一意に識別可能な情報であり、入力データがファイルとして入力される場合、例えば、ファイル名の一部や、当該ファイルが格納されているディレクトリの名称などを用いることができる。また、項目２３２は、入力データ内の各項目を一意に識別可能な情報であり、入力データがｃｓｖ形式の場合、例えば、項目の順番などを用いることができる。
【００１９】
バリデーション処理内容バージョン情報テーブル格納部２７は、例えば図５に示すようなバリデーション処理内容バージョン情報テーブル２７０を格納する。バリデーション処理内容バージョン情報テーブル２７０には、バージョン２７１に対応付けて、当該バージョン２７１に対応するバリデーション処理が有効となる開始日時２７２、および、当該バリデーション処理が無効となる終了日時２７３が格納される。開始日時２７２から終了日時２７３までの期間が、対応するバージョンのバリデーション処理の有効期間となる。現時点で最新のバリデーション処理のバージョンについては、十分先の日時が終了日時２７３に格納される。
【００２０】
バリデーション処理リストテーブル格納部２３は、例えば図６に示すようなバリデーション処理リストテーブル２３０を格納する。バリデーション処理リストテーブル２３０には、複数のレコード２３７が格納される。それぞれのレコード２３７には、中継対象のデータの種類を示す種別２３１、当該データに含まれる項目２３２、種別２３１および項目２３２の組合せに対応するデータを処理するバリデーション処理のインスタンスに渡すべき引数２３３、当該バリデーション処理を実装するクラスの定義が格納されたメモリ上の位置を示す格納先２３４、当該バリデーション処理が有効となる開始日時２３５、および、当該バリデーション処理が無効となる終了日時２３６が含まれる。格納先２３４は、例えば、バリデーション処理を実装するクラスの定義へのポインタである。
【００２１】
図２に戻って説明を続ける。テーブル更新部２９は、入力装置を介してユーザから入力されたデータを、クラス定義テーブル格納部２４内のクラス定義テーブル２４０、バリデーション処理リストテーブル格納部２３内のバリデーション処理内容テーブル２６０、およびバリデーション処理内容バージョン情報テーブル格納部２７内のバリデーション処理内容バージョン情報テーブル２７０の情報にそれぞれ登録する。
【００２２】
なお、システムをＪａｖａで構築する場合、バリデーション処理内容テーブル２６０内にクラスに関する情報をロードする機能は、Ｊａｖａのクラスローダにより実現することができる。クラスローダは、プログラムの動作を止めることなくクラスに関する情報を登録することができる。
【００２３】
また、テーブル更新部２９は、バリデーション処理内容テーブル格納部２６内のバリデーション処理内容テーブル２６０およびバリデーション処理内容バージョン情報テーブル格納部２７内のバリデーション処理内容バージョン情報テーブル２７０を更新する場合、参照中にデータが変更され、テーブル作成部２５が取得するデータに矛盾が発生しないように、バリデーション処理内容テーブル格納部２６およびバリデーション処理内容バージョン情報テーブル格納部２７をロックした上で情報を更新する。
【００２４】
作成指示受付部２８は、キーボードやマウス等の入力装置を介して、バリデーション処理サーバ２０のユーザから指示された場合に、バリデーション処理リストテーブルの作成をテーブル作成部２５に指示する。
【００２５】
テーブル作成部２５は、バリデーション処理サーバ２０の起動時または作成指示受付部２８から指示された場合に、クラス定義テーブル２４０、バリデーション処理内容テーブル２６０、およびバリデーション処理内容バージョン情報テーブル２７０を参照してバリデーション処理リストテーブル２３０を作成し、作成したバリデーション処理リストテーブル２３０をバリデーション処理リストテーブル格納部２３に格納する。
【００２６】
具体的には、テーブル作成部２５は、バリデーション処理内容バージョン情報テーブル格納部２７内のバリデーション処理内容バージョン情報テーブル２７０を参照して、現時点で有効なバージョンおよび今後有効となるバリデーション処理のバージョンを特定する。そして、テーブル作成部２５は、特定したバージョンを含むレコード２６６をバリデーション処理内容テーブル格納部２６内のバリデーション処理内容テーブル２６０から抽出する。
【００２７】
そして、テーブル作成部２５は、クラス定義テーブル２４０を参照して、抽出したそれぞれのレコード２６６に含まれているクラス名２６４に対応するクラスの定義２４２の格納先を特定する。そして、テーブル作成部２５は、バリデーション処理内容テーブル２６０から抽出したレコード２６６毎に、レコード２６６からバージョン２６３およびクラス名２６４を削除し、特定したクラスの定義２４２の格納先と、バリデーション処理内容バージョン情報テーブル２７０に格納された開始日時２７２および開始日時２７２とを加えて、図６に示したレコード２３７を作成し、作成したレコード２３７をバリデーション処理リストテーブル格納部２３内のバリデーション処理リストテーブル２３０に格納する。
【００２８】
処理内容検索部２２は、メイン処理部２１から種別および項目を受け取った場合に、バリデーション処理リストテーブル格納部２３内のバリデーション処理リストテーブル２３０を参照して、メイン処理部２１から受け取った種別および項目の組合せを含むレコード２３７を特定する。そして、処理内容検索部２２は、開始日時２３５および終了日時２３６を参照し、特定したレコード２３７の中で、現時点で有効なレコード２３７を特定する。
【００２９】
そして、処理内容検索部２２は、特定したレコード２３７の格納先２３４を参照して、当該格納先２３４に格納されているクラスの定義をクラス定義テーブル格納部２４から取得し、取得したクラスの定義に従ってバリデーション処理のインスタンスを作成する。そして、処理内容検索部２２は、特定したレコード２３７内の引数２３３と共に、作成したバリデーション処理のインスタンスをメイン処理部２１へ送る。
【００３０】
メイン処理部２１は、通信網１３を介してメディエーション制御サーバ１２からバリデーション処理を指示された場合に、対象となるデータを出力元のシステムから取得し、データの種別および項目の組合せ毎に、処理対象のデータを分割する。そして、メイン処理部２１は、分割したそれぞれのデータについて、当該データに対応する種別および項目を処理内容検索部２２へ送る。
【００３１】
そして、メイン処理部２１は、引数と共に、バリデーション処理のインスタンスを処理内容検索部２２から受け取り、当該引数を用いて当該インスタンスを、対応する種別および項目の組合せのデータについて実行することにより、分割したそれぞれのデータについてバリデーション処理を実行し、実行後のデータを通信網１３を介してメディエーション制御サーバ１２へ送る。
【００３２】
なお、本実施形態において、バリデーション処理プログラムのメイン処理プログラムは、メイン処理部２１によって実行される。本実施形態において、メイン処理プログラムには、処理対象のデータの種別および項目の組合せ毎に、当該組合せに対応するインスタンスを処理内容検索部２２に要求するという処理を記述しておけば、バリデーション処理の内容が追加・変更されたとしても、それに伴ってバリデーション処理内容テーブル２６０の内容がユーザによって変更され、バリデーション処理リストテーブル２３０が新たに作成されれば、メイン処理プログラムを変更しなくてもバリデーション処理を追加・変更することができる。
【００３３】
そのため、バリデーション処理を追加・変更するために、バリデーション処理サーバ２０の動作を停止させ、メイン処理プログラムを書き換える必要がない。従って、バリデーション処理サーバ２０は、バリデーション処理の追加・変更に伴う処理の遅延や処理負荷の増大を低く抑えることができる。
【００３４】
また、本実施形態において、バリデーション処理リストテーブル格納部２３、バリデーション処理内容テーブル格納部２６、およびバリデーション処理内容バージョン情報テーブル格納部２７は、バリデーション処理サーバ２０内に設けられるが、他の形態として、これらの格納部は、外部のＲＤＢ（Relational DataBase）に設けられ、処理内容検索部２２やテーブル作成部２５が、通信網１３を介して当該ＲＤＢから必要な情報を取得するように構成してもよい。
【００３５】
図７は、メディエーションシステム１０の動作の一例を示すフローチャートである。
【００３６】
まず、メディエーション制御サーバ１２は、第１の情報処理システム１１または第２の情報処理システム１４からデータの中継を指示されたか否かを判定する（Ｓ１００）。第１の情報処理システム１１または第２の情報処理システム１４からデータの中継を指示されていない場合（Ｓ１００：Ｎｏ）、メディエーション制御サーバ１２は、再びステップＳ１００に示した処理を実行する。
【００３７】
第１の情報処理システム１１または第２の情報処理システム１４からデータの中継を指示された場合（Ｓ１００：Ｙｅｓ）、メディエーション制御サーバ１２は、中継対象のデータについてバリデーション処理サーバ２０にバリデーション処理を指示する。バリデーション処理サーバ２０は、中継対象のデータについて後述するバリデーション処理を実行し（Ｓ１０１）、実行後のデータをメディエーション制御サーバ１２へ送信する。
【００３８】
次に、メディエーション制御サーバ１２は、バリデーション処理が実行された後のデータについて、トランスポート処理サーバ１５にトランスポート処理を指示する。トランスポート処理サーバ１５は、バリデーション処理が施されたデータについてトランスポート処理を実行し、実行後のデータを中継先のシステムへ送信し（Ｓ１０２）、メディエーション制御サーバ１２は、再びステップＳ１００に示した処理を実行する。
【００３９】
図８は、バリデーション処理サーバ２０の動作の一例を示すフローチャートである。例えば、電源が投入される等の所定のタイミングで、バリデーション処理サーバ２０は、本フローチャートに示す動作を開始する。
【００４０】
まず、テーブル更新部２９は、入力装置を介してユーザから入力された情報を、クラス定義テーブル格納部２４内のクラス定義テーブル２４０、バリデーション処理リストテーブル格納部２３内のバリデーション処理内容テーブル２６０、およびバリデーション処理内容バージョン情報テーブル格納部２７内のバリデーション処理内容バージョン情報テーブル２７０に、それぞれ登録する（Ｓ２００）。そして、作成指示受付部２８は、テーブル作成部２５にバリデーション処理リストテーブル２３０の作成を指示する。
【００４１】
テーブル作成部２５は、クラス定義テーブル２４０、バリデーション処理内容テーブル２６０、およびバリデーション処理内容バージョン情報テーブル２７０を参照してバリデーション処理リストテーブル２３０を作成し、作成したバリデーション処理リストテーブル２３０をバリデーション処理リストテーブル格納部２３に格納する（Ｓ２０１）。
【００４２】
次に、メイン処理部２１は、通信網１３を介してメディエーション制御サーバ１２から、バリデーション処理を指示されたか否かを判定する（Ｓ２０２）。バリデーション処理を指示された場合（Ｓ２０２：Ｙｅｓ）、メイン処理部２１は、バリデーション処理の対象となるデータを出力元のシステムから取得し（Ｓ２０３）、データの種別および項目の組合せ毎に処理対象のデータを分割する（Ｓ２０４）。
【００４３】
次に、メイン処理部２１は、分割したデータについて、未選択の種別および項目の組合せを１つ選択し（Ｓ２０５）、選択した種別および項目の組み合わせを処理内容検索部２２へ送る。
【００４４】
処理内容検索部２２は、バリデーション処理リストテーブル格納部２３内のバリデーション処理リストテーブル２３０を参照して、メイン処理部２１から受け取った種別および項目の組合せを含むレコード２３７を特定し、開始日時２３５および終了日時２３６を参照して、特定したレコード２３７の中で、現時点で有効なレコード２３７を特定する。そして、処理内容検索部２２は、特定したレコード２３７の格納先２３４を参照して、当該格納先２３４に格納されているクラスの定義をクラス定義テーブル格納部２４から取得する（Ｓ２０６）。
【００４５】
次に、処理内容検索部２２は、取得したクラスの定義からバリデーション処理のインスタンスを作成し（Ｓ２０７）、特定したレコード２３７内の引数２３３と共に、作成したバリデーション処理のインスタンスをメイン処理部２１へ送る。
【００４６】
メイン処理部２１は、引数と共に、バリデーション処理のインスタンスを処理内容検索部２２から受け取り、当該引数を用いて当該インスタンスを、対応する種別および項目の組合せのデータについて実行することにより、ステップＳ２０５において選択した組合せに対応するデータについてバリデーション処理を実行する（Ｓ２０８）。
【００４７】
そして、メイン処理部２１は、ステップＳ２０４において分割したデータについて、種別および項目の組合せを全て選択したか否かを判定する（Ｓ２０９）。未選択の種別および項目の組合せがある場合（Ｓ２０９：Ｎｏ）、メイン処理部２１は、再びステップＳ２０５に示した処理を実行する。一方、種別および項目の組合せを全て選択した場合（Ｓ２０９：Ｙｅｓ）、メイン処理部２１は、再びステップＳ２０２に示した処理を実行する。なお、本実施形態では、ステップＳ２０３からＳ２０９までの処理をバリデーション処理と呼ぶ。
【００４８】
ステップＳ２０２において、バリデーション処理を指示されていない場合（Ｓ２０２：Ｎｏ）、テーブル更新部２９は、入力装置を介してユーザからクラス定義テーブル２４０、バリデーション処理内容テーブル２６０、およびバリデーション処理内容バージョン情報テーブル２７０の各テーブルの更新を指示されたか否かを判定する（Ｓ２１０）。
【００４９】
テーブルの更新を指示された場合（Ｓ２１０：Ｙｅｓ）、テーブル更新部２９は、入力装置を介してユーザから入力された情報で、クラス定義テーブル格納部２４内のクラス定義テーブル２４０、バリデーション処理リストテーブル格納部２３内のバリデーション処理内容テーブル２６０、およびバリデーション処理内容バージョン情報テーブル格納部２７内のバリデーション処理内容バージョン情報テーブル２７０の情報をそれぞれ更新し（Ｓ２１１）、メイン処理部２１は、再びステップＳ２０２に示した処理を実行する。
【００５０】
テーブルの更新を指示されていない場合（Ｓ２１０：Ｎｏ）、作成指示受付部２８は、入力装置を介してユーザからバリデーション処理リストテーブルの作成を指示されたか否かを判定する（Ｓ２１２）。バリデーション処理リストテーブルの作成を指示されていない場合（Ｓ２１２：Ｎｏ）、メイン処理部２１は、再びステップＳ２０２に示した処理を実行する。
【００５１】
バリデーション処理リストテーブルの作成を指示された場合（Ｓ２１２：Ｙｅｓ）、作成指示受付部２８は、テーブル作成部２５にバリデーション処理リストテーブル２３０の作成を指示する。テーブル作成部２５は、クラス定義テーブル２４０、バリデーション処理内容テーブル２６０、およびバリデーション処理内容バージョン情報テーブル２７０を参照してバリデーション処理リストテーブル２３０を作成し、作成したバリデーション処理リストテーブル２３０をバリデーション処理リストテーブル格納部２３に格納し（Ｓ２１３）、メイン処理部２１は、再びステップＳ２０２に示した処理を実行する。
【００５２】
図９は、バリデーション処理サーバ２０の機能を実現するコンピュータ３０のハードウェア構成の一例を示すハードウェア構成図である。コンピュータ３０は、ＣＰＵ（Central Processing Unit）３１、ＲＡＭ（Random Access Memory）３２、ＲＯＭ（Read Only Memory）３３、ＨＤＤ（Hard Disk Drive）３４、通信インターフェイス（Ｉ／Ｆ）３５、入出力インターフェイス（Ｉ／Ｆ）３６、およびメディアインターフェイス（Ｉ／Ｆ）３７を備える。
【００５３】
ＣＰＵ３１は、ＲＯＭ３３またはＨＤＤ３４に格納されたプログラムに基づいて動作し、各部の制御を行う。ＲＯＭ３３は、コンピュータ３０の起動時にＣＰＵ３１によって実行されるブートプログラムや、コンピュータ３０のハードウェアに依存するプログラム等を格納する。
【００５４】
ＨＤＤ３４は、ＣＰＵ３１によって実行されるプログラムや当該プログラムによって使用されるデータ等を格納する。通信インターフェイス３５は、通信網１３を介して他の機器からデータを受信してＣＰＵ３１へ送ると共に、ＣＰＵ３１が生成したデータを、通信網１３を介して他の機器へ送信する。
【００５５】
ＣＰＵ３１は、入出力インターフェイス３６を介して、ディスプレイやプリンタ等の出力装置、および、キーボードやマウス等の入力装置を制御する。ＣＰＵ３１は、入出力インターフェイス３６を介して、入力装置からデータを取得する。また、ＣＰＵ３１は、生成したデータを、入出力インターフェイス３６を介して出力装置へ出力する。
【００５６】
メディアインターフェイス３７は、記録媒体３８に格納されたプログラムまたはデータを読み取り、ＲＡＭ３２を介してＣＰＵ３１に提供する。ＣＰＵ３１は、当該プログラムを、メディアインターフェイス３７を介して記録媒体３８からＲＡＭ３２上にロードし、ロードしたプログラムを実行する。記録媒体３８は、例えばＤＶＤ（Digital Versatile Disk）、ＰＤ（Phase change rewritable Disk）等の光学記録媒体、ＭＯ（Magneto-Optical disk）等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【００５７】
コンピュータ３０のＣＰＵ３１は、ＲＡＭ３２上にロードされたプログラムを実行することにより、メイン処理部２１、処理内容検索部２２、バリデーション処理リストテーブル格納部２３、クラス定義テーブル格納部２４、テーブル作成部２５、バリデーション処理内容テーブル格納部２６、バリデーション処理内容バージョン情報テーブル格納部２７、作成指示受付部２８、およびテーブル更新部２９の各機能を実現する。
【００５８】
コンピュータ３０のＣＰＵ３１は、これらのプログラムを、記録媒体３８から読み取って実行するが、他の例として、ＣＰＵ３１は、他の装置から通信網１３を介してこれらのプログラムを取得してもよい。
【００５９】
以上、本発明の実施の形態について説明した。
【００６０】
上記説明から明らかなように、本実施形態によれば、メインプログラムを変更することなく、バリデーションの内容を変更することができる。
【００６１】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に多様な変更または改良を加えることが可能であることが当業者には明らかである。また、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【符号の説明】
【００６２】
１０・・・メディエーションシステム、１１・・・第１の情報処理システム、１２・・・メディエーション制御サーバ、１３・・・通信網、１４・・・第２の情報処理システム、１５・・・トランスポート処理サーバ、２０・・・バリデーション処理サーバ、２１・・・メイン処理部、２２・・・処理内容検索部、２３・・・バリデーション処理リストテーブル格納部、２４・・・クラス定義テーブル格納部、２４０・・・クラス定義テーブル、２４１・・・クラス名、２４２・・・定義、２５・・・テーブル作成部、２６・・・バリデーション処理内容テーブル格納部、２７・・・バリデーション処理内容バージョン情報テーブル格納部、２８・・・作成指示受付部、２９・・・テーブル更新部、３０・・・コンピュータ、３１・・・ＣＰＵ、３２・・・ＲＡＭ、３３・・・ＲＯＭ、３４・・・ＨＤＤ、３５・・・通信インターフェイス、３６・・・入出力インターフェイス、３７・・・メディアインターフェイス、３８・・・記録媒体
【図１】
2011186824.tif 000003
【図２】
2011186824.tif 000004
【図３】
2011186824.tif 000005
【図４】
2011186824.tif 000006
【図５】
2011186824.tif 000007
【図６】
2011186824.tif 000008
【図７】
2011186824.tif 000009
【図８】
2011186824.tif 000010
【図９】
2011186824.tif 000011