JP2003203148A - 情報処理システム - Google Patents

情報処理システム

Info

Publication number
JP2003203148A
JP2003203148A JP2002324635A JP2002324635A JP2003203148A JP 2003203148 A JP2003203148 A JP 2003203148A JP 2002324635 A JP2002324635 A JP 2002324635A JP 2002324635 A JP2002324635 A JP 2002324635A JP 2003203148 A JP2003203148 A JP 2003203148A
Authority
JP
Japan
Prior art keywords
work
routing
workflow
charge
person
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2002324635A
Other languages
English (en)
Other versions
JP3726903B2 (ja
Inventor
Yoichi Hirose
陽一 廣瀬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2002324635A priority Critical patent/JP3726903B2/ja
Publication of JP2003203148A publication Critical patent/JP2003203148A/ja
Application granted granted Critical
Publication of JP3726903B2 publication Critical patent/JP3726903B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

(57)【要約】 【課題】 ワークフローの作業の流れを階層的に定義お
よび動作させることができ、柔軟な運用を行なえる情報
処理システムを提供する。 【解決手段】 順序だって処理すべき作業を、複数個の
作業工程に分け、その複数個の作業工程の順序と、各作
業工程の処理内容とを定めて定義し、各作業工程の作業
が終了して終了状態になったときに、次の作業工程の作
業を開始するように管理することにより、作業を支援す
る情報処理システムである。定義された作業の流れの内
の所定の作業工程において、当該作業工程の作業を細分
化した作業の単位と、その細分化した作業の単位の前後
のつながりとからなるサブフローを定義する。起動手段
は、情報処理システムからの所定の作業工程の開始指示
に基づきサブフローを起動する。サブフローによる作業
が完了したときに、所定の作業工程を終了状態として、
情報処理システムに通知する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、情報を媒介にし
て連携する複数の作業工程からなる作業について、複数
の作業工程の順序と、各作業工程の処理内容を定め、各
作業工程の間での情報の受け渡しなど、作業の処理を支
援する情報処理システムに関する。
【0002】
【従来の技術】従来から、業務処理の効率化を図るため
に、コンピュータによる、いわゆるオフィスオートメー
ション化が提案されている。しかし、従来は、業務処理
においては、個々の作業処理自体についての自動化が行
なわれているだけであった。つまり、作業間の連携の部
分については、従来のオフィスオートメーションでは考
慮されていなかった。
【0003】この作業間の連携部分を自動化して業務処
理のトータルな効率化や迅速化を図ろうとするものとし
て、ワークフロー・オートメーションが提案されてい
る。ワークフロー・オートメーションにおいては、作業
対象となる情報を媒介にして連携する複数の作業工程は
ワークフローと呼ばれ、このワークフローを自動化する
ための支援システムはワークフローシステムと呼ばれ
る。
【0004】ワークフローシステムは、ネットワーク化
された分散処理環境などの処理環境において、業務処理
における複数のユーザ間の情報の受け渡しと、情報を受
けてから次の作業工程に渡すまでの間に処理すべき作業
などのルールを、予め設計、定義することにより業務処
理を自動化する情報処理システムである。
【0005】このワークフローシステムは、次のような
処理機能で構成される。 業務処理の流れ、各業務におけるルールを定義するた
めの編集機能 テンプレート(定義されたワークフロー)を管理する
機能 処理すべき情報が配達されたことをユーザに知らせる
通知機能 配達された情報を管理するデータベース機能 設定された業務の流れ、ルールに従って情報を次の作
業工程に渡すルーティング機能 作業の状況を管理するための進捗管理機能 実行中のワークフローの維持管理を行なうためのシス
テム管理機能。
【0006】このワークフローシステムの概要は、後述
の非特許文献1に記載されている。
【0007】ワークフローが定義された場合、そのワー
クフローの仕事の流れ(フロー)はグラフ構造によって
表現される。図47は、この定義されたワークフローの
流れの一例である。
【0008】図47において、それぞれ四角で囲まれた
各ノードは、作業の単位である作業工程(以下ステップ
と呼ぶ)を表している。各アーク(矢印)は仕事の流れ
(つながり、作業の順番や因果関係)を定義しており、
あるステップの後ろにステップがあるということは、前
のステップが完了しないと、後ろのステップは開始でき
ないことを意味する。逆に、前のステップが完了する
と、自動的に後ろのステップが開始するということを意
味する。
【0009】ワークフローでは、各ステップでの実際の
作業は人間が行なうが、以上のような作業の流れの管理
は全てワークフローシステムが行なう。すなわち、ワー
クフローシステムは、定義されたワークフローを元に、
各ステップの作業が終了すると、適宜、次のステップの
作業を開始するようにして、作業全体の流れを管理す
る。
【0010】上記のように、あるステップが完了した場
合に別のステップを開始するような機能をルーティング
機能と呼ぶ。あるステップの作業が終了したときに、後
続のステップの作業を開始させることをそのステップに
対してルーティングを行なうといい、後続のステップに
仕事を流さない場合はルーティングを行なわないとい
う。上述した文献には、このルーティングの方法の詳細
については、記述されてない。
【0011】
【非特許文献1】日経BP社発行の雑誌「日経情報スト
ラテジー」、1993年8月号、マイケル・D・カー
ン、安田誠寄稿、「ワークフロー管理技術とその可能
性」P123〜P130。
【0012】
【発明が解決しようとする課題】ところで、図47にお
いて四角で囲まれた各ノードを構成する作業工程に対し
ては、通常は、一つの単位作業が割り当てられる。この
ため、複雑で規模の大きい業務処理についてワークフロ
ーを定義するときには、ワークフローが非常に複雑にな
ってしまう。
【0013】例えば業務内容が階層的な構造を有してい
て、下位の業務が終了しないときには、上位の業務が開
始できないような場合であっても、下位の業務および上
位の業務を、それぞれ単位作業からなるノードを構成す
る作業工程に分け、それらの作業工程について、ワーク
フローを定義するようにする場合には、階層関係の考慮
をしつつ、ワークフローを定義しなければならず、厄介
であるとともに、ワークフローの運用が詳細に定義され
たものに限定されて、柔軟性にかけてしまうという問題
がある。
【0014】この発明は、上記の点にかんがみ、ワーク
フローの作業の流れを階層的に定義および動作させるこ
とができ、柔軟な運用を行なえる情報処理システムを提
供することを目的とする。
【0015】
【課題を解決するための手段】上記課題を解決するた
め、この発明は、順序だって処理すべき作業を、複数個
の作業工程に分け、その複数個の作業工程の順序と、各
作業工程の処理内容とを定めて定義し、各作業工程の作
業が終了して終了状態になったときに、次の作業工程の
作業を開始するように管理することにより、前記作業を
支援する情報処理システムにおいて、前記定義された作
業の流れの内の所定の作業工程において、当該作業工程
の作業を細分化した作業の単位と、その細分化した作業
の単位の前後のつながりとからなるサブフローが定義さ
れている場合に、前記情報処理システムからの前記所定
の作業工程の開始指示に基づき前記サブフローを起動す
る起動手段と、前記起動手段により起動されたサブフロ
ーによる作業が完了したときに、前記所定の作業工程を
終了状態として、前記情報処理システムに通知する手段
と、を備えることを特徴とする。
【0016】
【作用】この発明の情報処理システムにおいては、ワー
クフロー中の適宜の作業工程において、サブフローが起
動される。そして、このサブフローによる作業がすべて
完了となった後に、このサブフローが起動された作業工
程が作業終了可能となる。したがって、ワークフローの
作業の流れを階層的に定義および動作させることがで
き、詳細で規模の大きいワークフローのみで運用する場
合に比べて、より柔軟に対応する運用をすることができ
る作業の流れ管理方法を構築することができる。
【0017】
【発明の実施の形態】以下、この発明による情報処理シ
ステムの一実施形態を、図を参照しながら説明する。
【0018】図2は、この例の情報処理システムの全体
の概要を示すもので、その機能をブロックとして示した
ものである。この情報処理システムは、前述したワーク
フローシステムの構成を有するものであって、システム
部10と、ユーザインターフェース部20とからなって
おり、ワークフローを管理して支援すると共に、各作業
工程(以下、作業工程をステップと呼ぶ)の担当者によ
る処理を支援するための作業環境を提供する役割も有す
る。
【0019】システム部10は、ファイル管理装置を内
蔵する例えばサーバー装置の構成とすることができる。
また、ユーザインターフェース部20は、例えばワーク
ステーションなどの情報処理端末装置により構成するこ
とができ、そのディスプレイに各作業段階の作業環境を
表示することができる。ユーザインターフェース部20
は、複数の担当者が共通の1個を共有して使用するよう
に構成することもできるし、担当者毎に設ける構成とす
ることもできる。そして、システム部10とユーザイン
ターフェース部20とを、例えばLANなどのネットワ
ークにより接続して、分散処理環境を構築することがで
きる。なお、システム部10とユーザインターフェース
部20とを同一の装置において構成することもできる。
【0020】システム部10は、テンプレート管理部1
1と、ルーティング管理部12と、通知管理部13と、
進捗情報管理部14と、ユーザ管理部15と、システム
管理部16と、参照情報管理部17とを備える。また、
ユーザインターフェース部20は、編集部21と、通知
部22と、進捗管理部23と、インターフェースコント
ロール部24とを備える。
【0021】ユーザインターフェース部20の編集部2
1では、ユーザにより設定入力された業務処理の流れ、
各業務におけるルールによりワークフローを定義する。
システム部10のテンプレート管理部11は、定義され
たワークフロー(テンプレート)を管理する。
【0022】システム部10のルーティング管理部12
は、後で詳細に説明するように、設定された業務の流
れ、ステップの担当者(ユーザ)による指定、あらかじ
め定義されたルールにしたがって、このルーティングを
行なう。
【0023】システム部10の通知管理部13は、処理
すべき情報の配達の、ユーザ(担当者)への通知を管理
する。ユーザへの通知は、ユーザインターフェース部2
0の通知部22が行なう。
【0024】システム部10の進捗情報管理部14は、
作業の状況、作業の履歴を管理するための情報を管理す
る。ユーザインターフェース部20の進捗管理部23
は、この情報を用いて作業の状況を管理する。
【0025】ユーザ管理部15は、各ステップを担当す
るユーザを管理する。システム管理部16は、システム
部10の全体を管理する。参照情報管理部17は、各ス
テップの担当者に与える、作業に必要な情報を管理す
る。
【0026】[ワークフローシステムによるワークフロ
ーの流れの管理の概要]この例のワークフローシステム
においては、定義されたワークフローの各ステップを、
以下のような5つの状態により、その遷移状態を管理す
る。
【0027】ステップがまだ作業を開始することがで
きない開始不可状態(以下、この状態を「not re
ady」という) ステップの開始準備ができており、担当者の仕事の開
始を待っている待機状態(以下、この状態を「read
y」という) 担当者が作業をしている実行状態(以下、この状態を
「run」という) 担当者が作業を終了した作業終了状態(以下、この状
態を「complete」という) ルーティングが行なわれず、ワークフローから切り離
された切り離し状態(以下、この状態を「isolat
e」という) の5種である。
【0028】後述するように、あるステップの後続のア
ークが複数個存在、すなわち、複数のステップに分岐が
なされているときに、ルーティングが行なわれないステ
ップがあるとき、そのルーティングが行なわれないステ
ップが「isolate」の状態になる。
【0029】以上のステップの状態遷移に応じてワーク
フローシステムは、基本的には、次のような動作を行な
い、この動作が各ステップに対して繰り返されることに
より、ワークフローは進行する。
【0030】初期状態では、各ステップは、「not
ready」の状態にされている。ワークフローの起動
が行なわれると、最初のステップが「ready」にさ
れる。また、後述するように、前ステップが終了したと
き(「complete」および「isolate」の
状態になったとき)に、ルーティング管理部により決定
された次のステップの状態が「ready」とされる。
【0031】ステップが「ready」になると、担当
者に対して通知を行なうことにより作業の開始を促す。
担当者が開始の合図をワークフローシステムに対して行
なうと、ステップの状態は「run」となる。このと
き、ワークフローシステムから担当者に対して、作業を
行なうために必要な情報をひとまとめにしたデータの塊
を送り返す。このデータの塊は、作業を行なうために必
要な情報の実体と、その参照情報からなり、これを以下
パケットと呼ぶ。
【0032】担当者が指定された作業を終了すると、作
業内容を反映させたパケットとともに、ワークフローシ
ステムに対し、完了の合図を送る。この時、ステップの
状態は「complete」となる。
【0033】ワークフローシステムは各ステップが終了
した時に、次に実行されるステップを決定し、当該ステ
ップに対して、ルーティングを行なう。具体的には、当
該ステップの状態を「ready」にすることによっ
て、担当者に通知を送り、ワークフローを進行させる。
【0034】[ルーティングの方法の概要]上述したよ
うに、あるステップが終了すると次に実行されるステッ
プがルーティング機能により決定される。この場合にお
いて、前述もしたように、当該終了したステップに対し
て、後続のステップが、分岐のように複数のステップが
ある場合には、そのうちのどれを開始するのか、あるい
は全て開始しなければならないのかを決定しなければな
らない。この例においては、以下に説明するようにし
て、ワークフローの実行時に動的にしかも柔軟にルーテ
ィングが決定される。
【0035】(1)担当者によるルーティングの指定方
法 ルーティングの指定方法のひとつとして、この例では、
ワークフロー中に分岐がある場合、分岐の手前のステッ
プの担当者により、次のステップを指定させる方法を用
いる。すなわち、この方法においては、ステップの担当
者には、次ステップの候補が示され、担当者は、そのう
ちルーティングを行なわせたいステップを選ぶ。
【0036】これを実現するために、この例において
は、パケットにルーティング情報とよばれる情報のフィ
ールドを追加する。ルーティング情報には、例えばその
ステップの後続のステップの名前と真理値がペアになっ
て含まれている。あるいは、ルーティング情報には、後
続のアーク(例えばステップ1からステップ2のアーク
であればステップ1−2のように表現)と、その真理値
のペアが記述される。
【0037】真理値の値はシステムによって初期化され
るが、ステップの担当者は、このルーティング情報の真
理値を変更することができる。値が「真」であることは
ルーティングが行なわれることを意味し、値が「偽」で
あることはルーティングが行なわれないことを意味す
る。
【0038】システムによって初期化された値は、担当
者がルーティング情報を何も変更しなかった場合のデフ
ォルトの値となる。担当者は送られてきたルーティング
情報を参考に、目的を達成するために最も良いと判断さ
れるように真理値を変える。具体的にはルーティングを
行ないたいステップに対しては対応するルーティング情
報の真理値を「真」にし、ルーティングを行ないたくな
いステップに対してはルーティング情報の対応する真理
値を「偽」にする。これにより、ワークフローの実行中
にルーティングをステップの担当ユーザの指示により柔
軟かつ動的に決定することが可能となる。
【0039】変更されたルーティング情報はパケットに
含まれ、作業完了の合図とともに、ワークフローシステ
ムに送り返される。システムはパケット中のルーティン
グ情報を参照し、後続のステップに対応する真理値を調
べ、「真」であるステップに対してはルーティングを行
ない、「偽」であるステップに対しては、ルーティング
を行なわない。
【0040】(2)ワークフローシステムによるルーテ
ィングの指定方法 分岐の際のルーティングの決定は、場合によって担当者
ではなく、ワークフローシステムによって自動的に行っ
て欲しい場合もある。しかし、ワークフローシステムも
何の情報もなしにルーティングは決定することはできな
い。そこで、この例では、前のステップの作業結果の情
報を用いると共に、あらかじめ定義したルールなどの
「約束事」を用いることによって、ワークフローシステ
ムによるこの場合のルーティングの決定を実現する。こ
の方法は、担当者に直接ルーティングは指定させたくな
いが、担当者が下した別の判断を材料にルーティングを
決定する際に便利である。
【0041】このワークフローシステムによるルーティ
ングの指定方法の一つとしては、前述したルーティング
情報フィールドを用いずにルーティングの決定を行なう
方法がある。例えばルールのみを用いてルーティングを
決定する方法である。すなわち、ルールなどの約束事の
実行(評価)の結果、ルーティングを行なうと決定した
ときには、真理値として「真」を、ルーティングを行な
わないと決定したときには、真理値として「偽」を、そ
れぞれ評価結果として得る。そして、その評価結果を用
いて、ワークフローシステムは、次の作業工程に対して
ルーティングを行なうか否かの決定をする。
【0042】ワークフローシステムによるルーティング
の指定方法の他の方法としては、ルールを用いてルーテ
ィング情報フィールドの内容を記述するようにする方法
がある。この方法によれば、前述した担当者によるルー
ティングの決定方法と、このワークフローシステムによ
る自動のルーティングの決定方法とのいずれであって
も、ルーティング情報フィールドの内容を参照すること
によりルーティングを決定することができるので、ルー
ティングの決定のためのソフトウエアを簡略化できる。
【0043】[ルーティング決定方法の第1の例の説
明]以下に説明する第1の例は、ルーティング情報フィ
ールドを用いて担当者が後続の作業工程に対してルーテ
ィングを行うか否かの指定を行えるようにすると共に、
ルーティング情報フィールドを用いずにルールのみによ
りワークフローシステムがルーティングを決定すること
ができるようにした例である。
【0044】この第1の例の場合には、ワークフローの
定義を行なう時に、定義者は、ワークフローシステムに
自動的にルーティングを決めて欲しいステップに対して
ルールを記述する。実際的には、あるステップAの後が
分岐であった場合、そのステップAの後続のすべてのア
ークに対してルールを記述する。
【0045】例えば、あるステップAの担当者が出した
見積りの金額によって、その次のステップを自動的に選
ぶ場合の例を説明する。この場合、ルールとしては、例
えば見積もり金額Sが所定の基準値Rより大きい場合に
は、後続の例えば2分岐のステップB、Cの内のステッ
プBにのみルーティングを行ない、見積もり金額Sが所
定の基準値Rより小さい場合には、後続の複数ステップ
の内のステップCにのみルーティングを行なうように定
義したものを設定しておく。
【0046】ステップAの担当者に渡すパケットには、
担当者が見積もり金額を記述するための情報フィールド
が追加される。担当者が終了の合図をワークフローシス
テムに送ってからワークフローシステムがルーティング
の処理を開始するまでの間に、前述のように定義された
ルールによって、パケットの情報中の見積もり金額Sが
評価され、ルーティングが決定される。
【0047】<機能ブロック図の説明>図1は、この第
1の例の場合の情報処理システムにおけるワークフロー
の流れの管理に関する部分の機能のブロック図である。
【0048】テンプレート管理部11は、定義されたワ
ークフローに関するデータを、記憶部11Mに記憶す
る。定義されたワークフローの仕事の流れは、前述した
ように、作業の単位であるステップと、各ステップ間を
つなぐアーク(矢印)とからなるグラフ構造によって表
現される。したがって、ワークフローに関するデータ
は、ワークフローがどのような複数のステップからなっ
ているかを示すステップテーブルと、アークに関するデ
ータであるステップの実行順序のテーブルとで構成する
ことができる。
【0049】また、前述したように、分岐のときのアー
クであって、当該分岐におけるルーティングをワークフ
ローシステムによって決定させるときには、各アークに
前述したようなルールが定義され、テンプレート管理部
11の記憶部11Mに記憶される。
【0050】ルーティング管理部12は、この場合、機
能的には、ステップ状態管理部31と、ルーティング前
処理部32と、ルーティング後処理部33と、ルール評
価部34と、パケット管理部35とを備える。
【0051】ルーティング前処理部32は、次ステップ
の担当者に渡すパケットにルーティング情報フィールド
や見積もりなどのルーティングのために必要な付加情報
フィールドを追加する処理を行なう。
【0052】また、ルーティング後処理部33は、実際
のルーティングの決定を行なう。ルーティング後処理部
33は、分岐のときのようにルールがアークについてい
れば、そのルールの評価をルール評価部34に対して要
求する。ルール評価部34は、テンプレート管理部11
に記憶されているアーク毎のルールを実行してその評価
結果をルーティング後処理部33に返す。
【0053】ステップ状態管理部31が、テンプレート
管理部11に登録されている定義されたワークフローの
各ステップの状態を、前述の5種の状態により管理し
て、ワークフローの流れを管理する。このステップ状態
管理部31は、定義されたワークフローの各ステップの
状態データの記憶部31Mを備える。前述もしたよう
に、初期時には、各ステップの状態は「not rea
dy」となっている。
【0054】ステップ状態管理部31は、ステップの状
態が「not ready」から「ready」になる
ときに、ルーティング前処理部32に処理要求を出す。
ワークフローの開始時においては、担当者によるワーク
フローの起動要求を受けたとき、最初のステップの状態
が「not ready」から「ready」になる。
また、ワークフローの実行中は、ステップ状態管理部3
1は、ルーティング後処理部33からの要求によって、
ルーティングを行なうステップの状態を、「not r
eady」から「ready」にし、ルーティングを行
なわないステップの状態を「isolate」にする。
【0055】ステップが「not ready」から
「ready」になるとき、ステップ状態管理部31
は、通知管理部13に通知要求を出す。通知管理部13
は、次ステップの担当者に対して通知を行なって担当者
の作業の開始を促す。
【0056】この通知に対して担当者が開始の合図をワ
ークフローシステムに対して行なうと、この合図を通知
管理部13が受け、ステップ状態管理部31にその旨を
知らせる。ステップ状態管理部31は、これに応じてス
テップの状態を「ready」から「run」にする。
【0057】そして、ステップ状態管理部31は、パケ
ット管理部35にパケット送信要求を出して、このパケ
ット管理部35より、担当者が作業を行なうために必要
な情報をひとまとめにしたデータの塊であるパケットを
担当者に対して送る。このパケットには、ルーティング
前処理部32により付加されたルーティング情報や、そ
の他のルーティングに必要な情報のフィールドが含まれ
ている。
【0058】パケットは参照情報管理部17により管理
され、参照情報管理部17は、このパケットの記憶部1
7Mを有する。パケット管理部35は、参照情報管理部
17に管理されている情報を用いて次にルーティングす
るパケットを形成する。また、ユーザから得たパケット
を一時的に蓄え、そのルーティングに必要な情報フィー
ルドのデータをルーティング後処理部33に送る。
【0059】前述したように、ルーティング前処理部3
2は、パケット管理部35がパケットを担当者に送る前
に、前述したルーティング情報や見積もりの情報などの
フィールドを、当該担当者に送るパケットに追加する処
理を行なう。
【0060】担当者は、ワークフローシステムから配達
されたパケットを元に作業を実行する。また、担当者
は、パケットに追加された情報フィールドに、必要な情
報、例えば後続のステップに関するルーティング情報の
真理値や、ルール評価のための材料となる情報を記述す
る。
【0061】指定された作業を終了すると、担当者は、
適宜、必要な情報を記述したルーティング情報や作業結
果の情報を含む、担当者の作業内容を反映させたパケッ
トとともに、ワークフローシステムに対し、完了の合図
を送る。このとき、ステップ状態管理部31は、当該ス
テップの状態を「run」から「complete」と
する。
【0062】ステップ状態管理部31は、ステップの状
態が「run」から「complete」になるとき
に、ルーティング後処理部33に処理要求を出す。ルー
ティング後処理部33は、実際のルーティングの決定を
行なう。すなわち、ルーティング情報が付加されていれ
ば、それに基づいて次にルーティングを行なうステップ
を決定し、ステップ状態管理部31に通知する。また、
当該ステップの後続のアークについてルールが定義され
ていれば、ルーティングのための情報中の前記ルール評
価の材料となる情報フィールドの値をルール評価部34
に送って、このルール評価部34に評価要求を出す。
【0063】ルール評価部34は、テンプレート管理部
11のワークフローデータ中のあらかじめ定義されたル
ールを用いて評価を実行し、その結果をルーティング後
処理部33に送る。ルーティング後処理部33は、この
ルール評価部34からの評価結果に基づいてルーティン
グを行なうステップを決定し、ステップ状態管理部31
に通知する。
【0064】ステップ状態管理部31は、ルーティング
後処理部33からの通知によりルーティングを行なうス
テップの状態を、「not ready」から「rea
dy」にする。また、ルーティングを行なわないステッ
プの状態を、「not ready」から「isola
te」にする。以下、上述と同様の処理を繰り返して、
ワークフローを進行させ、後続のステップがなくなると
ワークフローの処理を終了する。
【0065】<ルーティング前処理部32の動作の具体
例>図3は、前述したルーティング前処理部32で実行
される処理ルーチンS0の一例を示すフローチャートで
ある。
【0066】ステップの状態が「not ready」
から「ready」になると、ステップ状態管理部31
から処理要求が到来して図3のルーティング前処理ルー
チンS0が開始し、現在のステップ(「ready」の
状態になったステップ)の後続アークのすべてを、ワー
クフローデータを参照して探す。また、その他の必要な
情報フィールドを追加する(処理S1)。
【0067】次に、そのステップに送るパケットに、後
続アークの数だけルーティング情報フィールドを追加す
る(処理S2)。次に、前記後続アークの属性情報を調
べ(処理S4)、ワークフローシステムにより設定され
ているデフォルトのルーティング情報があるか否か判別
し(判断S5)、デフォルトのルーティング情報が存在
すれば、そのルーティング情報で、前記追加したルーテ
ィング情報フィールドを初期化する(処理S6)。
【0068】判断S5でデフォルトのルーティング情報
がないと判断された場合、あるいは、処理S6の処理が
終了した後には、ステップS3に進んで、前記後続のア
ークのすべてのアークについて処理S4〜S6の処理が
終了したか否か判断し、終了していなければ、処理S4
〜S6を繰り返し、すべてのアークについての処理が終
了したときには、このルーティング前処理ルーチンは終
了となる。
【0069】<ルーティング後処理部33の動作の具体
例>図4は、前述したルーティング後処理部33で実行
される処理の一例を示すフローチャートである。ステッ
プの状態が「run」から「complete」になる
ときに、ステップ状態管理部31から処理要求が到来し
て図4のルーティング後処理ルーチンS10が開始す
る。
【0070】まず、状態が「run」から「compl
ete」になった現在のステップ(以下、このステップ
を現在ステップPSと称する)の後続のステップの処理
は、終了しているか否か、つまり処理が終了していない
後続ステップがあるか否か判断し(判断S11)、処理
が終了していない後続のステップがなければこのルーチ
ンS10を終了する。
【0071】現在ステップPSに対して処理が終了して
いない後続のステップ(以下、このステップを後続ステ
ップBSと称する)が存在する場合には、その後続ステ
ップBSに至るアークにルールが定義されているか否か
判断する(判断S12)。ルールが定義されていれば、
ルール評価部34に対してルール評価処理の要求を出す
と共に、現在ステップPSからのパケット中のルール評
価のためのルーティング情報フィールドの情報を送っ
て、ルール評価を実行させる(処理S13)。その後、
判断S14に進む。
【0072】そして、判断S14では、そのルール評価
結果を受けて、その後続ステップBSにルーティングを
行なうか否か判断する。また、判断S12でアークにル
ールが定義されていないと判断されたときには、そのま
ま判断S14に進んで、ルーティング情報フィールドの
アークに関する真理値を参照して、その後続ステップB
Sにルーティングを行なうか否か判断する。
【0073】判断S14で、ルーティングを行なうと判
断したときには、判断S15に進み、ルーティングを行
おうとする後続ステップBSにアークによってつながっ
ている前ステップが複数あることを想定して、その前ス
テップはすべて終了となっているか否か判断する。この
判断S15での前ステップの終了の判断は、前ステップ
が「complete」の状態になっているか、あるい
は「isolate」の状態になっているかによって行
なう。
【0074】判断S15で、すべての前ステップが終了
していると判断されたときには、当該後続ステップBS
の状態を「not ready」から「ready」に
変更する要求をステップ状態管理部31に出し、判断S
11に戻って、現在ステップPSの他の後続ステップB
Sに関する上述の処理を行なう。
【0075】また、判断S15において、ルーティング
を行おうとする後続ステップBSの前記複数の前ステッ
プのうちの一部が終了となっていないと判断されたとき
には、当該後続ステップBSの状態を「not rea
dy」から「ready」にする要求は出さずに、この
後続ステップBSに関してスタートフラグを立てる(処
理S17)。そして、判断S11に戻って、前記現在ス
テップPSの他の後続ステップBSに関して上述の処理
を行なう。
【0076】また、判断S14において、後続ステップ
BSに対してルーティングを行なわないと判断された場
合には、判断S18に進み、ルーティングを行なわない
当該後続ステップBSの前ステップはすべて終了となっ
ているか否か判断する。この判断S18での前ステップ
の終了の判断も、前述と同様に、前ステップが「com
plete」の状態になっているか、あるいは「iso
late」の状態になっているかによって行なう。
【0077】判断S18において、ルーティングを行な
わない後続ステップBSの前の複数のステップのうちの
一部が終了となっていないと判断されたときには、その
まま判断S11に戻って、前記現在ステップPSの他の
後続ステップBSに関して上述の処理を行なう。
【0078】また、判断S18において、ルーティング
を行なわない後続ステップBSの前のステップがすべて
終了であると判断されたときには、判断S19に進み、
当該後続ステップBSにスタートフラグが立っているか
否か判断する。スタートフラグが立っていれば、処理S
16に進み、当該後続ステップBSの状態を「read
y」とし、判断S11に戻る。
【0079】すなわち、判断S19において、スタート
フラグが立っている状態は、現在ステップからはルーテ
ィングを行なわない後続ステップBSに、現在ステップ
と異なる他のステップからのルーティングが行なわれる
ことが決定されていて、そのルーティングが待ちの状態
になっていることを示している。そして、当該後続ステ
ップBSの前ステップはすべて終了であると判断S18
で既に判断されているので、当該後続ステップへのルー
ティングが可能になる。このため、処理S16に進ん
で、「ready」の状態となる。
【0080】また、判断S19において、スタートフラ
グが立っていないと判断されたときには、処理S20に
進み、当該後続ステップBSの状態を「isolat
e」にする。次に、処理S21に進み、当該後続のステ
ップBSの後続のステップに移行してそのステップに対
して処理S18から処理S20までの処理を行なう。こ
うして、「isolate」の状態になったステップの
後続のステップについて、処理S18から処理S20ま
での処理を再帰的に行なう。その後、判断S11に戻
る。
【0081】<第1の例が適用されたワークフローの具
体例>ワークフローの第1の具体例として、以下、図面
作成処理のフローの場合の例について説明する。
【0082】図5は、図面作成処理のフローの例を有向
グラフにより現したものである。この例の図面作成処理
のワークフローは、ステップ番号1のステップ(以下、
ステップ1という)が「図面の作成」、ステップ番号2
(以下、ステップ2という)と、ステップ番号3(以
下、ステップ3という)とが「図面の検査」、ステップ
番号4(以下、ステップ4という)が「図面の承認」の
4つのステップからなり、ステップ1からステップ2ま
たはステップ1からステップ3に分岐し、ステップ2お
よびステップ3からステップ4に合流するものとして定
義されている。
【0083】この例の場合、テンプレート管理部11で
管理される、定義されたワークフロー(テンプレート)
に関するデータは、図6に示すような、ワークフローが
どのような複数のステップからなっているかを示すステ
ップテーブルSTと、図7に示すような、ステップの実
行順序の情報である実行順序テーブルOTとからなる。
実行順序テーブルOTには、ステップ識別子としてのス
テップ番号を用いて前後のステップが記述されることに
よりアークが記述されることになる。なお、実行順序テ
ーブルOTにおいて、ステップ番号「0」は、開始のス
テップ、ステップ番号「NULL」は、終了のステップ
を示している。
【0084】この例の場合には、複数個のワークフロー
を同時に管理することを想定しているためステップテー
ブルSTと、実行順序テーブルOTには、ワークフロー
識別子が付与されており、このワークフロー識別子によ
り、いずれのワークフローであるかが一意に識別され
る。図の例のワークフロー識別子「1000」は、図面
作成処理のワークフローを示している。
【0085】この例の説明において、ステップ番号は各
ステップの識別子となる。また、ステップ名は、各ステ
ップで行なう作業内容を示す作業名である。担当者の欄
には、各ステップの作業を実行するユーザ名が記述され
る。ユーザの代わりに、営業部門、設計部門などの担当
部門が担当者として設定される場合や、図面作成者、検
査者、承認者などの作業を実行する役割者名が記述され
る場合もある。担当ユーザ名の代わりに担当部門名や、
役割者名が担当者の欄に記述される場合には、ユーザ管
理部15で管理されている、個々のユーザと担当部門と
の対応や、個々のユーザと役割者名との対応に応じて実
際に担当するユーザ名が決定される。
【0086】前述したように、ワークフローを流れるデ
ータを管理するために、パケットにワークフローを実行
するための必要な様々な情報を含めて、各ステップから
次ステップへと渡される。
【0087】ワークフローにおけるパケットの流れと、
その内容の変化と、パケットの情報フィールドを用いた
ルーティングの決定の仕方の例を、この例の図面作成の
ワークフローを用いて以下に説明する。
【0088】(1)担当者によるルーティングの決定の
場合 まず、ステップ1の担当者が、その後続のステップ2、
3にどのようにルーティングするかを決定する場合につ
いて説明する。
【0089】まず、起動者によってワークフローが起動
される。起動する際に、起動者は、最初のステップの担
当者宛てのメッセージがあれば、その通信文を書く。
【0090】図8は、ステップ1が開始されるときに作
成され、ステップ1の担当者に送られるパケットの内容
の例であり、フィールド名と、そのフィールド値からな
る。フィールド名「担当者」「作業名」「概要」の欄の
フィールド値は、ワークフローを定義したときに定義さ
れている値であり、ワークフローシステムがワークフロ
ーデータから転記する。
【0091】フィールド名「コメント」の欄はワークフ
ローを起動した者が、最初のステップの担当者宛ての通
信欄として使用することができる。1回、ワークフロー
が起動されると、この「コメント」の欄は、前の担当者
から次の担当者への連絡用に使われる。
【0092】フィールド名「Date」「Curren
t Step」の欄のフィールド値は、それぞれ当該パ
ケットが送信された日付と、送信の宛先のステップ番号
であり、ワークフローシステムが自動的に追加する。
【0093】そして、ワークフローシステムは、起動者
によるワークフローの起動を受けて、ステップ1の状態
を「ready」にしたとき、前述したルーティング前
処理を実行する。このルーティング前処理では、ステッ
プ1の下流に、ステップ2とステップ3の二つのステッ
プがあるため、ルーティングのための二つのフィールド
「step−1−2」「step−1−3」を付加し、
デフォルトのフィールド値として「真(図ではtrue
と示した。以下同じ)」を挿入する。
【0094】フィールド「step−1−2」は、ステ
ップ1からステップ2へのアークを示し、フィールド
「step−1−3」は、ステップ1からステップ3へ
のアークを示している。なお、前述もしたように、フィ
ールド値の「真」は、ルーティングを行なうことを意味
しており、「偽(図ではfalseと示す。以下同
じ)」はルーティングを行なわないことを意味してい
る。
【0095】前述したように、ステップ1の状態が「r
eady」になった後、担当者から作業開始の合図が来
ると、上述の図8のような内容の最初のパケットが、ス
テップ1の担当者に送られる。
【0096】ステップ1の担当者は、受け取ったパケッ
トの中身を見て、自分の仕事が図面作成であることを知
り、図面作成の作業を行なう。作成した図面は、担当者
がパケットに追加する。担当者は、また、必要に応じて
次ステップの担当者に宛てたメッセージをパケットの
「コメント」の欄に挿入する。
【0097】また、ステップ1の担当者は、パケット内
のルーティングの情報フィールドである二つのフィール
ド「step−1−2」「step−1−3」のフィー
ルド値を書き換えることにより、後続の二つの検査のス
テップ2とステップ3に対するルーティングを決定する
ことができる。この例では、デフォルトのフィールド値
は、「真」であるので、フィールド値を書き換えること
は、ルーティングを行なわないことを指示することに等
しい。
【0098】ステップ1の作業が終了したときのパケッ
トの例を図9に示す。この図9のパケットでは、ステッ
プ1の担当者によって、ステップ3にルーティングを行
なわないように指示されている。
【0099】なお、パケットの情報フィールドの欄の
内、「担当者」や「Date」などのワークフローシス
テムが用いる欄は、担当者が勝手に変えることはできな
いように構成されている。
【0100】ステップ1が終了すると、その終了の合図
と共に、図9のパケットがワークフローシステムに返送
されてくる。このパケットを受けると、ワークフローシ
ステムは、前述したように、ルーティング後処理を開始
する。
【0101】すなわち、ワークフローシステムは、受け
取ったパケットの中身を検査し、ルーティングの情報を
用いて後続のステップに対するルーティングを行なうか
否かの決定を行なう。この例の場合には、フィールド
「step−1−2」の値が「真」であるので、ステッ
プ2にはルーティングを行なう。しかし、フィールド
「step−1−3」は「偽」であるので、ステップ3
にはルーティングを行なわない。そして、ステップ2に
は、ルーティングを行なうので、その状態を「read
y」にする。また、ステップ3には、ルーティングを行
なわないので、その状態を「isolate」にする。
【0102】そして、ルーティングを行なうステップ2
にパケットを送るために、ワークフローシステムは、
「担当者」「作業名」「概要」などのフィールドの値を
入れ替え、また、ルーティング前処理を行って、フィー
ルド「step−2−3」をパケットに付加し、そのフ
ィールド値としてデフォルトの「真」を挿入し、そのパ
ケットをステップ2の担当者に宛てて送る。ただし、こ
のフィールド「step−2−3」のように、後続のス
テップが一つしかない場合には、そのデフォルトのフィ
ールド値は、「担当者」や「Date」などの欄と同様
に、担当者が勝手に書き換えることができないように構
成されている。
【0103】ステップ2の担当者は、受け取ったパケッ
トの中身を見て、自分の仕事が図面検査であることを知
り、図面検査の作業を行なう。検査後の図面は、担当者
がパケットに戻す。担当者は、また、必要に応じて次ス
テップの担当者に宛てたメッセージをパケットの「コメ
ント」の欄に挿入する。
【0104】そして、ステップ2の作業が終了すると、
終了の合図と共に、前記パケットがワークフローシステ
ムに戻される。ワークフローシステムは、終了の合図に
よって、ステップ2の状態を「run」から「comp
lete」にする。そして、ルーティング後処理を行な
い、パケットのルーティング情報フィールド「step
−2−3」の値が「真」であることから、ステップ4に
ルーティングを行なうことを決定するが、ステップ4に
は、前ステップとして、ステップ3の存在するので、ス
テップ2の状態だけでなく、ステップ3の状態をも参照
する。このとき、ステップ3の状態は「isolat
e」になっているので、ステップ2の状態「compl
ete」と合わせて、ステップ4の前ステップのすべて
が終了したと判断して、前述と同様にしてステップ4に
ルーティングを実行する。
【0105】(2)アークに付いたルールによるルーテ
ィングの決定の場合 この例の場合、ワークフローの定義時に、分岐のときの
アークに対してルールを記述しておく。このルールの例
を図10および図11に示す。図10は、ステップ1か
らステップ2へのアークに付いているルールの例であ
り、「ステップ1で計算された見積もり金額が1000
0円を越えた場合には、ステップ2にルーティングを行
ない、ステップ3にはルーティングを行なわない、10
000円以下の場合には、ステップ3にルーティングを
行ない、ステップ2にはルーティングを行なわない」と
いう内容である。
【0106】また、図11は、ステップ1からステップ
3へのアークに付いているルールの例であり、「ステッ
プ1で計算された見積もり金額が10000円以下であ
る場合には、ステップ2にルーティングを行ない、ステ
ップ3にはルーティングを行なわない、10000円を
越えた場合には、ステップ3にルーティングを行ない、
ステップ2にはルーティングを行なわない」という内容
である。
【0107】この例の場合には、ステップ1にルーティ
ングが行なわれるときに、ルーティング前処理により、
そのステップ1の担当者に送られるパケットには、図1
2に示すように、ステップ1からステップ2へのアーク
およびステップ1からステップ3へのアークに関するル
ーティング情報フィールド「step−1−2」「st
ep−1−3」に加えて、「見積もり」のフィールドが
追加される。
【0108】ステップ1の担当者は、前述したようにし
て、図面作成の作業を行なうと共に、見積もり金額を計
算し、その金額をパケットの「見積もり」のフィールド
に、そのフィールド値として挿入する。例えば担当者は
見積もり金額を「12000円」と決定した場合、その
値「12000」をフィールド「見積もり」の値として
挿入する。この場合のステップ1の終了時のパケットの
例を図13に示す。
【0109】ステップ1の担当者が作業を終了し、その
合図をしたとき、図13のパケットがワークフローシス
テムに返送される。これを受けて、ワークフローシステ
ムは、ルーティング後処理を開始する。この場合、ステ
ップ1の後続のアークには、ルールが付いているので、
パケットに追加されているルーティング情報の真理値を
確認する代わりに、返送されてきた図13のパケットの
フィールド「見積もり」の値を用いて、ステップ1に後
続のアークに付いているルールをすべて評価し、その評
価結果によりルーティングを決定する。
【0110】前述したように、ルールの評価は、ルール
評価部34で行なわれる。まず、ステップ1からステッ
プ2へのアークに付いているルールが評価される。この
例の場合には、パケットのフィールド「見積もり」の値
が「12000」であるため、評価結果は「真」とな
る。したがって、ステップ2には、ルーティングが行な
われる。
【0111】次に、同様にして、ステップ1からステッ
プ3に向かうアークに付いているルールの評価が行なわ
れる。この例の場合には、パケットのフィールド「見積
もり」の値が「12000」であるため、評価結果は
「偽」となる。したがって、ステップ3には、ルーティ
ングが行なわれない。
【0112】以上のようにして、あらかじめアークに対
して定義されたルールを用いることにより、前のステッ
プの作業結果に応じて後のステップに対するルーティン
グをワークフローシステムが動的に決定することができ
る。この場合には、ルーティング情報フィールドを参照
する必要はない。
【0113】なお、以上の実施例では、ルールがアーク
に付いている場合に、パケットに含まれるルーティング
情報フィールドに対してルールを優先としてルーティン
グを行なったが、ステップの担当者がルーティング情報
フィールドの真理値を変更したときには、当該担当者に
より設定変更されたルーティング情報フィールドをルー
ルに優先するようにしてもよい。
【0114】[ルーティング決定方法の第2の例]上述
した第1の例においては、ワークフローシステムによる
ルーティングの指定方法はアークについて定義したルー
ルを、ルーティング後処理において評価してルーティン
グを決定するようにしたが、第2の例においては、ステ
ップの状態などについてルールを定義して、そのルール
の評価結果として得られるルーティングに関する真理値
を、システムがルーティング情報フィールドに書き込む
ようにする。
【0115】この第2の例の場合には、ルーティング後
処理においては、ルールの評価を行なう必要がないの
で、ルーティング後処理のルーチンは、図14のルーチ
ンS100に示すように、図4のルーティング後処理の
ルーチンS10において、判断S12と、処理S13と
を省略し、判断S11の判断結果が「NO」の場合に
は、判断S14に進むようにしたものとすることがで
き、ルーティング後処理のソフトウエアを簡略化でき
る。
【0116】なお、第1の例においても、アークについ
て記述されているルールを、ルーティング後処理の前に
必ず実行し、ルールの評価結果により、ルーティング情
報フィールドの真理値を書き換えるようにしておくこと
により、ルーティング後処理のソフトウエアを簡略化で
きる。
【0117】[第2の例が適用されたワークフローの具
体例]第2の例が適用されたワークフローの具体例とし
て、以下、設計変更処理のフローの場合の例について説
明する。
【0118】以下に説明するワークフローの実施例にお
いては、ステップの状態について定義されたルールによ
り、ルーティングを決定するための情報の生成を行な
い、後述する自動実行ステップによりルーティング情報
フィールドに、ルーティングを行なうか否かを決定する
ための真理値を記入するようにしている。
【0119】<自動実行ステップ>この第2の例におい
ては、ワークフロー中の作業の中には、人間よりも機械
の方が向いている作業も存在することにかんがみ、特に
担当ユーザを定めずに、自動的に作業の実行を行なうス
テップを創設する。以下、このタイプのステップを自動
実行ステップと呼び、これと担当ユーザが実行するタイ
プの通常のステップとを区別する必要があるときは、担
当ユーザが実行するステップを通常ステップと呼ぶこと
にする。
【0120】自動実行ステップの作業は、この例ではワ
ークフローシステム内で行なう作業として定義される。
ワークフローシステムは、自動実行ステップの状態が
「ready」になった時には通知を出さず、即座に
「run」の状態へと移行させる。そして、予め定義さ
れた作業をワークフローシステム内で自動的に実行し、
それが終了すると自動的に「complete」の状態
として、次ステップに対するルーティングを行なう。
【0121】なお、ワークフローシステム自身ではな
く、ワークフローシステムの管理下にあるハードウエア
に仕事をさせるようにしてもよい。
【0122】人間が担当しない作業であっても、ワーク
フローシステム内ではない、あるいは、ワークフローシ
ステムの管理下ではない他のシステムに作業の実行をさ
せるステップも考えられる。しかし、その場合には、当
該ステップの作業を実行するシステムを担当者として、
他のシステムを割り当てれば、通常ステップとして扱う
ことができる。すなわち、この場合、当該他のシステム
は、ワークフローシステムから通知を受けると、即座に
作業の開始の合図を送って作業を開始し、作業が終了す
ると終了の通知をワークフローシステムに送るように、
ソフトウエアにより処理する。このようにすることによ
り、人間以外の機械を担当者として、ワークフローシス
テム外のネットワーク上に設定することもできる。
【0123】<サブフロー>また、この第2の例では、
複雑で、規模の大きいワークフローを、より柔軟に、か
つ、様々な局面に対応することができるようにするため
に、ワークフローを階層的に動作させることができるよ
うにしている。
【0124】すなわち、ワークフローを上位のメインフ
ローと、その下位のサブフローとから構成する。サブフ
ローは、メインフローの内の適宜の一つのステップに結
び付いたものであって、その結び付いたステップの作業
を細分化した複数のステップと、その複数のステップ間
の前後のつながりをアークで定義したものである。サブ
フローが一つのステップに結び付いているということ
は、その結び付かれているステップは、サブフローが終
了しないと終了できないことを意味している。
【0125】サブフローは、一つのステップに対して、
複数個、定義することもでき、その場合には、すべての
サブフローが終了しないと、それら複数のサブフローが
結びついているステップは終了できない。
【0126】この例の場合には、サブフローが結び付い
ているステップが「run」の状態になったときに、そ
のステップの担当者が、自分の作業をより詳細化し、そ
の作業を実行するために相応しいと思われるサブフロー
を新たに定義して、起動する。サブフローの典型例をあ
らかじめ登録しておき、その中から起動するサブフロー
を、ステップの担当者が選ぶようにすることもできる。
【0127】サブフローの各ステップは、すべて通常ス
テップで構成することもできるし、サブフローのすべて
のステップを自動実行ステップで構成することもでき
る。また、サブフローの一部を自動実行ステップで構成
することも、もちろんできる。
【0128】また、サブフローをあらかじめ定義してお
き、このサブフローが結び付いているステップが「re
ady」の状態になったら、自動的にサブフローを起動
するようにすることもできる。その場合に、起動するサ
ブフローは複数個あってもよい。また、当該複数個のサ
ブフローのすべてを自動実行ステップで構成した場合に
は、一つのステップに対して自動で起動され、処理が自
動で実行される複数の作業を容易に定義することが可能
になる。
【0129】このように、ステップの担当者がサブフロ
ーを定義して起動し、そのサブフローが終了しない限
り、当該ステップが終了することができないようにする
ことにより、メインのワークフロー中には、当該サブフ
ローが結び付いているステップの代わりに、そのサブフ
ローの内容を詳細に定義する必要がなくなり、ワークフ
ローの管理が容易になる。
【0130】<設計変更プロセスと、そのワークフロー
>まず、この例の設計変更プロセスについて説明する。
典型的な設計変更のプロセスは、例えば以下の手順のよ
うに行なわれる。
【0131】1.設計変更の要求 2.要求の受け付け 3.変更のレビュー 4.実施の可否 5.設計変更 6.承認 7.配布。
【0132】まず始めに設計変更の要求が上がる。これ
は必ずしも設計部門で起こるとは限らない。設計変更の
詳細は文書化されて、設計部門の設計変更担当の窓口へ
と送られる。
【0133】設計部門の窓口で設計変更の要求を受け取
ると、その変更を実際に行なうかどうかを決定しなけれ
ばならない。窓口では変更を行なうかどうかを判断する
ためのレビュワーを決定し、各レビュワーに対して、該
当する図面と変更内容を伝え、実際に変更を行なうかど
うかを決定して欲しい旨の依頼をする。
【0134】各レビュワーは送られてきた図面と変更内
容を吟味し、実際に変更を行なうかどうかを決定し、集
計を行なう担当者に結果を報告する。集計を行なう担当
者は各レビュワーから送られてきた結果を元に、実際に
変更を行なうか行なわないかを決定する。通常は多数決
もしくは全員一致により、変更が決定される。
【0135】変更が行なわれないことが決定したら該当
図面と変更要求内容を設計部門に送付し、実際の設計変
更を依頼する。また、設計変更を行うことが決定したら
該当図面と変更要求内容を設計部門に送付し、実際の設
計変更を依頼する。
【0136】設計部門では、該当図面と設計変更要求を
受け取ると、設計変更を行なう担当者を決め、実際の設
計変更を行なう。
【0137】設計変更が終了すると、変更された図面と
要求内容とともに、変更された内容などを記述した書面
が添付され、設計部門長宛に送られる。設計部門長は送
られてきた図面を承認する。承認を受けた図面は関係各
部門に配布される。
【0138】以上のような設計変更プロセスを定義した
ワークフローの例を図15を示す。各ステップの機能は
以下のように、ワークフローの定義者により定義されて
いる。
【0139】「開始」のステップはワークフローの開始
を表す。実際の業務と照らし合わせると、設計変更の要
求を上げることに当たる。なお、「開始」のステップ
は、自動実行ステップの一種である。
【0140】「要求受け付け」のステップは、設計変更
を設計部門の窓口の担当者(事務局)が受け取ることを
表す。ここで、受け付けられた設計変更の要求に対し、
窓口の担当者は該当する図面を添付し、各レビュワーに
配布する。
【0141】「レビュー(1)」、「レビュー
(2)」、「レビュー(3)」のステップは、それぞ
れ、設計部門において設計変更を行なうかどうかを判断
するためのレビューを行なうステップである。ここでは
各レビュワーは送られてきた図面と設計変更の要求を照
らし合わせ、実際に設計変更を行なうか、行なわないか
を、それぞれ決定する。
【0142】「受理?」のステップは、各レビュワーの
結論を集計し、実際に設計変更を行なうか行なわないか
の決定を下す。この例では、この「受理?」のステップ
は、自動実行ステップで、ワークフローシステムが自動
的に各レビュワーの結論を集計し、予め設定された規則
にそって、設計変更要求を受理するかどうかを決定す
る。設計変更要求が受理された場合は「設計変更」のス
テップへと進む。受理されなかった場合は「要求却下」
のステップへ進む。
【0143】「要求却下」のステップは、設計変更要求
が受理されなかった場合に事後処理を行なうステップで
ある。
【0144】「設計変更」のステップは、実際の設計変
更を行なうステップであり、設計部門の担当者に送られ
る。実際の設計変更は、別のワークフロー、すなわち、
サブフローを起動し、より詳細に作業を進めるようにし
ている。
【0145】「承認」のステップは、設計変更された図
面を承認するためのステップである。設計部門長が図面
をチェックし、承認印を図面にいれる。
【0146】「設計変更配布」のステップは、変更され
た図面を関係部門に配布するためのステップである。
【0147】上述したワークフローの定義は、ワークフ
ローシステムの編集機能により行われる。このワークフ
ローの定義時の作業は大きく分けて、 ステップの作成 ステップの接続 ルールの記述 の3つがある。各ステップの作成は各種属性、すなわ
ち、ステップが通常ステップか、自動実行ステップかを
表す「タイプ」、ステップの作業内容を示す「名前」、
「担当者」(この例では、担当部門)のほか、ルールの
設定も含む。この例における各ステップの初期属性値
(定義時の属性値)を、図16から図26までに示す。
【0148】各ステップを作成したら、流れにそって、
前後のステップを接続していく。このステップの作成、
接続の作業を繰り返すことによって、ワークフロー全体
を作成する。
【0149】必要に応じて、各ステップにはルールを記
述する。ルールは、前述したようにアークについて定義
することもできるし、また、ステップの各状態ごとに付
けることもできる。
【0150】この例では、「レビュー(1)」、「レビ
ュー(2)」、「レビュー(3)」のステップの状態
「run」のルールで、パケットに「投票($vot
e)」という名前のブール(boolean)型の変数
「投票結果」(後述する図42参照)のフィールドを追
加する。この「レビュー(1)」、「レビュー
(2)」、「レビュー(3)」のステップの状態「ru
n」のルールを図27に示す。各ステップ「レビュー
(1)」、「レビュー(2)」、「レビュー(3)」の
担当者は、その変数「投票結果」のフィールドの欄を埋
める。
【0151】ワークフローシステムは、各ステップ「レ
ビュー(1)」、「レビュー(2)」、「レビュー
(3)」の状態「complete」のルールでこれの
集計を行なう。この「レビュー(1)」、「レビュー
(2)」、「レビュー(3)」のステップの状態「co
mplete」のルールを図28に示す。ワークフロー
システムは、集計を行なった結果を元に、自動実行ステ
ップである次のステップ「受理?」でルーティングを決
定する。
【0152】ステップ「受理?」で実行される内容は、
図20において、属性「スクリプト」に示されている。
図20の例の場合の「スクリプト」の内容は、「投票数
が2以上のときには、ステップ「設計変更」にルーティ
ングを行い、ステップ「要求却下」にはルーティングを
行わず、投票数が2以上でなければ、ステップ「設計変
更」にはルーティングを行わず、ステップ「要求却下」
にルーティングを行なう」というものである。
【0153】以上のようにしてワークフローの定義を終
了したらワークフローの開始を宣言する。ワークフロー
の開始とは具体的には、定義したワークフローのワーク
フローシステムへの登録、登録されたワークフローの開
始の2段階である。
【0154】図29にワークフローの定義から起動まで
の起動者の処理の流れ図を示す。まず、始めに、あらか
じめ登録されている既存のワークフローを検索し(手順
S21)、その中に、行おうとする業務に適応している
ワークフローがあるか否か判断する(手順S22)。適
応しているワークフローがあれば、そのワークフローが
修正の必要があるか否か判断し(手順S23)、修正の
必要があれば、その修正を行う(手順S24)。そし
て、修正が終了した後、あるいは、修正の必要がなけれ
ばそのまま、ワークフローをワークフローシステムに登
録する(手順S25)。
【0155】また、手順S22で、あらかじめ登録され
ている既存のワークフローに、望みのワークフローがな
かったときには、新しいワークフローを定義し(手順S
26)、このワークフローをワークフローシステムに登
録する(手順S25)。
【0156】以上のようにしてワークフローシステムに
ワークフローが登録されると、ワークフローシステム
は、自動的にワークフローの開始の作業に移る。まず始
めに、必要な初期化を行ない、先頭のステップの作業を
開始する。
【0157】図30は、初期化の際のワークフローシス
テムの処理ルーチンS30の一例のフローチャートであ
る。すなわち、まず、定義されたワークフローのすべて
のステップの状態を、「not ready」に初期化
する(処理S31)。次に、最初のステップを探し(処
理S32)、その最初のステップの状態を「read
y」にして、この処理ルーチンS30を終了する。
【0158】こうして、ステップの状態が「not r
eady」から「ready」になるとき、ワークフロ
ーシステムは、状態「ready」時の処理ルーチンS
40を実行する。図31に、この処理ルーチンS40の
一例のフローチャートを示す。
【0159】まず、「ready」の状態になったステ
ップについて、「ready」においてのルールがあれ
ばそれを実行する(処理S41)。ルールの実行が済ん
だら、当該ステップは自動実行ステップか否か判断し
(判断S42)、自動実行ステップでなく、通常ステッ
プであれば、その担当者に対して、通知を送って(処理
S43)、この処理ルーチン40を終了する。
【0160】また、判断S42での判断の結果、自動実
行ステップであると判断されたときには、処理S44に
移って、通知をすることなくステップの状態を「ru
n」にして、この処理ルーチン40を終了する。
【0161】「ready」になったステップが通常ス
テップの場合には、前記通知に対して担当者が作業の開
始を宣言するとステップは「run」の状態となる。自
動実行ステップの場合には、前述のように、「read
y」から即座に「run」の状態になる。ステップの状
態が「run」になると、ワークフローシステムは、状
態「run」時の処理ルーチンS50を実行する。図3
2は、この処理ルーチンS50の一例のフローチャート
である。
【0162】まず、担当者に送るパケットを作成する
(処理S51)。そして、当該ステップに「run」状
態についてのルールがあれば、それを実行する(処理S
52)。ルールの実行が済んだら、当該ステップは自動
実行ステップか否か判断し(判断S53)、自動実行ス
テップでなく、通常ステップであれば、その担当者に対
して、パケットを送って(処理S54)、この処理ルー
チン50を終了する。
【0163】また、判断S53での判断の結果、自動実
行ステップであると判断されたときには、処理S55に
移って、パケットを送ることなくステップの状態を「c
omplete」にして、この処理ルーチン50を終了
する。
【0164】ステップが通常ステップの場合には、担当
者が終了を宣言すると「complete」状態になる
が、サブフローが当該ステップで実行中は、担当者が終
了宣言をしても、ステップの状態は「complet
e」にはならない。自動実行ステップの場合には、前述
のように、自動実行の作業が終了すると、ワークフロー
システム自身が「run」から「complete」の
状態に移行させる。ステップの状態が「complet
e」になるとき、ワークフローシステムは、状態「co
mplete」に関する処理ルーチンS60を実行す
る。図33は、この処理ルーチンS60の一例のフロー
チャートである。
【0165】まず、サブフローが実行中か否か判断し
(処理S61)、実行中であればこのルーチンS60を
そのまま終了する。前述したように、サブフローが当該
ステップで起動されているときには、当該ステップに結
び付いているすべてのサブフローが終了しないと当該ス
テップは、終了できないからである。
【0166】サブフローがすべて終了しているときに
は、処理S62に進んで、当該ステップの状態「com
plete」についてルールが定義されていればそのル
ールを実行する。ルールの実行が済んだら、当該ステッ
プは自動実行ステップか否か判断し(判断S63)、自
動実行ステップでなく、通常ステップであれば、前述し
たルーティング(ルーティング後処理およびルーティン
グ前処理)を行い(処理S64)、この処理ルーチン6
0を終了する。
【0167】また、判断S63での判断の結果、自動実
行ステップであると判断されたときには、処理S65に
移って、定義されているスクリプトを実行した後、処理
S64に移行してルーティングを行った後、この処理ル
ーチンS60を終了する。以下、最後のステップの作業
が終了するまで、以上と同様に繰り返す。
【0168】次に、前述した設計変更のワークフローの
例を用いてさらに詳細に説明する。
【0169】<ワークフローの開始>まず始めに、ワー
クフローの定義者がワークフローシステムに対して、定
義したワークフローの登録を行なう。もしくはワークフ
ローは予め定義されており、定義者とは異なる者により
ワークフローが登録されることもある。
【0170】この例では、予め定義されていたワークフ
ローを用いて定義者とは異なる者がワークフローをワー
クフローシステムに登録したものとする。この登録した
者は、実際的には設計変更の依頼を行なう人である。こ
の設計変更の依頼者はワークフローの最初の担当者に対
して、メッセージを送ることができる。この機能は通常
の電子メールに類似の機能である。この例では、ワーク
フローの起動者は最初のステップの担当者(ここでは
「要求受け付け」の担当者、すなわち事務局)に対し
て、“部品Xの幅を1mm大きくして欲しいのです
が。”というメッセージを送ったものとする。
【0171】登録が行なわれると、ワークフローシステ
ムは初期化の作業を行なう。図16〜図26に示したよ
うに、定義されたばかりのステップは状態をもたない
が、この初期化により、全てのステップの状態は「no
t ready」にされる(例えば図34参照)。
【0172】ワークフローシステムの初期化が終了する
と、先頭のステップが開始される。この例の場合、先頭
のステップは「開始」である。「開始」のステップが開
始されるということはすなわち、「開始」のステップが
「ready」状態になるということである(図3
5)。
【0173】ステップが「ready」状態になると、
通常、ワークフローシステムはステップの担当者に通知
を送る。しかし、「開始」は特殊なステップ(自動実行
ステップの一種)であるために、通知は送られず、即座
に「run」状態へと移行する。(図36)。
【0174】自動実行ステップであれば、この「ru
n」状態への移行により、定義時に指定された動作を行
うのであるが、「開始」は開始を合図するための特殊な
ステップであるために、この定義がない。したがって、
ここでは、何もせずに「complete」の状態へと
移行する(図37)。
【0175】ステップ「開始」の状態が「comple
te」になると、ワークフローシステムはルーティング
を開始する。この場合、後続のステップは「要求受け付
け」のみであるために、特別なことは行なわず、ステッ
プ「要求受け付け」に対して、ルーティングが行なわれ
る。
【0176】ステップ「要求受け付け」が「read
y」状態になると、このステップの担当者に対して通知
が送られる。担当者は、例えば電子メールを読むような
感覚で通知を受け取る。この通知の例を図38に示す。
【0177】この通知を受け取った担当者が開始の合図
をワークフローシステムに対して送ると、ワークフロー
システムからそのステップの作業を行なうために必要な
情報などを織り込んだパケット(図39参照)が送り返
される。このパケットには、後続の3つのステップ「レ
ビュー(1)」「レビュー(2)」「レビュー(3)」
へのルーティングを決定するためのルーティング情報が
付加されている。
【0178】担当者はパケットの中の情報を元に要求さ
れた作業を行なう。ステップ「要求受け付け」の作業は
要求内容を確認し、設計変更を依頼された部品の図面を
集め、設計部門のレビュー担当者に対して、レビューを
依頼することである。この作業に関する記述は予めワー
クフローを定義した定義者によって定義されており、前
記通知のなかの、図38の例では「Descripti
on:」フィールドに、作業内容として織り込まれてい
る。通知には、この他に、ワークフローの起動者からの
メッセージが、図38に示すように、「Commen
t:」フィールドに含まれている。
【0179】「要求受け付け」の担当者は、「Desc
ription:」フィールドと、「Commen
t:」フィールドのふたつの記述を元に、必要な図面を
集め、パケットに添付する。ここでは設計変更の要求は
部品Xについてなので、担当者は部品Xの図面を探し出
しパケットに加える。
【0180】次にレビューを担当する担当者を決める。
この例ではレビュー担当者は3人定義されている。通常
は全員の投票によってレビューが行なわれるため、ステ
ップ「要求受け付け」の担当者に送られるパケットに含
まれているルーティング情報の各レビュワーに対応する
真理値の値は、ワークフローシステムにより全て「真
(true)」に初期化されている。
【0181】今、例えばステップ「要求受け付け」の担
当者が、特にレビュワーの変更の必要がないと判断した
場合には、ルーティング情報の真理値は変更しない。こ
のため、パケットのルーティング情報は、変更されず
に、システムに送り返される。また、このとき、担当者
は各レビュワーに送るコメントを記述し、パケットに含
める。この例の場合の作業終了結果のパケットは図40
に示すようなものとなる。
【0182】ワークフローシステムは、このパケットを
受け取ると、ルーティング情報をチェックする。この例
では、ルーティング情報の中身は全て「真」であるた
め、全ての後続のステップに対してルーティングが行な
われる。
【0183】「レビュー(1)」が「ready」状態
になると「レビュー(1)」の担当者に対して、通知が
送られる。この通知には「要求受け付け」の担当者が記
入したコメントが書かれている(図41参照)。
【0184】「レビュー(1)」の担当者は、この通知
を読み、開始を宣言する。このとき、「レビュー
(1)」のステップには、図27に例示したように、ル
ールが定義されているため、パケットを担当者に送信す
る前に、ワークフローシステムはそのルールを実行す
る。その結果、担当者に送られるパケットには、図42
に示すように、投票用のフィールド「投票結果」が追加
される。
【0185】ルールの実行が終わると、ワークフローシ
ステムより図42に示したパケットが送られる。このパ
ケットの中には「要求受け付け」の担当者が追加した図
面が含まれている。また、ステップ「レビュー(1)」
の後ろにはひとつしかステップがないため、ルーティン
グ情報は空になっている。すなわち、ステップ「レビュ
ー(1)」の担当者はルーティングを指示することはで
きない。
【0186】ステップ「レビュー(1)」の担当者は、
ステップ「要求受け付け」の担当者からのコメントに従
い、送られてきた図面と設計変更要求をチェックし、実
際に設計変更を行なうべきか、行なわないべきかを決
め、パケットの投票用のフィールド「投票結果」に自分
の判断をyes/no形式で記入する。例えば、ステッ
プ「レビュー(1)」の担当者が「yes」と投票し、
所定のコメントを記述したとすると、パケットは、図4
3に示すようなものとなる。
【0187】こうして作業が終了したステップ「レビュ
ー(1)」の担当者は、自分の意見を含めたパケット
(図43)とともに、作業の完了をワークフローシステ
ムに通知する。この時、ステップ「レビュー(2)」と
ステップ「レビュー(3)」が、まだ終了していない場
合には、ワークフローシステムは、ルーティング後処理
において、次のステップ「受理?」について、スタート
フラグを立てるだけで処理を終了する。
【0188】また、このとき、ステップ「レビュー
(1)」には、図28に例示したように、「compl
ete」時のルールも定義されているため、これが実行
される。実行された結果、「投票結果」のフィールドが
「yes」であるため、「$vote」という変数がイ
ンクリメントされる。この結果「$vote」という変
数の値は1となる。
【0189】ステップ「レビュー(2)」の動作は、ス
テップ「レビュー(1)」と同様である。ただし、この
例では、ステップ「レビュー(2)」の担当者は設計変
更に非同意で、投票用のフィールド「投票結果」に「n
o」と記入し、コメントを付加したとする。このステッ
プ「レビュー(2)」の終了時のパケットの例を図44
に示す。
【0190】作業が終了したステップ「レビュー
(2)」の担当者は、自分の意見を含めたパケット(図
44)とともに、作業の完了をワークフローシステムに
通知する。ここで、未だ、ステップ「レビュー(3)」
が終了していないとすると、ワークフローシステムは、
図14に示したルーティング後処理の処理ルーチンS1
00において、「受理?」ステップのスタートフラグを
立てる(実際にはすでに立っているが)だけで処理を終
了する。
【0191】また、ステップ「レビュー(2)」の「c
omplete」時のルールが実行されるが、「投票結
果」のフィールドが「no」であるため、変数「$vo
te」はインクリメントされず、その値は1のままであ
る。
【0192】ステップ「レビュー(3)」の動作も、ス
テップ「レビュー(1)」と同様である。ただし、この
例では、ステップ「レビュー(3)」では担当者は設計
変更に同意で、投票用のフィールド「投票結果」に「y
es」を記入し、コメントを付加したものとする。
【0193】作業が終了すると、ステップ「レビュー
(3)」の担当者は、自分の意見を含めたパケットとと
もに、作業の完了をワークフローシステムに通知する。
ここで、全てのレビューが終了したため、「受理?」ス
テップは作業を開始することが可能となる。すなわち、
ワークフローシステムは、ルーティング後処理におい
て、「受理?」ステップはスタートフラグが立っている
ため、状態「isolate」とはせずに、「read
y」状態とする。
【0194】また、ステップ「レビュー(3)」の「c
omplete」時のルールが実行される。ここでは、
「投票結果」のフィールド値が「yes」であったた
め、変数「$vote」はインクリメントされ、値は2
となる。
【0195】ステップ「受理?」は、この例では、自動
実行ステップである。この例では、図20に例示したよ
うに、上流の3つのステップ「レビュー(1)」「レビ
ュー(2)」「レビュー(3)」の投票結果を集計し、
その結果によってルーティングを変更するためのスクリ
プトが予め定義してある。
【0196】前述したように、ここで定義されているス
クリプトは、上流の各レビュワーから返された投票結果
を集計し、多数決を行なうもので、設計変更を行なうこ
とに対し、「yes」が勝った場合は、ステップ「要求
却下」にはルーティングを行なわずに、ステップ「設計
変更」にルーティングを行ない、逆に「no」が勝った
場合は、ステップ「要求却下」にルーティングを行な
い、ステップ「設計変更」にルーティングを行なわない
という内容である。
【0197】具体的には、各レビュワーのステップの状
態「complete」時に実行されたルールにより設
定された変数「$vote」の値を参照し、2以上であ
ればステップ「設計変更」に対するルーティング情報フ
ィールドの真理値を「真」とし、ステップ「要求却下」
に対するルーティング情報フィールドの真理値を「偽」
とする。逆に、変数「$vote」の値が2未満の場合
は、ステップ「設計変更」に対するルーティング情報フ
ィールドの真理値を「偽」とし、ステップ「要求却下」
に対するルーティング情報フィールドの真理値を「真」
とする。
【0198】この例の場合は、変数「$vote」の値
は2であるために、ステップ「設計変更」に対するルー
ティング情報フィールドの真理値が「真」とされ、ステ
ップ「要求却下」の真理値は「偽」とされる。
【0199】スクリプトの実行が終了すると、ステップ
「受理?」は、終了し、「complete」の状態に
なる。すると、図14に示したルーティング後処理のル
ーチンS100が実行され、ルーティング情報フィール
ドの真理値が参照されることにより、ステップ「受理
?」のスクリプト通りのルーティング結果が得られる。
すなわち、この例の場合には、ステップ「設計変更」は
「ready」状態となり、ステップ「要求却下」は
「isolate」状態となる。
【0200】この例の場合、ステップ「設計変更」の担
当者は自分の作業をより詳細化し、サブフローを起動す
る。すなわち、設計変更の担当者は要求されている設計
変更を行なうためにもっともふさわしいと思われるワー
クフローを選び、または、新たに定義し、それを現在動
いているワークフローのサブフローとして起動する。こ
のサブフローが終了しない限り、「設計変更」ステップ
は終了することができない。
【0201】このサブフローの例を図45に示す。この
例のサブフローは、すべて通常ステップからなり、最初
のステップは、設計変更のための「仕様作成」のステッ
プであり、担当者は、設計リーダーである。次のステッ
プは、実際に設計図を作成する「設計」のステップであ
り、担当者は設計者である。次のステップは、最後のス
テップであり、設計者の作成した設計図の検査する「検
図」のステップである。
【0202】このサブフローも、上述したワークフロー
と、まったく同様にして作業が行われてゆく。このサブ
フローの管理も、同じワークフローシステムで行っても
よいが、別のワークフローシステムにより、サブフロー
の実行管理を行わせるようにすることも、もちろんでき
る。サブフローの最後のステップが終了して、その最後
のステップの担当者から作業終了の合図があったとき
に、これが結び付いているステップ「設計変更」を、担
当者が終了として、ワークフローシステムにその通知を
することができる。なお、サブフローが複数個、ステッ
プについて定義された場合には、すべてのサブフローが
終了するまで、当該サブフローが結び付いているステッ
プは作業を終了とすることができない。
【0203】この例の場合には、ステップ「設計変更」
の担当者は、自分が起動したサブフローが終了すると、
サブフローにおいて実際に変更された図面をパケットに
戻し、作業を終了する。
【0204】ステップ「設計変更」の次のステップ「承
認」では、変更された図面の承認を行なう。具体的には
変更された図面に承認印を押す。
【0205】次のステップ「設計変更配布」では、この
実施例においては、「設計変更」と同様サブフローを起
動する。こうすることにより、どのような配布形態をと
るか柔軟に決定することができる。
【0206】図46に、この例のステップ「設計変更配
布」について定義されたサブフローの例を示す。この例
のサブフローは、3つの自動実行ステップが、並行に実
行されるワークフローである。自動実行ステップ「出
図」は、例えばプリンタにより設計変更図面を印刷させ
て図面を出力させるものであり、自動実行ステップ「保
管」は、設計変更図面をファイルに格納しておくもので
あり、自動実行ステップ「FAX」は、ファクシミリ装
置によって、設計変更図面を所定の宛先に配送するもの
である。
【0207】このように、あるステップで起動されるサ
ブフローのすべてを、自動実行ステップで構成すること
によって、定型業務を大幅に改善することができる。
【0208】この例のワークフローシステムは、これら
の作業のためのハードウエアとしてのプリンタ、ファイ
リング装置、ファクシミリ装置を内蔵している。もっと
も、LANなどのネットワークを通じて、それぞれのハ
ードウエアに対してワークフローシステムより処理要求
を出して、処理を行わせるようにすることも勿論でき
る。
【0209】この場合、ステップ「設計変更配布」が
「ready」状態になると、即座に「run」状態と
なり、図46のサブフローが起動されると、自動的に3
つの自動実行ステップ「出図」「保管」「FAX」が開
始して、それぞれの作業を自動的に行う。
【0210】そして、すべての自動実行ステップの作業
の終了を待って、ステップ「設計変更配布」の担当者
「事務局」が終了の通知を出すと、このステップ「設計
変更配布」の状態は「complete」になる。一
方、ステップ「要求却下」は、前述したように、「is
olate」になっているので、以上で、設計変更のワ
ークフローは、終了する。
【0211】なお、「受理?」のステップで、ステップ
「設計変更」にはルーティングは行なわないと決定され
たときには、ステップ「設計変更」の状態は、「iso
late」の状態になり、かつ、図14のルーティング
後処理のルーチンS100の処理S21として説明され
ているように、その後続のステップ「承認」、ステップ
「設計変更配布」について、再帰的に「isolat
e」の状態に移行させる処理を行なう。
【0212】したがって、ステップ「要求却下」の作業
が終了して状態「complete」になったとき、ス
テップ「設計変更配布」の状態は、「isolate」
になっているので、設計変更のワークフローは終了す
る。
【0213】上述のように、この例の設計変更のワーク
フローにおいては、ステップ「要求受け付け」の担当者
は、パケットに付加されているルーティング情報のフィ
ールドの真理値を変更することができ、その変更によ
り、その後続のステップ「レビュー(1)」「レビュー
(2)」「レビュー(3)」のそれぞれに対してルーテ
ィングを行うか否かを決定することが可能である。ただ
し、上述の例では、ステップ「レビュー(1)」「レビ
ュー(2)」「レビュー(3)」のすべてにルーティン
グを行うと担当者が決定したので、担当者によるルーテ
ィング情報の変更は行われず、デフォルトの真理値
「真」はそのままとされた。
【0214】また、この例の設計変更のワークフローに
おいては、ステップ「受理?」を自動実行ステップで構
成し、その作業内容をあらかじめ定義したスクリプトに
より、ステップ「レビュー(1)」「レビュー(2)」
「レビュー(3)」の担当者が、その状態「run」の
ルールで追加された投票用のフィールド「投票結果」に
記入した投票結果を集計し、その結果によって下流のス
テップのルーティングを決定することができる。すなわ
ち、前ステップの担当者が行った作業内容に基づいて演
算を行うなどの比較的複雑なルーティングの決定が可能
になる。
【0215】また、「設計変更」のステップでは、担当
者が自分の作業をより詳細化し、サブフローを起動して
作業を実行するようにしたので、親のワークフロー中に
は、設計変更のプロセスを詳細に記述する必要がない。
そして、担当者が起動するサブフローを定義することが
できるので、ワークフローの作業の流れを柔軟に設計す
ることができる。
【0216】さらに、上述の例のステップ「設計変更配
布」のように、ステップをすべて自動実行ステップから
なるサブフローで構成することにより、定型業務の作業
負荷を大幅に改善することができる。
【0217】また、前述もしたように、ルールは、各作
業工程の状態や、自動実行ステップの処理内容(スクリ
プト)として定義されていて、各ステップの状態におい
て実行されるので、第1の実施例の場合のように、ルー
ティング後処理においてルールを実行する必要がない。
そして、図14に示したようなルーティング後処理の実
行により、担当者によるルーティングの決定と、ワーク
フローシステムによるルーティングの決定とを、行なう
ことができる。
【0218】なお、サブフローが結び付く親ワークフロ
ーのステップを自動実行ステップで構成し、その自動実
行ステップで行う作業をソフトウエアで実行させると共
に、そのソフトウエアによってサブフローを定義して、
自動的にサブフローを起動させるようにすれば、親ワー
クフローの前記自動実行ステップにルーティングが行わ
れたとき、サブフローが自動的に起動されてその作業が
開始され、担当者がサブフローを起動する必要がない。
【0219】なお、以上の例では、自動実行ステップで
ルーティング情報フィールドの真理値を書き換えて、後
続のステップのルーティングを決定するようにしたが、
ステップの状態が「ready」「run」「comp
lete」になったときに実行されるルールによりパケ
ットのルーティング情報フィールドの書き換えを行なう
ようにすることもできる。
【0220】以上説明したように、第1の例のルーティ
ング決定方法によれば、各作業工程に対して与える作業
に必要な情報の塊の中に、その作業工程の後続の作業工
程に作業を開始させるか否かを決定するための付加情報
フィールドを追加し、この追加された付加情報フィール
ドの内容を用いて後続の作業工程に作業を開始させるか
否かを決定するようにしたので、作業の分岐があったと
きに、分岐後のいずれの作業工程に仕事を開始させるか
を容易に決定することができる。
【0221】また、前記の後続の作業工程に作業を開始
させるか否かを決定するために追加された付加情報フィ
ールドには、作業工程の担当者が記入することができる
ので、後続の作業工程に仕事を開始させるか否かの決定
に、作業担当者の要求を反映することができ、仕事の流
れを作業担当者の要求に応じて柔軟に変更することがで
きる。
【0222】また、第2の例のルーティング決定方法に
よれば、作業工程について定義されたルールが実行され
て、その結果により、前記付加情報フィールドに後続の
作業工程に作業を実行させるか否かの情報が記述され、
その付加情報フィールドの記述に従ってルーティングが
決定されるので、情報処理システム自身が作業工程の作
業結果を反映したルーティングの決定をすることができ
る。しかも、ルーティングのための付加情報フィールド
の内容を参照するのは、担当者による場合も同じであ
り、ルーティングの決定のためのソフトウエアを簡略化
することができる。
【0223】また、上述の例によれば、あらかじめ定義
された約束事などにより前の作業工程の処理結果の評価
を行って、後続の作業工程に仕事を開始させるか否かを
決定することが可能となり、作業工程における作業結果
を、作業の流れ管理に反映させることができる。例えば
作業工程で計算された見積もりに応じて後続の作業の流
れを変更したりすることができる。この場合には、ルー
ティングのための特別の情報フィールドを参照する必要
がない。
【0224】また、上述の例によれば、分岐の作業工程
があるときに、仕事が開始されなかった作業工程は、作
業の流れから切り離されたことを示す切り離し状態とし
て、その作業工程の終了状態を管理するようにしたの
で、分岐後の合流が支障なく、行なわれる。
【0225】また、上述の例によれば、担当者を定めず
に機械に作業を実行させる自動実行作業工程を定義し、
この自動実行作業工程も、他の通常の担当者が定められ
る作業工程と同様に状態管理するようにしたので、この
自動実行作業工程をワークフローの中に適宜挿入するこ
とができ、作業の効率化を計ることができる。
【0226】
【発明の効果】以上説明したように、この発明によれ
ば、各作業工程の担当者は、当該作業工程においてサブ
フローを定義して起動することができるので、作業の流
れの定義時に各作業工程を詳細に定義する必要はない。
また、サブフローを用いることにより、すべての作業工
程を詳細に定義する場合に比べて、より柔軟に様々な局
面に対して対応することが可能になる。
【図面の簡単な説明】
【図1】この発明による情報処理システムの一実施形態
の要部の機能ブロック図である。
【図2】この発明による情報処理システムの一実施形態
の概要を示すブロック図である。
【図3】この発明による情報処理システムの一実施形態
における処理動作の例のフローチャートである。
【図4】この発明による情報処理システムの実施形態に
おける処理動作の例のフローチャートである。
【図5】この発明による情報処理システムの実施形態が
適用される作業の流れの例を示す図である。
【図6】図5の例の作業の流れを構成する各ステップに
関するデータの例を示す図である。
【図7】図5の例の作業の流れを構成する各ステップの
つながりを表すデータの例を示す図である。
【図8】図5の例のステップ1の担当者に送られるデー
タの塊の例を示す図である。
【図9】図5の例のステップ1の担当者からの作業結果
のデータの塊の例を示す図である。
【図10】図5の例のステップ1からステップ2へのつ
ながりについて定義されたルールの例を示す図である。
【図11】図5の例のステップ1からステップ3へのつ
ながりについて定義されたルールの例を示す図である。
【図12】図5の例のステップ1の担当者に送られるデ
ータの塊の他の例を示す図である。
【図13】図5の例のステップ1の担当者からの作業結
果のデータの塊の他の例を示す図である。
【図14】この発明による情報処理システムの実施形態
における処理動作の例のフローチャートである。
【図15】この発明による情報処理システムの実施形態
が適用される作業の流れの例を示す図である。
【図16】図15の例のステップ「開始」の定義時の属
性値の例を示す図である。
【図17】図15の例のステップ「要求受け付け」の定
義時の属性値の例を示す図である。
【図18】図15の例のステップ「レビュー(1)」の
定義時の属性値の例を示す図である。
【図19】図15の例のステップ「レビュー(2)」の
定義時の属性値の例を示す図である。
【図20】図15の例のステップ「レビュー(3)」の
定義時の属性値の例を示す図である。
【図21】図15の例のステップ「受理?」の定義時の
属性値の例を示す図である。
【図22】図15の例のステップ「設計変更」の定義時
の属性値の例を示す図である。
【図23】図15の例のステップ「承認」の定義時の属
性値の例を示す図である。
【図24】図15の例のステップ「設計変更配布」の定
義時の属性値の例を示す図である。
【図25】図15の例のステップ「要求却下」の定義時
の属性値の例を示す図である。
【図26】図15の例のステップ「終了」の定義時の属
性値の例を示す図である。
【図27】図15の例のステップ「レビュー(1)」の
状態「run」のときのルールの例を示す図である。
【図28】図15の例のステップ「レビュー(1)」の
状態「complete」のときのルールの例を示す図
である。
【図29】この発明による情報処理システムの実施形態
におけるワークフローの定義時の処理の流れの例を示す
フローチャートである。
【図30】この発明による情報処理システムの実施形態
におけるワークフローの初期化処理の流れの例を示すフ
ローチャートである。
【図31】この発明による情報処理システムの実施形態
において、ステップの状態が「ready」になったと
きの処理の流れの例を示すフローチャートである。
【図32】この発明による情報処理システムの実施形態
において、ステップの状態が「run」になったときの
処理の流れの例を示すフローチャートである。
【図33】この発明による情報処理システムの実施形態
において、ステップの状態が「complete」にな
ったときの処理の流れの例を示すフローチャートであ
る。
【図34】図15の例のステップ「開始」の登録時の属
性値の例を示す図である。
【図35】図15の例のステップ「開始」の開始時の属
性値の例を示す図である。
【図36】図15の例のステップ「開始」の状態「ru
n」時の属性値の例を示す図である。
【図37】図15の例のステップ「開始」の状態「co
mplete」時の属性値の例を示す図である。
【図38】図15の例のステップ「要求受け付け」の担
当者に対する通知の例を示す図である。
【図39】図15の例のステップ「要求受け付け」の開
始の際に、担当者に対して与えられる情報の塊の例を示
す図である。
【図40】図15の例のステップ「要求受け付け」の担
当者から、その終了時に送られてくる情報の塊の例を示
す図である。
【図41】図15の例のステップ「レビュー(1)」の
担当者に対する通知の例を示す図である。
【図42】図15の例のステップ「レビュー(1)」の
開始の際に、担当者に対して与えられる情報の塊の例を
示す図である。
【図43】図15の例のステップ「レビュー(1)」の
担当者から、その終了時に送られてくる情報の塊の例を
示す図である。
【図44】図15の例のステップ「レビュー(2)」の
担当者から、その終了時に送られてくる情報の塊の例を
示す図である。
【図45】図15の例のステップ「設計変更」において
起動されるサブフローの例を示す図である。
【図46】図15の例のステップ「設計変更配布」にお
いて起動されるサブフローの例を示す図である。
【図47】ワークフローの一例を示す図である。
【符号の説明】
10 ユーザインターフェース部 11 テンプレート管理部 12 ルーティング管理部 13 通知管理部 14 進捗情報管理部 15 ユーザ管理部 17 参照情報管理部 20 システム部 21 編集部 22 通知部 31 ステップ状態管理部 31M ステップ状態メモリ 32 ルーティング前処理部 33 ルーティング後処理部 34 ルール評価部

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】順序だって処理すべき作業を、複数個の作
    業工程に分け、その複数個の作業工程の順序と、各作業
    工程の処理内容とを定めて定義し、各作業工程の作業が
    終了して終了状態になったときに、次の作業工程の作業
    を開始するように管理することにより、前記作業を支援
    する情報処理システムにおいて、 前記定義された作業の流れの内の所定の作業工程におい
    て、当該作業工程の作業を細分化した作業の単位と、そ
    の細分化した作業の単位の前後のつながりとからなるサ
    ブフローが定義されている場合に、前記情報処理システ
    ムからの前記所定の作業工程の開始指示に基づき前記サ
    ブフローを起動する起動手段と、 前記起動手段により起動されたサブフローによる作業が
    完了したときに、前記所定の作業工程を終了状態とし
    て、前記情報処理システムに通知する手段と、を備える
    ことを特徴とする情報処理システム。
  2. 【請求項2】請求項1に記載の情報処理システムにおい
    て、 前記所定の作業工程に対して定義されている前記サブフ
    ローが複数個である場合には、当該複数のサブフローに
    よる作業が全て完了したときに、前記所定の作業工程を
    終了状態として、前記情報処理システムに通知すること
    を特徴とする情報処理システム。
  3. 【請求項3】請求項1または請求項2に記載の情報処理
    システムにおいて、 前記サブフローは、機械が作業を実行する自動実行ステ
    ップのみで構成されていることを特徴とする情報処理シ
    ステム。
JP2002324635A 2002-11-08 2002-11-08 情報処理システムおよび情報処理システムによる作業の流れ管理方法 Expired - Lifetime JP3726903B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002324635A JP3726903B2 (ja) 2002-11-08 2002-11-08 情報処理システムおよび情報処理システムによる作業の流れ管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002324635A JP3726903B2 (ja) 2002-11-08 2002-11-08 情報処理システムおよび情報処理システムによる作業の流れ管理方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP13631494A Division JP3649345B2 (ja) 1994-05-26 1994-05-26 情報処理システム

Publications (2)

Publication Number Publication Date
JP2003203148A true JP2003203148A (ja) 2003-07-18
JP3726903B2 JP3726903B2 (ja) 2005-12-14

Family

ID=27655800

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002324635A Expired - Lifetime JP3726903B2 (ja) 2002-11-08 2002-11-08 情報処理システムおよび情報処理システムによる作業の流れ管理方法

Country Status (1)

Country Link
JP (1) JP3726903B2 (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005190280A (ja) * 2003-12-26 2005-07-14 Toshiba Corp ワークフロー連携方法とシステム、プログラム
JP2005196414A (ja) * 2004-01-06 2005-07-21 Fuji Xerox Co Ltd 情報処理装置及び情報処理プログラム
JP2006171993A (ja) * 2004-12-14 2006-06-29 Fuji Xerox Co Ltd 文書レビュー支援装置、文書レビュー支援方法及び文書レビュー支援プログラム
JP2006215853A (ja) * 2005-02-04 2006-08-17 Ricoh Co Ltd ワークフロー支援システム
JP2007188144A (ja) * 2006-01-11 2007-07-26 Ricoh Co Ltd ワークフロー管理システム
JP2009505218A (ja) * 2005-08-09 2009-02-05 オラクル・システムズ・コーポレイション 汎用のワークフローベースの経路指定
WO2010095418A1 (ja) * 2009-02-17 2010-08-26 国立大学法人大阪大学 設計ワークフロー構築装置、設計ワークフロー構築方法、設計システム、設計方法、設計ワークフロー構築プログラムおよびそれを記録したコンピュータ読み取り可能な記録媒体
EP2230636A1 (en) 2009-03-16 2010-09-22 Canon Kabushiki Kaisha Information processing apparatus and method of controlling same
JP2011048570A (ja) * 2009-08-26 2011-03-10 Fuji Xerox Co Ltd 作業状態判定プログラム及び作業状態判定装置
JP2011170824A (ja) * 2010-02-22 2011-09-01 Jim:Kk 管理システム、管理方法及び管理プログラム
US8885812B2 (en) 2005-05-17 2014-11-11 Oracle International Corporation Dynamic customer satisfaction routing

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005190280A (ja) * 2003-12-26 2005-07-14 Toshiba Corp ワークフロー連携方法とシステム、プログラム
JP4581404B2 (ja) * 2004-01-06 2010-11-17 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム
JP2005196414A (ja) * 2004-01-06 2005-07-21 Fuji Xerox Co Ltd 情報処理装置及び情報処理プログラム
JP2006171993A (ja) * 2004-12-14 2006-06-29 Fuji Xerox Co Ltd 文書レビュー支援装置、文書レビュー支援方法及び文書レビュー支援プログラム
JP4613600B2 (ja) * 2004-12-14 2011-01-19 富士ゼロックス株式会社 文書レビュー支援システム及び文書レビュー支援プログラム
JP2006215853A (ja) * 2005-02-04 2006-08-17 Ricoh Co Ltd ワークフロー支援システム
US8885812B2 (en) 2005-05-17 2014-11-11 Oracle International Corporation Dynamic customer satisfaction routing
JP2011210284A (ja) * 2005-08-09 2011-10-20 Oracle Internatl Corp 汎用のワークフローベースの経路指定
JP2009505218A (ja) * 2005-08-09 2009-02-05 オラクル・システムズ・コーポレイション 汎用のワークフローベースの経路指定
US8583466B2 (en) 2005-08-09 2013-11-12 Oracle International Corporation System and method for routing workflow items based on workflow templates in a call center
JP2014063532A (ja) * 2005-08-09 2014-04-10 Oracle Internatl Corp 汎用のワークフローベースの経路指定
JP2007188144A (ja) * 2006-01-11 2007-07-26 Ricoh Co Ltd ワークフロー管理システム
WO2010095418A1 (ja) * 2009-02-17 2010-08-26 国立大学法人大阪大学 設計ワークフロー構築装置、設計ワークフロー構築方法、設計システム、設計方法、設計ワークフロー構築プログラムおよびそれを記録したコンピュータ読み取り可能な記録媒体
JP5170598B2 (ja) * 2009-02-17 2013-03-27 国立大学法人大阪大学 設計ワークフロー構築装置、設計ワークフロー構築方法、設計システム、設計方法、設計ワークフロー構築プログラムおよびそれを記録したコンピュータ読み取り可能な記録媒体
US8655630B2 (en) 2009-02-17 2014-02-18 Osaka University Apparatus, system, and method for construction of a design workflow
EP2230636A1 (en) 2009-03-16 2010-09-22 Canon Kabushiki Kaisha Information processing apparatus and method of controlling same
US8464264B2 (en) 2009-03-16 2013-06-11 Canon Kabushiki Kaisha Information processing apparatus and method of controlling same
JP2011048570A (ja) * 2009-08-26 2011-03-10 Fuji Xerox Co Ltd 作業状態判定プログラム及び作業状態判定装置
JP2011170824A (ja) * 2010-02-22 2011-09-01 Jim:Kk 管理システム、管理方法及び管理プログラム

Also Published As

Publication number Publication date
JP3726903B2 (ja) 2005-12-14

Similar Documents

Publication Publication Date Title
JPH07319961A (ja) 情報処理システムおよび情報処理システムの作業の流れ管理方法
JP4020504B2 (ja) ワークフロー管理システム制御方法及びワークフロー管理システム
JP4700883B2 (ja) 最適化された結果導出ワークフローの合成および削除処理方法およびシステム
US6799314B2 (en) Work flow management method and work flow management system of controlling a work flow
EP0950971A2 (en) Project work management method and system
Quartel et al. Methodological support for service-oriented design with ISDL
JP2004062438A (ja) ワークフローシステム、ワークフローサーバ、ワークフローエンジン、ワークフロー処理集約方法、およびプログラム
US20030074090A1 (en) System and method for improving operational efficiency through process automation
US7890803B2 (en) Constraint programming for reduction of system test-configuration-matrix complexity
JP2001202408A (ja) 要素編成支援装置、要素編成支援方法及び記録媒体
JP2003030388A (ja) ワークフローシステム、情報処理装置、ワークフローの管理方法ならびにプログラム
JP2003203148A (ja) 情報処理システム
CN115170048B (zh) 基于模型和规则的工作流实现方法、系统和介质
CN113850558A (zh) 一种工作流程编排方法及装置
JPH1063751A (ja) ワークフローシステムおよびその作業分割方法
CN116308132A (zh) 一种基于工作流引擎的自动化办公方法和系统
JP2001325413A (ja) コネクター志向ワークフロー管理システム及びワークフロー検出方法
US20060112062A1 (en) Controlling the creation of process instances in workflow management systems
JP3225997B2 (ja) 情報処理システム
JP2009245117A (ja) 業務プロセスモデル比較方法、その装置およびプログラム
JP3225996B2 (ja) 情報処理システム
JP4055013B2 (ja) ワークフローシステムおよびワークフローシステムにおける作業分割方法
Wagner Discrete Event Simulation Engineering
JPH1049504A (ja) 負荷分散バッチシステム
KR100974300B1 (ko) 워크 플로우 관리 장치 및 그 방법

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050413

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050610

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050907

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050920

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091007

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101007

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101007

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111007

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121007

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121007

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131007

Year of fee payment: 8

EXPY Cancellation because of completion of term