(57)【特許請求の範囲】
【請求項１】
共通のプレゼンテーション部を介して複数の情報元からデータを収集するコンピュータにおけるデータ処理プログラムにおいて、
前記プレゼンテーション部は収集すべきデータの構造をマークアップ言語で記述するスケルトンを受け取る仲介部と、前記複数の情報元に接続され、情報元の種類に応じたアクセス方法に基づいて動作する複数の接続モジュールと、
スケルトン内のタグと接続モジュールとの対応関係を記述するモジュール対応表とを具備し、
前記データ処理プログラムは、コンピュータを、
収集すべきデータに応じたスケルトンを前記仲介部へ供給する手段と、
前記モジュール対応表を参照して、前記スケルトン内のタグに対応する接続モジュールを選択する手段と、
選択された接続モジュールへ前記スケルトンを供給し、情報元から情報を収集する手段と、
して機能させるためのデータ処理プログラム。
【請求項２】
前記コンピュータを、
収集されたデータを前記スケルトン内に収納する手段としてさらに機能させることを特徴とする請求項１記載のデータ処理プログラム。
【請求項３】
前記プレゼンテーション部はアクセス方法記述ファイルを格納する格納庫をさらに具備し、
前記コンピュータを選択された接続モジュールへ前記スケルトンを供給し、情報元から情報を収集する手段として機能させることは、
前記選択された接続モジュールへ対応するアクセス方法記述ファイルとともに前記スケルトンを供給し、情報元から情報を収集することを含むことを特徴とする請求項１記載のデータ処理プログラム。
【請求項４】
前記情報元はデータベースであり、
前記データベースに対応するアクセス方法記述ファイルは検索条件を含み、
前記コンピュータを選択された接続モジュールへ前記スケルトンを供給し、情報元から情報を収集する手段として機能させることは、前記スケルトン内のタグが前記検索条件の場合は、その検索条件を含む構造化照会言語をデータベースに供給することを含むことを特徴とする請求項３に記載のデータ処理プログラム。
【請求項５】
前記情報元はメールサーバであり、
前記メールサーバに対応するアクセス方法記述ファイルはアドレステーブルを含み、
前記コンピュータを選択された接続モジュールへ前記スケルトンを供給し、情報元から情報を収集する手段として機能させることは、前記アドレステーブルを参照してデータ入力依頼メールを送信することを含むことを特徴とする請求項３に記載のデータ処理プログラム。
【請求項６】
共通のプレゼンテーション部を介して複数の情報元からデータを収集するデータ処理装置において、
前記プレゼンテーション部は収集すべきデータの構造をマークアップ言語で記述するスケルトンを受け取る仲介部と、前記複数の情報元に接続され、情報元の種類に応じたアクセス方法に基づいて動作する複数の接続モジュールと、
スケルトン内のタグと接続モジュールとの対応関係を記述するモジュール対応表とを具備し、
前記データ処理装置は、
収集すべきデータに応じたスケルトンを前記仲介部へ供給する手段と、
前記モジュール対応表を参照して、前記スケルトン内のタグに対応する接続モジュールを選択する手段と、
選択された接続モジュールへ前記スケルトンを供給し、情報元から情報を収集する手段と、
を具備するデータ処理装置。
【請求項７】
共通のプレゼンテーション部を介して複数の情報元からデータを収集するデータ処理方法において、
前記プレゼンテーション部は収集すべきデータの構造をマークアップ言語で記述するスケルトンを受け取る仲介部と、前記複数の情報元に接続され、情報元の種類に応じたアクセス方法に基づいて動作する複数の接続モジュールと、
スケルトン内のタグと接続モジュールとの対応関係を記述するモジュール対応表とを具備し、
前記データ処理方法は、
収集すべきデータに応じたスケルトンを前記仲介部へ供給するステップと、
前記モジュール対応表を参照して、前記スケルトン内のタグに対応する接続モジュールを選択するステップと、
選択された接続モジュールへ前記スケルトンを供給し、情報元から情報を収集するステップと、
を具備するデータ処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は情報元から収集したデータに所定の処理を行うデータ処理プログラム、データ処理装置およびデータ処理方法に関する。
【０００２】
【従来の技術】
ある業務における特定の処理を行うにあたり、複数の情報元からデータを収集し、それらを元にデータ処理を行うことが多い。情報元からのデータの収集の形態としては、データベースからのデータ検索であったり、クライアント端末からのデータ入力であったり、電子メールにより送信されるデータの取り込みであったりする。さらに、近年は、ＢｔｏＢに代表されるような企業間の電子商取引システム間でのシステム間／企業間のデータ交換によって送られるデータであったり等、さまざまな形態が存在する。
【０００３】
図１９は従来の一般的なデータ処理装置を示す。本装置は、情報元としてデータベース２、クライアント端末４、メールサーバ６がある。データを処理する処理部１６はデータベース２に対してはアクセス部１０を介して接続され、端末４に対しては表示部１２、アプリケーション（ＡＰ）サーバ８を介して接続され、メールサーバ６に対してはメッセンジャ部１４を介して接続される。
【０００４】
このような従来装置では、どのデータをどの情報元から収集するか、すなわち情報元の形態はあらかじめ決められており、それに合わせて処理部１６のアプリケーションプログラムが開発されている。例えば、データベース２からデータを検索するためには、処理部１６はアクセス部１０から構造化照会言語ＳＱＬ（Structured Query Language）をデータベース２へ発行させる。端末４からユーザにデータを入力させるためには、処理部１６は表示部１２、アプリケーションサーバ８を介して端末４にデータ入力画面を表示させ、入力されたデータを取り込む。システム間のデータ交換のためには、処理部１６はメッセンジャ部１４を介してメールサーバ６からのデータを取り込む。
【０００５】
しかし、ビジネスの拡大等によりデータ処理システムを再構築する場合、データの取得形態が大幅に変わる場合がある。例えば、今まではユーザに端末４から逐次入力してもらっていたデータをデータベース２で一元管理するようにしたり、逆に今までデータベース２から検索していたデータを、特定顧客に対しては端末４から入力してもらうという場合があり得る。また、今まで端末４から入力していた企業間のデータのやり取りを自動化しようとする場合もあり得る。このように情報元の形態が変更となる場合、情報元にアクセスする方法が変更になるので、アプリケーションプログラムの大幅な書き直しを招くこととなる。これは、アプリケーションプログラムにおいてデータを取得する方法が情報元の形態に依存して設計されていることに起因する。
【０００６】
【発明が解決しようとする課題】
このように従来のデータ処理プログラム、データ処理装置およびデータ処理方法には、情報元の形態が変更になった場合、アプリケーションプログラム全体を書き直さなければならないという欠点がある。
【０００７】
本発明の目的は、情報元から収集したデータを処理する際、情報元の形態の変更に柔軟に対応できるデータ処理プログラム、データ処理装置およびデータ処理方法を提供することである。
【０００８】
【課題を解決するための手段】
上記した課題を解決し目的を達成するために、本発明は以下に示す手段を用いている。
【０００９】
（１）本発明のデータ処理プログラムは、共通のプレゼンテーション部を介して複数の情報元からデータを収集するコンピュータにおけるデータ処理プログラムにおいて、
前記プレゼンテーション部は収集すべきデータの構造をマークアップ言語で記述するスケルトンを受け取る仲介部と、前記複数の情報元に接続され、情報元の種類に応じたアクセス方法に基づいて動作する複数の接続モジュールと、
スケルトン内のタグと接続モジュールとの対応関係を記述するモジュール対応表とを具備し、
前記データ処理プログラムは、コンピュータを、
収集すべきデータに応じたスケルトンを前記仲介部へ供給する手段と、
前記モジュール対応表を参照して、前記スケルトン内のタグに対応する接続モジュールを選択する手段と、
選択された接続モジュールへ前記スケルトンを供給し、情報元から情報を収集する手段と、
して機能させるためのデータ処理プログラムである。
【００１０】
（２）本発明のデータ処理装置は、共通のプレゼンテーション部を介して複数の情報元からデータを収集するデータ処理装置において、
前記プレゼンテーション部は収集すべきデータの構造をマークアップ言語で記述するスケルトンを受け取る仲介部と、前記複数の情報元に接続され、情報元の種類に応じたアクセス方法に基づいて動作する複数の接続モジュールと、
スケルトン内のタグと接続モジュールとの対応関係を記述するモジュール対応表とを具備し、
前記データ処理装置は、
収集すべきデータに応じたスケルトンを前記仲介部へ供給する手段と、
前記モジュール対応表を参照して、前記スケルトン内のタグに対応する接続モジュールを選択する手段と、
選択された接続モジュールへ前記スケルトンを供給し、情報元から情報を収集する手段と、
を具備する。
【００１１】
（３）本発明のデータ処理方法は、共通のプレゼンテーション部を介して複数の情報元からデータを収集するデータ処理方法において、
前記プレゼンテーション部は収集すべきデータの構造をマークアップ言語で記述するスケルトンを受け取る仲介部と、前記複数の情報元に接続され、情報元の種類に応じたアクセス方法に基づいて動作する複数の接続モジュールと、
スケルトン内のタグと接続モジュールとの対応関係を記述するモジュール対応表とを具備し、
前記データ処理方法は、
収集すべきデータに応じたスケルトンを前記仲介部へ供給するステップと、
前記モジュール対応表を参照して、前記スケルトン内のタグに対応する接続モジュールを選択するステップと、
選択された接続モジュールへ前記スケルトンを供給し、情報元から情報を収集するステップと、
を具備する。
【００１２】
【発明の実施の形態】
以下、図面を参照して本発明によるデータ処理プログラム、データ処理装置およびデータ処理方法の実施形態を説明する。
【００１３】
第１実施形態
図１は第１実施形態に係るデータ処理装置の構成を示す図である。本装置は、情報元としてデータベース２２、クライアント端末２４、メールサーバ２６がある。データを処理する処理部３２はプレゼンテーション部３０を介してデータベース２、アプリケーション（ＡＰ）サーバ２８、メールサーバ２６に接続される。アプリケーションサーバ２８は端末２４に接続される。本実施形態は、図１９に示した従来例と異なり、データベース２へのアクセス部１０と、アプリケーションサーバ２８を介して端末２４にデータ入力画面を表示する表示部１２と、メールサーバ２６へのメッセンジャ部１４との機能をまとめ、プレゼンテーション部３０としている。
【００１４】
このような構成では、処理部３２は、情報元の如何に係わらず、共通のアクセス方法でプレゼンテーション部３０にデータを要求することができる。情報元が変更になった場合、プレゼンテーション部３０の内部だけを変更すればよく、処理部３２のアプリケーションプログラム全体を書き直す必要がない。さらに、プレゼンテーション部３０の変更も、内部全体の変更を極力抑えるため、情報元に対応した接続モジュールを多数用意しておき、それらモジュールを適宜組み合わせることでプレゼンテーション機能を実現している。
【００１５】
図２はプレゼンテーション部３０の内部の詳細を示す。処理部３２は、情報元からデータを収集する際、収集すべきデータの構造をＸＭＬデータによりスケルトン３４として記述し、仲介部３６に渡す。実際に収集されたデータはスケルトン３４の構造の中に収納される。仲介部３６はキューの役割をもち、処理部３２から渡されたスケルトン３４をＸＭＬデータベース３８に格納する。仲介部３６は、複数の接続モジュール（ここでは、接続モジュール４２、４４）と接続されている。接続モジュール４２はデータベース２２と接続され、接続モジュール４４はメールサーバ２６と接続されるとともに、アプリケーションサーバ２８を通じて端末２４と接続される。また、接続モジュール４２、４４はアクセス方法記述ファイル格納庫４８と接続されており、モジュール（が接続される情報元）に応じた特定のアクセス方法記述ファイルを読み出すことができる。仲介部３６は、スケルトン３４中の特定のタグと接続モジュールとの対応をモジュール対応表４０として持っている。すなわち、仲介部３６はスケルトン３４に記述されたタグに対応して適切な接続モジュールを選択する。
【００１６】
各接続モジュール４２、４４は処理部３２からのトリガーによって起動し、ＸＭＬデータベース３８からスケルトンを読み込んで処理を実行し、処理を終えるとスケルトンを再びＸＭＬデータベース３８に戻す。仲介部３６は、定期的にスケルトンをチェックし、関係するすべての接続モジュールの処理が完了したか否かをチェックする。処理が完了している場合には、仲介部３６は処理部３２へ通知し、処理部３２は仲介部３６から処理済のスケルトンを取り出し、データ収集が完了する。
【００１７】
以下、データ収集動作を具体的に説明する。図３はスケルトン３４の一例を示す。ここでは、あるメーカーが製造している製品に含まれる有害物質の量を調べるシステムを例としている。このような調査では、製品に使われる個々の部品についての調査と、製品の製造工程で混入する有害物質についての調査が必要となる。製品の製造工程で混入する有害物質については、自社のデータベースで管理しているとし、部品に含まれる有害物質については、部品の製造元に問い合わせるとする。有害物質としては、鉛、水銀、ダイオキシン、フロン等があり、それらのいくつかの項目について含有率を調べるとする。また、製品（部品）の質量についても調べるとする。
【００１８】
図３のスケルトンは、製品コード‘○○○’、製品コード‘□□□’、部品コード‘×××’について、質量と鉛について調べる場合の例であり、製品については製品タグ、部品については部品タグ、質量については質量タグ、鉛については鉛タグが調査すべき項目を表す。なお、スケルトンには状態タグがあり、スケルトン全体の調査状況が記述される。状態には、未処理、進行中、完了があり得る。
【００１９】
図４はモジュール対応表４０の一例を示しており、製品タグは接続モジュール４２、部品タグは接続モジュール４４に接続することを示す。この対応表を書き換えることにより情報元の形態を変更できる。例えば、部品に関する質量、鉛のデータもデータベース２２から検索するようにするためには、部品タグを接続モジュール４２に書き換えればよい。処理部３２は仲介部３６にスケルトン３４を渡すと、調査開始命令を仲介部３６に出す。仲介部３６は調査開始命令を受けると、スケルトン３４のタグに対応するモジュールに順に接続し、処理を実行する。図３のスケルトンの例では、＜製品コード＝‘○○○’＞のタグを読み込み、これに対応する接続モジュール４２に、タグ以下のＸＭＬデータ３４ａを渡す。接続モジュール４２に渡されるＸＭＬデータ３４ａは以下のような意味的構造を有する。
【００２０】
＜製品コード＝‘○○○’＞
＜質量／＞
＜鉛／＞
＜／製品＞
接続モジュール４２は、アクセス方法記述ファイル格納庫４８からアクセス方法記述ファイル４８ａを読み込む。接続モジュール４２が読み込むアクセス方法記述ファイルは予めモジュール毎に定義されている。
【００２１】
図５はデータベース２２のテーブル構成の一例を示す。図６は接続モジュール４２のアクセス方法記述ファイル４８ａを示す。記述ファイル４８ａは、パスと列のテーブルからなり、列は図５のテーブルの列を示す。パスは、ＸＭＬデータの要素を表している。例えば、製品／＠コードの行は製品タグのコード属性の値はデータベースのｃｏｄｅ列の値に対応していることを示し、製品／質量／ｔｅｘｔ（）の行は製品タグの子供の質量タグのテキスト要素の値はデータベースのｗｅｉｇｈｔ列の値に対応していることを示す。また、記述ファイルは、その行が検索条件であるか否かを示す検索条件の列も有する。図６の例では、ｃｏｄｅを検索条件にして、ｗｅｉｇｈｔ、Ｐｂ、Ｈｇ等を検索結果とすることを示す。
【００２２】
図７は与えられたＸＭＬデータ３４ａとアクセス方法記述ファイル４８ａから接続モジュール４２がデータベース２２に対する問い合わせ言語（ＳＱＬ）５２を生成する仕組みを示す。問い合わせ言語５２はあらかじめテンプレートとして定義されており、検索条件５２ａと検索する項目５２ｂの部分だけが空欄となっている。接続モジュール４２は、ＸＭＬデータ３４ａを読み込み、タグが記述ファイル４８ａにあるか否かを調べる。タグが記述ファイル４８ａに存在する場合は、それが検索条件であるか否かを調べる。検索条件の場合（タグが製品コードの場合）には、その列名（ｃｏｄｅ）を問い合わせ言語５２の検索条件の部分５２ａに挿入する。検索条件でない場合（タグが質量、鉛の場合）は、その列名（ｗｅｉｇｈｔ、Ｐｂ）を検索する項目の部分５２ｂに挿入する。以上の操作を全てのタグについて実行することで、最終的に問合わせ言語が完成する。
【００２３】
問い合わせ言語５２ができるとデータベース２２に対して問い合わせを実行し、検索結果を取得する。接続モジュール４２は検索結果とアクセス方法記述ファイル４８ａとを照らし合わせ、ＸＭＬデータ３４ａの対応する部分に値を挿入する。図８は検索結果をＸＭＬデータ３４ａに挿入する仕組みを示す。検索結果２２ａの列名ｗｅｉｇｈｔ、Ｐｂに対し、記述ファイル４８ａからその列名に対応するパスを調べ、ＸＭＬデータ３４ａのパス、ここでは製品／質量／ｔｅｘｔ（）、製品／鉛／ｔｅｘｔ（）に値１００、５を書き込む。接続モジュール４２はＸＭＬデータ３４ａへのデータの書き込みを完了すると、仲介部３６にＸＭＬデータ３４ａを戻す。仲介部３６は、接続モジュール４２からＸＭＬデータが返されると、その文法的構造をチェックし、問題がなければＸＭＬデータベース３８に格納されているスケルトンの一部をＸＭＬデータ３４ａで上書きする。これにより、接続モジュール４２によるデータベース２２からのデータ検索・収集は終了する。
【００２４】
仲介部３６は、接続モジュール４２による処理が終了すると、スケルトン３４の次のタグを調べる。次のタグも製品タグの場合は、同様の処理が繰り返される。部品タグの場合には、モジュール対応表４０に基づいて対応する接続モジュール４４に部品タグ以下のＸＭＬデータを渡す。接続モジュール４４に渡されるＸＭＬデータは以下のような意味的構造を有する。
【００２５】
＜部品コード＝‘×××’＞
＜質量／＞
＜鉛／＞
＜／部品＞
図９は接続モジュール４４内部の詳細を示す。モジュール４４では、端末２４にデータ入力画面を表示させ、ユーザが入力した値をデータとしてスケルトン３４に反映させる。上述した例では、ユーザとは製品に使われる部品を納品した会社の担当者である。このため、仲介部３６から接続モジュール４４に対してデータ収集の要求があった時点で、ユーザに入力の指示をする必要がある。接続モジュール４４はメール配信部６０を用い、メールサーバ２６を通してユーザにメールを配信することで入力の指示を知らせる。メールにはデータを入力するためのＷｅｂ上のＵＲＬアドレスが記載されており、ユーザは端末からそのアドレスにアクセスすることで、入力画面が表示される。
【００２６】
具体的には、仲介部３６は制御部７２に対して、ＸＭＬデータを送り、データ収集の依頼を出す。制御部７２は、データ収集依頼に対して、依頼コードを発番し、入力依頼コードデータベース７０に格納する。依頼コードは、ユーザがデータを入力する際、どのスケルトンのどのタグの部分について入力するかを示すものである。入力依頼コードデータベース７０は、図１０に示すように、依頼コード、スケルトンファイル名、タグヘのパスを列として持つ。制御部７２はメール配信部６０にＸＭＬデータと依頼コードを送付する。
【００２７】
メール配信部６０はアクセス方法記述ファイルの一つとしてアドレステーブル６２を持ち、ＸＭＬデータに対応する連絡先のアドレスを取得する。図１１はアドレステーブル６２の詳細を示す。
【００２８】
メール配信部６０は取得したアドレスに対して、所定のＷｅｂ上のアドレスにアクセスしてデータを入力することを依頼する旨のメールを配信する。ここで、メールには、担当者ＩＤ、パスワード及び依頼コードを記載する。ユーザはメールを受けると、端末からＷｅｂ上のアドレスにアクセスする。
【００２９】
図１２はＷｅｂ上のログイン画面の例を示す。画面上で担当者ＩＤ、パスワード及び依頼コードを入力させる。端末２４はアドレスが示すアプリケーションサーバ２８にアクセスすると、アプリケーションサーバ２８は入力画面生成部６４を起動して入力画面を生成させる。このとき、ログイン画面で入力されたＩＤ、パスワード及び依頼コードが入力画面生成部６４に渡される。入力画面生成部６４は制御部７２に依頼コードに対応するスケルトンを要求する。制御部７２は、入力依頼コードデータベース７０（図１０）を検索し、依頼コードに対応するスケルトンとパスを取得する。制御部７２は、対応するスケルトンの所定の構造以下のＸＭＬデータを仲介部３６に要求する。仲介部３６は、ＸＭＬデータベース３８からスケルトンを読み込み、対応する部品タグ以下のＸＭＬデータを返し、最終的に制御部７２を介して入力画面生成部６４に返す。
【００３０】
入力画面生成部６４はＸＭＬデータとアクセス方法記述ファイルの一つである入力項目テーブル６６を読み込み、入力画面を生成する。図１３は入力項目テーブル６６の詳細を示す。テーブルはパス、パラメータ、コメント、表示の４列からなる。図１４はＸＭＬデータ３４ｂと入力項目テーブル６６から入力画面を生成する仕組みを示す。なお、生成するのはＨＴＭＬファイル６４ａであり、これが端末上で画面として表示される。
【００３１】
入力画面生成部６４はＸＭＬデータ３４ｂを読み込み、タグが入力項目テーブル６６にあるか否かを調べる。タグが入力項目テーブル６６に存在する場合は、それが表示項目であるか否かを調べる。表示項目の場合には、コメントとタグの値を用いて、
＜ＴＲ＞＜ＴＤ＞コメント＜／ＴＤ＞＜ＴＤ＞タグの値＜／ＴＤ＞＜／ＴＲ＞をＨＴＭＬファイルに記述する。表示項目でない場合は、コメントとパラメータの値を用いて、
＜ＴＲ＞＜ＴＤ＞コメント＜／ＴＤ＞＜ＴＤ＞＜ＩＮＰＵＴ  ＮＡＭＥ＝‘パラメータ’／＞＜／ＴＤ＞＜／ＴＲ＞
をＨＴＭＬファイルに記述する。以上の操作をすべてのタグについて実行することで、最終的にＨＴＭＬファイルが完成する。
【００３２】
図１５はＨＴＭＬファイル６４ａによって端末２４に表示される画面を示す。
【００３３】
図１６は入力画面に応答してユーザが入力したデータをＸＭＬデータ３４ｂに反映する仕組みを示す。端末２４から入力されたデータはパラメータリスト２４ａとしてアプリケーションサーバ２８を介してパラメータ解析部６８に送られる。パラメータリスト２４ａには、依頼コードも記述される。パラメータ解析部６８は制御部７２を通して、仲介部３６に依頼コードの示すスケルトンの部品コードが示す構造以下のＸＭＬデータ３４ｂを要求する。解析部６８では、ＸＭＬデータ３４ｂを読み込み、タグが入力項目テーブル６６にあるか否かを調べる。タグが入力項目テーブル６６に存在し、且つ表示項目でない場合には、パラメータ名ｗｅｉｇｈｔ、Ｐｂを取得し、パラメータリスト２４ａから対応するパラメータ名の値１３５７９０１１、４０を取得し、タグの値としてＸＭＬデータ３４ｂに書き込む。
【００３４】
接続モジュール４４はＸＭＬデータ３４ｂへのデータの書き込みを完了すると、仲介部３６にＸＭＬデータ３４ｂを戻す。以下は、製品タグの場合と同様である。仲介部３６は、接続モジュール４４からＸＭＬデータが返されると、その文法的構造をチェックし、問題がなければＸＭＬデータベース３８に格納されているスケルトンの一部をＸＭＬデータ３４ｂで上書きする。これにより、接続モジュール４４による端末２４からのデータ入力・収集は終了する。
【００３５】
仲介部３６はスケルトンに所定のデータ（の値）がすべて書き込まれたか否かをチェックする。各接続モジュールが必要なデータを収集し、スケルトンヘの書き込みが終了した時点で、スケルトンの状態タグ（図３参照）を完了にし、処理部３２にデータ収集完了の通知を出す。処理部３２は通知を受けると、仲介部３６に対してスケルトン読み出し命令を出し、データ収集が完了する。なお、処理部３２は、任意のタイミングで仲介部３６に対してスケルトンの状態を問い合わせることができる。仲介部３６はスケルトンの状態タグの値を返す。また、処理部３２は任意のタイミングでスケルトン読み出し命令を出し、データ収集処理を中断させることができる。
【００３６】
図１７に第１実施形態のフローチャートを示す。
【００３７】
ステップＳ１２で、処理部３２は仲介部３６にデータ収集のためのスケルトン３４を渡し、調査開始命令を仲介部３６に出す。
【００３８】
ステップＳ１４で、仲介部３６はスケルトン３４のタグを順に調べ、タグに応じた接続モジュールを起動する。
【００３９】
タグが製品の場合は、ステップＳ１６で、接続モジュール４２に、タグ以下のＸＭＬデータ３４ａを渡す。
【００４０】
ステップＳ１８で、接続モジュール４２は、アクセス方法記述ファイル格納庫４８からアクセス方法記述ファイル４８ａを読み込む。
【００４１】
ステップＳ２０で、接続モジュール４２はＸＭＬデータ３４ａとアクセス方法記述ファイル４８ａからデータベース２２に対する問い合わせ言語５２を生成する。
【００４２】
ステップＳ２２で、データベース２２に対して問い合わせを実行し、取得した検索結果に基づいて、ＸＭＬデータ３４ａの対応する部分に値を挿入する。接続モジュール４２はＸＭＬデータ３４ａへのデータの書き込みを完了すると、仲介部３６にＸＭＬデータ３４ａを戻す。
【００４３】
ステップＳ２４で、仲介部３６はＸＭＬデータベース３８に格納されているスケルトンの一部をＸＭＬデータ３４ａで上書きする。
【００４４】
ステップＳ２６で次のタグがあるか否か判定し、次のタグがある場合は、ステップＳ１４に戻り、次のタグを調べ、タグに応じた接続モジュールを起動する。
【００４５】
タグが部品の場合は、ステップＳ３０で、接続モジュール４４に、タグ以下のＸＭＬデータ３４ｂを渡す。
【００４６】
ステップＳ３２で、接続モジュール４４は、依頼コードを発番し、入力依頼コードデータベース７０に格納する。
【００４７】
ステップＳ３４で、接続モジュール４４は、アドレステーブル６２を参照して部品を納品した会社の担当者へ所定のＷｅｂ上のアドレスにアクセスしてデータを入力することを依頼する旨のメールを配信する。
【００４８】
ユーザがこのＷｅｂアドレスにアクセスすると、ステップＳ３６で、入力画面を生成する。
【００４９】
この入力画面に対してユーザがデータを入力すると、ステップＳ３８で入力データをＸＭＬデータ３４ｂに反映した後、ＸＭＬデータ３４ｂを仲介部３６へ戻す。この後、ステップＳ２４へ進む。
【００５０】
ステップＳ２６で、仲介部３６は全てのタグの値が収集されたと判定された場合は、ステップＳ２８で、スケルトンの状態タグを完了にし、処理部３２にデータ収集完了の通知を出す。
【００５１】
以上説明したように第１実施形態によれば、情報元から収集したデータを処理するデータ処理プログラムは、収集すべきデータの意味的な構造と収集すべきデータの情報元へのアクセス方法とを別々に記述し、意味的な構造の記述とアクセス方法の記述とに従い情報元からデータを収集する。
【００５２】
このため、情報元の形態が代わった場合でも、アクセス方法の記述とそれに対応する接続モジュールのみ変更すればよい。あるいは、アクセス方法の記述のみを変更すればよい。データ処理のアプリケーションプログラムはデータの意味的構造にのみ依存して設計すればよく、情報元の変更の影響を受けない。
【００５３】
データ処理装置は、意味的な構造の記述とアクセス方法の記述とに従い情報元から必要なデータを取得する記述を生成する。
【００５４】
このため、接続モジュールを、意味的な構造の記述とアクセス方法の記述とをデータ取得の記述に変換する機能と、データ取得の記述に従いデータを取得する機能に分けることができる。変換後のデータ取得の記述を標準的な構造化照会言語（ＳＱＬ等）とすれば、データを取得する機能は、既存の検索機能をそのまま使用でき、記述の変換機能のみを開発すればよい。
【００５５】
データ処理装置は、複数のデータを収集する場合、収集すべきデータの意味的な構造の記述を一つの構造化文書として記述し、構造化文書の１つのデータに関する意味的な構造の記述を読み込み、該構造に対応した情報元ヘのアクセス方法の記述に基づき必要なデータを取得し、取得したデータに基づき構造化文書を更新する。
【００５６】
情報元はデータベースであり、アクセス方法の記述はデータの個々の要素とデータベースのテーブルとの間のマッピングデータを示し、情報元から必要なデータを取得する記述は構造化照会言語である。
【００５７】
このため、アプリケーションプログラムは、データベースのテーブル構造を意識せずに設計できる。情報元を別のデータベースに変更する場合、マッピングデータを変更するだけで済む。データベースにアクセスする形態の情報元では、マッピングデータのみ定義すればよく、変換機能は共通で使える。
【００５８】
情報元は端末からユーザが入力するデータであり、アクセス方法の記述はデータ個々の要素に対して入力のテキストボックスを作成するためのコメント、パラメータ名、入力制限を定義し、情報元から必要なデータを取得する記述はデータの意味的な構造の記述に基づいて所定のコメント、パラメータ名、入力制限を組み合わせ入力画面を表示するためのＨＴＭＬ文書である。
【００５９】
このため、アプリケーションプログラムは、入力画面や、フォームに入力された値を解析する機能を個別に実装せずにすむ。要求されるデータの項目に対応して、適切な必要なコメント、パラメータ名、入力画面を組み合わせることで、柔軟に入力ＦＯＲＭが作成でき、コメント文、入力条件の変更に対して、アクセス方法の記述を変更するだけで対応できる
アクセス方法の記述はデータの入力を行う者のユーザＩＤ、パスワード、メールアドレスを含み、構造化文書を読み込み、入力依頼の識別コードを発行するとともに、データに対応するユーザにユーザＩＤ、パスワード、入力依頼の識別コード、入力を行うホームページのアドレスを含むメールを配信し、該ユーザがホームページにアクセスし、ユーザＩＤ、パスワード、識別コードを入力した時、識別コードに対応する構造化文書を読み込み、ユーザＩＤ、パスワードをチェックする。
【００６０】
このため、異なるユーザに対してデータ入力を要求する複数のスケルトンがある場合に、ユーザとスケルトンの対応とアクセス制御を行うことができる。
【００６１】
第２実施形態
図１８は第２実施形態のデータ処理装置のブロック図である。第１実施形態は全ての情報元が本データ処理装置に直接接続されているが、第２実施形態はセキュリティ上の安全のため、端末２４が接続されるモジュール４４とアクセス方法記述ファイル４８とを別々のプレゼンテーション部に構成し、両者間にファイアウォールを設ける。すなわち、接続モジュール４４を社外のプレゼンテーション部７２内に配する。社外のプレゼンテーション部７２は仲介部７４、ＸＭＬデータベース７６も具備し、仲介部７４は仲介部７４、ＸＭＬデータベース７６に接続される。社内のプレゼンテーション部３０は第１実施形態の接続モジュール４４の代わりに接続モジュール７８を具備し、接続モジュール７８は社外のプレゼンテーション部７２内の仲介部７４、ＸＭＬデータベース７６にファイアウォール８０を介して接続される。
【００６２】
仲介部３６は、タグが製品の場合は、第１実施形態と同様に接続モジュール４２を起動し、タグが部品の場合は、接続モジュール７８を起動する。接続モジュール７８は仲介部３６から部品に関するデータ収集を指示するＸＭＬデータ（図３の３４ｂ）を受け取ると、それを社外のＸＭＬデータベース７６に格納する。同時に、ＸＭＬデータベース７６に格納したＸＭＬデータへのパスを社外の仲介部７４に対して通知する。
【００６３】
仲介部７４は接続モジュール７８から通知を受けると、ＸＭＬデータベース７６からパスに対応するＸＭＬデータを読み込み、接続モジュール４４へ渡す。以後の接続モジューール４４の動作は第１実施形態と同一である。
【００６４】
接続モジュール４４は最終的にデータを書き込んだＸＭＬデータを仲介部７４に渡し、仲介部７４はこのＸＭＬデータをＸＭＬデータベース７６に格納する。接続モジュール７８は、定期的にＸＭＬデータベース７６のＸＭＬデータをチェックし、ＸＭＬデータに全てのデータが書き込まれているか否かを調べる。全てのデータが書き込まれた場合には、ＸＭＬデータを読み込み、仲介部３６に渡す。以後の仲介部３６の動作は第１実施形態と同一である。
【００６５】
図１８では、接続モジュール７８とＸＭＬデータベース７６の間にはファイアウォール８０が存在し、モジュール７８からデータベース７６にアクセスすることは可能であるが、データベース７６から接続モジュール７８にアクセスすることは不可能な設定になっている。また、同様に、接続モジュール７８と仲介部７４の間にもファイアウォール８０があり、接続モジュール７８からのアクセスのみ可能となっている。これにより、接続モジュール７８からはファイアウォール８０を越えて、仲介部７４に対してデータ収集の指示と収集されたデータの読み込みが可能であるが、ファイアウォールの外からは社内のネットワークには一切、アクセスできないようになっている。
【００６６】
以上説明したように第２実施形態によれば、第１実施形態の作用に加えて、一つの構造化文書の特定の記述を他の構造化文書として分離する機能をさらに具備する。ここで、一つの構造化文書から他の構造化文書へは参照が可能であるが、他の構造化文書から一つの構造化文書へは参照が不可能である。
【００６７】
このため、特定の接続モジュールがアクセスできるスケルトンの構造を制限することができる。例えば、社内の情報元と、社外の情報元からデータを収集するスケルトンの場合、社外情報元用のサブスケルトンを用意し、サブスケルトンと接続モジュールをファイヤウォールの外におくことで、社外用モジュールが社内のネットワークにアクセスできないようにすることができる。
【００６８】
変形例
本発明は上述した実施形態に限定されず、種々変形して実施可能である。例えば、上述の説明では、メールサーバ２６２６への接続モジュールと、アプリケーションサーバ２８を介しての端末２４への接続モジュールを一体としたが、別体としてもよい。
【００６９】
また、本発明は、コンピュータに所定の手段を実行させるためのプログラムを記録したコンピュータ読取り可能な記録媒体としても実施することもできる。
【００７０】
【発明の効果】
以上説明したように本発明によれば、情報元から収集したデータを処理する際、情報元の形態の変更に柔軟に対応できるデータ処理プログラム、データ処理装置およびデータ処理方法を提供することができる。
【図面の簡単な説明】
【図１】本発明によるデータ処理装置の第１の実施形態の構成を示すブロック図。
【図２】図１のプレゼンテーション部の構成を示すブロック図。
【図３】第１の実施形態で使われるスケルトンの一例を示す図。
【図４】図２のモジュール対応表を示す図。
【図５】図２のデータベースの構成を示す図。
【図６】図２のアクセス方法記述ファイルの一例を示す図。
【図７】スケルトンとアクセス方法記述ファイルとからデータベースに対する問い合わせ言語を生成する仕組みを示す図。
【図８】データベースの検索結果をスケルトンに反映する仕組みを示す図。
【図９】図２の接続モジュール４４の構成を示す図。
【図１０】図９の依頼コードデータベースの構成を示す図。
【図１１】図９のアドレステーブルの構成を示す図。
【図１２】ユーザがデータを入力する際のログイン画面を示す図。
【図１３】図９の入力項目テーブルの構成を示す図。
【図１４】スケルトンと入力項目テーブルとから入力画面を生成する仕組みを示す図。
【図１５】端末に表示される入力画面の一例を示す図。
【図１６】ユーザが入力したデータをスケルトンに反映する仕組みを示す図。
【図１７】第１実施形態の動作を示すフローチャートである。
【図１８】本発明によるデータ処理装置の第２の実施形態の構成を示すブロック図。
【図１９】データ処理装置の従来例の構成を示すブロック図。
【符号の説明】
２２…データベース
２４…端末
２８…ＡＰサーバ
３０…プレゼンテーション部
３２…処理部
３４…スケルトン
３６…仲介部
３８…ＸＭＬデータベース
４０…モジュール対応表
４２、４４…接続モジュール
４８…アクセス方法記述ファイル格納庫
【図１】
0004191926.tif 000002
【図２】
0004191926.tif 000003
【図３】
0004191926.tif 000004
【図４】
0004191926.tif 000005
【図５】
0004191926.tif 000006
【図６】
0004191926.tif 000007
【図７】
0004191926.tif 000008
【図８】
0004191926.tif 000009
【図９】
0004191926.tif 000010
【図１０】
0004191926.tif 000011
【図１１】
0004191926.tif 000012
【図１２】
0004191926.tif 000013
【図１３】
0004191926.tif 000014
【図１４】
0004191926.tif 000015
【図１５】
0004191926.tif 000016
【図１６】
0004191926.tif 000017
【図１７】
0004191926.tif 000018
【図１８】
0004191926.tif 000019
【図１９】
0004191926.tif 000020