(57)【要約】【課題】スキャンデータが間違ったアップロード先にアップロードされることを防止する。【解決手段】ワークフローサーバ１０４は、実行すべきアクティビティが、ドキュメントのスキャン処理と、スキャン処理によって生成されるスキャンデータのアップロード処理とを含む場合、ＭＦＰ１０３がアップロード処理に対応して定められたアップロード先にスキャンデータをアップロードするようにアップロード先データを保存する。【選択図】図１
2010035149.tif 000002
【特許請求の範囲】
【請求項１】
複数のアクティビティを含むワークフローを制御する制御装置におけるワークフロー制御方法であって、
実行すべきアクティビティに含まれる処理を判断する判断ステップと、
実行すべきアクティビティが、ドキュメントのスキャン処理と、スキャン処理によって生成されるスキャンデータのアップロード処理とを含む場合、前記制御装置とネットワークを介して接続されるスキャナ装置が、アップロード処理に対応して定められたアップロード先にスキャンデータをアップロードするように、アップロード先データを保存する保存ステップとを含むことを特徴とするワークフロー制御方法。
【請求項２】
前記保存ステップでは、アップロード先データを前記スキャナ装置内に保存することを特徴とする請求項１に記載のワークフロー制御方法。
【請求項３】
前記保存ステップでは、前記スキャナ装置によりアクセスできるように、アップロード先データを前記ネットワークに接続されたサーバに保存することを特徴とする請求項１に記載のワークフロー制御方法。
【請求項４】
前記保存ステップでは、ドキュメントをスキャンするための条件を保存することを特徴とする請求項１に記載のワークフロー制御方法。
【請求項５】
前記保存ステップでは、前記スキャナ装置がアップロード先にアップロードするスキャンデータの名前を保存することを特徴とする請求項１に記載のワークフロー制御方法。
【請求項６】
前記保存ステップでは、前記ワークフローを開始したユーザに応じたアップロード先に前記スキャナ装置がスキャンデータをアップロードするように、アップロード先データを保存することを特徴とする請求項１に記載のワークフロー制御方法。
【請求項７】
複数のアクティビティを含むワークフローを制御する制御装置であって、
実行すべきアクティビティに含まれる処理を判断する判断手段と、
実行すべきアクティビティが、ドキュメントのスキャン処理と、スキャン処理によって生成されるスキャンデータのアップロード処理とを含む場合、前記制御装置とネットワークを介して接続されるスキャナ装置が、アップロード処理に対応して定められたアップロード先にスキャンデータをアップロードするように、アップロード先データを保存する保存手段とを有することを特徴とする制御装置。
【請求項８】
複数のアクティビティを含むワークフローを制御する制御装置におけるワークフロー制御方法をコンピュータに実行させるためのプログラムであって、
実行すべきアクティビティに含まれる処理を判断する判断ステップと、
実行すべきアクティビティが、ドキュメントのスキャン処理と、スキャン処理によって生成されるスキャンデータのアップロード処理とを含む場合、前記制御装置とネットワークを介して接続されるスキャナ装置が、アップロード処理に対応して定められたアップロード先にスキャンデータをアップロードするように、アップロード先データを保存する保存ステップとをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のアクティビティを含むワークフローを制御するための技術に関するものである。
【背景技術】
【０００２】
ワークフローシステムは、企業等が業務の遂行及びその管理のためのツールとして利用されるようになってきている。また、契約書等をデジタル複合機等でスキャンし、その結果を証憑として受注管理ワークフローシステムに手動で登録する、ということも行われるようになってきている。
【０００３】
一方、読み取り条件と文書の登録先が設定されたジョブテンプレートをサーバから取得してスキャンを行い、結果をジョブテンプレートに記述されているサーバに登録する技術が知られている(例えば、特許文献１参照)。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−２７０１４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来のワークフローシステムにおいて紙ドキュメントをスキャンしたデータをワークフローに付加するためには、まず紙ドキュメントをスキャンし、生成されたデータをワークフローに関連付けする作業が必要であった。関連付けを行うワークフロー或いはプロセスインスタンスとスキャンデータとが多数になると、作業量も膨大なものとなるだけでなく、ワークフロー或いはプロセスインスタンスに対して間違ったスキャンデータを関連付けてしまうミスも発生する可能性があった。
【０００６】
そこで、本発明の目的は、スキャンデータが間違ったアップロード先にアップロードされることを防止することにある。
【課題を解決するための手段】
【０００７】
本発明のワークフロー制御方法は、複数のアクティビティを含むワークフローを制御する制御装置におけるワークフロー制御方法であって、実行すべきアクティビティに含まれる処理を判断する判断ステップと、実行すべきアクティビティが、ドキュメントのスキャン処理と、スキャン処理によって生成されるスキャンデータのアップロード処理とを含む場合、前記制御装置とネットワークを介して接続されるスキャナ装置が、アップロード処理に対応して定められたアップロード先にスキャンデータをアップロードするように、アップロード先データを保存する保存ステップとを含むことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、スキャンデータが間違ったアップロード先にアップロードされることを防止することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態に係るワークフローシステムの構成を示す図である。
【図２】ワークフローを定義するプロセス、及び、アクティビティを模式的に示す図である。
【図３】プロセスインスタンスを模式的に示す図である。
【図４】ワークフローシステムで実行されるワークフローを定義したプロセスの一例と、プロセス内におけるスキャン・アップロードアクティビティの詳細な構成とを示す図である。
【図５】本発明の実施形態に係るワークフローサーバの構成を示すブロック図である。
【図６】本発明の第１の実施形態におけるワークフローサーバの処理を示すフローチャートである。
【図７】本発明の第１の実施形態におけるＭＦＰの処理を示すフローチャートである。
【図８】本発明の第２の実施形態におけるワークフローサーバの処理を示すフローチャートである。
【図９】本発明の第２の実施形態におけるワークフローサーバ、ＭＦＰ間の処理の流れを示すシーケンスチャートである。
【図１０】本発明の第３の実施形態における出張精算申請ワークフローシステムを示すＢＰＭＮ図である。
【図１１】本発明の第３の実施形態における出張精算申請ワークフローシステムを示すＢＰＭＮコードを示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【００１１】
先ず、本発明の第１の実施形態について説明する。図１は、本発明の第１の実施形態に係るワークフローシステムの構成を示す図である。図１において、１０２は、ユーザ１０５がワークフローに対する操作を行うためのクライアントＰＣである。１０３は、紙ドキュメントのスキャンを行うデジタル複合機（ＭＦＰ）である。１０４は、情報処理装置であるワークフローサーバである。１０１は、ワークフローサーバ１０４、ＭＦＰ１０３及びクライアントＰＣ１０２を接続するネットワークである。なお、本実施形態では、ＭＦＰ１０３をスキャナ装置として用いる。
【００１２】
図２（Ａ）は、ワークフローを定義するプロセスを模式的に示す図である。本実施形態におけるワークフローシステムで実行されるワークフローは、図２（Ａ）に示すようなプロセス２０１で定義されている。プロセス２０１は、どのような処理を行うかを定義したものであり、プロセス２０１を構成する個々の処理の定義であるアクティビティＡ２０２、アクティビティＢ２０３、アクティビティＣ２０４から構成される。さらにプロセス２０１は、各アクティビティ２０２、２０３、２０４の実行順序を定義している。なお、プロセス２０１を定義する情報は、ワークフローサーバ１０４に予め登録されている。
【００１３】
図２（Ｂ）は、アクティビティを模式的に示す図である。図２（Ｂ）では、アクティビティＡ２０２とアクティビティＢ２０３とを示し、アクティビティＣ２０４は省略している。プロセス２０１を構成する各々のアクティビティ２０２、２０３、２０４は、アクティビティ識別子３０１、担当者３０２、遷移条件３０３、次のアクティビティ３０４、処理内容３０５等から構成されている。アクティビティ識別子３０１は、アクティビティを識別するためのアクティビティ識別子であり、担当者３０２は、当該アクティビティを実行する担当者である。遷移条件３０３は、次のアクティビティに遷移するための遷移条件であり、処理内容３０５は、当該アクティビティで行う処理内容である。なお、上記次のアクティビティは、以下の説明において次アクティビティと称す。
【００１４】
次アクティビティ３０４には、次アクティビティのアクティビティ識別子が記述され、図２（Ｂ）の３０６に示すように、アクティビティとそのアクティビティの次に実行すべき次アクティビティとが関連付けられている。
【００１５】
図３は、プロセスインスタンスを模式的に示す図である。ユーザ１０５がクライアントＰＣ１０２の操作によってワークフローの処理を開始させると、ワークフローサーバ１０４において図３に示すプロセスインスタンスが生成される。プロセスインスタンスは、ユーザ各々のプロセスの処理のデータを保持するものである。プロセスインスタンスは、プロセスインスタンスの作成者（ワークフローを開始したユーザ）の名前である作成者４０１、現在ワークフローサーバ１０４がどのアクティビティの実行を行っているかを示す状態４０２、各アクティビティで入力されたデータ４０３から構成されている。
【００１６】
図４は、本実施形態におけるワークフローシステムで実行されるワークフローを定義したプロセス５０１の一例と、プロセス５０１内におけるスキャン・アップロードアクティビティ５０３の詳細な構成とを示す図である。スキャン・アップロードアクティビティ５０３は、ドキュメント読み込みアクティビティの一例ある。
【００１７】
プロセス５０１は、通常の処理を行うアクティビティであるアクティビティＡ５０２及びアクティビティＣ５０４と、文書のスキャン及び文書サーバへのアップロードを行うアクティビティであるスキャン・アップロードアクティビティ５０３とから構成される。プロセス５０１は、クライアントＰＣ１０２からの要求により、アクティビティＡ５０２から開始される。
【００１８】
スキャン・アップロードアクティビティ５０３は、アクティビティ識別子として"スキャン・アップロードアクティビティ"５０５が定義されている。また、スキャン・アップロードアクティビティ５０３は、アクティビティを行う担当者として"作成者"５０６、次アクティビティに遷移するための遷移条件として"スキャン・アップロード終了通知受信"５０７が定義されている。
【００１９】
さらに、次アクティビティとして"アクティビティＣ"５０８、このアクティビティ（スキャン・アップロードアクティビティ）で行う処理内容として"文書のスキャン・アップロード"５０９が定義されている。また、この処理内容の"文書のスキャン・アップロード"５０９には、スキャン設定５１０及びアップロード先情報５１３が定義されている。なお、アップロード先情報５１３は、アップロード先情報であり、スキャン設定５１０は、スキャン設定情報である。本実施形態では、説明のためにアクティビティ識別子、担当者、遷移条件、アクティビティで行う処理内容を自然言語的に表記しているが、勿論ＩＤ番号等で表記してもよい。
【００２０】
スキャン設定５１０では、紙ドキュメントのスキャンを行うときの解像度５１１、出力するスキャン結果のデータのファイル形式５１２等、スキャンに必要な設定が定義されている。
【００２１】
アップロード先情報５１３には、アップロードプロトコル情報５１４、データを保存するアップロード先サーバのサーバ名５１５、データを保存するアップロード先サーバのフォルダ名５１６、保存するデータのファイル名５１７等が定義されている。アップロードプロトコル情報５１４は、ＭＦＰ１０３がサポートしているネットワークプロトコルのうち、スキャン結果を文書サーバにアップロードする場合に使用するネットワークプロトコルを指定するための情報である。例えば「WebDAV」や「HTTP」、「SMB」といったネットワークプロトコル名が記述されている。
【００２２】
スキャン設定５１０、アップロード先情報５１３は、スキャン・アップロードアクティビティ５０３で定義されている。そのため、プロセス５０１に複数のスキャン・アップロードアクティビティが含まれている場合であっても、スキャン・アップロードアクティビティ毎に、スキャン設定５１０、アップロード先情報５１３が定義可能である。
【００２３】
図５は、本発明の実施形態に係るワークフローサーバ１０４の構成を示すブロック図である。
【００２４】
ワークフローサーバ１０４において、１４１は、ワークフローサーバ１０４全体を制御するCentral Processing Unit（ＣＰＵ）である。１４２は、外部記憶装置１４３等から供給されるプログラムやデータを一時記憶するメモリである。メモリ１４２には、図３に示したプロセスインスタンス、図４に示したプロセス５０１も記憶される。１４３は、ハードディスクやメモリカード等の外部記憶装置である。１４４は、ポインティングデバイスやキーボードといった入力デバイスである。１４５は、ディスプレイモニタである。１４６は、ネットワーク１０１に接続するためのネットワークインタフェースである。１４７は、１４１〜１４６の各ユニットが接続され、通信を行うためのシステムバスである。
【００２５】
次に、本発明の第１の実施形態におけるワークフローサーバ１０４のワークフロー制御処理を、図６のフローチャートを用いて説明する。
【００２６】
ＭＦＰ１０３においてプロセス５０１を構成している一つのアクティビティが終了すると(ステップＳ６０１)、ワークフローサーバ１０４は、次アクティビティの処理内容が文書のスキャン・アップロードであるかを判定する (ステップＳ６０２)。プロセスの開始時においては、最初のアクティビティの処理内容が文書のスキャン・アップロードであるかを判定する。次アクティビティの処理内容が文書のスキャン・アップロードでなければ、ワークフローサーバ１０４は、次アクティビティに定義されている処理内容を行う(ステップＳ６０９)。続いて、ワークフローサーバ１０４は、プロセスインスタンスの状態４０２を次アクティビティに変更する(ステップＳ６０８)。これにより、アクティビティの実行が次アクティビティに遷移される。
【００２７】
一方、ステップＳ６０２の判定において、文書のスキャン・アップロードであると判定された場合、ワークフローサーバ１０４は、次アクティビティに定義されている処理内容からスキャン設定５１０を取得する(ステップＳ６０３)。同様にワークフローサーバ１０４は次アクティビティに定義されている処理内容からアップロード先情報５１３も取得する(ステップＳ６０４)。なお、スキャン・アップロードの処理内容５０９を含むプロセス５０１は、メモリ１４２に格納されている。続いて、ワークフローサーバ１０４は、プロセスインスタンスのデータ４０３にアップロード先情報（アップロード先データ）５１３を保存する(ステップＳ６０５)。
【００２８】
続いて、ワークフローサーバ１０４は、スキャン設定５１０とアップロード先情報５１３とをＭＦＰ１０３に送信して、スキャン設定５１０、アップロード先情報５１３をＭＦＰ１０３に設定した上でのスキャン・アップロードを要求する(ステップＳ６０６)。そして、ワークフローサーバ１０４は、ＭＦＰ１０３からスキャン・アップロードの終了通知を受信するまで処理を一時停止する(ステップＳ６０７)。
【００２９】
図７は、本発明の第１の実施形態におけるＭＦＰ１０３の処理を示すフローチャートである。以下では、図７に示すフローチャートも併せ用いて、本実施形態に係るワークフローシステムの処理の流れについて説明する。なお、ＭＦＰ１０３は、図５に示した構成に、スキャナがシステムバス１４７に接続された構成を有する。
【００３０】
図７において、先ず、ＭＦＰ１０３は、ワークフローサーバ１０４からスキャン設定５１０とアップロード先情報５１３とを受信する（ステップＳ７０１）。続いて、ＭＦＰ１０３は、スキャン設定５１０に従って解像度「600dpi」５１１、ファイル形式「PDF」５１２の設定で文書のスキャンを行う(ステップＳ７０２)。
【００３１】
さらに、ＭＦＰ１０３は、ワークフローサーバ１０４から送られてきたアップロード先情報５１３に従い、スキャン結果のデータのアップロード処理を行う。例えば、図４に示すように、アップロード先情報５１３に記述されているプロトコルが「WebDAV」であれば、ＭＦＰ１０３はWebDAVプロトコルを用いてスキャン結果のアップロードを行う。また、ＭＦＰ１０３は、サーバ名５１５、フォルダ名５１６及びファイル名５１７から「http://文書ＤＢ/文書フォルダ/文書.pdf」というアドレス情報（アップロード先指定情報）であるＵＲＬを生成する（ステップＳ７０３）。そして、ＭＦＰ１０３は、そのＵＲＬに対してWebDAVプロトコルを用いてスキャン結果のアップロードを行い(ステップＳ７０４)、不図示のサーバ（文書ＤＢ）に対してスキャン結果を保存する。
【００３２】
ＭＦＰ１０３は、スキャン結果のアップロードが完了するとワークフローサーバ１０４に対してスキャン・アップロードの終了を通知する(ステップＳ７０５)。
【００３３】
ワークフローサーバ１０４は、スキャン結果のアップロード終了通知をＭＦＰ１０３から受信すると、ステップＳ６０７の処理を終了する。続いて、ワークフローサーバ１０４は、プロセスインスタンスの状態４０２を次アクティビティ３０４で定義されているアクティビティに変更する(ステップＳ６０８)。続いて、ワークフローサーバ１０４は、今回実行したアクティビティの処理を終了して(ステップＳ６０１)、次アクティビティの処理に進む。
【００３４】
本実施形態においては、ステップＳ６０５でプロセスインスタンスのデータ４０３の部分にアップロード先情報５１３が保存されている。よって、他のアクティビティでスキャン結果のデータを使用する場合は、プロセスインスタンスのデータ４０３に保存されているアップロード先情報５１３を使用してスキャン結果のデータを参照することが可能となる。
【００３５】
次に、本発明の第２の実施形態について説明する。本実施形態におけるプロセスやアクティビティは上述した第１の実施形態のものと同様である。また、本実施形態に係るワークフローシステムの構成は、図１に示す第１の実施形態に係るワークフローシステムの構成と同様である。
【００３６】
本実施形態において、図４の５０３に相当するスキャン・アップロードアクティビティに定義されたスキャン設定５１０、アップロードプロトコル情報５１４、アップロード先サーバ名５１５は、図４に示したとおりである。また、本実施形態においては、データを保存するアップロード先サーバのフォルダ名のテンプレート５１６としては、図４とは異なり「[作成者]フォルダ」が設定されている。更に、保存するデータのファイル名のテンプレート５１７としては「文書[作成者].pdf」が設定されている。本実施形態におけるフォルダ名のテンプレート、ファイル名のテンプレートは、テンプレートに含まれる「[値の名前]」にプロセスインスタンスの対応する作成者４０１の値を挿入することによりアップロード先情報を生成することができるテンプレートである。
【００３７】
ユーザ１０５がクライアントＰＣ１０２でワークフローの処理を開始すると、ワークフローサーバ１０４では、第１の実施形態と同様の図３に示すプロセスインスタンスが生成される。次に、本発明の第２の実施形態におけるワークフローサーバ１０４の処理を、図８のフローチャートを用いて説明する。図８において、ステップＳ６０１からＳ６０４、Ｓ６０８、Ｓ６０９は、図６と共通である。
【００３８】
ステップＳ６０３、Ｓ６０４を実行すると、続いて、ワークフローサーバ１０４は、処理を行っているプロセスインスタンスから作成者４０１のデータを取得する(ステップＳ９０５)。続いて、ワークフローサーバ１０４は、ステップＳ６０４で取得したアップロード先情報に含まれる"[作成者]"を、ステップＳ９０５で取得した作成者４０１のデータで置換し、アップロード先情報を生成する(ステップＳ９０６)。例えば、図３に示すプロセスインスタンスの場合、プロセスインスタンスの作成者４０１の値「太郎」がマージされ、フォルダ名は「太郎フォルダ」、ファイル名は「文書太郎.pdf」となる。なお、作成者４０１の値は、ユーザの識別情報であり、作成者の名前だけでなく、作成者を特定可能なＩＤ情報であってもよい。
【００３９】
続いて、ワークフローサーバ１０４は、プロセスインスタンスのデータ４０３に、ステップＳ９０６で生成されたアップロード先情報を保存する(ステップＳ９０７)。
【００４０】
ワークフローサーバ１０４は、スキャン設定５１０とステップＳ９０６で生成されたアップロード先情報とを、プロセスインスタンスの作成者の、スキャン・アップロード設定保存領域に保存する(ステップＳ９０８)。スキャン・アップロード設定保存領域は、ステップＳ９０６で生成されたアップロード先情報をプロセスインスタンスの作成者毎に一時的に保存する領域であり、ワークフローサーバ１０４とＭＦＰ１０３との両方からアクセス可能な領域である。例えば、ネットワーク１０１に接続されたファイルサーバ（不図示）上のプロセスインスタンスの作成者のホームフォルダ等である。勿論、ワークフローローサーバ１０４やＭＦＰ１０３上にあってもよい。
【００４１】
続いて、ワークフローサーバ１０４は、ＭＦＰ１０３からのスキャン・アップロードの終了通知を受信するまで処理を一時停止する(ステップＳ９０９)。
【００４２】
本実施形態では、スキャン設定及びアップロード先情報を、スキャン・アップロード設定保存領域に保存している。そして、ＭＦＰ１０３はスキャン時にスキャン・アップロード設定保存領域からスキャン設定及びアップロード先情報を取得している。他の実施形態として、ワークフローサーバ１０４がＭＦＰ１０３にスキャン設定及びアップロード先情報を直接送り、スキャン要求をしてもよい。
【００４３】
図９は、ワークフローサーバ１０４、ＭＦＰ１０３間の処理の流れを示すシーケンスチャートである。以下では、図９に示すシーケンスチャートも併せ用いて、本実施形態に係るワークフローシステムの処理の流れについて説明する。
【００４４】
ユーザがＭＦＰ１０３においてスキャン処理の開始を要求すると、ＭＦＰ１０３は、スキャン・アップロード設定保存領域１００１に保存されているスキャン設定及びアップロード先情報を取得する(ステップＳ１００２)。次に、ＭＦＰ１０３は、第１の実施形態と同様に、スキャン設定に従って文書をスキャンし(ステップＳ１００３)、アップロード先情報に従ってスキャン結果をアップロード先にアップロードする(ステップＳ１００４)。続いて、ＭＦＰ１０３は、スキャン・アップロードの終了通知をワークフローサーバ１０４に対して行い(ステップＳ１００５)、スキャン処理を終了する。
【００４５】
ワークフローサーバ１０４は、スキャン結果のアップロード通知を受信すると、図８のステップＳ９０９を終了し、該当するスキャン設定及びアップロード先情報をスキャン・アップロード設定保存領域１００１から削除する(ステップＳ９１０)。
【００４６】
続いて、ワークフローサーバ１０４は、プロセスインスタンスの状態４０２を次アクティビティ３０４で定義されているアクティビティに変更する（ステップＳ９１１）。続いて、ワークフローサーバ１０４は、今回実行したアクティビティの処理を終了して（ステップＳ９０１）、次アクティビティの処理に進む。
【００４７】
本実施形態においては、ステップＳ９０７でプロセスインスタンスのデータ４０３の部分にアップロード先情報が保存されている。よって、他のアクティビティでスキャン結果のデータを使用する場合は、プロセスインスタンスのデータ４０３に保存されているアップロード先情報を使用してスキャン結果のデータを参照することが可能である。
【００４８】
上述した実施形態においては、プロセスに定義されるスキャン設定をＭＦＰ１０３に設定するとともに、当該プロセスに定義されるアップロード先情報を用いてアップロード先を示すＵＲＬ等を生成し、ＭＦＰ１０３に設定するようにしている。従って、ユーザの操作ミスによって異なる設定でスキャンデータをアップロードしたり、間違ったアップロード先にアップロードしたりすることを防止することが可能となる。
【００４９】
また、上述した実施形態においては、スキャンデータのアップロード先をスキャン・アップロードアクティビティに対応するプロセスインスタンス内に保存するように構成している。従って、後からスキャンデータとプロセスインスタンスとの関連付け作業を行う必要がなくなり、関連付け作業の間違いを防止することが可能となる。
【００５０】
本発明の第３の実施形態を、仮想的な出張精算ワークフローを例に説明する。本実施形態の出張精算ワークフローは本形態を説明するために単純化したワークフローである。
【００５１】
図１０は本実施形態における出張精算ワークフローのＢＰＭＮ図である。ＢＰＭＮ図はＢＰＭＮ(Business Process Modeling Initiative)で定義されているビジネスモデリング表記法である。
【００５２】
図１０において、１１００は承認者を示すスイムレーンである。１１０１は申請者を示すスイムレーンである。１１０２はワークフローサーバ１０４上の出張精算ワークフローシステムを示すスイムレーンである。１１０３はスキャンを行うＭＦＰのスイムレーンである。
【００５３】
１１０４は、申請者によって行われる申請処理タスクである。１１０５は、申請に必要な出張日、出張先、交通費、宿泊費などから構成されるメッセージである。１１０６は、出張精算処理の開始を示す出張精算処理開始タスクである。
【００５４】
１１０７は、ＭＦＰのスイムレーン１１０３に対してスキャンの依頼を行い、スキャン終了の通知を待つ領収書スキャン待ちを示すタスクである。１１０８は、ＭＦＰのスイムレーン１１０３に対して送信されるスキャン設定やスキャンしたデータの保存先などから構成されるスキャン依頼メッセージである。１１０９は、メッセージ１１０８に記述されている情報に従って、ＭＦＰのスイムレーン１１０３で実行される領収証スキャンを示すタスクである。１１１０はＭＦＰのスイムレーン１１０３で領収書のスキャンが行われたことを出張精算ワークフローシステムに通知するためのスキャン完了メッセージである。
【００５５】
１１１１は承認者の承認待ちを示すタスクである。１１１２は承認者によって行われる承認決定処理タスクである。１１１３は承認者による承認・却下の情報から構成される承認・却下メッセージである。１１１４はゲートウェイであり、承認・却下の振り分けを行う。１１１５は申請が承認されたときに実行される承認処理タスクである。１１１６は申請が却下されたときに実行される却下処理タスクである。１１１７は申請の終了処理を行う終了処理タスクである。１１１８は一連の出張精算処理が終了したことを示す終了イベントである。
【００５６】
申請処理タスク１１０４、承認決定処理１１１２タスクは、別、または、同一のクライアントＰＣ１０２において実行される。領収書スキャンタスク１１０９は、ＭＦＰ１０３において実行される。
【００５７】
図１１は、図１０のＢＰＭＮ図の出張精算ワークフローシステムを擬似的なＢＰＥＬで記述した図である。
【００５８】
申請者のパートナーリンク１２０１は申請者を示すスイムレーン１１０１に対応している。ＭＦＰのパートナーリンク１２０２は、ＭＦＰを示すスイムレーン１１０３に対応している。承認者のパートナーリンク１２０３は承認者を示すスイムレーン１１００に対応している。
【００５９】
１２０４はメッセージの宣言部分であり、以下の４つのメッセージを宣言している。すなわち、１２０５はスキャン結果を返すメッセージであり、スキャン完了メッセージ１１１０に対応する。１２０６はスキャン設定やスキャンしたデータを保存する保存先などから構成されるメッセージであり、スキャン依頼メッセージ１１０８に対応する。１２０７は承認者から送信される承認メッセージであり、承認・却下メッセージ１１１３に対応する。１２０８は申請者から送られてくる出張日、出張先、交通費、宿泊費などから構成されるメッセージであり、メッセージ１１０５に対応する。
【００６０】
１２０９は出張精算ワークフローの処理の定義部分であり、出張精算アクティビティ１２１０、領収書スキャン待ちアクティビティ１２１１、承認アクティビティ１２１２、承認内容によって処理を切り分ける分岐アクティビティ１２１３、終了処理１２１７から構成される。１２０９はsequence要素であるため、１２０９に含まれるアクティビティは記述された順番に従って直列に実行される。
【００６１】
１２１０の出張精算アクティビティは出張精算処理開始タスク１１０６に対応する。出張精算アクティビティ１２１０はreceive要素のアクティビティであるためpartnerLink属性で示されている申請者パートナーリンクからメッセージの受信待ちを行い、メッセージを受信すると次のアクティビティへ遷移する。
【００６２】
１２１１の領収書スキャン待ちアクティビティは領収書スキャン待ちを示すタスク１１０７に対応する。領収書スキャン待ちアクティビティ１２１１はinvoke要素のアクティビティであるため、partnerLink属性で示されているＭＦＰパートナーリンクに対してメッセージの送信を行い、返信を受信したら次のアクティビティに遷移する。
【００６３】
１２１２の承認アクティビティは承認待ちを示すタスク１１１１に対応する。承認アクティビティ１２１２はreceive要素のアクティビティであるためpartnerLink属性で示されている承認者パートナーリンクからメッセージの受信待ちを行い、メッセージを受信すると次のアクティビティへ遷移する。
【００６４】
分岐アクティビティ１２１３は分岐条件１２１４、承認処理アクティビティ１２１５、却下処理アクティビティ１２１６から構成されている。１２１４には分岐条件が記述されている。ここでは承認者パートナーリンクから送信された承認メッセージ１２０７が真であるかを判断する。分岐条件１２１４はゲートウェイ１１１４に対応する。１２１５の承認処理は出張精算申請が承認者に承認されたときに実行されるアクティビティである。本実施形態では承認処理の詳細については詳しく述べる必要がないためempty要素として記述している。承認処理１２１５は承認処理タスク１１１５に対応する。１２１６の却下処理は出張精算申請が承認者に却下されたときに実行されるアクティビティである。本実施形態では却下処理の詳細については詳しく述べる必要がないためempty要素として記述している。却下処理１２１６は却下処理タスク１１１６に対応する。
【００６５】
１２１７の終了処理は承認処理または却下処理が実行された後に実行されるアクティビティである。本実施形態では終了処理の詳細については詳しく述べる必要がないため、empty要素として記述している。終了処理タスク１１１７に対応する。
【００６６】
本ワークフローの処理の流れを図１０のＢＰＭＮ図を使って説明する。まず、申請者１１０１は出張精算を行うため申請タスク１１０４をクライアントＰＣ１０２において実行する。すると、ワークフローサーバ１０４上の出張精算ワークフローシステム１１０２の出張精算処理開始タスク１１０６に対して出張日、出張先、交通費、宿泊費の情報を含む申請メッセージ１１０５が送信される。申請メッセージ１１０５を受信した出張精算処理開始タスク１１０６は申請メッセージ１１０５から出張日、出張先、交通費、宿泊費を取り出して記憶し、領収書スキャン待ちタスク１１０７に遷移する。
【００６７】
出張精算処理開始タスク１１０６は、図４のアクティビティ５０２に対応し、領収書スキャン待ちタスク５０２は、図４のスキャン・アップロードアクティビティ５０３に対応する。出張精算ワークフローシステム１１０２は、図６のステップＳ６０２のように、領収書スキャン待ちタスク５０２の終了時に、次のアクティビティが領収書スキャン待ちタスク５０２であると判定する。
【００６８】
領収証スキャン待ちタスク１１０７はＭＦＰのスイムレーン１１０３に対してスキャンを依頼するためのメッセージ１１０８を送信する。このメッセージ１１０８の送信は、図６のステップＳ６０６に対応する。スキャンを依頼するためのメッセージ１１０８を構成するスキャン設定は本ワークフローの設定として記憶されており、領収書スキャン待ちタスク１０７は、この記憶された設定を取得する。この取得は、図６のステップＳ６０３に対応する。また、スキャンしたデータの保存先は、例えば、図８のステップＳ９０６のように、申請者の情報などから生成される情報である。
【００６９】
ＭＦＰ１０３のスイムレーン１１０３の領収書スキャンタスク１１０９ではスキャンを依頼するためのメッセージ１１０８を受信すると、メッセージに含まれるスキャン設定と保存先を記憶し、ユーザによってスキャン操作が行われるのを待つ。ユーザによってスキャン操作が行われるとＭＦＰのスイムレーン１１０３ではスキャン設定に従って領収証のスキャンを行い、スキャン結果の画像データを保存先として指定されているファイルサーバやデータベースに保存する。そして、領収証スキャン待ちタスク１１０７に対して、スキャンが実行され、データが保存されたことを示すスキャン完了メッセージ１１１０を送信する。ＭＦＰ１０３の領収書スキャンタスク１１０９で行われる処理は、図７で説明した処理と同じでよい。
【００７０】
ワークフローサーバ１０４の領収証スキャン待ちタスク１１０７はスキャン完了メッセージ１１１０を受信すると承認タスク１１１１に遷移する。承認タスク１１１１は承認者１１００によって承認決定処理タスク１１１２が実行され、承認・却下メッセージ１１１３が送られてくるまで待つ。
【００７１】
このスキャン完了メッセージ１１１０の受信は、図４のスキャン・アップロード終了通知受信５０７に対応する。領収書スキャン待ちタスク１１０７は、図４のスキャン・アップロードアクティビティ５０３に対応し、承認タスク１１１１は、アクティビティ５０４に対応する。そして、出張精算ワークフローシステム１１０２は、スキャン完了メッセージ１１１０を受信すると、領収書スキャン待ちタスク１１０７から承認タスク１１１１に遷移する。
【００７２】
承認者１１００はクライアントＰＣ１０２において、出張日、出張先、交通費、宿泊費の情報や、スキャン結果の画像データを確認して、申請を承認もしくは却下するかを決めて承認決定処理タスク１１１２を実行する。本実施形態では説明を簡単にするために承認者が出張日、出張先、交通費、宿泊費の情報や、スキャン結果の画像データを確認する方法については述べない。承認決定処理タスク１１１２が実行されると承認・却下の情報が承認・却下メッセージ１１１３として承認タスク１１１１に送られてくる。
【００７３】
承認タスク１１１１は承認・却下メッセージ１１１３を受信するとゲートウェイ１１１４に遷移する。ゲートウェイ１１１４では承認・却下メッセージ１１１３から承認したか、却下したかの情報を取得し図１１のcondition要素で記述されている条件１２１４に従って判定を行う。承認であれば承認処理タスク１１１５に遷移する。却下であれば却下処理タスク１１１６に遷移する。
【００７４】
承認処理タスク１１１５は旅費の振込みなどの処理を実行し終了処理１１１７に遷移する。却下処理タスク１１１６は申請者への却下通知などを実行し終了処理１１１７に遷移する。終了処理１１１７では申請の終了に必要な処理を行い、終了イベント１１１８を発行する。以上で一連の出張精算申請が終了する。
【００７５】
本発明の各工程は、ネットワーク又は各種記憶媒体を介して取得したソフトウエア（プログラム）をパーソナルコンピュータ等の処理装置（ＣＰＵ、プロセッサ）にて実行することでも実現できる。
【符号の説明】
【００７６】
１０１：ネットワーク、１０２：クライアントＰＣ、１０３：ＭＦＰ、１０４：ワークフローサーバ、１０５：ユーザ
【図１】
2010035149.tif 000003
【図２】
2010035149.tif 000004
【図３】
2010035149.tif 000005
【図４】
2010035149.tif 000006
【図５】
2010035149.tif 000007
【図６】
2010035149.tif 000008
【図７】
2010035149.tif 000009
【図８】
2010035149.tif 000010
【図９】
2010035149.tif 000011
【図１０】
2010035149.tif 000012
【図１１】
2010035149.tif 000013