(57)【要約】【課題】ジョブフローの処理中にエラーが発生した場合、ユーザの希望に合致するように、エラー発生後の連携処理を実行する。【解決手段】連携処理サーバ５０は、画像処理装置６２に第２のサービス処理を依頼した後、画像処理装置６２からエラー発生の処理結果を受信した場合、又は所定時間経過しても画像処理装置６２から何ら処理結果を受信しなかった場合は、画像処理装置６２にエラー発生が発生したと判定する。そして、連携処理サーバ５０は、実行済みのサービスを＜実行＞から除くと共に、エラー発生時の指示書を＜ログ＞として添付した新たな指示書を作成する。【選択図】        図２
2004288067.tif 000002
【特許請求の範囲】
【請求項１】
文書データに関して所定の処理をそれぞれ行う複数のサービスをネットワーク上で連携処理することを指示する第１の連携指示情報に基づいて、連携処理の順番になったサービス処理を実行するサービス処理装置に対して、サービスの実行を依頼するサービス依頼手段と、
連携処理の順番になったサービス処理装置が実行不可であったときに、実行不可時のサービス及びそれ以降のサービスを連携処理することを指示する第２の連携指示情報を生成する連携指示情報生成手段と、
を備えた連携処理装置。
【請求項２】
前記連携指示情報生成手段は、前記第１の連携指示情報の識別情報と同じ識別情報を前記第２の連携指示情報に付加すること、実行済みのサービスを削除して複数のサービスをネットワーク上で連携処理することを前記第２の連携指示情報に記述すること、の少なくとも一方を実行することで、前記第２の連携指示情報を生成すること
を特徴とする請求項１に記載の連携処理装置。
【請求項３】
前記連携指示情報生成手段は、前記サービス処理装置が実行不可になった時までに処理された文書データの格納先情報を記述した前記第２の連携指示情報を生成すること
を特徴とする請求項１または２に記載の連携処理装置。
【請求項４】
前記連携指示情報生成手段は、実行済みのサービス処理を表したログ情報を有する前記第２の連携指示情報、又は、前記第１の連携指示情報が添付された前記第２の連携指示情報を生成すること
を特徴とする請求項１から３のいずれか１項に記載の連携処理装置。
【請求項５】
前記サービス依頼手段は、再実行が指示されると、前記第２の連携指示情報に基づいて、連携処理の順番になったサービス処理を実行するサービス処理装置に対してサービスの実行を依頼すること
を特徴とする請求項１から４のいずれか１項に記載の連携処理装置。
【請求項６】
連携処理の順番になったサービス処理装置が実行不可であったときに、連携処理を中断する連携処理中断手段と、
連携処理の順番になったサービス処理装置が実行不可であったときに、代替可能なサービス処理装置を検索する検索手段と、
前記第１の連携指示情報に記述された情報に基づいて、前記連携指示情報生成手段、前記連携処理中断手段、前記検索手段、の実行を切り換え制御する制御手段と、を更に備えたこと
を特徴とする請求項１から５のいずれか１項に記載の連携処理装置。
【請求項７】
文書データに関して所定の処理をそれぞれ行う複数のサービスをネットワーク上で連携処理することを指示する第１の連携指示情報に基づいて、連携処理の順番になったサービス処理を実行するサービス処理装置に対して、サービスの実行を依頼するサービス依頼工程と、
連携処理の順番になったサービス処理装置が実行不可であったときに、実行不可時のサービス及びそれ以降のサービスを連携処理することを指示する第２の連携指示情報を生成する連携指示情報生成工程と、
を備えた連携処理方法。
【請求項８】
前記連携指示情報生成工程では、前記第１の連携指示情報の識別情報と同じ識別情報を前記第２の連携指示情報に付加すること、実行済みのサービスを削除して複数のサービスをネットワーク上で連携処理することを前記第２の連携指示情報に記述すること、の少なくとも一方を実行することで、前記第２の連携指示情報を生成すること
を特徴とする請求項７に記載の連携処理方法。
【請求項９】
前記連携指示情報生成工程では、前記サービス処理装置が実行不可になった時までに処理された文書データの格納先情報を記述した前記第２の連携指示情報を生成すること
を特徴とする請求項７または８に記載の連携処理方法。
【請求項１０】
前記連携指示情報生成工程では、実行済みのサービス処理を表したログ情報を有する前記第２の連携指示情報、又は、前記第１の連携指示情報が添付された前記第２の連携指示情報を生成すること
を特徴とする請求項７から９のいずれか１項に記載の連携処理方法。
【請求項１１】
前記サービス依頼工程では、再実行が指示されると、前記第２の連携指示情報に基づいて、連携処理の順番になったサービス処理を実行するサービス処理装置に対してサービスの実行を依頼すること
を特徴とする請求項７から１０のいずれか１項に記載の連携処理方法。
【請求項１２】
連携処理の順番になったサービス処理装置が実行不可であったときに、連携処理を中断する連携処理中断工程と、
連携処理の順番になったサービス処理装置が実行不可であったときに、代替可能なサービス処理装置を検索する検索工程と、
前記第１の連携指示情報に記述された情報に基づいて、前記連携指示情報生成工程、前記連携処理中断工程、前記検索工程、の実行を切り換え制御する制御工程と、を更に備えたこと
を特徴とする請求項７から１１のいずれか１項に記載の連携処理方法。
【請求項１３】
コンピュータを、
文書データに関して所定の処理をそれぞれ行う複数のサービスをネットワーク上で連携処理することを指示する第１の連携指示情報に基づいて、連携処理の順番になったサービス処理を実行するサービス処理装置に対して、サービスの実行を依頼するサービス依頼手段と、
連携処理の順番になったサービス処理装置が実行不可であったときに、実行不可時のサービス及びそれ以降のサービスを連携処理することを指示する第２の連携指示情報を生成する連携指示情報生成手段と、
として機能させる連携処理制御プログラム。
【請求項１４】
前記連携指示情報生成手段は、前記第１の連携指示情報の識別情報と同じ識別情報を前記第２の連携指示情報に付加すること、実行済みのサービスを削除して複数のサービスをネットワーク上で連携処理することを前記第２の連携指示情報に記述すること、の少なくとも一方を実行することで、前記第２の連携指示情報を生成すること
を特徴とする請求項１３に記載の連携処理制御プログラム。
【請求項１５】
前記連携指示情報生成手段は、前記サービス処理装置が実行不可になった時までに処理された文書データの格納先情報を記述した前記第２の連携指示情報を生成すること
を特徴とする請求項１３または１４に記載の連携処理制御プログラム。
【請求項１６】
前記連携指示情報生成手段は、実行済みのサービス処理を表したログ情報を有する前記第２の連携指示情報、又は、前記第１の連携指示情報が添付された前記第２の連携指示情報を生成すること
を特徴とする請求項１３から１５のいずれか１項に記載の連携処理制御プログラム。
【請求項１７】
前記サービス依頼手段は、再実行が指示されると、前記第２の連携指示情報に基づいて、連携処理の順番になったサービス処理を実行するサービス処理装置に対してサービスの実行を依頼すること
を特徴とする請求項１３から１６のいずれか１項に記載の連携処理制御プログラム。
【請求項１８】
コンピュータを、
連携処理の順番になったサービス処理装置が実行不可であったときに、連携処理を中断する連携処理中断手段と、
連携処理の順番になったサービス処理装置が実行不可であったときに、代替可能なサービス処理装置を検索する検索手段と、
前記第１の連携指示情報に記述された情報に基づいて、前記連携指示情報生成手段、前記連携処理中断手段、前記検索手段、の実行を切り換え制御する制御手段と、して更に機能させること
を特徴とする請求項１３から１７のいずれか１項に記載の連携処理制御プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、連携処理装置、連携処理方法及びプログラムに係り、特に、電子化された文書に対して複数の処理を連携して実行する連携処理装置、連携処理方法及びプログラムに関する。
【０００２】
【従来の技術】
従来、サーバにデータベース管理システムを搭載しているクライアントサーバシステムにおけるオンライントランザクション処理の高速化技術が提案されている（例えば、特許文献１参照。）。
【０００３】
特許文献１に記載されたクライアントサーバシステムでは、特許文献１の図１及び図２に示すように、最初に、オペレータ等が、クライアント１の伝票入力部１１により、例えば伝票入力を行う（ステップＳ１）。オペレータ等が保存を指示すると、入力された伝票のデータが伝票入力部１１からデータ生成部１２に与えられる。
【０００４】
データ生成部１２は、与えられた伝票のデータをもとにして、入力されたトランザクション情報を一括して送信するための電文を生成し、送信する（ステップＳ２）。この電文は、ネットワークＮＷを介してサーバ２に伝送され、サーバ２のトランザクション保存部２１で受信される。
【０００５】
トランザクション保存部２１は、受信した電文に基づき、伝票のトランザクションデータを伝票トランザクションテーブルとして伝票トランザクションファイル２２に保存する（ステップＳ３）。トランザクション保存部２１は、さらに、受信した電文から、他のテーブルを更新するための予め定められた情報を抽出すると共に定義情報２３を参照する。トランザクション保存部２１は、ＤＢＭＳ２４のストアードプロシージャテーブルに登録されている定義情報２３を参照し、与えられたトランザクションデータに基づき、ＤＢＭＳ２４のストアードプロシージャを用いた他のテーブルの更新を定義するトリガをＤＢＭＳ２４に供給する。
【０００６】
ＤＢＭＳ２４は、トリガに応答し、ストアードプロシージャをコールする（ステップＳ４）。このストアードプロシージャのコールに関してエラーが発生したか否かがチェックされる（ステップＳ５）。
【０００７】
ＤＢＭＳ２４は、エラーが発生していなければ、コールしたストアードプロシージャを実行し、マスタテーブルファイル２５内の該当するマスタテーブルを更新させる（ステップＳ６）。この更新作業に際してエラーが発生したか否かがチェックされる（ステップＳ７）。エラーが発生していなければ処理を終了する。
【０００８】
ステップＳ５及びＳ７で、エラーが検出された場合には、全ての更新情報を無効として、トランザクション保存部２１によるトランザクションデータの保存情報もロールバックされて（ステップＳ８）、最新のトランザクション発生前の状態に復旧される。
【０００９】
【特許文献１】
特開平１０−２８３３１９号公報（第４８段落から第５６段落）
【００１０】
【発明が解決しようとする課題】
上述したように、特許文献１に記載されたクライアントサーバシステムは、エラーを検出した場合にはすべての更新情報を無効にして、最初の状態に戻してしまっていた。
【００１１】
また、従来、ドキュメントのジョブフローを実行する文書処理システムは、あらかじめ指定された所定の処理（ドキュメント処理、配信・集配・転送・変換・保存など）を何らかの原因により実行できない場合、そのまま所定の処理を中断するか、あらかじめ指定された代替装置により所定の処理を代替していた。
【００１２】
このため、上記文書処理システムは、所定の処理を中断した場合、中途半端な状態で処理を終了してしまうという問題があった。また、上記文書処理システムは、代替装置が指定されている場合、処理内容が同じでもその他条件（処理料金・処理時間）がユーザの希望に合わないことがある。
【００１３】
本発明は、上述した課題を解決するために提案されたものであり、ジョブフローの処理中にエラーが発生した場合、ユーザの希望に合致するように、エラー発生後の連携処理を実行する連携処理装置、連携処理方法及びプログラムを提供することを目的とする。
【００１４】
【課題を解決するための手段】
請求項１に記載の発明である連携処理装置は、文書データに関して所定の処理をそれぞれ行う複数のサービスをネットワーク上で連携処理することを指示する第１の連携指示情報に基づいて、連携処理の順番になったサービス処理を実行するサービス処理装置に対して、サービスの実行を依頼するサービス依頼手段と、連携処理の順番になったサービス処理装置が実行不可であったときに、実行不可時のサービス及びそれ以降のサービスを連携処理することを指示する第２の連携指示情報を生成する連携指示情報生成手段と、を備えている。
【００１５】
請求項７に記載の発明である連携処理方法は、文書データに関して所定の処理をそれぞれ行う複数のサービスをネットワーク上で連携処理することを指示する第１の連携指示情報に基づいて、連携処理の順番になったサービス処理を実行するサービス処理装置に対して、サービスの実行を依頼するサービス依頼工程と、連携処理の順番になったサービス処理装置が実行不可であったときに、実行不可時のサービス及びそれ以降のサービスを連携処理することを指示する第２の連携指示情報を生成する連携指示情報生成工程と、を備えている。
【００１６】
請求項１３に記載の発明である連携処理制御プログラムは、コンピュータを、文書データに関して所定の処理をそれぞれ行う複数のサービスをネットワーク上で連携処理することを指示する第１の連携指示情報に基づいて、連携処理の順番になったサービス処理を実行するサービス処理装置に対して、サービスの実行を依頼するサービス依頼手段と、連携処理の順番になったサービス処理装置が実行不可であったときに、実行不可時のサービス及びそれ以降のサービスを連携処理することを指示する第２の連携指示情報を生成する連携指示情報生成手段と、として機能させる。
【００１７】
上記の発明において、サービス処理装置は、文書データに関して所定の処理を行うサービス処理を実行するものである。サービスとは、外部からの要求に応じて文書に関する利用可能な機能をいい、例えば、コピー、プリント、スキャン、ファクシミリ送受信、メール配信など特に限定されるものではない。
【００１８】
サービス依頼手段は、第１の連携指示情報に基づいて、連携処理の順番になったサービス毎に、そのサービス処理を実行するサービス処理装置に対して実行を依頼する。
【００１９】
一方、サービス処理装置は、上記依頼を受けると、所定のサービス処理を実行する。しかし、サービス処理装置がサービス処理前又はその実行中に故障した場合、連携処理装置は、各サービスを連携した連携処理を実行することができなくなる。
【００２０】
そこで、連携指示情報生成手段は、連携処理の順番になったサービス処理装置が実行不可であったときに、実行不可時のサービス及びそれ以降のサービスを連携処理することを指示する第２の連携指示情報を生成する。
【００２１】
したがって、上記発明によれば、連携処理の順番になったサービス処理装置が実行不可になっても、実行不可時のサービス及びそれ以降のサービスを連携処理することを指示する第２の連携指示情報を生成することにより、再実行時にはこの第２の連携指示情報を用いて、実行不可時のサービス、及びそれ以降のサービスの連携処理を確実に実行することができる。
【００２２】
請求項２に記載の発明である連携処理装置は、請求項１に記載の発明であって、前記連携指示情報生成手段は、前記第１の連携指示情報の識別情報と同じ識別情報を前記第２の連携指示情報に付加すること、実行済みのサービスを削除して複数のサービスをネットワーク上で連携処理することを前記第２の連携指示情報に記述すること、の少なくとも一方を実行することで、前記第２の連携指示情報を生成することを特徴とする。
【００２３】
請求項８に記載の発明である連携処理方法は、請求項７に記載の発明であって、前記連携指示情報生成工程では、前記第１の連携指示情報の識別情報と同じ識別情報を前記第２の連携指示情報に付加すること、実行済みのサービスを削除して複数のサービスをネットワーク上で連携処理することを前記第２の連携指示情報に記述すること、の少なくとも一方を実行することで、前記第２の連携指示情報を生成することを特徴とする。
【００２４】
請求項１４に記載の発明である連携処理制御プログラムは、請求項１３に記載の発明であって、前記連携指示情報生成手段は、前記第１の連携指示情報の識別情報と同じ識別情報を前記第２の連携指示情報に付加すること、実行済みのサービスを削除して複数のサービスをネットワーク上で連携処理することを前記第２の連携指示情報に記述すること、の少なくとも一方を実行することで、前記第２の連携指示情報を生成することを特徴とする。
【００２５】
したがって、上記発明によれば、第１の連携指示情報の識別情報を用いることで第２の連携指示情報を識別することができ、又は、第２の連携指示情報に基づいて実行済みのサービスを除く連携処理を実行することができる。
【００２６】
請求項３に記載の発明である連携処理装置は、請求項１または２に記載の発明であって、前記連携指示情報生成手段は、前記サービス処理装置が実行不可になった時までに処理された文書データの格納先情報を記述した前記第２の連携指示情報を生成することを特徴とする。
【００２７】
請求項９に記載の発明である連携処理方法は、請求項７または８に記載の発明であって、前記連携指示情報生成工程では、前記サービス処理装置が実行不可になった時までに処理された文書データの格納先情報を記述した前記第２の連携指示情報を生成することを特徴とする。
【００２８】
請求項１５に記載の発明である連携処理制御プログラムは、請求項１３または１４に記載の発明であって、前記連携指示情報生成手段は、前記サービス処理装置が実行不可になった時までに処理された文書データの格納先情報を記述した前記第２の連携指示情報を生成することを特徴とする。
【００２９】
したがって、上記発明によれば、サービス処理装置が実行不可になった時までに処理された文書データの格納先情報を記述した第２の連携指示情報を生成することにより、実行不可になった時までに文書データを読み出して、再実行することができる。
【００３０】
請求項４に記載の発明である連携処理装置は、請求項１から３のいずれか１項に記載の発明であって、前記連携指示情報生成手段は、実行済みのサービス処理を表したログ情報を有する前記第２の連携指示情報、又は、前記第１の連携指示情報が添付された前記第２の連携指示情報を生成することを特徴とする。
【００３１】
請求項１０に記載の発明である連携処理方法は、請求項７から９のいずれか１項に記載の発明であって、前記連携指示情報生成工程では、実行済みのサービス処理を表したログ情報を有する前記第２の連携指示情報、又は、前記第１の連携指示情報が添付された前記第２の連携指示情報を生成することを特徴とする。
【００３２】
請求項１６に記載の発明である連携処理制御プログラムは、請求項１３から１５のいずれか１項に記載の発明であって、前記連携指示情報生成手段は、実行済みのサービス処理を表したログ情報を有する前記第２の連携指示情報、又は、前記第１の連携指示情報が添付された前記第２の連携指示情報を生成することを特徴とする。
【００３３】
したがって、上記発明によれば、実行済みのサービス処理を表したログ情報を有する第２の連携指示情報、又は、第１の連携指示情報が添付された前記第２の連携指示情報を生成することにより、第２の連携指示情報に基づいて、既に実行済みのサービス処理を確認することができる。
【００３４】
請求項５に記載の発明である連携処理装置は、請求項１から４のいずれか１項に記載の発明であって、前記サービス依頼手段は、再実行が指示されると、前記第２の連携指示情報に基づいて、連携処理の順番になったサービス処理を実行するサービス処理装置に対してサービスの実行を依頼することを特徴とする。
【００３５】
請求項１１に記載の発明である連携処理方法は、請求項７から１０のいずれか１項に記載の発明であって、前記サービス依頼工程では、再実行が指示されると、前記第２の連携指示情報に基づいて、連携処理の順番になったサービス処理を実行するサービス処理装置に対してサービスの実行を依頼することを特徴とする。
【００３６】
請求項１７に記載の発明である連携処理制御プログラムは、請求項１３から１６のいずれか１項に記載の発明であって、前記サービス依頼手段は、再実行が指示されると、前記第２の連携指示情報に基づいて、連携処理の順番になったサービス処理を実行するサービス処理装置に対してサービスの実行を依頼することを特徴とする。
【００３７】
したがって、上記発明によれば、再実行が指示されると、第２の連携指示情報に基づいて各サービス処理装置に対してサービスの実行を依頼することにより、実行不可時点からのサービス処理を再実行することができる。
【００３８】
請求項６に記載の発明である連携処理装置は、請求項１から５のいずれか１項に記載の発明であって、連携処理の順番になったサービス処理装置が実行不可であったときに、連携処理を中断する連携処理中断手段と、連携処理の順番になったサービス処理装置が実行不可であったときに、代替可能なサービス処理装置を検索する検索手段と、前記第１の連携指示情報に記述された情報に基づいて、前記連携指示情報生成手段、前記連携処理中断手段、前記検索手段、の実行を切り換え制御する制御手段と、を更に備えたことを特徴とする。
【００３９】
請求項１２に記載の発明である連携処理方法は、請求項７から１１のいずれか１項に記載の発明であって、連携処理の順番になったサービス処理装置が実行不可であったときに、連携処理を中断する連携処理中断工程と、連携処理の順番になったサービス処理装置が実行不可であったときに、代替可能なサービス処理装置を検索する検索工程と、前記第１の連携指示情報に記述された情報に基づいて、前記連携指示情報生成工程、前記連携処理中断工程、前記検索工程、の実行を切り換え制御する制御工程と、を更に備えている。
【００４０】
請求項１８に記載の発明である連携処理制御プログラムは、請求項１３から１７のいずれか１項に記載の発明であって、コンピュータを、連携処理の順番になったサービス処理装置が実行不可であったときに、連携処理を中断する連携処理中断手段と、連携処理の順番になったサービス処理装置が実行不可であったときに、代替可能なサービス処理装置を検索する検索手段と、前記第１の連携指示情報に記述された情報に基づいて、前記連携指示情報生成手段、前記連携処理中断手段、前記検索手段、の実行を切り換え制御する制御手段と、して更に機能させることを特徴とする。
【００４１】
したがって、上記発明によれば、ユーザの希望を予め第１の連携指示情報に反映しておけば、サービス処理装置が実行不可であったときは、ユーザの希望に応じて、前記連携指示情報生成手段、前記連携処理中断手段、前記検索手段のいずれかを実行することができる。
【００４２】
【発明の実施の形態】
以下、本発明の好ましい実施の形態について図面を参照しながら詳細に説明する。
【００４３】
（システム構成）
図１は、本発明の実施形態に係る文書処理システム１の構成を示すブロック図である。
【００４４】
文書処理システム１は、様々なサービスやアプリケーションがネットワーク５を介して接続されたものである。ここで、サービスとは、外部からの要求に応じて文書に関する利用可能な機能をいう。サービスは、例えば、コピー、プリント、スキャン、ファクシミリ送受信、メール配信、レポジトリへの格納やリポジトリからの読込、ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｔｉｏｎ）処理、ノイズ除去処理等が該当し、特に限定されるものではない。
【００４５】
文書処理システム１は、具体的は、複数のサービスを連携させてユーザの所望の処理を指示するユーザインタフェースを備えたクライアント端末１０と、ユーザの所望のサービスを検索するサービス検索サーバ２０と、クライアント端末１０で指示されたサービス連携に関する情報から指示書を作成する指示書生成サーバ３０と、指示書を管理する指示書管理サーバ４０と、指示書に従って各サービスの連携処理を実行する連携処理サーバ５０と、を備えている。
【００４６】
さらに、文書処理システム１は、紙文書を読み取って電子化された画像文書を生成する画像読取装置６１と、画像文書のノイズ除去処理や画像回転処理やＯＣＲ処理等の画像処理を行う画像処理装置６２と、画像処理済みの文書を管理する文書管理サーバ６３と、第１のサービス処理を行う第１のサービス処理装置６４と、第２のサービス処理を行う第２のサービス処理装置６５と、を備えている。
【００４７】
なお、文書処理システム１は、本実施形態では所定のサービス処理を行う複数のサーバがネットワーク５を介して接続された構成となっているが、複数のサービスがネットワーク５を介して接続されていれば特に限定されるものではない。
【００４８】
ここで、指示書とは、一連の処理を複数の機能的な処理に分解した場合において、各機能の関係を表す情報と、各機能を呼び出すためのインタフェース（Ｉ／Ｆ）情報と、一連の処理に関するグラフィカルユーザインタフェース（ＧＵＩ）を構成するための情報と、を含んだデータをいう。
【００４９】
図２は、文書処理システム１を構成する各サービス処理装置の相互関係を説明するためのブロック図である。各サービス処理装置は、自身が提供するサービスの内容を表すＩ／Ｆ情報を記憶している。
【００５０】
図３は、Ｉ／Ｆ情報の構成を示す概念図である。Ｉ／Ｆ情報は、＜サービス種類（Ｓｅｒｖｉｃｅ  Ｃｌａｓｓ）＞、＜サービス名（Ｓｅｒｖｉｃｅ  Ｎａｍｅ）＞、＜サービス・アイコン（Ｓｅｒｖｉｃｅ  Ｉｃｏｎ）＞、＜サービスロケーション情報（Ｓｅｒｖｉｃｅ  Ｌｏｃａｔｉｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ）＞、＜入力（Ｉｎｐｕｔ）＞、＜出力（Ｏｕｔｐｕｔ）＞、＜パラメータ制限ルール（Ｐａｒａｍｅｔｅｒ  Ｒｅｓｔｒｉｃｔｉｏｎ  Ｒｕｌｅｓ）＞、＜サービス・ロケーション（Ｓｅｒｖｉｃｅ  Ｌｏｃａｔｉｏｎ）＞、＜メソッド名（Ｍｅｔｈｏｄ  Ｎａｍｅ）＞、＜起動方法（Ｉｎｖｏｃａｔｉｏｎ  Ｓｃｈｅｍｅ）＞、＜黙示要素（Ｉｎｐｌｉｃｉｔ  Ｅｌｅｍｅｎｔｓ）＞で構成されている。
【００５１】
＜サービス種類＞は、サービス処理装置が提供するサービスの種類である。なお、＜サービス種類＞は、予め定義されているものが使用され、例えば、スキャン、プリント、レポジトリ、フロー等が該当する。＜サービス名＞は、サービス処理装置が提供するサービスの名前である。＜サービス・アイコン＞は、クライアント端末１０のＧＵＩに表示するアイコンの位置情報である。
【００５２】
＜サービスロケーション情報＞は、指示書生成サーバ３０がＩ／Ｆ情報を取得するために用いるＵＲＬである。＜入力＞は、サービスへの入力である。＜出力＞は、サービスからの出力である。＜パラメータ制限ルール＞は、＜入力＞や＜出力＞に適用される制限ルールである。＜サービスロケーション＞は、サービスを実際に使用するときの位置情報である。＜メソッド名＞は、サービス処理の提供手法ややサービスを指し示す名称が記述されている。
【００５３】
＜起動方法＞は、サービス処理を呼び出し起動する方法である。なお、＜起動方法＞としては、例えばメッセージ交換のプロトコルであるＳＯＡＰ（Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）、ＳＭＴＰ（Ｓｉｍｐｌｅ  Ｍａｉｌ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）等を用いることができる。＜黙示要素＞は、出力として明示的に後段の処理に渡されるデータでないが、後段の処理で参照可能なデータである。
【００５４】
クライアント端末１０は、指示書の作成を指示したり、起動すべき指示書を選択するために、画面表示したり所定の操作を行うためのグラフィカルユーザインタフェース（ＧＵＩ）の機能を備えている。
【００５５】
サービス検索サーバ２０は、ネットワーク５に接続された複数のサービスの中から、検索条件に対応するサービスを検索する。サービス検索サーバ２０は、画像読取装置６１、画像処理装置６２、文書管理サーバ６３、第１のサービス処理装置６４、第２のサービス処理装置６５等の様々なサービス処理装置のＩ／Ｆ情報の一部（以下「部分Ｉ／Ｆ情報」という。）を予め記憶している。ここで、部分Ｉ／Ｆ情報は、Ｉ／Ｆ情報の要素中の＜サービス種類＞、＜サービス名＞、＜サービスロケーション情報＞、＜入力＞情報、＜出力＞情報をいう。
【００５６】
サービス検索サーバ２０は、指示書生成サーバ３０や連携処理サーバ５０から検索条件が送信されたときは、各サービス処理装置の部分Ｉ／Ｆ情報を用いてサービスを検索する。例えば、サービス検索サーバ２０は、所定のサービスと同様のサービスを検索するときは、＜サービス種類＞が一致するサービスを検索したり、＜入力＞及び＜出力＞が一致するサービスを検索したり、これらすべてが一致するサービスを検索すればよい。
【００５７】
指示書生成サーバ３０は、指示書作成時には各サービス処理装置からＩ／Ｆ情報を取得して、各サービス処理装置が提供するサービスを連携させるための指示書を生成する。指示書生成サーバ３０は、指示書を作成すべく、具体的には次の処理を実行する。
【００５８】
指示書生成サーバ３０は、＜サービスロケーション情報＞に基づいて、ネットワーク５上に分散した所定のサービス処理装置から、各サービスに関するＩ／Ｆ情報を送信するように要求する。なお、指示書生成サーバ３０は、所定のサービス処理装置がない場合は、サービス検索サーバ２０に対して、所定のサービス処理装置と同一のサービスを行う他のサービス処理装置を検索するように指示を出す。そして、指示書生成サーバ３０は、サービス検索サーバ２０から、他のサービス処理装置の＜サービスロケーション情報＞を取得すればよい。
【００５９】
指示書生成サーバ３０は、サービス検索サーバ２０からの検索結果や各サービス処理装置から受信したＩ／Ｆ情報を管理する。指示書生成サーバ３０は、各サービス処理装置から取得したＩ／Ｆ情報に基づいて、ジョブフローを定義するためのＧＵＩ画面となるＨＴＭＬファイルを生成する。そして、指示書生成サーバ３０は、クライアント端末１０からのサービスの閲覧要求があると、ＧＵＩ画面となるＨＴＭＬファイルを前記クライアント端末１０へ送信する。
【００６０】
図４は、ジョブフローを定義するためのＧＵＩ画面である指示書作成画面１００を示す図である。指示書作成画面１００は、サービスウインドウ１０１、フローウインドウ１０２、ロジックウインドウ１０３、プロパティーウインドウ１０４で構成されている。
【００６１】
サービスウインドウ１０１は、使用可能な様々なサービス処理装置を表示する。ロジックウインドウ１０３は、サービス間の連携のパターンを示すジョブフローを表示する。プロパティーウインドウ１０４は、サービスウインドウ１０１とロジックウインドウ１０３に表示された各アイコンの詳細な設定パラメータを表示する。
【００６２】
ユーザは、サービスウインドウ１０１のアイコンとロジックウインドウ１０３のアイコンをフローウインドウ１０２にドラッグ・アンド・ドロップすることで、フローウインドウ１０２にジョブフローを定義することができる。ユーザは、さらに、プロパティーウインドウ１０４に表示された内容を編集することによって、サービスやロジックなどのサービス間の関係を詳細に設定することができる。
【００６３】
クライアント端末１０は、ユーザの操作によって定義されたジョブフロー情報を指示書生成サーバ３０に送信する。
【００６４】
指示書生成サーバ３０は、ユーザからのサービス連携の指示に関するジョブフロー情報と、各サービスのＩ／Ｆ情報とに基づいて、各サービスへ依頼する処理の内容、入力パラメータ、各サービスの連携の仕方（ジョブフロー）、文書名や格納ロケーション情報等の処理対象の文書を特定するための情報を定義した指示書を作成する。本実施例では、指示書は、ＸＭＬ形式のファイルで構成されている。
【００６５】
図５は、ＸＭＬ形式で構成された指示書を示す概念図である。複数のサービスの連携処理自体も１つのサービスとみなされるので、指示書は、図３に示したＩ／Ｆ情報に加えて＜フロー（Ｆｌｏｗ）＞を追加した構成になっている。
【００６６】
＜フロー＞は、サービス間の連携を記述する要素であり、＜起動（Ｉｎｖｏｋｅ）＞、制御構造や論理演算、条件判断をするための＜ｉｆ＞等の要素、サービス間の連携を調整するためのＸＭＬ構造の操作指示、さらに処理対象の文書を特定するための情報を含んでいる。
【００６７】
＜起動＞は、サービス処理装置の特定のメソッドを表し、サービスの呼び出しを実行する。＜起動＞の要素として、パラメータの位置情報を示す＜マップ＞と、呼び出すメソッド名＜メソッド＞を有している。制御構造や論理演算等を示す＜ｉｆ＞、＜ａｎｄ＞、＜ｅｑ＞、＜ｇｔ＞は、連携処理時に条件分岐を行ったり、サービス間で受け渡されるパラメータの調整を実施する。
【００６８】
指示書は、サービスの連携処理の制御に関するすべての情報を＜フロー＞の要素に記述している。これにより、指示書によって表される連携処理自体も１つのサービスとみなされる。なお、指示書は、図５に示す構成に限定されるものではなく、各サービスを連携させることができればよい。
【００６９】
指示書生成サーバ３０は、以上のようなＸＭＬ形式の指示書を指示書管理サーバ４０に送信する。また、指示書生成サーバ３０は、ユーザによりサービス連携処理の実行が指示されている場合は、指示書を直接連携処理サーバ５０に送信してもよい。
【００７０】
指示書管理サーバ４０は、指示書生成サーバ３０から送信された指示書を保持し、クライアント端末１０からの要求に応じて指示書を連携処理サーバ５０へ送信する。
【００７１】
連携処理サーバ５０は、指定された指示書を解釈・実行するサーバである。連携処理サーバ５０は、指示書が送信されると、その指示書を解釈し、指示書に記述されている順番と利用方法に従い、画像読取装置６１、画像処理装置６２、文書管理サーバ６３、などの各サービス処理装置を順に呼び出し、連携処理を実行する。また、連携処理サーバ５０は、実行中の連携処理の状況や終了した連携処理の結果の情報を保存し、外部からの要求に応じて、連携処理の状況や結果を通知する。
【００７２】
連携処理サーバ５０は、指示書を解釈して各サービス処理装置へ依頼する際には、処理依頼内容や入力パラメータ、処理対象の文書を特定するための情報等を有する個別指示情報を生成する。なお、連携処理サーバ５０は、各サービス処理装置で行う処理の連携処理における前後のサービス処理との関連情報を抽出して指示書に記述してもよいし、指示書の形式ではなく各サービス処理装置毎の固有の情報交換形式で処理依頼を行うようにしてもよい。
【００７３】
図６は、連携処理サーバ５０の構成を示すブロック図である。連携処理サーバ５０は、ネットワーク５との間で情報の送受信を行う入出力ポート５１と、連携処理制御プログラムを記憶しているＲＯＭ５２、連携処理を実行するＣＰＵ５３、データのワークエリアであるＲＡＭ５４、ＣＰＵ５３によって処理されたデータ等を記憶するハードディスクドライブ５５とを備えている。
【００７４】
入出力ポート５１は、例えば、指示書を受信したり、サービス処理装置に対してサービス処理の依頼をするために個別指示情報を送信したり、サービス処理装置からの処理結果を受信する。
【００７５】
ＣＰＵ５３は、連携処理サーバ５０の全体制御を実行する。ＣＰＵ５３は、例えば、指示書に基づいて各サービス処理装置に対する個別指示情報を作成したり、各サービス処理装置からの処理結果を指示書に反映して、次のサービス処理装置にサービス依頼を行う。また、ＣＰＵ５３は、サービス処理装置にエラーが発生した場合には、エラーした時点からの再実行を図るべく、新たな指示書を作成する。さらに、ＣＰＵ５３は、上述した再実行処理、連携処理の中断、代替サービスの検索、ジョブフローの最初からの再処理、の切り換え制御を行うこともできる。
【００７６】
画像読取装置６１は、紙文書を光学的に読み取って電子化された画像文書を生成する。画像読取装置６１は、起動時にサービス検索サーバ２０に対して部分Ｉ／Ｆ情報を通知したり、指示書生成サーバ３０からの要求により文書管理サービスの利用方法を示すＩ／Ｆ情報を送信する。
【００７７】
画像処理装置６２は、画像処理機能を行うソフトウェアプログラムがインストールされたコンピュータである。画像処理装置６２は、連携処理サーバ５０からの処理要求依頼に含まれるサービス処理依頼内容、入力パラメータ、処理対象文書の情報に基づいて、文書の処理を行う。また、画像処理装置６２は、起動時にサービス検索サーバ２０に対して、部分Ｉ／Ｆ情報を通知する。さらに、画像処理装置６２は、指示書生成サーバ３０からの要求により、画像処理サービスの利用方法を示すＩ／Ｆ情報を送信する。このＩ／Ｆ情報は、指示書作成時に利用される。
【００７８】
文書管理サーバ６３は、文書格納機能を有している。文書管理サーバ６３は、連携処理サーバ５０からの要求に含まれる情報に基づき、文書の格納や検索や読み出し、文書に関する属性の変更や各種処理を実行する。また、文書管理サーバ６３は、起動時にサービス検索サーバ２０に対して、部分Ｉ／Ｆ情報を通知する。さらに、文書管理サーバ６３は、指示書生成サーバ３０からの要求により文書管理サービスの利用方法を示すＩ／Ｆ情報を送信する。
【００７９】
第１のサービス処理装置６４は、外部からの指示に従って文書に関する所定のサービス処理を行う装置である。ここで、第１のサービス処理装置６４は、連携処理サーバ５０からの処理依頼内容や入力パラメータ、処理対象の文書を特定するための情報等の情報に基づき、自身で実行すべきサービス処理を実行する。また、第１のサービス処理装置６４は、起動時に、サービス検索サーバ２０に対して、部分Ｉ／Ｆ情報を通知する。さらに、第１のサービス処理装置６４は、指示書生成サーバ３０からの要求によりサービス処理の利用方法を示すＩ／Ｆ情報を送信する。なお、第２のサービス処理装置６５は、サービス処理の内容を除いて、第１のサービス処理装置６４と同様に動作する。
【００８０】
以上のように構成された文書処理システム１において、画像読取装置６１、画像処理装置６２、文書管理サーバ６３等の各サービス処理装置は、それぞれ所定のサービス処理を実行するためのアプリケーションプログラムがインストールされると、以下のように動作する。
【００８１】
画像読取装置６１、画像処理装置６２、文書管理サーバ６３等のサービス処理装置は、起動処理において、それぞれのサービス概要とアドレスを示す情報を含んだ部分Ｉ／Ｆ情報をサービス検索サーバ２０に通知する。
【００８２】
サービス検索サーバ２０は、画像読取装置６１、画像処理装置６２、文書管理サーバ６３等の各サービス処理装置から送信された部分Ｉ／Ｆ情報を保存する。これにより、サービス検索サーバ２０は、例えば指示書生成サーバ３０や連携処理サーバ５０から所定のサービス検索要求があったときに、部分Ｉ／Ｆ情報を用いて検索を実行することができる。
【００８３】
（指示書の作成）
図７は、指示書作成時のクライアント端末１０及び指示書生成サーバ３０の処理手順を示すフローチャートである。
【００８４】
クライアント端末１０は、ユーザの操作に従って、インストールされたブラウザを通して、指示書生成サーバ３０が提供するユーザインタフェース画面用に生成されたＨＴＭＬファイルのＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）にアクセスする（ステップＳＴ１）。
【００８５】
指示書生成サーバ３０は、クライアント端末１０からの閲覧要求に応じて、ユーザインタフェース画面のＨＴＭＬファイルをクライアント端末１０に送信する（ステップＳＴ２）。
【００８６】
クライアント端末１０は、指示書生成サーバ３０から送信された例えばＨＴＭＬファイルに含まれる画面を構成する情報に基づいて、ユーザインタフェース画面を表示する（ステップＳＴ３）。このとき、ユーザは、クライアント端末１０に表示されたユーザインタフェース画面を用いて、所望のサービス連携のジョブフローを定義することができる。
【００８７】
クライアント端末１０は、ユーザインタフェース画面を介してジョブフローが定義されたか否かを判定し、ジョブフローが定義されるまで待機する（ステップＳＴ４）。クライアント端末１０は、ジョブフローが作成されたと判定すると、ユーザによって定義されたサービス連携に関するジョブフロー情報を指示書生成サーバ３０に送信する。
【００８８】
指示書生成サーバ３０は、クライアント端末１０より送信されたサービス連携のジョブフローに関する情報と、各サービス処理装置から取得したＩ／Ｆ情報とに基づいて、各サービスへ依頼する処理の内容、入力パラメータ、各サービスの連携の仕方、文書名や格納ロケーション情報等の処理対象の文書を特定するための情報を定義した指示書を作成する（ステップＳＴ５）。そして、指示書生成サーバ３０は、ＸＭＬ形式の指示書を指示書管理サーバ４０に送信する。
【００８９】
指示書管理サーバ４０は、指示書生成サーバ３０で生成された指示書を保存する。指示書管理サーバ４０は、指示書生成サーバ３０で作成された複数の指示書を保存しており、クライアント端末１０から指示書の選択指示があった時は選択された指示書を読み出す。
【００９０】
（連携処理の起動・実行）
ユーザは、指示書管理サーバ４０に保存されている複数の指示書の中から所望の指示書を選択して、連携処理を起動させることができる。具体的には、以下の通りである。
【００９１】
図８は、クライアント端末１０、指示書管理サーバ４０及び連携処理サーバ５０の処理を示すフローチャートである。
【００９２】
クライアント端末１０は、指示書管理サーバ４０へアクセスし、指示書管理サーバ４０で管理される指示書リストを取得する（ステップＳＴ１１）。
【００９３】
図９は、指示書リストを表すサービス連携処理選択画面１１０の一例を示す図である。サービス連携処理選択画面１１０は、指示書毎に指示書を選択するためのボタン１１１〜１１７を有している。ユーザは、サービス連携処理選択画面１１０から所望のボタンをクリックすることで、指示書を選択することができる。
【００９４】
クライアント端末１０は、ユーザの操作指示に基づいて、テキスト文書生成ボタン１１７に対応する指示書を選択し、その指示書の起動を指示する。以下、テキスト文書生成ボタン１１７に対応する指示書を例に挙げて説明する。
【００９５】
図１０は、指示書の要部構成を示す図である。この指示書は、（１）紙文書をスキャンして画像文書を生成し（第１のサービス処理）、（２）画像文書にＯＣＲ処理を行ってテキスト文書を生成し（第２のサービス処理）、（３）画像文書とテキスト文書を保存すること（第３のサービス処理）を表している。なお、図９は、図５に示した指示書の＜フロー＞の部分をＸＭＬ形式で示している。
【００９６】
図１０によると、指示書は、＜フロー＞のタグ内に、他の指示書と識別するために固有の＜ｉｄ＝“０１２３４５６７８９”＞を記述している。また、指示書は、＜フロー＞の要素として、実行前の各サービスの内容を表す＜実行（ｅｘｅｃ）＞と、実行後のサービスの内容を表す＜ログ（ｌｏｇ）＞と、を有している。
【００９７】
＜実行＞は、第１から第３までのサービス毎に、＜サービス（ｓｅｒｖｉｃｅ）＞を有している。＜サービス＞のタグ内には、サービスの対象名を示すｎａｍｅがある。また、＜サービス＞は、サービス内容を設定する＜パラメータ（ｐａｒａｍ）＞を有している。
【００９８】
＜パラメータ＞のタグ内には、パラメータの対象名を示すｎａｍｅ、パラメータの設定値を示すｖａｌｕｅがある。なお、ｖａｌｕｅは、＜パラメータ＞の種類に応じて様々有り、数値、動作モード、ＵＲＬなど特に限定されるものではない。
【００９９】
例えば、第１のサービス処理に関する＜サービス＞の対象名は“スキャン”である。また、＜パラメータ＞の対象名は“解像度”であり、設定値は“３００”である。これは、解像度３００ｄｐｉで画像読取（スキャン）を行うことを表している。第２のサービス処理に関する＜サービス＞の対象名は“ＯＣＲ”である。また、＜パラメータ＞の対象名は“ポリシー”であり、設定値は“速度優先”である。これは、速度優先でＯＣＲ処理を行うことを表している。第３のサービス処理に関する＜サービス＞の対象名は“保存”である。また、＜パラメータ＞の対象名は“場所”であり、設定値は“ｆｔｐ：／／ｓｅｒｖｅｒ／ｆｏｌｄｅｒ”である。これは、ＵＲＬ＝“ｆｔｐ：／／ｓｅｒｖｅｒ／ｆｏｌｄｅｒ”に文書を保存することを表している。
【０１００】
そして、指示書管理サーバ４０は、クライアント端末１０によって指示された指示書を連携処理サーバ５０へ送信する（ステップＳＴ１２）。この結果、連携処理サーバ５０は、連携処理の実行を開始する。
【０１０１】
連携処理サーバ５０は、指示書管理サーバ４０より送信された指示書を解釈し、指示書に記述された第１番目の処理である画像読取装置６１に対して、第１のサービス処理を実行することを依頼する（ステップＳＴ１３）。連携処理サーバ５０は、具体的には、指示書に基づいて、第１のサービス処理に関する情報を抽出して個別指示情報を作成する。連携処理サーバ５０は、個別指示情報を第１の処理依頼先である画像読取装置６１へ送信する。
【０１０２】
画像読取装置６１は、連携処理サーバ５０から送信された個別指示情報に基づき、紙文書を解像度３００ｄｐｉでスキャンして画像文書を生成する。画像読取装置６１は、このような処理が完了すると、処理のステータス情報（完了）、出力パラメータ、処理後の文書格納先情報など、処理結果を連携処理サーバ５０へ送信する。
【０１０３】
連携処理サーバ５０は、画像読取装置６１からの処理結果を受信すると、指示書に記述されていた第１のサービス処理の内容“スキャン”を削除し、第１のサービス処理の結果をログとして指示書に記述する。
【０１０４】
図１１は、第１のサービス処理実行後における指示書の要部構成を示す図である。連携処理サーバ５０は、指示書の＜実行＞から＜サービス＞  “スキャン”＞に関する情報を削除する一方で、＜ログ＞に＜サービス＞“スキャン”を記述すると共に、その処理結果を示す＜結果（ｒｅｓｕｌｔ）＞に設定値“成功”を記述した。
【０１０５】
次に、連携処理サーバ５０は、指示書に基づき第２の処理依頼先を特定し、第２のサービス処理を実行することを画像処理装置６２に依頼する（ステップＳＴ１４）。連携処理サーバ５０は、具体的には、指示書に記載された情報をもとに、処理依頼するサービス処理装置のロケーションや処理依頼に必要な入力パラメータと出力パラメータ形式、処理依頼のためのメソッド名、起動方法、処理対象文書を特定する情報を抽出し、個別指示情報を作成する。連携処理サーバ５０は、個別指示情報を第２の処理依頼先である画像処理装置６２へ送信する。
【０１０６】
画像処理装置６２は、送信された指示書に記述された処理対象文書の格納先ロケーション情報をもとに、処理対象文書をコピーし文書を取得する。画像処理装置６２は、取得した文書画像に対し、サービス処理依頼内容を解釈し、ノイズ除去、ＯＣＲ処理といった画像処理を行い、抽出されたテキスト文書とバインドする処理を行う。画像処理装置６２は、画像処理によって得られた画像文書とテキスト文書がバインドされた文書を元の格納先へ再格納する。画像処理装置６２は、このような処理が完了すると、処理のステータス情報（完了）、出力パラメータ、処理後の文書格納先情報など、処理結果を連携処理サーバ５０へ送信する。
【０１０７】
連携処理サーバ５０は、画像処理装置６２からの処理結果を受信すると、指示書に記述されていた第２のサービス処理の内容“ＯＣＲ”を削除し、第２のサービス処理の結果をログとして指示書に記述する。そして、連携処理サーバ５０は、指示書に基づき第３の処理依頼先を特定し、第３のサービス処理を実行することを文書管理サーバ６３に依頼する（ステップＳＴ１５）。連携処理サーバ５０は、第２のサービス処理依頼と同様に、個別指示情報（処理依頼に関する情報である文書を格納する旨の情報、文書の格納先の情報、処理対象文書を特定する情報）を文書管理サーバ６３へ送信する。
【０１０８】
文書管理サーバ６３は、連携処理サーバ５０の依頼内容に基づき、前の処理（第２のサービス処理）で処理され格納された文書を、依頼内容に記述された格納先情報に基づき格納処理を行う。文書管理サーバ６３は、このような処理が完了すると、処理のステータス情報（完了）、出力パラメータ、処理後の文書格納先情報など、処理結果を連携処理サーバ５０へ送信する。
【０１０９】
連携処理サーバ５０は、文書管理サーバ６３からの処理結果を受信すると、指示書に記述されていた第３のサービス処理の内容“保存”を削除し、第３のサービス処理の結果をログとして指示書に記述する。そして、連携処理サーバ５０は、指示書には次の処理が記述されていないと判断すると、クライアント端末１０に対してすべての処理が完了した旨の通知を行い、連携処理を終了する（ステップＳＴ１６）。
【０１１０】
（エラーが発生した場合）
連携処理サーバ５０は、連携処理の実行中にエラーが発生した場合、新たな指示書を作成する。ここでは、上述したステップＳＴ１４において、画像処理装置６２がＯＣＲ処理を実行しなかった場合を例に挙げて説明する。
【０１１１】
連携処理サーバ５０は、画像処理装置６２に第２のサービス処理を依頼した後、画像処理装置６２からエラー発生の処理結果を受信した場合、又は所定時間経過しても画像処理装置６２から何ら処理結果を受信しなかった場合は、画像処理装置６２にエラーが発生したと判定する。そして、連携処理サーバ５０は、実行中の指示書に代えて、新たな指示書を作成する。
【０１１２】
図１２は、第２のサービス処理でエラーが発生したときに作成された新たな指示書の要部構成を示す図である。
【０１１３】
図１２によると、指示書は、＜フロー＞のタグ内に、＜タイプ（ｔｙｐｅ）＝“ｏｎｃｅ”＞、＜リザーブＩＤ（ｒｅｓｅｒｖｅｄ−ｉｄ）＝“０１２３４５６７８９”＞を記述している。タイプ＝“ｏｎｃｅ”は、この新たな指示書が１回しか実行できないことを示している。新たな指示書は、エラー後の再実行処理のためだけに使用されるものであり、何度も実行しないようにするためである。なお、「再実行」とは、エラーしたサービス及びそれ以降のサービス処理を実行することをいう。また、リザーブＩＤは、前の指示書と同じＩＤが割り振られたことを表している。
【０１１４】
また、この指示書は、＜フロー＞の要素として、＜実行＞、＜ログ＞の他に、＜ドキュメント（ｄｏｃｕｍｅｎｔ）＞を有している。＜ドキュメント＞は、エラー発生時点までに処理した文書データを保存した場所を示している。
【０１１５】
例えば図１２に示す＜ドキュメント＞には、＜ロケーションタイプ（ｌｏｃａｔｉｏｎ  ｔｙｐｅ）＝“ｔｅｍｐｏｒａｒｙ”＞が記述されている。これは、連携処理サーバ５０が、文書データを独自の作業領域に格納したことを示している。連携処理サーバ５０は、その他、＜ロケーションタイプ＞に、指示書に文書データを添付することを指示する＜ａｔｔａｃｈｍｅｎｔ＞を記述したり、所定のＵＲＬ（例えば、指示書管理サーバ４０のフォルダを示す“ｆｔｐ：／／ＦｉｌｅＳｅｒｖｅｒ／Ｆｏｌｄｅｒ／”）を記述してもよい。
【０１１６】
一方、＜実行＞には、再実行の対象となる第２及び第３のサービス処理（ＯＣＲ、保存）が記述されている。＜ログ＞には、前の指示書（ＩＤ＝“０１２３４５６７８９”）が記述されている。＜ログ＞によると、第２のサービス処理である“ＯＣＲ”においてタイムアウトエラーが発生し、第３のサービス処理である“保存”が実行されていないことが分かる。
【０１１７】
図１３は、エラー発生時の連携処理サーバ５０の処理手順を示すフローチャートである。連携処理サーバ５０は、連携処理中にエラー（例えば、上述したステップＳＴ１４における画像処理装置６２のサービス処理エラー）が発生すると、ステップＳＴ２１以下の処理を実行する。
【０１１８】
ステップＳＴ２１では、連携処理サーバ５０は、図１２に示すように、指示書の＜実行＞から実行済みのサービス“スキャン”を除くと共に、エラー発生時の指示書を＜ログ＞として添付した新たな指示書を作成して、ステップＳＴ２２に移行する。
【０１１９】
ステップＳＴ２２では、連携処理サーバ５０は、画像処理装置６２のエラーが復旧可能なエラーか否かを判定し、復旧可能なエラーであるときはステップＳＴ２３に移行し、復旧可能なエラーでないときはステップＳＴ２５に移行する。
【０１２０】
ステップＳＴ２３では、連携処理サーバ５０は、指示書に基づいて、ユーザから予め所定の指示があるか否かを判定する。そして、ユーザの所定の指示があるときはステップＳＴ２４に移行し、それがないときはステップＳＴ２７に移行する。
【０１２１】
ステップＳＴ２４では、連携処理サーバ５０は、指示書を指示書管理サーバ４０に保存するか否かを判定し、指示書管理サーバ４０に保存するときはステップＳＴ２５に移行し、それを保存しないときはステップＳＴ２７に移行する。
【０１２２】
ステップＳＴ２５及びステップＳＴ２６では、連携処理サーバ５０は、指示書を指示書管理サーバ４０に保存して、指示書を指示書管理サーバ４０に保存した旨をクライアント端末１０に通知して、処理を終了する。
【０１２３】
一方、ステップＳＴ２７では、連携処理サーバ５０は、エラーが発生したサービス（ここでは、画像処理装置６２）が復旧するまで待機して、復旧したらステップＳＴ２８に移行する。そして、ステップＳＴ２８では、連携処理サーバ５０は、新たな指示書に基づいて再起動して、エラー発生時以降の処理を再実行して、処理を終了する。
【０１２４】
以上のように、連携処理サーバ５０は、所定のサービスにエラーが発生した場合、図１２に示すように、新たな指示書を作成することにより、連携処理を中途半端に終了させることなく、エラー後の連携処理を円滑に再実行することができる。
【０１２５】
すなわち、連携処理サーバ５０は、再実行の指示があった場合には、新たな指示書の＜ドキュメント＞を参照して、エラー発生時の文書を保存先から読み出して、指示書の＜実行＞を参照して、エラー発生時以降のサービスの連携処理を再実行することができる。
【０１２６】
なお、本実施形態では、第１から第３のサービス処理について具体例を挙げながら説明したが、このような処理に限定されないのは勿論である。
【０１２７】
［第２の実施形態］
つぎに、本発明の第２の実施形態について説明する。ここでは、第１の実施形態と同一の部位には同一の符号を付し、詳細な説明は省略する。なお、第１の実施形態では、連携処理サーバ５０は、エラーが発生した場合、エラー発生時点から再実行を行っていたが、その他以下の処理も行うことができる。
【０１２８】
（代替処理）
本実施形態に係る連携処理サーバ５０は、次の指示書を使用することにより、エラーが発生したサービスの代替処理を行うことができる。
【０１２９】
図１４は、代替可能条件付き指示書の要部構成を示す図である。すなわち、この指示書は、エラー発生時のサービスの代替可能条件を有している。指示書は、実行すべき＜サービス＞の対象名として“フォーマット変換”を記述している。＜サービス＞は、＜パラメータ＞の他に、＜代替可能条件（ｓｕｂｓｔｉｔｕｔｉｖｅ−ｃｏｎｄｉｔｉｏｎ）＞を有している。＜代替可能条件＞は、サービスエラー発生時の代替サービスの条件を示している。例えば図１４では、＜代替可能条件＞は、対象名として“利用料金”、設定値として“１００円以下”を表している。
【０１３０】
連携処理サーバ５０は、“フォーマット変換”のサービス処理でエラーが発生した場合、指示書の＜代替可能条件＞を参照し、利用料金が１００円以下でフォーマット変換を行う代替サービス（サービス処理装置）を検索する。そして、連携処理サーバ５０は、利用料金が１００円以下でフォーマット変換を行う代替サービス処理装置を見つけた場合、そのサービス処理装置にフォーマット変換を実行させる。連携処理サーバ５０は、代替サービス処理装置を見つけることができなかった場合、第１の実施形態のように、新たな指示書を作成する。
【０１３１】
なお、連携処理サーバ５０が代替サービス処理装置を検索する代わりに、サービス検索サーバ２０が連携処理サーバ５０の指示に基づいて代替サービス処理装置を検索してもよいのは勿論である。
【０１３２】
（再処理）
本実施形態に係る連携処理サーバ５０は、次の指示書を使用することにより、再処理を実行することができる。なお、「再処理」とは、エラー発生後、ジョブフローの最初からサービス処理を実行することをいう。
【０１３３】
図１５は、再処理可能性付き指示書の要部構成を示す図である。すなわち、この指示書は、エラー発生後、最初から再処理可能であるか否かを示している。指示書は、実行すべき＜サービス＞の対象名として“フォーマット変換”を記述している。＜サービス＞は、＜パラメータ＞の他に、＜再処理可能性（ｒｅｓｔａｒｔａｂｌｅ）＞を有している。＜再処理可能性＞は、エラー発生後、最初から再処理可能であるか否かを示している。図１５に示す＜再処理可能性＞は、設定値として“不可能（ｆａｌｓｅ）”を示し、再処理できないことを表している。
【０１３４】
連携処理サーバ５０は、“フォーマット変換”のサービス処理でエラーが発生した場合、指示書の＜再処理可能性＞を参照し、図１５に示すように“不可能”の場合は、第１の実施形態と同様にエラー発生以降の新たな指示書を作成する。なお、連携処理サーバ５０は、＜再処理可能性＞が“可能（ｔｒｕｅ）”の場合は、最初から再処理を実行してもよいし、第１の実施形態と同様にエラー発生以降の新たな指示書を作成してもよい。
【０１３５】
（代替可能条件・再処理可能性付き指示書）
本実施形態に係る連携処理サーバ５０は、次の指示書を使用することにより、様々な処理を切り換えて実行することができる。
【０１３６】
図１６は、代替可能条件・再処理可能性付き指示書の要部構成を示す図である。この指示書は、図１４及び図１５に示した指示書の両方の機能を有している。この指示書の＜サービス＞は、＜パラメータ＞の他に、＜代替可能条件＞及び＜再処理可能性＞を有している。すなわち、この指示書は、フォーマット変換においてエラーが発生した場合、“利用料金が１００円以下の代替サービスなら使用可能”であり、かつ“エラーが発生した場合は最初からの再処理不可能”であることを表している。
【０１３７】
図１７は、連携処理サーバ５０の連携処理時の処理手順を示すフローチャートである。連携処理サーバ５０は、図１６に示す指示書に基づいて連携処理を実行しているときに、エラーが発生すると、ステップＳＴ３１以下の処理を実行する。
【０１３８】
ステップＳＴ３１では、連携処理サーバ５０は、指示書の＜再処理可能性＞に基づいて、再処理可能か否かを判定する。そして、＜再処理可能性＞の設定値が“ｔｒｕｅ”のときは再処理可能と判定してステップＳＴ３２に移行し、設定値が“ｆａｌｓｅ”のときは再処理可能でないと判定してステップＳＴ３７に移行する。
【０１３９】
ステップＳＴ３２では、連携処理サーバ５０は、指示書に＜代替可能条件＞が記述されているか否かを判定し、記述されているときはステップＳＴ３３に移行し、記述されていないときはステップＳＴ３６に移行する。
【０１４０】
ステップＳＴ３３では、連携処理サーバ５０は、指示書に記述された＜代替可能条件＞の対象名“利用料金”及び設定値“１００円以下”に基づいて、ネットワーク上から代替サービスを検索する。つまり、連携処理サーバ５０は、利用料金が１００円以下でフォーマット変換を行うサービスを検索して、ステップＳＴ３４に移行する。なお、連携処理サーバ５０の代わりにサービス検索サーバ２０が、連携処理サーバ５０の指示に基づいて、代替サービス処理装置を検索してもよい。
【０１４１】
ステップＳＴ３４では、連携処理サーバ５０は、代替サービスが見つかったか否かを判定し、見つかったときはステップＳＴ３５に移行し、見つかっていないときはステップＳＴ３６に移行する。
【０１４２】
ステップＳＴ３５では、連携処理サーバ５０は、代替処理を行うこと選択し、フォーマット変換を行う代替サービス処理装置に対して個別指示情報を送信する。これにより、連携処理サーバ５０は、中断することなくフォーマット変換処理を続行することができる。
【０１４３】
また、ステップＳＴ３２及びステップＳＴ３４から移行したステップＳＴ３６では、連携処理サーバ５０は、フォーマット変換処理の中断処理を選択する。これにより、連携処理サーバ５０は、指示書に＜代替可能条件＞が記述されていなかったり、代替サービスが見つからなかった場合において、最初から再処理可能であれば、連携処理を中断する。
【０１４４】
一方、ステップＳＴ３７では、連携処理サーバ５０は、指示書に＜代替可能条件＞が記述されているか否かを判定し、記述されているときはステップＳＴ３８に移行し、記述されていないときはステップＳＴ４０に移行する。
【０１４５】
ステップＳＴ３８では、連携処理サーバ５０は、指示書に記述された＜代替可能条件＞に基づいて、利用料金が１００円以下でフォーマット変換を行うサービスを検索して、ステップＳＴ３９に移行する。なお、連携処理サーバ５０の代わりに、サービス検索サーバ２０が検索してもよい。
【０１４６】
ステップＳＴ３９では、連携処理サーバ５０は、代替サービスが見つかったか否かを判定し、見つかったときは上述したステップＳＴ３５に移行し、見つかっていないときはステップＳＴ４０に移行する。
【０１４７】
ステップＳＴ４０では、連携処理サーバ５０は、再実行を選択する。すなわち、連携処理サーバ５０は、第１の実施形態と同様にして、例えば図１２に示すような新たな指示書を作成し、新たな指示書に基づいてエラー発生以降のサービス処理を再実行する。なお、連携処理サーバ５０は、新たな指示書を指示書管理サーバ４０に保存してもよい。これにより、連携処理サーバ５０は、実行済みのサービスを無駄にすることなく、エラー発生以降のサービス処理を再実行することができる。
【０１４８】
図１８は、指示書に記述された＜代替可能条件＞及び＜再処理可能性＞の組合せに対応する連携処理サーバ５０の選択処理を示す図である。なお、「代替処理→中断」は、検索実行時では代替処理を行う予定であったが、代替サービスがみつからなかったために中断することを示している。また、「代替処理→再実行」は、検索実行時では代替処理を行う予定であったが、代替サービスがみつからなかったために再実行を行うことを示している。
【０１４９】
以上のように、第２の実施形態に係る連携処理サーバ５０は、サービス処理中にエラーが発生した場合には、以降の処理を中断したり、検索された代替サービス処理装置にそのサービス処理を実行させたり、さらに、第１の実施形態のように新たな指示書を作成して再実行をすることができる。
【０１５０】
特に、連携処理サーバ５０は、サービス処理中にエラーが発生した場合、指示書に記述されている＜代替可能条件＞や＜再処理可能性＞を参照して、連携処理の中断処理、代替処理、再実行処理を選択することにより、エラー発生時でもユーザのニーズに応じた処理を実行することができる。
【０１５１】
なお、本発明は、上述した第１及び第２の実施形態に限定されるものではなく、特許請求の範囲に記載された範囲内において設計上の変更されたものにも適用可能である。
【０１５２】
例えば、連携処理サーバ５０は、指示書に基づいて図１８に示すような選択処理を実行することができれば、図１７に示したフローチャートの手順に限定されるものではないのは勿論である。
【０１５３】
【発明の効果】
本発明に係る連携処理装置、連携処理方法及びプログラムは、連携処理の順番になったサービス処理装置が実行不可になっても、実行不可時のサービス及びそれ以降のサービスを連携処理することを指示する第２の連携指示情報を生成することにより、再実行時にはこの第２の連携指示情報を用いて、実行不可時のサービス、及びそれ以降のサービスの連携処理を確実に実行することができる。
【図面の簡単な説明】
【図１】本発明の実施形態に係る文書処理システムの構成を示すブロック図である。
【図２】文書処理システムを構成する各サービス処理装置の相互関係を説明するためのブロック図である。
【図３】Ｉ／Ｆ情報の構成を示す図である。
【図４】ジョブフローを定義するためのＧＵＩ画面である指示書作成画面１００を示す図である。
【図５】ＸＭＬ形式で構成された指示書を示す図である。
【図６】連携処理サーバの構成を示すブロック図である。
【図７】指示書作成時のクライアント端末及び指示書生成サーバの処理手順を示すフローチャートである。
【図８】クライアント端末、指示書管理サーバ及び連携処理サーバの処理を示すフローチャートである。
【図９】指示書リストを表すサービス連携処理選択画面の一例を示す図である。
【図１０】指示書の要部構成を示す図である。
【図１１】第１のサービス処理実行後における指示書の要部構成を示す図である。
【図１２】第２のサービス処理でエラーが発生したときに作成された新たな指示書の要部構成を示す図である。
【図１３】エラー発生時の連携処理サーバの処理手順を示すフローチャートである。
【図１４】代替可能条件付き指示書の要部構成を示す図である。
【図１５】再処理可能性付き指示書の要部構成を示す図である。
【図１６】代替可能条件・再処理可能性付き指示書の要部構成を示す図である。
【図１７】連携処理サーバの連携処理時の処理手順を示すフローチャートである。
【図１８】指示書に記述された＜代替可能条件＞及び＜再処理可能性＞の組合せに対応する連携処理サーバの選択処理を示す図である。
【符号の説明】
１０  クライアント端末
２０  サービス検索サーバ
３０  指示書生成サーバ
４０  指示書管理サーバ
５０  連携処理サーバ
６１  画像読取装置
６２  画像処理装置
６３  文書管理サーバ
６４  第１のサービス処理装置
６５  第２のサービス処理装置
【図１】
2004288067.tif 000003
【図２】
2004288067.tif 000004
【図３】
2004288067.tif 000005
【図４】
2004288067.tif 000006
【図５】
2004288067.tif 000007
【図６】
2004288067.tif 000008
【図７】
2004288067.tif 000009
【図８】
2004288067.tif 000010
【図９】
2004288067.tif 000011
【図１０】
2004288067.tif 000012
【図１１】
2004288067.tif 000013
【図１２】
2004288067.tif 000014
【図１３】
2004288067.tif 000015
【図１４】
2004288067.tif 000016
【図１５】
2004288067.tif 000017
【図１６】
2004288067.tif 000018
【図１７】
2004288067.tif 000019
【図１８】
2004288067.tif 000020