(58)【調査した分野】(Int.Cl.,DB名)
複数のコンピュータ端末と、前記複数のコンピュータ端末とネットワークを介して接続されたサーバとを備え、前記サーバが各処理の内容及び順序を定めたワークフローに従って当該ワークフローに関係する前記各コンピュータ端末に一連の処理を実行させるワークフローシステムにおいて、
前記ワークフローには、第一階層ワークフローと、前記第一階層ワークフローの実行中に選択され、前記第一階層ワークフローに従った処理と同時並行的に処理が実行される第二階層ワークフローとの二種類があり、前記第一階層ワークフローの定義には、複数の前記第二階層ワークフローの定義の中から一又は複数の前記第二階層ワークフローの定義を選択し、その選択した前記第二階層ワークフローの実行を指示する選択処理についての内容が含まれており、複数の前記第一階層ワークフローの定義及び複数の前記第二階層ワークフローの定義を記憶する第一記憶手段と、
実行中の前記ワークフローを特定して管理するための管理情報を記憶する第二記憶手段と、
を具備し、
前記サーバは、前記コンピュータ端末が前記第一階層ワークフローの実行を指示したときに、その実行指示された前記第一階層ワークフローについての前記管理情報を生成して前記第二記憶手段に記憶すると共に、その実行指示された前記第一階層ワークフローの定義を前記第一記憶手段から読み出し、その読み出した前記第一階層ワークフローに従って当該第一階層ワークフローに関係する前記各コンピュータ端末に一連の処理を実行させる管理手段を有し、
前記管理手段は、前記第一階層ワークフローにおける前記選択処理を所定の前記コンピュータ端末に実行させている場合、そのコンピュータ端末が複数の前記第二階層ワークフローの定義の中から所望の前記第二階層ワークフローの定義を選択したときに、その選択された前記第二階層ワークフローについての前記管理情報を生成して、当該第一階層ワークフローについての前記管理情報と関連付けて前記第二記憶手段に記憶し、そのコンピュータ端末がその選択した一又は複数の前記第二階層ワークフローの実行を指示したときに、その実行指示された前記第二階層ワークフローの定義を前記第一記憶手段から読み出し、その後、当該第一階層ワークフローに従った処理と同時並行的に、その読み出した前記第二階層ワークフローに従って当該第二階層ワークフローに関係する前記各コンピュータ端末に一連の処理を実行させることを特徴とするワークフローシステム。
前記第一階層ワークフローにおける前記監視処理の内容には、複数の前記第二階層ワークフローの定義の中から追加的に選択された前記第二階層ワークフローの実行を指示することができる機能が含まれており、
前記管理手段は、前記第一階層ワークフローにおける前記監視処理を所定の前記コンピュータ端末に実行させている場合、そのコンピュータ端末が複数の前記第二階層ワークフローの定義の中から所望の前記第二階層ワークフローの定義を追加的に選択し、その選択した前記第二階層ワークフローの実行を指示したときに、その実行指示された前記第二階層ワークフローについての前記管理情報を生成して、当該第一階層ワークフローについての前記管理情報と関連付けて前記第二記憶手段に記憶すると共に、その実行指示された前記第二階層ワークフローの定義を前記第一記憶手段から読み出し、その読み出した前記第二階層ワークフローに従って当該第二階層ワークフローに関係する前記各コンピュータ端末に一連の処理を実行させることを特徴とする請求項2記載のワークフローシステム。
前記第一階層ワークフローにおける前記監視処理の内容には、当該監視の対象となっている前記第二階層ワークフローの実行を強制的に中止することができる機能が含まれており、
前記管理手段は、前記第一階層ワークフローにおける前記監視処理を所定の前記コンピュータ端末に実行させている場合、そのコンピュータ端末が当該監視の対象となっている一の前記第二階層ワークフローの実行を強制的に中止することを指示したときに、その中止指示がなされた前記第二階層ワークフローに従って現在処理を行っている前記コンピュータ端末に対して当該第二階層ワークフローの実行が中止された旨の通知を送出すると共に、その中止指示がなされた前記第二階層ワークフローにおける現在実行中の処理についての前記進捗情報に当該第二階層ワークフローの実行が中止された旨の情報を含ませ、
前記監視手段は、前記進捗情報に前記第二階層ワークフローの実行が中止された旨の情報が含まれている場合、当該進捗情報に関連付けられている前記管理情報によって特定される前記第二階層ワークフローについての監視を行わないことを特徴とする請求項2又は3記載のワークフローシステム。
前記第一階層ワークフローの定義には、前記監視処理における監視の対象となっているいずれの前記第二階層ワークフローについても一連の処理が完了した旨の通知を前記各コンピュータ端末から受けたときに当該監視処理を終了して当該第一階層ワークフローに従って次の処理に移行する待合せ処理が含まれており、
前記管理手段は、前記第一階層ワークフローにおける前記監視処理を所定の前記コンピュータ端末に実行させている場合、前記第二記憶手段に記憶されている前記進捗情報に基づいて当該監視の対象となっている前記第二階層ワークフローの実行がすべて中止されたと判断したときに、当該監視の対象となっているいずれの前記第二階層ワークフローについても一連の処理が完了した旨の通知を受けたとものとみなして当該監視処理を終了することを特徴とする請求項4記載のワークフローシステム。
【発明を実施するための形態】
【0018】
以下に、図面を参照して、本願に係る発明を実施するための最良の形態について説明する。
図1は本発明の一実施形態であるワークフローシステムの概略システム構成図、
図2はそのワークフローシステムのサーバの概略構成図である。
【0019】
本実施形態のワークフローシステムは、
図1に示すように、複数のコンピュータ端末10,10,10,・・・と、サーバ20と、第一記憶部30と、第二記憶部40と、第三記憶部50とを備える。サーバ20は、ネットワークを介して複数のコンピュータ端末10,10,10,・・・と接続されている。ここで、ネットワークとしては、LAN、WAN、インターネット等を用いることができる。
【0020】
サーバ20は、各処理の内容及び順序を定めたワークフローに従って各コンピュータ端末10,10,10,・・・に一連の処理を実行させるワークフロー機能を有するアプリケーションサーバである。また、このサーバ20は、第一記憶部30、第二記憶部40及び第三記憶部50に記憶されたデータを管理するデータベースサーバでもある。サーバ20は、
図2に示すように、登録部21と、管理部22と、監視部23とを有する。
【0021】
特に、本実施形態では、ある会社内にワークフローシステムを構築し、このワークフローシステムを利用することにより、会社内の複数の担当者の間でデータを受け渡し、製品設計作業、購買作業や人事作業等の業務処理を実行する場合について考える。この場合、複数のコンピュータ端末10,10,10,・・・はそれぞれ、担当者のデスク上に配置されている。そして、複数のコンピュータ端末10,10,10,・・・及びサーバ20はLANで接続される。各担当者が自己のコンピュータ端末10を用いてユーザ名とパスワードを入力してワークフローシステムにログインし、その担当者がサーバ20により認証されると、サーバ20は、その担当者の利用するコンピュータ端末10を管理対象としてワークフローシステムに組み込むことになる。かかる管理対象となったコンピュータ端末10はサーバ20の制御の下で動作し、サーバ20から送出されたデータを表示したり、サーバ20にデータを送信したりすることができる。
【0022】
一例として、この会社で行われる業務処理のうち製品設計作業の内容について詳しく説明する。
図3は製品設計作業の内容を説明するための図である。この製品設計作業は会社の設計部門において行われ、その設計部門には、一人の承認者と、具体的な設計を行う複数の作業チームA,B,C,・・・とが存在しているものとする。ここで、各作業チームには複数の作業者が所属している。例えば、作業チームAには3人の作業者a1,a2,a3が所属し、作業チームBには4人の作業者b1,b2,b3,b4が所属し、そして、作業チームCには5人の作業者c1,c2,c3,c4,c5が所属している。すなわち、これら承認者及び作業者は、製品設計作業を行う担当者である。承認者は、ある製品の開発を行うことを決定した場合、複数の作業チームのうち所望の作業チームを選択し、その選択した作業チームに設計課題を提示して設計案の作成作業を依頼する。いくつの作業チームを選択するかは、その都度異なる。
図3では三つの作業チームA,B,Cを選択した場合を示している。また、承認者は、作業チームが設計作業を行っている間に、その設計作業の進捗状況を監視する。ここで、承認者は、この監視中に別の作業チームに設計作業を行わせることがあり、逆に、実行中の設計作業を途中で中止させることもある。例えば、設計作業があまりにも遅いため、その作業チームに作業中止を命令するような場合である。各作業チームは設計作業が完了すると承認者に報告し、承認者は各作業チームが作成した設計案の中から一つの設計案を選定して承認することになる。
【0023】
一方、承認者から設計案の作成作業を依頼された作業チームでは、各作業者が作業を分担して、承認者から提示された設計課題に対する設計案を作成する。例えば、
図3に示すように、作業チームAでは、作業者a1が設計素案を作成し、作業者a2がその設計素案に基づいて詳細な設計案を作成し、作業者a3がその作成した設計案の内容をチェックする。作業チームBでは、作業者b1が設計素案を作成し、作業者b2がその設計素案をチェックし、作業者b3がその設計素案に基づいて詳細な設計案を作成し、そして、作業者b4がその作成した設計案の内容をチェックする。作業チームCでは、作業者c1が設計素案を作成し、作業者c2がその設計素案をチェックし、作業者c3がその設計素案に基づいて詳細な設計案を作成し、作業者c4がその作成した設計案をチェックし、そして、作業者c5が再度、設計案をチェックする。本実施形態のワークフローシステムには、このような製品設計作業等の業務処理を実行するためのワークフローの定義が予め登録されている。
【0024】
本実施形態では、ワークフローの種類として、第一階層ワークフローと第二階層ワークフローとがある。第一階層ワークフロー及び第二階層ワークフローはともに、所定の作業についてその作業の流れに従った各処理の内容及び順序を定めたものである。しかし、第二階層ワークフローは第一階層ワークフローの実行中にその第一階層ワークフローに従った処理で選択され、その選択された第二階層ワークフローに従った処理が第一階層ワークフローに従った処理と同時並行的に実行されるという点で、第二階層ワークフローは第一階層ワークフローと相違する。複数の第一階層ワークフローの定義及び複数の第二階層ワークフローの定義は第一記憶部30に記憶されている。ここで、各ワークフローの定義には定義識別情報(定義ID)が付与されている。この定義IDは、ワークフローを特定すると共に当該ワークフローが第一階層ワークフローであるか第二階層ワークフローであるかを識別するためのものである。また、各第一階層ワークフローの定義はその実行中に選択可能な複数の第二階層ワークフローの定義と予め関連付けられており、この関連付けの内容を示す定義関連付け情報も第一記憶部30に記憶されている。尚、本明細書において、単に「ワークフロー」と言ったときには、「第一階層ワークフロー」と「第二階層ワークフロー」との両方を意味する。
【0025】
いま、ワークフローの定義について詳しく説明する。
図4は第一記憶部30に記憶されているワークフローの定義の例を示す図である。この例では、第一記憶部30に、複数の第一階層ワークフローD01,D02,D03についての定義と、複数の第二階層ワークフローd001,d002,d003,・・・についての定義とが記憶されている。ここで、「D01」や「d001」等は定義IDである。この例では、定義IDは、先頭の「D」又は「d」の文字と、それに続く数字とから構成される。先頭の文字が大文字「D」であることは、当該ワークフローが第一階層ワークフローであることを意味し、先頭の文字が小文字「d」であることは、当該ワークフローが第二階層ワークフローであることを意味する。
【0026】
一般に、第一階層ワークフローの定義には、選択アクティビティ(選択処理)と、開始アクティビティ(開始処理)と、監視アクティビティ(監視処理)と、待合せアクティビティ(待合せ処理)とについての内容が含まれている。ここで、アクティビティとは、処理の単位を表すものであり、ノードとも呼ばれる。選択アクティビティは、当該第一階層ワークフローの定義と関連付けられた複数の第二階層ワークフローの定義の中から一又は複数の第二階層ワークフローの定義を選択し、その選択した第二階層ワークフローの実行を指示する処理である。かかる選択は所定の担当者によって行われる。開始アクティビティは、選択アクティビティで実行指示された第二階層ワークフローに従った処理を開始する処理である。監視アクティビティは、実行中の第二階層ワークフローの進捗状況を監視する処理である。この監視は所定の担当者によって行われる。そして、待合せアクティビティは、監視アクティビティにおける監視の対象となっているいずれの第二階層ワークフローについても一連の処理が完了した旨の通知を各コンピュータ端末から受けたときに当該監視処理を終了し、当該第一階層ワークフローに従って次の処理に移行する処理である。また、第二階層ワークフローの定義には、その第二階層ワークフローによる作業を実現するための複数のアクティビティについての内容が含まれている。
【0027】
図4の例では、第一階層ワークフローD01には、「選択ACT」→「開始ACT」→「監視ACT」→「待合ACT」→「ACT−1」という処理の流れが定められている。第一階層ワークフローD02には、「選択ACT」→「開始ACT」→「監視ACT」→「待合ACT」→「ACT−1」→「ACT−2」という処理の流れが定められている。そして、第一階層ワークフローD03には、「選択ACT」→「開始ACT」→「監視ACT」→「待合ACT」→「ACT−1」→「ACT−2」→「ACT−3」という処理の流れが定められている。ここで、「ACT」はアクティビティの略である。「ACT−1」,「ACT−2」,「ACT−3」の各アクティビティに対しては、それを含む第一階層ワークフローの定義において所定の処理内容が定められている。また、第二階層ワークフローd001には、「act−1」→「act−2」→「act−3」という処理の流れが定められ、第二階層ワークフローd002には、「act−1」→「act−2」→「act−3」→「act−4」という処理の流れが定められている。そして、第二階層ワークフローd003には、「act−1」→「act−2」→「act−3」→「act−4」→「act−5」という処理の流れが定められている。ここで、「act」はアクティビティの略である。「act−1」,「act−2」,・・・の各アクティビティに対しては、それを含む第二階層ワークフローの定義において所定の処理内容が定められている。
【0028】
特に、本実施形態では、第一階層ワークフローD01が製品設計作業についてのワークフローであり、第一階層ワークフローD02が購買作業についてのワークフローであり、そして、第一階層ワークフローD03が人事作業についてのワークフローであるとする。また、第二階層ワークフローd001,d002,d003の定義はいずれも第一階層ワークフローD01の定義と関連付けられているとする。具体的には、第二階層ワークフローd001が作業チームAによる設計案の作成作業についてのワークフローであり、第二階層ワークフローd002が作業チームBによる設計案の作成作業についてのワークフローであり、そして、第二階層ワークフローd003が作業チームCによる設計案の作成作業についてのワークフローであるとする。尚、D01が製品設計作業に対応し、d001が作業チームAによる設計案の作成作業に対応するというようなワークフローの定義IDと作業内容との対応関係を示す情報(対応関係情報)は第一記憶部30に記憶されている。
【0029】
この場合、第二階層ワークフローd001においては、「act−1」として、作業者a1による設計素案の作成処理が定められ、「act−2」として、作業者a2による詳細な設計案の作成処理が定められ、「act−3」として、作業者a3による設計案の内容の確認処理が定められている。これは
図3の作業チームAの作業内容に相当する。第二階層ワークフローd002においては、「act−1」として、作業者b1による設計素案の作成処理が定められ、「act−2」として、作業者b2による設計素案の確認処理が定められ、「act−3」として、作業者b3による詳細な設計案の作成処理が定められ、そして、「act−4」として、作業者b4による設計案の内容の確認処理が定められている。これは
図3の作業チームBの作業内容に相当する。第二階層ワークフローd003においては、「act−1」として、作業者c1による設計素案の作成処理が定められ、「act−2」として、作業者c2による設計素案の確認処理が定められ、「act−3」として、作業者c3による詳細な設計案の作成処理が定められ、「act−4」として、作業者c4による設計案の確認処理が定められ、そして、「act−5」として、作業者c5による設計案の確認処理が定められている。これは
図3の作業チームCの作業内容に相当する。サーバ20は、第二階層ワークフローにおけるアクティビティを作業者に実行させる場合、そのアクティビティで定められた処理を依頼する旨の通知及び当該処理に必要なデータのリストを当該作業者の利用するコンピュータ端末10に送信する。また、各作業者に依頼した処理が終了すると、その旨の通知及び当該処理で作成したデータが当該作業者の利用するコンピュータ端末10からサーバ20に送られる。尚、以下では、作業者の利用するコンピュータ端末については、必要に応じて、コンピュータ端末を示す符号「10」の次に、当該作業者を示す符号を括弧で括って配置することにより、当該コンピュータ端末を他のコンピュータ端末と明確に区別することにする。例えば、作業者a1の利用するコンピュータ端末には、「10(a1)」という符号が付されることになる。
【0030】
一方、第一階層ワークフローD01においては、「選択ACT」として、承認者が設計案の作成作業を行わせたい作業チームに対する第二階層ワークフローの定義を選択し、その選択した第二階層ワークフローの実行を指示する処理が定められ、「開始ACT」として、承認者によって実行指示された第二階層ワークフローに従った処理を開始する処理が定められている。「監視ACT」としては、承認者が実行中の第二階層ワークフローの進捗状況を監視する処理が定められている。すなわち、「選択ACT」における選択と「監視ACT」における監視とは同一人によって行われる。また、「待合ACT」として、監視の対象となっているいずれの第二階層ワークフローについても一連の処理が完了したときに当該監視処理を終了し、当該第一階層ワークフローに従って次の処理に移行する処理が定められ、「ACT−1」として、承認者が各第二階層ワークフローに従った処理により作成された設計案の中から一つの設計案を選定して承認する処理(承認アクティビティ)が定められている。したがって、設計部門の承認者が第一階層ワークフローD01を実行し、「選択ACT」において三つの第二階層ワークフローd001,d002,d003を選択することにより、本実施形態のワークフローシステムは
図3に示す製品設計作業を実現することができる。尚、この第一階層ワークフローD01では、「選択ACT」における選択を行う主体と「監視ACT」における監視を行う主体とがともに承認者であるが、一般に、「選択ACT」における選択を行う主体と「監視ACT」における監視を行う主体とは異なっていてもよい。
【0031】
このように、本実施形態のワークフローシステムでは、第二階層ワークフローは第一階層ワークフローの実行中でなければ実行されないので、第一階層ワークフローと第二階層ワークフローとの間には前者を主とし後者を従とする主従関係、言い換えれば前者を上位の階層とし後者を下位の階層とする階層構造が成立している。そして、第二階層ワークフローに従った一連の処理は第一階層ワークフローにおける監視アクティビティの下で実行される。特に、本実施形態では、第一階層ワークフローにおける監視アクティビティの内容に、第二階層ワークフローに対する監視の機能の他に、第二階層ワークフローに対して各種の制御を行う機能を含めている。
【0032】
例えば、本実施形態のワークフローシステムにおいて、第一階層ワークフローにおける監視アクティビティの内容には、複数の第二階層ワークフローの定義の中から追加的に選択された第二階層ワークフローの実行を指示することができる機能を含めている。これにより、第一階層ワークフローにおける監視アクティビティを行う担当者は、その監視アクティビティの実行中に、任意のタイミングで第二階層ワークフローを追加的に選択して、その選択した第二階層ワークフローに従った処理を各コンピュータ端末に実行させることができる。例えば、新たな第二階層ワークフローを選択して、元々予定していなかった担当者に処理を実行させたり、ある第二階層ワークフローに従った処理が短時間で完了した場合に同じ第二階層ワークフローを選択して、同じ担当者に再度、処理を実行させたりすることができる。また、本実施形態のワークフローシステムにおいて、第一階層ワークフローにおける監視アクティビティの内容には、当該監視の対象となっている第二階層ワークフローの実行を強制的に中止することができる機能を含めている。これにより、第一階層ワークフローにおける監視アクティビティを行う担当者は、その監視アクティビティの実行中に、任意のタイミングで第二階層ワークフローの実行を強制的に中止させることができる。
【0033】
第二記憶部40には、実行中のワークフローに従った一連の処理(プロセス)を特定して管理するためのプロセス管理情報、及び、そのプロセス管理情報に関連付けられた、当該ワークフローにおける各処理(アクティビティ)についてのアクティビティ進捗情報が記憶されている。本実施形態では、プロセス管理情報は、実行中のワークフローに従った一連の処理を識別するためのプロセス識別情報(プロセスID)と、その実行中のワークフローについての定義IDと、そのワークフローの実行者についての情報(実行者情報)と、その他の情報とを含んで構成されている。ここで、第二階層ワークフローについてのプロセス管理情報に含まれるプロセスIDは、第一階層ワークフローについてのプロセス管理情報に含まれるプロセスIDと区別するため、「プロセスサブ識別情報(プロセスサブID)」とも称することにする。また、その他の情報としては、例えば、第一階層ワークフローの場合、プロセス名に関する情報、プロセス完了期限に関する情報等がある。
【0034】
図5は第二記憶部40に記憶されているプロセス管理情報の例を示す図である。この
図5には、第一階層ワークフローD01の実行中に三つの第二階層ワークフローd001,d002,d003が実行された場合における各ワークフローD01,d001,d002,d003についてのプロセス管理情報の例が示されている。具体的に、第一階層ワークフローD01についてのプロセス管理情報には、プロセスIDとしての「Design−001」と、定義IDとしての「D01」と、実行者情報としての「山田太郎」とが含まれている。また、第二階層ワークフローd001についてのプロセス管理情報には、プロセスサブIDとしての「Design−001−01」と、定義IDとしての「d001」と、実行者情報としての「作業チームA」とが含まれている。そして、第二階層ワークフローd002についてのプロセス管理情報には、プロセスサブIDとしての「Design−001−02」と、定義IDとしての「d002」と、実行者情報としての「作業チームB」とが含まれ、第二階層ワークフローd003についてのプロセス管理情報には、プロセスサブIDとしての「Design−001−03」と、定義IDとしての「d003」と、実行者情報としての「作業チームC」とが含まれている。ここで、第二階層ワークフローについてのプロセス管理情報は、その第二階層ワークフローの実行が指示された第一階層ワークフローについてのプロセス管理情報と関連付けられている。
図5の例では、第一階層ワークフローD01についてのプロセス管理情報に含まれるプロセスIDの下位に、この第一階層ワークフローD01の実行中に実行指示された各第二階層ワークフローd001,d002,d003についてのプロセス管理情報を配置することにより、それらプロセス管理情報間の関連付けを表現している。尚、
図5の右側には、第一階層ワークフローD01及び第二階層ワークフローd001,d002,d003によって実現される全体の処理の流れを模式的に示している。また、
図5では、プロセス管理情報に含まれる上述のその他の情報を省略して示している。
【0035】
また、
図6は第二記憶部40に記憶されているアクティビティ進捗情報の例を示す図である。
図6(a)に示すアクティビティ進捗情報は、
図5に示すプロセス管理情報Design−001−01で特定される第二階層ワークフローd001におけるアクティビティact−1についてのものであり、
図6(b)に示すアクティビティ進捗情報は、
図5に示すプロセス管理情報Design−001−01で特定される第二階層ワークフローd001におけるアクティビティact−2についてのものである。具体的に、各アクティビティ進捗情報は、このアクティビティが実行されるワークフローについてのプロセス管理情報の「プロセスID」(そのワークフローが第二階層ワークフローである場合には、「プロセスサブID」及びその第二階層ワークフローの実行が指示された第一階層ワークフローについてのワークフロー管理情報の「プロセスID」)、「アクティビティ番号」、「実行者」、「アクティビティ内容」、「開始日時」、「終了日時」、「アクティビティ状況」、「データ格納場所」等についての各情報を含んで構成されている。各アクティビティ進捗情報に「プロセスID」(「プロセスサブID」)を含めているのは、当該アクティビティ進捗情報を、その「プロセスID」(「プロセスサブID」)が付与されたプロセス管理情報と関連付けるためである。「アクティビティ番号」とは、当該アクティビティを含むワークフローにおいて当該アクティビティを識別する情報である。「実行者」とは、当該アクティビティを実行する担当者についての情報である。「アクティビティ内容」とは、当該アクティビティの内容を示す情報である。「開始日時」は、当該アクティビティの実行を開始した日時についての情報であり、「終了日時」は、当該アクティビティの実行が終了した日時についての情報である。具体的に、例えば、サーバ20が当該アクティビティの実行者の利用するコンピュータ端末10に処理を依頼する旨の通知を送った日時が開始日時となる。そして、例えば、当該アクティビティの実行者の利用するコンピュータ端末10から当該処理が終了した旨の通知を受けた日時が終了日時となる。また、「アクティビティ状況」とは、当該アクティビティの現在の状況を表すものである。例えば、当該アクティビティが実行中である場合には、「アクティビティ状況」は「作業中」となり、当該アクティビティが終了した場合には、「アクティビティ状況」は「終了」となる。「データ格納場所」とは、当該アクティビティで作成されたデータの格納場所を示す情報である。
【0036】
第三記憶部50には、ワークフローにおける各アクティビティで作成されたデータ等が記憶される。例えば、第二階層アクティビティd002におけるアクティビティact−1では、設計素案についての図面データや粗見積原価についてのデータが作成される。サーバ20は、かかるデータが作業者b1のコンピュータ端末10(b1)から送られてきたときに、当該データを第三記憶部50に格納すると共に、その格納場所を示す情報を当該アクティビティについてのアクティビティ進捗情報における「データ格納場所」に書き込む。
【0037】
次に、サーバ20の各部について説明する。サーバ20の登録部21は、ワークフローシステムのシステム管理者によって作成された第一階層ワークフローの定義や第二階層ワークフローの定義を第一記憶部30に登録するものである。ここで、登録部21は、ワークフローの定義を登録する際に、そのワークフローの定義に定義IDを付与する。
【0038】
サーバ20の管理部22は、あるコンピュータ端末10が第一階層ワークフローの実行を指示したときに、その実行指示された第一階層ワークフローについてのプロセス管理情報を生成して第二記憶部40に記憶すると共に、その実行指示された第一階層ワークフローの定義を第一記憶部30から読み出し、その読み出した第一階層ワークフローに従って当該第一階層ワークフローに関係する各コンピュータ端末に一連の処理を実行させるものである。なお、各アクティビティでの実際の処理は、コンピュータ端末が実行するものと、コンピュータ端末を利用しているユーザが処理するものがある。例えばコンピュータ端末の画面に何らかの指示が表示され、その指示に基づいてユーザが処理してコンピュータ端末を介して処理の完了を入力することがある。本実施形態では説明を簡単にするためにこれらを区別すること無く、コンピュータ端末が実行するという形態で説明する。また、サーバ20の監視部23は、第二記憶部40に記憶されているプロセス管理情報によって特定されるワークフローについて、そのワークフローにおける各アクティビティのアクティビティ進捗情報を生成して第二記憶部40に記憶すると共に、そのワークフローにおける各アクティビティの状況を監視し、その監視結果に基づいて当該アクティビティのアクティビティ進捗情報を更新するものである。管理部22は、第二記憶部40に記憶されている各アクティビティのアクティビティ進捗情報に基づいて実行中のワークフローについての現在の進捗状況を把握することができる。
【0039】
特に、本実施形態では、管理部22は、第一階層ワークフローにおける選択アクティビティを所定のコンピュータ端末10に実行させている場合、そのコンピュータ端末10が複数の第二階層ワークフローの定義の中から所望の第二階層ワークフローの定義を選択したときに、その選択された第二階層ワークフローについてのプロセス管理情報を生成して、当該第一階層ワークフローについてのプロセス管理情報と関連付けて第二記憶部40に記憶する。そして、管理部22は、第一階層ワークフローにおける選択アクティビティを所定のコンピュータ端末10に実行させている場合、そのコンピュータ端末10が当該選択した一又は複数の第二階層ワークフローの実行を指示したときに、その実行指示された第二階層ワークフローの定義を第一記憶部30から読み出し、その読み出した第二階層ワークフローに従って当該第二階層ワークフローに関係する各コンピュータ端末に一連の処理を実行させる。
【0040】
また、管理部22は、第一階層ワークフローにおける監視アクティビティを所定のコンピュータ端末10に実行させている場合に、当該第一階層ワークフローについてのプロセス管理情報と関連付けられた第二階層ワークフローについてのプロセス管理情報を特定し、その特定したプロセス管理情報と関連付けられた第二階層ワークフローにおける各アクティビティのアクティビティ進捗情報に基づいて当該第二階層ワークフローの進捗状況を示す情報を生成する。かかる情報の生成は、例えば、監視アクティビティが開始された後、一定時間が経過する度に行われる。そして、管理部22は、その生成した当該第二階層ワークフローの進捗状況を示す情報を当該コンピュータ端末10に送出する。これにより、その送られた情報は当該コンピュータ端末10の画面上に表示されるので、監視アクティビティを行う担当者は、その画面上に表示された情報の内容を見て、当該第二階層ワークフローの進捗状況を容易に知ることができる。
【0041】
また、管理部22は、第一階層ワークフローにおける監視アクティビティを所定のコンピュータ端末10に実行させている場合、そのコンピュータ端末10が複数の第二階層ワークフローの定義の中から所望の第二階層ワークフローの定義を追加的に選択し、その選択した第二階層ワークフローの実行を指示したときに、その実行指示された第二階層ワークフローについてのプロセス管理情報を生成して、当該第一階層ワークフローについてのプロセス管理情報と関連付けて第二記憶部40に記憶すると共に、その実行指示された第二階層ワークフローの定義を第一記憶部30から読み出し、その読み出した第二階層ワークフローに従って当該第二階層ワークフローに関係する各コンピュータ端末に一連の処理を実行させる。これにより、監視アクティビティを行う担当者は、その監視アクティビティの実行中に任意のタイミングで第二階層ワークフローの追加を行うことができる。
【0042】
更に、管理部22は、第一階層ワークフローにおける監視アクティビティを所定のコンピュータ端末10に実行させている場合、そのコンピュータ端末10が当該監視の対象となっている一の第二階層ワークフローの実行を強制的に中止することを指示したときに、その中止指示がなされた第二階層ワークフローに従って現在処理を行っているコンピュータ端末10に対して当該第二階層ワークフローの実行が中止された旨の通知を送出する。そして、その中止指示がなされた第二階層ワークフローにおける現在実行中のアクティビティについてのアクティビティ進捗情報に当該第二階層ワークフローの実行が中止された旨の情報を含ませる。例えば、この場合、管理部22は、当該アクティビティのアクティビティ進捗情報に含まれる「アクティビティ状況」を「強制中止」にする。一方、監視部23は、アクティビティ進捗情報に第二階層ワークフローの実行が中止された旨の情報が含まれている場合、当該アクティビティ進捗情報に関連付けられているプロセス管理情報によって特定される第二階層ワークフローについての監視を行わない。これにより、監視アクティビティを行う担当者は、その監視アクティビティの実行中に、任意のタイミングで第二階層ワークフローの実行を強制的に中止することができる。
【0043】
尚、管理部22は、第一階層ワークフローにおける監視アクティビティを所定のコンピュータ端末10に実行させている場合、第二記憶部40に記憶されているアクティビティ進捗情報に基づいて、当該監視の対象となっている第二階層ワークフローの実行がすべて中止されたと判断したときに、当該監視の対象となっているいずれの第二階層ワークフローについても一連の処理が完了した旨の通知を受けたものとみなして当該監視アクティビティを終了する。これにより、第一階層ワークフローにおける監視アクティビティを行う担当者がすべての第二階層ワークフローの実行を強制的に中止することを指示した場合でも、当該第一階層ワークフローに従った処理が監視アクティビティから抜け出せずに進行しない状況を回避することができる。
【0044】
次に、本実施形態のワークフローシステムにおける処理の手順について説明する。
図7、
図8及び
図9は本実施形態のワークフローシステムにおいて第一階層ワークフローに従った一連の処理が行われる際にサーバ20が行う処理の手順を説明するためのフローチャートである。ここでは、設計部門の承認者が液晶テレビの設計についての企画を立案し、その企画に基づいて
図3に示すような製品設計作業を行う場合について説明する。
【0045】
まず、承認者は自己のコンピュータ端末10を立ち上げ、ユーザ名とパスワードを入力してワークフローシステムにログインする。すると、サーバ20の管理部22は、第一記憶部30に記憶されている第一階層ワークフローの定義IDと作業内容との対応関係に基づいて所定の業務選択画面を作成し、そのコンピュータ端末10に表示する(S11)。
図10は業務選択画面の例を示す図である。
図10に示すように、業務選択画面100には、「設計作業(D01)」の選択欄と、「購買作業(D02)」の選択欄と、「人事作業(D03)」の選択欄とが含まれている。承認者は、今回、製品の設計作業を行うので、「設計作業(D01)」をマウスでクリックして、その選択欄にチェックを入れる。これにより、その選択された作業に対応する第一階層ワークフロー、すなわち、製品設計作業についての第一階層ワークフローD01を実行する旨の指示がサーバ20に送られる。
【0046】
管理部22は、かかる実行指示を受け取ると、その実行指示された第一階層ワークフローD01についてのプロセス管理情報を生成して第二記憶部40に記憶する(S12)。具体的に、管理部22は、新規のプロセスIDとして例えば「Design−001」を設定した後、このプロセスIDと、上記第一階層ワークフローの定義IDである「D01」と、実行者情報としての承認者の名前「山田太郎」とを含むプロセス管理情報を生成する(
図5参照)。また、管理部22は、その実行指示された第一階層ワークフローD01の定義を第一記憶部30から読み出し、その読み出した第一階層ワークフローD01に従った処理を開始する(S13)。この第一階層ワークフローD01における最初の処理は
図4に示すように選択アクティビティである。管理部22は、その選択アクティビティを承認者に実行させるため、ステップS12で作成したプロセス管理情報に基づいて所定の承認者画面を作成し、承認者のコンピュータ端末10に表示する。
【0047】
図11は承認者画面の例を示す図である。
図11に示すように、承認者画面200には、作業IDの表示欄と、承認者名の表示欄と、設計件名の入力欄と、設計承認期限の入力欄と、「作業チーム追加」ボタン210と、作業チーム表示部220と、「作業スタート」ボタン230と、「更新」ボタン240とを有する。作業IDの表示欄には、当該プロセス管理情報に含まれるプロセスID「Design−001」が自動的に表示され、承認者名の表示欄には、当該プロセス管理情報に含まれる実行者情報「山田太郎」が自動的に表示される。このように、
図11の例では、プロセスIDは承認者画面200上で作業IDとして表示されている。また、承認者画面200が表示された際には、設計件名の入力欄及び設計承認期限の入力欄は空白になっている。設計件名の入力欄は、今回の製品設計作業に付す名称(プロセス名)を入力するものであり、設計承認期限の入力欄は、今回の製品設計作業の完了期限(プロセス完了期限)を入力するものである。
【0048】
承認者画面200が表示されると、承認者は、まず、設計件名及び設計承認期限を決め、それぞれ設計件名の入力欄、設計承認期限の入力欄に入力しなければならない。例えば、承認者は、設計件名の入力欄に「液晶テレビ設計」と入力し、設計承認期限の入力欄に「2012年9月20日 15:00」と入力する。その入力した内容はサーバ20に送られ、管理部22はその入力内容を当該プロセス管理情報に含めて第二記憶部40に記憶する(S14)。
【0049】
次に、承認者は、今回の製品設計作業を行わせたい作業チームを選択する。この選択は「作業チーム追加」ボタン210及び作業チーム表示部220を利用して行われる。ここで、承認者画面200が表示された直後においては、
図11に示すように、作業チーム表示部220には何も表示されていない。
図12及び
図13は作業チームを選択する手順を説明するための図である。承認者が「作業チーム追加」ボタン210をマウスでクリックすると、管理部22は、
図12(a)に示すように、作業チーム表示部220に新たに一行分の表示欄を表示させる。ここで、この表示欄は、「No.」、「チーム名」、「作業状況」、「報告日」、「中止」、「選定」の各欄から構成される。「No.」欄は当該表示欄が作業チーム表示部220に何番目に表示されたものであるかを示す番号を表示するものである。「チーム名」欄は選択された作業チームの名称を表示するものである。ここで、この「チーム名」欄の右端部は、作業チームの一覧を示すプルダウンメニューを表示するためのボタンになっている。「作業状況」欄は当該作業チームが行う作業についての第二階層ワークフローの進捗状況を表示するためのものである。「報告日」欄は、当該作業チームによる第二階層ワークフローに従った作業が完了したときの日付を表示するものである。また、「中止」欄は、当該作業チームによる第二階層ワークフローの実行を強制的に中止することを指示するためのチェックボックスであり、「選定」欄は、当該作業チームによる第二階層ワークフローに従った作業で作成された設計案を選定することを指示するためのチェックボックスである。
【0050】
図12(a)に示すように、作業チーム表示部220に新たに表示欄が表示されたときには、「No.」欄には所定の番号が表示されており、「チーム名」、「作業状況」、「報告日」の各欄は空白になっている。そして、「中止」、「選定」の各欄はチェックが入っていない状態になっている。実際、選択アクティビティの実行中には、「作業状況」、「報告日」の各欄には何も表示されず、監視アクティビティ及びそれ以後のアクティビティの実行中に、「作業状況」、「報告日」の各欄に内容が表示される。また、「中止」欄にチェックを入れることができるのは監視アクティビティの実行中だけであり、選択アクティビティの実行中には「中止」欄にチェックを入れることはできない。「選定」欄にチェックを入れることができるのは監視アクティビティ及び承認アクティビティの実行中だけであり、選択アクティビティの実行中には「選定」欄にチェックを入れることはできない。
【0051】
作業チームを選択する場合、承認者は、まず、「チーム名」欄の右端部をマウスでクリックする。管理部22は、その操作が行われたことを認識すると、第一記憶部30に記憶されている定義関連付け情報及び対応関係情報に基づいて、当該第一階層ワークフローD01の定義に関連付けられた各第二階層ワークフローの定義に対応する作業チームの名称を認識し、その認識した作業チームの一覧を示すプルダウンメニューを、
図12(b)に示すように承認者のコンピュータ端末10に表示させる。このとき、管理部22は、このプルダウンメニューの中から作業チームが選択されたかどうかを判断している(S15)。このステップS15の判断が否定的であれば、ステップS17に移行する。
【0052】
次に、承認者は、そのプルダウンメニューの中から、製品設計作業を行わせたい作業チームをマウスで選択する。ここでは、作業チームAが選択されたとする。これにより、
図13(a)に示すように、「チーム名」欄にはその選択した作業チームの名称「作業チームA」が表示される。また、このとき、ステップS15の判断が肯定的になり、管理部22は、その選択された作業チームAに対応する第二階層ワークフローd001についてのプロセス管理情報を生成して、当該第一階層ワークフローD01についてのプロセス管理情報と関連付けて第二記憶部40に記憶する(S16)。具体的に、管理部22は、新規のプロセスサブIDとして例えば「Design−001−01」を設定した後、このプロセスサブIDと、上記第二階層ワークフローの定義IDである「d001」と、実行者情報としての作業チームの名前「作業チームA」とを含むプロセス管理情報を生成する(
図5参照)。その後、管理部22は、「作業スタート」ボタン230が押されたかどうかを判断する(S17)。このステップS17の判断が否定的であれば、ステップS15に移行する。
【0053】
また、別の作業チームにも今回の製品設計作業を行わせたい場合には、承認者は、再度、「作業チーム追加」ボタン210を押した後、プルダウンメニューから所望の作業チームを選択する操作を行うことになる。ここでは、承認者が作業チームAの他に、作業チームBと作業チームCとを選択したとする。これにより、作業チーム表示部220には、
図13(b)に示すように、作業チームA、作業チームB及び作業チームCについての三つの表示欄が表示される。このとき、当該第一階層ワークフローD01についてのプロセス管理情報Design−001には、
図5に示すように、第二階層ワークフローd001についてのプロセス管理情報Design−001−01、第二階層ワークフローd002についてのプロセス管理情報Design−001−02、及び、第二階層ワークフローd003についてのプロセス管理情報Design−001−03が関連付けられることになる。
【0054】
承認者は、作業チームの選択をし終えると、「作業スタート」ボタン230をマウスでクリックする。これにより、ステップS17の判断が肯定的になる。管理部22は、「作業スタート」ボタン230が押されたと判断すると、承認者によって選択された各作業チームに対応する第二階層ワークフローを実行する旨の指示を受けたと認識し、当該第一階層ワークフローD01における選択アクティビティの実行を終了させ、開始アクティビティを実行する。すなわち、管理部22は、その実行指示された第二階層ワークフローd001,d002,d003の各々について、その定義を第一記憶部30から読み出し、その読み出した第二階層ワークフローにおける最初のアクティビティの実行依頼を所定の作業者のコンピュータ端末10に送ることにより当該第二階層ワークフローに従った処理を開始する(S18)。具体的に、第二階層ワークフローd001における最初のアクティビティact−1の実行依頼が作業者a1のコンピュータ端末10(a1)に送られ、第二階層ワークフローd002における最初のアクティビティact−1の実行依頼が作業者b1のコンピュータ端末10(b1)に送られ、第二階層ワークフローd003における最初のアクティビティact−1の実行依頼が作業者c1のコンピュータ端末10(c1)に送られる。
【0055】
ここで、管理部22は、第二階層ワークフローにおける各アクティビティを所定の作業者に実行させる場合、当該第二階層ワークフローの定義、当該第二階層ワークフローについてのプロセス管理情報及びそれと関連付けられた第一階層ワークフローについてのプロセス管理情報等に基づいて、所定の作業者画面を作成し、当該アクティビティを行う作業者のコンピュータ端末10に表示する。
図14は作業者画面の例を示す図である。
図14に示す作業者画面300は、作業チームBにおける作業者b3に対するものである。この作業者画面300には、作業IDの表示欄と、承認者名の表示欄と、設計件名の表示欄と、設計承認期限の表示欄と、作業者の表示欄と、作業内容表示部310と、関連データ表示部320とを有する。作業IDの表示欄、承認者名の表示欄、設計件名の表示欄、及び、設計承認期限の表示欄にはそれぞれ、
図13(b)に示す承認者画面200において対応する欄に表示されている内容と同じ内容が表示される。作業者の表示欄には、第二階層ワークフローd002におけるアクティビティact−3を行う作業者b3の所属チーム名及び氏名「作業チームB:田中一郎」が表示される。作業内容表示部310には、管理部22から作業者b3に対するアクティビティact−3の実行依頼の内容が表示される。この例では、「設計素案を元にして詳細設計を行う。」という内容が表示されている。また、関連データ表示部320には、この作業者b3が処理を行う際に必要なデータの一覧が表示される。ここで、このデータの一覧は、データ内容、ファイル名、作成者の各項目からなる表形式で表示されている。例えば、作業者b3が処理を行う際に必要なデータとしては、設計対象となる製品に関するデータや、作業チームBにおける作業者b1が作成した設計素案に関するデータ「ラフスケッチ」や粗見積原価に関するデータ等がある。作業者b3がデータ一覧において所望のファイル名をマウスでクリックすると、管理部22は、そのファイル名のデータを第三記憶部50から読み出し、作業者b3のコンピュータ端末10(b3)に送信する。尚、
図14では図示を省略しているが、作業者画面300には、データをサーバ20にアップロードするためのインターフェースも備えられている。
【0056】
ステップS18の処理の後、管理部22は、開始アクティビティを終了し、第一階層ワークフローD01において開始アクティビティの次の処理である監視アクティビティを承認者のコンピュータ端末10に実行させる。これにより、第一階層ワークフローD01における監視アクティビティと、各第二階層ワークフローd001,d002,d003における各アクティビティとは同時並行的に実行されることになる。尚、上述したように、監視部23は、第二記憶部40に記憶されているプロセス管理情報によって特定されるワークフロー(現在の例では第一階層ワークフローD01及び第二階層ワークフローd001,d002,d003)の各々について、そのワークフローにおける各アクティビティの状況を監視し、その監視結果に基づいて当該アクティビティのアクティビティ進捗情報を更新する。
【0057】
管理部22は、監視アクティビティの実行中、例えば一定時間経過する度に、当該第一階層ワークフローD01についてのプロセス管理情報と関連付けられた第二階層ワークフローについてのプロセス管理情報を特定し、その特定したプロセス管理情報と関連付けられた第二階層ワークフローd001,d002,d003における各アクティビティのアクティビティ進捗情報に基づいて各第二階層ワークフローd001,d002,d003の進捗状況を示す情報を生成する。そして、管理部22は、その生成した各第二階層ワークフローd001,d002,d003の進捗状況を示す情報を承認者のコンピュータ端末10に送出し、承認者画面200における作業チーム表示部220の「作業状況」欄に表示する。
図15は監視アクティビティの実行中における承認者画面200の例を示す図である。この
図15では、作業チームA(第二階層ワークフローd001)については「作業状況」欄が「報告済み」となっている。ここで、「報告済み」とは、当該第二階層ワークフローd001について一連の処理が完了し、その旨の通知及び作成された設計案についてのデータが既にサーバ20に送られたことを意味する。また、作業チームB,C(第二階層ワークフローd002,d003)についてはともに「作業状況」欄が「設計中」となっている。この「設計中」とは、現在、当該第二階層ワークフローに従った処理が進行中であることを意味する。このように、承認者は承認者画面200を見て、各第二階層ワークフローd001,d002,d003の進捗状況を監視することができる。
【0058】
ところで、本実施形態のワークフローシステムでは、第一階層ワークフローD01における監視アクティビティの実行中に、承認者のコンピュータ端末10から、各第二階層ワークフローに従った処理を行っている作業チームにおける所定のコンピュータ端末10に対してコメントを送ることができる。いま、このコメント送信機能について説明する。
図16はコメント入力画面が表示された承認者画面200の例を示す図であり、
図17はコメント受信画面が表示された作業者画面300の例を示す図である。
【0059】
承認者は、所望の作業チームに対してコメントを送る場合、承認者画面200上で当該作業チームの表示欄における「No.」欄をマウスで選択する。例えば、作業チームBに対してコメントを送る場合には、「2」と記載された「No.」欄をマウスで選択する。すると、管理部22は、
図16に示すように、作業チームBに対するコメント入力画面250を承認者画面200の下部に表示する。ここで、このコメント入力画面250は、コメントを入力するための入力欄251と、「保存」ボタン252とから構成されている。承認者は、このコメント入力画面250の入力欄251にコメントを入力する。
図16の例では、「設計作業を急いでください。」というコメントが入力されている。コメントの入力が終了すると、承認者は「保存」ボタン252をマスクでクリックする。管理部22は、「保存」ボタン252が押されたことを認識すると、作業チームBに対するコメント入力画面250の入力欄251に入力されたコメントの内容を、作業チームBに属する各作業者b1,b2,b3,b4のコンピュータ端末10(b1),10(b2),10(b3),10(b4)に表示する。これにより、例えば作業者b3のコンピュータ端末10(b3)では、
図17に示すように、作業者画面300内にコメント受信画面350が表示される。このコメント受信画面350には、承認者が入力したコメントの内容が表示される。作業者b3はかかるコメントの内容を読むと、自己の作業を急いで実行することになる。
【0060】
また、本実施形態のワークフローシステムでは、第一階層ワークフローD01における監視アクティビティの実行中に、今回の製品設計作業の完了期限を変更することができる。この場合、承認者は、設計承認者画面200における設計承認期限の入力欄に、変更後の期限を入力し、その後、「更新」ボタン240を押せばよい。すると、管理部22は、第一階層ワークフローD01についてのプロセス管理情報におけるプロセス完了期限の内容をその変更後の期限に書き換えると共に、その変更後の期限についての情報を各作業チームの各作業者のコンピュータ端末10に送り、作業者画面300における設計承認期限の表示欄に表示する。このように、設計承認期限を変更した場合には、その変更後の期限を直ちに各作業チームの作業者に伝えることができる。
【0061】
尚、作業チーム毎に設計案の作成期限を設定することも可能である。この場合には、例えば、承認者画面における作業チーム表示部に表示される表示欄に「完了期限」欄を設けるようにすればよい。承認者は、作業チームを選択する際に、この「完了期限」欄に当該作業チームについての設計案の作成期限を入力する。管理部22は、当該作業チームに対応する第二階層ワークフローに従った処理を開始する際に、その作業チームの作業者のコンピュータ端末10に、「完了期限」欄に入力された作成期限についての情報を送信し、作業者画面300に表示する。これにより、当該作業チームの作業者はその完了期限に間に合うように作業を行うことになる。また、上記入力された設計案の作成期限についての情報は、当該作業チームに対応する第二階層ワークフローについてのプロセス管理情報に含めて第二記憶部40に記憶される。
【0062】
本実施形態では、第一階層ワークフローD01における監視アクティビティを承認者のコンピュータ端末10に実行させている場合に、承認者は、「作業チーム追加」ボタン210、作業チーム表示部220及び「更新」ボタン240を操作して、今回の製品設計作業を実行させる作業チームを追加的に選択することができる。この監視アクティビティにおいて作業チームを選択する処理の手順は、上述した選択アクティビティにおいて作業チームを選択する処理の手順と略同じである。
【0063】
具体的に、作業チームを追加する場合、承認者は、まず、承認者画面200上において「作業チーム追加」ボタン210をマウスでクリックする。これにより、管理部22は、作業チーム表示部220に新たに一行分の表示欄を表示させる。その後、承認者がその新たに表示させた表示欄における「チーム名」欄の右端部をマウスでクリックすると、管理部22は、当該第一階層ワークフローD01の定義に関連付けられた各第二階層ワークフローの定義に対応する作業チームの一覧を示すプルダウンメニューを表示させる。このとき、管理部22は、プルダウンメニューの中から作業チームが選択されたかどうかを判断する(S19)。このステップS19の判断が否定的であれば、ステップS21に移行する。
【0064】
次に、承認者がそのプルダウンメニューの中から製品設計作業を行わせたい作業チームをマウスで選択すると、「チーム名」欄にはその選択した作業チームの名称が表示される。また、このとき、ステップS19の判断が肯定的になり、管理部22は、その選択された作業チームに対応する第二階層ワークフローについてのプロセス管理情報を生成して、当該第一階層ワークフローD01についてのプロセス管理情報と関連付けて第二記憶部40に記憶する(S20)。その後、管理部22は、「更新」ボタン240が押されたかどうかを判断する(S21)。このステップS21の判断が否定的であれば、ステップS23に移行する。一方、承認者が「更新」ボタン240をマウスでクリックし、ステップS21の判断が肯定的になると、管理部22は、承認者によって追加的に選択された作業チームに対応する第二階層ワークフローを実行する旨の指示を受けたと認識し、その実行指示された第二階層ワークフローの定義を第一記憶部30から読み出し、その読み出した第二階層ワークフローにおける最初のアクティビティの実行依頼を所定の作業者のコンピュータ端末10に送ることにより当該第二階層ワークフローに従った処理を開始する(S22)。その後、ステップS23に移行する。
【0065】
また、本実施形態では、第一階層ワークフローD01における監視アクティビティを承認者のコンピュータ端末10に実行させている場合、承認者は、作業状況を監視しているいずれの第二階層ワークフローについてもその実行を強制的に中止することができる。
【0066】
具体的に、作業チームによる製品設計作業を中止させる場合、承認者は、その中止させようとする作業チームの表示欄において「中止」欄にチェックを入れる。そして、管理部22は、各作業チームの表示欄において「中止」欄にチェックが入れられた後に「更新」ボタン240が押されたかどうかを判断する(S23)。このステップS23の判断が否定的であれば、ステップS25に移行する。一方、承認者が「更新」ボタン240をマウスでクリックすると、ステップS23の判断が肯定的になり、管理部22は、その「中止」欄にチェックが入れられた作業チームに対応する第二階層ワークフローに従って現在処理を行っているコンピュータ端末10に対して、当該第二階層ワークフローの実行が中止された旨の通知を送出する(S24)。この通知は当該コンピュータ端末10の画面上に表示される。そして、当該コンピュータ端末10を使用している作業者は、かかる通知を見ると、自己の作業を中止することになる。また、このとき、管理部22は、当該第二階層ワークフローにおける現在実行中のアクティビティについてのアクティビティ進捗情報では、「終了日時」を当該「更新」ボタン240が押された日時に設定し、「アクティビティ状況」を「強制中止」という内容に書き換える。そして、管理部22は、承認者画面200における当該作業チームの表示欄においては、「作業状況」欄の内容を「強制中止」に変更する。かかるステップS24の処理後はステップS25に移行する。尚、監視部23は、第二記憶部40に記憶されているアクティビティ進捗情報における「アクティビティ状況」が「強制中止」となっている場合、当該アクティビティ進捗情報に関連付けられているプロセス管理情報によって特定される第二階層ワークフローについての監視を以後行わない。
【0067】
更に、本実施形態では、第一階層ワークフローにおける監視アクティビティを承認者のコンピュータ端末10に実行させている場合であって少なくとも一つの作業チームによる設計作業が完了している場合、承認者は、既に作成された設計案の中から一つの設計案を選定することができる。
【0068】
具体的に、監視アクティビティの実行中に設計案の選定を行う場合、承認者は、その選定しようとする設計案を作成した作業チームの表示欄において「選定」欄にチェックを入れる。ここで、「選定」欄にチェックを入れることができるのは、「作業状況」欄が「報告済み」になっている作業チームについての「選定」欄だけである。管理部22は、各作業チームの表示欄において「選定」欄にチェックが入れられた後に「更新」ボタン240が押されたかどうかを判断する(S25)。このステップS25の判断が否定的であれば、ステップS27に移行する。一方、承認者が「更新」ボタン240をマウスでクリックし、ステップS25の判断が肯定的になると、管理部22は、「選定」欄にチェックが入れられた作業チーム以外の作業チームのうち未だ作業が完了していない作業チームに対応する第二階層ワークフローに従って現在処理を行っているコンピュータ端末10に対して、他の作業チームによって作成された設計案が選定された旨の通知を送出する(S26)。この通知は、当該コンピュータ端末10の画面上に表示される。そして、当該コンピュータ端末10を使用している作業者は、かかる通知を見ると、自己の作業を中止することになる。
【0069】
また、このとき、管理部22は、「選定」欄にチェックが入れられた作業チームに対応する第二階層ワークフローにおける最後のアクティビティについてのアクティビティ進捗情報では、「アクティビティ状況」を「選定」という内容に書き換える。そして、管理部22は、承認者画面200において当該「選定」欄にチェックが入れられた作業チームの表示欄では、「作業状況」欄の内容を「選定」に変更する。一方、上記通知が送られた作業チームに対応する第二階層ワークフローにおいて当該通知の際に実行中であったアクティビティについてのアクティビティ進捗情報では、「終了日時」を当該「更新」ボタン240が押された日時に設定するとともに、「アクティビティ状況」を「強制中止」という内容に書き換える。そして、管理部22は、承認者画面200において当該通知が送られた作業チームの表示欄では、「作業状況」欄の内容を「強制中止」に変更する。したがって、この時点では、各第二階層ワークフローの進捗状況は、「完了」、「選定」、「強制中止」のいずれかになっている。尚、かかるステップS26の処理の後、ステップS28に移行する。
【0070】
ステップS27では、管理部22は、当該第一階層ワークフローD01のプロセス管理情報と関連付けられたプロセス管理情報によって特定されるすべての第二階層ワークフローの実行が完了したかどうかを判断する。この判断は、当該各第二階層ワークフローについて、第二記憶部40に記憶されている各アクティビティのアクティビティ進捗情報の内容を調べることによって行われる。例えば、すべてのアクティビティについての「アクティビティ状況」が「完了」になっている場合や、最後のアクティビティについての「アクティビティ状況」が「選定」になっている場合には、当該第二階層ワークフローの実行が完了していると判断される。また、一つのアクティビティについての「アクティビティ状況」が「強制中止」になっている場合には、当該第二階層ワークフローの実行は強制中止されたと判断され、少なくとも一つのアクティビティについての「アクティビティ状況」が「作業中」になっている場合には、当該第二階層ワークフローは現在実行中であると判断される。しかし、本実施形態では、管理部22は、ステップS27の判断に際し、実行が強制中止された第二階層ワークフローについては、当該第二階層ワークフローについて一連の処理が完了した旨の通知を受けたものとみなし、その実行が完了したものとして取り扱う。このような取扱いをするのは、強制中止は作業チームの事情とは無関係に承認者の意思により決定されたものだからである。このステップS27の判断が否定的である場合には、ステップS19に移行する。
【0071】
ステップS27の判断が肯定的である場合には、管理部22は、待合せアクティビティを実行する。すなわち、管理部22は、監視アクティビティにおける監視の対象となっているいずれの第二階層ワークフローについても一連の処理が完了した旨の通知を各コンピュータ端末から受けたと認識して、当該監視アクティビティを終了し、そして、ステップS28の処理を行うことを決定する。
【0072】
ここで、第一階層ワークフローD01における監視アクティビティの終了態様を説明する。
図18は第一階層ワークフローD01における監視アクティビティの終了態様の例を説明するための図である。通常、三つの第二階層ワークフローd001,d002,d003の実行がすべて完了したときに、監視アクティビティは終了する。また、
図18(a)に示すように、作業チームBによる第二階層ワークフローd002の実行と作業チームCによる第二階層ワークフローd003の実行がともに承認者により強制中止された場合には、作業チームAによる第二階層ワークフローd001の実行が完了したときに、監視アクティビティが終了する。更に、本実施形態では、
図18(b)に示すように、三つの第二階層ワークフローd001,d002,d003の実行がすべて強制中止されたときにも、監視アクティビティが終了する。
【0073】
ステップS28では、管理部22は、当該第一階層ワークフローD01に従って各コンピュータ端末に一連の処理を引き続き実行させる。例えば、承認者が監視アクティビティの実行中に設計案の選定を行っていなければ、管理部22は、承認アクティビティ(ACT−1)を承認者に実行させる。この承認アクティビティにおいて設計案を選定する処理の手順は、上述した監視アクティビティの実行中に設計案を選定する処理の手順と略同じである。
【0074】
本実施形態のワークフローシステムでは、第一階層ワークフローの定義に、複数の第二階層ワークフローの定義の中から一又は複数の第二階層ワークフローの定義を選択し、その選択した第二階層ワークフローの実行を指示する選択アクティビティについての内容が含まれている。このため、第一階層ワークフローにおける選択アクティビティを行う担当者が複数の第二階層ワークフローの定義の中から所望の一又は複数の第二階層ワークフローの定義を選択すると、その選択した各第二階層ワークフローに従った処理は第一階層ワークフローに従った処理と同時並行的に実行されることになる。また、第一階層ワークフローにおける選択アクティビティを行う担当者はその時点での状況に応じて第二階層ワークフローを自由に選択することができるので、第一階層ワークフローに対する第二階層ワークフローの選択の自由度はとても大きい。したがって、本実施形態のワークフローシステムでは、第一階層ワークフローの実行中に第二階層ワークフローを選択することができるので、その選択に応じて処理の内容を容易且つ迅速に変更することができる。
【0075】
また、本実施形態のワークフローシステムでは、第一階層ワークフローの定義に、実行中の第二階層ワークフローの進捗状況を監視する監視処理についての内容が含まれている。これにより、第二階層ワークフローに従った一連の処理は第一階層ワークフローにおける監視アクティビティの下で実行され、管理部は、その第二階層ワークフローの進捗状況を示す情報を生成して、監視アクティビティを行っている担当者のコンピュータ端末に送出するので、その担当者は自己のコンピュータ端末の画面上に表示される情報の内容を見て、第二階層ワークフローの進捗状況を容易に知ることができる。
【0076】
また、本実施形態のワークフローシステムでは、第一階層ワークフローにおける監視アクティビティの内容に、複数の第二階層ワークフローの定義の中から追加的に選択された第二階層ワークフローの実行を指示することができる機能を含めている。これにより、第一階層ワークフローにおける監視アクティビティを行う担当者は、その監視アクティビティの実行中に、任意のタイミングで第二階層ワークフローを追加的に選択して、その選択した第二階層ワークフローに従った処理を各コンピュータ端末に実行させることができる。例えば、新たな第二階層ワークフローを選択して、元々予定していなかった担当者に処理を実行させたり、ある第二階層ワークフローに従った処理が短時間で完了した場合に同じ第二階層ワークフローを選択して、同じ担当者に再度、同じ処理を実行させたりすることができる。更に、第一階層ワークフローにおける監視アクティビティの内容に、当該監視の対象となっている第二階層ワークフローの実行を強制的に中止することができる機能を含めている。これにより、第一階層ワークフローにおける監視アクティビティを行う担当者は、その監視アクティビティの実行中に、任意のタイミングで第二階層ワークフローの実行を強制的に中止させることができる。
【0077】
特に、本実施形態のワークフローシステムでは、管理部は、第一階層ワークフローにおける監視アクティビティを所定のコンピュータ端末に実行させている場合、第二記憶部に記憶されているアクティビティ進捗情報に基づいて当該監視の対象となっている第二階層ワークフローの実行がすべて中止されたと判断したときに、当該監視の対象となっているいずれの第二階層ワークフローについても一連の処理が完了した旨の通知を受けたとものとみなして当該監視アクティビティを終了する。これにより、第一階層ワークフローにおける監視アクティビティを行う担当者がすべての第二階層ワークフローの実行を強制的に中止することを指示した場合でも、当該第一階層ワークフローに従った処理が監視アクティビティから抜け出せずに進行しない状況を回避し、当該第一階層ワークフローに従ってその後の処理を継続することができる。
【0078】
尚、本発明は上記の実施形態に限定されるものではなく、その要旨の範囲内において種々の変形が可能である。
【0079】
例えば、上記の実施形態において、第二階層ワークフローの定義には、第一階層ワークフローの定義と同様に、複数の第三階層ワークフローの定義の中から一又は複数の第三階層ワークフローの定義を選択し、その選択した第三階層ワークフローの実行を指示する選択アクティビティ、その実行指示された第三階層ワークフローに従った処理を開始する開始アクティビティ、及び、実行中の第三階層ワークフローの進捗状況を監視する監視アクティビティについての内容を含めるようにしてもよい。これにより、第三階層ワークフローに従った一連の処理を、第二階層ワークフローにおける監視アクティビティの下で実行することができる。一般に、ワークフローには複数の階層を持たせるようにしてもよい。すなわち、nを自然数とすると、第n階層ワークフローの定義に、複数の第n+1階層ワークフローの定義の中から一又は複数の第n+1階層ワークフローの定義を選択し、その選択した第n+1階層ワークフローの実行を指示する選択アクティビティ、その実行指示された第n+1階層ワークフローに従った処理を開始する開始アクティビティ、及び、実行中の第n+1階層ワークフローの進捗状況を監視する監視アクティビティについての内容を含めるようにしてもよい。
【0080】
また、上記実施形態のワークフローシステムでは、一つの会社においてワークフローに従って一連の処理を実行する場合について説明したが、複数の会社においてワークフローに従って一連の処理を実行するようにしてもよい。