(57)【要約】【課題】ワークフローで用いる書誌情報を入力する作業の負担を軽減することができる情報処理装置、情報処理システム、情報処理方法およびプログラムを提供する。【解決手段】画像データに対する１または複数の処理の流れであるワークフローが定義されたフロー定義情報で用いられる書誌情報を入力するための入力画面を定義する画面定義情報を生成する第１生成部と、画面定義情報に基づく入力画面が、画像形成装置の表示部で表示されるように制御する制御部と、画像形成装置で表示された入力画面から入力された第１書誌情報が、第１書誌情報とは異なる第２書誌情報の依存先となっている場合、各書誌情報同士を関連付けた関連付け情報から、第１書誌情報に関連付けられた第２書誌情報を取得する第１取得部と、第１取得部により取得された第２書誌情報を、入力画面に表示するために画像形成装置に送信する送信部と、を備える。【選択図】図５
2018157336.tif 000002
【特許請求の範囲】
【請求項１】
画像データに対する１または複数の処理の流れであるワークフローが定義されたフロー定義情報で用いられる書誌情報を入力するための入力画面を定義する画面定義情報を生成する第１生成部と、
前記画面定義情報に基づく前記入力画面が、画像形成装置の表示部で表示されるように制御する制御部と、
前記画像形成装置で表示された前記入力画面から入力された第１書誌情報が、前記第１書誌情報とは異なる第２書誌情報の依存先となっている場合、前記各書誌情報同士を関連付けた関連付け情報から、前記第１書誌情報に関連付けられた前記第２書誌情報を取得する第１取得部と、
前記第１取得部により取得された前記第２書誌情報を、前記入力画面に表示するために前記画像形成装置に送信する送信部と、
を備えた情報処理装置。
【請求項２】
前記入力画面で設定された前記書誌情報を、前記フロー定義情報に統合する統合部と、
前記統合部によって統合された前記フロー定義情報に基づいて、前記画像データに対して処理を実行する処理部と、
をさらに備えた請求項１に記載の情報処理装置。
【請求項３】
前記画像形成装置により入力された前記画像データを取得する第２取得部を、さらに備え、
前記処理部は、前記フロー定義情報に基づいて、前記第２取得部により取得された前記画像データに対して処理を実行する請求項２に記載の情報処理装置。
【請求項４】
前記統合部は、前記フロー定義情報で規定されている特定のタグ名を、前記入力画面で設定された前記書誌情報のうち、前記タグ名に対応する書誌情報で置換することにより統合する請求項２または３に記載の情報処理装置。
【請求項５】
前記画像データに対する１または複数の処理の流れを設定して前記フロー定義情報を生成する第２生成部を、さらに備え、
前記第２生成部は、前記フロー定義情報に、前記入力画面で設定された前記書誌情報のうち少なくともいずれかに置換させるための前記タグ名を規定する請求項４に記載の情報処理装置。
【請求項６】
前記第１生成部は、前記関連付け情報から、前記第１書誌情報に関連付けられた前記第２書誌情報を抽出するためのクエリを設定し、
前記第１取得部は、前記関連付け情報に対する前記クエリの実行により、該関連付け情報から前記第２書誌情報を抽出して取得する請求項１〜５のいずれか一項に記載の情報処理装置。
【請求項７】
前記第１生成部は、前記画面定義情報に基づく前記入力画面の入力項目ごとに、依存先となる書誌情報を指定したクエリを設定可能とする請求項６に記載の情報処理装置。
【請求項８】
画像データに対する１または複数の処理の流れであるワークフローが定義されたフロー定義情報で用いられる書誌情報を入力するための入力画面を定義する画面定義情報を生成する生成部と、
前記画面定義情報に基づく前記入力画面が、画像形成装置の表示部で表示されるように制御する制御部と、
前記画像形成装置で表示された前記入力画面から入力された第１書誌情報が、前記第１書誌情報とは異なる第２書誌情報の依存先となっている場合、前記各書誌情報同士を関連付けた関連付け情報から、前記第１書誌情報に関連付けられた前記第２書誌情報を取得する取得部と、
前記取得部により取得された前記第２書誌情報を、前記画像形成装置に送信する送信部と、
前記送信部により送信された前記第２書誌情報を、前記入力画面に表示させる表示制御部と、
を備えた情報処理システム。
【請求項９】
画像データに対する１または複数の処理の流れであるワークフローが定義されたフロー定義情報で用いられる書誌情報を入力するための入力画面を定義する画面定義情報を生成する生成ステップと、
前記画面定義情報に基づく前記入力画面が、画像形成装置の表示部で表示されるように制御する制御ステップと、
前記画像形成装置で表示された前記入力画面から入力された第１書誌情報が、前記第１書誌情報とは異なる第２書誌情報の依存先となっている場合、前記各書誌情報同士を関連付けた関連付け情報から、前記第１書誌情報に関連付けられた前記第２書誌情報を取得する取得ステップと、
取得した前記第２書誌情報を、前記入力画面に表示するために前記画像形成装置に送信する送信ステップと、
を有する情報処理方法。
【請求項１０】
コンピュータを、
画像データに対する１または複数の処理の流れであるワークフローが定義されたフロー定義情報で用いられる書誌情報を入力するための入力画面を定義する画面定義情報を生成する生成部と、
前記画面定義情報に基づく前記入力画面が、画像形成装置の表示部で表示されるように制御する制御部と、
前記画像形成装置で表示された前記入力画面から入力された第１書誌情報が、前記第１書誌情報とは異なる第２書誌情報の依存先となっている場合、前記各書誌情報同士を関連付けた関連付け情報から、前記第１書誌情報に関連付けられた前記第２書誌情報を取得する取得部と、
前記取得部により取得された前記第２書誌情報を、前記入力画面に表示するために前記画像形成装置に送信する送信部と、
して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
従来より、ＭＦＰ（Ｍｕｌｔｉ−Ｆｕｎｃｔｉｏｎａｌ  Ｐｒｉｎｔｅｒ）等でスキャンされた文書を配信するシステムがあり、この配信システムによりスキャンで生成された電子データに対して画像処理を施し、予め決められたルールに従って指定の配信先に配信することができる技術が知られている。ここで、ＭＦＰとは、コピー機能、プリンタ機能、スキャナ機能、およびファクシミリ機能のうち少なくとも２つの機能を有する複合機（画像形成装置の一例）である。スキャンで読み込んだ電子データに対する処理（ワークフロー）はフロー定義データによって定義されており、フロー定義データには様々な組み合わせの内部処理方法を指定することが可能であり、用途に応じたワークフローを定義することにより、利用者の目的に沿った処理を電子データに施すことができる。そして、ワークフローに渡す電子データには任意の書誌情報を付与することが可能であり、ワークフロー上でその書誌情報を参照して、様々な処理を行う技術が既に知られている。
【０００３】
このような配信システムとして、ワークフローに対して自由に書誌情報を付与するために、画像形成装置側の表示装置に書誌情報を設定するための入力画面を表示させるシステムが開示されている（特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載された技術では、ユーザがワークフローで用いる書誌情報を自由に設定することができるが、依存性（関連性）がある複数の書誌情報についても、個別に入力する必要があり、書誌情報の入力作業に負担がかかるという問題があった。
【０００５】
本発明は、上記に鑑みてなされたものであって、ワークフローで用いる書誌情報を入力する作業の負担を軽減することができる情報処理装置、情報処理システム、情報処理方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明は、画像データに対する１または複数の処理の流れであるワークフローが定義されたフロー定義情報で用いられる書誌情報を入力するための入力画面を定義する画面定義情報を生成する第１生成部と、前記画面定義情報に基づく前記入力画面が、画像形成装置の表示部で表示されるように制御する制御部と、前記画像形成装置で表示された前記入力画面から入力された第１書誌情報が、前記第１書誌情報とは異なる第２書誌情報の依存先となっている場合、前記各書誌情報同士を関連付けた関連付け情報から、前記第１書誌情報に関連付けられた前記第２書誌情報を取得する第１取得部と、前記第１取得部により取得された前記第２書誌情報を、前記入力画面に表示するために前記画像形成装置に送信する送信部と、を備えたことを特徴とする。
【発明の効果】
【０００７】
本発明によれば、ワークフローで用いる書誌情報を入力する作業の負担を軽減することができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施の形態に係る配信システムを含むネットワーク構成の一例を示す図である。
【図２】図２は、実施の形態に係る配信サーバのハードウェア構成の一例を示す図である。
【図３】図３は、実施の形態に係るクライアントのハードウェア構成の一例を示す図である。
【図４】図４は、実施の形態に係る複合機のハードウェア構成の一例を示す図である。
【図５】図５は、実施の形態に係る配信システムの機能ブロックの構成の一例を示す図である。
【図６】図６は、フロー定義データに定義された処理の流れの一例を模式的に示した図である。
【図７】図７は、フロー定義データの記述内容の一例を示す図である。
【図８】図８は、フロー定義データ生成画面の一例を示す図である。
【図９】図９は、処理設定ダイアログボックスの一例を示す図である。
【図１０】図１０は、画面定義データの記述内容の一例を示す図である。
【図１１】図１１は、画面定義データ生成画面の一例を示す図である。
【図１２】図１２は、文字型の書誌情報の項目の属性設定ダイアログボックスの一例を示す図である。
【図１３】図１３は、数値型の書誌情報の項目の属性設定ダイアログボックスの一例を示す図である。
【図１４】図１４は、ドロップダウンリスト型の書誌情報の項目の属性設定ダイアログボックスの一例を示す図である。
【図１５】図１５は、書誌情報入力画面の一例を示す図である。
【図１６】図１６は、実施の形態に係るデータベースサーバが有するデータベースに含まれるテーブルの一例を示す図である。
【図１７】図１７は、実施の形態に係る配信システムの配信処理の流れの一例を示すシーケンス図である。
【図１８】図１８は、フロー選択画面の一例を示す図である。
【図１９】図１９は、書誌情報入力画面において依存先となる書誌情報が入力された状態の一例を示す図である。
【図２０】図２０は、書誌情報入力画面において依存元となる書誌情報等が入力された状態の一例を示す図である。
【図２１】図２１は、ＸＭＬ形式に変換された書誌情報の入力値の一例を示す図である。
【図２２】図２２は、書誌情報の入力値が反映された状態のフロー定義データの記述内容の一例を示す図である。
【発明を実施するための形態】
【０００９】
以下に、図１〜図２２を参照しながら、本発明に係る情報処理装置、情報処理システム、情報処理方法およびプログラムの実施の形態を詳細に説明する。また、以下の実施の形態によって本発明が限定されるものではなく、以下の実施の形態における構成要素には、当業者が容易に想到できるもの、実質的に同一のもの、およびいわゆる均等の範囲のものが含まれる。さらに、以下の実施の形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換、変更および組み合わせを行うことができる。
【００１０】
（配信システムを含むネットワーク構成）
図１は、実施の形態に係る配信システムを含むネットワーク構成の一例を示す図である。図１を参照しながら、本実施の形態に係る配信システム１を含むネットワーク構成について説明する。
【００１１】
図１に示すように、本実施の形態におけるネットワーク構成は、複合機１００と、ファイルサーバ２０１と、ＳＭＴＰ（Ｓｉｍｐｌｅ  Ｍａｉｌ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）サーバ２０２と、データベースサーバ３００と、配信サーバ４００と、クライアント５００と、を含む。このうち、本実施の形態に係る配信システム１は、複合機１００と、データベースサーバ３００と、配信サーバ４００と、クライアント５００と、を含む。複合機１００、ファイルサーバ２０１、ＳＭＴＰサーバ２０２、データベースサーバ３００、配信サーバ４００、およびクライアント５００は、ネットワーク２を介して互いに通信可能に構成されている。ネットワーク２は、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）またはインターネット等である。なお、ネットワーク２は、複数のネットワークを含むものとしてもよく、有線および無線のネットワークが混在して含まれているものとしてもよい。
【００１２】
複合機１００は、上述したように、コピー機能、プリンタ機能、スキャナ機能、およびファクシミリ機能のうち少なくとも２つの機能を有する画像形成装置である。複合機１００は、スキャナ機能により紙媒体等をスキャンして画像データを生成し、生成された画像データを配信サーバ４００に送信する。なお、図１に示す配信システム１では、１台の複合機１００が含まれるものとしているが、これに限定されるものではなく、複数台の複合機が含まれるものとしてもよい。また、画像データを入力（形成）する画像形成装置として、複合機１００を例に挙げているが、これに限定されるものではなく、画像データを入力（形成）することが可能な画像形成装置であれば、スキャナ装置、ファクシミリ装置、またはコピー装置等にも適用可能である。
【００１３】
ファイルサーバ２０１は、ネットワーク２上で共有するファイルを蓄積して管理するサーバ装置である。ＳＭＴＰサーバ２０２は、メール送信プロトコルであるＳＭＴＰに準拠した電子メールを送信するためのサーバ装置である。ファイルサーバ２０１およびＳＭＴＰサーバ２０２は、いずれも、配信サーバ４００による配信処理によりアクセスされる。ファイルサーバ２０１およびＳＭＴＰサーバ２０２は、例えば、ワークステーション等によって構成される。なお、配信サーバ４００による配信処理の配信先としては、ファイルサーバ２０１およびＳＭＴＰサーバ２０２に限定されるものではなく、例えば、メールサーバまたは複合機１００等のその他の情報機器が配信処理によりアクセスされるものとしてもよい。
【００１４】
データベースサーバ３００は、後述する複合機１００で表示される書誌情報入力画面（入力画面）に入力される各書誌情報同士を関連付ける情報をデータベースとして有するサーバ装置である。データベースサーバ３００は、例えば、ワークステーション等によって構成される。
【００１５】
配信サーバ４００は、複合機１００によりスキャンされた画像データを受信して、後述するフロー定義データ（フロー定義情報）に従って、種々の処理および配信処理を実行するサーバ装置（情報処理装置）である。配信サーバ４００は、例えば、ワークステーション等によって構成される。
【００１６】
クライアント５００は、配信サーバ４００のフロー定義データおよび画像定義データ等を生成する機能を利用して、これらのデータを生成するための操作入力を行うための端末装置である。クライアント５００は、例えば、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等によって構成される。
【００１７】
なお、配信システム１において、配信サーバ４００、または、配信サーバ４００において実行される後述の処理を機能させるプログラムは、複合機１００を生産する者、または、複合機１００を利用した関連製品を生産する者により提供される。また、データベースサーバ３００は、配信サーバ４００による直接的な管理下におかれるものとして用意される必要はない。つまり、データベースサーバ３００は、配信サーバ４００または複合機１００に関連する製品を提供する者により提供されることを要さず、例えば、複合機１００または配信サーバ４００を導入する者が予め保有しているものを利用してもよく、または、新たに用意してもよい。したがって、配信システム１におけるデータベースサーバ３００は、配信サーバ４００がこれを利用するための一定の条件または制約を課されることはあっても、例えば、データベースの構造等が配信サーバ４００を提供する者により詳細に定義されるものではない。どのようなデータベースサーバ３００を用意し、そのデータベースをどのように構成するか等については、配信システム１を導入する者が適宜定めればよく、本実施の形態に係る配信サーバ４００は、その意味で、汎用的なデータベースサーバ３００を利用することができる。
【００１８】
（配信サーバのハードウェア構成）
図２は、実施の形態に係る配信サーバのハードウェア構成の一例を示す図である。図２を参照しながら、本実施の形態に係る配信サーバ４００のハードウェア構成の詳細について説明する。
【００１９】
図２に示すように、本実施の形態に係る配信サーバ４００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）６０１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）６０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）６０３と、外部記憶装置６０４と、ネットワークＩ／Ｆ６０５と、メディアドライブ６０６と、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）ドライブ６０８と、を備えている。
【００２０】
ＣＰＵ６０１は、配信サーバ４００全体の動作を制御する演算装置である。ＲＯＭ６０２は、配信サーバ４００用のプログラム（ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）等）を記憶している不揮発性記憶装置である。ＲＡＭ６０３は、ＣＰＵ６０１のワークエリアとして使用される揮発性記憶装置である。
【００２１】
外部記憶装置６０４は、後述するように、複合機１００から受信した画像データ、フロー定義データ、および画像定義データ等の各種データを記憶する不揮発性の記憶装置である。外部記憶装置６０４は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）またはＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等である。
【００２２】
ネットワークＩ／Ｆ６０５は、ネットワーク２を利用してデータを通信するためのインターフェースである。ネットワークＩ／Ｆ６０５は、例えば、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）／ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）に対応したＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）等である。
【００２３】
メディアドライブ６０６は、ＣＰＵ６０１の制御に従って、フラッシュメモリ等のメディア６０７に対するデータの読み出しおよび書き込みを制御する装置である。メディア６０７は、メディアドライブ６０６に対して着脱自在の記憶装置である。なお、メディア６０７は、ＣＰＵ６０１の制御に従ってデータの読み出しおよび書き込みを行う不揮発性メモリであれば、フラッシュメモリに限定されるものではなく、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）等を用いてもよい。
【００２４】
ＤＶＤドライブ６０８は、着脱自在な記憶媒体の一例としてのＤＶＤ−ＲＯＭ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）６０９に対するデータの読み出しおよび書き込みを制御する装置である。なお、上述の着脱可能な記録媒体の他の例として、例えば、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ−Ｒ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅｃｏｒｄａｂｌｅ）、ＤＶＤ−Ｒ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ  Ｒｅｃｏｒｄａｂｌｅ）またはブルーレイディスク等のコンピュータで読み取り可能な記録媒体であってもよい。
【００２５】
上述のＣＰＵ６０１、ＲＯＭ６０２、ＲＡＭ６０３、外部記憶装置６０４、ネットワークＩ／Ｆ６０５、メディアドライブ６０６およびＤＶＤドライブ６０８は、アドレスバスおよびデータバス等のバス６１０によって互いに通信可能に接続されている。
【００２６】
なお、上述の配信サーバ４００のプログラムは、インストール可能な形式または実行可能な形式のファイルによって、コンピュータで読み取り可能な記録媒体（メディア６０７またはＤＶＤ−ＲＯＭ６０９等）に記録されて流通されるようにしてもよい。また、上述の配信サーバ４００のプログラムは、メディア６０７およびＤＶＤ−ＲＯＭ６０９等ではなく、ＲＯＭ６０２または外部記憶装置６０４に記憶させるようにしてもよい。
【００２７】
また、図２に示す配信サーバ４００の構成は、一例であり、すべての構成機器を備えている必要はなく、また、他の構成機器を備えているものとしてもよい。例えば、ＤＶＤドライブ６０８により機能が代替できるのであれば、メディアドライブ６０６は備えられていなくてもよい。また、配信サーバ４００に対して管理者が直接、操作入力を行う場合であれば、マウスおよびキーボード等の操作装置、および、操作装置による入力結果を表示するための表示装置（ディスプレイ）が備えられているものとしてもよい。
【００２８】
また、データベースサーバ３００のハードウェア構成についても、図２に示す配信サーバ４００のハードウェア構成に準じる。
【００２９】
（クライアントのハードウェア構成）
図３は、実施の形態に係るクライアントのハードウェア構成の一例を示す図である。図３を参照しながら、本実施の形態に係るクライアント５００のハードウェア構成の詳細について説明する。
【００３０】
図３に示すように、本実施の形態に係るクライアント５００は、ＣＰＵ７０１と、ＲＯＭ７０２と、ＲＡＭ７０３と、外部記憶装置７０４と、ネットワークＩ／Ｆ７０５と、メディアドライブ７０６と、操作装置７０８と、ディスプレイ７０９と、を備えている。
【００３１】
ＣＰＵ７０１は、クライアント５００全体の動作を制御する演算装置である。ＲＯＭ７０２は、クライアント５００用のプログラム（ＢＩＯＳ等）を記憶している不揮発性記憶装置である。ＲＡＭ７０３は、ＣＰＵ７０１のワークエリアとして使用される揮発性記憶装置である。
【００３２】
外部記憶装置７０４は、後述するＳＱＬ文によりクエリを規定したファイル（以下、「クエリファイル」と称する場合がある）等の各種データを記憶する不揮発性の記憶装置である。外部記憶装置７０４は、例えば、ＨＤＤまたはＳＳＤ等である。
【００３３】
ネットワークＩ／Ｆ７０５は、ネットワーク２を利用してデータを通信するためのインターフェースである。ネットワークＩ／Ｆ７０５は、例えば、ＴＣＰ／ＩＰに対応したＮＩＣ等である。
【００３４】
メディアドライブ７０６は、ＣＰＵ７０１の制御に従って、フラッシュメモリ等であるメディア７０７に対するデータの読み出しおよび書き込みを制御する装置である。メディア７０７は、メディアドライブ７０６に対して着脱自在の記憶装置である。なお、メディア７０７は、ＣＰＵ７０１の制御に従ってデータの読み出しおよび書き込みを行う不揮発性メモリであれば、フラッシュメモリに限定されるものではなく、ＥＥＰＲＯＭ等を用いてもよい。
【００３５】
操作装置７０８は、文字および数字等の入力、各種指示の選択、およびカーソルの移動等を行う入力装置である。操作装置７０８は、例えば、マウスまたはキーボード等である。
【００３６】
ディスプレイ７０９は、文字、数字、および各種画面および操作用アイコン等を表示する表示装置である。ディスプレイ７０９は、例えば、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）ディスプレイ、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）、または有機ＥＬ（Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイ等である。
【００３７】
上述のＣＰＵ７０１、ＲＯＭ７０２、ＲＡＭ７０３、外部記憶装置７０４、ネットワークＩ／Ｆ７０５、メディアドライブ７０６、操作装置７０８およびディスプレイ７０９は、アドレスバスおよびデータバス等のバス７１０によって互いに通信可能に接続されている。
【００３８】
なお、上述のクライアント５００のプログラムは、インストール可能な形式または実行可能な形式のファイルによって、コンピュータで読み取り可能な記録媒体（メディア７０７等）に記録されて流通されるようにしてもよい。また、上述のクライアント５００のプログラムは、メディア７０７ではなく、ＲＯＭ７０２または外部記憶装置７０４に記憶させるようにしてもよい。
【００３９】
また、図３に示すクライアント５００の構成は、一例であり、すべての構成機器を備えている必要はなく、また、他の構成機器を備えているものとしてもよい。
【００４０】
（複合機のハードウェア構成）
図４は、実施の形態に係る複合機のハードウェア構成の一例を示す図である。図４を参照しながら、本実施の形態に係る複合機１００のハードウェア構成の詳細について説明する。
【００４１】
図４に示すように、本実施の形態に係る複合機１００は、コントローラ８００と、操作表示部８１０と、ＦＣＵ（Ｆａｃｓｉｍｉｌｅ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）８２０と、プロッタ８３１と、スキャナ８３２とがＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｆａｃｅ）バスで接続された構成となっている。
【００４２】
コントローラ８００は、複合機１００全体の制御、描画、通信および操作表示部８１０からの入力を制御する装置である。
【００４３】
操作表示部８１０は、例えば、タッチパネル等であり、コントローラ８００に対する入力を受け付ける（操作機能）と共に、複合機１００の状態等を表示（表示機能）する装置であり、後述するＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）８０６に直接接続されている。
【００４４】
ＦＣＵ８２０は、ファクシミリ機能を実現する装置であり、ＰＣＩバスによってＡＳＩＣ８０６に接続されている。
【００４５】
プロッタ８３１は、印刷機能を実現する装置であり、ＰＣＩバスによってＡＳＩＣ８０６に接続されている。スキャナ８３２は、スキャナ機能を実現する機能であり、ＰＣＩバスによってＡＳＩＣ８０６に接続されている。
【００４６】
コントローラ８００は、ＣＰＵ８０１と、システムメモリ（ＭＥＭ−Ｐ）８０２と、ノースブリッジ（ＮＢ）８０３と、サウスブリッジ（ＳＢ）８０４ａと、ネットワークＩ／Ｆ８０４ｂと、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）  Ｉ／Ｆ８０４ｃと、セントロニクスＩ／Ｆ８０４ｄと、ＡＳＩＣ８０６と、ローカルメモリ（ＭＥＭ−Ｃ）８０７と、外部記憶装置８０８と、を有している。
【００４７】
ＣＰＵ８０１は、複合機１００の全体制御を行うものであり、システムメモリ８０２、ノースブリッジ８０３およびサウスブリッジ８０４ａからなるチップセットに接続され、このチップセットを介して他の機器と接続される。
【００４８】
システムメモリ８０２は、プログラムおよびデータの格納用メモリ、プログラムおよびデータの展開用メモリ、ならびにプリンタの描画用メモリ等として用いるメモリであり、ＲＯＭとＲＡＭとを有している。このうち、ＲＯＭは、プログラムおよびデータの格納用メモリとして用いる読み出し専用のメモリであり、ＲＡＭは、プログラムおよびデータの展開用メモリ、ならびにプリンタの描画用メモリ等として用いる書き込みおよび読み出し可能なメモリである。
【００４９】
ノースブリッジ８０３は、ＣＰＵ８０１と、システムメモリ８０２、サウスブリッジ８０４ａおよびＡＧＰ（Ａｃｃｅｌｅｒａｔｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ）バス８０５とを接続するためのブリッジであり、システムメモリ８０２に対する読み書き等を制御するメモリコントローラと、ＰＣＩマスタおよびＡＧＰターゲットとを有する。
【００５０】
サウスブリッジ８０４ａは、ノースブリッジ８０３と、ＰＣＩデバイスおよび周辺デバイスとを接続するためのブリッジである。サウスブリッジ８０４ａは、ＰＣＩバスを介してノースブリッジ８０３と接続されており、ＰＣＩバスには、ネットワークＩ／Ｆ８０４ｂ、ＵＳＢ  Ｉ／Ｆ８０４ｃおよびセントロニクスＩ／Ｆ８０４ｄ等が接続されている。
【００５１】
ＡＧＰバス８０５は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレータカード用のバスインターフェースである。ＡＧＰバス８０５は、システムメモリ８０２に高スループットで直接アクセスすることにより、グラフィックスアクセラレータカードを高速にするバスである。
【００５２】
ＡＳＩＣ８０６は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）であり、ＡＧＰバス８０５、ＰＣＩバス、外部記憶装置８０８およびローカルメモリ８０７をそれぞれ接続するブリッジの役割を有する。ＡＳＩＣ８０６は、ＰＣＩターゲットおよびＡＧＰマスタと、ＡＳＩＣ８０６の中核をなすアービタ（ＡＲＢ）と、ローカルメモリ８０７を制御するメモリコントローラと、ハードウェアロジック等により画像データの回転等を行う複数のＤＭＡＣ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）と、プロッタ８３１およびスキャナ８３２との間でＰＣＩバスを介したデータ転送を行うＰＣＩユニットとから構成される。ＡＳＩＣ８０６には、ＰＣＩバスを介してＦＣＵ８２０、プロッタ８３１およびスキャナ８３２が接続される。また、ＡＳＩＣ８０６は、図示しないホストＰＣおよびネットワーク等にも接続されている。
【００５３】
ローカルメモリ８０７は、コピー用画像バッファおよび符号バッファとして用いるメモリである。
【００５４】
外部記憶装置８０８は、ＨＤＤ、ＳＳＤ、ＳＤカードまたはフラッシュメモリ等の記憶装置であり、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積およびフォームの蓄積を行うためのストレージである。
【００５５】
なお、上述の複合機１００のプログラムは、インストール可能な形式または実行可能な形式のファイルによって、コンピュータで読み取り可能な記録媒体（外部記憶装置８０８等）に記録されて流通されるようにしてもよい。
【００５６】
また、図４に示す複合機１００の構成は、一例であり、すべての構成機器を備えている必要はなく、また、他の構成機器を備えているものとしてもよい。
【００５７】
（配信システムの機能ブロック構成）
図５は、実施の形態に係る配信システムの機能ブロックの構成の一例を示す図である。図５を参照しながら、配信システム１の複合機１００、データベースサーバ３００、配信サーバ４００、およびクライアント５００の機能ブロックの構成について説明する。
【００５８】
＜複合機の機能ブロック構成＞
配信システム１の複合機１００は、図５に示すように、スキャナアプリ１０１と、制御部１０３と、通信部１０４と、判定部１０５と、書誌情報変換部１０６と、表示制御部１０７と、入力制御部１０８と、記憶部１０９と、オペレーションパネル１１０と、スキャナエンジン１１１と、を有する。
【００５９】
スキャナアプリ１０１は、ユーザによる、後述するオペレーションパネル１１０の操作部１１０ｂ（スキャンボタン等）の操作により、スキャン条件の設定およびスキャン処理を実行するアプリケーションである。具体的には、スキャナアプリ１０１は、制御部１０３に対しスキャン要求を行って、スキャナエンジン１１１を動作させ、原稿をスキャンする。そして、スキャナアプリ１０１は、スキャンされた原稿の画像データを入力する。また、スキャナアプリ１０１は、スキャン処理の開始時、すなわち、ユーザがスキャンボタンを押下したことを入力制御部１０８により検知された場合には、ワークフローを選択するために、配信サーバ４００に、フロー選択画面の要求を送信するように通信部１０４に対して指示する。また、スキャナアプリ１０１は、書誌情報入力画面を、後述するオペレーションパネル１１０の表示部１１０ａに表示するため、配信サーバ４００に対して、通信部１０４を介して画面定義データ（後述）に基づく書誌情報入力画面の情報を送信するように指示する。
【００６０】
なお、図５に示す例では、アプリケーションとして、スキャナアプリ１０１のみを示しているが、複合機１００においては、その他のアプリケーションとして、コピー処理を行うコピーアプリ、プリント処理を行うプリンタアプリ、または、ファクシミリ送受信処理を行うファクシミリアプリ等が動作している。
【００６１】
制御部１０３は、スキャナアプリ１０１等のアプリケーションから要求を受け取り、スキャナエンジン１１１およびその他の機器の動作を制御する機能部である。
【００６２】
通信部１０４は、配信サーバ４００に対する各種データの送受信を制御する機能部である。具体的には、通信部１０４は、フロー選択画面（後述）の要求、選択されたワークフローのフローＩＤ、書誌情報入力画面（後述）で入力された書誌情報、およびスキャンした画像データ等を、記憶部１０９に記憶されているサーバ情報で示されるＩＰアドレスに基づいて、配信サーバ４００に送信する。また、通信部１０４は、フロー選択画面、書誌情報入力画面、および、書誌情報入力画面でクエリが設定された書誌情報について、そのクエリの実行によって抽出された情報（抽出値）等を、配信サーバ４００から受信する。通信部１０４は、図４に示すネットワークＩ／Ｆ８０４ｂによって実現される。
【００６３】
判定部１０５は、書誌情報入力画面で入力された書誌情報が、クエリの依存先の書誌情報であるか否かを判定する機能部である。すなわち、判定部１０５は、入力された書誌情報が、他の書誌情報（依存元の書誌情報）の項目に設定されたクエリ（ＳＱＬ文）中にタグとして含まれる場合、その入力された書誌情報がクエリの依存先の書誌情報であると判定する。
【００６４】
書誌情報変換部１０６は、書誌情報入力画面で入力された書誌情報、およびその他の書誌情報（例えば、スキャンした画像データの属性情報等）をＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式のデータに変換する機能部である。
【００６５】
表示制御部１０７は、オペレーションパネル１１０の表示部１１０ａに対して、各種画面および情報の表示動作を制御する機能部である。例えば、表示制御部１０７は、通信部１０４により配信サーバ４００から受信された書誌情報入力画面を、表示部１１０ａに表示させる。
【００６６】
入力制御部１０８は、オペレーションパネル１１０の操作部１１０ｂに対するタッチ入力およびソフトウェアキー入力等の操作入力を受け付けて、その入力制御を行う機能部である。
【００６７】
記憶部１０９は、配信サーバ４００のＩＰアドレス等を含むサーバ情報を記憶している機能部である。記憶部１０９は、図４に示す外部記憶装置８０８によって実現される。
【００６８】
オペレーションパネル１１０は、ユーザに対し各種画面の表示、およびタッチ操作による操作入力を行わせるタッチパネルである。オペレーションパネル１１０は、図４に示す操作表示部８１０によって実現される。オペレーションパネル１１０は、表示部１１０ａと、操作部１１０ｂと、を有する。
【００６９】
表示部１１０ａは、表示制御部１０７の制御に従って、各種画面および情報の表示動作を行う機能部である。表示部１１０ａは、オペレーションパネル１１０のタッチパネルとしての表示機能によって実現される。
【００７０】
操作部１１０ｂは、タッチ入力およびソフトウェアキー入力等の操作入力を受け付ける機能部である。操作部１１０ｂは、オペレーションパネル１１０のタッチパネルとしてのタッチ入力機能によって実現される。なお、オペレーションパネル１１０は、タッチパネルのタッチ入力機能により実現される操作部１１０ｂの他、ハードウェアスイッチ等を備えるものとしてもよい。
【００７１】
スキャナエンジン１１１は、スキャン動作を実行する機能部である。スキャナエンジン１１１は、図４に示すスキャナ８３２によって実現される。
【００７２】
上述のスキャナアプリ１０１、制御部１０３、判定部１０５、書誌情報変換部１０６、表示制御部１０７、および入力制御部１０８は、例えば、図４に示すＣＰＵ８０１がプログラムを実行することよって実現される。なお、上述のスキャナアプリ１０１、制御部１０３、判定部１０５、書誌情報変換部１０６、表示制御部１０７、および入力制御部１０８の一部または全部は、ソフトウェアであるプログラムではなく、ＡＳＩＣ８０６等のハードウェア回路によって実現されてもよい。
【００７３】
なお、図５に示す複合機１００のスキャナアプリ１０１、制御部１０３、通信部１０４、判定部１０５、書誌情報変換部１０６、表示制御部１０７、入力制御部１０８、記憶部１０９、オペレーションパネル１１０およびスキャナエンジン１１１は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図５に示す複合機１００で独立した機能部として図示した複数の機能部を、１つの機能部として構成してもよい。一方、図５に示す複合機１００で１つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
【００７４】
＜データベースサーバの機能ブロック構成＞
配信システム１のデータベースサーバ３００は、図５に示すように、通信部３０１と、クエリ実行部３０２と、データベース３０３と、を有する。
【００７５】
通信部３０１は、配信サーバ４００に対する各種データの送受信を制御する機能部である。具体的には、通信部３０１は、配信サーバ４００により生成されたクエリ（ＳＱＬ文）を受信する。また、通信部３０１は、クエリの実行により抽出された書誌情報（抽出値）を、配信サーバ４００に送信する。通信部３０１は、図２に示すネットワークＩ／Ｆ６０５によって実現される。
【００７６】
クエリ実行部３０２は、通信部３０１により受信されたクエリ（ＳＱＬ文）を実行して、データベース３０３に記憶された書誌情報テーブル（例えば、図１６に示す社員テーブル１０００）から書誌情報を抽出する機能部である。
【００７７】
データベース３０３は、書誌情報テーブルを記憶している機能部である。データベース３０３は、図２に示す外部記憶装置６０４によって実現される。
【００７８】
上述のクエリ実行部３０２は、例えば、図２に示すＣＰＵ６０１がプログラムを実行することによって実現される。なお、上述のクエリ実行部３０２は、ソフトウェアであるプログラムではなく、ＡＳＩＣまたはＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等のハードウェア回路によって実現されてもよい。
【００７９】
なお、図５に示すデータベースサーバ３００の通信部３０１、クエリ実行部３０２およびデータベース３０３は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図５に示すデータベースサーバ３００で独立した機能部として図示した複数の機能部を、１つの機能部として構成してもよい。一方、図５に示すデータベースサーバ３００で１つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
【００８０】
＜配信サーバの機能ブロック構成＞
配信システム１の配信サーバ４００は、図５に示すように、通信部４０１（第１取得部、取得部、送信部、第２取得部）と、フロー実行制御部４０２（制御部、統合部）と、処理部４０３と、クエリ制御部４０４と、フロー定義生成部４０５と、画面定義生成部４０６（第１生成部、生成部）と、フロー記憶部４０７（第２生成部）と、画面記憶部４０８と、クエリ記憶部４０９と、を有する。
【００８１】
通信部４０１は、複合機１００に対する各種データの送受信を制御する機能部である。具体的には、通信部４０１は、フロー選択画面、書誌情報入力画面、および、書誌情報入力画面でクエリが設定された書誌情報について、そのクエリの実行によって抽出された情報（抽出値）等を、複合機１００に送信する。また、通信部４０１は、フロー選択画面の要求、選択されたワークフローのフローＩＤ、書誌情報入力画面で入力された書誌情報、およびスキャンされた画像データ等を、複合機１００から受信する。通信部４０１は、図２に示すネットワークＩ／Ｆ６０５によって実現される。
【００８２】
フロー実行制御部４０２は、フロー定義データをフロー記憶部４０７から読み出して、フロー定義データで定義された各種処理の処理部４０３による実行を制御する機能部である。また、フロー実行制御部４０２は、通信部４０１によって複合機１００から受信した書誌情報をフロー定義データに設定することによって双方を関連付け、書誌情報が関連付けられたフロー定義データに基づいて、画像データに対して各種処理の実行を制御する。ここで、フロー定義データとは、複合機１００によってスキャン入力され、複合機１００から受信した画像データに対する各種処理の流れ（ワークフロー）をＸＭＬ形式等で定義したデータである。
【００８３】
処理部４０３は、フロー定義データに定義された各種処理を実行する機能部である。処理部４０３は、中間処理部４０３ａと、配信処理部４０３ｂと、を有する。
【００８４】
中間処理部４０３ａは、画像データを所定の形式の画像データに変換する画像変換処理等である中間処理を実行する機能部である。配信処理部４０３ｂは、画像データを複合機１００またはファイルサーバ２０１等へ配信する配信処理、および、画像データを添付して電子メールで送信するためにＳＭＴＰサーバ２０２へ送信するＥ−Ｍａｉｌ送信処理等の出力処理を実行する機能部である。
【００８５】
クエリ制御部４０４は、複合機１００上で表示された書誌情報入力画面においてクエリの依存先として入力された書誌情報、および、予めクエリ記憶部４０９に記憶されているクエリファイルを用いて、クエリ（ＳＱＬ文）を生成して、データベースサーバ３００にそのクエリを実行させる機能部である。
【００８６】
フロー定義生成部４０５は、クライアント５００に対する管理者の操作指示によりフロー定義データを生成または編集して、生成または編集されたフロー定義データをフロー記憶部４０７に記憶させる機能部である。なお、フロー定義生成部４０５によるフロー定義データの生成処理については後述する。
【００８７】
画面定義生成部４０６は、クライアント５００に対する管理者の操作指示により画面定義データを生成または編集して、生成または編集された画面定義データを画面記憶部４０８に記憶させる機能部である。ここで、画面定義データとは、ワークフローに対する書誌情報を複合機１００のオペレーションパネル１１０の表示部１１０ａに表示する書誌情報入力画面をＸＭＬ形式等で定義したデータである。この画面定義データは、この画面定義データで定義された書誌情報入力画面で入力された書誌情報が付与されるワークフローを定義するフロー定義データと対応付けられている。なお、画面定義生成部４０６による画面定義データの生成処理については後述する。
【００８８】
フロー記憶部４０７は、フロー定義生成部４０５により生成されたフロー定義データを記憶する機能部である。フロー記憶部４０７は、図２に示す外部記憶装置６０４によって実現される。
【００８９】
画面記憶部４０８は、画面定義生成部４０６により生成された画面定義データを記憶する機能部である。画面記憶部４０８は、図２に示す外部記憶装置６０４によって実現される。
【００９０】
クエリ記憶部４０９は、後述するクライアント５００で表示される画面定義データ生成画面の属性設定ダイアログボックスに対する操作によりアップロードされたクエリ（ＳＱＬ文）を定義したクエリファイルを記憶する記憶部である。クエリ記憶部４０９は、図２に示す外部記憶装置６０４によって実現される。
【００９１】
上述のフロー実行制御部４０２、処理部４０３、クエリ制御部４０４、フロー定義生成部４０５、および画面定義生成部４０６は、例えば、図２に示すＣＰＵ６０１がプログラムを実行することによって実現される。なお、上述のフロー実行制御部４０２、処理部４０３、クエリ制御部４０４、フロー定義生成部４０５、および画面定義生成部４０６の一部または全部は、ソフトウェアであるプログラムではなく、ＡＳＩＣ８０６等のハードウェア回路によって実現されてもよい。
【００９２】
なお、図５に示す配信サーバ４００の通信部４０１、フロー実行制御部４０２、処理部４０３、クエリ制御部４０４、フロー定義生成部４０５、画面定義生成部４０６、フロー記憶部４０７、画面記憶部４０８およびクエリ記憶部４０９は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図５に示す配信サーバ４００で独立した機能部として図示した複数の機能部を、１つの機能部として構成してもよい。一方、図５に示す配信サーバ４００で１つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
【００９３】
＜クライアントの機能ブロック構成＞
配信システム１のクライアント５００は、図５に示すように、通信部５０１と、入力部５０２と、表示制御部５０３と、表示部５０４と、を有する。
【００９４】
通信部５０１は、配信サーバ４００に対する各種データの送受信を制御する機能部である。具体的には、通信部５０１は、後述するフロー定義データ生成画面、および画面定義データ生成画面等を、配信サーバ４００から受信する。また、通信部５０１は、フロー定義データ生成画面および画面定義データ生成画面で設定された情報を、配信サーバ４００に送信する。
【００９５】
入力部５０２は、管理者の各種操作入力を受け付ける機能部である。入力部５０２は、例えば、図３に示す操作装置７０８によって実現される。
【００９６】
表示制御部５０３は、表示部５０４に対して、各種画面および情報の表示動作を制御する機能部である。表示制御部５０３は、例えば、図３に示すＣＰＵ７０１がプログラムを実行することによって実現される。なお、表示制御部５０３は、ソフトウェアであるプログラムではなく、ＡＳＩＣまたはＦＰＧＡ等のハードウェア回路によって実現されてもよい。
【００９７】
表示部５０４は、表示制御部５０３の制御に従って、各種画面および情報の表示動作を行う機能部である。表示部５０４は、図３に示すディスプレイ７０９によって実現される。
【００９８】
なお、図５に示すクライアント５００の通信部５０１、入力部５０２、表示制御部５０３および表示部５０４は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図５に示すクライアント５００で独立した機能部として図示した複数の機能部を、１つの機能部として構成してもよい。一方、図５に示すクライアント５００で１つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
【００９９】
（フロー定義データの生成処理）
図６は、フロー定義データに定義された処理の流れの一例を模式的に示した図である。図７は、フロー定義データの記述内容の一例を示す図である。図８は、フロー定義データ生成画面の一例を示す図である。図９は、処理設定ダイアログボックスの一例を示す図である。図６〜図９を参照しながら、フロー定義データの生成処理について説明する。
【０１００】
まず、フロー定義データで定義されるワークフローについて説明する。ワークフローは、複合機１００がスキャン入力した画像データに対して実行する一または複数の処理の流れを示す。これらの処理には、画像データの配信処理である出力処理と、出力処理の前段階で実行される中間処理とがある。そのワークフローを定義するフロー定義データには、配信サーバ４００が実行する一もしくは複数の中間処理と、一もしくは複数の出力処理とを順番に組み合わせた一連の処理の流れ、または、一または複数の出力処理の流れを順番に組み合わせた一連の処理の流れが記述される。また、このような一連の処理の流れを並列に実行するようにフロー定義データを定義することもできる。
【０１０１】
次に、図６を参照しながら、ワークフローでの処理の流れの具体例を説明する。図６では、契約書をスキャンした画像データの配信処理に関するワークフローである契約書フローの例が示されている。この契約書フローでは、スキャンした契約書の画像データに対する画像変換処理と、画像変換された画像データのフォルダへの配信処理とを順に実行するフローと、スキャンされた画像データを電子メールで送信するＥ−Ｍａｉｌ送信処理のフローと、が並行して実行される。
【０１０２】
次に、図７を参照しながら、図６に示す契約書フローを定義するフロー定義データの具体的な記述内容を説明する。上述したように、実際のフロー定義データは、ＸＭＬ形式で記述される。図７に示すように、ＸＭＬ形式のフロー定義データには、多数の記述子としてのタグが埋め込まれている。
【０１０３】
タグ＜ＩＤ＞は、ワークフローを識別するためのフローＩＤを設定する記述子である。タグ＜Ｐｌｕｇｉｎ＞は、フローを構成する処理を記述するための記述子である。タグ＜ＰｌｕｇｉｎＩＤ＞は処理を識別するための処理ＩＤである。＜ＰｌｕｇｉｎＩＤ＞が“ＩｍａｇｅＣｏｎｖｅｒｔｅｒ”の場合には画像変換処理を示し、＜ＰｌｕｇｉｎＩＤ＞が”ＴｏＦｏｌｄｅｒ”の場合にはフォルダ配信処理を示し、＜ＰｌｕｇｉｎＩＤ＞が”ＴｏＥｍａｉｌ”の場合にはＥ−Ｍａｉｌ送信処理を示している。
【０１０４】
タグ＜ＰｌｕｇｉｎＴｙｐｅ＞は、タグ＜ＰｌｕｇｉｎＩＤ＞の処理のタイプ、すなわち、中間処理か出力処理かを設定するための記述子である。＜ＰｌｕｇｉｎＴｙｐｅ＞が”Ｆｉｌｔｅｒ”の場合には中間処理を示し、＜ＰｌｕｇｉｎＴｙｐｅ＞が”ＯｕｔＰｕｔ”の場合には出力処理を示す。
【０１０５】
タグ＜Ｐａｒａｍｅｔｅｒｓ＞は、複合機１００側で表示される書誌情報入力画面に対
してユーザにより入力された書誌情報の入力値を反映（設定）するための記述子である。図７の例では、コード９０１〜９０４内の［］の箇所に、入力された書誌情報が埋め込まれて設定されることによって、ワークフローの処理に利用される。
【０１０６】
なお、図７に示すフロー定義データのＸＭＬ形式の表記は一例であり、ＸＭＬにより同内容を異なる表記で記載することも可能である。
【０１０７】
次に、図８および図９を参照しながら、フロー定義データを生成するための画面について説明する。図８に示すフロー定義データ生成画面では、左側の領域に、中間処理、および出力処理の各処理のボタンのリストが表示されている。このフロー定義データ生成画面は、例えば、配信サーバ４００のフロー記憶部４０７に記憶されており、クライアント５００において、管理者による入力部５０２に対するフロー定義データ生成画面の要求操作によって、配信サーバ４００の通信部４０１から、クライアント５００の通信部５０１へ送信される。そして、通信部５０１により受信されたフロー定義データ生成画面は、表示制御部５０３によって、表示部５０４に表示される。
【０１０８】
そして、管理者は、フロー定義データ生成画面における上述のリストの中からワークフローに含める処理のボタンを順次選択して、入力部５０２を用いたドラッグアンドドロップ操作により、右側の領域の所望の位置に配置する。図８の契約書フローでは、右側の領域の「○」印がスキャン処理を示し、これに矢印で続くボタンの順番に処理が実行されるように定義していることが示されている。
【０１０９】
ここで、管理者が図８の右側の領域に配置された所望の処理のボタン上で、入力部５０２を用いて、例えば、右クリックを行うことにより、その操作情報が、クライアント５００の通信部５０１から、配信サーバ４００の通信部４０１へ送信される。そして、通信部４０１が操作情報を受信すると、配信サーバ４００のフロー定義生成部４０５は、例えば、フロー記憶部４０７に記憶されている上述の処理に対応した処理設定ダイアログボックスを、通信部４０１を介して、クライアント５００の通信部５０１に送信する。通信部５０１により受信された処理設定ダイアログボックスは、表示制御部５０３によって、表示部５０４に表示される。また、この処理設定ダイアログボックスによって、複合機１００で入力される書誌情報の入力値をパラメータとして、処理の内容に設定することができる。すなわち、この書誌情報の入力値は、フロー定義データに基づく処理実行時に使用される。
【０１１０】
次に、図９に示す処理設定ダイアログボックスの具体例について説明する。図９に示す処理設定ダイアログボックスは、Ｅ−Ｍａｉｌ送信処理の処理設定ダイアログボックスである。図９に示す例では、添付文書名およびメール本文に、書誌情報入力画面で入力される書誌情報の入力値を使用している。すなわち、後述する画面定義データの生成において表示される属性設定ダイアログボックスで指定したＸＭＬ形式のタグ名を［］で囲むことにより、書誌情報の入力値を参照設定することができる。図９に示す例では、添付文書名に「契約書［ｎｕｍ］＿［ｃｏｎｔ］＿［ｄｅｐ］」と設定し、メール本文に「締結先は［ｃｏｎｔ］です」と設定しているので、書誌情報入力画面で入力される書誌情報のうち、タグ名が「ｎｕｍ」、「ｃｏｎｔ」および「ｄｅｐ」にそれぞれ設定された書誌情報の入力値が、Ｅ−Ｍａｉｌ送信処理において参照されることになる。
【０１１１】
そして、管理者がフロー定義データ生成画面上で入力部５０２を用いてワークフローの定義を行って実行操作すると、配信サーバ４００のフロー定義生成部４０５は、フロー定義データ生成画面の右側の領域に配置された処理のボタン、およびその配置順序を、画面上の位置座標等から解析し、処理設定ダイアログボックスで設定された設定内容を取得する。そして、フロー定義生成部４０５は、各ボタンの処理に対応する処理ＩＤを定め、処理の順番を考慮して処理設定ダイアログボックスで設定された設定内容をマージする。そして、フロー定義生成部４０５は、ＸＭＬのタグの定義等を行い、マージした内容をタグを利用してＸＭＬ形式に変換して、図７に示すＸＭＬ形式のフロー定義データを生成する。そして、フロー定義生成部４０５は、生成したフロー定義データをフロー記憶部４０７に記憶させる。
【０１１２】
なお、フロー定義データの生成は、クライアント５００の表示部５０４に表示されるフロー定義データ生成画面を用いて実施されるものとしたが、これに限定されるものではない。例えば、配信サーバ４００に直接接続された表示装置（図示せず）および入力装置（図示せず）を用い、この表示装置にフロー定義データ生成画面を表示させ、入力装置からの操作入力に従って、フロー定義生成部４０５がフロー定義データを生成するものとしてもよい。
【０１１３】
（画面定義データの生成処理）
図１０は、画面定義データの記述内容の一例を示す図である。図１１は、画面定義データ生成画面の一例を示す図である。図１２は、文字型の書誌情報の項目の属性設定ダイアログボックスの一例を示す図である。図１３は、数値型の書誌情報の項目の属性設定ダイアログボックスの一例を示す図である。図１４は、ドロップダウンリスト型の書誌情報の項目の属性設定ダイアログボックスの一例を示す図である。図１５は、書誌情報入力画面の一例を示す図である。図１６は、実施の形態に係るデータベースサーバが有するデータベースに含まれるテーブルの一例を示す図である。図１０〜図１６を参照しながら、画面定義データの生成処理について説明する。
【０１１４】
まず、図１０を参照しながら、フロー定義データで定義された一連の処理に必要な書誌情報を入力させるための書誌情報入力画面を定義する画面定義データの具体的な記述内容の例を説明する。上述したように、実際の画面定義データは、ＸＭＬ形式で記述される。図１０に示すように、ＸＭＬ形式の画面定義データには、多数の記述子としてのタグが埋め込まれている。図１０に示す画面定義データの例は、書誌情報として「契約書番号」および「締結先」を入力させるための書誌情報入力画面を定義するものである。
【０１１５】
タグ＜ＩＤ＞は、画面定義データを識別するための定義データＩＤを設定するための記述子である。タグ＜Ｉｔｅｍｓ＞は、この画面定義データから生成される書誌情報入力画面からユーザに書誌情報を入力させるための入力フィールド、その表示名、およびフィールドの入力条件等を設定するための記述子である。
【０１１６】
上述のように、図１０に示す画面定義データでは、書誌情報入力画面から利用者に、入力フィールド名（ＤｉｓｐｌａｙＮａｍｅ）が「契約書番号」および「締結先」である書誌情報を入力させるようになっている。また、入力条件として、文字型および数値型等の入力データの型（Ｔｙｐｅ）、最大フィールド長（ＭａｘＬｅｎｇｔｈ）、入力文字列をパスワード扱いにするか否か（ＩｓＰａｓｓｗｏｒｄ）、検証文字列（ＶａｌｉｄａｔｉｏｎＳｔｒｉｎｇ）、最大値（ＭａｘＶａｌｕｅ）、最小値（ＭｉｎＶａｌｕｅ）、入力フィールド名（ＤｉｓｐｌａｙＮａｍｅ）、編集の可否（ＩｓＥｎａｂｌｅｄ）、および、入力が必須であるか否か（ＩｓＲｅｑｕｉｒｅｄ）等を設定することができる。なお、“ＩｓＰａｓｓｗｏｒｄ”を“ｔｒｕｅ”に設定した場合には、入力時にアスタリスク（”＊“）でマスク表示される。
【０１１７】
複合機１００においてユーザがスキャン動作を開始する際に、ワークフローが選択されると、実行するワークフローに対応する画面定義データで定義される書誌情報入力画面が配信サーバ４００から複合機１００に送信される。この場合、例えば、配信サーバ４００の画面定義生成部４０６が、実行されるワークフローのフロー定義データに関連付けられた画面定義データに基づいて、書誌情報入力画面を生成し、この書誌情報入力画面が、通信部４０１を介して、複合機１００の通信部１０４に送信される。通信部１０４により受信された書誌情報入力画面は、表示制御部１０７によって、オペレーションパネル１１０の表示部１１０ａに表示される。
【０１１８】
なお、図１０に示す画面定義データのＸＭＬ形式の表記は一例であり、ＸＭＬにより同内容を異なる表記で記載することも可能である。
【０１１９】
次に、図１１〜図１４を参照しながら、画面定義データを生成するための画面について説明する。図１１に示す画面定義データ生成画面では、図６および図７に示す契約書フローに設定される書誌情報を入力させるための書誌情報入力画面に対応する画面定義データを生成する場合について示している。この画面定義データ生成画面は、例えば、配信サーバ４００の画面記憶部４０８に記憶されており、クライアント５００において、管理者による入力部５０２に対する画面定義データ生成画面の要求操作によって、配信サーバ４００の通信部４０１から、クライアント５００の通信部５０１へ送信される。そして、通信部５０１により受信された画面定義データ生成画面は、表示制御部５０３によって、表示部５０４に表示される。画面定義データ生成画面では、図１１に示すように、文字型、数値型、日付型、ドロップダウンリスト型、およびチェックボックス型の各書誌情報の項目について設定可能となっている。
【０１２０】
なお、複合機１００のオペレーションパネル１１０の表示部１１０ａに表示される書誌情報入力画面は、この画面定義データ生成画面で構築したものと同様の画面デザインで表示される。ただし、追加した書誌情報の項目を書誌情報入力画面に表示しないように設定をすることも可能である。
【０１２１】
また、画面定義データ生成画面上で、管理者は、各書誌情報の項目に対して、複合機１００のオペレーションパネル１１０の表示部１１０ａへの表示の際の初期値を指定することができる。
【０１２２】
ここで、管理者が、入力部５０２を用いて、例えば、各書誌情報の項目をダブルクリックすることにより、その操作情報が、クライアント５００の通信部５０１から、配信サーバ４００の通信部４０１へ送信される。そして、通信部４０１が操作情報を受信すると、配信サーバ４００の画面定義生成部４０６は、例えば、画面記憶部４０８に記憶されている上述の書誌情報の項目に対応した属性設定ダイアログボックスを、通信部４０１を介して、クライアント５００の通信部５０１に送信する。通信部５０１により受信された属性設定ダイアログボックスは、表示制御部５０３によって、表示部５０４に表示される。また、この属性設定ダイアログボックスによって、対応する書誌情報の項目の詳細を設定することができる。
【０１２３】
次に、図１２〜図１４を参照しながら、属性設定ダイアログボックスの具体例について説明する。図１２に示す属性設定ダイアログボックスは、文字型の書誌情報の項目の属性設定ダイアログボックスである。図１２に示す例では、オペレーションパネル１１０上での編集の可否（否の場合、オペレーションパネル１１０に表示はされるがユーザによる値の変更はできず、管理者が固定値として値を設定する）、値の入力が必須か否か、表示名（テキストボックスの左に表示されるタイトルの文字列）、ＸＭＬ形式のデータ上およびＳＱＬ文で使用するためのタグ名、最大フィールド長、パスワード表示するか否か（“ｔｒｕｅ”の場合、入力値はアスタリスクでマスキングされる）、および、検証文字列（入力値のチェック用の正規表現であり、例えば、“Ａ”から始まる文字列でないとならない場合、“Ａ＊”のように指定する）を、属性として設定することが可能となっている。図１２に示す例では、例えば、表示名を「ユーザ名」と、タグ名を「ｕｓｅｒ」と設定している。なお、オペレーションパネル１１０で表示された書誌情報入力画面上から検証文字列が設定されている書誌情報の項目に書誌情報を入力した場合、入力値が検証文字列と合致しない場合には、エラーメッセージが表示される。
【０１２４】
図１３に示す属性設定ダイアログボックスは、数値型の書誌情報の項目の属性設定ダイアログボックスである。図１３に示す例では、オペレーションパネル１１０上での編集の可否、値の入力が必須か否か、表示名、ＸＭＬ形式のデータ上およびＳＱＬ文で使用するためのタグ名、最大値、および、最小値を、属性として設定することが可能となっている。図１３に示す例では、例えば、表示名を「契約書番号」と、タグ名を「ｎｕｍ」と設定している。
【０１２５】
図１４に示す属性設定ダイアログボックスは、ドロップダウンリスト型の書誌情報の項目の属性設定ダイアログボックスである。図１４に示す例では、オペレーションパネル１１０上での編集の可否、値の入力が必須か否か、表示名、ＸＭＬ形式のデータ上およびＳＱＬ文で使用するためのタグ名、設定したクエリ（ＳＱＬ文）で問い合わせを行う接続先となるデータベースサーバの選択、ならびに、クエリを設定したファイルの選択を、属性として設定することが可能となっている。図１４に示す例では、例えば、表示名を「部署名」と、タグ名を「ｄｅｐ」と設定している。
【０１２６】
さらに、図１４では、クエリ（ＳＱＬ文）を設定することによって、そのクエリの実行で抽出された値（抽出値）が、ドロップダウンリスト型の書誌情報の項目に表示されることになる。そのためには、設定したクエリで問い合わせを行うデータベースサーバを、接続先の項目で設定する。接続先としては、例えば、データベースサーバ名、またはデータベースサーバのＩＰアドレス等のようなデータベースサーバを特定するような情報を設定する。本実施の形態の図１に示す構成では、データベースサーバ３００を選択するように設定する。図１４に示す例では、接続先が「ｄａｔａｂａｓｅ１」に選択されているが、この「ｄａｔａｂａｓｅ１」がデータベースサーバ３００を特定する情報であればよい。そして、ＳＱＬクエリの項目において、クエリ（ＳＱＬ文）を規定したファイル（クエリファイル）が記憶されている場所（パス）を参照ボタンにより設定する。クエリファイルは、例えば、クライアント５００の記憶部（図示せず）に記憶されているものとすればよい。図１４に示す例では、ファイル名が「ＳＱＬ．ｔｘｔ」のファイルが参照設定されている。そして、アップロードボタンを押下することによって、通信部５０１は、参照設定されているクエリファイルを、ネットワーク２を介して、配信サーバ４００へ送信する。配信サーバ４００の通信部４０１がクエリファイルを受信すると、クエリ制御部４０４は、通信部４０１により受信されたクエリファイルを、画面定義データ生成画面で生成中の画面定義データ、および、クエリが設定された書誌情報の項目（ここでは、図１４の属性設定ダイアログボックスに対応するドロップダウンリスト型の項目）に関連付けて、クエリ記憶部４０９に記憶させる。
【０１２７】
ここで、図１４の属性設定ダイアログボックスでアップロードされたクエリファイルでは、例えば、以下の（１）のようなＳＱＬ文が規定される。
【０１２８】
ＳＥＬＥＣＴ  部署名  ＦＲＯＭ  社員テーブル  ＷＨＥＲＥ  ユーザ名＝［ｕｓｅｒ］                                                                  ・・・（１）
【０１２９】
上述の（１）の場合、タグ名を示す［ｕｓｅｒ］が含まれているので、タグ名が「ｕｓｅｒ」である書誌情報入力画面の項目、すなわち、図１２の属性設定ダイアログボックスに対応する項目に文字列（ユーザ名）が入力された場合、この項目に入力された書誌情報としてのユーザ名が、［ｕｓｅｒ］に置換されて、置換されたＳＱＬ文によるクエリによって、データベースサーバ３００に問い合わせが行われる。ここで、上述の（１）のクエリは、データベースサーバ３００のデータベース３０３に書誌情報テーブル（関連付け情報）として記憶されている「社員テーブル」（例えば、図１６に示す社員テーブル１０００）から、カラム「ユーザ名」が、［ｕｓｅｒ］を置換した文字列（すなわち、このタグ名に対応する書誌情報の入力値）である場合に対応するカラム「部署名」の値を抽出するＳＱＬ文である。図１６に示す社員テーブル１０００は、属性設定ダイアログボックスで設定されたクエリにより問い合わせが行われる書誌情報テーブルの一例であり、「ユーザ名」、「社員コード」、「部署名」および「内線番号」等が関連付けて登録している。
【０１３０】
そして、管理者が画面定義データ生成画面上で入力部５０２を用いて画面の定義を行って実行操作すると、配信サーバ４００の画面定義生成部４０６は、画面定義データ生成画面の設定内容、および、画面定義データ生成画面の各項目の属性設定ダイアログボックスで設定された設定内容を取得する。そして、画面定義生成部４０６は、画面定義データのＩＤを定め、画面定義データ生成画面の設定内容に、属性設定ダイアログボックスの設定内容をマージする。そして、画面定義生成部４０６は、ＸＭＬのタグの定義等を行い、マージした内容をタグを利用してＸＭＬ形式に変換し、ＸＭＬ形式の画面定義データ（例えば、図１０に示す画面定義データ）を生成する。そして、画面定義生成部４０６は、生成した画面定義データを画面記憶部４０８に記憶させる。画面定義生成部４０６は、後述するように、複合機１００からワークフローのフローＩＤを受信すると、そのワークフロー（フロー定義データ）に関連付けられた画面定義データに基づいて、書誌情報入力画面を生成して、通信部４０１を介して、複合機１００に送信する。図１１に示す画面定義データ生成画面から画面定義生成部４０６により生成された画面定義データに対応する書誌情報入力画面を、図１５に示す。図１５に示すように、この書誌情報入力画面に対応するワークフローで使用する書誌情報として、「ユーザ名」、「部署名」、「契約書番号」および「締結先」を入力して設定することが可能となっている。
【０１３１】
なお、図１５に示す書誌情報入力画面の項目のうち「締結先」に対応する属性設定ダイアログボックスは、例えば、図１２に示す文字型の属性設定ダイアログボックスに準じるものとすればよい。
【０１３２】
また、図１２〜図１４に示す属性設定ダイアログボックスの例では、ドロップダウンリスト型の属性設定ダイアログボックスで、クエリが設定できるものとしたが、これに限定されるものではなく、文字型、数値型、日付型およびチェックボックス型の各データ型に対応する属性設定ダイアログボックスで、同様にクエリが設定できるようにしてもよいのは言うまでもない。この場合、各属性設定ダイアログボックスで、図１４に示すように、接続先、およびＳＱＬクエリが設定できるようにすればよい。
【０１３３】
また、ドロップダウンリスト型の項目に登録される選択項目は、例えば、管理者が記憶させたファイル（例えば、ＣＳＶ（Ｃｏｍｍａ−Ｓｅｐａｒａｔｅｄ  Ｖａｌｕｅｓ）ファイル等）から取り込むものとしてもよく、または、属性設定ダイアログボックスで、接続先に設定したデータベースサーバ３００から、目的の項目を抽出するクエリ（すなわち、他の項目を参照するタグ名を含まないクエリ）を設定して、クエリの実行による抽出値を取り込むものとしてもよい。
【０１３４】
また、属性設定ダイアログボックスで設定されたクエリが実行（問い合わせ）されるタイミングとしては、例えば、そのクエリに他の書誌情報の項目を参照するタグ名が含まれている場合、そのタグ名に対応する書誌情報の項目が入力されたタイミングとすればよい。一方、そのクエリに他の書誌情報の項目を参照するタグ名が含まれていない場合、例えば、書誌情報入力画面が表示部１１０ａに表示されたタイミングとすればよい。
【０１３５】
また、図１４に示す属性設定ダイアログボックスで参照設定されたクエリは、アップロードボタンの押下によって、配信サーバ４００のクエリ記憶部４０９に記憶されるものとしたが、これに限定されるものではない。例えば、画面定義データ生成画面で、画面定義生成部４０６による画面定義データの生成時に、その画面定義データに、参照設定したクエリ（ＳＱＬ文）に組み込まれるものとしてもよい。
【０１３６】
また、画面定義データの生成は、クライアント５００の表示部５０４に表示される画面定義データ生成画面を用いて実施されるものとしたが、これに限定されるものではない。例えば、配信サーバ４００に直接接続された表示装置（図示せず）および入力装置（図示せず）を用い、この表示装置に画面定義データ生成画面を表示させ、入力装置からの操作入力に従って、画面定義生成部４０６が画面定義データを生成するものとしてもよい。
【０１３７】
（配信システムの配信処理）
図１７は、実施の形態に係る配信システムの配信処理の流れの一例を示すシーケンス図である。図１８は、フロー選択画面の一例を示す図である。図１９は、書誌情報入力画面において依存先となる書誌情報が入力された状態の一例を示す図である。図２０は、書誌情報入力画面において依存元となる書誌情報等が入力された状態の一例を示す図である。図２１は、ＸＭＬ形式に変換された書誌情報の入力値の一例を示す図である。図２２は、書誌情報の入力値が反映された状態のフロー定義データの記述内容の一例を示す図である。図１７〜図２２を参照しながら、本実施の形態に係る配信システム１の配信処理の流れの一例を説明する。
【０１３８】
＜ステップＳ１１、Ｓ１２＞
まず、複合機１００側でユーザがオペレーションパネル１１０の操作部１１０ｂを介して、スキャナアプリ１０１の起動操作を行うと、スキャナアプリ１０１が起動する。
【０１３９】
＜ステップＳ１３＞
起動したスキャナアプリ１０１は、通信部１０４を介して、記憶部１０９に登録されたサーバ情報が示す配信サーバ４００に対して、フロー選択画面の要求を送信する。
【０１４０】
＜ステップＳ１４＞
通信部４０１によってフロー選択画面の要求が受信されると、配信サーバ４００のフロー実行制御部４０２は、フロー選択画面を、通信部４０１を介して、複合機１００に送信する。
【０１４１】
＜ステップＳ１５＞
通信部１０４によってフロー選択画面が受信されると、複合機１００の表示制御部１０７は、オペレーションパネル１１０の表示部１１０ａに、フロー選択画面を表示させる。ここで、図１８に、フロー選択画面の一例を示す。図１８に示すフロー選択画面では、ワークフローとして、「ＸＸＸフロー」、「ＹＹＹフロー」、「契約書フロー」および「ＺＺＺフロー」のいずれかが選択可能となっている。そして、各ワークフローには、それぞれフローＩＤが割り当てられている。
【０１４２】
＜ステップＳ１６＞
ユーザは、オペレーションパネル１１０の表示部１１０ａに表示されたフロー選択画面から、操作部１１０ｂを介して、所望のワークフローの選択操作を行う。ここでは、図１８に示す「契約書フロー」を選択したものとして説明する。
【０１４３】
＜ステップＳ１７、Ｓ１８＞
入力制御部１０８は、ワークフローの選択操作を受け付け、通信部１０４を介して、選択されたワークフローのフローＩＤを、配信サーバ４００へ送信する。
【０１４４】
＜ステップＳ１９＞
通信部４０１によってフローＩＤが受信されると、フロー実行制御部４０２は、そのフローＩＤが示すフロー定義データを、フロー記憶部４０７から検索する。
【０１４５】
＜ステップＳ２０＞
さらに、フロー実行制御部４０２は、検索したフロー定義データに関連付けられた画面定義データが存在するか否かを判定する。フロー定義データに関連付けられた画面定義データが存在する場合、フロー実行制御部４０２は、その画面定義データを、画面記憶部４０８から検索する。そして、画面定義生成部４０６は、フロー実行制御部４０２により検索された画面定義データに基づいて、書誌情報入力画面を生成する。
【０１４６】
＜ステップＳ２１＞
フロー実行制御部４０２は、画面定義生成部４０６により生成された書誌情報入力画面を、通信部４０１を介して、複合機１００へ送信する。なお、書誌情報入力画面は、配信サーバ４００側で画面定義データに基づいて生成されるものとしているが、これに限定されるものではなく、画面定義データが複合機１００に送信され、複合機１００側で画面定義データに基づいて書誌情報入力画面が生成されるものとしてもよい。
【０１４７】
＜ステップＳ２２＞
通信部１０４によって書誌情報入力画面が受信されると、複合機１００の表示制御部１０７は、オペレーションパネル１１０の表示部１１０ａに、書誌情報入力画面（例えば、上述の図１５に示す書誌情報入力画面）を表示させる。
【０１４８】
＜ステップＳ２３＞
ユーザは、オペレーションパネル１１０の表示部１１０ａに表示された書誌情報入力画面から、操作部１１０ｂを介して、書誌情報の入力操作を行う。書誌情報が入力されると、複合機１００の判定部１０５は、入力された書誌情報が、他の書誌情報で設定されたクエリの依存先の書誌情報であるか否かを判定する。ここでは、例えば、図１５に示す書誌情報入力画面において、図１９に示すように、「ユーザ名」に対応する項目に「赤石  茂」と入力されたものとする。「ユーザ名」の書誌情報のタグ名は、上述のように、「部署名」に対応する属性設定ダイアログボックスで設定されたクエリに含まれるので、判定部１０５は、入力された「ユーザ名」の書誌情報（第１書誌情報）が、「部署名」で設定されたクエリの依存先の書誌情報であると判定する。
【０１４９】
＜ステップＳ２４＞
判定部１０５によって、入力された書誌情報が、他の書誌情報（依存元の書誌情報）で設定されたクエリの依存先の書誌情報であると判定された場合、入力制御部１０８は、入力された書誌情報（依存先の書誌情報）と、他の書誌情報で設定された接続先としてのデータベースサーバの情報（接続情報）とを、通信部１０４を介して、配信サーバ４００へ送信する。図１９の例では、依存先の書誌情報として「ユーザ名」の項目に入力された「赤石  茂」、および、接続先としてデータベースサーバ３００を示す情報が、配信サーバ４００へ送信される。
【０１５０】
＜ステップＳ２５＞
通信部４０１によって依存先の書誌情報、および接続情報が受信されると、クエリ制御部４０４は、依存先の書誌情報のタグ名が含まれるクエリファイルをクエリ記憶部４０９から読み出し、クエリ内のタグ名を、依存先の書誌情報に置換して、クエリの完成形を生成する。例えば、上述の（１）に示すＳＱＬ文の場合、以下の（２）のようなＳＱＬ文が生成される。
【０１５１】
ＳＥＬＥＣＴ  部署名  ＦＲＯＭ  社員テーブル  ＷＨＥＲＥ  ユーザ名＝‘赤石  茂’                                                                  ・・・（２）
【０１５２】
＜ステップＳ２６＞
クエリ制御部４０４は、通信部４０１により受信された接続情報に基づいて、通信部４０１を介して、生成したクエリをデータベースサーバ３００へ送信する。
【０１５３】
＜ステップＳ２７＞
データベースサーバ３００の通信部３０１によりクエリが受信されると、クエリ実行部３０２は、受信されたクエリを実行し、データベース３０３に記憶された書誌情報テーブルからクエリで指定された書誌情報を抽出する。例えば、上述の（２）のクエリが図１６に示す書誌情報テーブルとしての社員テーブル１０００に対して実行されたものとすると、カラム「ユーザ名」が「赤石  茂」であるレコードにおけるカラム「部署名」の値である「開発部」を抽出する。
【０１５４】
＜ステップＳ２８＞
クエリ実行部３０２は、クエリの実行によりデータベース３０３から抽出した値（抽出値）（上述の（２）のクエリの例では「開発部」）を、通信部３０１を介して、配信サーバ４００へ送信する。
【０１５５】
＜ステップＳ２９＞
配信サーバ４００の通信部４０１は、データベースサーバ３００から受信した抽出値を、複合機１００へ送信する。
【０１５６】
＜ステップＳ３０＞
通信部１０４により抽出値が受信されると、表示制御部１０７は、表示部１１０ａに表示している書誌情報入力画面において、クエリの依存元の書誌情報の項目に、抽出値を表示させる。図１９に示す書誌情報入力画面においては、上述の（２）の実行により抽出された「開発部」という値が、図２０に示すように、依存元の書誌情報である「部署名」（第２書誌情報）の項目に表示される。すなわち、書誌情報入力画面において、依存先の書誌情報が入力されると、クエリの実行によりその書誌情報に関連付けられた依存元の書誌情報が抽出されて自動的に表示されることになり、ユーザは、依存元の書誌情報を入力する必要がなく、作業の負担が軽減されることになる。図２０に示す例では、最終的に、「ユーザ名」、「部署名」、「契約書番号」および「締結先」の各書誌情報として、それぞれ「赤石  茂」、「開発部」、「５」および「ＸＹＺ」が設定された状態を示す。
【０１５７】
なお、上述の（２）のクエリの例では、「ユーザ名」としての「赤石  茂」に対応する「部署名」としての「開発部」が抽出された動作を説明したが、抽出される値は複数であってもよい。例えば、「赤石  茂」が複数の部署に所属する場合、すなわち、社員テーブル１０００において、カラム「ユーザ名」が「赤石  茂」のレコードに、カラム「部署名」の値として複数の部署名が登録されている場合、上述の（２）のクエリの実行により、その複数の部署名が抽出される。この場合、表示制御部１０７は、書誌情報入力画面の「部署名」のドロップダウンリストに、抽出された複数の部署名を登録するものとすればよい。ユーザは、「部署名」のドロップダウンリストに登録された値から選択すればよいことになる。この場合も、ユーザは、ドロップダウンリスト型である「部署名」の項目において、全部署名から該当する部署名を見つける必要がなく、ユーザ名「赤石  茂」が所属する複数の部署名のいずれかから選択すればよいことになる。
【０１５８】
＜ステップＳ３１＞
そして、ユーザは、オペレーションパネル１１０の操作部１１０ｂを介して、スキャン実行操作を行う。
【０１５９】
＜ステップＳ３２＞
入力制御部１０８によりスキャン実行操作が受け付けられると、制御部１０３は、スキャナエンジン１１１を動作させ、原稿のスキャンを実行する。
【０１６０】
＜ステップＳ３３＞
また、書誌情報変換部１０６は、書誌情報入力画面で入力された書誌情報を、ＸＭＬ形式に変換する。ここで、図２０に示す書誌情報入力画面において入力された書誌情報が、ＸＭＬ形式に変換された例を、図２１に示す。
【０１６１】
＜ステップＳ３４＞
制御部１０３は、スキャンされた画像データ、および、書誌情報変換部１０６によりＸＭＬ形式に変換された書誌情報を、通信部１０４を介して、配信サーバ４００へ送信する。
【０１６２】
＜ステップＳ３５＞
通信部４０１により画像データ、および、ＸＭＬ形式に変換された書誌情報が受信されると、フロー実行制御部４０２は、フロー定義データに、受信された書誌情報をマージ（統合）する。具体的には、図７に示したフロー定義データ、および、図２１に示したＸＭＬ形式の書誌情報の場合、フロー実行制御部４０２は、図７に示すフロー定義データのコード９０１〜９０４におけるタグ名［ｎｕｍ］、［ｃｏｎｔ］および［ｄｅｐ］を、それぞれ「５」、「ＸＹＺ」および「開発部」に置換することによりマージする。その結果、図２２に示すフロー定義データのように、コード１６０１、１６０４において、ファイル名が「契約書５＿ＸＹＺ＿開発部」と規定され、コード１６０２において、メールのタイトル名が「契約書５」と規定され、コード１６０３において、メール本文として「締結先はＸＹＺです」と規定されることになる。
【０１６３】
＜ステップＳ３６、Ｓ３７＞
そして、フロー実行制御部４０２は、書誌情報をマージしたフロー定義データに基づいて中間処理および出力処理を実行する。
【０１６４】
以上のようなステップＳ１１〜Ｓ３７の流れによって、配信システム１の配信処理が実行される。
【０１６５】
以上のように、本実施の形態に係る配信システム１では、実行するワークフローにおいて、複合機１００のスキャン処理時に書誌情報入力画面で入力される書誌情報を使用するが、この書誌情報入力画面において、ユーザにより特定の書誌情報（依存先の書誌情報）が入力された場合に、その入力値に基づいてクエリを生成して実行することにより、その特定の書誌情報に関連付けられた書誌情報（依存元の書誌情報）を抽出して、書誌情報入力画面の該当する項目に表示させるものとしている。これによって、ユーザは、依存元の書誌情報を手動で入力する必要がなく、書誌情報を入力する作業の負担を軽減することができ、ユーザによる入力ミスの発生も抑制することができる。また、依存先の書誌情報に関連付けられた依存元の書誌情報が複数抽出された場合でも、その抽出された複数の値から選択すればよいので、この場合もユーザの入力作業の負担を軽減することができる。
【０１６６】
また、書誌情報入力画面における書誌情報のうち、特定の書誌情報に依存可能な依存元の書誌情報の数が増えるほど、特定の書誌情報の入力によって、クエリにより抽出された書誌情報が各依存元の書誌情報として自動的に表示される書誌情報の数が増えるので、ユーザの入力作業の負担がさらに軽減され、かつ、ユーザによる入力ミスの発生もさらに抑制することができる。
【０１６７】
なお、上述のように、ユーザにより特定の書誌情報（依存先の書誌情報）が入力された場合に、その入力値に基づいてクエリを生成して実行することにより、その特定の書誌情報に関連付けられた書誌情報（依存元の書誌情報）を抽出して、書誌情報入力画面の該当する項目に表示させるものとしているが、これに限定されるものではない。例えば、クエリとしてＳＱＬ文を用いなくても、書誌情報同士を関連付ける情報（例えば、ＣＳＶファイル）を用意し、特定の書誌情報（依存先の書誌情報）に関連付けられた依存元の書誌情報を抽出する仕組みがあればよい。
【０１６８】
また、書誌情報テーブル（例えば、図１６に示す社員テーブル１０００）は、データベースサーバ３００（データベース３０３）に記憶されているものとしたが、これに限定されるものではなく、配信サーバ４００の外部記憶装置６０４に記憶されているものとしてもよい。この場合、クエリ制御部４０４は、生成したクエリを用いて、書誌情報テーブルが記憶された外部記憶装置６０４に対して問い合わせを行うものとすればよい。
【０１６９】
また、上述の実施の形態において、配信システム１の各機能部の少なくともいずれかがプログラムの実行によって実現される場合、そのプログラムは、ＲＯＭ等に予め組み込まれて提供される。また、上述の実施の形態に係る配信システム１で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ−Ｒｅｃｏｒｄａｂｌｅ）、またはＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）等のコンピュータで読み取り可能な記憶媒体に記憶して提供するように構成してもよい。また、上述の実施の形態の配信システム１で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上述の実施の形態の配信システム１で実行されるプログラムを、インターネット等のネットワーク経由で提供または配布するように構成してもよい。また、上述の実施の形態の配信システム１で実行されるプログラムは、上述した各機能部のうち少なくともいずれかを含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（ＣＰＵ６０１、７０１、８０１）が上述の記憶装置（例えば、外部記憶装置６０４、７０４、８０８）からプログラムを読み出して実行することにより、上述の各機能部が主記憶装置上にロードされて生成されるようになっている。
【符号の説明】
【０１７０】
１  配信システム
２  ネットワーク
１００  複合機
１０１  スキャナアプリ
１０３  制御部
１０４  通信部
１０５  判定部
１０６  書誌情報変換部
１０７  表示制御部
１０８  入力制御部
１０９  記憶部
１１０  オペレーションパネル
１１０ａ  表示部
１１０ｂ  操作部
１１１  スキャナエンジン
２０１  ファイルサーバ
２０２  ＳＭＴＰサーバ
３００  データベースサーバ
３０１  通信部
３０２  クエリ実行部
３０３  データベース
４００  配信サーバ
４０１  通信部
４０２  フロー実行制御部
４０３  処理部
４０３ａ  中間処理部
４０３ｂ  配信処理部
４０４  クエリ制御部
４０５  フロー定義生成部
４０６  画面定義生成部
４０７  フロー記憶部
４０８  画面記憶部
４０９  クエリ記憶部
５００  クライアント
５０１  通信部
５０２  入力部
５０３  表示制御部
５０４  表示部
６０１  ＣＰＵ
６０２  ＲＯＭ
６０３  ＲＡＭ
６０４  外部記憶装置
６０５  ネットワークＩ／Ｆ
６０６  メディアドライブ
６０７  メディア
６０８  ＤＶＤドライブ
６０９  ＤＶＤ−ＲＯＭ
６１０  バス
７０１  ＣＰＵ
７０２  ＲＯＭ
７０３  ＲＡＭ
７０４  外部記憶装置
７０５  ネットワークＩ／Ｆ
７０６  メディアドライブ
７０７  メディア
７０８  操作装置
７０９  ディスプレイ
７１０  バス
８００  コントローラ
８０１  ＣＰＵ
８０２  ＭＥＭ−Ｐ
８０３  ＮＢ
８０４ａ  ＳＢ
８０４ｂ  ネットワークＩ／Ｆ
８０４ｃ  ＵＳＢ  Ｉ／Ｆ
８０４ｄ  セントロニクスＩ／Ｆ
８０５  ＡＧＰバス
８０６  ＡＳＩＣ
８０７  ＭＥＭ−Ｃ
８０８  外部記憶装置
８１０  操作表示部
８２０  ＦＣＵ
８３１  プロッタ
８３２  スキャナ
９０１〜９０４  コード
１０００  社員テーブル
１６０１〜１６０４  コード
【先行技術文献】
【特許文献】
【０１７１】
【特許文献１】特開２００９−０４４７２３号公報
【図１】
2018157336.tif 000003
【図２】
2018157336.tif 000004
【図３】
2018157336.tif 000005
【図４】
2018157336.tif 000006
【図５】
2018157336.tif 000007
【図６】
2018157336.tif 000008
【図７】
2018157336.tif 000009
【図８】
2018157336.tif 000010
【図９】
2018157336.tif 000011
【図１０】
2018157336.tif 000012
【図１１】
2018157336.tif 000013
【図１２】
2018157336.tif 000014
【図１３】
2018157336.tif 000015
【図１４】
2018157336.tif 000016
【図１５】
2018157336.tif 000017
【図１６】
2018157336.tif 000018
【図１７】
2018157336.tif 000019
【図１８】
2018157336.tif 000020
【図１９】
2018157336.tif 000021
【図２０】
2018157336.tif 000022
【図２１】
2018157336.tif 000023
【図２２】
2018157336.tif 000024