(57)【要約】【課題】作業を実行するユーザの人数変更に伴うワークフローの修正を不要にする。【解決手段】ワークフロー処理装置４０においては、作業が分岐する開始点処理において、親の対象ＩＤに対応する全ての対象ＩＤを対象テーブルから取得し、当該取得した対象ＩＤの個数だけステップ定義ＩＤからステップ実体ＩＤを生成する。これにより、ワークフローを定義する各定義テーブルを修正することなく、分岐する作業の数だけステップ実体ＩＤ毎のステップ実体を実行可能とする。【選択図】図２
2010224955.tif 000002
【特許請求の範囲】
【請求項１】
ステップ定義ＩＤ毎にタイプを関連付けるステップ定義テーブルを記憶した定義テーブル記憶手段と、
ステップ実体ＩＤ毎にステップ定義ＩＤ、タイプ及び対象ＩＤを関連付けるステップ実体テーブルを記憶するための実体テーブル記憶手段と、
対象ＩＤ毎に親の対象ＩＤ及び実作業データを関連付ける対象テーブルを記憶するための対象テーブル記憶手段と、を読出／書込可能なワークフロー処理装置であって、
「開始点」を示すタイプのステップの処理において、当該ステップに関連付けられている対象ＩＤを親の対象ＩＤとする全ての対象ＩＤを前記対象テーブルから取得する対象ＩＤ取得手段と、
当該取得した対象ＩＤの個数だけ前記ステップ定義テーブル内のステップ定義ＩＤからステップ実体ＩＤを生成するステップ実体ＩＤ生成手段と、
前記生成したステップ実体ＩＤに基づいて、前記ステップ実体テーブルを更新するステップ実体テーブル更新手段と
を備えたことを特徴とするワークフロー処理装置。
【請求項２】
ワークフロー定義ＩＤを含むワークフロー定義テーブルと、ステップ定義ＩＤ毎にワークフロー定義ＩＤ及びタイプを関連付けるステップ定義テーブル（但し、前記タイプは「通常」、「開始点」又は「合流点」を示す。）と、ワークフロー定義ＩＤ、遷移前のステップ定義ＩＤ及び遷移後のステップ定義ＩＤを関連付けるステップ定義遷移テーブルとを記憶した定義テーブル記憶手段と、
ワークフロー実体ＩＤ毎にワークフロー定義ＩＤ、状態及び親の対象ＩＤを関連付けるワークフロー実体テーブル（但し、前記状態は「実行可能」、「実行中」又は「完了」を示す。）と、ステップ実体ＩＤ毎にステップ定義ＩＤ、ワークフロー実体ＩＤ、タイプ、状態及び対象ＩＤを関連付けるステップ実体テーブルと、ワークフロー実体ＩＤ、遷移前のステップ実体ＩＤ及び遷移後のステップ実体ＩＤを関連付けるステップ実体遷移テーブルとを記憶するための実体テーブル記憶手段と、
対象ＩＤ毎に親の対象ＩＤ及び実作業データを関連付ける対象テーブルを記憶するための対象テーブル記憶手段と、ユーザインタフェース装置と、に個別に通信可能なワークフロー処理装置であって、
前記ユーザインタフェース装置から送信された複数個の対象ＩＤ、親の対象ＩＤ及び複数個の実作業データの入力を受け付ける第１の入力受付手段と、
前記各実作業データとともに入力を受け付けた対象ＩＤ毎に親の対象ＩＤと当該各実作業データのうちのいずれかの実作業データとを関連付けた対象テーブルを生成し、この対象テーブルを前記対象テーブル記憶手段に書き込む対象テーブル生成手段と、
前記ユーザインタフェース装置から送信されたワークフロー定義ＩＤ、親の対象ＩＤ及び開始情報の入力を受け付ける第２の入力受付手段と、
前記親の対象ＩＤ及び前記開始情報とともに入力を受け付けたワークフロー定義ＩＤが前記ワークフロー定義テーブルに存在するときに、ワークフロー実体ＩＤを生成し、当該生成したワークフロー実体ＩＤ、前記ワークフロー定義ＩＤ及び前記状態として「実行中」を関連付けて前記ワークフロー実体テーブルに書き込むワークフロー実体テーブル書込手段と、
前記入力を受け付けたワークフロー定義ＩＤについて、前記ステップ定義遷移テーブルを検索し、当該検索結果のうち、先頭の遷移後のステップ定義ＩＤを取得し、ステップ実体ＩＤを生成し、前記先頭の遷移後のステップ定義ＩＤについて、前記ステップ定義テーブルを検索してタイプを取得し、前記生成したステップ実体ＩＤと前記先頭の遷移後のステップ定義ＩＤと、前記生成したワークフロー実体ＩＤと、前記タイプと、前記状態として「実行可能」とを関連付けて前記ステップ実体テーブルに書き込むステップ実体テーブル書込手段と、
前記生成したワークフロー実体ＩＤ、及び前記生成したステップ実体ＩＤを遷移後のステップ実体ＩＤとして関連付けて前記ステップ実体遷移テーブルに書き込むステップ実体遷移テーブル書込手段と、
前記ユーザインタフェース装置から送信されたステップ実体ＩＤ及び開始情報を受け、前記ステップ実体テーブル内でこのステップ実体ＩＤに対応する状態が「実行可能」を示すとき、この「実行可能」を「実行中」に更新するステップ開始手段と、
前記更新した状態のステップ実体ＩＤに対応する対象ＩＤを前記ステップ実体テーブルから得ると、この対象ＩＤに基づいて前記対象テーブルから読み出した実作業データを前記ユーザインタフェース装置に送信する実作業データ送信手段と、
前記ユーザインタフェース装置から送信されたステップ実体ＩＤ、作業後の実作業データ及び終了情報を受け、前記ステップ実体テーブル内でこのステップ実体ＩＤに対応する状態が「実行中」を示すとき、この「実行中」を「完了」に更新すると共に、このステップ実体ＩＤに対応する対象ＩＤを前記ステップ実体テーブルから得ると、この対象ＩＤに基づいて、前記作業後の実作業データを前記対象テーブルに書き込むステップ終了手段と、
前記状態を「完了」に更新した後、当該更新した状態に対応するステップ定義ＩＤを遷移前のステップ定義ＩＤとした場合に、前記ステップ定義遷移テーブルに遷移後のステップ定義ＩＤがあるか否かを判定する遷移後ステップ判定手段と、
この判定の結果、遷移後のステップ定義ＩＤがある場合、当該遷移後のステップ定義ＩＤについて前記ステップ定義テーブルによってタイプを判定するタイプ判定手段と、
前記タイプが「通常」の場合、ステップ実体ＩＤを生成し、得られたステップ実体ＩＤ、当該遷移後のステップ定義ＩＤ、ワークフロー実体ＩＤ、タイプ「通常」、状態「実行可能」及び対象ＩＤを関連付けて前記ステップ実体テーブルに書き込むと共に、関連付けたワークフロー実体ＩＤ、遷移前のステップ実体ＩＤ及び遷移後のステップ実体ＩＤを前記ステップ実体遷移テーブルに書き込む通常タイプ処理手段と、
前記タイプが「開始点」の場合、前記ステップ実体テーブル内の親の対象ＩＤに対応する全ての対象ＩＤを前記対象テーブルから取得し、当該取得した対象ＩＤの個数だけステップ実体ＩＤを生成し、得られたステップ実体ＩＤ毎に当該遷移後のステップ定義ＩＤ、ワークフロー実体ＩＤ、タイプ「開始点」、状態「実行可能」及び対象ＩＤを関連付けてステップ実体テーブルに書き込むと共に、関連付けたワークフロー実体ＩＤ、遷移前のステップ実体ＩＤ及び遷移後のステップ実体ＩＤを前記ステップ実体遷移テーブルに書き込む開始点タイプ処理手段と、
前記タイプが「合流点」の場合、前記ステップ実体テーブル内の対象ＩＤに対応する親の対象ＩＤを前記対象テーブルから取得し、ステップ実体ＩＤを生成し、得られたステップ実体ＩＤ、当該遷移後のステップ定義ＩＤ、ワークフロー実体ＩＤ、タイプ「合流点」、状態「実行可能」及び親の対象ＩＤを関連付けてステップ実体テーブルに書き込むと共に、関連付けたワークフロー実体ＩＤ、遷移前のステップ実体ＩＤ及び遷移後のステップ実体ＩＤを前記ステップ実体遷移テーブルに書き込む合流点タイプ処理手段と、
を備えたことを特徴とするワークフロー処理装置。
【請求項３】
請求項２に記載のワークフロー処理装置において、
前記開始点タイプ処理手段により生成されるステップ実体ＩＤの個数は、前記第１の入力受付手段により入力を受け付けた対象ＩＤの個数と一致することを特徴とするワークフロー処理装置。
【請求項４】
請求項２又は請求項３に記載のワークフロー処理装置において、
前記定義テーブル記憶手段は、ロールＩＤ、ロール名及びロールの説明を関連付けるロールテーブルと、ユーザＩＤ、ユーザ名及びパスワードを関連付けるユーザテーブルと、ロールＩＤ及びステップ定義ＩＤを関連付けるロール・ステップ関係定義テーブルとを更に記憶しており、
前記ワークフロー処理装置本体は、
前記ロールテーブル内のロールＩＤ及びユーザテーブル内のユーザＩＤに基づいて、当該ロールＩＤ及びユーザＩＤを関連付けたロール・ユーザ関係テーブルを生成し、このロール・ユーザ関係テーブルを前記実体テーブル記憶装置に書き込む手段と、
前記ロール・ステップ関係定義テーブル内のロールＩＤ及びステップ定義ＩＤに基づいてロールＩＤ及びステップ実体ＩＤを関連付けたロール・ステップ関係実体テーブルを生成し、このロール・ステップ関係テーブルを前記実体テーブル記憶装置に書き込む手段と、
を更に備えており、
前記実作業データ送信手段は、
前記ステップ開始手段が状態を更新したステップ実体ＩＤに対応する前記ロール・ステップ関係実体テーブル内のロールＩＤを得た後、このロールＩＤに対応する前記ロール・ユーザ関係テーブル内のユーザＩＤを得ると、このユーザＩＤに対応するユーザ名を、前記実作業データを送信していない段階で前記ユーザインタフェース装置に送信するユーザ名送信手段と、
前記ユーザ名の送信後、前記ユーザインタフェース装置からユーザＩＤ及びパスワードを受け、このユーザＩＤ及びパスワードを前記ユーザテーブルに基づいて検証し、検証結果が正当のとき、前記実作業データの送信を許可するユーザ認証手段と、
を備えたことを特徴とするワークフロー処理装置。
【請求項５】
ステップ定義ＩＤ毎にタイプを関連付けるステップ定義テーブルを記憶した定義テーブル記憶手段と、
ステップ実体ＩＤ毎にステップ定義ＩＤ、タイプ及び対象ＩＤを関連付けるステップ実体テーブルを記憶するための実体テーブル記憶手段と、
対象ＩＤ毎に親の対象ＩＤ及び実作業データを関連付ける対象テーブルを記憶するための対象テーブル記憶手段と、を読出／書込可能なワークフロー処理装置に用いられるプログラムであって、
前記ワークフロー処理装置を、
「開始点」を示すタイプのステップの処理において、当該ステップに関連付けられている対象ＩＤを親の対象ＩＤとする全ての対象ＩＤを前記対象テーブルから取得する対象ＩＤ取得手段、
当該取得した対象ＩＤを前記ワークフロー処理装置の記憶部に書き込むと共に、前記記憶部内の対象ＩＤの個数だけ前記ステップ定義テーブル内のステップ定義ＩＤからステップ実体ＩＤを生成するステップ実体ＩＤ生成手段、
前記生成したステップ実体ＩＤに基づいて、前記ステップ実体テーブルを更新するステップ実体テーブル更新手段、
として機能させるためのプログラム。
【請求項６】
ステップ定義ＩＤ毎にタイプを関連付けるステップ定義テーブルを記憶した定義テーブル記憶手段と、
ステップ実体ＩＤ毎にステップ定義ＩＤ、タイプ及び対象ＩＤを関連付けるステップ実体テーブルを記憶するための実体テーブル記憶手段と、
対象ＩＤ毎に親の対象ＩＤ及び実作業データを関連付ける対象テーブルを記憶するための対象テーブル記憶手段と、を読出／書込可能なワークフロー処理装置であり、且つ対象ＩＤ取得手段、記憶部、ステップ実体ＩＤ生成手段及びステップ実体テーブル更新手段を備えた前記ワークフロー処理装置により実行されるワークフロー処理方法であって、
前記対象ＩＤ取得手段が、「開始点」を示すタイプのステップの処理において、当該ステップに関連付けられている対象ＩＤを親の対象ＩＤとする全ての対象ＩＤを前記対象テーブルから取得する対象ＩＤ取得工程と、
前記ステップ実体ＩＤ生成手段が、当該取得した対象ＩＤを前記記憶部に書き込むと共に、前記記憶部内の対象ＩＤの個数だけ前記ステップ定義テーブル内のステップ定義ＩＤからステップ実体ＩＤを生成するステップ実体ＩＤ生成工程と、
前記ステップ実体テーブル更新手段が、前記生成したステップ実体ＩＤに基づいて、前記ステップ実体テーブルを更新するステップ実体テーブル更新工程と、
を備えたことを特徴とするワークフロー処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、各作業を順番に実行するためのワークフローを処理するワークフロー処理装置、プログラム及び方法に係り、例えば、作業を実行するユーザの人数変更に伴うワークフローの修正を不要にし得るワークフロー処理装置、プログラム及び方法に関する。
【背景技術】
【０００２】
ワークフローシステムにおいては、各作業が作業工程により順序だてて実行される。ここで、作業工程の一要素はステップと呼ばれる。
【０００３】
このようなワークフローシステムに関し、あるステップに対して、ステップ内の作業を実行するユーザを複数とし、且つ作業の流れを止めずに作業を分割する技術が知られている（例えば、特許文献１参照。）。また、ワークフローの部品を予め用意し、それらの部品を組み合わせて動的にワークフローを作成する技術が知られている（例えば、特許文献２参照。）。ここでいう「動的」とは、「ユーザを予め定めず、ユーザが決まったときにユーザの人数に応じてワークフローを修正するように」という意味である。この場合、「動的」の反対用語の「静的」は、「ユーザを予め定めることにより、ユーザに応じてワークフローを修正しないように」という意味となる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１０−６３７５１号公報
【特許文献２】特開２００８−２２６１５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、以上のような技術では、あるステップ内の作業において複数のユーザに作業を分担させる場合、作業自体を分割する必要がある。そのため、図１２（ａ）及び図１２（ｂ）に示すように、１人のユーザが実行する予定の作業を複数のユーザに実行させる場合、当該作業の分岐を発生させるため、ワークフローの修正が必要になる。また、ワークフローの修正により、ワークフローを使用したシステムやアプリケーションを修正する必要が生じる。また、ワークフローは、作業を実行するユーザの人数を変更する度に、作業を分岐させる数を修正する必要が生じる。
【０００６】
本発明は上記実情を考慮してなされたもので、作業を実行するユーザの人数変更に伴うワークフローの修正を不要にし得るワークフロー処理装置、プログラム及び方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一つの局面(aspect)は、ワークフロー定義ＩＤを含むワークフロー定義テーブルと、ステップ定義ＩＤ毎にワークフロー定義ＩＤ及びタイプを関連付けるステップ定義テーブル（但し、前記タイプは「通常」、「開始点」又は「合流点」を示す。）と、ワークフロー定義ＩＤ、遷移前のステップ定義ＩＤ及び遷移後のステップ定義ＩＤを関連付けるステップ定義遷移テーブルとを記憶した定義テーブル記憶手段と、ワークフロー実体ＩＤ毎にワークフロー定義ＩＤ、状態及び親の対象ＩＤを関連付けるワークフロー実体テーブル（但し、前記状態は「実行可能」、「実行中」又は「完了」を示す。）と、ステップ実体ＩＤ毎にステップ定義ＩＤ、ワークフロー実体ＩＤ、タイプ、状態及び対象ＩＤを関連付けるステップ実体テーブルと、ワークフロー実体ＩＤ、遷移前のステップ実体ＩＤ及び遷移後のステップ実体ＩＤを関連付けるステップ実体遷移テーブルとを記憶するための実体テーブル記憶手段と、対象ＩＤ毎に親の対象ＩＤ及び実作業データを関連付ける対象テーブルを記憶するための対象テーブル記憶手段と、ユーザインタフェース装置と、に個別に通信可能なワークフロー処理装置であって、前記ユーザインタフェース装置から送信された複数個の対象ＩＤ、親の対象ＩＤ及び複数個の実作業データの入力を受け付ける第１の入力受付手段と、前記各実作業データとともに入力を受け付けた対象ＩＤ毎に親の対象ＩＤと当該各実作業データのうちのいずれかの実作業データとを関連付けた対象テーブルを生成し、この対象テーブルを前記対象テーブル記憶手段に書き込む対象テーブル生成手段と、前記ユーザインタフェース装置から送信されたワークフロー定義ＩＤ、親の対象ＩＤ及び開始情報の入力を受け付ける第２の入力受付手段と、前記親の対象ＩＤ及び前記開始情報とともに入力を受け付けたワークフロー定義ＩＤが前記ワークフロー定義テーブルに存在するときに、ワークフロー実体ＩＤを生成し、当該生成したワークフロー実体ＩＤ、前記ワークフロー定義ＩＤ及び前記状態として「実行中」を関連付けて前記ワークフロー実体テーブルに書き込むワークフロー実体テーブル書込手段と、前記入力を受け付けたワークフロー定義ＩＤについて、前記ステップ定義遷移テーブルを検索し、当該検索結果のうち、先頭の遷移後のステップ定義ＩＤを取得し、ステップ実体ＩＤを生成し、前記先頭の遷移後のステップ定義ＩＤについて、前記ステップ定義テーブルを検索してタイプを取得し、前記生成したステップ実体ＩＤと前記先頭の遷移後のステップ定義ＩＤと、前記生成したワークフロー実体ＩＤと、前記タイプと、前記状態として「実行可能」とを関連付けて前記ステップ実体テーブルに書き込むステップ実体テーブル書込手段と、前記生成したワークフロー実体ＩＤ、及び前記生成したステップ実体ＩＤを遷移後のステップ実体ＩＤとして関連付けて前記ステップ実体遷移テーブルに書き込むステップ実体遷移テーブル書込手段と、前記ユーザインタフェース装置から送信されたステップ実体ＩＤ及び開始情報を受け、前記ステップ実体テーブル内でこのステップ実体ＩＤに対応する状態が「実行可能」を示すとき、この「実行可能」を「実行中」に更新するステップ開始手段と、前記更新した状���のステップ実体ＩＤに対応する対象ＩＤを前記ステップ実体テーブルから得ると、この対象ＩＤに基づいて前記対象テーブルから読み出した実作業データを前記ユーザインタフェース装置に送信する実作業データ送信手段と、前記ユーザインタフェース装置から送信されたステップ実体ＩＤ、作業後の実作業データ及び終了情報を受け、前記ステップ実体テーブル内でこのステップ実体ＩＤに対応する状態が「実行中」を示すとき、この「実行中」を「完了」に更新すると共に、このステップ実体ＩＤに対応する対象ＩＤを前記ステップ実体テーブルから得ると、この対象ＩＤに基づいて、前記作業後の実作業データを前記対象テーブルに書き込むステップ終了手段と、前記状態を「完了」に更新した後、当該更新した状態に対応するステップ定義ＩＤを遷移前のステップ定義ＩＤとした場合に、前記ステップ定義遷移テーブルに遷移後のステップ定義ＩＤがあるか否かを判定する遷移後ステップ判定手段と、この判定の結果、遷移後のステップ定義ＩＤがある場合、当該遷移後のステップ定義ＩＤについて前記ステップ定義テーブルによってタイプを判定するタイプ判定手段と、前記タイプが「通常」の場合、ステップ実体ＩＤを生成し、得られたステップ実体ＩＤ、当該遷移後のステップ定義ＩＤ、ワークフロー実体ＩＤ、タイプ「通常」、状態「実行可能」及び対象ＩＤを関連付けて前記ステップ実体テーブルに書き込むと共に、関連付けたワークフロー実体ＩＤ、遷移前のステップ実体ＩＤ及び遷移後のステップ実体ＩＤを前記ステップ実体遷移テーブルに書き込む通常タイプ処理手段と、前記タイプが「開始点」の場合、前記ステップ実体テーブル内の親の対象ＩＤに対応する全ての対象ＩＤを前記対象テーブルから取得し、当該取得した対象ＩＤの個数だけステップ実体ＩＤを生成し、得られたステップ実体ＩＤ毎に当該遷移後のステップ定義ＩＤ、ワークフロー実体ＩＤ、タイプ「開始点」、状態「実行可能」及び対象ＩＤを関連付けてステップ実体テーブルに書き込むと共に、関連付けたワークフロー実体ＩＤ、遷移前のステップ実体ＩＤ及び遷移後のステップ実体ＩＤを前記ステップ実体遷移テーブルに書き込む開始点タイプ処理手段と、前記タイプが「合流点」の場合、前記ステップ実体テーブル内の対象ＩＤに対応する親の対象ＩＤを前記対象テーブルから取得し、ステップ実体ＩＤを生成し、得られたステップ実体ＩＤ、当該遷移後のステップ定義ＩＤ、ワークフロー実体ＩＤ、タイプ「合流点」、状態「実行可能」及び親の対象ＩＤを関連付けてステップ実体テーブルに書き込むと共に、関連付けたワークフロー実体ＩＤ、遷移前のステップ実体ＩＤ及び遷移後のステップ実体ＩＤを前記ステップ実体遷移テーブルに書き込む合流点タイプ処理手段と、を備えたワークフロー処理装置である。
【０００８】
また、本発明の他の局面は、ステップ定義ＩＤ毎にタイプを関連付けるステップ定義テーブルを記憶した定義テーブル記憶手段と、ステップ実体ＩＤ毎にステップ定義ＩＤ、タイプ及び対象ＩＤを関連付けるステップ実体テーブルを記憶するための実体テーブル記憶手段と、対象ＩＤ毎に親の対象ＩＤ及び実作業データを関連付ける対象テーブルを記憶するための対象テーブル記憶手段と、を読出／書込可能なワークフロー処理装置であって、「開始点」を示すタイプのステップの処理において、当該ステップに関連付けられている対象ＩＤを親の対象ＩＤとする全ての対象ＩＤを前記対象テーブルから取得する対象ＩＤ取得手段と、当該取得した対象ＩＤの個数だけ前記ステップ定義テーブル内のステップ定義ＩＤからステップ実体ＩＤを生成するステップ実体ＩＤ生成手段と、前記生成したステップ実体ＩＤに基づいて、前記ステップ実体テーブルを更新するステップ実体テーブル更新手段とを備えたワークフロー処理装置である。
【０００９】
なお、本発明の各局面は、装置として実現した場合を例に挙げて述べたが、これに限らず、プログラム、システム、方法、又はプログラムを記憶した記憶媒体（コンピュータ読取り可能な記憶媒体）、として実現してもよい。
【００１０】
（作用）
本発明の一つの局面によれば、作業が分岐する開始点処理において、親の対象ＩＤに対応する全ての対象ＩＤを対象テーブルから取得し、当該取得した対象ＩＤの個数だけステップ定義ＩＤからステップ実体ＩＤを生成する構成により、ワークフローを定義する各定義テーブルを修正することなく、分岐する作業の数だけステップ実体ＩＤ毎のステップ実体を実行可能としたため、作業を実行するユーザの人数変更に伴うワークフローの修正を不要にすることができる。
【００１１】
また、本発明の他の局面によれば、作業が分岐する開始点処理において、親の対象ＩＤに対応する全ての対象ＩＤを対象テーブルから取得し、当該取得した対象ＩＤの個数だけステップ定義ＩＤからステップ実体ＩＤを生成する構成により、ワークフローの定義に対応するステップ定義テーブルを修正することなく、分岐する作業の数だけステップ実体ＩＤ毎のステップ実体を実行可能としたため、作業を実行するユーザの人数変更に伴うワークフローの修正を不要にすることができる。
【発明の効果】
【００１２】
以上説明したように本発明によれば、作業を実行するユーザの人数変更に伴うワークフローの修正を不要にすることができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の概要を説明するための模式図である。
【図２】本発明の概要を説明するための模式図である。
【図３】本発明の概要を説明するための模式図である。
【図４】本発明の第１の実施形態に係るワークフロー処理装置を備えたワークフローシステムの構成を示すブロック図である。
【図５】同実施形態におけるワークフローＤＢを説明するための模式図である。
【図６】同実施形態における対象ＤＢを説明するための模式図である。
【図７】同実施形態における実作業ＤＢを説明するための模式図である。
【図８】同実施形態における実作業処理部を説明するための模式図である。
【図９】同実施形態における動作を説明するための模式図である。
【図１０】同実施形態における動作を説明するためのフローチャートである。
【図１１】本発明の第２の実施形態に係るワークフロー処理装置に用いられる各テーブルを説明するための模式図である。
【図１２】従来のワークフローを説明するための模式図である。
【発明を実施するための形態】
【００１４】
以下、本発明の各実施形態について図面を用いて説明するが、その前に本発明の概要について述べる。
【００１５】
本発明の概要としては、図１（ａ）、図１（ｂ）及び図２に示すように、ワークフローを「定義」と「実作業」に分割し、作業の分岐数に関する情報を「対象」に持たせ、「実作業」と「対象」を関連付けることで、作業の分岐が発生した場合には「実作業」を動的に分岐させる内容である。ここで、「定義」とは、図１（ａ）に示すように、従来のワークフローにおける各ステップの定義（ステップ内において実施する作業）及びステップ間の繋がりの定義を意味する。「実作業」とは、図１（ｂ）に示すように、各ユーザがワークフローに従ってステップの作業を実行すること（どのユーザがどのステップのどの作業を実施したか）を意味する。「対象」とは、図２の略中央に示すように、ワークフローに沿って処理されるデータの固まり（例、図１の２０枚分の帳票データ）を意味し、このデータの固まりを木構造で表現することにより、作業を分岐可能としている。例えば、対象を２つの子対象に分岐する木構造で表現することにより、作業が２つに分岐可能となる。
【００１６】
これにより、図３に示すように、作業を実行するユーザが増えた場合等でもワークフローを修正する必要がない。従って、ワークフローの修正によって生じていた、システムやアプリケーションの修正を無くすことができる。
【００１７】
以上が本発明の概要である。このような概要は、例えば、ステップ定義ＩＤ毎にタイプを関連付けるステップ定義テーブルを記憶した定義テーブル記憶装置と、ステップ実体ＩＤ毎にステップ定義ＩＤ、タイプ及び対象ＩＤを関連付けるステップ実体テーブルを記憶するための実体テーブル記憶装置と、対象ＩＤ毎に親の対象ＩＤ及び実作業データを関連付ける対象テーブルを記憶するための対象テーブル記憶装置と、を読出／書込可能なワークフロー処理装置であって、「開始点」を示すタイプのステップの処理において、当該ステップに関連付けられている対象ＩＤを親の対象ＩＤとする全ての対象ＩＤを対象テーブルから取得する対象ＩＤ取得機能と、当該取得した対象ＩＤの個数だけステップ定義テーブル内のステップ定義ＩＤからステップ実体ＩＤを生成するステップ実体ＩＤ生成機能と、生成したステップ実体ＩＤに基づいて、ステップ実体テーブルを更新するステップ実体テーブル更新機能とを備えたワークフロー処理装置によって実現可能となっている。
【００１８】
このワークフロー処理装置によれば、作業が分岐する開始点処理において、親の対象ＩＤに対応する全ての対象ＩＤを対象テーブルから取得し、当該取得した対象ＩＤの個数だけステップ定義ＩＤからステップ実体ＩＤを生成する構成により、ワークフローの定義に対応するステップ定義テーブルを修正することなく、分岐する作業の数だけステップ実体ＩＤ毎のステップ実体を実行可能としたため、作業を実行するユーザの人数変更に伴うワークフローの修正を不要にすることができる。
【００１９】
なお、ここで例示したワークフロー処理装置は、ワークフロー定義ＩＤを管理しない場合を前提とするためにワークフロー定義ＩＤを用いないが、ワークフロー定義ＩＤを管理する場合には、以下の第１の実施形態に示すように、ワークフロー定義ＩＤ及びワークフロー実体ＩＤ等を用いるワークフロー処理装置とすればよい。次に、本発明の第１の実施形態について説明する。
【００２０】
（第１の実施形態）
図４は本発明の第１の実施形態に係るワークフロー処理装置を備えたワークフローシステムの構成を示すブロック図である。このワークフローシステムは、定義テーブル記憶手段としてのワークフローＤＢ１０、対象テーブル記憶手段としての対象ＤＢ２０、実体テーブル記憶手段としての実作業ＤＢ３０、ワークフロー処理装置４０及びユーザインタフェース装置５０を備えている。
【００２１】
ワークフローＤＢ１０は、図５に示すように、ワークフローに関する情報として、ワークフロー定義テーブル１１、ステップ定義テーブル１２及びステップ定義遷移テーブル１３を格納するデータベースであり、ワークフロー処理装置４０から読出／書込可能となっている。
【００２２】
ワークフロー定義テーブル１１は、ワークフローを特定するものであり、ワークフロー定義ＩＤを含んでいる。
【００２３】
ステップ定義テーブル１２は、ワークフロー内の各ステップを定義するものであり、ステップ定義ＩＤ毎にワークフロー定義ＩＤ及びタイプを含んでいる。タイプとしては、「通常」、「開始点」又は「合流点」が設定される。
【００２４】
ステップ定義遷移テーブル１３は、ステップ間のつながりを表すものであり、互いに関連付けたワークフロー定義ＩＤ、遷移前のステップ定義ＩＤ及び遷移後のステップ定義ＩＤを含んでいる。
【００２５】
対象ＤＢ２０は、図６に示すように、対象に関する情報として、対象テーブル２１を格納するデータベースであり、ワークフロー処理装置４０から読出／書込可能となっている。
【００２６】
対象テーブル２１は、ステップにおいて作業対象となる「対象」であり、対象ＩＤ毎に親の対象ＩＤ及び実作業データを含んでいる。親の対象ＩＤを含むことにより、対象間に親子構造を作成可能となっている。後述するワークフローのステップ分岐は、この親子構造に基づいて生成される。
【００２７】
実作業ＤＢ３０は、図７に示すように、実作業に関する情報として、ワークフロー実体テーブル３１、ステップ実体テーブル３２及びステップ実体遷移テーブル３３を格納するデータベースであり、ワークフロー処理装置４０から読出／書込可能となっている。
【００２８】
ワークフロー実体テーブル３１は、ワークフロー実体ＩＤ毎にワークフロー定義ＩＤ、状態及び親の対象ＩＤを含んでいる。
【００２９】
ステップ実体テーブル３２は、ステップ実体ＩＤ毎にステップ定義ＩＤ、ワークフロー実体ＩＤ、タイプ、状態及び対象ＩＤを含んでいる。ここで、「状態」としては、「実行可能」、「実行中」又は「完了」が設定される。「対象ＩＤ」としては、分岐していないステップにおいては親の対象ＩＤが設定され、分岐しているステップにおいては子の対象ＩＤが設定される。
【００３０】
ステップ実体遷移テーブル３３は、互いに関連付けたワークフロー実体ＩＤ、遷移前のステップ実体ＩＤ及び遷移後のステップ実体ＩＤを含んでいる。
【００３１】
ワークフロー処理装置４０は、ユーザにワークフローを提供するものであり、記憶部４１、ユーザインタフェース通信部４２、ワークフロー処理部４３、対象処理部４４及び実作業処理部４５を備えている。なお、各部４２〜４５は、ワークフロー処理装置４０全体の機能を各機能ブロックに分割した一例であり、全体として同様の機能をもつものであれば、異なる単位の機能ブロックに変形してもよい。例えば、各部４１〜４５は、記憶部４１と、残りの各部４２〜４５をまとめた機能部（例、ワークフロー処理部）とに変形してもよい。この場合、例えば、記憶部４１にワークフロー処理プログラムを保存し、図示しないＣＰＵが記憶部４１内のワークフロー処理プログラムを実行することにより、各部４２〜４５の機能をワークフロー処理装置４０全体として実現してもよい。ワークフロー処理装置４０全体として実現される機能は、例えば、以下の機能(f1)〜(f14)があり、実施形態の動作では、このような全体として実現される機能が各部４２〜４５に分担して実現された一例を述べている。
【００３２】
(f1) ユーザインタフェース装置５０から送信された複数個の対象ＩＤ、親の対象ＩＤ及び複数個の実作業データの入力を受け付ける第１の入力受付機能。
【００３３】
(f2) 各実作業データとともに入力を受け付けた対象ＩＤ毎に親の対象ＩＤと当該各実作業データのうちのいずれかの実作業データとを関連付けた対象テーブル２１を生成し、この対象テーブル２１を対象ＤＢ２０に書き込む対象テーブル生成機能。
【００３４】
(f3) ユーザインタフェース装置５０から送信されたワークフロー定義ＩＤ、親の対象ＩＤ及び開始情報の入力を受け付ける第２の入力受付機能。
【００３５】
(f4) 親の対象ＩＤ及び開始情報とともに入力を受け付けたワークフロー定義ＩＤがワークフロー定義テーブル１１に存在するときに、ワークフロー実体ＩＤを生成し、当該生成したワークフロー実体ＩＤ、ワークフロー定義ＩＤ及び状態として「実行中」を関連付けてワークフロー実体テーブル３１に書き込むワークフロー実体テーブル書込機能。
【００３６】
(f5) 入力を受け付けたワークフロー定義ＩＤについて、ステップ定義遷移テーブル１３を検索し、当該検索結果のうち、先頭の遷移後のステップ定義ＩＤを取得し、ステップ実体ＩＤを生成し、先頭の遷移後のステップ定義ＩＤについて、ステップ定義テーブル１２を検索してタイプを取得し、生成したステップ実体ＩＤと先頭の遷移後のステップ定義ＩＤと、生成したワークフロー実体ＩＤと、タイプと、状態として「実行可能」とを関連付けてステップ実体テーブル３２に書き込むステップ実体テーブル書込機能。
【００３７】
(f6) 生成したワークフロー実体ＩＤ、及び生成したステップ実体ＩＤを遷移後のステップ実体ＩＤとして関連付けてステップ実体遷移テーブル３３に書き込むステップ実体遷移テーブル書込機能。
【００３８】
(f7) ユーザインタフェース装置５０から送信されたステップ実体ＩＤ及び開始情報を受け、ステップ実体テーブル３２内でこのステップ実体ＩＤに対応する状態が「実行可能」を示すとき、この「実行可能」を「実行中」に更新するステップ開始機能。
【００３９】
(f8) 更新した状態のステップ実体ＩＤに対応する対象ＩＤをステップ実体テーブル３２から得ると、この対象ＩＤに基づいて対象テーブル２１から読み出した実作業データをユーザインタフェース装置５０に送信する実作業データ送信機能。
【００４０】
(f9) ユーザインタフェース装置５０から送信されたステップ実体ＩＤ、作業後の実作業データ及び終了情報を受け、ステップ実体テーブル３２内でこのステップ実体ＩＤに対応する状態が「実行中」を示すとき、この「実行中」を「完了」に更新すると共に、このステップ実体ＩＤに対応する対象ＩＤをステップ実体テーブル３２から得ると、この対象ＩＤに基づいて、作業後の実作業データを対象テーブル２１に書き込むステップ終了機能。
【００４１】
(f10) 状態を「完了」に更新した後、当該更新した状態に対応するステップ定義ＩＤを遷移前のステップ定義ＩＤとした場合に、ステップ定義遷移テーブル１３に遷移後のステップ定義ＩＤがあるか否かを判定する遷移後ステップ判定機能。
【００４２】
(f11) この判定の結果、遷移後のステップ定義ＩＤがある場合、当該遷移後のステップ定義ＩＤについてステップ定義テーブル１２によってタイプを判定するタイプ判定機能。
【００４３】
(f12) タイプが「通常」の場合、ステップ実体ＩＤを生成し、得られたステップ実体ＩＤ、当該遷移後のステップ定義ＩＤ、ワークフロー実体ＩＤ、タイプ「通常」、状態「実行可能」及び対象ＩＤを関連付けてステップ実体テーブル３２に書き込むと共に、関連付けたワークフロー実体ＩＤ、遷移前のステップ実体ＩＤ及び遷移後のステップ実体ＩＤをステップ実体遷移テーブル３３に書き込む通常タイプ処理機能。
【００４４】
(f13) タイプが「開始点」の場合、ステップ実体テーブル３２内の親の対象ＩＤに対応する全ての対象ＩＤを対象テーブル２１から取得し、当該取得した対象ＩＤの個数だけステップ実体ＩＤを生成し、得られたステップ実体ＩＤ毎に当該遷移後のステップ定義ＩＤ、ワークフロー実体ＩＤ、タイプ「開始点」、状態「実行可能」及び対象ＩＤを関連付けてステップ実体テーブル３２に書き込むと共に、関連付けたワークフロー実体ＩＤ、遷移前のステップ実体ＩＤ及び遷移後のステップ実体ＩＤをステップ実体遷移テーブル３３に書き込む開始点タイプ処理機能。
【００４５】
(f14) タイプが「合流点」の場合、ステップ実体テーブル３２内の対象ＩＤに対応する親の対象ＩＤを対象テーブル２１から取得し、ステップ実体ＩＤを生成し、得られたステップ実体ＩＤ、当該遷移後のステップ定義ＩＤ、ワークフロー実体ＩＤ、タイプ「合流点」、状態「実行可能」及び親の対象ＩＤを関連付けてステップ実体テーブル３２に書き込むと共に、関連付けたワークフロー実体ＩＤ、遷移前のステップ実体ＩＤ及び遷移後のステップ実体ＩＤをステップ実体遷移テーブル３３に書き込む合流点タイプ処理機能。
【００４６】
次に、以上のような機能を分担して実現するワークフロー処理装置４０の各部４１〜４５について述べる。
【００４７】
記憶部４１は、各部４２〜４５から読出／書込可能なメモリ（記憶手段）である。
【００４８】
ユーザインタフェース通信部４２は、ユーザインタフェース装置５０から送られた命令を記憶部４１に書き込んだ後、記憶部４１内の命令を各処理部４３〜４５のいずれかへ伝達する。また、各処理部４３〜４５より取得した情報を記憶部４１に書き込んだ後、記憶部４１内の情報をユーザインタフェース装置５０に伝達する。
【００４９】
ワークフロー処理部４３は、他の各部４２，４４，４５に制御され、ワークフローＤＢ１０の各定義テーブル１１〜１３に対し、各ＩＤやタイプ、状態等を読出／書込処理や削除処理を行うものである。
【００５０】
対象処理部４４は、他の各部４２，４３，４５に制御され、対象ＤＢ２０の対象テーブル２１に対し、各対象ＩＤや実作業データ等を読出／書込処理や削除処理するものである。
【００５１】
実作業処理部４５は、ワークフロー及び対象の情報より、実作業ＤＢ３０内の各実体テーブル３１〜３３を作成／削除し、また、ユーザインタフェース通信部４２を通じてユーザに実作業データを送信する機能をもっている。
【００５２】
実作業処理部４５は、具体的には図８に示すように、実作業制御部４６、実作業生成部４７及び実作業登録・削除部４８を備えている。
【００５３】
実作業制御部４６は、実体テーブル３１〜３３の生成や取得といった実体テーブル３１〜３３に関して各部４７，４８の各処理を制御する機能をもっている。
【００５４】
実作業生成部４７は、対象処理部４４、ワークフロー処理部４３から実作業制御部４６を通じて情報を取得し、取得した情報を元に実体テーブル３１〜３３を生成する機能をもっている。
【００５５】
実作業登録・削除部４８は、実作業生成部４７によって生成された実体テーブル３１〜３３を実作業制御部４６を通じて取得し、実作業ＤＢ３０に登録する機能をもっている。また、ユーザインタフェース通信部４２より指定された実作業を実作業制御部４６を通じて取得する機能と、実作業ＤＢ３０より削除する機能とをもっている。
【００５６】
なお、このワークフロー処理装置４０は、ハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体からプログラムを読込み可能なコンピュータにインストールされ、ワークフロー処理装置の機能を当該コンピュータに実現させるためのプログラムが用いられる。
【００５７】
ユーザインタフェース装置５０は、データや命令をワークフロー処理装置４０に入力し、ワークフロー処理装置４０から受けたデータを出力する装置である。ワークフローシステムが１台のコンピュータの場合、ユーザインタフェース装置５０は、キーボード、マウス及び表示装置等の入出力装置である。ワークフローシステムがクライアントサーバシステム等の複数台のコンピュータの場合、ユーザインタフェース装置５０はクライアント端末である。
【００５８】
次に、以上のように構成されたワークフローシステムの動作を説明する。なお、以下の説明は、（１：ワークフローの定義）、（２：対象の生成）、（３：ワークフローの実行）、（３−１：ワークフローの開始）、（３−２：ステップの開始）、（３−３：ステップの終了）、（３−４：ワークフローの終了）、の順に述べる。
【００５９】
（１：ワークフローの定義）
ユーザインタフェース装置５０においては、ユーザの操作により、ワークフロー定義ＩＤ、当該ワークフロー定義ＩＤに関連付けた複数のステップ定義ＩＤ、当該各ステップ定義ＩＤに関連付けたタイプ、当該各ステップ定義ＩＤの遷移前後のステップ定義ＩＤ、を含む定義作成情報が入力される。なお、ここでは、入力されるワークフロー定義ＩＤ、各ステップ定義ＩＤ及び各タイプ、をまとめて定義作成情報と呼び、以下の説明では定義作成情報として述べるが、定義作成情報としてまとめずに、その都度、ワークフロー定義ＩＤ、各ステップ定義ＩＤ及び各タイプ、と述べてもよい。
【００６０】
続いて、ユーザインタフェース装置５０においては、ユーザの操作により、ワークフローの定義作成を実行すると、定義作成情報をワークフロー処理装置４０に送信する。
【００６１】
ワークフロー処理装置４０においては、ユーザインタフェース通信部４２が、この送信された定義作成情報の入力を受け付けると、定義作成情報をワークフロー処理部４３に送出する。
【００６２】
ワークフロー処理部４３は、定義作成情報を記憶部４１に書き込むと共に、記憶部４１内の定義作成情報に基づいて、ワークフロー定義テーブル１１、ステップ定義テーブル１２及びステップ定義遷移テーブル１３を生成し、これらワークフロー定義テーブル１１、ステップ定義テーブル１２及びステップ定義遷移テーブル１３をワークフローＤＢ１０に書き込む。
【００６３】
具体的には、ワークフロー処理部４３は、記憶部４１内の定義作成情報のうち、ワークフロー定義ＩＤを保持するワークフロー定義テーブル１１を生成し、このワークフロー定義テーブル１１をワークフローＤＢ１０に書き込む。
【００６４】
また、ワークフロー処理部４３は、記憶部４１内の定義作成情報のうち、ステップ定義ＩＤ、ワークフロー定義ＩＤ及びタイプを互いに関連付けて保持するステップ定義テーブル１２を生成し、このステップ定義テーブル１２をワークフローＤＢ１０に書き込む。
【００６５】
また、ワークフロー処理部４３は、記憶部４１内の定義作成情報のうち、ワークフロー定義ＩＤ、遷移前のステップ定義ＩＤ及び遷移後のステップ定義ＩＤを互いに関連付けて保持するステップ定義遷移テーブル１３を生成し、このステップ定義遷移テーブル１３をワークフローＤＢ１０に書き込む。
【００６６】
（２：対象の作成）
ユーザインタフェース装置５０においては、ユーザの操作により、複数個の対象ＩＤ、親の対象ＩＤ及び複数個の実作業データ、を含む対象テーブル作成情報が入力される。なお、ここでは、入力される複数個の対象ＩＤ、親の対象ＩＤ及び複数個の実作業データ、をまとめて対象テーブル作成情報と呼び、以下の説明では対象テーブル作成情報として述べるが、対象テーブル作成情報としてまとめずに、その都度、複数個の対象ＩＤ、親の対象ＩＤ及び複数個の実作業データ、と述べてもよい。
【００６７】
実作業データとしては、例えば、帳票等の書類のイメージデータ及びＸＭＬデータが用いられる。帳票等のイメージデータは、例えば、図示しないスキャナ装置から帳票等のイメージデータをユーザインタフェース装置５０に取り込むことにより得られる。帳票等のＸＭＬデータは、例えば、取り込んだイメージデータに関し、ユーザインタフェース装置５０がイメージデータ内の文字を識別処理して文字データを作成し、この文字データを予め帳票等のひな型を示すＸＭＬひな型データ内に挿入することにより得られる。但し、実作業データを準備する方法は、スキャナ取り込みに限らず、例えば、予め実作業データを保持した記憶手段から読み出す等といった任意の方法が使用可能となっている。
【００６８】
続いて、ユーザインタフェース装置５０は、ユーザの操作により、対象テーブルの作成を実行すると、対象テーブル作成情報がワークフロー処理装置４０に送信される。
【００６９】
ワークフロー処理装置４０においては、ユーザインタフェース通信部４２が、この送信された対象テーブル作成情報の入力を受け付けると、対象テーブル作成情報を対象処理部４４に送出する。
【００７０】
対象処理部４４は、対象テーブル作成情報を記憶部４１に書き込むと共に、記憶部４１内の対象テーブル作成情報に基づいて、対象ＩＤ毎に親の対象ＩＤと各実作業データのうちのいずれかの実作業データとを関連付けた対象テーブル２１を生成し、この対象テーブル２１を対象ＤＢ２０に書き込む。
【００７１】
（３：ワークフローの実行）
ワークフローは、ワークフローの開始、ステップの開始、ステップの終了、及びワークフローの終了、の順に実行される。
【００７２】
（３−１：ワークフローの開始）
ユーザインタフェース装置５０においては、ユーザによる画面上の操作により、ワークフロー定義ＩＤ、親の対象ＩＤ及び開始情報が入力される。なお、ワークフロー定義ＩＤ、親の対象ＩＤ及び開始情報は、ユーザによる作業開始ボタンの押し操作により、予め作業開始ボタンに関連付けて記憶されたワークフロー定義ＩＤ、親の対象ＩＤ及び開始情報を入力する構成としてもよい。また、予め登録されたワークフロー定義ＩＤに関連するワークフロー名を一覧表示し、選択されたワークフロー名に関連する対象ＩＤを一覧表示し、対象ＩＤを選択することにより、選択されたワークフロー名に関連するワークフロー定義ＩＤと、選択された対象ＩＤと開始情報とを入力する構成としてもよい。
【００７３】
いずれにしても、ユーザインタフェース装置５０においては、ユーザによる画面上の操作により、ワークフローの開始を実行すると、図９に示すように、ワークフロー定義ＩＤ、親の対象ＩＤ及び開始情報をワークフロー処理装置４０に送信する。
【００７４】
ワークフロー処理装置４０においては、ユーザインタフェース通信部４２が、この送信されたワークフロー定義ＩＤ、親の対象ＩＤ及び開始情報の入力を受け付けると、ワークフロー定義ＩＤ、対象ＩＤ及び開始情報を実作業処理部４５に送出する。
【００７５】
実作業処理部４５は、ワークフロー定義ＩＤ、対象ＩＤ及び開始情報を受けると、ワークフロー定義ＩＤ、親の対象ＩＤ及び開始情報を記憶部４１に書き込むと共に、記憶部４１内のワークフロー定義ＩＤ及び親の対象ＩＤに基づいて、ワークフロー定義ＩＤのワークフローをインスタンス化し、得られたワークフロー実体ＩＤ、ワークフロー定義ＩＤ、状態及び親の対象ＩＤを互いに関連付けてワークフロー実体テーブル３１に登録する。
【００７６】
具体的には図１０に示すように、実作業処理部４５においては、実作業制御部４６がワークフロー定義ＩＤ、親の対象ＩＤ及び開始情報を受けると（Ｓ１）、ワークフロー定義ＩＤ及び親の対象ＩＤを記憶部４１に書き込むと共に、記憶部４１内のワークフロー定義ＩＤを含むワークフロー取得指示をワークフロー処理部４３に送出する（Ｓ２）。
【００７７】
ワークフロー処理部４３は、このワークフロー取得指示内のワークフロー定義ＩＤに基づいて、ワークフローＤＢ１０からワークフロー定義テーブル１１内のワークフロー定義ＩＤを取得し（Ｓ３）、ワークフロー定義ＩＤを実作業制御部４６に送出する。
【００７８】
実作業制御部４６は、ワークフロー定義ＩＤを受けると、ステップＳ１で受けた親の対象ＩＤを含む対象取得指示を対象処理部４４に送出する（Ｓ４）。
【００７９】
対象処理部４４は、この対象取得指示内の親の対象ＩＤに基づいて、対象ＤＢ２０から対象テーブル２１内の親の対象ＩＤを取得し（Ｓ５）、親の対象ＩＤを実作業制御部４６に送出する。
【００８０】
実作業制御部４６は、これらワークフロー定義ＩＤ及び親の対象ＩＤを実作業生成部４７に送出する（Ｓ６）。
【００８１】
実作業生成部４７は、ワークフロー定義ＩＤ及び親の対象ＩＤに基づいて、ワークフロー定義ＩＤのワークフローをインスタンス化し、ワークフロー実体ＩＤ、ワークフロー定義ＩＤ、状態及び親の対象ＩＤを得る（Ｓ７）。詳しくは、ステップＳ７で得られた「ワークフロー実体ＩＤ」は、ワークフロー定義ＩＤを部分的に変更したものである。ステップＳ７で得られた「ワークフロー定義ＩＤ」及び親の「対象ＩＤ」は、インスタンス化前の「ワークフロー定義ＩＤ」及び親の「対象ＩＤ」と同一のものである。ステップＳ７で得られた「状態」は「実行中」を示す値である。また、実作業生成部４７は、得られたワークフロー実体ＩＤ、ワークフロー定義ＩＤ、状態及び親の対象ＩＤを実作業制御部４６に送出する。
【００８２】
実作業制御部４６は、ワークフロー実体ＩＤ、ワークフロー定義ＩＤ、状態及び親の対象ＩＤを受けると、ワークフロー実体ＩＤ、ワークフロー定義ＩＤ、状態及び親の対象ＩＤを実作業登録・削除部４８及びユーザインタフェース通信部４２に送出する（Ｓ８）。
【００８３】
実作業登録・削除部４８は、これらワークフロー実体ＩＤ、ワークフロー定義ＩＤ、状態及び親の対象ＩＤを互いに関連付けて実作業ＤＢ３０内のワークフロー実体テーブル３１に登録する（Ｓ９）。
【００８４】
一方、ユーザインタフェース通信部４２は、ワークフロー実体ＩＤ、ワークフロー定義ＩＤ、状態及び親の対象ＩＤをユーザインタフェース装置５０に送信する。ユーザインタフェース装置５０は、ワークフロー実体ＩＤ、ワークフロー定義ＩＤ、状態及び親の対象ＩＤを画面に表示する。
【００８５】
また、実作業制御部４６は、ワークフロー実体テーブル３１の登録後、ワークフロー実体テーブル３１内のワークフロー実体ＩＤ及び親の対象ＩＤを含むステップ取得指示をワークフロー処理部４３に送出する。
【００８６】
ワークフロー処理部４３は、このステップ取得指示内のワークフロー実体ＩＤに基づいて、ステップ定義テーブル１２内のステップ定義ＩＤ、ワークフロー定義ＩＤ及びタイプを取得し、これらステップ定義ＩＤ、ワークフロー定義ＩＤ及びタイプと、ステップ取得指示内のワークフロー実体ＩＤ及び親の対象ＩＤとを実作業制御部４６に送出する。
【００８７】
実作業制御部４６は、これらステップ定義ＩＤ、ワークフロー定義ＩＤ及びタイプと、ワークフロー実体ＩＤ及び親の対象ＩＤとを実作業生成部４７に送出する。
【００８８】
実作業生成部４７は、ステップ定義ＩＤ、ワークフロー定義ＩＤ及びタイプと、ワークフロー実体ＩＤ及び親の対象ＩＤとに基づいて、ワークフローの最初に定義されているステップをインスタンス化し、得られたステップ実体ＩＤ、ステップ定義ＩＤ、ワークフロー実体ＩＤ、タイプ、状態及び親の対象ＩＤを実作業制御部４６に送出する。補足すると、得られたステップ実体ＩＤは、ステップ定義ＩＤを部分的に変更したものである。得られた「状態」は、「実行可能」を示す値である。得られたステップ定義ＩＤ、ワークフロー実体ＩＤ、タイプ、及び親の対象ＩＤは、インスタンス化前と同一のものである。
【００８９】
実作業制御部４６は、ステップ実体ＩＤ、ステップ定義ＩＤ、ワークフロー実体ＩＤ、タイプ、状態及び親の対象ＩＤを実作業登録・削除部４８に送出する。
【００９０】
実作業登録・削除部４８は、ステップ実体ＩＤ、ステップ定義ＩＤ、ワークフロー実体ＩＤ、タイプ、状態及び親の対象ＩＤを互いに関連付けて実作業ＤＢ３０内のステップ実体テーブル３２に書き込む。
【００９１】
また、実作業制御部４６は、ステップ実体テーブル３２の登録後、ステップ実体テーブル３２内のワークフロー実体ＩＤを含むステップ遷移取得指示をワークフロー処理部４３に送出する。
【００９２】
ワークフロー処理部４３は、このステップ取得指示内のワークフロー実体ＩＤに基づいて、ステップ定義遷移テーブル１３内のワークフロー実体ＩＤ、遷移前のステップ定義ＩＤ及び遷移後のステップ定義ＩＤを取得し、これらワークフロー実体ＩＤ、遷移前のステップ定義ＩＤ及び遷移後のステップ定義ＩＤを実作業制御部４６に送出する。
【００９３】
実作業制御部４６は、ワークフロー実体ＩＤ、遷移前のステップ定義ＩＤ及び遷移後のステップ定義ＩＤを実作業生成部４７に送出する。
【００９４】
実作業生成部４７は、ワークフロー実体ＩＤ、遷移前のステップ定義ＩＤ及び遷移後のステップ定義ＩＤに基づいて、ワークフローの遷移前後のステップをインスタンス化し、得られたワークフロー実体ＩＤ、遷移前のステップ実体ＩＤ及び遷移後のステップ実体ＩＤを実作業制御部４６に送出する。ここで、得られた遷移前のステップ実体ＩＤ及び遷移後のステップ実体ＩＤは、それぞれインスタンス化前の遷移前のステップ定義ＩＤ及び遷移後のステップ定義ＩＤを部分的に変更したものである。得られたワークフロー実体ＩＤは、インスタンス化前のワークフロー実体ＩＤと同一のものである。
【００９５】
実作業制御部４６は、ワークフロー実体ＩＤ、遷移前のステップ実体ＩＤ及び遷移後のステップ実体ＩＤを実作業登録・削除部４８に送出する。
【００９６】
実作業登録・削除部４８は、ワークフロー実体ＩＤ、遷移前のステップ実体ＩＤ及び遷移後のステップ実体ＩＤを互いに関連付けて実作業ＤＢ３０内のステップ実体遷移テーブル３３に登録する。なお、遷移前のステップ実体ＩＤのうち、最初のステップ実体ＩＤは、「ＮＵＬＬ」を示す値である。
【００９７】
（３−２：ステップの開始）
ユーザインタフェース装置５０は、ユーザによる画面上の操作により、ステップの開始を実行すると、開始するステップのステップ実体ＩＤと開始情報をワークフロー処理装置４０に送信する。
【００９８】
ワークフロー処理装置４０においては、ユーザインタフェース通信部４２が、このステップ実体ＩＤ及び開始情報を実作業処理部４５に送出する。
【００９９】
実作業処理部４５は、このステップ実体ＩＤと開始情報を受けると、このステップ実体ＩＤに基づいて実作業ＤＢ３０のステップ実体テーブル３２を検索し、ステップ実体テーブル３２において、このステップ実体ＩＤに対応する「状態」が「実行可能」であれば、その「状態」を「実行中」に更新する。
【０１００】
また、実作業処理部４５は、ステップ実体テーブル３２において、この検索に用いたステップ実体ＩＤに対応する対象ＩＤを得ると、この対象ＩＤを含む実作業データ取得指示を対象処理部４４に送出する。対象処理部４４は、この実作業データ取得指示内の対象ＩＤに基づいて対象ＤＢ２０内の対象テーブル２１から実作業データを読み出すと、この実作業データを実作業処理部４５に送出する。
【０１０１】
実作業処理部４５は、この実作業データをユーザインタフェース通信部４２に送出する。ユーザインタフェース通信部４２は、この実作業データをユーザインタフェース装置５０に送信する。
【０１０２】
ユーザインタフェース装置５０は、この実作業データを画面表示する。これにより、ユーザインタフェース装置５０は、ステップ内における実作業データに対する作業が可能となる。ここで、実作業データに対する作業とは、例えば、実作業データに対し、ステップ毎の作業データを追加することにより、実作業データを更新する処理を意味している。追加される作業データは、例えば、元の実作業データと、修正後の実作業データとの差分を表す差分データでもよく、修正後の実作業データ全体でもよい。
【０１０３】
（３−３：ステップの終了）
ユーザインタフェース装置５０は、ユーザによる画面上の操作により、ステップの終了を実行すると、終了するステップのステップ実体ＩＤ、更新後の実作業データ及び終了情報をワークフロー処理装置４０に送信する。
【０１０４】
ワークフロー処理装置４０においては、ユーザインタフェース通信部４２が、このステップ実体ＩＤ、実作業データ及び終了情報を実作業処理部４５に送出する。
【０１０５】
実作業処理部４５は、ステップ実体ＩＤ、作業後の実作業データ及び終了情報を受けると、このステップ実体ＩＤに基づいて、実作業ＤＢ３０のステップ実体テーブル３２を検索し、ステップ実体テーブル３２において、このステップ実体ＩＤに対応する「状態」を「完了」に更新すると共に、このステップ実体ＩＤに対応する対象ＩＤをステップ実体テーブル３２から得ると、この対象ＩＤ及び作業後の実作業データを含む実作業データ更新指示を対象処理部４４に送出する。対象処理部４４は、この実作業データ取得指示内の対象ＩＤに基づいて、作業後の実作業データを対象ＤＢ２０内の対象テーブル２１に書き込む。
【０１０６】
「状態」及び「実作業データ」の更新後、実作業処理部４５は、当該更新した「状態」に対応するステップ定義ＩＤを遷移前のステップ定義ＩＤとした場合に、遷移後のステップ定義ＩＤ（次に実行するステップのステップ定義ＩＤ）がステップ定義遷移テーブル１３にあるか否かを判定する。この判定の結果、遷移後のステップ定義ＩＤがある場合、実作業処理部４５は、ステップ定義遷移テーブル１３内の遷移後のステップ定義ＩＤを取得し、この遷移後のステップ定義ＩＤに基づいて、ステップ定義テーブル１２内のタイプを判定する。この判定の結果、得られるタイプは、「通常」、「開始点」又は「合流点」のいずれかである。
【０１０７】
タイプが「通常」の場合、実作業処理部４５は、遷移後のステップをインスタンス化し、得られたステップ実体ＩＤ、ステップ定義ＩＤ、ワークフロー実体ＩＤ、タイプ、状態及び対象ＩＤを互いに関連付けてステップ実体テーブル３２に登録する。ここで、得られたステップ実体ＩＤは、遷移後のステップ定義ＩＤを部分的に変更したものである。得られたステップ定義ＩＤ、ワークフロー実体ＩＤ及びタイプは、遷移後のステップ定義ＩＤに基づいてステップ定義テーブル１２から読み出されたものである。得られた対象ＩＤは、遷移前のステップ定義ＩＤに対応するステップ実体テーブル３２内の対象ＩＤと同じである。得られた「状態」は「実行可能」を示す値である。また、実作業処理部４５は、終了したステップ実体と次に実行するステップ実体の遷移を示すように、互いに関連付けたワークフロー実体ＩＤ、遷移前のステップ実体ＩＤ及び遷移後のステップ実体ＩＤをステップ実体遷移テーブル３３に登録する。
【０１０８】
タイプが「開始点」の場合、実作業処理部４５は、ステップ実体テーブル３２内の親の対象ＩＤを対象処理部４４に送出する。対象処理部４４は、対象ＤＢ２０内の対象テーブル２１からこの親の対象ＩＤに対応する全ての対象ＩＤ（子の対象ＩＤ）を取得して実作業処理部４５に送出する。実作業処理部４５は、子の対象ＩＤを記憶部４１に記憶すると共に、記憶部４１内の子の対象ＩＤの個数だけ、ステップをインスタンス化し、得られたステップ実体ＩＤ、ステップ定義ＩＤ、ワークフロー実体ＩＤ、タイプ、状態及び対象ＩＤを互いに関連付けてステップ実体テーブル３２に登録する。ここで、得られた複数個のステップ実体ＩＤは、遷移後のステップ定義ＩＤを部分的に変更したものであり、互いに異なる値を示している。また、ここで得られるステップ実体ＩＤの個数は、（２：対象の作成）において、入力を受け付けた対象ＩＤの個数と一致している。得られたステップ定義ＩＤ及びタイプは、遷移後のステップ定義ＩＤに基づいてステップ定義テーブル１２から読み出されたものである。得られたワークフロー実体ＩＤは、遷移前のステップのステップ実体テーブル３２から読み出されたものである。得られた対象ＩＤは、遷移前のステップ定義ＩＤに対応するステップ実体テーブル３２内の対象ＩＤと同じである。得られた「状態」は「実行可能」を示す値である。また、実作業処理部４５は、終了したステップ実体と次に実行するステップ実体の遷移を示すように、互いに関連付けたワークフロー実体ＩＤ、遷移前のステップ実体ＩＤ及び遷移後のステップ実体ＩＤをステップ実体遷移テーブル３３に登録する。
【０１０９】
タイプが「合流点」の場合、実作業処理部４５は、ステップ実体テーブル３２内の対象ＩＤを対象処理部４４に送出する。対象処理部４４は、対象ＤＢ２０内の対象テーブルから当該対象ＩＤに対応する親の対象ＩＤを取得して実作業処理部４５に送出する。実作業処理部４５は、この親の対象ＩＤに対応するステップをインスタンス化し、得られたステップ実体ＩＤ、ステップ定義ＩＤ、ワークフロー実体ＩＤ、タイプ、状態及び対象ＩＤを互いに関連付けてステップ実体テーブル３２に登録する。ここで、得られたステップ実体ＩＤは、遷移後のステップ定義ＩＤを部分的に変更したものである。得られたステップ定義ＩＤ及びタイプは、遷移後のステップ定義ＩＤに基づいてステップ定義テーブル１２から読み出されたものである。得られたワークフロー実体ＩＤは、遷移前のステップのステップ実体テーブル３２から読み出されたものである。得られた対象ＩＤは、遷移前のステップ定義ＩＤに対応するステップ実体テーブル３２内の対象ＩＤと同じである。得られた「状態」は「実行可能」を示す値である。また、実作業処理部４５は、終了したステップ実体と次に実行するステップ実体の遷移を示すように、互いに関連付けたワークフロー実体ＩＤ、遷移前のステップ実体ＩＤ及び遷移後のステップ実体ＩＤをステップ実体遷移テーブル３３に登録する。
【０１１０】
一方、実作業処理部４５は、次に実行するステップのステップ定義ＩＤがステップ定義遷移テーブル１３にあるか否かを判定した結果、存在しない場合には、ワークフローの終了処理を実行する。
【０１１１】
（３−４：ワークフローの終了）
実作業処理部４５は、次に実行するステップのステップ定義ＩＤがステップ定義遷移テーブル１３に無いと判定された場合、実作業ＤＢ３０内のワークフロー実体テーブル３１の「状態」を「完了」に更新する。
【０１１２】
上述したように本実施形態によれば、作業が分岐する開始点処理において、親の対象ＩＤに対応する全ての対象ＩＤを対象テーブルから取得し、当該取得した対象ＩＤの個数だけステップ定義ＩＤからステップ実体ＩＤを生成する構成により、ワークフローを定義する各定義テーブルを修正することなく、分岐する作業の数だけステップ実体ＩＤ毎のステップ実体を実行可能としたため、作業を実行するユーザの人数変更に伴うワークフローの修正を不要にすることができる。
【０１１３】
補足すると、本実施形態は、複数のステップとそのステップ内で実行する作業を定義する「定義」と、ユーザにより各ステップが実行される際に定義より実体化される「実作業」と、ワークフローの流れに乗って処理される木構造として表現可能なデータの固まりである「対象」とを持つ構成により、対象の木構造を元に実作業を分割することで作業の分岐を実現させることができる。また、ワークフローにおける分岐の数に関する情報をワークフローを流れる「対象」に持たせることで作業分岐により発生するワークフローの修正を不要にすることができる。
【０１１４】
また、対象の木構造の変更に合わせて実作業を動的に変更し作業分岐を実行することができる。また、対象の構造に合わせて動的に作業分岐できるので、作業分岐によるワークフローの修正を不要にしてワークフローの管理コストを抑制することができる。
【０１１５】
（第２の実施形態）
次に、本発明の第２の実施形態に係るワークフロー処理装置について説明する。
【０１１６】
本実施形態は、第１の実施形態の変形例であり、分岐する各ステップにユーザを割り付けるものであり、具体的には図１１に示すように、予めロールテーブル１４ａ、ユーザテーブル１４ｂ及びロール・ステップ関係定義テーブル１５を定義しておき、実作業時に、ロール・ユーザ関係テーブル３４及びロール・ステップ関係実体テーブル３５を生成する構成となっている。また、これに伴い、実作業処理部４５は、実作業データを送付する前に、ユーザ認証を行う機能が付加されている。
【０１１７】
ここで、ロールテーブル１４ａは、予めユーザによるユーザインタフェース装置５０の操作によりユーザインタフェース通信部４２及びワークフロー処理部４３を介してワークフローＤＢ１０に登録され、ロールＩＤ、ロール名及びロールの説明を互いに関連付けて記憶するものである。ここで、ロールとはステップの役割を意味している。
【０１１８】
ユーザテーブル１４ｂは、予めユーザによるユーザインタフェース装置５０の操作によりユーザインタフェース通信部４２及びワークフロー処理部４３を介してワークフローＤＢ１０に登録され、ユーザＩＤ、ユーザ名及びパスワードを互いに関連付けて記憶するものである。
【０１１９】
ロール・ステップ関係定義テーブル１５は、予めユーザによるユーザインタフェース装置５０の操作によりユーザインタフェース通信部４２及びワークフロー処理部４３を介してワークフローＤＢ１０に登録され、ロールＩＤ及びステップ定義ＩＤを互いに関連付けて記憶するものである。
【０１２０】
ロール・ユーザ関係テーブル３４は、ロールテーブル１４ａ内のロールＩＤ及びユーザテーブル１４ｂ内のユーザＩＤに基づいて実作業処理部４５により実作業ＤＢ３０に登録され、ロールＩＤ及びユーザＩＤを互いに関連付けて記憶するものである。
【０１２１】
ロール・ステップ関係実体テーブル３５は、ロール・ステップ関係定義テーブル１５内のロールＩＤ及びステップ定義ＩＤに基づいて実作業処理部４５により生成されたロールＩＤ及びステップ実体ＩＤを互いに関連付けて記憶するものであり、実作業ＤＢ３０に登録される。
【０１２２】
次に、以上のように構成されたワークフロー処理装置の動作を説明する。  
始めに、前述した（１：ワークフローの定義）の動作は前述同様に実行される。続いて、ユーザインタフェース装置５０においては、ユーザの操作により、ロールＩＤ、ロール名及びロールの説明、を含むロールテーブル作成情報が入力される。
【０１２３】
また、ユーザインタフェース装置５０においては、ユーザの操作により、ロールテーブル作成を実行すると、ロールテーブル作成情報をワークフロー処理装置４０に送信する。
【０１２４】
ワークフロー処理装置４０においては、ユーザインタフェース通信部４２が、この送信されたロールテーブル作成情報の入力を受け付けると、ロールテーブル作成情報をワークフロー処理部４３に送出する。
【０１２５】
ワークフロー処理部４３は、ロールテーブル作成情報を記憶部４１に書き込むと共に、記憶部４１内のロールテーブル作成情報に基づいて、ロールテーブル作成情報内のロールＩＤ、ロール名及びロールの説明を互いに関連付けたロールテーブル１４ａを作成し、このロールテーブル１４ａをワークフローＤＢ１０に書き込む。
【０１２６】
同様に、ユーザインタフェース装置５０においては、ユーザの操作により、ユーザＩＤ、ユーザ名及びパスワード、を含むユーザテーブル作成情報が入力される。
【０１２７】
また、ユーザインタフェース装置５０においては、ユーザの操作により、ユーザテーブル作成を実行すると、ユーザテーブル作成情報をワークフロー処理装置４０に送信する。
【０１２８】
ワークフロー処理装置４０においては、ユーザインタフェース通信部４２が、この送信されたユーザテーブル作成情報の入力を受け付けると、ユーザテーブル作成情報をワークフロー処理部４３に送出する。
【０１２９】
ワークフロー処理部４３は、ユーザテーブル作成情報を記憶部４１に書き込むと共に、記憶部４１内のユーザテーブル作成情報に基づいて、ユーザテーブル作成情報内のユーザＩＤ、ユーザ名及びパスワードを互いに関連付けたユーザテーブル１４ｂを作成し、このユーザテーブル１４ｂをワークフローＤＢ１０に書き込む。
【０１３０】
また同様に、ユーザインタフェース装置５０においては、ユーザの操作により、ロールＩＤ及びステップ定義ＩＤ、を含む関係定義テーブル作成情報が入力される。
【０１３１】
また、ユーザインタフェース装置５０においては、ユーザの操作により、関係定義テーブル作成を実行すると、関係定義テーブル作成情報をワークフロー処理装置４０に送信する。
【０１３２】
ワークフロー処理装置４０においては、ユーザインタフェース通信部４２が、この送信された関係定義テーブル作成情報の入力を受け付けると、関係定義テーブル作成情報をワークフロー処理部４３に送出する。
【０１３３】
ワークフロー処理部４３は、関係定義テーブル作成情報を記憶部４１に書き込むと共に、記憶部４１内の関係定義テーブル作成情報に基づいて、関係定義テーブル作成情報内のロールＩＤ及びステップ定義ＩＤを互いに関連付けたロール・ステップ関係定義テーブル１５を作成し、このロール・ステップ関係定義テーブル１５をワークフローＤＢ１０に書き込む。
【０１３４】
次に、前述した（２：対象の作成）及び（３−１：ワークフローの開始）の動作は前述同様に実行される。この（３−１：ワークフローの開始）の動作において、実作業処理部４５は、開始情報を受けるステップＳ１よりも後の任意のタイミングで、ワークフローＤＢ１０からワークフロー処理部４３により読み出したロールテーブル１４ａ内のロールＩＤ及びユーザテーブル１４ｂ内のユーザＩＤに基づいて、当該ロールＩＤ及びユーザＩＤを互いに関連付けたロール・ユーザ関係テーブル３４を生成し、このロール・ユーザ関係テーブル３４を実作業ＤＢ３０に書き込む。
【０１３５】
同様に、実作業処理部４５は、開始情報を受けるステップＳ１よりも後の任意のタイミングで、ワークフローＤＢ１０からワークフロー処理部４３により読み出したロール・ステップ関係定義テーブル１５内のロールＩＤ及びステップ定義ＩＤに基づいてロールＩＤ及びステップ実体ＩＤを互いに関連付けたロール・ステップ関係実体テーブル３５を生成し、このロール・ステップ関係テーブル３５を実作業ＤＢ３０に書き込む。
【０１３６】
このロール・ユーザ関係テーブル３４及びロール・ステップ関係実体テーブル３５により、ステップ実体ＩＤとユーザＩＤとがロールＩＤを介して関連付けられるので、ステップにユーザを割り付けることができる。
【０１３７】
続いて、（３−２：ステップの開始）の動作は、実作業データを送信する動作を除き、前述同様に実行される。実作業データを送信する動作は、次のようにユーザ認証動作が付加されて実行される。
【０１３８】
すなわち、実作業処理部４５は、状態を更新したステップ実体ＩＤ（＝検索に用いたステップ実体ＩＤ）に対応するロール・ステップ関係実体テーブル３５内のロールＩＤを得た後、このロールＩＤに対応するロール・ユーザ関係テーブル３４内のユーザＩＤを得ると、このユーザＩＤに対応するユーザ名を、実作業データを送信していない段階でユーザインタフェース通信部４２からユーザインタフェース装置５０に送信する。
【０１３９】
また、実作業処理部４５は、ユーザ名の送信後、ユーザインタフェース通信部４２によりユーザインタフェース装置５０からユーザＩＤ及びパスワードを受けると、このユーザＩＤ及びパスワードをユーザテーブル１４ｂに基づいて検証し、検証結果が正当のとき、実作業データの送信を許可する。
【０１４０】
これにより、前述した実作業データの送信が実行される。
【０１４１】
以下、（３−３：ステップの終了）及び（３−４：ワークフローの終了）の動作は、割り付けられたユーザによるユーザインタフェース装置５０の操作に基づき、前述同様に実行される。
【０１４２】
上述したように本実施形態によれば、ロールテーブル１４ａ、ユーザテーブル１４ｂ及びロール・ステップ関係定義テーブル１５を定義してロール・ユーザ関係テーブル３４及びロール・ステップ関係実体テーブル３５を生成する構成により、生成したロール・ユーザ関係テーブル３４及びロール・ステップ関係実体テーブル３５によってステップ実体ＩＤとユーザＩＤとがロールＩＤを介して関連付けられるので、第１の実施形態の効果に加え、ステップにユーザを割り付けることができ、また、実作業データの送信前にユーザ認証を行う場合には、ユーザの割り付けをより確実に行うことができる。
【０１４３】
補足すると、本実施形態は、実作業にユーザを割り当てる構成により、ユーザ毎に実行できる実作業を管理でき、また、実作業毎のアクセス権管理を実現させることができる。
【０１４４】
なお、上記実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フロッピー（登録商標）ディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤなど）、光磁気ディスク（ＭＯ）、半導体メモリなどの記憶媒体に格納して頒布することもできる。
【０１４５】
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
【０１４６】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているＯＳ（オペレーティングシステム）や、データベース管理ソフト、ネットワークソフト等のＭＷ（ミドルウェア）等が上記実施形態を実現するための各処理の一部を実行しても良い。
【０１４７】
さらに、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、ＬＡＮやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
【０１４８】
また、記憶媒体は１つに限らず、複数の媒体から上記実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
【０１４９】
尚、本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記実施形態における各処理を実行するものであって、パソコン等の１つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
【０１５０】
また、本発明におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【０１５１】
なお、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組合せてもよい。
【符号の説明】
【０１５２】
１０…ワークフローＤＢ、１１…ワークフロー定義テーブル、１２…ステップ定義テーブル、１３…ステップ定義遷移テーブル、１４ａ…ロールテーブル、１４ｂ…ユーザテーブル、１５…ロール・ステップ関係定義テーブル、２０…対象ＤＢ、２１…対象テーブル、３０…実作業ＤＢ、３１…ワークフロー実体テーブル、３２…ステップ実体テーブル、３３…ステップ実体遷移テーブル、３４…ロール・ユーザ関係テーブル、３５…ロール・ステップ関係実体テーブル、４０…ワークフロー処理装置、４１…記憶部、４２…ユーザインタフェース通信部、４３…ワークフロー処理部、４４…対象処理部、４５…実作業処理部、４６…実作業制御部、４７…実作業生成部、４８…実作業登録・削除部、５０…ユーザインタフェース装置。
【図１】
2010224955.tif 000003
【図２】
2010224955.tif 000004
【図３】
2010224955.tif 000005
【図４】
2010224955.tif 000006
【図５】
2010224955.tif 000007
【図６】
2010224955.tif 000008
【図７】
2010224955.tif 000009
【図８】
2010224955.tif 000010
【図９】
2010224955.tif 000011
【図１０】
2010224955.tif 000012
【図１１】
2010224955.tif 000013
【図１２】
2010224955.tif 000014