(57)【要約】【課題】ネットワーク上の各々の装置にユーザの利用制限がある場合でも、連携処理の実行を円滑にできるような連携指示情報を生成する。【解決手段】指示書生成サーバは、クライアント端末のユーザ認証を行い、ユーザ情報を取得する（ステップＳＴ１）。次に、サービス検索サーバに対して、ユーザが現在利用できるサービスの検索要求を行うと共にユーザ情報を送信し、その後、サービスリストを取得する（ステップＳＴ２）。指示書生成サーバは、あるサービスがジョブフローの構成要素の１つとして選択されたと判定すると（ステップＳＴ３）、選択されたサービスにかかるコスト等をユーザ情報に反映する（ステップＳＴ４）。そして、ジョブフローが完成したか否かを判定し、ジョブフローが完成したと判定したときは、ジョブフローに関する情報とＩ／Ｆ情報とに基づいて指示書を作成する（ステップＳＴ５）。【選択図】        図９
2004287837.tif 000002
【特許請求の範囲】
【請求項１】
文書データに関して所定の処理をそれぞれ行う複数のサービスをネットワーク上で連携するように指示する連携指示情報を生成する連携指示情報生成装置であって、
ユーザ情報を用いてユーザが使用可能な複数のサービスを取得するサービス取得手段と、
前記サービス取得手段で取得した複数のサービスを用いて前記連携指示情報を生成する連携指示情報生成手段と、
を備えた連携指示情報生成装置。
【請求項２】
前記サービス取得手段は、サービスを検索する検索手段に対してユーザ情報を送信すると共にユーザが使用可能なサービスの検索を指示する検索要求を行い、この検索要求の応答として、ユーザが使用可能な複数のサービスを取得すること
を特徴とする請求項１に記載の連携指示情報生成装置。
【請求項３】
前記検索手段は、前記サービス取得手段からの検索要求があったときに、サービスの実行制限を表す制限値テーブルを予め記憶したサービス処理装置に対して前記ユーザ情報を照合することで、ユーザが使用可能な複数のサービスを検索すること
を特徴とする請求項２に記載の連携指示情報生成装置。
【請求項４】
サービスの実行制限を表す制限値テーブルを予め記憶した各々のサービス処理装置に対して、ユーザ情報を送信することで、前記各々のサービス処理装置のサービスをユーザが使用可能であるかを問い合わせる問合せ手段を更に備え、
前記サービス取得手段は、前記問合せ手段の問い合わせ結果に基づいて、前記複数のサービスを取得すること
を特徴とする請求項１に記載の連携指示情報生成装置。
【請求項５】
前記サービス取得手段は、ジョブフローを構成する機能毎に、ユーザが使用可能なサービスを取得すること
を特徴とする請求項１に記載の連携指示情報生成装置。
【請求項６】
前記サービス取得手段は、ジョブフローを構成する機能毎に、最も制限のないサービスを取得し、
前記連携指示情報生成手段は、前記ジョブフローを構成する各々の機能に、前記サービス取得手段により取得された各々のサービスを対応付けることで前記連携指示情報を生成すること
を特徴とする請求項５に記載の連携指示情報生成装置。
【請求項７】
文書データに関して所定の処理をそれぞれ行う複数のサービスをネットワーク上で連携するように指示する連携指示情報を生成する連携指示情報生成方法であって、
各々のサービスの実行制限を表す各々の制限値テーブルとユーザ情報を照合することで、ユーザが使用可能な複数のサービスを取得するサービス取得工程と、前記サービス取得工程で取得した複数のサービスを用いて連携指示情報を生成する連携指示情報生成工程と、
を備えた連携指示情報生成方法。
【請求項８】
前記連携指示情報生成工程では、取得した複数のサービスの中からジョブフローを構成するサービスの選択を受け付け、受け付けたサービスを用いて連携指示情報を生成すること
を特徴とする請求項７に記載の連携指示情報生成方法。
【請求項９】
前記サービス取得工程では、ジョブフローを構成する機能毎に、ユーザが使用可能なサービスを取得すること
を特徴とする請求項７に記載の連携指示情報生成方法。
【請求項１０】
前記サービス取得工程では、前記ジョブフローを構成する機能毎に、最も制限のないサービスを取得すること
を特徴とする請求項９に記載の連携指示情報生成方法。
【請求項１１】
コンピュータに、
文書データに関して所定の処理をそれぞれ行う複数のサービスをネットワーク上で連携するように指示する連携指示情報を生成する処理を実行させる連携指示情報生成制御プログラムであって、
各々のサービスの実行制限を表す各々の制限値テーブルとユーザ情報を照合することで、ユーザが使用可能な複数のサービスを取得するサービス取得工程と、前記サービス取得工程で取得した複数のサービスを用いて連携指示情報を生成する連携指示情報生成工程と、
を備えた処理を実行させる連携指示情報生成制御プログラム。
【請求項１２】
前記連携指示情報生成工程では、取得した複数のサービスの中からジョブフローを構成するサービスの選択を受け付け、受け付けたサービスを用いて連携指示情報を生成すること
を特徴とする請求項１１に記載の連携指示情報生成制御プログラム。
【請求項１３】
前記サービス取得工程では、ジョブフローを構成する機能毎に、ユーザが使用可能なサービスを取得すること
を特徴とする請求項１１に記載の連携指示情報生成制御プログラム。
【請求項１４】
前記サービス取得工程では、前記ジョブフローを構成する機能毎に、最も制限のないサービスを取得すること
を特徴とする請求項１３に記載の連携指示情報生成制御プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、連携指示情報生成装置、連携指示情報生成方法及び連携指示情報生成制御プログラムに係り、特に、各々の装置においてユーザの使用制限がある場合でも、その使用制限を受けない連携指示情報を生成する連携指示情報生成装置、連携指示情報生成方法及び連携指示情報生成制御プログラムに関する。
【０００２】
【従来の技術】
文書データに対して所定の処理を行うサービスがネットワークを介して複数存在する分散処理システムにおいて、ユーザは、様々な場所から所望のサービスを利用することができる。
【０００３】
しかし、すべてのユーザがすべてのサービスを使用可能な場合、ある特定のサービスだけに利用が集中することがあり、その特定のサービスに過度の負担がかかってしまう問題がある。また、すべてのユーザがすべてのサービスを使用可能な場合、特定の権限を有するユーザのみに所定のサービスを提供するという、ユーザの差別化を図ることができない問題もある。
【０００４】
これに対して、特許文献１には、ユーザ毎にプリンタ装置の利用状況の監視・管理、利用制限を行う印刷システムが開示されている。特許文献２には、トナーカートリッジに利用者の識別子を記憶させることで、トナーカートリッジの利用者及び利用者毎の印刷枚数を制限する印刷装置及び印刷制御方法が開示されている。
【０００５】
また、特許文献３には、ユーザ毎の印刷枚数を制限したり、使用できる印刷機能を制限すると共に、管理者による共有プリンタの使用状況を管理する印刷システムが開示されている。特許文献４には、記録紙の多い使用枚数制限をユーザ毎に行う際に、多数のユーザ毎の枚数制限を効率的に行うプリンタ装置が開示されている。
【０００６】
【特許文献１】
特開平９−３００５７号公報
【特許文献２】
特開平９−１２０２４１号公報
【特許文献３】
特開平１０−１６１８２３号公報
【特許文献４】
特開２００１−３２８３１７号公報
【０００７】
【発明が解決しようとする課題】
特許文献１から４のいずれに記載された技術は、利用者毎にそれぞれ独立にプリントの出力を制限するものである。このような技術が搭載されたプリンタをネットワークに接続してサービスの連携処理を実行すると、一部のサービスを実行することができなくなり、サービスの連携処理を円滑にできなくなる問題がある。
【０００８】
本発明は、上述した課題を解決するために提案されたものであり、ネットワーク上の各々の装置にユーザの利用制限がある場合でも、連携処理の実行を円滑にできるような連携指示情報を生成する連携指示情報生成装置、連携指示情報生成方法及び連携指示情報生成制御プログラムを提供することを目的とする。
【０００９】
【課題を解決するための手段】
本発明に係る連携指示情報生成装置は、文書データに関して所定の処理をそれぞれ行う複数のサービスをネットワーク上で連携するように指示する連携指示情報を生成する連携指示情報生成装置であって、ユーザ情報を用いてユーザが使用可能な複数のサービスを取得するサービス取得手段と、前記サービス取得手段で取得した複数のサービスを用いて前記連携指示情報を生成する連携指示情報生成手段と、を備えている。
【００１０】
サービス取得手段は、ユーザ情報を用いて、ユーザが使用可能な複数のサービスを取得する。ユーザ情報は、サービスを実行するに当たってユーザの現在の状態を表しており、サービスが実行される毎に必要に応じて更新される。サービス取得手段は、サービスを検索する検索手段を介してユーザが使用可能な複数のサービスを取得してもよい。サービス取得手段は、各々のサービス処理装置に直接問い合わせをして、ユーザが使用可能な複数のサービスサービスを取得してもよい。また、サービス取得手段は、複数の機能を連携するジョブフローが既に作成されている場合には、ジョブフローを構成する機能毎に、ユーザが使用可能なサービスを取得してもよいし、その中でも最も制限のないサービスを取得してもよい。そして、連携指示情報生成手段は、サービス取得手段で取得した複数のサービスを用いて連携指示情報を生成する。
【００１１】
したがって、本発明に係る連携指示情報生成装置によれば、ユーザ情報を用いてユーザが使用可能な複数のサービスを取得し、取得した複数のサービスを用いて前記連携指示情報を生成することにより、サービスの制限を受けることなく、複数のサービスの連携処理を円滑に実行するための連携指示情報を生成することができる。
【００１２】
本発明に係る連携指示情報生成方法は、文書データに関して所定の処理をそれぞれ行う複数のサービスをネットワーク上で連携するように指示する連携指示情報を生成する連携指示情報生成方法であって、各々のサービスの実行制限を表す各々の制限値テーブルとユーザ情報を照合することで、ユーザが使用可能な複数のサービスを取得するサービス取得工程と、前記サービス取得工程で取得した複数のサービスを用いて連携指示情報を生成する連携指示情報生成工程と、を備えている。
【００１３】
本発明に係る連携指示情報生成制御プログラムは、コンピュータに、文書データに関して所定の処理をそれぞれ行う複数のサービスをネットワーク上で連携するように指示する連携指示情報を生成する処理を実行させる連携指示情報生成制御プログラムであって、各々のサービスの実行制限を表す各々の制限値テーブルとユーザ情報を照合することで、ユーザが使用可能な複数のサービスを取得するサービス取得工程と、前記サービス取得工程で取得した複数のサービスを用いて連携指示情報を生成する連携指示情報生成工程と、を備えた処理を実行させる。
【００１４】
サービス取得工程では、各々のサービスの実行制限を表す各々の制限値テーブルとユーザ情報を照合する。このとき、サービス取得工程では、サービスを検索する検索手段を介して各々の制限値テーブルとユーザ情報を照合してもよいし、制限値テーブルを予め記憶した各々のサービス処理装置に直接問い合わせて照合してもよい。これにより、サービス取得工程でユーザが使用可能な複数のサービスを取得する。連携指示情報生成工程では、前記サービス取得工程で取得した複数のサービスを用いて連携指示情報を生成する。
【００１５】
したがって、本発明に係る連携指示情報生成方法及び連携指示情報生成制御プログラムによれば、各々のサービスの実行制限を表す各々の制限値テーブルとユーザ情報を照合することで、ユーザが使用可能な複数のサービスを取得し、取得した複数のサービスを用いて連携指示情報を生成することにより、サービスの制限を受けることなく、複数のサービスの連携処理を円滑に実行するための連携指示情報を生成することができる。
【００１６】
【発明の実施の形態】
以下、本発明の好ましい実施の形態について図面を参照しながら詳細に説明する。
【００１７】
［第１の実施形態］
（システム構成）
図１は、本発明の第１の実施形態に係る文書処理システム１の構成を示すブロック図である。
【００１８】
文書処理システム１は、様々なサービスやアプリケーションがネットワーク５を介して接続されたものである。ここで、サービスとは、外部からの要求に応じて文書に関する利用可能な機能をいう。サービスは、例えば、コピー、プリント、スキャン、ファクシミリ送受信、メール配信、レポジトリ（又はデータベース）への格納やレポジトリからの読込、ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｔｉｏｎ）処理、ノイズ除去処理、ＰＤＦ変換等が該当し、特に限定されるものではない。
【００１９】
文書処理システム１は、具体的は、複数のサービスを連携させてユーザの所望の処理を指示するユーザインタフェースを備えたクライアント端末１０と、ユーザの所望のサービスを検索するサービス検索サーバ２０と、クライアント端末１０で指示されたサービス連携に関する情報から指示書を作成する指示書生成サーバ３０と、指示書を管理する指示書管理サーバ４０と、指示書に従って各サービスの連携処理を実行する連携処理サーバ５０と、を備えている。
【００２０】
さらに、文書処理システム１は、サービスＡを実行するサービス処理装置６０Ａと、サービスＢを実行するサービス処理装置６０Ｂと、…、サービスＹを実行するサービス処理装置６０Ｙと、サービスＺを実行するサービス処理装置６０Ｚと、を備えている。以下、サービス処理装置６０Ａ，６０Ｂ，…，６０Ｙ，６０Ｚのいずれか任意のものを示すときは、サービス処理装置６０と表記する。
【００２１】
なお、文書処理システム１は、本実施形態では所定のサービスを行う複数のサーバがネットワーク５を介して接続された構成となっているが、複数のサービスがネットワーク５を介して接続されていれば特に限定されるものではない。
【００２２】
ここで、指示書とは、一連の処理を複数の機能的な処理に分解した場合において、各機能の関係を表す情報と、各機能を呼び出すためのインタフェース（Ｉ／Ｆ）情報と、一連の処理に関するグラフィカルユーザインタフェース（ＧＵＩ）を構成するための情報と、を含んだデータをいう。
【００２３】
図２は、文書処理システム１を構成する各サービス処理装置の相互関係を説明するためのブロック図である。各サービス処理装置は、自身が提供するサービスの内容を表すＩ／Ｆ情報を記憶している。
【００２４】
図３は、Ｉ／Ｆ情報の構成を示す図である。Ｉ／Ｆ情報は、＜サービス種類（Ｓｅｒｖｉｃｅ  Ｃｌａｓｓ）＞、＜サービス名（Ｓｅｒｖｉｃｅ  Ｎａｍｅ）＞、＜サービス・アイコン（Ｓｅｒｖｉｃｅ  Ｉｃｏｎ）＞、＜サービスロケーション情報（Ｓｅｒｖｉｃｅ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｌｏｃａｔｉｏｎ）＞、＜入力（Ｉｎｐｕｔ）＞、＜出力（Ｏｕｔｐｕｔ）＞、＜パラメータ制限ルール（Ｐａｒａｍｅｔｅｒ  Ｒｅｓｔｒｉｃｔｉｏｎ  Ｒｕｌｅｓ）＞、＜サービス・ロケーション（Ｓｅｒｖｉｃｅ  Ｌｏｃａｔｉｏｎ）＞、＜メソッド名（Ｍｅｔｈｏｄ  Ｎａｍｅ）＞、＜起動方法（Ｉｎｖｏｃａｔｉｏｎ  Ｓｃｈｅｍｅ）＞、＜黙示要素（Ｉｎｐｌｉｃｉｔ  Ｅｌｅｍｅｎｔｓ）＞で構成されている。
【００２５】
＜サービス種類＞は、サービス処理装置が提供するサービスの種類である。なお、＜サービス種類＞は、予め定義されているものが使用され、例えば、スキャン、プリント、レポジトリ、フロー等が該当する。＜サービス名＞は、サービス処理装置が提供するサービスの名前である。＜サービス・アイコン＞は、クライアント端末１０のＧＵＩに表示するアイコンの位置情報である。
【００２６】
＜サービスロケーション情報＞は、指示書生成サーバ３０がＩ／Ｆ情報を取得するために用いるＵＲＬである。＜入力＞は、サービスへの入力である。＜出力＞は、サービスからの出力である。＜パラメータ制限ルール＞は、＜入力＞や＜出力＞に適用される制限ルールである。＜サービスロケーション＞は、サービスを実際に使用するときの位置情報である。＜メソッド名＞は、サービス処理の提供手法やサービスを指し示す名称が記述されている。
【００２７】
＜起動方法＞は、サービスを呼び出し起動する方法である。なお、＜起動方法＞としては、例えばメッセージ交換のプロトコルであるＳＯＡＰ（ＳｉｍｐｌｅＯｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）、ＳＭＴＰ（ＳｉｍｐｌｅＭａｉｌ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）等を用いることができる。＜黙示要素＞は、出力として明示的に後段の処理に渡されるデータでないが、後段の処理で参照可能なデータである。
【００２８】
クライアント端末１０は、指示書の作成を指示したり、起動すべき指示書を選択するために、画面表示したり所定の操作を行うためのグラフィカルユーザインタフェース（ＧＵＩ）の機能を備えている。
【００２９】
サービス検索サーバ２０は、ネットワーク５に接続された複数のサービスの中から、検索条件に対応するサービスを検索する。サービス検索サーバ２０は、様々なサービス処理装置６０のＩ／Ｆ情報の一部（以下「部分Ｉ／Ｆ情報」という。）を予め記憶している。ここで、部分Ｉ／Ｆ情報は、Ｉ／Ｆ情報の要素中の＜サービス種類＞、＜サービス名＞、＜サービスロケーション情報＞、＜入力＞情報、＜出力＞情報をいう。
【００３０】
サービス検索サーバ２０は、指示書生成サーバ３０や連携処理サーバ５０から検索条件が送信されたときは、各サービス処理装置の部分Ｉ／Ｆ情報を用いてサービスを検索する。例えば、サービス検索サーバ２０は、所定のサービスと同様のサービスを検索するときは、＜サービス種類＞が一致するサービスを検索したり、＜入力＞及び＜出力＞が一致するサービスを検索したり、これらすべてが一致するサービスを検索すればよい。
【００３１】
図４は、指示書生成サーバ３０の構成を示すブロック図である。指示書生成サーバ３０は、ネットワーク５との間で情報の送受信を行う入出力ポート３１と、指示書生成制御プログラムを記憶しているＲＯＭ３２、指示書作成を含む全体的な処理を実行するＣＰＵ３３、データのワークエリアであるＲＡＭ３４、ＣＰＵ３３によって処理されたデータ等を記憶するハードディスクドライブ３５を備えている。
【００３２】
入出力ポート３１は、例えば、ユーザ情報、サービスリスト、Ｉ／Ｆ情報を受信したり、検索要求信号、指示書を送信する。ＣＰＵ３３は、指示書生成サーバ３０の全体処理を制御し、例えば、指示書の生成、サービス検索サーバ２０への検索要求、サービス処理装置６０への問い合わせを指示する。
【００３３】
図５は、クライアント端末１０、サービス検索サーバ２０、指示書生成サーバ３０、サービス処理装置６０の相互関係を説明する図である。
【００３４】
指示書生成サーバ３０は、機能的には図５に示すように構成され、Ｉ／Ｆ情報情報等の様々な情報を管理する情報管理部３６と、クライアント端末１０との間で情報の送受信を行うＷｅｂサーバ部３７と、情報管理部３６及びＷｅｂサーバ部３７で得られた情報に基づいて指示書を作成する指示書作成部３８とを備えている。
【００３５】
なお、指示書生成サーバ３０は、ＷｅｂＵＩだけでなく、クライアントアプリケーションを用いてもよい。すなわち、指示書生成サーバ３０の代わりに、情報管理部３６、指示書作成部３８及びグラフィカルユーザインタフェース（ＧＵＩ）３９を備えた指示書生成サーバ３０Ａを用いてもよい。
【００３６】
情報管理部３６は、＜サービスロケーション情報＞に基づいて、ネットワーク５上に分散した所定のサービス処理装置から、各サービスに関するＩ／Ｆ情報や制限値テーブルを送信するように要求する。なお、情報管理部３６は、所望のサービス処理装置を把握していない場合は、サービス検索サーバ２０に対して、所望のサービス処理装置と同一のサービスを行う他のサービス処理装置を検索するように指示を出す。そして、情報管理部３６は、サービス検索サーバ２０から、他のサービス処理装置の＜サービスロケーション情報＞を取得すればよい。そして、情報管理部３６は、サービス検索サーバ２０からの検索結果や各サービス処理装置から受信したＩ／Ｆ情報や制限値テーブルを管理する。
【００３７】
Ｗｅｂサーバ部３７は、各サービス処理装置から取得したＩ／Ｆ情報に基づいて、ジョブフローを定義するためのＧＵＩ画面となる例えばＨＴＭＬファイルを生成する。Ｗｅｂサーバ部３７は、クライアント端末１０からのサービスの閲覧要求があると、ＧＵＩ画面となるＨＴＭＬファイルを前記クライアント端末１０へ送信する。
【００３８】
図６は、Ｗｅｂサーバ部３７で生成されたＧＵＩ画面である指示書作成画面１００を示す図である。指示書作成画面１００は、サービスウインドウ１０１、フローウインドウ１０２、ロジックウインドウ１０３、プロパティーウインドウ１０４で構成されている。
【００３９】
サービスウインドウ１０１は、使用可能な様々なサービス（サービス処理装置６０）を各々のアイコンで表示する。ロジックウインドウ１０３は、サービス間の連携のパターンを示すジョブフローを表示する。プロパティーウインドウ１０４は、サービスウインドウ１０１とロジックウインドウ１０３に表示された各アイコンの詳細な設定パラメータを表示する。
【００４０】
ユーザは、サービスウインドウ１０１のアイコンとロジックウインドウ１０３のアイコンをフローウインドウ１０２にドラッグ・アンド・ドロップすることで、フローウインドウ１０２にジョブフローを定義することができる。ユーザは、さらに、プロパティーウインドウ１０４に表示された内容を編集することによって、サービスやロジックなどのサービス間の関係を詳細に設定することができる。クライアント端末１０は、ユーザの操作によって定義されたジョブフロー情報を指示書生成サーバ３０に送信する。
【００４１】
指示書生成サーバ３０の指示書作成部３８は、ユーザからのサービス連携の指示に関するジョブフロー情報と、各サービスのＩ／Ｆ情報とに基づいて、各サービスへ依頼する処理の内容、入力パラメータ、各サービスの連携の仕方（ジョブフロー）、文書名や格納ロケーション情報等の処理対象の文書を特定するための情報を定義した指示書を作成する。指示書は、ＸＭＬ形式のファイルで構成されている。
【００４２】
図７は、指示書を示す概念図である。なお、この指示書は、ＸＭＬ形式の書式で記述するようにしてもよい。複数のサービスの連携処理自体も１つのサービスとみなされるので、指示書は、図３に示したＩ／Ｆ情報に加えて＜フロー（Ｆｌｏｗ）＞を追加した構成になっている。
【００４３】
＜フロー＞は、サービス間の連携を記述する要素であり、＜起動（Ｉｎｖｏｋｅ）＞、制御構造や論理演算、条件判断をするための＜ｉｆ＞等の要素、サービス間の連携を調整するためのＸＭＬ構造の操作指示、さらに処理対象の文書を特定するための情報を含んでいる。
【００４４】
＜起動＞は、サービス処理装置の特定のメソッドを表し、サービスの呼び出しを実行する。＜起動＞の要素として、パラメータの位置情報を示す＜マップ＞と、呼び出すメソッド名＜メソッド＞を有している。制御構造や論理演算等を示す＜ｉｆ＞、＜ａｎｄ＞、＜ｅｑ＞、＜ｇｔ＞は、連携処理時に条件分岐を行ったり、サービス間で受け渡されるパラメータの調整を実施する。
【００４５】
指示書は、サービスの連携処理の制御に関するすべての情報を＜フロー＞の要素に記述している。これにより、指示書によって表される連携処理自体も１つのサービスとみなされる。なお、指示書は、図５に示す構成に限定されるものではなく、各サービスを連携させることができればよい。
【００４６】
指示書生成サーバ３０は、以上のようなＸＭＬ形式の指示書を指示書管理サーバ４０に送信する。また、指示書生成サーバ３０は、ユーザによりサービス連携処理の実行が指示されている場合は、指示書を直接連携処理サーバ５０に送信してもよい。
【００４７】
指示書管理サーバ４０は、指示書生成サーバ３０から送信された指示書を保持し、クライアント端末１０からの要求に応じて指示書を連携処理サーバ５０へ送信する。
【００４８】
連携処理サーバ５０は、指定された指示書を解釈・実行するサーバである。連携処理サーバ５０は、指示書が送信されると、その指示書を解釈し、指示書に記述されている順番と利用方法に従い、サービス処理装置６０を順に呼び出し、連携処理を実行する。また、連携処理サーバ５０は、実行中の連携処理の状況や終了した連携処理の結果の情報を保存し、外部からの要求に応じて、連携処理の状況や結果を通知する。
【００４９】
連携処理サーバ５０は、指示書を解釈して各サービス処理装置へ依頼する際には、処理依頼内容や入力パラメータ、処理対象の文書を特定するための情報等を有する個別指示情報を生成する。なお、連携処理サーバ５０は、各サービス処理装置で行う処理の連携処理における前後のサービス処理との関連情報を抽出して指示書に記述してもよいし、指示書の形式ではなく各サービス処理装置毎の固有の情報交換形式で処理依頼を行うようにしてもよい。
【００５０】
サービス処理装置６０Ａは、外部からの指示に従って文書に関する所定のサービスを行う装置である。ここで、サービス処理装置６０Ａは、連携処理サーバ５０からの処理依頼内容や入力パラメータ、処理対象の文書を特定するための情報等の情報に基づき、自身で実行すべきサービスを実行する。また、サービス処理装置６０Ａは、起動時に、サービス検索サーバ２０に対して、部分Ｉ／Ｆ情報を通知する。さらに、サービス処理装置６０Ａは、指示書生成サーバ３０からの要求によりサービスの利用方法を示すＩ／Ｆ情報を送信する。
【００５１】
サービス処理装置６０Ａは、ユーザの利用を制限する制限値テーブルを記憶している。制限値テーブルは、サービス提供者によって予め設定されたユーザ制限情報である。
【００５２】
図８は、制限値テーブルの構成を示す図である。制限値テーブルは、ユーザに応じて、サービスを実行するための制限や条件を表している。制限値テーブルは、このサービスの実行にかかる金額を示す「サービス実行金額」、このサービスの実行にかかる時間を示す「サービス実行時間」、このサービスを実行するに当たり必要な権限を有するユーザアカウントを示す「必要権限」、１人がこのサービスを実行できる回数を示す「実行可能回数／人」、サービス処理装置６０Ａとユーザまでの距離を示す「ユーザまでの距離」を有している。なお、制限値テーブルは、これらの情報すべてを有している場合に限らず、任意の一部の情報のみを有してもよいし、更にその他の情報を有してもよい。
【００５３】
サービス処理装置６０Ｂ，…６０Ｙ，６０Ｚは、それぞれサービスの内容を除いて、サービス処理装置６０Ａと同様に処理を行うように構成されている。
【００５４】
以上のように構成された文書処理システム１において、サービス処理装置６０は、所定のサービスを実行するためのアプリケーションプログラムがインストールされると、以下のように動作する。
【００５５】
サービス処理装置６０は、起動処理において、それぞれのサービス概要とアドレスを示す情報を含んだ部分Ｉ／Ｆ情報及び制限値テーブルをサービス検索サーバ２０に通知する。
【００５６】
サービス検索サーバ２０は、各サービス処理装置から送信された部分Ｉ／Ｆ情報及び制限値テーブルを保存する。これにより、サービス検索サーバ２０は、例えば指示書生成サーバ３０や連携処理サーバ５０から所定のサービス検索要求があったときに、部分Ｉ／Ｆ情報や制限値テーブルを用いて検索を実行することができる。
【００５７】
（指示書の作成１）
図９は、指示書作成時の指示書生成サーバ３０の処理手順を示すフローチャートである。本実施形態では、サービス検索サーバ２０は、各サービス処理装置６０の制限値テーブルを一元管理している。そこで、指示書生成サーバ３０は、サービス検索サーバ２０にサービスの検索を実行させた後、指示書を作成する。
【００５８】
最初に、クライアント端末１０は、ユーザの操作に従って、インストールされたブラウザを通して、指示書生成サーバ３０が提供するユーザインタフェース画面用に生成されたＨＴＭＬファイルのＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）にアクセスする。指示書生成サーバ３０は、クライアント端末１０のアクセスを確認すると、ステップＳＴ１以下の処理実行する。
【００５９】
ステップＳＴ１では、指示書生成サーバ３０は、クライアント端末１０のユーザ認証を行う。そして、ユーザがクライアント端末１０に入力したユーザ情報を取得して、ステップＳＴ２に移行する。
【００６０】
図１０は、ユーザ情報の構成を示す図である。ユーザ情報は、ユーザ自身を表す情報として、ユーザの「所持金」、「希望納期」、「ユーザアカウント」、ユーザがサービス毎に実行した回数を示す「ユーザ実行回数」、ユーザの「居場所」を有している。ユーザ情報は、これらの情報すべてを有している場合に限らず、任意の一部の情報のみを有してもよいし、更にその他の情報を有してもよい。
【００６１】
サービス検索サーバ２０は、詳しくは後述するが、ユーザがサービス処理装置６０の利用を制限されていないかを調べる際に、前記の図１０に示すようなユーザ情報を用いる。
【００６２】
ステップＳＴ２では、指示書生成サーバ３０は、サービス検索サーバ２０に対して、ユーザが現在利用できるサービスの検索要求を行うと共にユーザ情報を送信する。その後、指示書生成サーバ３０は、サービス検索サーバ２０からサービスリストを取得すると、ステップＳＴ３に移行する。
【００６３】
（サービス検索）
図１１は、サービス検索サーバ２０の検索処理手順を説明するフローチャートである。サービス検索サーバ２０は、指示書生成サーバ３０からサービスの検索要求があると、ステップＳＴ１１以下の処理を実行する。
【００６４】
ステップＳＴ１１では、サービス検索サーバ２０は、ユーザ情報を受信したか否かを判定し、ユーザ情報を受信するまで待機して、ユーザ情報を受信すると、ステップＳＴ１２に移行する。
【００６５】
ステップＳＴ１２では、サービス検索サーバ２０は、ユーザ情報と各サービス処理装置６０の制限値テーブルとを比較して、ユーザ情報が各々の制限値テーブルで制限されているかを確認して、ステップＳＴ１３に移行する。
【００６６】
例えば、サービス検索サーバ２０は、ユーザ情報の「所持金」が制限値テーブルの「サービス実行金額」以上であれば「制限なし」と判定し、それ未満であれば「制限あり」と判定する。また、制限値テーブルの「サービス実行時間」がユーザ情報の「希望納期」以内であれば「制限なし」、そうでなければ「制限あり」と判定する。
【００６７】
このように、サービス検索サーバ２０は、このユーザの利用が制限されていないサービス（サービス処理装置６０）を検索すべく、ユーザ情報の各項目と制限値テーブルの各項目とを照合し、１つの項目でも制限がある場合は「制限あり」、全部の項目で制限がなければ「制限なし」と判定する。なお、サービス検索サーバ２０は、一部の項目、例えば優先順位の高い項目のみ照合してもよい。
【００６８】
ステップＳＴ１３及びステップＳＴ１４では、サービス検索サーバ２０は、「制限なし」の制限値テーブルに対応するサービス処理装置６０を表したサービスリストを作成する。なお、サービスリストには、各々のサービス処理装置６０にアクセスするための＜サービスロケーション情報＞も含まれている。そして、サービス検索サーバ２０は、このサービスリストを指示書生成サーバ３０に送信して、検索処理を終了する。一方、指示書生成サーバ３０は、サービス検索サーバ２０からサービスリストを取得すると、図９に示すステップＳＴ３に移行する。
【００６９】
（指示書の作成２）
ステップＳＴ３では、指示書生成サーバ３０は、サービスリストに記述された各サービスを用いて指示書を作成するための指示書作成画面１００（例えばＨＴＭＬファイル）をクライアント端末１０に送信する。
【００７０】
クライアント端末１０は、指示書生成サーバ３０から送信された例えばＨＴＭＬファイルに含まれる画面を構成する情報に基づいて、指示書作成画面１００を表示する。このとき、ユーザは、図６に示す指示書作成画面１００を用いて、所望のサービス連携のジョブフローを定義することができる。
【００７１】
例えば図６に示すように、指示書作成画面１００のサービスウインドウ１０１には、ユーザが現在利用できるサービスＡ，Ｂ，Ｃ，Ｄ及びそれぞれの制限内容が表示されている。例えば、サービスＡは金額１００円で１時間だけ実行でき、サービスＢは管理者のみ実行でき、サービスＣは１人３回まで実行でき、このユーザはあと１回だけ利用できる。なお、サービスＤは特に制限を設けていない。
【００７２】
指示書生成サーバ３０は、クライアント端末１０を介して、あるサービスがジョブフローの構成要素の１つとして選択されたか否かを判定し、選択されたと判定すると、ステップＳＴ４に移行する。
【００７３】
ステップＳＴ４では、指示書生成サーバ３０は、クライアント端末１０によって選択されたサービスにかかるコスト等をユーザ情報に反映して、ステップＳＴ５に移行する。例えば、指示書生成サーバ３０は、ユーザ情報の「所持金」からステップＳＴ３で選択されたサービスの「サービス実行金額」を差し引いたり、「ユーザ実行回数」をインクリメントしたりして、ユーザ情報を更新する。なお、指示書生成サーバ３０は、ステップＳＴ３の選択がキャンセルされた場合は、ユーザ情報を元の状態に戻すようにする。
【００７４】
指示書生成サーバ３０は、サービスが選択されると、ジョブフロー全体に関する情報や更新されたユーザ情報をクライアント端末１０に送信する。これにより、例えば図６に示すように、指示書作成画面１００のフローウインドウ１０２には、フロー全体の制限情報、例えば、現段階でジョブフロー全体を実行するのにかかる費用（図６では「金額：￥２，５００円」）や期間（図６では「期間：１５時間」）が表示される。なお、指示書作成画面１００には、さらに、更新されたユーザ情報を表示してもよい。
【００７５】
ステップＳＴ５では、指示書生成サーバ３０は、ジョブフローが完成したか否かを判定する。例えば、クライアント端末１０によりジョブフロー作成終了の指示があったときはジョブフローが完成したと判定し、その指示がなかったときは完成していないと判定する。ジョブフローが完成していないときは、再びステップＳＴ２以降の処理を実行する。
【００７６】
このように、指示書生成サーバ３０は、ステップＳＴ２からステップＳＴ５までの処理を繰り返し実行することで、ユーザ情報を逐次更新し、現在のユーザ情報で利用できるサービスを検索し、検索されたサービスの中から指示書を作成することができる。
【００７７】
また、指示書生成サーバ３０は、ジョブフローが完成したと判定したときは、クライアント端末１０から各サービスの連携を表したジョブフローに関する情報を受信する。指示書生成サーバ３０は、サービスリストに記述された＜サービスロケーション情報＞に基づいて、連携処理を行う各サービス処理装置からＩ／Ｆ情報を取得する。そして、ジョブフローに関する情報とＩ／Ｆ情報とに基づいて、各サービスへ依頼する処理の内容、入力パラメータ、各サービスの連携の仕方、文書名や格納ロケーション情報等の処理対象の文書を特定するための情報を定義した指示書を作成して、指示書作成処理を終了する。最後に、指示書生成サーバ３０は、ＸＭＬ形式の指示書を指示書管理サーバ４０に送信する。
【００７８】
指示書管理サーバ４０は、指示書生成サーバ３０で生成された指示書を保存する。指示書管理サーバ４０は、指示書生成サーバ３０で作成された複数の指示書を保存しており、クライアント端末１０から指示書の選択指示があった時は選択された指示書を読み出す。
【００７９】
なお、指示書管理サーバ４０は、ステップＳＴ５で否定判定してステップＳＴ２に戻る代わりに、ステップＳＴ２で取得したサービスリストを常に記憶しておき、ステップＳＴ５で否定判定したときはステップＳＴ３に戻るようにしてもよい。
【００８０】
（連携処理の起動・実行）
ユーザは、指示書管理サーバ４０に保存されている複数の指示書の中から所望の指示書を選択して、連携処理を起動させることができる。具体的には、以下の通りである。
【００８１】
図１２は、クライアント端末１０、指示書管理サーバ４０及び連携処理サーバ５０の処理を示すフローチャートである。
【００８２】
ステップＳＴ２１では、クライアント端末１０は、指示書管理サーバ４０へアクセスし、指示書管理サーバ４０で管理される指示書リストを取得する。
【００８３】
図１３は、指示書リストを表すサービス連携処理選択画面１１０の一例を示す図である。サービス連携処理選択画面１１０は、指示書毎に指示書を選択するためのボタン１１１〜１１６を有している。ユーザは、サービス連携処理選択画面１１０から所望のボタンをクリックすることで、指示書を選択することができる。
【００８４】
クライアント端末１０は、サービス連携処理選択画面１１０から、ユーザの操作指示に基づいて、所定のサービス連携処理を表す指示書を選択し、このとき必要に応じてユーザへのパラメータ入力画面を表示し、ジョブフローの実行に必要なパラメータの入力を受け取る。その指示書の起動を指示すると、ステップＳＴ２２に移行する。
【００８５】
ステップＳＴ２２では、指示書管理サーバ４０は、クライアント端末１０によって指示された指示書を連携処理サーバ５０へ送信して、ステップＳＴ２３に移行する。この結果、連携処理サーバ５０は、連携処理の実行を開始する。
【００８６】
ステップＳＴ２３では、連携処理サーバ５０は、指示書管理サーバ４０より送信された指示書を解釈し、指示書に記述された第１番目の処理である例えばサービス処理装置６０Ａに対して、第１のサービスを実行することを依頼する。
【００８７】
連携処理サーバ５０は、具体的には、指示書に記載された情報をもとに、処理依頼するサービス処理装置のロケーションや処理依頼に必要な入力パラメータと出力パラメータ形式、処理依頼のためのメソッド名、起動方法、処理対象文書を特定する情報を抽出し、個別指示情報を作成する。連携処理サーバ５０は、個別指示情報を第１のサービスの処理依頼先であるサービス処理装置６０Ａへ送信する。
【００８８】
サービス処理装置６０Ａは、送信された指示書に記述された処理対象文書の格納先ロケーション情報をもとに、処理対象文書をコピーし文書を取得する。サービス処理装置６０Ａは、取得した文書画像に対し、サービス依頼内容を解釈してサービスＡを実行する。サービス処理装置６０Ａは、サービスＡによって得られた文書を元の格納先へ再格納する。サービス処理装置６０Ａは、このような処理が完了すると、処理のステータス情報（完了）、出力パラメータ、処理後の文書格納先情報など、処理結果を連携処理サーバ５０へ送信して、ステップＳＴ２４に移行する。
【００８９】
ステップＳＴ２４では、連携処理サーバ５０は、サービス処理装置６０Ａからの処理結果を受信すると、第１の処理依頼結果をログとして管理する。そして、連携処理サーバ５０は、指示書に基づき第２の処理依頼先を特定し、第２のサービスを実行することをサービス処理装置６０Ｂに依頼する。連携処理サーバ５０は、第１のサービス依頼と同様に、個別指示情報（処理依頼に関する情報である文書を格納する旨の情報、文書の格納先の情報、処理対象文書を特定する情報）をサービス処理装置６０Ｂへ送信する。
【００９０】
サービス処理装置６０Ｂは、連携処理サーバ５０の依頼内容に基づき、前の処理（第１のサービス）で処理され格納された文書を、依頼内容に基づいてサービスＢを実行する。サービス処理装置６０Ｂは、このような処理が完了すると、処理のステータス情報（完了）、出力パラメータ、処理後の文書格納先情報など、処理結果を連携処理サーバ５０へ送信して、ステップＳＴ２５に移行する。
【００９１】
ステップＳＴ２５では、連携処理サーバ５０は、第２のサービス（サービス処理装置６０Ｂ）からの処理結果を受信すると、第２の処理依頼結果をログとして管理する。連携処理サーバ５０は、指示書に基づき第３の処理依頼先を特定し、第３のサービスを実行することをサービス処理装置６０Ｃに依頼する。連携処理サーバ５０は、第２のサービス依頼と同様に、個別指示情報（処理依頼に関する情報である文書を格納する旨の情報、文書の格納先の情報、処理対象文書を特定する情報）をサービス処理装置６０Ｃへ送信する。
【００９２】
サービス処理装置６０Ｃは、連携処理サーバ５０の依頼内容に基づき、前の処理（第２のサービス）で処理され格納された文書を、文書を特定する情報（格納先情報）に基づき文書ファイルを読み出し、依頼内容に記述されたサービスＣを実行する。サービス処理装置６０Ｃは、処理が完了すると、処理のステータス情報（完了）、出力パラメータ、処理後の文書格納先情報など、処理結果を連携処理サーバ５０へ送信して、ステップＳＴ２６に移行する。
【００９３】
ステップＳＴ２６では、連携処理サーバ５０は、第３のサービス（サービス処理装置６０Ｃ）からの処理結果を受信し、指示書には次の処理が記述されていないと判断すると、クライアント端末１０に対してすべての処理が完了した旨の通知を行い、連携処理を終了する。
【００９４】
なお、連携処理サーバ５０は、指示書に従って連携処理を実行した際には、必要に応じて、ユーザ情報や各サービス処理装置６０の制限値テーブルを書き換えるのは勿論である。
【００９５】
以上のように、本実施形態に係る指示書生成サーバ３０は、ユーザが利用できるサービスをサービス検索サーバ２０に検索させ、サービス検索サーバ２０で検索された各サービスを用いて、複数のサービスの連携実行を指示する指示書を生成する。したがって、指示書生成サーバ３０は、サービス処理装置６０がユーザの利用制限を設定している場合でも、その利用制限の影響を受けることのない指示書を生成することができる。
【００９６】
そして、連携処理サーバ５０は、指示書生成サーバ３０で生成された指示書を用いて連携処理を実行することにより、ユーザの利用制限を設定しているサービス処理装置６０にサービスの実行依頼をすることがないので、確実に連携処理を実行することができる。
【００９７】
［第２の実施形態］
つぎに、本発明の第２の実施形態について説明する。なお、第１の実施形態と同一の部位には同一の符号を付し、詳細な説明は省略する。本実施形態では、指示書生成サーバ３０は、各々のサービス処理装置６０に対してあるユーザが利用できるか否かを直接問い合わせ、その問い合わせ結果に基づいて指示書を作成するものである。
【００９８】
（指示書の作成）
図１４は、指示書作成時の指示書生成サーバ３０の処理手順を示すフローチャートである。指示書生成サーバ３０は、クライアント端末１０のアクセスを確認すると、ステップＳＴ３１からステップＳＴ３５までの処理を実行する。なお、ステップＳＴ３１、及びステップＳＴ３３からステップＳＴ３５は、それぞれステップＳＴ１、及びステップＳＴ３からステップＳＴ５と同じである。そこで、ステップＳＴ３２について主に説明する。
【００９９】
ステップＳＴ３２では、指示書生成サーバ３０は、各々のサービス処理装置６０に対して、ユーザのユーザ情報を送信すると共に、そのユーザがサービスを利用できるか否かを問い合わせる。そして、指示書生成サーバ３０は、各々のサービス処理装置６０との問い合わせ結果に基づいて、ユーザが利用できるサービスを表したサービスリストを生成して、ステップＳＴ３３に移行する。
【０１００】
このとき、サービス処理装置６０は、指示書生成サーバ３０からの問い合わせに対して、次の手順に従って処理を実行する。
【０１０１】
（サービス処理装置６０の処理）
図１５は、サービス処理装置６０の検索処理手順を説明するフローチャートである。サービス処理装置６０は、指示書生成サーバ３０からサービスの利用可否の問い合わせがあると、ステップＳＴ４１以下の処理を実行する。
【０１０２】
ステップＳＴ４１では、サービス処理装置６０は、ユーザ情報を受信したか否かを判定し、ユーザ情報を受信するまで待機して、ユーザ情報を受信すると、ステップＳＴ４２に移行する。
【０１０３】
ステップＳＴ４２では、サービス処理装置６０は、ユーザ情報と予め記憶している制限値テーブルとを比較して、ユーザ情報が制限値テーブルで制限されているかを確認して、ステップＳＴ４３に移行する。つまり、サービス処理装置６０は、指示書生成サーバ３０から問い合わせのあったユーザについて、利用の可否を確認する。
【０１０４】
ステップＳＴ４３及びステップＳＴ４４では、サービス処理装置６０は、ステップＳＴ４３の確認結果に基づいて、そのユーザの利用が制限されていないと判定したときはＩ／Ｆ情報を指示書生成サーバ３０に送信し、そのユーザの利用が制限されていると判定したときはそのまま処理を終了する。
【０１０５】
一方、指示書生成サーバ３０は、各々のサービス処理装置６０から送信されたＩ／Ｆ情報を取得し、当該ユーザが利用可能なサービスを表したサービスリストを生成して、ステップＳＴ３３移行の処理を実行する。
【０１０６】
以上のように、本実施形態に係る指示書生成サーバ３０は、ユーザが利用できるか否かを直接サービス処理装置６０に問い合わせ、ユーザが利用可能なサービス処理装置６０からＩ／Ｆ情報を取得することにより、サービス処理装置６０がユーザの利用制限を設定している場合でも、その利用制限の影響を受けることのない指示書を生成することができる。
【０１０７】
［第３の実施形態］
つぎに、本発明のその他の実施形態について説明する。なお、上述した実施形態と同一の部位には同一の符号を付し、詳細な説明は省略する。
【０１０８】
第３の実施形態に係る指示書生成サーバ３０は、ユーザによって機能的なジョブフローが作成された後、このジョブフローを構成するサービスの利用制限をチェックするものである。
【０１０９】
図１６は、指示書作成時の指示書生成サーバ３０の処理手順を示すフローチャートである。
【０１１０】
（メインルーチン１）
ステップＳＴ５１では、指示書生成サーバ３０は、サービス検索サーバ２０に対して、サービスを機能毎に検索するように要求する。指示書生成サーバ３０は、サービス検索サーバ２０から、複数のサービスを機能毎に分類したサービスリストを受信する。指示書生成サーバ３０は、受信したサービスリストに基づいて、複数のサービスを機能毎に分類して表示した指示書作成画面をクライアント端末１０に送信して、ステップＳＴ５２に移行する。
【０１１１】
図１７は、クライアント端末１０に表示された指示書作成画面１００Ａを示す図である。サービスウインドウ１０１には、機能Ａ，Ｂ，Ｃ，Ｄが表示されている。機能Ａに含まれるサービスとしては、サービス１、サービス２がある。なお、機能Ｂ，Ｃ，Ｄに含まれるサービスもそれぞれ存在するが、図示は省略する。
【０１１２】
ユーザは、サービスウインドウ１０１にある機能アイコンとロジックウインドウ１０３のロジックアイコンをフローウインドウ１０２にドラッグ・アンド・ドロップすることで、フローウインドウ１０２に、機能の連携を表すジョブフローを定義することができる。
【０１１３】
なお、ユーザは、プロパティーウインドウ１０４に表示された内容を編集することによって、機能、サービス、ロジックを詳細に設定することができる。例えば、ユーザは、所定の機能の中でサービスの優先順位を設定してもよい。また、ユーザは、機能だけでなく特定のサービスを選択してもよい。
【０１１４】
ステップＳＴ５２では、指示書生成サーバ３０は、クライアント端末１０の指示書作成画面１００Ａを介して各々の機能が選択され、ジョブフローが完成されたと判定すると、ステップＳＴ５３に移行する。
【０１１５】
なお、ジョブフローが完成した場合、指示書作成画面１００Ａのフローウインドウ１０２には、フロー全体の制限情報、例えば、ジョブフロー全体を実行するのにかかる費用（図１７では「金額：￥２，５００円」）や期間（図１７では「期間：１５時間」）が表示される。
【０１１６】
ステップＳＴ５３では、指示書生成サーバ３０は、指示書作成画面１００Ａの制限チェックボタン１０５がクリックされたと判定すると、フローウインドウ１０２に表示されたジョブフローを機能毎にチェックする。
【０１１７】
（サブルーチン）
図１８は、指示書生成サーバ３０がジョブフローを構成する各機能をチェックするときのサブルーチンを示すフローチャートである。指示書生成サーバ３０は、上述した制限チェックボタン１０５がクリックされたと判定すると、ステップＳＴ６１以下の処理を実行する。
【０１１８】
ステップＳＴ６１では、指示書生成サーバ３０は、サービス検索サーバ２０にユーザ情報の問い合わせを行って、ステップＳＴ６２に移行する。なお、ユーザ情報は、ユーザ認証時にクライアント端末１０から入力された情報であってもよい。
【０１１９】
ステップＳＴ６２では、指示書生成サーバ３０は、チェック対象となる機能の中でユーザ情報が制限されているか否かサービス検索サーバ２０に確認させて、ステップＳＴ６３に移行する。
【０１２０】
このとき、サービス検索サーバ２０は、チェック対象となる機能において、各々のサービスの制限値テーブルとユーザ情報とを照合して、ユーザの利用が制限されていないサービスを検索する。
【０１２１】
ステップＳＴ６３では、指示書生成サーバ３０は、チェック対象となる機能の中で、最も制限値の低いサービスをサービス検索サーバ２０に検索させて、ステップＳＴ６４に移行する。
【０１２２】
このとき、サービス検索サーバ２０は、ユーザの利用が制限されていないサービスの中で、最も制限値の低いサービスを検索して、その検索結果を指示書生成サーバ３０に送信する。最も制限値の低いサービスの検索の仕方としては、例えばサービス実行金額を重視する場合、サービス検索サーバ２０は、最もサービス実行金額の安いサービスを検索すればよい。また、例えばサービス実行時間を重視する場合、サービス検索サーバ２０は、最もサービス実行時間の短いサービスを検索すればよい。
【０１２３】
ステップＳＴ６４では、指示書生成サーバ３０は、チェック対象となる機能を、指示書生成サーバ３０で検索されたサービスに置き換えた場合に、フローチャート全体としての処理が制限されないかを確認する。例えば、ユーザ情報の「所持金」がジョブフロー全体の「金額」を超えたり、ユーザ情報の「希望納期」がジョブフロー全体の「期間」を超えた場合は、ジョブフロー全体の処理が制限される。
【０１２４】
そして、指示書生成サーバ３０は、ジョブフロー全体としての処理が制限されないときは、サービス検索サーバ２０で検索されたサービスを、ジョブフローを構成するサービスとして設定して、ステップＳＴ６５に移行する。一方、ジョブフロー全体としての処理が制限されるときはサブルーチンを抜ける。
【０１２５】
ステップＳＴ６５では、指示書生成サーバ３０は、ジョブフローを実行するのにかかる制限をユーザ情報に反映して、ユーザ情報を更新する。例えば、ジョブフローを実行するのにかかる金額や期間などをユーザ情報から差し引いて、ステップＳＴ６６に移行する。
【０１２６】
ステップＳＴ６６では、指示書生成サーバ３０は、ジョブフローの中でまだチェックされていない次の機能があるかを判定し、チェックされていない次の機能があるときはステップＳＴ６７に移行し、そのような機能はないときはサブルーチンを抜ける。
【０１２７】
ステップＳＴ６７では、指示書生成サーバ３０は、上記次の機能をチェック対象となる機能に設定してステップＳＴ６２に戻る。そして、指示書生成サーバ３０は、ステップＳＴ６２からステップＳＴ６７までの処理を繰り返し実行することにって、ユーザ情報に制限されないサービスをジョブフローの各機能に設定することができる。
【０１２８】
（メインルーチン２）
指示書生成サーバ３０は、ステップＳＴ５３のサブルーチンを実行すると、ステップＳＴ５４に移行する。
【０１２９】
ステップＳＴ５４では、指示書生成サーバ３０は、ステップＳＴ５３でチェックされたジョブフローが制限されているか否かを判定し、ジョブフローが制限されているときはステップＳＴ５２に戻る。このとき、指示書生成サーバ３０は、クライアント端末１０に対して、制限にかかった機能（例えば、図１７中の「機能Ｚ」）を明示した指示書作成画面１００Ａを送信する。これにより、指示書生成サーバ３０は、ユーザに対して、ジョブフローを構成する機能（又はサービス）の変更を促している。
【０１３０】
一方、指示書生成サーバ３０は、ジョブフローが制限されていないときは、クライアント端末１０から各サービスの連携を表したジョブフローに関する情報を受信し、さらに連携処理を行う各サービス処理装置からＩ／Ｆ情報を取得する。そして、ジョブフローに関する情報とＩ／Ｆ情報とに基づいて、各サービスへ依頼する処理の内容、入力パラメータ、各サービスの連携の仕方、文書名や格納ロケーション情報等の処理対象の文書を特定するための情報を定義した指示書を作成して、指示書作成処理を終了する。最後に、指示書生成サーバ３０は、ＸＭＬ形式の指示書を指示書管理サーバ４０に送信する。
【０１３１】
以上のように、第３の実施形態に係る指示書生成サーバ３０は、ユーザに機能のみのジョブフローを定義させた後、機能毎に、ユーザの利用が制限されてなく、かつ最も制限値の低いサービスをサービス検索サーバ２０に検索させる。そして、指示書生成サーバ３０は、サービス検索サーバ２０で検索された最も制限値の低いサービスをジョブフローに設定する。この結果、指示書生成サーバ３０は、ユーザに自由にジョブフローを作成させた後、ユーザの利用が制限されず、かつ最も制限値が低いサービスを用いて、各サービスを連携する指示書を生成することができる。
【０１３２】
また、連携処理サーバ５０は、指示書生成サーバ３０で生成された指示書を用いて連携処理を実行するときは、ユーザの利用制限を設定しているサービス処理装置６０にサービスの実行依頼をすることがないので、確実に連携処理を実行することができる。さらに、制限値が最も低いサービスの連携処理を実行するので、費用や時間等のコストも大幅に抑制することができる。
【０１３３】
［第４の実施形態］
つぎに、本発明の第４の実施形態について説明する。なお、第３の実施形態と同一の部位には同一の符号を付し、詳細な説明は省略する。
【０１３４】
本実施形態では、指示書生成サーバ３０は、各々のサービス処理装置６０に対してあるユーザが利用できるか否かを直接問い合わせ、その問い合わせ結果に基づいて指示書を作成する。第３の実施形態と比較すると、図１６に示すステップＳＴ５３のサブルーチンのみが異なっている。
【０１３５】
図１９は、指示書生成サーバ３０がステップＳＴ５３においてジョブフローを構成する各機能をチェックするときのサブルーチンを示すフローチャートである。指示書生成サーバ３０は、上述した制限チェックボタン１０５がクリックされたと判定すると、ステップＳＴ７１以下の処理を実行する。なお、ステップＳＴ７３からステップＳＴ７６までは、第３の実施形態で説明したステップＳＴ６４からステップＳＴ６７までと同様である。このため、ステップＳＴ７１及びステップＳＴ７２を主に説明する。
【０１３６】
ステップＳＴ７１では、指示書生成サーバ３０は、チェック対象となる機能の各々のサービス処理装置６０に対して、ユーザ情報が制限されているか否か確認させて、ステップＳＴ７２に移行する。
【０１３７】
このとき、サービス処理装置６０は、指示書生成サーバ３０から送信されたユーザ情報と、自身が予め記憶した制限値テーブルとを照合して、ユーザの利用を制限しているか否かを確認して、確認結果を指示書生成サーバ３０に送信する。
【０１３８】
ステップＳＴ７２では、指示書生成サーバ３０は、チェック対象となる機能の中で、ユーザの利用が制限されてなく、かつ最も制限値の低いサービス（サービス処理装置６０）を選択して、ステップＳＴ７３に移行する。そして、指示書生成サーバ３０は、第３の実施形態と同様にして、ステップＳＴ７３からステップＳＴ７６までの処理を実行する。
【０１３９】
以上のように、第４の実施形態に係る指示書生成サーバ３０は、ユーザに機能のみのジョブフローを定義させた後、機能毎に、各々のサービス処理装置６０に問い合わせを行って、ユーザの利用が制限されてなく、かつ最も制限値の低いサービスを探し出す。そして、指示書生成サーバ３０は、探し出したサービスの中で最も制限値の低いサービスをジョブフローに設定する。
【０１４０】
この結果、指示書生成サーバ３０は、ユーザに自由にジョブフローを作成させた後、ユーザの利用が制限されず、かつ最も制限値が低いサービスを用いて、各サービスを連携する指示書を生成することができる。
【０１４１】
また、連携処理サーバ５０は、指示書生成サーバ３０で生成された指示書を用いて連携処理を実行するときは、ユーザの利用制限を設定しているサービス処理装置６０にサービスの実行依頼をすることがないので、確実に連携処理を実行することができる。さらに、制限値が最も低いサービスの連携処理を実行するので、費用や時間等のコストも大幅に抑制することができる。
【０１４２】
［第５の実施形態］
つぎに、本発明の第５の実施形態について説明する。なお、上述した実施形態と同一の部位には同一の符号を付し、詳細な説明は省略する。
【０１４３】
図２０は、第５の実施形態に係る文書処理システム１Ａを構成する各サービス処理装置の相互関係を説明するためのブロック図である。
【０１４４】
文書処理システム１Ａは、図１及び図２に示した連携処理サーバ５０を使用することなく、複数のサービスの連携処理を実行するものである。なお、指示書生成サーバ３０は、第１から第４の実施形態のいずれであってもよい。
【０１４５】
また、図２０には連携処理に関連する主要なサービス処理装置のみを図示したが、図１に示した他のサービス処理装置（連携処理サーバ５０を除く。）があってもよい。
【０１４６】
（連携処理の起動・実行）
ユーザは、指示書管理サーバ４０に保存されている複数の指示書の中から所望の指示書を選択して、連携処理を起動させることができる。具体的には、以下の通りである。
【０１４７】
クライアント端末１０は、ユーザの操作に応じて、サービス連携処理選択画面から所望のサービス連携処理を表す指示書を選択し、その指示書の起動を指示する。指示書管理サーバ４０は、クライアント端末１０によって指示された指示書をサービス処理装置６０Ａへ送信する。
【０１４８】
サービス処理装置６０Ａは、送信された指示書に記述された処理対象文書の格納先ロケーション情報をもとに、処理対象の文書を取得する。サービス処理装置６０Ａは、取得した文書画像に対してサービスＡを実行する。サービス処理装置６０Ａは、サービスＡの実行後、指示書に記述されたサービス依頼を削除する。そして、サービス処理装置６０Ａは、サービスＡによって得られた文書と、処理のステータス情報（完了）、出力パラメータ、処理後の文書格納先情報など処理結果を有する指示書を、次のサービスを実行するサービス処理装置６０Ｂに送信する。
【０１４９】
サービス処理装置６０Ｂは、指示書に基づいて、サービス処理装置６０Ａから送信された文書にサービスＢを実行する。そして、サービス処理装置６０Ｂは、指示書に記述されたサービス依頼を削除して、文書及び指示書を次のサービスを行うサービス処理装置６０Ｃに送信する。
【０１５０】
サービス処理装置６０Ｃは、指示書に基づいて、サービス処理装置６０Ｂから送信された文書にサービスＣを実行する。そして、サービス処理装置６０Ｃは、指示書に次のサービスが記述されていないと判断すると、クライアント端末１０に対してすべての処理が完了した旨の通知を行い、連携処理を終了する。
【０１５１】
なお、本発明は、上述した実施の形態に限定されるものではなく、特許請求の範囲に記載された事項の範囲であれば、設計事項が変更された場合でも適用可能である。
【０１５２】
例えば、上述した各実施形態では、サービス検索サーバ２０及び指示書生成サーバ３０はそれぞれ独立して構成されていたが、これらの機能を１つにまとめてもよい。また、クライアント端末１０と指示書生成サーバ３０は独立したものとして説明したが、これらを１つにまとめてもよい。
【０１５３】
なお、サービス処理装置６０は、制限値テーブルによる制限の対象をユーザ全員でなく、特定のユーザにしてもよいし、特定のグループのユーザにしてもよい。
【０１５４】
さらに、ユーザ情報は、図９に示すようなものに限らず、ユーザの属性を表すものであればよい。例えば、住所などで制限して特定地域のユーザにのみサービスを提供するようにしてもよい。
【０１５５】
また、サービス検索サーバ２０は、各サービス処理装置６０の制限値テーブルを一元管理してサービスの検索を行っていた。しかし、サービス検索サーバ２０に代えて、制限値テーブルを一元管理する認証サーバと、サービスの検索のみを行うサービス検索サーバをそれぞれ設けてもよい。このとき、制限値テーブルのチェックは、サービス検索サーバ又は認証サーバが行えばよい。
【０１５６】
【発明の効果】
本発明に係る連携指示情報生成装置は、ユーザ情報を用いてユーザが使用可能な複数のサービスを取得し、取得した複数のサービスを用いて前記連携指示情報を生成することにより、サービスの制限を受けることなく、複数のサービスの連携処理を円滑に実行するための連携指示情報を生成することができる。
【０１５７】
本発明に係る連携指示情報生成方法及び連携指示情報生成制御プログラムによれば、各々のサービスの実行制限を表す各々の制限値テーブルとユーザ情報を照合することで、ユーザが使用可能な複数のサービスを取得し、取得した複数のサービスを用いて連携指示情報を生成することにより、サービスの制限を受けることなく、複数のサービスの連携処理を円滑に実行するための連携指示情報を生成することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態に係る文書処理システムの構成を示すブロック図である。
【図２】文書処理システムを構成する各サービス処理装置の相互関係を説明するためのブロック図である。
【図３】Ｉ／Ｆ情報の構成を示す図である。
【図４】指示書生成サーバの構成を示すブロック図である。
【図５】クライアント端末、サービス検索サーバ、指示書生成サーバ、サービス処理装置の相互関係を説明する図である。
【図６】Ｗｅｂサーバ部で生成されたＧＵＩ画面である指示書作成画面を示す図である。
【図７】ＸＭＬ形式で構成された指示書を示す概念図である。
【図８】制限値テーブルの構成を示す図である。
【図９】指示書作成時の指示書生成サーバの処理手順を示すフローチャートである。
【図１０】ユーザ情報の構成を示す図である。
【図１１】サービス検索サーバの検索処理手順を説明するフローチャートである。
【図１２】クライアント端末、指示書管理サーバ及び連携処理サーバの処理を示すフローチャートである。
【図１３】指示書リストを表すサービス連携処理選択画面の一例を示す図である。
【図１４】第２の実施形態において指示書作成時の指示書生成サーバの処理手順を示すフローチャートである。
【図１５】サービス処理装置の検索処理手順を説明するフローチャートである。
【図１６】第３の実施形態において指示書作成時の指示書生成サーバの処理手順を示すフローチャートである。
【図１７】クライアント端末に表示された指示書作成画面を示す図である。
【図１８】指示書生成サーバ３０がジョブフローを構成する各機能をチェックするときのサブルーチンを示すフローチャートである。
【図１９】第４の実施形態において指示書生成サーバがジョブフローを構成する各機能をチェックするときのサブルーチンを示すフローチャートである。
【図２０】第５の実施形態に係る文書処理システムを構成する各サービス処理装置の相互関係を説明するためのブロック図である。
【符号の説明】
１０  クライアント端末
２０  サービス検索サーバ
３０  指示書生成サーバ
３６  情報管理部
３７  Ｗｅｂサーバ部
３８  指示書作成部
４０  指示書管理サーバ
５０  連携処理サーバ
６０，６０Ａ，６０Ｂ，…，６０Ｙ，６０Ｚ  サービス処理装置
【図１】
2004287837.tif 000003
【図２】
2004287837.tif 000004
【図３】
2004287837.tif 000005
【図４】
2004287837.tif 000006
【図５】
2004287837.tif 000007
【図６】
2004287837.tif 000008
【図７】
2004287837.tif 000009
【図８】
2004287837.tif 000010
【図９】
2004287837.tif 000011
【図１０】
2004287837.tif 000012
【図１１】
2004287837.tif 000013
【図１２】
2004287837.tif 000014
【図１３】
2004287837.tif 000015
【図１４】
2004287837.tif 000016
【図１５】
2004287837.tif 000017
【図１６】
2004287837.tif 000018
【図１７】
2004287837.tif 000019
【図１８】
2004287837.tif 000020
【図１９】
2004287837.tif 000021
【図２０】
2004287837.tif 000022