(57)【要約】【課題】ワークフローの実行中に、その処理の内容を容易且つ迅速に変更することができるワークフローシステムを提供する。【解決手段】第一記憶部３０には、複数の第一階層ワークフローの定義及び複数の第二階層ワークフローの定義が記憶される。第一階層ワークフローの定義には、複数の第二階層ワークフローの定義の中から選択された第二階層ワークフローの実行を指示する選択処理、その実行指示された第二階層ワークフローに従った処理を開始する開始処理、及び、実行中の第二階層ワークフローの進捗状況を監視する監視処理についての内容が含まれる。サーバ２０は、第一階層ワークフローにおける監視処理の実行中に、同時並行的に実行されている第二階層ワークフローの進捗状況を示す情報を生成して、監視処理を行っている担当者のコンピュータ端末１０に送出する。【選択図】図１
2014154120.tif 000002
【特許請求の範囲】
【請求項１】
複数のコンピュータ端末と、前記複数のコンピュータ端末とネットワークを介して接続されたサーバとを備え、前記サーバが各処理の内容及び順序を定めたワークフローに従って当該ワークフローに関係する前記各コンピュータ端末に一連の処理を実行させるワークフローシステムにおいて、
前記ワークフローには、第一階層ワークフローと第二階層ワークフローとの二種類があり、前記第一階層ワークフローの定義には、複数の前記第二階層ワークフローの定義の中から一又は複数の前記第二階層ワークフローの定義を選択し、その選択した前記第二階層ワークフローの実行を指示する選択処理についての内容が含まれており、複数の前記第一階層ワークフローの定義及び複数の前記第二階層ワークフローの定義を記憶する第一記憶手段と、
実行中の前記ワークフローを特定して管理するための管理情報を記憶する第二記憶手段と、
を具備し、
前記サーバは、前記コンピュータ端末が前記第一階層ワークフローの実行を指示したときに、その実行指示された前記第一階層ワークフローについての前記管理情報を生成して前記第二記憶手段に記憶すると共に、その実行指示された前記第一階層ワークフローの定義を前記第一記憶手段から読み出し、その読み出した前記第一階層ワークフローに従って当該第一階層ワークフローに関係する前記各コンピュータ端末に一連の処理を実行させる管理手段を有し、
前記管理手段は、前記第一階層ワークフローにおける前記選択処理を所定の前記コンピュータ端末に実行させている場合、そのコンピュータ端末が複数の前記第二階層ワークフローの定義の中から所望の前記第二階層ワークフローの定義を選択したときに、その選択された前記第二階層ワークフローについての前記管理情報を生成して、当該第一階層ワークフローについての前記管理情報と関連付けて前記第二記憶手段に記憶し、そのコンピュータ端末がその選択した一又は複数の前記第二階層ワークフローの実行を指示したときに、その実行指示された前記第二階層ワークフローの定義を前記第一記憶手段から読み出し、その読み出した前記第二階層ワークフローに従って当該第二階層ワークフローに関係する前記各コンピュータ端末に一連の処理を実行させることを特徴とするワークフローシステム。
【請求項２】
前記第一階層ワークフローの定義には、実行中の前記第二階層ワークフローの進捗状況を監視する監視処理についての内容が含まれており、
前記サーバは、前記第二記憶手段に記憶されている前記管理情報によって特定される実行中の前記ワークフローについて、当該ワークフローにおける各処理の進捗情報を生成し、当該ワークフローについての前記管理情報と関連付けて前記第二記憶手段に記憶すると共に、当該ワークフローにおける各処理の状況を監視し、その監視結果に基づいて当該処理の前記進捗情報を更新する監視手段を有し、
前記管理手段は、前記第一階層ワークフローにおける前記監視処理を所定の前記コンピュータ端末に実行させている場合には、当該第一階層ワークフローについての前記管理情報と関連付けられた前記第二階層ワークフローについての前記管理情報を特定し、その特定した前記管理情報と関連付けられた前記第二階層ワークフローにおける各処理の前記進捗情報に基づいて当該第二階層ワークフローの進捗状況を示す情報を生成して、当該コンピュータ端末に送出することを特徴とする請求項１記載のワークフローシステム。
【請求項３】
前記第一階層ワークフローにおける前記監視処理の内容には、複数の前記第二階層ワークフローの定義の中から追加的に選択された前記第二階層ワークフローの実行を指示することができる機能が含まれており、
前記管理手段は、前記第一階層ワークフローにおける前記監視処理を所定の前記コンピュータ端末に実行させている場合、そのコンピュータ端末が複数の前記第二階層ワークフローの定義の中から所望の前記第二階層ワークフローの定義を追加的に選択し、その選択した前記第二階層ワークフローの実行を指示したときに、その実行指示された前記第二階層ワークフローについての前記管理情報を生成して、当該第一階層ワークフローについての前記管理情報と関連付けて前記第二記憶手段に記憶すると共に、その実行指示された前記第二階層ワークフローの定義を前記第一記憶手段から読み出し、その読み出した前記第二階層ワークフローに従って当該第二階層ワークフローに関係する前記各コンピュータ端末に一連の処理を実行させることを特徴とする請求項２記載のワークフローシステム。
【請求項４】
前記第一階層ワークフローにおける前記監視処理の内容には、当該監視の対象となっている前記第二階層ワークフローの実行を強制的に中止することができる機能が含まれており、
前記管理手段は、前記第一階層ワークフローにおける前記監視処理を所定の前記コンピュータ端末に実行させている場合、そのコンピュータ端末が当該監視の対象となっている一の前記第二階層ワークフローの実行を強制的に中止することを指示したときに、その中止指示がなされた前記第二階層ワークフローに従って現在処理を行っている前記コンピュータ端末に対して当該第二階層ワークフローの実行が中止された旨の通知を送出すると共に、その中止指示がなされた前記第二階層ワークフローにおける現在実行中の処理についての前記進捗情報に当該第二階層ワークフローの実行が中止された旨の情報を含ませ、
前記監視手段は、前記進捗情報に前記第二階層ワークフローの実行が中止された旨の情報が含まれている場合、当該進捗情報に関連付けられている前記管理情報によって特定される前記第二階層ワークフローについての監視を行わないことを特徴とする請求項２又は３記載のワークフローシステム。
【請求項５】
前記第一階層ワークフローの定義には、前記監視処理における監視の対象となっているいずれの前記第二階層ワークフローについても一連の処理が完了した旨の通知を前記各コンピュータ端末から受けたときに当該監視処理を終了して当該第一階層ワークフローに従って次の処理に移行する待合せ処理が含まれており、
前記管理手段は、前記第一階層ワークフローにおける前記監視処理を所定の前記コンピュータ端末に実行させている場合、前記第二記憶手段に記憶されている前記進捗情報に基づいて当該監視の対象となっている前記第二階層ワークフローの実行がすべて中止されたと判断したときに、当該監視の対象となっているいずれの前記第二階層ワークフローについても一連の処理が完了した旨の通知を受けたとものとみなして当該監視処理を終了することを特徴とする請求項４記載のワークフローシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバが各処理の内容及び順序を定めたワークフローに従って各コンピュータ端末に一連の処理を実行させるワークフローシステムに関するものである。
【背景技術】
【０００２】
近年、例えば会社等においてデータを各担当者に所定の順序で受け渡すことにより業務処理を効率よく行うワークフローシステムが実用化されている。かかるワークフローシステムは、サーバと、サーバとネットワークを介して接続された複数のコンピュータ端末とを備えて構成される。ワークフローシステムでは、各担当者に実行させる処理の内容や各担当者にデータを受け渡す順序はワークフローとして予め定義されている。サーバは、ワークフローに従って各担当者のコンピュータ端末にデータを受け渡していくことになる。
【０００３】
このようなワークフローシステムでは、各担当者にデータを受け渡すルートを途中で分岐させ、同じ内容の処理を同時並行的に実行させることがよくある。例えば、一つの検討課題を三つの作業チームにそれぞれ検討させ、各作業チームによるその検討課題に対する対応案が出揃ったときに、承認者が三つの対応案の中から一つを選択するというようなケースがある。このような場合、一般的に、ワークフローには、一つのルートに従って受け渡されてきたデータを複数のルートに従って各担当者に受け渡す分岐ノード、複数のルートに従って受け渡されてきたデータを待ち合せる待合せノードが定義されている。ここで、ノードとは、処理の単位を表すものであり、アクティビティとも呼ばれる。図１９は従来のワークフローシステムにおけるワークフローの定義の例を示す図である。この例では、分岐ノードで一つのルートが三つに分岐し、その後、その分岐した各ルートに従ってデータの受け渡しが行われる。具体的には、三つの作業チームがそれぞれ、「アクティビティ２ａ」→「アクティビティ３ａ」→「アクティビティ４ａ」、「アクティビティ２ｂ」→「アクティビティ３ｂ」→「アクティビティ４ｂ」、「アクティビティ２ｃ」→「アクティビティ３ｃ」→「アクティビティ４ｃ」というルートにしたがって上記検討課題に対する対応案の作成という処理を行うことになる。
【０００４】
また、ワークフローシステムには様々な機能を備えるものがある。例えば、分岐したルートをコピーする機能を有するワークフローシステムが提案されている（例えば、特許文献１参照。）。このコピー機能を用いると、図１９の例では、作業チームを一つ増やして、四つの作業チームに検討課題を検討させることができる。また、所定の条件を満たした時点で処理を中止させる機能を有するワークフローシステムが提案されている（例えば、特許文献２参照。）。図１９の例では、各作業チームに検討課題に対する対応案を作成させる時間を２４時間以内と設定しておくと、作業チームが２４時間以内に対応案を作成できなければ、この中止機能により当該作業チームによる処理は中止されることになる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−４４６３７号公報
【特許文献２】特開２００６−２１５７１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、ワークフローの実行中には、元々予定していなかった理由で各処理の内容や順序等を変更したいという状況が度々発生する。例えば、上記の例で示すと、三つの作業チームがいずれも忙しく、今回だけは別の三つの作業チームに課題を検討させたいという場合がある。また、各作業チームに検討課題に対する対応案を作成させる時間を２４時間以内と設定していたが、急遽、１２時間に短縮したい場合がある。また、ある作業チームによる対応案の作成が早く完了したので、この作業チームに再度、同じ課題を検討させたい場合がある。更には、各作業チームによる処理をすべて中止させ、ワークフローに従ってその後の処理を継続したい場合がある。
【０００７】
しかしながら、従来のワークフローシステムでは、たとえコピー機能や中止機能を利用したとしても、上記のような状況が生じた場合にその状況に容易に対処することができなかった。具体的に、従来のワークフローシステムでは、予め設定した条件に達するまで、或いは所定のアクティビティに達するまで、処理を止めることができない。特に、分岐ノードでルートを分岐させた後は、待合せノードにおいて、分岐した各ルートに従って受け渡されてきたデータをすべて受け取るという待合せ条件が満たされなければ、待合せノードから先のアクティビティに移行することができない。このため、各作業チームによる処理がすべて中止されると、ワークフローに従ってその後の処理を継続することはできなかった。
【０００８】
本発明は上記事情に基づいてなされたものであり、ワークフローの実行中に、その処理の内容を容易且つ迅速に変更することができるワークフローシステムを提供することを目的とするものである。
【課題を解決するための手段】
【０００９】
上記の目的を達成するための本発明は、複数のコンピュータ端末と、複数のコンピュータ端末とネットワークを介して接続されたサーバとを備え、サーバが各処理の内容及び順序を定めたワークフローに従って当該ワークフローに関係する各コンピュータ端末に一連の処理を実行させるワークフローシステムにおいて、ワークフローには、第一階層ワークフローと第二階層ワークフローとの二種類があり、第一階層ワークフローの定義には、複数の第二階層ワークフローの定義の中から一又は複数の第二階層ワークフローの定義を選択し、その選択した第二階層ワークフローの実行を指示する選択処理についての内容が含まれており、複数の第一階層ワークフローの定義及び複数の第二階層ワークフローの定義を記憶する第一記憶手段と、実行中のワークフローを特定して管理するための管理情報を記憶する第二記憶手段と、を具備し、サーバは、コンピュータ端末が第一階層ワークフローの実行を指示したときに、その実行指示された第一階層ワークフローについての管理情報を生成して第二記憶手段に記憶すると共に、その実行指示された第一階層ワークフローの定義を第一記憶手段から読み出し、その読み出した第一階層ワークフローに従って当該第一階層ワークフローに関係する各コンピュータ端末に一連の処理を実行させる管理手段を有し、管理手段は、第一階層ワークフローにおける選択処理を所定のコンピュータ端末に実行させている場合、そのコンピュータ端末が複数の第二階層ワークフローの定義の中から所望の第二階層ワークフローの定義を選択したときに、その選択された第二階層ワークフローについての管理情報を生成して、当該第一階層ワークフローについての管理情報と関連付けて第二記憶手段に記憶し、そのコンピュータ端末がその選択した一又は複数の第二階層ワークフローの実行を指示したときに、その実行指示された第二階層ワークフローの定義を第一記憶手段から読み出し、その読み出した第二階層ワークフローに従って当該第二階層ワークフローに関係する各コンピュータ端末に一連の処理を実行させることを特徴とするものである。
【００１０】
かかる構成により、本発明のワークフローシステムでは、第一階層ワークフローの定義に、複数の第二階層ワークフローの定義の中から一又は複数の第二階層ワークフローの定義を選択し、その選択した第二階層ワークフローの実行を指示する選択処理についての内容が含まれている。このため、第一階層ワークフローにおける選択処理を行う担当者が複数の第二階層ワークフローの定義の中から所望の一又は複数の第二階層ワークフローの定義を選択すると、その選択した各第二階層ワークフローに従った処理は第一階層ワークフローに従った処理と同時並行的に実行されることになる。また、第一階層ワークフローにおける選択処理を行う担当者はその時点での状況に応じて第二階層ワークフローを自由に選択することができるので、第一階層ワークフローに対する第二階層ワークフローの選択の自由度はとても大きい。したがって、本発明のワークフローシステムでは、第一階層ワークフローの実行中に第二階層ワークフローを選択することができるので、その選択に応じて処理の内容を容易且つ迅速に変更することができる。
【００１１】
また、本発明のワークフローシステムにおいて、第一階層ワークフローの定義には、実行中の第二階層ワークフローの進捗状況を監視する監視処理についての内容が含まれており、サーバは、第二記憶手段に記憶されている管理情報によって特定される実行中のワークフローについて、当該ワークフローにおける各処理の進捗情報を生成し、当該ワークフローについての管理情報と関連付けて第二記憶手段に記憶すると共に、当該ワークフローにおける各処理の状況を監視し、その監視結果に基づいて当該処理の進捗情報を更新する監視手段を有し、管理手段は、第一階層ワークフローにおける監視処理を所定のコンピュータ端末に実行させている場合には、当該第一階層ワークフローについての管理情報と関連付けられた第二階層ワークフローについての管理情報を特定し、その特定した管理情報と関連付けられた第二階層ワークフローにおける各処理の進捗情報に基づいて当該第二階層ワークフローの進捗状況を示す情報を生成して、当該コンピュータ端末に送出することが望ましい。
【００１２】
これにより、本発明のワークフローシステムでは、第二階層ワークフローに従った一連の処理は第一階層ワークフローにおける監視処理の下で実行され、管理手段は、その第二階層ワークフローの進捗状況を示す情報を生成して、監視処理を行っている担当者のコンピュータ端末に送出するので、その担当者は自己のコンピュータ端末の画面上に表示される情報の内容を見て、第二階層ワークフローの進捗状況を容易に知ることができる。
【００１３】
また、本発明のワークフローシステムにおいて、第一階層ワークフローにおける監視処理の内容には、複数の第二階層ワークフローの定義の中から追加的に選択された第二階層ワークフローの実行を指示することができる機能を含めることが望ましい。具体的に、管理手段は、第一階層ワークフローにおける監視処理を所定のコンピュータ端末に実行させている場合、そのコンピュータ端末が複数の第二階層ワークフローの定義の中から所望の第二階層ワークフローの定義を追加的に選択し、その選択した第二階層ワークフローの実行を指示したときに、その実行指示された第二階層ワークフローについての管理情報を生成して、当該第一階層ワークフローについての管理情報と関連付けて第二記憶手段に記憶すると共に、その実行指示された第二階層ワークフローの定義を第一記憶手段から読み出し、その読み出した第二階層ワークフローに従って当該第二階層ワークフローに関係する各コンピュータ端末に一連の処理を実行させる。これにより、第一階層ワークフローにおける監視処理を行う担当者は、その監視処理の実行中に、任意のタイミングで第二階層ワークフローを追加的に選択して、その選択した第二階層ワークフローに従った処理を各コンピュータ端末に実行させることができる。例えば、新たな第二階層ワークフローを選択して、元々予定していなかった担当者に処理を実行させたり、ある第二階層ワークフローに従った処理が短時間で完了した場合に同じ第二階層ワークフローを選択して、同じ担当者に再度、同じ処理を実行させたりすることができる。
【００１４】
また、本発明のワークフローシステムにおいて、第一階層ワークフローにおける監視処理の内容には、当該監視の対象となっている第二階層ワークフローの実行を強制的に中止することができる機能を含めることが望ましい。具体的に、管理手段は、第一階層ワークフローにおける監視処理を所定のコンピュータ端末に実行させている場合、そのコンピュータ端末が当該監視の対象となっている一の第二階層ワークフローの実行を強制的に中止することを指示したときに、その中止指示がなされた第二階層ワークフローに従って現在処理を行っているコンピュータ端末に対して当該第二階層ワークフローの実行が中止された旨の通知を送出すると共に、その中止指示がなされた第二階層ワークフローにおける現在実行中の処理についての進捗情報に当該第二階層ワークフローの実行が中止された旨の情報を含ませる。そして、監視手段は、進捗情報に第二階層ワークフローの実行が中止された旨の情報が含まれている場合、当該進捗情報に関連付けられている管理情報によって特定される第二階層ワークフローについての監視を行わないようにする。これにより、第一階層ワークフローにおける監視処理を行う担当者は、その監視処理の実行中に、任意のタイミングで第二階層ワークフローの実行を強制的に中止させることができる。
【００１５】
更に、本発明のワークフローシステムにおいて、第一階層ワークフローの定義に、監視処理における監視の対象となっているいずれの第二階層ワークフローについても一連の処理が完了した旨の通知を各コンピュータ端末から受けたときに当該監視処理を終了して当該第一階層ワークフローに従って次の処理に移行する待合せ処理が含まれていれば、管理手段は、第一階層ワークフローにおける監視処理を所定のコンピュータ端末に実行させている場合、第二記憶手段に記憶されている進捗情報に基づいて当該監視の対象となっている第二階層ワークフローの実行がすべて中止されたと判断したときに、当該監視の対象となっているいずれの第二階層ワークフローについても一連の処理が完了した旨の通知を受けたとものとみなして当該監視処理を終了することが望ましい。これにより、第一階層ワークフローにおける監視処理を行う担当者がすべての第二階層ワークフローの実行を強制的に中止することを指示した場合でも、当該第一階層ワークフローに従った処理が監視処理から抜け出せずに進行しない状況を回避し、当該第一階層ワークフローに従ってその後の処理を継続することができる。
【発明の効果】
【００１６】
本発明に係るワークフローシステムでは、第一階層ワークフローにおける選択処理を行う担当者が複数の第二階層ワークフローの中から所望の一又は複数の第二階層ワークフローを選択することにより、その選択した各第二階層ワークフローに従った処理を第一階層ワークフローに従った処理と同時並行的に実行させることができる。また、第一階層ワークフローにおける選択処理を行う担当者はその時点での状況に応じて第二階層ワークフローを自由に選択することができるので、第一階層ワークフローに対する第二階層ワークフローの選択の自由度はとても大きい。したがって、本発明のワークフローシステムでは、第一階層ワークフローの実行中に第二階層ワークフローを選択することができるので、その選択に応じて処理の内容を容易且つ迅速に変更することができる。
【図面の簡単な説明】
【００１７】
【図１】図１は本発明の一実施形態であるワークフローシステムの概略システム構成図である。
【図２】図２はそのワークフローシステムのサーバの概略構成図である。
【図３】図３は製品設計作業の内容を説明するための図である。
【図４】図４は第一記憶部に記憶されているワークフローの定義の例を示す図である。
【図５】図５は第二記憶部に記憶されているプロセス管理情報の例を示す図である。
【図６】図６は第二記憶部に記憶されているアクティビティ進捗情報の例を示す図である。
【図７】図７は本実施形態のワークフローシステムにおいて第一階層ワークフローに従った一連の処理が行われる際にサーバが行う処理の手順を説明するためのフローチャートである。
【図８】図８は本実施形態のワークフローシステムにおいて第一階層ワークフローに従った一連の処理が行われる際にサーバが行う処理の手順を説明するためのフローチャートである。
【図９】図９は本実施形態のワークフローシステムにおいて第一階層ワークフローに従った一連の処理が行われる際にサーバが行う処理の手順を説明するためのフローチャートである。
【図１０】図１０は業務選択画面の例を示す図である。
【図１１】図１１は承認者画面の例を示す図である。
【図１２】図１２は作業チームを選択する手順を説明するための図である。
【図１３】図１３は作業チームを選択する手順を説明するための図である。
【図１４】図１４は作業者画面の例を示す図である。
【図１５】図１５は監視アクティビティの実行中における承認者画面の例を示す図である。
【図１６】図１６はコメント入力画面が表示された承認者画面の例を示す図である。
【図１７】図１７はコメント受信画面が表示された作業者画面の例を示す図である。
【図１８】図１８は第一階層ワークフローにおける監視アクティビティの終了態様の例を説明するための図である。
【図１９】図１９は従来のワークフローシステムにおけるワークフローの定義の例を示す図である。
【発明を実施するための形態】
【００１８】
以下に、図面を参照して、本願に係る発明を実施するための最良の形態について説明する。図１は本発明の一実施形態であるワークフローシステムの概略システム構成図、図２はそのワークフローシステムのサーバの概略構成図である。
【００１９】
本実施形態のワークフローシステムは、図１に示すように、複数のコンピュータ端末１０，１０，１０，・・・と、サーバ２０と、第一記憶部３０と、第二記憶部４０と、第三記憶部５０とを備える。サーバ２０は、ネットワークを介して複数のコンピュータ端末１０，１０，１０，・・・と接続されている。ここで、ネットワークとしては、ＬＡＮ、ＷＡＮ、インターネット等を用いることができる。
【００２０】
サーバ２０は、各処理の内容及び順序を定めたワークフローに従って各コンピュータ端末１０，１０，１０，・・・に一連の処理を実行させるワークフロー機能を有するアプリケーションサーバである。また、このサーバ２０は、第一記憶部３０、第二記憶部４０及び第三記憶部５０に記憶されたデータを管理するデータベースサーバでもある。サーバ２０は、図２に示すように、登録部２１と、管理部２２と、監視部２３とを有する。
【００２１】
特に、本実施形態では、ある会社内にワークフローシステムを構築し、このワークフローシステムを利用することにより、会社内の複数の担当者の間でデータを受け渡し、製品設計作業、購買作業や人事作業等の業務処理を実行する場合について考える。この場合、複数のコンピュータ端末１０，１０，１０，・・・はそれぞれ、担当者のデスク上に配置されている。そして、複数のコンピュータ端末１０，１０，１０，・・・及びサーバ２０はＬＡＮで接続される。各担当者が自己のコンピュータ端末１０を用いてユーザ名とパスワードを入力してワークフローシステムにログインし、その担当者がサーバ２０により認証されると、サーバ２０は、その担当者の利用するコンピュータ端末１０を管理対象としてワークフローシステムに組み込むことになる。かかる管理対象となったコンピュータ端末１０はサーバ２０の制御の下で動作し、サーバ２０から送出されたデータを表示したり、サーバ２０にデータを送信したりすることができる。
【００２２】
一例として、この会社で行われる業務処理のうち製品設計作業の内容について詳しく説明する。図３は製品設計作業の内容を説明するための図である。この製品設計作業は会社の設計部門において行われ、その設計部門には、一人の承認者と、具体的な設計を行う複数の作業チームＡ，Ｂ，Ｃ，・・・とが存在しているものとする。ここで、各作業チームには複数の作業者が所属している。例えば、作業チームＡには３人の作業者ａ１，ａ２，ａ３が所属し、作業チームＢには４人の作業者ｂ１，ｂ２，ｂ３，ｂ４が所属し、そして、作業チームＣには５人の作業者ｃ１，ｃ２，ｃ３，ｃ４，ｃ５が所属している。すなわち、これら承認者及び作業者は、製品設計作業を行う担当者である。承認者は、ある製品の開発を行うことを決定した場合、複数の作業チームのうち所望の作業チームを選択し、その選択した作業チームに設計課題を提示して設計案の作成作業を依頼する。いくつの作業チームを選択するかは、その都度異なる。図３では三つの作業チームＡ，Ｂ，Ｃを選択した場合を示している。また、承認者は、作業チームが設計作業を行っている間に、その設計作業の進捗状況を監視する。ここで、承認者は、この監視中に別の作業チームに設計作業を行わせることがあり、逆に、実行中の設計作業を途中で中止させることもある。例えば、設計作業があまりにも遅いため、その作業チームに作業中止を命令するような場合である。各作業チームは設計作業が完了すると承認者に報告し、承認者は各作業チームが作成した設計案の中から一つの設計案を選定して承認することになる。
【００２３】
一方、承認者から設計案の作成作業を依頼された作業チームでは、各作業者が作業を分担して、承認者から提示された設計課題に対する設計案を作成する。例えば、図３に示すように、作業チームＡでは、作業者ａ１が設計素案を作成し、作業者ａ２がその設計素案に基づいて詳細な設計案を作成し、作業者ａ３がその作成した設計案の内容をチェックする。作業チームＢでは、作業者ｂ１が設計素案を作成し、作業者ｂ２がその設計素案をチェックし、作業者ｂ３がその設計素案に基づいて詳細な設計案を作成し、そして、作業者ｂ４がその作成した設計案の内容をチェックする。作業チームＣでは、作業者ｃ１が設計素案を作成し、作業者ｃ２がその設計素案をチェックし、作業者ｃ３がその設計素案に基づいて詳細な設計案を作成し、作業者ｃ４がその作成した設計案をチェックし、そして、作業者ｃ５が再度、設計案をチェックする。本実施形態のワークフローシステムには、このような製品設計作業等の業務処理を実行するためのワークフローの定義が予め登録されている。
【００２４】
本実施形態では、ワークフローの種類として、第一階層ワークフローと第二階層ワークフローとがある。第一階層ワークフロー及び第二階層ワークフローはともに、所定の作業についてその作業の流れに従った各処理の内容及び順序を定めたものである。しかし、第二階層ワークフローは第一階層ワークフローの実行中にその第一階層ワークフローに従った処理で選択され、その選択された第二階層ワークフローに従った処理が第一階層ワークフローに従った処理と同時並行的に実行されるという点で、第二階層ワークフローは第一階層ワークフローと相違する。複数の第一階層ワークフローの定義及び複数の第二階層ワークフローの定義は第一記憶部３０に記憶されている。ここで、各ワークフローの定義には定義識別情報（定義ＩＤ）が付与されている。この定義ＩＤは、ワークフローを特定すると共に当該ワークフローが第一階層ワークフローであるか第二階層ワークフローであるかを識別するためのものである。また、各第一階層ワークフローの定義はその実行中に選択可能な複数の第二階層ワークフローの定義と予め関連付けられており、この関連付けの内容を示す定義関連付け情報も第一記憶部３０に記憶されている。尚、本明細書において、単に「ワークフロー」と言ったときには、「第一階層ワークフロー」と「第二階層ワークフロー」との両方を意味する。
【００２５】
いま、ワークフローの定義について詳しく説明する。図４は第一記憶部３０に記憶されているワークフローの定義の例を示す図である。この例では、第一記憶部３０に、複数の第一階層ワークフローＤ０１，Ｄ０２，Ｄ０３についての定義と、複数の第二階層ワークフローｄ００１，ｄ００２，ｄ００３，・・・についての定義とが記憶されている。ここで、「Ｄ０１」や「ｄ００１」等は定義ＩＤである。この例では、定義ＩＤは、先頭の「Ｄ」又は「ｄ」の文字と、それに続く数字とから構成される。先頭の文字が大文字「Ｄ」であることは、当該ワークフローが第一階層ワークフローであることを意味し、先頭の文字が小文字「ｄ」であることは、当該ワークフローが第二階層ワークフローであることを意味する。
【００２６】
一般に、第一階層ワークフローの定義には、選択アクティビティ（選択処理）と、開始アクティビティ（開始処理）と、監視アクティビティ（監視処理）と、待合せアクティビティ（待合せ処理）とについての内容が含まれている。ここで、アクティビティとは、処理の単位を表すものであり、ノードとも呼ばれる。選択アクティビティは、当該第一階層ワークフローの定義と関連付けられた複数の第二階層ワークフローの定義の中から一又は複数の第二階層ワークフローの定義を選択し、その選択した第二階層ワークフローの実行を指示する処理である。かかる選択は所定の担当者によって行われる。開始アクティビティは、選択アクティビティで実行指示された第二階層ワークフローに従った処理を開始する処理である。監視アクティビティは、実行中の第二階層ワークフローの進捗状況を監視する処理である。この監視は所定の担当者によって行われる。そして、待合せアクティビティは、監視アクティビティにおける監視の対象となっているいずれの第二階層ワークフローについても一連の処理が完了した旨の通知を各コンピュータ端末から受けたときに当該監視処理を終了し、当該第一階層ワークフローに従って次の処理に移行する処理である。また、第二階層ワークフローの定義には、その第二階層ワークフローによる作業を実現するための複数のアクティビティについての内容が含まれている。
【００２７】
図４の例では、第一階層ワークフローＤ０１には、「選択ＡＣＴ」→「開始ＡＣＴ」→「監視ＡＣＴ」→「待合ＡＣＴ」→「ＡＣＴ−１」という処理の流れが定められている。第一階層ワークフローＤ０２には、「選択ＡＣＴ」→「開始ＡＣＴ」→「監視ＡＣＴ」→「待合ＡＣＴ」→「ＡＣＴ−１」→「ＡＣＴ−２」という処理の流れが定められている。そして、第一階層ワークフローＤ０３には、「選択ＡＣＴ」→「開始ＡＣＴ」→「監視ＡＣＴ」→「待合ＡＣＴ」→「ＡＣＴ−１」→「ＡＣＴ−２」→「ＡＣＴ−３」という処理の流れが定められている。ここで、「ＡＣＴ」はアクティビティの略である。「ＡＣＴ−１」，「ＡＣＴ−２」，「ＡＣＴ−３」の各アクティビティに対しては、それを含む第一階層ワークフローの定義において所定の処理内容が定められている。また、第二階層ワークフローｄ００１には、「ａｃｔ−１」→「ａｃｔ−２」→「ａｃｔ−３」という処理の流れが定められ、第二階層ワークフローｄ００２には、「ａｃｔ−１」→「ａｃｔ−２」→「ａｃｔ−３」→「ａｃｔ−４」という処理の流れが定められている。そして、第二階層ワークフローｄ００３には、「ａｃｔ−１」→「ａｃｔ−２」→「ａｃｔ−３」→「ａｃｔ−４」→「ａｃｔ−５」という処理の流れが定められている。ここで、「ａｃｔ」はアクティビティの略である。「ａｃｔ−１」，「ａｃｔ−２」，・・・の各アクティビティに対しては、それを含む第二階層ワークフローの定義において所定の処理内容が定められている。
【００２８】
特に、本実施形態では、第一階層ワークフローＤ０１が製品設計作業についてのワークフローであり、第一階層ワークフローＤ０２が購買作業についてのワークフローであり、そして、第一階層ワークフローＤ０３が人事作業についてのワークフローであるとする。また、第二階層ワークフローｄ００１，ｄ００２，ｄ００３の定義はいずれも第一階層ワークフローＤ０１の定義と関連付けられているとする。具体的には、第二階層ワークフローｄ００１が作業チームＡによる設計案の作成作業についてのワークフローであり、第二階層ワークフローｄ００２が作業チームＢによる設計案の作成作業についてのワークフローであり、そして、第二階層ワークフローｄ００３が作業チームＣによる設計案の作成作業についてのワークフローであるとする。尚、Ｄ０１が製品設計作業に対応し、ｄ００１が作業チームＡによる設計案の作成作業に対応するというようなワークフローの定義ＩＤと作業内容との対応関係を示す情報（対応関係情報）は第一記憶部３０に記憶されている。
【００２９】
この場合、第二階層ワークフローｄ００１においては、「ａｃｔ−１」として、作業者ａ１による設計素案の作成処理が定められ、「ａｃｔ−２」として、作業者ａ２による詳細な設計案の作成処理が定められ、「ａｃｔ−３」として、作業者ａ３による設計案の内容の確認処理が定められている。これは図３の作業チームＡの作業内容に相当する。第二階層ワークフローｄ００２においては、「ａｃｔ−１」として、作業者ｂ１による設計素案の作成処理が定められ、「ａｃｔ−２」として、作業者ｂ２による設計素案の確認処理が定められ、「ａｃｔ−３」として、作業者ｂ３による詳細な設計案の作成処理が定められ、そして、「ａｃｔ−４」として、作業者ｂ４による設計案の内容の確認処理が定められている。これは図３の作業チームＢの作業内容に相当する。第二階層ワークフローｄ００３においては、「ａｃｔ−１」として、作業者ｃ１による設計素案の作成処理が定められ、「ａｃｔ−２」として、作業者ｃ２による設計素案の確認処理が定められ、「ａｃｔ−３」として、作業者ｃ３による詳細な設計案の作成処理が定められ、「ａｃｔ−４」として、作業者ｃ４による設計案の確認処理が定められ、そして、「ａｃｔ−５」として、作業者ｃ５による設計案の確認処理が定められている。これは図３の作業チームＣの作業内容に相当する。サーバ２０は、第二階層ワークフローにおけるアクティビティを作業者に実行させる場合、そのアクティビティで定められた処理を依頼する旨の通知及び当該処理に必要なデータのリストを当該作業者の利用するコンピュータ端末１０に送信する。また、各作業者に依頼した処理が終了すると、その旨の通知及び当該処理で作成したデータが当該作業者の利用するコンピュータ端末１０からサーバ２０に送られる。尚、以下では、作業者の利用するコンピュータ端末については、必要に応じて、コンピュータ端末を示す符号「１０」の次に、当該作業者を示す符号を括弧で括って配置することにより、当該コンピュータ端末を他のコンピュータ端末と明確に区別することにする。例えば、作業者ａ１の利用するコンピュータ端末には、「１０（ａ１）」という符号が付されることになる。
【００３０】
一方、第一階層ワークフローＤ０１においては、「選択ＡＣＴ」として、承認者が設計案の作成作業を行わせたい作業チームに対する第二階層ワークフローの定義を選択し、その選択した第二階層ワークフローの実行を指示する処理が定められ、「開始ＡＣＴ」として、承認者によって実行指示された第二階層ワークフローに従った処理を開始する処理が定められている。「監視ＡＣＴ」としては、承認者が実行中の第二階層ワークフローの進捗状況を監視する処理が定められている。すなわち、「選択ＡＣＴ」における選択と「監視ＡＣＴ」における監視とは同一人によって行われる。また、「待合ＡＣＴ」として、監視の対象となっているいずれの第二階層ワークフローについても一連の処理が完了したときに当該監視処理を終了し、当該第一階層ワークフローに従って次の処理に移行する処理が定められ、「ＡＣＴ−１」として、承認者が各第二階層ワークフローに従った処理により作成された設計案の中から一つの設計案を選定して承認する処理（承認アクティビティ）が定められている。したがって、設計部門の承認者が第一階層ワークフローＤ０１を実行し、「選択ＡＣＴ」において三つの第二階層ワークフローｄ００１，ｄ００２，ｄ００３を選択することにより、本実施形態のワークフローシステムは図３に示す製品設計作業を実現することができる。尚、この第一階層ワークフローＤ０１では、「選択ＡＣＴ」における選択を行う主体と「監視ＡＣＴ」における監視を行う主体とがともに承認者であるが、一般に、「選択ＡＣＴ」における選択を行う主体と「監視ＡＣＴ」における監視を行う主体とは異なっていてもよい。
【００３１】
このように、本実施形態のワークフローシステムでは、第二階層ワークフローは第一階層ワークフローの実行中でなければ実行されないので、第一階層ワークフローと第二階層ワークフローとの間には前者を主とし後者を従とする主従関係、言い換えれば前者を上位の階層とし後者を下位の階層とする階層構造が成立している。そして、第二階層ワークフローに従った一連の処理は第一階層ワークフローにおける監視アクティビティの下で実行される。特に、本実施形態では、第一階層ワークフローにおける監視アクティビティの内容に、第二階層ワークフローに対する監視の機能の他に、第二階層ワークフローに対して各種の制御を行う機能を含めている。
【００３２】
例えば、本実施形態のワークフローシステムにおいて、第一階層ワークフローにおける監視アクティビティの内容には、複数の第二階層ワークフローの定義の中から追加的に選択された第二階層ワークフローの実行を指示することができる機能を含めている。これにより、第一階層ワークフローにおける監視アクティビティを行う担当者は、その監視アクティビティの実行中に、任意のタイミングで第二階層ワークフローを追加的に選択して、その選択した第二階層ワークフローに従った処理を各コンピュータ端末に実行させることができる。例えば、新たな第二階層ワークフローを選択して、元々予定していなかった担当者に処理を実行させたり、ある第二階層ワークフローに従った処理が短時間で完了した場合に同じ第二階層ワークフローを選択して、同じ担当者に再度、処理を実行させたりすることができる。また、本実施形態のワークフローシステムにおいて、第一階層ワークフローにおける監視アクティビティの内容には、当該監視の対象となっている第二階層ワークフローの実行を強制的に中止することができる機能を含めている。これにより、第一階層ワークフローにおける監視アクティビティを行う担当者は、その監視アクティビティの実行中に、任意のタイミングで第二階層ワークフローの実行を強制的に中止させることができる。
【００３３】
第二記憶部４０には、実行中のワークフローに従った一連の処理（プロセス）を特定して管理するためのプロセス管理情報、及び、そのプロセス管理情報に関連付けられた、当該ワークフローにおける各処理（アクティビティ）についてのアクティビティ進捗情報が記憶されている。本実施形態では、プロセス管理情報は、実行中のワークフローに従った一連の処理を識別するためのプロセス識別情報（プロセスＩＤ）と、その実行中のワークフローについての定義ＩＤと、そのワークフローの実行者についての情報（実行者情報）と、その他の情報とを含んで構成されている。ここで、第二階層ワークフローについてのプロセス管理情報に含まれるプロセスＩＤは、第一階層ワークフローについてのプロセス管理情報に含まれるプロセスＩＤと区別するため、「プロセスサブ識別情報（プロセスサブＩＤ）」とも称することにする。また、その他の情報としては、例えば、第一階層ワークフローの場合、プロセス名に関する情報、プロセス完了期限に関する情報等がある。
【００３４】
図５は第二記憶部４０に記憶されているプロセス管理情報の例を示す図である。この図５には、第一階層ワークフローＤ０１の実行中に三つの第二階層ワークフローｄ００１，ｄ００２，ｄ００３が実行された場合における各ワークフローＤ０１，ｄ００１，ｄ００２，ｄ００３についてのプロセス管理情報の例が示されている。具体的に、第一階層ワークフローＤ０１についてのプロセス管理情報には、プロセスＩＤとしての「Ｄｅｓｉｇｎ−００１」と、定義ＩＤとしての「Ｄ０１」と、実行者情報としての「山田太郎」とが含まれている。また、第二階層ワークフローｄ００１についてのプロセス管理情報には、プロセスサブＩＤとしての「Ｄｅｓｉｇｎ−００１−０１」と、定義ＩＤとしての「ｄ００１」と、実行者情報としての「作業チームＡ」とが含まれている。そして、第二階層ワークフローｄ００２についてのプロセス管理情報には、プロセスサブＩＤとしての「Ｄｅｓｉｇｎ−００１−０２」と、定義ＩＤとしての「ｄ００２」と、実行者情報としての「作業チームＢ」とが含まれ、第二階層ワークフローｄ００３についてのプロセス管理情報には、プロセスサブＩＤとしての「Ｄｅｓｉｇｎ−００１−０３」と、定義ＩＤとしての「ｄ００３」と、実行者情報としての「作業チームＣ」とが含まれている。ここで、第二階層ワークフローについてのプロセス管理情報は、その第二階層ワークフローの実行が指示された第一階層ワークフローについてのプロセス管理情報と関連付けられている。図５の例では、第一階層ワークフローＤ０１についてのプロセス管理情報に含まれるプロセスＩＤの下位に、この第一階層ワークフローＤ０１の実行中に実行指示された各第二階層ワークフローｄ００１，ｄ００２，ｄ００３についてのプロセス管理情報を配置することにより、それらプロセス管理情報間の関連付けを表現している。尚、図５の右側には、第一階層ワークフローＤ０１及び第二階層ワークフローｄ００１，ｄ００２，ｄ００３によって実現される全体の処理の流れを模式的に示している。また、図５では、プロセス管理情報に含まれる上述のその他の情報を省略して示している。
【００３５】
また、図６は第二記憶部４０に記憶されているアクティビティ進捗情報の例を示す図である。図６（ａ）に示すアクティビティ進捗情報は、図５に示すプロセス管理情報Ｄｅｓｉｇｎ−００１−０１で特定される第二階層ワークフローｄ００１におけるアクティビティａｃｔ−１についてのものであり、図６（ｂ）に示すアクティビティ進捗情報は、図５に示すプロセス管理情報Ｄｅｓｉｇｎ−００１−０１で特定される第二階層ワークフローｄ００１におけるアクティビティａｃｔ−２についてのものである。具体的に、各アクティビティ進捗情報は、このアクティビティが実行されるワークフローについてのプロセス管理情報の「プロセスＩＤ」（そのワークフローが第二階層ワークフローである場合には、「プロセスサブＩＤ」及びその第二階層ワークフローの実行が指示された第一階層ワークフローについてのワークフロー管理情報の「プロセスＩＤ」）、「アクティビティ番号」、「実行者」、「アクティビティ内容」、「開始日時」、「終了日時」、「アクティビティ状況」、「データ格納場所」等についての各情報を含んで構成されている。各アクティビティ進捗情報に「プロセスＩＤ」（「プロセスサブＩＤ」）を含めているのは、当該アクティビティ進捗情報を、その「プロセスＩＤ」（「プロセスサブＩＤ」）が付与されたプロセス管理情報と関連付けるためである。「アクティビティ番号」とは、当該アクティビティを含むワークフローにおいて当該アクティビティを識別する情報である。「実行者」とは、当該アクティビティを実行する担当者についての情報である。「アクティビティ内容」とは、当該アクティビティの内容を示す情報である。「開始日時」は、当該アクティビティの実行を開始した日時についての情報であり、「終了日時」は、当該アクティビティの実行が終了した日時についての情報である。具体的に、例えば、サーバ２０が当該アクティビティの実行者の利用するコンピュータ端末１０に処理を依頼する旨の通知を送った日時が開始日時となる。そして、例えば、当該アクティビティの実行者の利用するコンピュータ端末１０から当該処理が終了した旨の通知を受けた日時が終了日時となる。また、「アクティビティ状況」とは、当該アクティビティの現在の状況を表すものである。例えば、当該アクティビティが実行中である場合には、「アクティビティ状況」は「作業中」となり、当該アクティビティが終了した場合には、「アクティビティ状況」は「終了」となる。「データ格納場所」とは、当該アクティビティで作成されたデータの格納場所を示す情報である。
【００３６】
第三記憶部５０には、ワークフローにおける各アクティビティで作成されたデータ等が記憶される。例えば、第二階層アクティビティｄ００２におけるアクティビティａｃｔ−１では、設計素案についての図面データや粗見積原価についてのデータが作成される。サーバ２０は、かかるデータが作業者ｂ１のコンピュータ端末１０（ｂ１）から送られてきたときに、当該データを第三記憶部５０に格納すると共に、その格納場所を示す情報を当該アクティビティについてのアクティビティ進捗情報における「データ格納場所」に書き込む。
【００３７】
次に、サーバ２０の各部について説明する。サーバ２０の登録部２１は、ワークフローシステムのシステム管理者によって作成された第一階層ワークフローの定義や第二階層ワークフローの定義を第一記憶部３０に登録するものである。ここで、登録部２１は、ワークフローの定義を登録する際に、そのワークフローの定義に定義ＩＤを付与する。
【００３８】
サーバ２０の管理部２２は、あるコンピュータ端末１０が第一階層ワークフローの実行を指示したときに、その実行指示された第一階層ワークフローについてのプロセス管理情報を生成して第二記憶部４０に記憶すると共に、その実行指示された第一階層ワークフローの定義を第一記憶部３０から読み出し、その読み出した第一階層ワークフローに従って当該第一階層ワークフローに関係する各コンピュータ端末に一連の処理を実行させるものである。なお、各アクティビティでの実際の処理は、コンピュータ端末が実行するものと、コンピュータ端末を利用しているユーザが処理するものがある。例えばコンピュータ端末の画面に何らかの指示が表示され、その指示に基づいてユーザが処理してコンピュータ端末を介して処理の完了を入力することがある。本実施形態では説明を簡単にするためにこれらを区別すること無く、コンピュータ端末が実行するという形態で説明する。また、サーバ２０の監視部２３は、第二記憶部４０に記憶されているプロセス管理情報によって特定されるワークフローについて、そのワークフローにおける各アクティビティのアクティビティ進捗情報を生成して第二記憶部４０に記憶すると共に、そのワークフローにおける各アクティビティの状況を監視し、その監視結果に基づいて当該アクティビティのアクティビティ進捗情報を更新するものである。管理部２２は、第二記憶部４０に記憶されている各アクティビティのアクティビティ進捗情報に基づいて実行中のワークフローについての現在の進捗状況を把握することができる。
【００３９】
特に、本実施形態では、管理部２２は、第一階層ワークフローにおける選択アクティビティを所定のコンピュータ端末１０に実行させている場合、そのコンピュータ端末１０が複数の第二階層ワークフローの定義の中から所望の第二階層ワークフローの定義を選択したときに、その選択された第二階層ワークフローについてのプロセス管理情報を生成して、当該第一階層ワークフローについてのプロセス管理情報と関連付けて第二記憶部４０に記憶する。そして、管理部２２は、第一階層ワークフローにおける選択アクティビティを所定のコンピュータ端末１０に実行させている場合、そのコンピュータ端末１０が当該選択した一又は複数の第二階層ワークフローの実行を指示したときに、その実行指示された第二階層ワークフローの定義を第一記憶部３０から読み出し、その読み出した第二階層ワークフローに従って当該第二階層ワークフローに関係する各コンピュータ端末に一連の処理を実行させる。
【００４０】
また、管理部２２は、第一階層ワークフローにおける監視アクティビティを所定のコンピュータ端末１０に実行させている場合に、当該第一階層ワークフローについてのプロセス管理情報と関連付けられた第二階層ワークフローについてのプロセス管理情報を特定し、その特定したプロセス管理情報と関連付けられた第二階層ワークフローにおける各アクティビティのアクティビティ進捗情報に基づいて当該第二階層ワークフローの進捗状況を示す情報を生成する。かかる情報の生成は、例えば、監視アクティビティが開始された後、一定時間が経過する度に行われる。そして、管理部２２は、その生成した当該第二階層ワークフローの進捗状況を示す情報を当該コンピュータ端末１０に送出する。これにより、その送られた情報は当該コンピュータ端末１０の画面上に表示されるので、監視アクティビティを行う担当者は、その画面上に表示された情報の内容を見て、当該第二階層ワークフローの進捗状況を容易に知ることができる。
【００４１】
また、管理部２２は、第一階層ワークフローにおける監視アクティビティを所定のコンピュータ端末１０に実行させている場合、そのコンピュータ端末１０が複数の第二階層ワークフローの定義の中から所望の第二階層ワークフローの定義を追加的に選択し、その選択した第二階層ワークフローの実行を指示したときに、その実行指示された第二階層ワークフローについてのプロセス管理情報を生成して、当該第一階層ワークフローについてのプロセス管理情報と関連付けて第二記憶部４０に記憶すると共に、その実行指示された第二階層ワークフローの定義を第一記憶部３０から読み出し、その読み出した第二階層ワークフローに従って当該第二階層ワークフローに関係する各コンピュータ端末に一連の処理を実行させる。これにより、監視アクティビティを行う担当者は、その監視アクティビティの実行中に任意のタイミングで第二階層ワークフローの追加を行うことができる。
【００４２】
更に、管理部２２は、第一階層ワークフローにおける監視アクティビティを所定のコンピュータ端末１０に実行させている場合、そのコンピュータ端末１０が当該監視の対象となっている一の第二階層ワークフローの実行を強制的に中止することを指示したときに、その中止指示がなされた第二階層ワークフローに従って現在処理を行っているコンピュータ端末１０に対して当該第二階層ワークフローの実行が中止された旨の通知を送出する。そして、その中止指示がなされた第二階層ワークフローにおける現在実行中のアクティビティについてのアクティビティ進捗情報に当該第二階層ワークフローの実行が中止された旨の情報を含ませる。例えば、この場合、管理部２２は、当該アクティビティのアクティビティ進捗情報に含まれる「アクティビティ状況」を「強制中止」にする。一方、監視部２３は、アクティビティ進捗情報に第二階層ワークフローの実行が中止された旨の情報が含まれている場合、当該アクティビティ進捗情報に関連付けられているプロセス管理情報によって特定される第二階層ワークフローについての監視を行わない。これにより、監視アクティビティを行う担当者は、その監視アクティビティの実行中に、任意のタイミングで第二階層ワークフローの実行を強制的に中止することができる。
【００４３】
尚、管理部２２は、第一階層ワークフローにおける監視アクティビティを所定のコンピュータ端末１０に実行させている場合、第二記憶部４０に記憶されているアクティビティ進捗情報に基づいて、当該監視の対象となっている第二階層ワークフローの実行がすべて中止されたと判断したときに、当該監視の対象となっているいずれの第二階層ワークフローについても一連の処理が完了した旨の通知を受けたものとみなして当該監視アクティビティを終了する。これにより、第一階層ワークフローにおける監視アクティビティを行う担当者がすべての第二階層ワークフローの実行を強制的に中止することを指示した場合でも、当該第一階層ワークフローに従った処理が監視アクティビティから抜け出せずに進行しない状況を回避することができる。
【００４４】
次に、本実施形態のワークフローシステムにおける処理の手順について説明する。図７、図８及び図９は本実施形態のワークフローシステムにおいて第一階層ワークフローに従った一連の処理が行われる際にサーバ２０が行う処理の手順を説明するためのフローチャートである。ここでは、設計部門の承認者が液晶テレビの設計についての企画を立案し、その企画に基づいて図３に示すような製品設計作業を行う場合について説明する。
【００４５】
まず、承認者は自己のコンピュータ端末１０を立ち上げ、ユーザ名とパスワードを入力してワークフローシステムにログインする。すると、サーバ２０の管理部２２は、第一記憶部３０に記憶されている第一階層ワークフローの定義ＩＤと作業内容との対応関係に基づいて所定の業務選択画面を作成し、そのコンピュータ端末１０に表示する（Ｓ１１）。図１０は業務選択画面の例を示す図である。図１０に示すように、業務選択画面１００には、「設計作業（Ｄ０１）」の選択欄と、「購買作業（Ｄ０２）」の選択欄と、「人事作業（Ｄ０３）」の選択欄とが含まれている。承認者は、今回、製品の設計作業を行うので、「設計作業（Ｄ０１）」をマウスでクリックして、その選択欄にチェックを入れる。これにより、その選択された作業に対応する第一階層ワークフロー、すなわち、製品設計作業についての第一階層ワークフローＤ０１を実行する旨の指示がサーバ２０に送られる。
【００４６】
管理部２２は、かかる実行指示を受け取ると、その実行指示された第一階層ワークフローＤ０１についてのプロセス管理情報を生成して第二記憶部４０に記憶する（Ｓ１２）。具体的に、管理部２２は、新規のプロセスＩＤとして例えば「Ｄｅｓｉｇｎ−００１」を設定した後、このプロセスＩＤと、上記第一階層ワークフローの定義ＩＤである「Ｄ０１」と、実行者情報としての承認者の名前「山田太郎」とを含むプロセス管理情報を生成する（図５参照）。また、管理部２２は、その実行指示された第一階層ワークフローＤ０１の定義を第一記憶部３０から読み出し、その読み出した第一階層ワークフローＤ０１に従った処理を開始する（Ｓ１３）。この第一階層ワークフローＤ０１における最初の処理は図４に示すように選択アクティビティである。管理部２２は、その選択アクティビティを承認者に実行させるため、ステップＳ１２で作成したプロセス管理情報に基づいて所定の承認者画面を作成し、承認者のコンピュータ端末１０に表示する。
【００４７】
図１１は承認者画面の例を示す図である。図１１に示すように、承認者画面２００には、作業ＩＤの表示欄と、承認者名の表示欄と、設計件名の入力欄と、設計承認期限の入力欄と、「作業チーム追加」ボタン２１０と、作業チーム表示部２２０と、「作業スタート」ボタン２３０と、「更新」ボタン２４０とを有する。作業ＩＤの表示欄には、当該プロセス管理情報に含まれるプロセスＩＤ「Ｄｅｓｉｇｎ−００１」が自動的に表示され、承認者名の表示欄には、当該プロセス管理情報に含まれる実行者情報「山田太郎」が自動的に表示される。このように、図１１の例では、プロセスＩＤは承認者画面２００上で作業ＩＤとして表示されている。また、承認者画面２００が表示された際には、設計件名の入力欄及び設計承認期限の入力欄は空白になっている。設計件名の入力欄は、今回の製品設計作業に付す名称（プロセス名）を入力するものであり、設計承認期限の入力欄は、今回の製品設計作業の完了期限（プロセス完了期限）を入力するものである。
【００４８】
承認者画面２００が表示されると、承認者は、まず、設計件名及び設計承認期限を決め、それぞれ設計件名の入力欄、設計承認期限の入力欄に入力しなければならない。例えば、承認者は、設計件名の入力欄に「液晶テレビ設計」と入力し、設計承認期限の入力欄に「２０１２年９月２０日  １５：００」と入力する。その入力した内容はサーバ２０に送られ、管理部２２はその入力内容を当該プロセス管理情報に含めて第二記憶部４０に記憶する（Ｓ１４）。
【００４９】
次に、承認者は、今回の製品設計作業を行わせたい作業チームを選択する。この選択は「作業チーム追加」ボタン２１０及び作業チーム表示部２２０を利用して行われる。ここで、承認者画面２００が表示された直後においては、図１１に示すように、作業チーム表示部２２０には何も表示されていない。図１２及び図１３は作業チームを選択する手順を説明するための図である。承認者が「作業チーム追加」ボタン２１０をマウスでクリックすると、管理部２２は、図１２（ａ）に示すように、作業チーム表示部２２０に新たに一行分の表示欄を表示させる。ここで、この表示欄は、「Ｎｏ．」、「チーム名」、「作業状況」、「報告日」、「中止」、「選定」の各欄から構成される。「Ｎｏ．」欄は当該表示欄が作業チーム表示部２２０に何番目に表示されたものであるかを示す番号を表示するものである。「チーム名」欄は選択された作業チームの名称を表示するものである。ここで、この「チーム名」欄の右端部は、作業チームの一覧を示すプルダウンメニューを表示するためのボタンになっている。「作業状況」欄は当該作業チームが行う作業についての第二階層ワークフローの進捗状況を表示するためのものである。「報告日」欄は、当該作業チームによる第二階層ワークフローに従った作業が完了したときの日付を表示するものである。また、「中止」欄は、当該作業チームによる第二階層ワークフローの実行を強制的に中止することを指示するためのチェックボックスであり、「選定」欄は、当該作業チームによる第二階層ワークフローに従った作業で作成された設計案を選定することを指示するためのチェックボックスである。
【００５０】
図１２（ａ）に示すように、作業チーム表示部２２０に新たに表示欄が表示されたときには、「Ｎｏ．」欄には所定の番号が表示されており、「チーム名」、「作業状況」、「報告日」の各欄は空白になっている。そして、「中止」、「選定」の各欄はチェックが入っていない状態になっている。実際、選択アクティビティの実行中には、「作業状況」、「報告日」の各欄には何も表示されず、監視アクティビティ及びそれ以後のアクティビティの実行中に、「作業状況」、「報告日」の各欄に内容が表示される。また、「中止」欄にチェックを入れることができるのは監視アクティビティの実行中だけであり、選択アクティビティの実行中には「中止」欄にチェックを入れることはできない。「選定」欄にチェックを入れることができるのは監視アクティビティ及び承認アクティビティの実行中だけであり、選択アクティビティの実行中には「選定」欄にチェックを入れることはできない。
【００５１】
作業チームを選択する場合、承認者は、まず、「チーム名」欄の右端部をマウスでクリックする。管理部２２は、その操作が行われたことを認識すると、第一記憶部３０に記憶されている定義関連付け情報及び対応関係情報に基づいて、当該第一階層ワークフローＤ０１の定義に関連付けられた各第二階層ワークフローの定義に対応する作業チームの名称を認識し、その認識した作業チームの一覧を示すプルダウンメニューを、図１２（ｂ）に示すように承認者のコンピュータ端末１０に表示させる。このとき、管理部２２は、このプルダウンメニューの中から作業チームが選択されたかどうかを判断している（Ｓ１５）。このステップＳ１５の判断が否定的であれば、ステップＳ１７に移行する。
【００５２】
次に、承認者は、そのプルダウンメニューの中から、製品設計作業を行わせたい作業チームをマウスで選択する。ここでは、作業チームＡが選択されたとする。これにより、図１３（ａ）に示すように、「チーム名」欄にはその選択した作業チームの名称「作業チームＡ」が表示される。また、このとき、ステップＳ１５の判断が肯定的になり、管理部２２は、その選択された作業チームＡに対応する第二階層ワークフローｄ００１についてのプロセス管理情報を生成して、当該第一階層ワークフローＤ０１についてのプロセス管理情報と関連付けて第二記憶部４０に記憶する（Ｓ１６）。具体的に、管理部２２は、新規のプロセスサブＩＤとして例えば「Ｄｅｓｉｇｎ−００１−０１」を設定した後、このプロセスサブＩＤと、上記第二階層ワークフローの定義ＩＤである「ｄ００１」と、実行者情報としての作業チームの名前「作業チームＡ」とを含むプロセス管理情報を生成する（図５参照）。その後、管理部２２は、「作業スタート」ボタン２３０が押されたかどうかを判断する（Ｓ１７）。このステップＳ１７の判断が否定的であれば、ステップＳ１５に移行する。
【００５３】
また、別の作業チームにも今回の製品設計作業を行わせたい場合には、承認者は、再度、「作業チーム追加」ボタン２１０を押した後、プルダウンメニューから所望の作業チームを選択する操作を行うことになる。ここでは、承認者が作業チームＡの他に、作業チームＢと作業チームＣとを選択したとする。これにより、作業チーム表示部２２０には、図１３（ｂ）に示すように、作業チームＡ、作業チームＢ及び作業チームＣについての三つの表示欄が表示される。このとき、当該第一階層ワークフローＤ０１についてのプロセス管理情報Ｄｅｓｉｇｎ−００１には、図５に示すように、第二階層ワークフローｄ００１についてのプロセス管理情報Ｄｅｓｉｇｎ−００１−０１、第二階層ワークフローｄ００２についてのプロセス管理情報Ｄｅｓｉｇｎ−００１−０２、及び、第二階層ワークフローｄ００３についてのプロセス管理情報Ｄｅｓｉｇｎ−００１−０３が関連付けられることになる。
【００５４】
承認者は、作業チームの選択をし終えると、「作業スタート」ボタン２３０をマウスでクリックする。これにより、ステップＳ１７の判断が肯定的になる。管理部２２は、「作業スタート」ボタン２３０が押されたと判断すると、承認者によって選択された各作業チームに対応する第二階層ワークフローを実行する旨の指示を受けたと認識し、当該第一階層ワークフローＤ０１における選択アクティビティの実行を終了させ、開始アクティビティを実行する。すなわち、管理部２２は、その実行指示された第二階層ワークフローｄ００１，ｄ００２，ｄ００３の各々について、その定義を第一記憶部３０から読み出し、その読み出した第二階層ワークフローにおける最初のアクティビティの実行依頼を所定の作業者のコンピュータ端末１０に送ることにより当該第二階層ワークフローに従った処理を開始する（Ｓ１８）。具体的に、第二階層ワークフローｄ００１における最初のアクティビティａｃｔ−１の実行依頼が作業者ａ１のコンピュータ端末１０（ａ１）に送られ、第二階層ワークフローｄ００２における最初のアクティビティａｃｔ−１の実行依頼が作業者ｂ１のコンピュータ端末１０（ｂ１）に送られ、第二階層ワークフローｄ００３における最初のアクティビティａｃｔ−１の実行依頼が作業者ｃ１のコンピュータ端末１０（ｃ１）に送られる。
【００５５】
ここで、管理部２２は、第二階層ワークフローにおける各アクティビティを所定の作業者に実行させる場合、当該第二階層ワークフローの定義、当該第二階層ワークフローについてのプロセス管理情報及びそれと関連付けられた第一階層ワークフローについてのプロセス管理情報等に基づいて、所定の作業者画面を作成し、当該アクティビティを行う作業者のコンピュータ端末１０に表示する。図１４は作業者画面の例を示す図である。図１４に示す作業者画面３００は、作業チームＢにおける作業者ｂ３に対するものである。この作業者画面３００には、作業ＩＤの表示欄と、承認者名の表示欄と、設計件名の表示欄と、設計承認期限の表示欄と、作業者の表示欄と、作業内容表示部３１０と、関連データ表示部３２０とを有する。作業ＩＤの表示欄、承認者名の表示欄、設計件名の表示欄、及び、設計承認期限の表示欄にはそれぞれ、図１３（ｂ）に示す承認者画面２００において対応する欄に表示されている内容と同じ内容が表示される。作業者の表示欄には、第二階層ワークフローｄ００２におけるアクティビティａｃｔ−３を行う作業者ｂ３の所属チーム名及び氏名「作業チームＢ：田中一郎」が表示される。作業内容表示部３１０には、管理部２２から作業者ｂ３に対するアクティビティａｃｔ−３の実行依頼の内容が表示される。この例では、「設計素案を元にして詳細設計を行う。」という内容が表示されている。また、関連データ表示部３２０には、この作業者ｂ３が処理を行う際に必要なデータの一覧が表示される。ここで、このデータの一覧は、データ内容、ファイル名、作成者の各項目からなる表形式で表示されている。例えば、作業者ｂ３が処理を行う際に必要なデータとしては、設計対象となる製品に関するデータや、作業チームＢにおける作業者ｂ１が作成した設計素案に関するデータ「ラフスケッチ」や粗見積原価に関するデータ等がある。作業者ｂ３がデータ一覧において所望のファイル名をマウスでクリックすると、管理部２２は、そのファイル名のデータを第三記憶部５０から読み出し、作業者ｂ３のコンピュータ端末１０（ｂ３）に送信する。尚、図１４では図示を省略しているが、作業者画面３００には、データをサーバ２０にアップロードするためのインターフェースも備えられている。
【００５６】
ステップＳ１８の処理の後、管理部２２は、開始アクティビティを終了し、第一階層ワークフローＤ０１において開始アクティビティの次の処理である監視アクティビティを承認者のコンピュータ端末１０に実行させる。これにより、第一階層ワークフローＤ０１における監視アクティビティと、各第二階層ワークフローｄ００１，ｄ００２，ｄ００３における各アクティビティとは同時並行的に実行されることになる。尚、上述したように、監視部２３は、第二記憶部４０に記憶されているプロセス管理情報によって特定されるワークフロー（現在の例では第一階層ワークフローＤ０１及び第二階層ワークフローｄ００１，ｄ００２，ｄ００３）の各々について、そのワークフローにおける各アクティビティの状況を監視し、その監視結果に基づいて当該アクティビティのアクティビティ進捗情報を更新する。
【００５７】
管理部２２は、監視アクティビティの実行中、例えば一定時間経過する度に、当該第一階層ワークフローＤ０１についてのプロセス管理情報と関連付けられた第二階層ワークフローについてのプロセス管理情報を特定し、その特定したプロセス管理情報と関連付けられた第二階層ワークフローｄ００１，ｄ００２，ｄ００３における各アクティビティのアクティビティ進捗情報に基づいて各第二階層ワークフローｄ００１，ｄ００２，ｄ００３の進捗状況を示す情報を生成する。そして、管理部２２は、その生成した各第二階層ワークフローｄ００１，ｄ００２，ｄ００３の進捗状況を示す情報を承認者のコンピュータ端末１０に送出し、承認者画面２００における作業チーム表示部２２０の「作業状況」欄に表示する。図１５は監視アクティビティの実行中における承認者画面２００の例を示す図である。この図１５では、作業チームＡ（第二階層ワークフローｄ００１）については「作業状況」欄が「報告済み」となっている。ここで、「報告済み」とは、当該第二階層ワークフローｄ００１について一連の処理が完了し、その旨の通知及び作成された設計案についてのデータが既にサーバ２０に送られたことを意味する。また、作業チームＢ，Ｃ（第二階層ワークフローｄ００２，ｄ００３）についてはともに「作業状況」欄が「設計中」となっている。この「設計中」とは、現在、当該第二階層ワークフローに従った処理が進行中であることを意味する。このように、承認者は承認者画面２００を見て、各第二階層ワークフローｄ００１，ｄ００２，ｄ００３の進捗状況を監視することができる。
【００５８】
ところで、本実施形態のワークフローシステムでは、第一階層ワークフローＤ０１における監視アクティビティの実行中に、承認者のコンピュータ端末１０から、各第二階層ワークフローに従った処理を行っている作業チームにおける所定のコンピュータ端末１０に対してコメントを送ることができる。いま、このコメント送信機能について説明する。図１６はコメント入力画面が表示された承認者画面２００の例を示す図であり、図１７はコメント受信画面が表示された作業者画面３００の例を示す図である。
【００５９】
承認者は、所望の作業チームに対してコメントを送る場合、承認者画面２００上で当該作業チームの表示欄における「Ｎｏ．」欄をマウスで選択する。例えば、作業チームＢに対してコメントを送る場合には、「２」と記載された「Ｎｏ．」欄をマウスで選択する。すると、管理部２２は、図１６に示すように、作業チームＢに対するコメント入力画面２５０を承認者画面２００の下部に表示する。ここで、このコメント入力画面２５０は、コメントを入力するための入力欄２５１と、「保存」ボタン２５２とから構成されている。承認者は、このコメント入力画面２５０の入力欄２５１にコメントを入力する。図１６の例では、「設計作業を急いでください。」というコメントが入力されている。コメントの入力が終了すると、承認者は「保存」ボタン２５２をマスクでクリックする。管理部２２は、「保存」ボタン２５２が押されたことを認識すると、作業チームＢに対するコメント入力画面２５０の入力欄２５１に入力されたコメントの内容を、作業チームＢに属する各作業者ｂ１，ｂ２，ｂ３，ｂ４のコンピュータ端末１０（ｂ１），１０（ｂ２），１０（ｂ３），１０（ｂ４）に表示する。これにより、例えば作業者ｂ３のコンピュータ端末１０（ｂ３）では、図１７に示すように、作業者画面３００内にコメント受信画面３５０が表示される。このコメント受信画面３５０には、承認者が入力したコメントの内容が表示される。作業者ｂ３はかかるコメントの内容を読むと、自己の作業を急いで実行することになる。
【００６０】
また、本実施形態のワークフローシステムでは、第一階層ワークフローＤ０１における監視アクティビティの実行中に、今回の製品設計作業の完了期限を変更することができる。この場合、承認者は、設計承認者画面２００における設計承認期限の入力欄に、変更後の期限を入力し、その後、「更新」ボタン２４０を押せばよい。すると、管理部２２は、第一階層ワークフローＤ０１についてのプロセス管理情報におけるプロセス完了期限の内容をその変更後の期限に書き換えると共に、その変更後の期限についての情報を各作業チームの各作業者のコンピュータ端末１０に送り、作業者画面３００における設計承認期限の表示欄に表示する。このように、設計承認期限を変更した場合には、その変更後の期限を直ちに各作業チームの作業者に伝えることができる。
【００６１】
尚、作業チーム毎に設計案の作成期限を設定することも可能である。この場合には、例えば、承認者画面における作業チーム表示部に表示される表示欄に「完了期限」欄を設けるようにすればよい。承認者は、作業チームを選択する際に、この「完了期限」欄に当該作業チームについての設計案の作成期限を入力する。管理部２２は、当該作業チームに対応する第二階層ワークフローに従った処理を開始する際に、その作業チームの作業者のコンピュータ端末１０に、「完了期限」欄に入力された作成期限についての情報を送信し、作業者画面３００に表示する。これにより、当該作業チームの作業者はその完了期限に間に合うように作業を行うことになる。また、上記入力された設計案の作成期限についての情報は、当該作業チームに対応する第二階層ワークフローについてのプロセス管理情報に含めて第二記憶部４０に記憶される。
【００６２】
本実施形態では、第一階層ワークフローＤ０１における監視アクティビティを承認者のコンピュータ端末１０に実行させている場合に、承認者は、「作業チーム追加」ボタン２１０、作業チーム表示部２２０及び「更新」ボタン２４０を操作して、今回の製品設計作業を実行させる作業チームを追加的に選択することができる。この監視アクティビティにおいて作業チームを選択する処理の手順は、上述した選択アクティビティにおいて作業チームを選択する処理の手順と略同じである。
【００６３】
具体的に、作業チームを追加する場合、承認者は、まず、承認者画面２００上において「作業チーム追加」ボタン２１０をマウスでクリックする。これにより、管理部２２は、作業チーム表示部２２０に新たに一行分の表示欄を表示させる。その後、承認者がその新たに表示させた表示欄における「チーム名」欄の右端部をマウスでクリックすると、管理部２２は、当該第一階層ワークフローＤ０１の定義に関連付けられた各第二階層ワークフローの定義に対応する作業チームの一覧を示すプルダウンメニューを表示させる。このとき、管理部２２は、プルダウンメニューの中から作業チームが選択されたかどうかを判断する（Ｓ１９）。このステップＳ１９の判断が否定的であれば、ステップＳ２１に移行する。
【００６４】
次に、承認者がそのプルダウンメニューの中から製品設計作業を行わせたい作業チームをマウスで選択すると、「チーム名」欄にはその選択した作業チームの名称が表示される。また、このとき、ステップＳ１９の判断が肯定的になり、管理部２２は、その選択された作業チームに対応する第二階層ワークフローについてのプロセス管理情報を生成して、当該第一階層ワークフローＤ０１についてのプロセス管理情報と関連付けて第二記憶部４０に記憶する（Ｓ２０）。その後、管理部２２は、「更新」ボタン２４０が押されたかどうかを判断する（Ｓ２１）。このステップＳ２１の判断が否定的であれば、ステップＳ２３に移行する。一方、承認者が「更新」ボタン２４０をマウスでクリックし、ステップＳ２１の判断が肯定的になると、管理部２２は、承認者によって追加的に選択された作業チームに対応する第二階層ワークフローを実行する旨の指示を受けたと認識し、その実行指示された第二階層ワークフローの定義を第一記憶部３０から読み出し、その読み出した第二階層ワークフローにおける最初のアクティビティの実行依頼を所定の作業者のコンピュータ端末１０に送ることにより当該第二階層ワークフローに従った処理を開始する（Ｓ２２）。その後、ステップＳ２３に移行する。
【００６５】
また、本実施形態では、第一階層ワークフローＤ０１における監視アクティビティを承認者のコンピュータ端末１０に実行させている場合、承認者は、作業状況を監視しているいずれの第二階層ワークフローについてもその実行を強制的に中止することができる。
【００６６】
具体的に、作業チームによる製品設計作業を中止させる場合、承認者は、その中止させようとする作業チームの表示欄において「中止」欄にチェックを入れる。そして、管理部２２は、各作業チームの表示欄において「中止」欄にチェックが入れられた後に「更新」ボタン２４０が押されたかどうかを判断する（Ｓ２３）。このステップＳ２３の判断が否定的であれば、ステップＳ２５に移行する。一方、承認者が「更新」ボタン２４０をマウスでクリックすると、ステップＳ２３の判断が肯定的になり、管理部２２は、その「中止」欄にチェックが入れられた作業チームに対応する第二階層ワークフローに従って現在処理を行っているコンピュータ端末１０に対して、当該第二階層ワークフローの実行が中止された旨の通知を送出する（Ｓ２４）。この通知は当該コンピュータ端末１０の画面上に表示される。そして、当該コンピュータ端末１０を使用している作業者は、かかる通知を見ると、自己の作業を中止することになる。また、このとき、管理部２２は、当該第二階層ワークフローにおける現在実行中のアクティビティについてのアクティビティ進捗情報では、「終了日時」を当該「更新」ボタン２４０が押された日時に設定し、「アクティビティ状況」を「強制中止」という内容に書き換える。そして、管理部２２は、承認者画面２００における当該作業チームの表示欄においては、「作業状況」欄の内容を「強制中止」に変更する。かかるステップＳ２４の処理後はステップＳ２５に移行する。尚、監視部２３は、第二記憶部４０に記憶されているアクティビティ進捗情報における「アクティビティ状況」が「強制中止」となっている場合、当該アクティビティ進捗情報に関連付けられているプロセス管理情報によって特定される第二階層ワークフローについての監視を以後行わない。
【００６７】
更に、本実施形態では、第一階層ワークフローにおける監視アクティビティを承認者のコンピュータ端末１０に実行させている場合であって少なくとも一つの作業チームによる設計作業が完了している場合、承認者は、既に作成された設計案の中から一つの設計案を選定することができる。
【００６８】
具体的に、監視アクティビティの実行中に設計案の選定を行う場合、承認者は、その選定しようとする設計案を作成した作業チームの表示欄において「選定」欄にチェックを入れる。ここで、「選定」欄にチェックを入れることができるのは、「作業状況」欄が「報告済み」になっている作業チームについての「選定」欄だけである。管理部２２は、各作業チームの表示欄において「選定」欄にチェックが入れられた後に「更新」ボタン２４０が押されたかどうかを判断する（Ｓ２５）。このステップＳ２５の判断が否定的であれば、ステップＳ２７に移行する。一方、承認者が「更新」ボタン２４０をマウスでクリックし、ステップＳ２５の判断が肯定的になると、管理部２２は、「選定」欄にチェックが入れられた作業チーム以外の作業チームのうち未だ作業が完了していない作業チームに対応する第二階層ワークフローに従って現在処理を行っているコンピュータ端末１０に対して、他の作業チームによって作成された設計案が選定された旨の通知を送出する（Ｓ２６）。この通知は、当該コンピュータ端末１０の画面上に表示される。そして、当該コンピュータ端末１０を使用している作業者は、かかる通知を見ると、自己の作業を中止することになる。
【００６９】
また、このとき、管理部２２は、「選定」欄にチェックが入れられた作業チームに対応する第二階層ワークフローにおける最後のアクティビティについてのアクティビティ進捗情報では、「アクティビティ状況」を「選定」という内容に書き換える。そして、管理部２２は、承認者画面２００において当該「選定」欄にチェックが入れられた作業チームの表示欄では、「作業状況」欄の内容を「選定」に変更する。一方、上記通知が送られた作業チームに対応する第二階層ワークフローにおいて当該通知の際に実行中であったアクティビティについてのアクティビティ進捗情報では、「終了日時」を当該「更新」ボタン２４０が押された日時に設定するとともに、「アクティビティ状況」を「強制中止」という内容に書き換える。そして、管理部２２は、承認者画面２００において当該通知が送られた作業チームの表示欄では、「作業状況」欄の内容を「強制中止」に変更する。したがって、この時点では、各第二階層ワークフローの進捗状況は、「完了」、「選定」、「強制中止」のいずれかになっている。尚、かかるステップＳ２６の処理の後、ステップＳ２８に移行する。
【００７０】
ステップＳ２７では、管理部２２は、当該第一階層ワークフローＤ０１のプロセス管理情報と関連付けられたプロセス管理情報によって特定されるすべての第二階層ワークフローの実行が完了したかどうかを判断する。この判断は、当該各第二階層ワークフローについて、第二記憶部４０に記憶されている各アクティビティのアクティビティ進捗情報の内容を調べることによって行われる。例えば、すべてのアクティビティについての「アクティビティ状況」が「完了」になっている場合や、最後のアクティビティについての「アクティビティ状況」が「選定」になっている場合には、当該第二階層ワークフローの実行が完了していると判断される。また、一つのアクティビティについての「アクティビティ状況」が「強制中止」になっている場合には、当該第二階層ワークフローの実行は強制中止されたと判断され、少なくとも一つのアクティビティについての「アクティビティ状況」が「作業中」になっている場合には、当該第二階層ワークフローは現在実行中であると判断される。しかし、本実施形態では、管理部２２は、ステップＳ２７の判断に際し、実行が強制中止された第二階層ワークフローについては、当該第二階層ワークフローについて一連の処理が完了した旨の通知を受けたものとみなし、その実行が完了したものとして取り扱う。このような取扱いをするのは、強制中止は作業チームの事情とは無関係に承認者の意思により決定されたものだからである。このステップＳ２７の判断が否定的である場合には、ステップＳ１９に移行する。
【００７１】
ステップＳ２７の判断が肯定的である場合には、管理部２２は、待合せアクティビティを実行する。すなわち、管理部２２は、監視アクティビティにおける監視の対象となっているいずれの第二階層ワークフローについても一連の処理が完了した旨の通知を各コンピュータ端末から受けたと認識して、当該監視アクティビティを終了し、そして、ステップＳ２８の処理を行うことを決定する。
【００７２】
ここで、第一階層ワークフローＤ０１における監視アクティビティの終了態様を説明する。図１８は第一階層ワークフローＤ０１における監視アクティビティの終了態様の例を説明するための図である。通常、三つの第二階層ワークフローｄ００１，ｄ００２，ｄ００３の実行がすべて完了したときに、監視アクティビティは終了する。また、図１８（ａ）に示すように、作業チームＢによる第二階層ワークフローｄ００２の実行と作業チームＣによる第二階層ワークフローｄ００３の実行がともに承認者により強制中止された場合には、作業チームＡによる第二階層ワークフローｄ００１の実行が完了したときに、監視アクティビティが終了する。更に、本実施形態では、図１８（ｂ）に示すように、三つの第二階層ワークフローｄ００１，ｄ００２，ｄ００３の実行がすべて強制中止されたときにも、監視アクティビティが終了する。
【００７３】
ステップＳ２８では、管理部２２は、当該第一階層ワークフローＤ０１に従って各コンピュータ端末に一連の処理を引き続き実行させる。例えば、承認者が監視アクティビティの実行中に設計案の選定を行っていなければ、管理部２２は、承認アクティビティ（ＡＣＴ−１）を承認者に実行させる。この承認アクティビティにおいて設計案を選定する処理の手順は、上述した監視アクティビティの実行中に設計案を選定する処理の手順と略同じである。
【００７４】
本実施形態のワークフローシステムでは、第一階層ワークフローの定義に、複数の第二階層ワークフローの定義の中から一又は複数の第二階層ワークフローの定義を選択し、その選択した第二階層ワークフローの実行を指示する選択アクティビティについての内容が含まれている。このため、第一階層ワークフローにおける選択アクティビティを行う担当者が複数の第二階層ワークフローの定義の中から所望の一又は複数の第二階層ワークフローの定義を選択すると、その選択した各第二階層ワークフローに従った処理は第一階層ワークフローに従った処理と同時並行的に実行されることになる。また、第一階層ワークフローにおける選択アクティビティを行う担当者はその時点での状況に応じて第二階層ワークフローを自由に選択することができるので、第一階層ワークフローに対する第二階層ワークフローの選択の自由度はとても大きい。したがって、本実施形態のワークフローシステムでは、第一階層ワークフローの実行中に第二階層ワークフローを選択することができるので、その選択に応じて処理の内容を容易且つ迅速に変更することができる。
【００７５】
また、本実施形態のワークフローシステムでは、第一階層ワークフローの定義に、実行中の第二階層ワークフローの進捗状況を監視する監視処理についての内容が含まれている。これにより、第二階層ワークフローに従った一連の処理は第一階層ワークフローにおける監視アクティビティの下で実行され、管理部は、その第二階層ワークフローの進捗状況を示す情報を生成して、監視アクティビティを行っている担当者のコンピュータ端末に送出するので、その担当者は自己のコンピュータ端末の画面上に表示される情報の内容を見て、第二階層ワークフローの進捗状況を容易に知ることができる。
【００７６】
また、本実施形態のワークフローシステムでは、第一階層ワークフローにおける監視アクティビティの内容に、複数の第二階層ワークフローの定義の中から追加的に選択された第二階層ワークフローの実行を指示することができる機能を含めている。これにより、第一階層ワークフローにおける監視アクティビティを行う担当者は、その監視アクティビティの実行中に、任意のタイミングで第二階層ワークフローを追加的に選択して、その選択した第二階層ワークフローに従った処理を各コンピュータ端末に実行させることができる。例えば、新たな第二階層ワークフローを選択して、元々予定していなかった担当者に処理を実行させたり、ある第二階層ワークフローに従った処理が短時間で完了した場合に同じ第二階層ワークフローを選択して、同じ担当者に再度、同じ処理を実行させたりすることができる。更に、第一階層ワークフローにおける監視アクティビティの内容に、当該監視の対象となっている第二階層ワークフローの実行を強制的に中止することができる機能を含めている。これにより、第一階層ワークフローにおける監視アクティビティを行う担当者は、その監視アクティビティの実行中に、任意のタイミングで第二階層ワークフローの実行を強制的に中止させることができる。
【００７７】
特に、本実施形態のワークフローシステムでは、管理部は、第一階層ワークフローにおける監視アクティビティを所定のコンピュータ端末に実行させている場合、第二記憶部に記憶されているアクティビティ進捗情報に基づいて当該監視の対象となっている第二階層ワークフローの実行がすべて中止されたと判断したときに、当該監視の対象となっているいずれの第二階層ワークフローについても一連の処理が完了した旨の通知を受けたとものとみなして当該監視アクティビティを終了する。これにより、第一階層ワークフローにおける監視アクティビティを行う担当者がすべての第二階層ワークフローの実行を強制的に中止することを指示した場合でも、当該第一階層ワークフローに従った処理が監視アクティビティから抜け出せずに進行しない状況を回避し、当該第一階層ワークフローに従ってその後の処理を継続することができる。
【００７８】
尚、本発明は上記の実施形態に限定されるものではなく、その要旨の範囲内において種々の変形が可能である。
【００７９】
例えば、上記の実施形態において、第二階層ワークフローの定義には、第一階層ワークフローの定義と同様に、複数の第三階層ワークフローの定義の中から一又は複数の第三階層ワークフローの定義を選択し、その選択した第三階層ワークフローの実行を指示する選択アクティビティ、その実行指示された第三階層ワークフローに従った処理を開始する開始アクティビティ、及び、実行中の第三階層ワークフローの進捗状況を監視する監視アクティビティについての内容を含めるようにしてもよい。これにより、第三階層ワークフローに従った一連の処理を、第二階層ワークフローにおける監視アクティビティの下で実行することができる。一般に、ワークフローには複数の階層を持たせるようにしてもよい。すなわち、ｎを自然数とすると、第ｎ階層ワークフローの定義に、複数の第ｎ＋１階層ワークフローの定義の中から一又は複数の第ｎ＋１階層ワークフローの定義を選択し、その選択した第ｎ＋１階層ワークフローの実行を指示する選択アクティビティ、その実行指示された第ｎ＋１階層ワークフローに従った処理を開始する開始アクティビティ、及び、実行中の第ｎ＋１階層ワークフローの進捗状況を監視する監視アクティビティについての内容を含めるようにしてもよい。
【００８０】
また、上記実施形態のワークフローシステムでは、一つの会社においてワークフローに従って一連の処理を実行する場合について説明したが、複数の会社においてワークフローに従って一連の処理を実行するようにしてもよい。
【産業上の利用可能性】
【００８１】
以上説明したように、本発明のワークフローシステムでは、第一階層ワークフローにおける選択処理を行う担当者が複数の第二階層ワークフローの中から所望の一又は複数の第二階層ワークフローを選択することにより、その選択した各第二階層ワークフローに従った処理を第一階層ワークフローに従った処理と同時並行的に実行させることができる。また、第一階層ワークフローにおける選択処理を行う担当者はその時点での状況に応じて第二階層ワークフローを自由に選択することができるので、第一階層ワークフローに対する第二階層ワークフローの選択の自由度は大きい。したがって、本発明は、一連の処理の途中で複数の作業チームに処理を並行的に実行させるような業務処理を行うワークフローシステムに適用することができる。
【符号の説明】
【００８２】
１０  コンピュータ端末
２０  サーバ
２１  登録部
２２  管理部
２３  監視部
３０  第一記憶部
４０  第二記憶部
５０  第三記憶部
１００  業務選択画面
２００  承認者画面
２１０  「作業チーム追加」ボタン
２２０  作業チーム表示部
２３０  「作業スタート」ボタン
２４０  「更新」ボタン
２５０  コメント入力画面
２５１  入力欄
２５２  保存ボタン
３００  作業者画面
３１０  作業内容表示部
３２０  関連データ表示部
３５０  コメント受信画面
【図１】
2014154120.tif 000003
【図２】
2014154120.tif 000004
【図３】
2014154120.tif 000005
【図４】
2014154120.tif 000006
【図５】
2014154120.tif 000007
【図６】
2014154120.tif 000008
【図７】
2014154120.tif 000009
【図８】
2014154120.tif 000010
【図９】
2014154120.tif 000011
【図１０】
2014154120.tif 000012
【図１１】
2014154120.tif 000013
【図１２】
2014154120.tif 000014
【図１３】
2014154120.tif 000015
【図１４】
2014154120.tif 000016
【図１５】
2014154120.tif 000017
【図１６】
2014154120.tif 000018
【図１７】
2014154120.tif 000019
【図１８】
2014154120.tif 000020
【図１９】
2014154120.tif 000021