以下、本発明の好ましい実施の形態について図面を参照しながら詳細に説明する。
(システム構成)
図1は、本発明の実施形態に係る文書処理システム1の構成を示すブロック図である。
文書処理システム1は、様々なサービスやアプリケーションがネットワーク5を介して接続されたものである。ここで、サービスとは、外部からの要求に応じて文書に関する利用可能な機能をいう。サービスは、例えば、コピー、プリント、スキャン、ファクシミリ送受信、メール配信、レポジトリへの格納やレポジトリからの読込、OCR(Optical Character Recognition)処理、ノイズ除去処理等が該当し、特に限定されるものではない。
文書処理システム1は、具体的は、複数のサービスを連携させてユーザの所望の処理を指示するユーザインタフェースを備えたクライアント端末10と、ユーザの所望のサービスを検索するサービス検索サーバ20と、クライアント端末10で指示されたサービス連携に関する情報から指示書を作成する指示書生成サーバ30と、指示書を管理する指示書管理サーバ40と、指示書に従って各サービスの連携処理を実行する連携処理サーバ50と、を備えている。
さらに、文書処理システム1は、画像文書のノイズ除去処理や画像回転処理やOCR処理や画像をバインドする等の画像処理を行う画像処理装置61と、文書を管理する文書管理サーバ62と、文書を配信する文書配信サーバ63と、第1のサービス処理を行う第1のサービス処理装置64と、第2のサービス処理を行う第2のサービス処理装置65と、を備えている。
なお、文書処理システム1は、本実施形態では所定のサービス処理を行う複数のサーバがネットワーク5を介して接続された構成となっているが、複数のサービスがネットワーク5を介して接続されていれば特に限定されるものではない。
ここで、指示書とは、一連の処理を複数の機能的な処理に分解した場合において、各機能の関係を表す情報と、各機能を呼び出すためのインタフェース(I/F)情報と、一連の処理に関するグラフィカルユーザインタフェース(GUI)を構成するための情報と、を含んだデータをいう。
図2は、文書処理システム1を構成する各サービス処理装置の相互関係を説明するためのブロック図である。各サービス処理装置は、自身が提供するサービスの内容を表すI/F情報を記憶している。
図3は、I/F情報の構成を示す図である。I/F情報は、<サービス種類(Service Class)>、<サービス名(Service Name)>、<サービス・アイコン(Service Icon)>、<サービス・ロケーション情報(Service Location Information)>、<入力(Input)>、<出力(Output)>、<パラメータ制限ルール(Parameter Restriction Rules)>、<サービス・ロケーション(Service Location)>、<メソッド名(Method Name)>、<起動方法(Invocation Scheme)>、<黙示要素(Inplicit Elements)>で構成されている。
<サービス種類>は、サービス処理装置が提供するサービスの種類である。なお、<サービス種類>は、予め定義されているものが使用され、例えば、スキャン、プリント、レポジトリ、フロー等が該当する。<サービス名>は、サービス処理装置が提供するサービスの名前である。<サービス・アイコン>は、クライアント端末10のGUIに表示するアイコンの位置情報である。
<サービス・ロケーション情報>は、指示書生成サーバ30がI/F情報を取得するために用いるURLである。<入力>は、サービスへの入力である。<出力>は、サービスへの出力である。<パラメータ制限ルール>は、<入力>や<出力>に適用される制限ルールである。<サービス・ロケーション>は、サービスを実際に使用するときの位置情報である。<メソッド名>は、サービス処理の提供手法である。
<起動方法>は、サービス処理を呼び出し起動する方法である。なお、<起動方法>としては、例えばメッセージ交換のプロトコルであるSOAP(Simple Object Access Protocol)、SMTP(Simple Mail Transfer Protocol)等を用いることができる。<黙示要素>は、出力として明示的に後段の処理に渡されるデータでないが、後段の処理で参照可能なデータである。
クライアント端末10は、指示書の作成を指示したり、起動すべき指示書を選択するために、画面表示したり所定の操作を行うためのグラフィカルユーザインタフェース(GUI)の機能を備えている。
サービス検索サーバ20は、ネットワーク5に接続された複数のサービスの中から、検索条件に対応するサービスを検索する。サービス検索サーバ20は、画像処理装置61、文書管理サーバ62、文書配信サーバ63、第1のサービス処理装置64、第2のサービス処理装置65等の様々なサービス処理装置のI/F情報の一部(以下「部分I/F情報」という。)を予め記憶している。ここで、部分I/F情報は、I/F情報の要素中の<サービス種類>、<サービス名>、<サービス・ロケーション情報>、<入力>、<出力>をいう。
サービス検索サーバ20は、指示書生成サーバ30や連携処理サーバ50から検索条件が送信されたときは、各サービス処理装置の部分I/F情報を用いてサービスを検索する。例えば、サービス検索サーバ20は、所定のサービスと同様のサービスを検索するときは、<サービス種類>が一致するサービスを検索したり、<入力>及び<出力>が一致するサービスを検索したり、これらすべてが一致するサービスを検索すればよい。
指示書生成サーバ30は、指示書作成時には各サービス処理装置からI/F情報を取得して、各サービス処理装置が提供するサービスを連携させるための指示書を生成する。指示書生成サーバ30は、指示書を作成すべく、具体的には次の処理を実行する。
指示書生成サーバ30は、<サービス・ロケーション情報>に基づいて、ネットワーク5上に分散した所定のサービス処理装置から、各サービスに関するI/F情報を送信するように要求する。なお、指示書生成サーバ30は、所定のサービス処理装置がない場合は、サービス検索サーバ20に対して、所定のサービス処理装置と同一のサービスを行う他のサービス処理装置を検索するように指示を出す。そして、指示書生成サーバ30は、サービス検索サーバ20から、他のサービス処理装置の<サービス・ロケーション情報>を取得すればよい。
指示書生成サーバ30は、サービス検索サーバ20からの検索結果や各サービス処理装置から受信したI/F情報を管理する。指示書生成サーバ30は、各サービス処理装置から取得したI/F情報に基づいて、ジョブフローを定義するためのGUI画面となるHTMLファイルを生成する。そして、指示書生成サーバ30は、クライアント端末10からのサービスの閲覧要求があると、GUI画面となるHTMLファイルを前記クライアント端末10へ送信する。
図4は、ジョブフローを定義するためのGUI画面である指示書作成画面100を示す図である。指示書作成画面100は、サービスウインドウ101、フローウインドウ102、ロジックウインドウ103、プロパティーウインドウ104で構成されている。
サービスウインドウ101は、使用可能な様々なサービス処理装置を表示する。ロジックウインドウ103は、サービス間の連携のパターンを示すジョブフローを表示する。プロパティーウインドウ104は、サービスウインドウ101とロジックウインドウ103に表示された各アイコンの詳細な設定パラメータを表示する。
ユーザは、サービスウインドウ101のアイコンとロジックウインドウ103のアイコンをフローウインドウ102にドラッグ・アンド・ドロップすることで、フローウインドウ102にジョブフローを定義することができる。ユーザは、さらに、プロパティーウインドウ104に表示された内容を編集することによって、サービスやロジックを詳細に設定することができる。
クライアント端末10は、ユーザの操作によって定義されたジョブフロー情報を、CGI(Common Gateway Interface)形式に従って指示書生成サーバ30に送信する。
指示書生成サーバ30は、ユーザからのサービス連携の指示に関するジョブフロー情報と、各サービスのI/F情報とに基づいて、各サービスへ依頼する処理の内容、入力パラメータ、各サービスの連携の仕方(ジョブフロー)、文書名や格納ロケーション情報等の処理対象の文書を特定するための情報を定義した指示書を作成する。指示書は、XML形式のファイルで構成されている。
図5は、XML形式で構成された指示書を示す図である。複数のサービスの連携処理自体も1つのサービスとみなされるので、指示書は、図3に示したI/F情報に加えて<フロー(Flow)>を追加した構成になっている。
<フロー>は、サービス間の連携を記述する要素であり、<起動(Invoke)>、制御構造や論理演算、算出演算をするための<if>等の要素、さらに処理対象の文書を特定するための情報を含んでいる。
<起動>は、サービス処理装置の特定のメソッドを表し、サービスの呼び出しを実行する。<起動>の要素として、パラメータの位置情報を示す<マップ>と、呼び出すメソッド名<メソッド>を有している。制御構造や論理演算等を示す<if>、<and>、<eq>、<gt>は、連携処理時に条件分岐を行ったり、サービス間で受け渡されるパラメータの調整を実施する。
指示書は、サービスの連携処理の制御に関するすべての情報を<フロー>の要素に記述している。これにより、指示書によって表される連携処理自体も1つのサービスとみなされる。なお、指示書は、図5に示す構成に限定されるものではなく、各サービスを連携させることができればよい。
指示書生成サーバ30は、以上のようなXML形式の指示書を指示書管理サーバ40に送信する。また、指示書生成サーバ30は、ユーザによりサービス連携処理の実行が指示されている場合は、指示書を直接連携処理サーバ50に送信してもよい。
指示書管理サーバ40は、指示書生成サーバ30から送信された指示書を保持し、クライアント端末10からの要求に応じて指示書を連携処理サーバ50へ送信する。
連携処理サーバ50は、指定された指示書を解釈・実行するサーバである。連携処理サーバ50は、指示書が送信されると、その指示書を解釈し、指示書に記述されている順番と利用方法に従い、画像処理装置61、文書管理サーバ62、文書配信サーバ63などの各サービス処理装置を順に呼び出し、連携処理を実行する。また、連携処理サーバ50は、実行中の連携処理の状況や終了した連携処理の結果の情報を保存し、外部からの要求に応じて、連携処理の状況や結果を通知する。
連携処理サーバ50は、指示書を解釈して各サービス処理装置へ依頼する際には、処理依頼内容や入力パラメータ、処理対象の文書を特定するための情報等を有する個別指示情報を生成する。なお、連携処理サーバ50は、各サービス処理装置で行う処理の前後の処理との関連を指示書に記述してもよいし、指示書の形式ではなく各サービス処理装置毎の固有の情報交換形式で処理依頼を行うようにしてもよい。
画像処理装置61は、画像処理機能を行うソフトウェアプログラムがインストールされたコンピュータである。画像処理装置61は、連携処理サーバ50からの処理要求依頼に含まれるサービス処理依頼内容、入力パラメータ、処理対象文書の情報に基づいて、文書の処理を行う。また、画像処理装置61は、起動時にサービス検索サーバ20に対して、部分I/F情報を通知する。さらに、画像処理装置61は、指示書生成サーバ30からの要求により、画像処理サービスの利用方法を示すI/F情報を送信する。このI/F情報は、指示書作成時に利用される。
文書管理サーバ62は、文書格納機能を有している。文書管理サーバ62は、連携処理サーバ50からの要求に含まれる情報に基づき、文書の格納や検索や読み出し、文書に関する属性の変更や各種処理を実行する。また、文書管理サーバ62は、起動時にサービス検索サーバ20に対して、部分I/F情報を通知する。さらに、文書管理サーバ62は、指示書生成サーバ30からの要求により文書管理サービスの利用方法を示すI/F情報を送信する。
文書配信サーバ63は、取得した文書を、指示された文書管理サーバへ格納したり、指示された送信先へメール送信やFAX送信を行ったり、指示されたプリンタへプリント出力処理を行う機能を備えている。文書配信サーバ63は、連携処理サーバ50からの要求により、クライアント端末10で指示された文書とその配信先の情報に基づき、文書の配信処理を行う。また、文書配信サーバ63は、起動時に、サービス検索サーバ20に対して、部分I/F情報を通知する。さらに、文書配信サーバ63は、指示書生成サーバ30からの要求により文書配信処理サービスの利用方法を示すI/F情報を送信する。
第1のサービス処理装置64は、外部からの指示に従って文書に関する所定のサービス処理を行う装置である。ここで、第1のサービス処理装置64は、連携処理サーバ50からの処理依頼内容や入力パラメータ、処理対象の文書を特定するための情報等の情報に基づき、自身で実行すべきサービス処理を実行する。また、第1のサービス処理装置64は、起動時に、サービス検索サーバ20に対して、部分I/F情報を通知する。さらに、第1のサービス処理装置64は、指示書生成サーバ30からの要求によりサービス処理の利用方法を示すI/F情報を送信する。なお、第2のサービス処理装置65は、サービス処理の内容を除いて、第1のサービス処理装置64と同様に動作する。
以上のように構成された文書処理システム1において、画像処理装置61、文書管理サーバ62、文書配信サーバ63等の各サービス処理装置は、それぞれ所定のサービスを実行するためのアプリケーションプログラムがインストールされると、以下のように動作する。
画像処理装置61、文書管理サーバ62、文書配信サーバ63等のサービス処理装置は、起動処理において、それぞれのサービス概要とアドレスを示す情報を含んだ部分I/F情報をサービス検索サーバ20に通知する。
サービス検索サーバ20は、画像処理装置61、文書管理サーバ62、文書配信サーバ63等の各サービス処理装置から送信された部分I/F情報を保存する。これにより、サービス検索サーバ20は、例えば指示書生成サーバ30や連携処理サーバ50から所定のサービス検索要求があったときに、部分I/F情報を用いて検索を実行することができる。
(指示書の作成)
図6は、指示書作成時のクライアント端末10及び指示書生成サーバ30の処理手順を示すフローチャートである。
クライアント端末10は、ユーザの操作に従って、インストールされたブラウザを通して、指示書生成サーバ30が提供するユーザインタフェース画面用に生成されたHTMLファイルのURL(Uniform Resource Locator)にアクセスする(ステップST1)。
指示書生成サーバ30は、クライアント端末10からの閲覧要求に応じて、ユーザインタフェース画面のHTMLファイルをクライアント端末10に送信する(ステップST2)。
クライアント端末10は、指示書生成サーバ30から送信されたHTMLファイルに基づいて、ユーザインタフェース画面を表示する(ステップST3)。このとき、ユーザは、クライアント端末10に表示されたユーザインタフェース画面を用いて、所望のサービス連携のジョブフローを定義することができる。
クライアント端末10は、ユーザインタフェース画面を介してジョブフローが定義されたか否かを判定し、ジョブフローが定義されるまで待機する(ステップST4)。クライアント端末10は、ジョブフローが作成されたと判定すると、ユーザによって定義されたサービス連携に関するジョブフロー情報を指示書生成サーバ30に送信する。
指示書生成サーバ30は、クライアント端末10より送信されたサービス連携のジョブフローに関する情報と、各サービス処理装置から取得したI/F情報とに基づいて、各サービスへ依頼する処理の内容、入力パラメータ、各サービスの連携の仕方、文書名や格納ロケーション情報等の処理対象の文書を特定するための情報を定義した指示書を作成する(ステップST5)。そして、指示書生成サーバ30は、XML形式の指示書を指示書管理サーバ40に送信する。
指示書管理サーバ40は、指示書生成サーバ30で生成された指示書を保存する。指示書管理サーバ40は、指示書生成サーバ30で作成された複数の指示書を保存しており、クライアント端末10から指示書の選択指示があった時は選択された指示書を読み出す。
(連携処理の起動・実行)
ユーザは、指示書管理サーバ40に保存されている複数の指示書の中から所望の指示書を選択して、連携処理を起動させることができる。具体的には、以下の通りである。
図7は、クライアント端末10、指示書管理サーバ40及び連携処理サーバ50の処理を示すフローチャートである。
クライアント端末10は、指示書管理サーバ40へアクセスし、指示書管理サーバ40で管理される指示書リストを取得する(ステップST11)。
図8は、指示書リストを表すサービス連携処理選択画面110の一例を示す図である。サービス連携処理選択画面110は、指示書毎に指示書を選択するためのボタン111〜116を有している。ユーザは、サービス連携処理選択画面110から所望のボタンをクリックすることで、指示書を選択することができる。
クライアント端末10は、サービス連携処理選択画面110から、ユーザの操作指示に基づいて、所定のサービス連携処理を表す指示書を選択し、その指示書の起動を指示する。
指示書管理サーバ40は、クライアント端末10によって指示された指示書を連携処理サーバ50へ送信する(ステップST12)。この結果、連携処理サーバ50は、連携処理の実行を開始する。
連携処理サーバ50は、指示書管理サーバ40より送信された指示書を解釈し、指示書に記述された第1番目の処理である画像処理装置61に対して、第1のサービス処理を実行することを依頼する(ステップST13)。連携処理サーバ50は、具体的には、指示書に記載された情報をもとに、処理依頼するサービス処理装置のロケーションや処理依頼に必要な入力パラメータと出力パラメータ形式、処理依頼のためのメソッド名、起動方法、処理対象文書を特定する情報を抽出し、個別指示情報を作成する。連携処理サーバ50は、個別指示情報を第1の処理依頼先である画像処理装置61へ送信する。
画像処理装置61は、送信された指示書に記述された処理対象文書の格納先ロケーション情報をもとに、処理対象文書をコピーし文書を取得する。画像処理装置61は、取得した文書画像に対し、サービス処理依頼内容を解釈し、ノイズ除去、OCR処理といった画像処理を行い、抽出されたテキスト文書とバインドする処理を行う。画像処理装置61は、画像処理によって得られた画像文書とテキスト文書がバインドされた文書を元の格納先へ再格納する。画像処理装置61は、このような処理が完了すると、処理のステータス情報(完了)、出力パラメータ、処理後の文書格納先情報など、処理結果を連携処理サーバ50へ送信する。
連携処理サーバ50は、画像処理装置61からの処理結果を受信すると、第1の処理依頼結果をログとして管理する。そして、連携処理サーバ50は、指示書に基づき第2の処理依頼先を特定し、第2のサービス処理を実行することを文書管理サーバ62に依頼する(ステップST14)。連携処理サーバ50は、第1のサービス処理依頼と同様に、個別指示情報(処理依頼に関する情報である文書を格納する旨の情報、文書の格納先の情報、処理対象文書を特定する情報)を文書管理サーバ62へ送信する。
文書管理サーバ62は、連携処理サーバ50の依頼内容に基づき、前の処理(第1のサービス処理)で処理され格納された文書を、依頼内容に記述された格納先情報に基づき格納処理を行う。文書管理サーバ62は、このような処理が完了すると、処理のステータス情報(完了)、出力パラメータ、処理後の文書格納先情報など、処理結果を連携処理サーバ50へ送信する。
連携処理サーバ50は、第2のサービス処理(文書格納処理)からの処理結果を受信すると、第2の処理依頼結果をログとして管理する。連携処理サーバ50は、指示書に基づき第3の処理依頼先を特定し、第3のサービス処理を実行することを文書配信サーバ63に依頼する(ステップST15)。連携処理サーバ50は、第2のサービス処理依頼と同様に、個別指示情報(処理依頼に関する情報である文書を格納する旨の情報、文書の格納先の情報、処理対象文書を特定する情報)を文書配信サーバ63へ送信する。
文書配信サーバ63は、連携処理サーバ50の依頼内容に基づき、前の処理(第2のサービス処理)で処理され格納された文書を、文書を特定する情報(格納先情報)に基づき文書ファイルを読み出し、依頼内容に記述された処理を行う。ここでは、文書配信サーバ63は、テキスト文書と画像文書がバインドされた文書のうち、テキスト文書のみを配信先として指定されたメールアドレスへメール送信し、画像文書のみを指定されたFAX番号へFAX送信を行う。文書配信サーバ63は、処理が完了すると、処理のステータス情報(完了)、出力パラメータ、処理後の文書格納先情報など、処理結果を連携処理サーバ50へ送信する。
この処理において、文書配信サーバ63は、例えばFAX送信処理において相手先が話し中でありかつ所定回数リトライを行っても相手先と接続できなかった場合、ステータス情報として「メール送信:完了、FAX送信:未送信」を連携処理サーバ50に送信する。
連携処理サーバ50は、第3のサービス処理からの処理結果を受信し、指示書には次の処理が記述されていないと判断すると、クライアント端末10に対してすべての処理が完了した旨の通知を行い、連携処理を終了する(ステップST16)。
なお、本実施形態において、サービス検索サーバ20は、各サービス処理装置からI/F情報の一部(部分I/F情報)を取得していたが、I/F情報の全部を取得するようにしてもよい。
(承認ワークフロー)
上述のように、文書処理システム1では、様々なサービスやアプリケーションが実行可能なようにネットワーク5を介して各種装置が接続されている。ここで、本実施の形態では、承認ワークフロー処理を実行する場合について、さらに詳細に説明する。
図9は、文書処理システム1を構成する各サービス処理装置の相互関係を基にして(図1及び図2を参照)、承認ワークフロー処理を説明するための主要部のブロック図である。承認ワークフロー処理を実現するためには、連携処理サーバ50、画像処理装置61、文書管理サーバ62、第1のサービス処理装置64、第2のサービス処理装置65を利用する。
以下の説明では、第1のサービス処理装置64を承認処理を実行する承認処理装置64とし、第2のサービス処理装置65を画像処理装置61と同様の構成の画像処理装置65として説明する。また、文書管理サーバ62は、文書データを格納する格納装置240を備えている。
図10は、画像処理装置61の概略構成を示すブロック図である。本実施の形態では、画像処理装置61は、画像の複写や印刷などの複合機として機能する各種画像処理のための機構部200を備えている。機構部200には、印刷機構部202,複写機構部204,スキャン機構部206,及びファクシミリ機後部208が含まれている。
また、画像処理装置61は、上記機構部200を制御する処理実行部214を備えている。この処理実行部214を含む構成は、上記クライアント端末10として機能する各種機能部を含んで構成されている。処理実行部214には、GUI機能を有するLCDなどの表示装置220が接続されると共に、外部から入力される指示書が指示書解釈部210、及び外部サービス特定部212を介して入力されるように接続されている。
外部サービス特定部212は、実行要求メッセージ処理部218に接続されており、この実行要求メッセージ処理部218には、表示装置220及びメモリ222も接続されている。また、実行要求メッセージ処理部218の出力側の1つには外部へメッセージを出力するためのメッセージ出力部216が接続されている。
図11は、文書管理サーバ62の概略構成を示すブロック図である。文書管理サーバ62は、文書データの管理制御を実行するための処理実行部232を備えている。この処理実行部232の入力側には外部からの指示書やデータなどが入力される入力部230が接続され、出力側には外部へ指示書やデータなどが出力される出力部234が接続されている。
また、本実施の形態では、文書管理サーバ62は、格納装置240を備えている。格納装置240は、文書データを格納するためのものであり、未承認の文書データを格納するための未承認データ格納領域236及び承認済みの文書データを格納するための承認済データ格納領域238を含んでいる。
図12は、承認処理装置64の概略構成を示すブロック図である。承認処理装置64は、依頼される文書データの承認処理を実行するための承認処理実行部252を備えている。この承認処理実行部252の入力側には外部からの指示書やデータなどが入力される入力部250が接続され、出力側には外部へ、承認または未承認を表す承認データ等を含むデータや指示書などが出力される出力部254が接続されている。
図13は、連携処理サーバ50の概略構成を示すブロック図である。連携処理サーバ50は、文書データの連携処理を実行するための連携処理実行部262を備えている。この連携処理実行部262の入力側には外部からの指示書やデータなどが入力される入力部260が接続され、出力側には外部への指示や要請等を含むデータや指示書などが出力される出力部264が接続されている。
(承認ワークフローの概要)
図14は、承認ワークフローにおけるプロセス概要の流れを示すフローチャートである。このプロセスは、ユーザが依頼する物品の購入などの購入依頼書に対して承認を得る処理フローである。
まず、画像処理装置61側において購入依頼書がスキャンされ(ステップ300)、画像処理装置61側から外部サービスである承認処理を呼び出すメッセージ(指示書)を連携処理サーバ50へ送信する(ステップ302)。このとき、画像処理装置61は、スキャンした購入依頼書の文書データを文書管理サーバ62へ送信する。このとき、文書データは未だ未承認であるため、未承認データ格納領域236へ格納される。
すなわち、上述のように、サービス連携処理選択画面110から承認ワークフロー・ボタン115を押圧することで指示書が呼び出され、その指示書が連携処理サーバ50へ送信される。
連携処理サーバ50は、受信した指示書を基に承認処理のために承認処理装置64へ承認処理依頼を行い、その結果を待機する(ステップ304)。このとき承認処理装置64では連携処理サーバ50からの依頼による承認処理を実行し、承認結果を返信する。連携処理サーバ50は承認処理装置64からの承認結果を受けて、文書管理サーバ62へ承認が完了したことを通知する。
この通知を文書管理サーバ62が受け取ると、文書管理サーバ62は、未承認データ格納領域236に格納済みの文書データを承認済データ格納領域238へ格納する。文書管理サーバ62は、この格納終了通知を連携処理サーバ50へ行い、連携処理サーバ50は、指示書に基づくサービスを実行させるべく第2の画像処理装置65へ指示書を送信する(ステップ308)。
第2の画像処理装置65は、連携処理サーバ50からの指示書を受け取ってその指示書に記述された格納位置(承認済データ格納領域238)から文書データを取り出すべく文書管理サーバ62へ要求し、これを受け取って指示書に従って印刷する。
以上のようにして、ユーザが依頼する物品の購入などの購入依頼書に対して承認を得る。
次に、図15を参照して、画像処理装置61における処理を詳細に説明する。なお、図15のフローチャートには、第2の画像処理装置65で実行される部分を含んでいる。
まず、ステップ400では、指示書を入手する。この処理では、上述のように、サービス連携処理選択画面110から承認ワークフロー・ボタン115(図8参照)を押圧することで指示書管理サーバ40から指示書が呼び出される。この場合、上記表示装置220及び処理実行部214(図10)の資源が利用される。この指示書には、文書データの格納先(格納先ロケーション情報)や外部サービスを呼び出すためのデータ(部分I/F情報)が含まれている。
次のステップ402では、入手した指示書を解釈する。すなわち、指示書に含まれる個別指示情報を参照し、自身(画像処理装置61または第2の画像処理装置65)で処理可能なサービスとそれ以外のサービスとを分類する。このステップ402の処理は、上記指示書解釈部210(図10)の機能部分に相当する。
次のステップ404では、自身(画像処理装置61または第2の画像処理装置65)で処理可能なサービスについて、該当するサービスすなわちここではスキャン処理(または印刷処理)が実行される。この処理は、処理実行部214(図10)の一部の機能に相当する。
画像処理装置61では、購入依頼書がスキャンされる。一方、第2の画像処理装置65では、文書データの取り出しと印刷処理が実行される。この処理は、機構部200を用いて実行する処理実行部214(図10)の一部の機能に相当する。
次のステップ406では、処理結果の遂行処理が実行される。ここでは、ステップ404で処理した結果に対応する処理が実行されるものであり、画像処理装置61では、購入依頼書をスキャンした結果の文書データを文書管理サーバ62へ送信する。これによって、文書管理サーバ62は、文書データを格納装置240(未承認データ格納領域236)へ格納する。この処理は、機構部200を用いて実行する処理実行部214(図10)の機能と、その処理実行部214がメッセージ出力部216を介して文書データを送信する機能に相当する。
なお、第2の画像処理装置65では、印刷結果を連携処理サーバ50へ返信する処理が実行される。
次のステップ408では、一連の連携処理に外部サービスが含まれているか否かを判断する。この判断は、上記ステップ402で解釈した指示書から判別することができる。ここでは、承認処理が該当する。すなわち、承認処理は、画像処理装置61では遂行できないため、ステップ408で肯定され、ステップ410において外部サービスすなわち本実施の形態では承認処理を外部サービスとして特定する。この処理は、外部サービス特定部212の機能に相当する。
次のステップ412では、外部サービスを呼び出すためのメッセージを特定し、記憶する。このメッセージは、上述の個別指示情報にも相当し、画像処理装置61の外部装置である承認処理装置64において承認処理を実行することを要求することを表している。このメッセージは、指示書に含ませることができる。この処理は、メモリ222(図10)に記憶されたメッセージを、その実行要求メッセージ処理部218で特定する機能と、それを記憶する機能に相当する。
なお、上記ステップ412の処理では、複数のメッセージから選択することでメッセージを特定することができる。この場合、複数のメッセージをメモリ222に記憶する。そして、複数のメッセージから所定条件に従ってメッセージを選択する。この所定条件には、現在稼働中のサービス処理装置を選択すること、処理時間が最短のサービス処理装置を選択すること、単にサービスを要求すること、予め定めたサービス処理装置を選択すること、などがある。
また、上記の選択は、GUI機能を用いてユーザによる入力値によって選択するようにしてもよい。この場合には、次回ユーザの選択が同様のものである確度が高いため、入力値をメモリ222に記憶し、再利用することが好ましい。
次のステップ414では、ステップ412で特定したメッセージを含む指示書を連携処理サーバ50へ送信する。すなわち、画像処理装置61側から外部サービスである承認処理を呼び出すメッセージ(指示書)を連携処理サーバ50へ送信する。この処理は、メッセージ出力部216(図10)の機能に相当する。
これによって、連携処理サーバ50は、画像処理装置61からの指示書を基に承認処理のために承認処理装置64へ承認処理依頼を行いその承認結果を受けて、文書管理サーバ62へ承認完了を通知し、文書管理サーバ62は画像処理装置61からの文書データを未承認データ格納領域236から承認済データ格納領域238へ格納することができる。
また、第2の画像処理装置65は、連携処理サーバ50からの指示書を受け取ってこれを解釈し(ステップ400,402)、その指示書に記述された格納位置(承認済データ格納領域238)から文書データを取り出すべく文書管理サーバ62へ要求した後に受け取って指示書に従って印刷する(ステップ404,406)。
なお、上記の各処理では、ユーザ認証など一定の権限を有するユーザのみに該当する処理を継続するべく認証処理を追加すうことができる。この場合、GUI機能を用いてユーザによる入力を促したり表示したりして実行するようにしてもよい。
このように、本実施の形態によれば、画像処理装置から外部サービスの実行要求を行うことができるので、画像処理装置すなわちサービス処理装置が所有する機能に限定されることなく、円滑に連携処理を遂行することができる。
また、画像処理装置では、外部からのサービス要求を受け取ることができるので、画像処理装置すなわちサービス処理装置が所有する機能を容易に外部から利用することができ、円滑に連携処理を遂行することができる。
なお、上記実施の形態のステップ302,及びステップ414の処理は、本発明の送信手段において要求情報を送信する機能に相当する。この送信時におけるメッセージは要求情報に相当する。また、メモリ222は、本発明の記憶手段及びデータ記憶手段に相当する。また、表示装置220は本発明の入力手段に相当する。さらに、指示書を構成する、一連の処理を複数の機能的な処理に分解した場合において、各機能の関係を表す情報と、各機能を呼び出すためのインタフェース(I/F)情報と、一連の処理に関するグラフィカルユーザインタフェース(GUI)を構成するための情報と、などが本発明の項目情報に相当し、一連の処理を複数の機能的な処理に分解した場合における各機能の関係を表す情報や一連の処理そのものを表す情報が本発明の処理情報に相当する。
上記実施の形態では、連携処理サーバ50を使用して複数のサービスの連携処理を実行する場合を説明したが、本発明はこれに限定されるものではない。すなわち、文書データを直列的に接続した各種装置について順次経由してゆくことでも上記実施の形態と同様の効果を得ることができる。
この場合、それぞれの装置が指示書を解釈する解釈部を備えて、指示書による処理またはサービスを実行するようにすればよい。また、装置間のデータ送信は、指示書に併せて文書データを共に送信するようにすればよい。
すなわち、各装置では、指示書に記述された処理対象文書の格納先ロケーション情報(自己のメモリまたは前段装置のメモリの位置など)をもとに、指示書によるサービス処理依頼内容を解釈することで、処理対象の文書データを取得し、取得した文書データに対して指示書に記述された自己の装置で処理可能な処理(サービス処理)を実行し、次段の装置へ指示書と文書データを送信する。このとき、自己の装置で処理したことを指示書に記述することで、次段以降の装置では処理済みの処理やサービスを実行することはない。
このように、順次指示書と文書データを送信することによっても、連携処理は容易に実行することができる。
また、上記実施の形態では、連携処理サーバ50を使用して複数のサービスの連携処理を実行したり、複数の装置を直列接続して連携処理する場合を説明したが、本発明はこれに限定されるものではない。すなわち、上記各種装置やサービスを1つの装置に機能として備えた複合装置へ適用したとしても、上記実施の形態と同様の効果を得ることができる。