(57)【特許請求の範囲】
【請求項１】
ワークフローを実行するコンピュータ端末と、
前記コンピュータ端末に対してネットワークを介して接続されて前記ワークフローを管理するワークフローサーバと、を備え、
前記ワークフローサーバは、
予め定められスキップできるアクティビティを含む担当者ごとの処理であるアクティビティの中から定められたスキップできるアクティビティと、スキップされた当該アクティビティに対応した再割り当てを行うための再実行ポイントとを含むワークフロー定義を記憶する記憶手段と、
ワークフローの順番に従って、担当者ごとに設けられたワークリストに前記記憶手段に記憶される前記ワークフロー定義に含まれる前記アクティビティの処理要求を格納することによって各担当者に処理を割り当てる手段であって、前記コンピュータ端末から送出された処理の終了を受けてワークフローにおける次の順番の担当者に処理を割り当てる処理割り当て手段と、
前記記憶手段に記憶される前記ワークフロー定義の前記スキップできるアクティビティに処理が割り当てられた場合に、スキップする判断に応答して、スキップする担当者の前記ワークリストから処理要求を取り出すとともに、スキップされた担当者に関する情報をスキップリストに格納し、スキップされた担当者のワークフローにおける次の順番の担当者の前記ワークリストに前記アクティビティの処理要求を格納するスキップ処理実行手段と、
前記記憶手段に記憶される前記ワークフロー定義に含まれる再実行ポイントに達したときに、前記スキップリストを参照することによって前記スキップ処理実行手段によりスキップされた担当者を特定し、該担当者の前記ワークリストに、スキップされた前記アクティビティの処理要求を格納することによって処理の再割り当てを行う再割り当て手段と、を備えることを特徴とするワークフローシステム。
【請求項２】
複数のコンピュータ端末に接続されてワークフローを管理するワークフローサーバであって、
予め定められスキップできるアクティビティを含む担当者ごとの処理であるアクティビティの中から定められたスキップできるアクティビティと、スキップされた当該アクティビティに対応した再割り当てを行うための再実行ポイントとを含むワークフロー定義を記憶する記憶手段と、
ワークフローの順番に従って、担当者ごとに設けられたワークリストに前記記憶手段に記憶される前記ワークフロー定義に含まれる前記アクティビティの処理要求を格納することによって各担当者に処理を割り当てる手段であって、前記コンピュータ端末から送出された処理の終了を受けてワークフローにおける次の順番の担当者に処理を割り当てる処理割り当て手段と、
前記記憶手段に記憶される前記ワークフロー定義の前記スキップきるアクティビティに処理が割り当てられた場合に、スキップする判断に応答して、スキップする担当者の前記ワークリストから処理要求を取り出すとともに、スキップされた担当者に関する情報をスキップリストに格納し、スキップされた担当者のワークフローにおける次の順番の担当者の前記ワークリストに前記アクティビティの処理要求を格納するスキップ処理実行手段と、
前記記憶手段に記憶される前記ワークフロー定義に含まれる再実行ポイントに達したときに、前記スキップリストを参照することによって前記スキップ処理実行手段によりスキップされた担当者を特定し、該担当者の前記ワークリストに、スキップされた前記アクティビティの処理要求を格納することによって処理の再割り当てを行う再割り当て手段と、
を備えたことを特徴とするワークフローサーバ。
【請求項３】
前記スキップ処理実行手段は、ネットワークに接続される所定のコンピュータ端末からのスキップ要求があった場合に、更にスキップ処理を実行することを特徴とする請求項２記載のワークフローサーバ。
【請求項４】
ワークフローを実行するコンピュータ端末に対してネットワークを介して接続され、かつ予め定められ、スキップできるアクティビティを含む担当者ごとの処理であるアクティビティと、スキップされた当該アクティビティに対応した再割り当てを行うための再実行ポイントの指定とを含むワークフロー定義を記憶する記憶手段を備えるコンピュータを
ワークフローの順番に従って、担当者ごとに設けられたワークリストに、前記アクティビティの処理要求を格納することによって各担当者に処理を割り当てる手段であって、前記コンピュータ端末から送出された処理の終了を受けてワークフローにおける次の順番の担当者に処理を割り当てる処理割り当て手段、
前記記憶手段に記憶される前記ワークフロー定義に含まれる前記スキップできるアクティビティに処理が割り当てられた場合に、スキップする判断に応答して、スキップする担当者の前記ワークリストから処理要求を取り出すとともに、スキップされた担当者に関する情報をスキップリストに格納し、スキップされた担当者のワークフローにおける次の順番の担当者の前記ワークリストに前記アクティビティの処理要求を格納するスキップ処理実行手段、
前記記憶手段に記憶される前記ワークフロー定義に含まれる再実行ポイントに達したときに、前記スキップリストを参照することによって前記スキップ処理実行手段によりスキップされた担当者を特定し、該担当者の前記ワークリストに、スキップされた前記アクティビティの処理要求を格納することによって処理の再割り当てを行う再割り当て手段、
として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、オフィスにおけるワークフローの改善に係り、特に、プロセスの完了に費やす時間を短縮化できるワークフローシステム等に関する。
【０００２】
【従来の技術】
複数の作業者が関わる一連の業務手順を定義し、その業務の流れを実際に管理して運用するワークフローシステムは、業務手順に従った業務の管理・運用を電子化にて実現しており、このワークフローシステムの導入によって、作業の効率化を図ることができる。オフィスにおける事務処理の効率化、ファイルキャビネットのスペースコストの問題、環境問題等から、このワークフローの１つである例えば伝票処理を電子化して、ペーパーレスによる帳票処理システムを構築することの必要性は非常に高いものがある。しかしながら、実際の伝票処理は複雑であり、例外処理に対する対応の問題などから、ペーパーレスな帳票処理システムは、未だ十分に普及されているとは言い得ない。
【０００３】
ここで、ワークフローシステムに関する従来技術として、例えば、特開平１０−１０５６２３号公報には、ワークフローの定義情報を分割して登録し、分割した登録情報を複数のワークフローで共有化する技術について開示されている。これにより、プロセスの部分的変更や、プロセスの部分的停止や再開等を行い、効率的できめ細やかな管理を実現することができる。また、特開平１０−１３４１２７号公報には、停滞している回覧を回収する際に、現在回覧を処理中の作業者および後に回覧を処理する予定の作業者に対して予告を行い、各作業者における業務の混乱を防ぐ技術について示されている。更に、特開２０００−１３７７６３号公報には、処理担当ユーザがやむを得ない事態で一時的に処理業務ができなくなった場合に、業務遂行を停滞させることがないように、あるノードに電子化文書が送付された時点からの経過時間を監視し、処理完了がなされないまま制限処理時間に達した場合には電子化文書を自動的にスキップする技術について開示されている。また、更には、スキップの代わりに「代行」の設定を行うことも、従来、検討されている。
【０００４】
【発明が解決しようとする課題】
上述した従来技術のように、従来、ワークフローの停滞を回避するという目的によって、自動処理によりスキップすることが行われている。また、このスキップの代わりに、代行の設定を行い、本来、処理すべき担当者の代わりに、代行の設定を受けた担当者による処理を可能としている。しかしながら、このような「代行」では、予め代行者を設定することが前提であり、代行が設定されておらずに急に担当者が処理できない状況になった場合等には機能させることができない。また、管理者が動的に代行を設定する場合、その時点でアクティビティを処理することが可能であるが、元々処理すべき担当者はそのプロセスに全く関与できなくなってしまう。
【０００５】
また、例えば、上述した特開２０００−１３７７６３号公報に示すような自動処理による「スキップ」では、期日指定の自動処理で、指定された期日までに担当者が処理を行わないと、そのアクティビティがスキップされてしまい、この担当者がプロセスに関与できなくなってしまう。即ち、担当者が単純にスキップされるだけであると、担当者がプロセスから除外されてしまい、全体としての仕事が不完全となり、結果としてワークフローが完了できないことになる。
【０００６】
本発明は、以上のような技術的課題を解決するためになされたものであって、その目的とするところは、ワークフローの実行時にワークフロー上の停滞を自動あるいは手動にて解消することを目的とする。
また他の目的は、ワークフローの途中でスキップされた担当者も、最終的にはそのプロセスに参加することができるシステムを提供することにある。
【０００７】
【課題を解決するための手段】
かかる目的のもと、本発明は、停滞中のアクティビティを自動あるいは他のユーザ(プロセスオーナーや管理者等)からの手動によってそのアクティビティをスキップする機能を導入し、このスキップされた人には、プロセス上の指定された場所での追認ができるようなワークフロー機能を提供している。即ち、本発明が適用されるワークフローシステムは、ワークフローの設計を行う設計用コンピュータ端末と、ワークフローを実行する操作用コンピュータ端末と、これらの端末に対してネットワークを介して接続されてワークフローを管理するワークフローサーバとを備え、この設計用コンピュータ端末は、スキップできるアクティビティを予め決定すると共に、スキップされたアクティビティに対して再割り当てを行うための再実行ポイントを定めてワークフローを設計し、このワークフローサーバは、設計されたワークフローに基づいて操作用コンピュータ端末に対するスキップ処理および再割り当て処理を実行することを特徴としている。ここで、この設計用コンピュータ端末は、処理を実行するアクティビティであるノード、再実行ポイントであるリカバリノード、ノードおよびリカバリノードを接続するパスを用いてワークフローを設計することを特徴とすることができる。
【０００８】
また、本発明が適用されるワークフローシステムは、ワークフローを実行するコンピュータ端末と、このコンピュータ端末に対してネットワークを介して接続されてワークフローを管理するワークフローサーバとを備え、このワークフローサーバは、処理フローを定義するワークフロー定義に基づいて、コンピュータ端末を操作する所定の処理者に対して処理を割り当てる処理割り当て手段と、処理が割り当てられた処理者に対して、自動的にあるいはコンピュータ端末からの指示(手動)に基づいてスキップ処理を実行するスキップ処理実行手段と、スキップされた処理者に対し、スキップされた処理の再割り当てを行う再割り当て手段と、を備えることを特徴としている。
ここで、このコンピュータ端末は、割り当てられた処理を実行した後に処理の終了をワークフローサーバに送出し、処理割り当て手段は、コンピュータ端末から送出された処理の終了を受けて次の処理者を割り当てることを特徴としている。
【０００９】
一方、本発明は、複数のコンピュータ端末に接続されてワークフローを管理するワークフローサーバであって、ワークフローの業務処理として実行される処理を所定の担当者に割り当てる処理割り当て手段と、割り当てられた担当者に対する処理をスキップするための処理を行うスキップ処理手段と、スキップされた担当者に対して、ワークフロー内の所定のタイミングで処理の再実行を割り当てる再実行割り当て手段と、を備えたことを特徴としている。
【００１０】
ここで、このスキップ処理手段は、所定のコンピュータ端末からのスキップ要求があった場合、または、予め定められた所定の条件に達した場合に、スキップ処理を実行することを特徴とすることができる。このスキップ要求は、例えば、ワークフローの起票者からのスキップ命令が挙げられ、手動にてスキップさせるものである。また、予め定められた所定の条件とは、自動処理として、例えば、処理の行われない期間を定め、その期間を過ぎた時点でスキップ処理を行う等が挙げられる。
【００１１】
他の観点から把えると、本発明は、複数のコンピュータ端末に接続されてワークフローを管理するワークフローサーバであって、スキップ可能なノードとこのノードに対して再処理を実行させるタイミングを定めたリカバリノードとを含んで設計されるワークフロー定義を管理するワークフロー定義管理部と、このワークフロー定義を用いて作成されたプロセスの管理を行うプロセス管理部と、コンピュータ端末を操作する担当者からの要求を受け付けるクライアント要求管理部と、格納される担当者の情報に基づいて担当者のコントロールを行うユーザ管理部とを備えたことを特徴としている。
【００１２】
ここで、このプロセス管理部は、プロセスを形成する担当者ごとの処理であるアクティビティに対し、自動あるいは手動にてスキップが決定されるアクティビティを終了して次のアクティビティを開始することを特徴とすれば、処理の停滞を防いで円滑な処理が行える点で好ましい。また、スキップされたアクティビティに関する情報をスキップリストとして格納し、アクティビティを順次、実施してリカバリノードの処理に移行した際に、このスキップリストを参照して所定の担当者に対してスキップされたアクティビティを割り当てることを特徴とすれば、スキップされた担当者がプロセスから除外されることがなくなる点で優れている。
【００１３】
また、本発明は、ネットワークに接続された複数のコンピュータ端末によって実行されるワークフローを定義する情報処理装置であって、ワークフローの実行担当者に対して割り当てられる業務である複数のノードと、複数のノードを結合させるパスとを用いてフローを設定するフロー設定手段と、複数のノードの中から、スキップ可能なノードを設定するスキップ可能ノード設定手段と、設定されたノードに対して処理を再実行させるワークフロー上のポイントを決定するためのリカバリノードをフローに設定するリカバリノード設定手段とを備えたことを特徴としている。
【００１４】
ここで、このフロー設定手段は、ノードを所定のアイコン表示すると共に、パスによってアイコン表示を連結させ、リカバリノード設定手段は、リカバリノードに対して所定のアイコン表示を行い、パスによって所定のノードと連結させることを特徴とすれば、仮想的なリカバリのためのノードを用いて、どこでリカバリを実施させるかを簡易に設定できる点で好ましい。
更には、このスキップ可能ノード設定手段により設定されたノードに対してスキップを自動的に発生させるための条件を定義する自動スキップ定義手段とを備えたことを特徴とすれば、処理の起票者や担当者等によるスキップ操作の手間を省くことが可能となる。具体的には、スキップのための起点、処理タイミングとして日時等を登録することが挙げられる。
【００１５】
本発明について、カテゴリを変えて把えると、本発明は、複数のコンピュータ端末にて実行されるワークフローを定義するためのワークフロー定義方法であって、ワークフローの実行担当者に対して割り当てられる業務であるノードを設定し、設定されるノードに対してスキップ可能か否かを例えばフラグのセットにより決定し、スキップ可能とされるノードに対して、スキップされた際にノードの担当者が処理を再実行できるリカバリノードを設定することを特徴としている。
【００１６】
更には、設定されるノードと業務の処理順を定めるパスとにより業務フローを形成し、形成される業務フローの所定の地点にリカバリノードを設定することを特徴とすれば、リカバリのタイミングをワークフロー内に定めることができる点で好ましい。
またスキップ可能とされるノードに対してスキップするための条件を設定することを特徴とすれば、スキップの自動実行を予め定めることが可能となる。
【００１７】
一方、本発明は、複数のコンピュータ端末にて実行されるワークフローの実行方法であって、ワークフローの業務処理として実行されるアクティビティをコンピュータ装置を操作する所定の担当者に割り当て、割り当てられた担当者に対するアクティビティをスキップするためのスキップ処理を行い、ワークフローの中の所定のタイミングで、スキップ処理がなされた担当者に対してアクティビティの再実行を割り当てることを特徴とすることができる。
【００１８】
ここで、各担当者に割り当てられているアクティビティの一覧をワークリストとして格納し、このワークリストから処理要求が取り出されて処理が実行されることを特徴とすることができる。更には、スキップ処理がなされた担当者に関する情報をスキップリストとして格納し、スキップリストに格納された情報に基づいて、順次、アクティビティの再実行がなされることを特徴とすることができる。
【００１９】
尚、これらのワークフロー定義方法およびワークフローの実行方法は、記憶媒体のプログラムに格納することができる。即ち、本発明は、コンピュータに実行させるプログラムをこのコンピュータにて読取可能に記憶した記憶媒体において、このプログラムの中にこれらの方法発明で規定される処理を含め、コンピュータに実行させることを特徴とすることができる。この記憶媒体としては、例えばＣＤ−ＲＯＭ媒体が該当し、例えば、ワークフローサーバや各コンピュータ端末等のコンピュータ装置におけるＣＤ−ＲＯＭ読取装置によってプログラムが読み取られ、これらのコンピュータ装置におけるハードディスクドライブにこれらのプログラムが格納され、実行される形態が考えられる。
【００２０】
更には、プログラム伝送装置からネットワークを介してコンピュータ装置に提供されるプログラムに、これらのワークフロー定義方法およびワークフローの実行方法の処理を含めることができる。即ち、本発明は、コンピュータに実行させるプログラムを記憶する記憶手段と、この記憶手段に記憶されたプログラムを送信する送信手段とを備えたプログラム伝送装置であって、この記憶手段に格納されるプログラムの中にこれらの方法発明で規定される処理を含め、送信手段によって送信可能に構成されることを特徴とすることができる。
【００２１】
【発明の実施の形態】
以下、添付図面に示す実施の形態に基づいてこの発明を詳細に説明する。
図１は、本実施の形態が適用されたワークフローシステムの概略構成を示す図である。本実施の形態におけるワークフローシステムは、ワークフローの設計のための設計用コンピュータ端末１０、業務を遂行する担当者に対応して設けられたワークフローの操作用コンピュータ端末２０、ワークフローを実行するための各種プログラムが格納されるワークフローサーバ３０とを備えている。この設計用コンピュータ端末１０、操作用コンピュータ端末２０、およびワークフローサーバ３０は、それぞれ接続されてネットワークを形成している。
【００２２】
設計用コンピュータ端末１０は、ワークフローの設計機能が導入されており、業務処理をワークフローシステムで実現するための定義機能を備えている。業務処理定義者(処理設計者)は、この設計用コンピュータ端末１０を用いて業務処理手順をワークフローシステムに定義する。操作用コンピュータ端末２０には、予め指定された所定の業務を実行する機能が備えられており、各処理担当者に配置されている。
業務処理定義者は、設計用コンピュータ端末１０を用いて、自己の識別情報を入力してワークフローシステムに接続する。また、業務処理定義者は、ワークフロー設計機能を用いて、対象としている業務における処理の流れと、処理で用いられるデータ構造とを設計する。
【００２３】
図２(ａ),(ｂ)は、対象業務における処理の流れを示したプロジェクト(プロセス定義)を示した図であり、図２(ａ)はフロー定義の一例を示しており、処理の流れは、このようなグラフ表現が用いられる。図２(ｂ)はこのフロー定義で参照されるデータ定義の一例を示している。図２(ａ)において、丸印はノードと呼ばれ、担当者(処理担当者)に割り当てられる所定業務を示している。矢印はパスと呼ばれ、所定業務処理の順番、即ち、処理のつながりを示している。本実施の形態では、全てのノードにて単一のデータ定義が参照され、各処理間で必要となるデータの受け渡しも矢印で示されるパスに従うと仮定している。しかしながら、複数のデータ定義が存在し、データの受け渡しが異なるパスで定義されていても構わない。図２(ｂ)では、ユーザＩＤ(UserＩＤ)、名前(Name)として“String(文字列型)”が定義され、アドレス(Address)として“String[]”、Ageとして“Integer(数値型)”が定義されている。
【００２４】
設計用コンピュータ端末１０を用いている処理設計者は、設計ツールを用いてノードを並べ、処理順を決めるためにパスをつないでいく。処理設計者は、ノードおよびパスに対してその属性を規定することができる。ノードの属性としては、ノードＩＤ、ノード名、実行担当者を定義する。実行担当者の指定には、ユーザＩＤを直接入力する直接指定、他の処理ユーザとの関係(例えば、ノードＡ(NodeＡ)の処理ユーザの上司など)で示した関係指定、および、図２(ｂ)で示したようなデータ定義で定義されるフィールドの値を処理ユーザとするデータ参照指定がある。本実施の形態では、処理設計者によるプロセスの設計時に、各アクティビティのプロパティとして「スキップ可能」という設定を行うことができる。
【００２５】
図３は、スキップ・リカバリ定義画面の一例を示した図である。図２(ａ)に示したノードはこの定義画面のノードアイコン表示１１で実装されており、図２(ａ)に示したパスは矢印１２で示されている。図３に示す例では、提出者、上司、組織担当者、役員が参加する経路が記述されており、稟議システムを構成する経路として定義されている。また、この例では、組織担当者ノードの属性を画面右側のプロパティに表示し、その組織担当者ノードがスキップ可能かどうかのフラグをセットしている状態が示されている。同様な方法で、この定義の２番目の上司ノードもスキップ可能と定義されている。この「スキップ可能」を設定したノードで、ワークフローサーバ３０によってスキップを自動的に発生させるためには、後述するような自動処理を加える。更に、図３に示すように、スキップされた処理者の処理を再実行するポイントを決定するための設計要素として、アイコン表示されるリカバリノード１３を用いている。このリカバリノード１３に処理が移されると、この定義に従ったプロセスでスキップされた処理者に、再度、処理が渡される。通常、リカバリノード１３は、最終の処理者の前、あるいは後に配置される。図３に示す例では、最終の処理の後に配置されている。リカバリ処理を実現しない場合には、リカバリノード１３を経路上に配置しない。
【００２６】
図４は、スキップを自動実行させるための自動処理について、その定義画面の例を示した図である。前述した自動処理の定義は、図４に示すようなパネルによって定義できる。この例では、処理設定は「スキップ」、処理タイミングは、「２日」が設定され、その起点は、「伝票を受け取ってから」が指定されている。これにより、図４に示す例では、「組織担当者が処理依頼を受け取って２日以上処理しない場合には、それをスキップする。」という定義になっている。例えば、処理タイミングとして、「ユーザが処理をしてから」を選定し、そのノード名を指定することで、処理タイミングの起点として個別のノードを選定することが可能である。
【００２７】
以上のようにして作成したワークフロー定義をワークフローサーバ３０に登録する。このとき、ワークフロー定義を一意に特定できる定義ＩＤを付加して登録される。尚、ワークフロー定義から作成される個々のフローを「プロセス」と呼び、このプロセスを形成する担当者ごとの所定処理を「アクティビティ」と呼んでいる。
【００２８】
各担当者は、所定の操作用コンピュータ端末２０を用い、自己の識別情報を入力してワークフローサーバ３０に接続する。担当者は、ワークフロー定義を参照して新たにプロセスを作成したり、自分宛てに送られているアクティビティを表示し、所定の処理を実行している。各担当者に割り当てられているアクティビティの一覧を「ワークリスト」と呼ぶ。各担当者の所定の処理は、図３に示すワークフロー定義の一つのノードに対応する。担当者の処理が終了すると、ワークフローサーバ３０はワークフロー定義を参照し、次の担当者にアクティビティを割り当て、その担当者のワークリストに処理要求を入れる。
【００２９】
図５は、ワークフローサーバ３０の概略構成を示した図である。本実施の形態におけるワークフローサーバ３０は、管理手段(プログラム)として、ワークフロー定義管理３１、プロセス管理３２、クライアント要求管理３３、およびユーザ管理３４を備えている。また、記憶手段として、ワークフロー定義記憶３５、プロセス記憶３６、ワークフロー状況記憶３７、およびユーザ情報記憶３８を備えている。図５では、これらの記憶手段をワークフローサーバ３０内に配置してあるが、これらはネットワーク内のどこに存在させても構わない。
【００３０】
ワークフロー定義管理３１は、業務処理定義者が定義したワークフロー定義をワークフロー定義記憶３５に保存して管理する。定義されるそれぞれのワークフロー定義は、定義ＩＤによって識別される。新たな定義の登録および既にある定義の修正は、全てワークフロー定義管理３１を通じて定義ＩＤを用いて管理される。また、処理設計者が新規プロセスを作成する際には、その処理設計者が作成できるプロセスの一覧を、ワークフロー定義管理３１がワークフロー定義記憶３５を用いて作成する。
【００３１】
プロセス管理３２はワークフロー定義管理３１を用いて作成されたプロセスの管理を行う。プロセスは、定義ＩＤと、同じ定義から作成された複数のプロセスを識別するためのプロセスＩＤとを備えており、定義ＩＤとプロセスＩＤとの組み合わせで管理されている。また、プロセス記憶３６には、現在実行中のアクティビティ、アクティビティを実行している(実行すべき)担当者名、プロセスで用いられている各種のデータが保管されている。プロセス記憶３６に保管されているこれらの情報を基に、アクティビティの終了時に次の処理者の割り当てを行う。プロセス管理３２は、プロセスの作成、アクティビティの割り当て、プロセスの完了といったイベントが発生する度にその状況をワークフロー状況記憶３７に書き出している。
【００３２】
クライアント要求管理３３は、操作用コンピュータ端末２０を用いる担当者の要求を受け付ける機能を有している。このクライアント要求管理３３は、担当者に対して、現在割り当てられているアクティビティの一覧を提供したり、担当者のアクティビティ終了要求を受け付ける機能を備えている。担当者(処理者)自身が参加したプロセスが現在どのような状態にあるかを参照するためには、ワークフロー状況記憶３７に残された情報が用いられる。
【００３３】
ユーザ管理３４は、ワークフローシステムに参加できる担当者(ユーザ)のコントロールを行っており、ユーザ情報をユーザ情報記憶３８に登録しておき、必要に応じてアクセスしている。新たなユーザが操作用コンピュータ端末２０を用いてシステムに接続しようとする場合は、ユーザの入力したＩＤおよびパスワードのチェックを行う。また、ユーザ情報記憶３８には、ユーザの属する組織や、組織の階層構造、ユーザの上司関係、ユーザの権限区分等の情報が保持されている。これらの情報は、プロセス管理３２が次のアクティビティに対して担当者を割り当てる際に参照される。参照される情報はワークフロー定義のノードの属性によって異なってくる。
【００３４】
次に本実施の形態におけるワークフローシステムの動作について説明する。尚、説明のため、ここでは、図３で示したワークフロー定義が事前に登録されていると仮定する。図３のワークフロー定義では、それを用いたプロセスを開始すると、まず提出者に対応したアクティビティが実行され、その処理者(担当者)として、プロセスの開始者(起票者)が割り当てられるように定義されている。これが稟議システムの例とすると、プロセス起動した本人が稟議資料を作成し、それを提出する作業を行う。最初の処理者(起票者)である提出者(UserＡ)の処理終了はワークフローサーバ３０に送られ、次の処理者の割り当てが行われる。次の処理者である上司(UserＢ)は最初の処理者である提出者(UserＡ)の上司と指定されており、この処理者である上司(UserＢ)のワークリストに処理要求が保存される。また、ワークフローサーバ３０はその処理を上司に割り当てたことを、ワークフロー状況記憶３７に記録する。
【００３５】
通常では、上司(UserＢ)がワークフローサーバ３０に接続し、自分のワークリストから処理要求を取り出してその処理を行う。ここでは、上司(UserＢ)が突然の出張などで処理が実行できないと仮定する。また、その上司(UserＢ)は、自分の代わりに処理のできる人(いわゆる代行)を指定していなかったとする。この場合、起票者である提出者(UserＡ)はそのプロセスの状況を参照し、そこから現在の処理者をスキップする命令を発行することができる。この命令が発行されると、ワークフローサーバ３０は上司(UserＢ)のワークリストから処理要求を取り出し、この上司(UserＢ)がスキップされたことをプロセス記憶３６内のそのプロセスのスキップリストに記述し、次の処理者の割り当てを行う。図３に示す例では、次の処理者として組織担当(UserＣ)が定義されており、実際の処理者である組織担当(UserＣ)に対してその処理が割り当てられる。
【００３６】
ここで、この組織担当(UserＣ)も割り当てられた処理を実行できない状況であったと仮定する。しかしながら、このノードには、図４に示すように２日後に自動的に処理要求をスキップする定義がなされている。したがって、２日間、処理が実行されなければ、ワークフローサーバ３０は、組織担当(UserＣ)のワークリストから処理要求を取り出し、この組織担当(UserＣ)である処理者がスキップされたことをプロセス記憶３６内のそのプロセスのスキップリストに記述し、次の処理者である役員(UserＤ)に処理要求を渡す。役員(UserＤ)の処理が終了するとワークフローサーバ３０はリカバリノード１３の処理に移る。リカバリノード１３では、ワークフローサーバ３０がそのプロセスのスキップリスト(UserＢ・UserＣ)を参照して処理を行う。このプロセスでスキップされた全てのユーザに対して、順番に処理要求を渡していく。全てのスキップされたユーザが処理を終えると、リカバリノード１３の処理が終了し、このプロセスが終了状態になる。
【００３７】
図６は、各ユーザ(担当者)からの処理終了要求を受けた際の処理手順を示したフローチャートであり、ワークフローサーバ３０のプロセス管理３２にて行われる処理の流れを示している。操作用コンピュータ端末２０を用いる担当者の処理要求は、クライアント要求管理３３にて受け付けられる。プロセス管理３２では、まず、クライアント要求管理３３から担当者の処理要求を受け取る(ステップ１０１)。そして、この処理要求から、プロセスＩＤ、定義ＩＤ、アクティビティＩＤを取得する(ステップ１０２)。
【００３８】
次に、この処理要求がスキップ要求か否かの判断がなされる(ステップ１０３)。スキップ要求である場合には、プロセス記憶３６のスキップリストにスキップ処理としてユーザを追加し(ステップ１０４)、後述するステップ１０９に移る。一方、ステップ１０３にて、スキップ要求ではないと判断される場合には、リカバリ処理か否かが判断される(ステップ１０５)。リカバリ処理である場合には、プロセス記憶３６のリカバリリストにユーザがいるか否かが判断され(ステップ１０６)、ユーザがいる場合には、リカバリ処理を実行して(ステップ１０７)、クライアントからの要求処理が終了する。ステップ１０６でリカバリリストにユーザがいない場合には、後述するステップ１０８に移る。
【００３９】
ステップ１０５にてリカバリ処理ではない場合には、アクティビティの完了処理が行われる(ステップ１０８)。そして、ワークフロー定義管理３１に対して定義情報を要求し、要求した定義情報を参照する(ステップ１０９)。その後、アクティビティ名を起点とするパスが存在しているか否かが判断される(ステップ１１０)。パスが存在しない場合には、プロセスを完了にして(ステップ１１１)、要求に対する処理が終了する。パスが存在する場合には、パスの終点ノードに指定されているノードをフロー定義から検索し(ステップ１１２)、検索されたノードがリカバリノードか否かが判断される(ステップ１１３)。リカバリノードである場合には、リカバリ処理を実行して(ステップ１１４)、要求に対する処理が終了する。ステップ１１３にてリカバリノードではない場合には、処理ユーザの特定がなされ(ステップ１１５)、特定したユーザにそのプロセスのアクティビティを割り当てて(ステップ１１６)、要求に対する処理が終了する。
【００４０】
図７は、スキップ処理の実行に関する処理手順を示したフローチャートである。スキップ処理では、まず、プロセス記憶３６のスキップリストが参照され(ステップ２０１)、スキップリストにそのユーザがいるか否かの判断がなされる(ステップ２０２)。スキップリストにユーザがいなければ、その後の処理がなされずにスキップ処理が終了する。スキップリストにユーザがいる場合には、スキップリストの最初のユーザに処理を割り当てる(ステップ２０３)。そして、最初のユーザをスキップリストから取り除き(ステップ２０４)、スキップ処理が終了する。
【００４１】
このように、本実施の形態では、ワークフローの設計時に、予めスキップできるアクティビティを決定しておき、そのプロセスのインスタンスの実行時、停滞が発生した場合に、自動あるいは手動でそのアクティビティをスキップするように構成した。即ち、本実施の形態にて提供されるワークフローシステムでは、まず、プロセスの設計時に、各アクティビティのプロパティとして、「スキップ可能」という設定を行っている。そして、スキップ可能とされた各アクティビティには、期日指定の自動処理として、指定された期日終了後に「スキップ」という処理について、自動呼出しするかどうかを設定することができる。また、スキップされたアクティビティの担当者が処理を再実行できる地点を、ワークフロー上に再実行ポイント(リカバリノード１３)として設定している。この設定がない場合には、完了の直前を再実行ポイントとすることができる。
【００４２】
このようにして設計されたプロセスのインスタンスが実行され、スキップ可能なアクティビティに処理が割り付けられた場合、処理状況を監視するユーザインターフェースから、権限を持ったユーザがそのアクティビティに対してスキップをリクエストすることができる。また、期日指定によるスキップが設定されているアクティビティでは、期日処理の結果スキップをリクエストする。このとき、例えば、人事情報を参照し、担当者が不在であると判断されたアクティビティに対してもスキップをリクエストすることができる。
【００４３】
ワークフローエンジン(ワークフローサーバ３０)は、スキップのリクエストを受けると、現在の担当者をスキップリストに入れ、そのアクティビティを終了して次のアクティビティを開始する。ワークフローエンジンは、再実行ポイントでスキップリストをチェックし、スキップリストにある担当者に対して再割り当てを発生させる。再割り当てされた担当者が実行できる機能は、基本的には「追認」である。また、設定によっては、全体の決定を覆す操作(例えば、プロセスのやり直しやプロセスの中止、本来の担当者のアクティビティにまで戻すことなどを含む)も可能である。
【００４４】
このように、本実施の形態によれば、担当者が単純にスキップされるだけではなく、プロセスから除外されることもなくなり、処理の迅速化と共に、ワークフローの利用度を一段と高めることができる。即ち、追認、あるいは後追い追認が認められる例えば紙ベースの帳票業務等には、本実施の形態におけるワークフローシステムの利用度が高い。
【００４５】
【発明の効果】
以上説明したように、本発明によれば、ワークフローの実行時にワークフロー上の処理の停滞をスキップの導入によって回避することができる。また、スキップされた担当者も最終的にそのワークフロープロセスに参加することが可能となる。
【図面の簡単な説明】
【図１】  本実施の形態が適用されたワークフローシステムの概略構成を示す図である。
【図２】  (ａ),(ｂ)は、対象業務における処理の流れを示したプロジェクト(プロセス定義)を示した図である。
【図３】  スキップ・リカバリ定義画面の一例を示した図である。
【図４】  スキップを自動実行させるための自動処理について、その定義画面の例を示した図である。
【図５】  ワークフローサーバ３０の概略構成を示した図である。
【図６】  ユーザ(各担当者)からの処理終了要求を受けた際の処理手順を示したフローチャートである。
【図７】  スキップ処理の実行に関する処理手順を示したフローチャートである。
【符号の説明】
１０…設計用コンピュータ端末、１１…ノードアイコン表示、１２…矢印、１３…リカバリノード、２０…操作用コンピュータ端末、３０…ワークフローサーバ、３１…ワークフロー定義管理、３２…プロセス管理、３３…クライアント要求管理、３４…ユーザ管理、３５…ワークフロー定義記憶、３６…プロセス記憶、３７…ワークフロー状況記憶、３８…ユーザ情報記憶
【図１】
0004250344.tif 000002
【図２】
0004250344.tif 000003
【図３】
0004250344.tif 000004
【図４】
0004250344.tif 000005
【図５】
0004250344.tif 000006
【図６】
0004250344.tif 000007
【図７】
0004250344.tif 000008