(57)【要約】【課題】予めワークフロー定義時に連携を記述することなく、ワークフロー毎に必要に応じて任意の数の他のワークフローと連携可能とする。【解決手段】接続点格納部１１７は接続点を格納する。接続点は、個々のワークフローを連携させるための情報であって、接続元情報と接続先情報とを含む。接続元はワークフロー、アクティビティなどであり、接続先はアクティビティ、ワークフロー定義などである。ユーザは、例えばあるワークフローを起動し、別なワークフローとの連携が必要であると認識した時点で、接続点管理部１１８を通じて接続点を定義する。実行制御部１１１は、ワークフロー、アクティビティの実行終了時に、それを接続元情報とする接続点が存在するとき、その接続点の接続先情報が示すワークフローのアクティビティを終了とするか、その接続点の接続先情報が示すワークフロー定義を起動する。【選択図】図１
2008065580.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、
接続元ワークフローを選択して接続元情報とする接続元選択手段と、
接続先ワークフローのアクティビティを選択して接続先情報とする接続先選択手段と、
上記接続元選択情報で選択された接続元情報および上記接続先選択手段で選択された接続先情報を含む接続点を格納する接続点格納手段と、
ワークフローの実行が終了した場合、該終了したワークフローを接続元情報とする接続点が上記接続点格納手段に格納されているとき、該接続点の接続先情報が示すワークフローのアクティビティの状態を完了とする制御手段と
して機能させるためのワークフロー連携プログラム。
【請求項２】
コンピュータを、
接続元ワークフローのアクティビティを選択して接続元情報とする接続元選択手段と、
接続先ワークフローのアクティビティを選択して接続先情報とする接続先選択手段と、
上記接続元選択情報で選択された接続元情報および上記接続先選択手段で選択された接続先情報を含む接続点を格納する接続点格納手段と、
アクティビティの実行が終了した場合、該終了したアクティビティを接続元情報とする接続点が上記接続点格納手段に格納されているとき、該接続点の接続先情報が示すワークフローのアクティビティの状態を完了とする制御手段と
して機能させるためのワークフロー連携プログラム。
【請求項３】
コンピュータを、
接続元ワークフローを選択して接続元情報とする接続元選択手段と、
接続先ワークフロー定義を選択して接続先情報とする接続先選択手段と、
上記接続元選択情報で選択された接続元情報および上記接続先選択手段で選択された接続先情報を含む接続点を格納する接続点格納手段と、
ワークフローの実行が終了した場合、該終了したワークフローを接続元情報とする接続点が上記接続点格納手段に格納されているとき、該接続点の接続先情報が示すワークフロー定義を起動する制御手段と
して機能させるためのワークフロー連携プログラム。
【請求項４】
上記コンピュータを、
接続元ワークフローが持つ属性と、接続先ワークフローが持つ属性の対応をエントリーとし、該エントリーを含む属性マッピングを定義する属性マッピング定義手段として機能させ、
上記接続点格納手段は、上記属性マッピング定義手段で定義された属性マッピングをさらに格納し、
上記制御手段は、接続元終了のときに、上記属性マッピングに基づいて接続先のワークフローの属性を設定する
請求項１から３のいずれかに記載のワークフロー連携プログラム。
【請求項５】
上記属性マッピングのエントリーが、接続元ワークフローが持つ属性を項として含む式と接続先ワークフローが持つ属性との対応を含み、
上記接続先のワークフローの属性に対して上記式の評価結果の値を設定する
請求項４に記載のワークフロー連携プログラム。
【請求項６】
上記接続元のワークフローは上記コンピュータを備えるワークフロー管理システムで管理され、上記接続先のワークフローは上記コンピュータとは異なる他のコンピュータを備える他のワークフロー管理システムで管理され、
上記コンピュータを、
上記他のワークフロー管理システムから上記接続元の終了を検知する終了検知手段と、
上記他のワークフロー管理システムから上記接続元の属性を読み込む属性読み込み手段としてさらに機能させる
請求項４に記載のワークフロー連携プログラム。
【請求項７】
上記接続先のワークフローは上記コンピュータを備えるワークフロー管理システムで管理され、上記接続元のワークフローは上記コンピュータとは異なる他のコンピュータを備える他のワークフロー管理システムで管理され、
上記コンピュータを、
上記他のワークフロー管理システムの上記接続先に属性を書き込む属性書き込み手段としてさらに機能させる
請求項４に記載のワークフロー連携プログラム。
【請求項８】
上記コンピュータを、
上記接続点格納手段に格納されている接続元情報および接続先情報に基づき、連携したワークフローの実行の履歴を辿る履歴探索手段としてさらに機能させる
請求項１から７のいずれかに記載のワークフロー連携プログラム。
【請求項９】
複数のアクティビティ毎に予め順序や条件がワークフロー定義として定義された個々のワークフローの実行を管理するワークフロー管理システムであって、
接続元ワークフローまたは接続元ワークフローのアクティビティを選択して接続元情報とする接続元選択手段と、
接続先ワークフローのアクティビティまたは接続先ワークフロー定義を選択して接続先情報とする接続先選択手段と、
上記接続元選択情報で選択された接続元情報および上記接続先選択手段で選択された接続先情報を含む接続点を格納する接続点格納手段と、
上記ワークフローまたは上記ワークフローのアクティビティの実行を終了した場合、該終了したワークフローまたは該終了したワークフローのアクティビティを接続元情報とする接続点が上記接続点格納手段に格納されているとき、該接続点の接続先情報が示すワークフローのアクティビティを終了とするか、該接続点の接続先情報が示すワークフロー定義を起動する制御手段と
を備えるワークフロー管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ワークフロー連携プログラムおよびワークフロー管理システムに関する。
【背景技術】
【０００２】
近年、オフィスや事業所などにおいては、コンピュータネットワークを利用し、従来の紙文書における回覧や申請・承認を電子化したワークフロー管理システムの導入が進められている。ワークフロー管理システムの導入により、紙文書の配送に掛かる遅延を省いて迅速なプロセスを実行でき、実行状況の即時把握や実行履歴に基づいてプロセスの改善につなげることも可能となる。
【０００３】
非特許文献１および非特許文献２で紹介されているワークフロー管理システムでは、業務の流れを予めワークフロー定義として定義しておくことにより、アクティビティと呼ばれる作業単位毎の実行順序や関連データ(表示・入力するデータ項目や回覧する文書であって、以下「属性」という)の受け渡しが自動化され各作業の状態などの管理が可能となる。
【０００４】
なお、ここで、ワークフロー関連仕様の標準化団体であるWorkflowManagement Coalitionによる用語定義（WfMC, “Terminology& Glossary”, TC-1011, Feb. 1999）を説明する。
【０００５】
（１）プロセス定義 (Process Definition)
プロセス定義は、ワークフロー管理システムによるモデル化や実行などの処理の自動化が支援可能な形式でのビジネス・プロセスの表現形式を意味する。このプロセス定義は、アクティビティとそれらの関係によるネットワークと個々のアクティビティに関する情報で構成される。関係としてはプロセスの開始および終了条件などがあり、アクティビティの情報としては実行主体や関係するＩＴアプリケーションやデータなどがある。
【０００６】
（２）アクティビティ (Activity)
アクティビティは、同プロセス内の論理的な１ステップを形成する作業の1部分をいう。このアクティビティは、コンピュータによる自動化がサポートされない手動アクティビティであっても、ワークフローにより自動化されたアクティビティであってもよい。ワークフロー・アクティビティは、プロセスの実行のために人的リソースかマシン・リソースあるいはその両方を必要とする。人的リソースはワークフローの実行主体としてアクティビティに割り当てるのに必要となる。
【０００７】
（３）プロセス・インスタンス (Process Instance)
プロセス・インスタンスは、プロセスの単一の実行を表す。
【０００８】
（４）サブ・プロセス (Sub Process)
サブ・プロセスは、起動する別のプロセスあるいはサブ・プロセスにより、実行あるいは呼び出されたプロセスを意味し、起動したプロセスの一部をなしている。複数レベルのサブ・プロセスがサポートされてもよい。
【０００９】
以下、プロセス定義を「ワークフロー定義」あるいは単に「定義」といい、またプロセス・インスタンスを「ワークフロー」という。
【００１０】
従来、ワークフロー定義作成時に、他のワークフローの起動や待ち合わせ機能を持つアクティビティを用いて連携を記述する技術が知られている。[WfMC-TC-1012]には、次のタイプの連携が記述されている。引継ぎ型(Chainedsub-process)は、他のワークフローを起動する。請負型(Nested sub-process)は、他のワークフローを起動し終了を待ち合わせる。並行同期型(Parallel synchronized sub-process)は、ワークフローのアクティビティ間で同期を取る。
【００１１】
図２５（Ａ）は、予め連携に関して定義に記述しておき、複数のワークフローを連携させる「事前定義連携」を示している。図示の例は、定義Ａ，Ｂの２つのワークフローが連携されていることを示している。この事前定義連携では、図２５（Ｂ）に示すように、同じ定義に基づいて起動された全てのワークフローは同じように連携する。
【００１２】
また、実行時に動的に経路を変更する技術として、従来、個々のワークフロー毎にアクティビティの追加・削除などのフローの変更を許容する技術が知られている。図２６は、必要に応じてフローを変更する「動的フロー変更」を示している。図示の例は、定義Ｃのワークフローが、ワークフローＷＦ１〜ＷＦ３などに変更されることを示している。
【００１３】
特許文献１には、予め開始/終了や呼び出し/戻りノードに対する連係情報を定義し、複数サーバ間でサブフローを実現することが記載されている。特許文献２には、ワークフロー実行中に単位作業工程を指定したワークフロー定義の内容に置き換え前後の作業工程と連結することが記載されている。特許文献３には、ワークフローを実行中に単位作業工程の一部の作業を分割して他の作業者に割り当てられるようにすることが記載されている。
【特許文献１】特開平０８−１２３７４４号公報
【特許文献２】特開平０８−１３７９４７号公報
【特許文献３】特開２００３−９１６２５号公報
【非特許文献１】日経コンピュータ 『業務の連携を自動化時間短縮と管理を実現』1994年5月2日 336号 pp.57-67
【非特許文献２】日経コンピュータ 『ワークフローで仕事を変える』 1996年3月4日 386号 pp.129-142
【発明の開示】
【発明が解決しようとする課題】
【００１４】
予めワークフロー定義時に連携を記述することなく、また定義の編集権限など特殊な権限を必要とせずに一般の利用者が担当の作業において、ワークフロー毎に必要に応じて任意の数の他のワークフローと連携可能とすることを目的とする。
【課題を解決するための手段】
【００１５】
請求項１の発明に係るワークフロー連携プログラムは、コンピュータを、接続元ワークフローを選択して接続元情報とする接続元選択手段と、接続先ワークフローのアクティビティを選択して接続先情報とする接続先選択手段と、上記接続元選択情報で選択された接続元情報および上記接続先選択手段で選択された接続先情報を含む接続点を格納する接続点格納手段と、ワークフローの実行が終了した場合、該終了したワークフローを接続元情報とする接続点が上記接続点格納手段に格納されているとき、該接続点の接続先情報が示すワークフローのアクティビティの状態を完了とする制御手段として機能せるものである。
【００１６】
請求項２の発明に係るワークフロー連携プログラムは、コンピュータを、接続元ワークフローのアクティビティを選択して接続元情報とする接続元選択手段と、接続先ワークフローのアクティビティを選択して接続先情報とする接続先選択手段と、上記接続元選択情報で選択された接続元情報および上記接続先選択手段で選択された接続先情報を含む接続点を格納する接続点格納手段と、アクティビティの実行が終了した場合、該終了したアクティビティを接続元情報とする接続点が上記接続点格納手段に格納されているとき、該接続点の接続先情報が示すワークフローのアクティビティの状態を完了とする制御手段として機能させるものである。
【００１７】
請求項３の発明に係るワークフロー連携プログラムは、コンピュータを、接続元ワークフローを選択して接続元情報とする接続元選択手段と、接続先ワークフロー定義を選択して接続先情報とする接続先選択手段と、上記接続元選択情報で選択された接続元情報および上記接続先選択手段で選択された接続先情報を含む接続点を格納する接続点格納手段と、ワークフローの実行が終了した場合、該終了したワークフローを接続元情報とする接続点が上記接続点格納手段に格納されているとき、該接続点の接続先情報が示すワークフロー定義を起動する制御手段として機能させるものである。
【００１８】
請求項４の発明に係るワークフロー連携プログラムは、請求項１から３の発明のいずれかにおいて、コンピュータを、接続元ワークフローが持つ属性と、接続先ワークフローが持つ属性の対応をエントリーとし、該エントリーを含む属性マッピングを定義する属性マッピング定義手段としてさらに機能させ、上記接続点格納手段は上記属性マッピング定義手段で定義された属性マッピングをさらに格納し、上記制御手段は、接続元終了のときに、上記属性マッピングに基づいて接続先のワークフローの属性を設定するものである。
【００１９】
請求項５の発明に係るワークフロー連携プログラムは、請求項４の発明において、上記属性マッピングのエントリーが、接続元ワークフローが持つ属性を項として含む式と接続先ワークフローが持つ属性との対応を含み、上記接続先のワークフローの属性に対して上記式の評価結果の値を設定するものである。
【００２０】
請求項６の発明に係るワークフロー連携プログラムは、請求項４の発明において、上記接続元のワークフローは上記コンピュータを備えるワークフロー管理システムで管理され、上記接続先のワークフローは上記コンピュータとは異なる他のコンピュータを備える他のワークフロー管理システムで管理され、上記コンピュータを、上記他のワークフロー管理システムから上記接続元の終了を検知する終了検知手段と、上記他のワークフロー管理システムから上記接続元の属性を読み込む属性読み込み手段としてさらに機能させるものである。
【００２１】
請求項７の発明に係るワークフロー連携プログラムは、請求項４の発明において、上記接続先のワークフローは上記コンピュータを備えるワークフロー管理システムで管理され、上記接続元のワークフローは上記コンピュータとは異なる他のコンピュータを備える他のワークフロー管理システムで管理され、上記コンピュータを、上記他のワークフロー管理システムの上記接続先に属性を書き込む属性書き込み手段としてさらに機能させるものである。
【００２２】
請求項８の発明に係るワークフロー連携プログラムは、請求項１から７の発明のいずれかにおいて、上記コンピュータを、上記接続点格納手段に格納されている接続元情報および接続先情報に基づき、連携したワークフローの実行の履歴を辿る履歴探索手段としてさらに機能させるものである。
【００２３】
請求項９の発明に係るワークフロー管理システムは、複数のアクティビティ毎に予め順序や条件がワークフロー定義として定義された個々のワークフローの実行を管理するワークフロー管理システムであって、接続元ワークフローまたは接続元ワークフローのアクティビティを選択して接続元情報とする接続元選択手段と、接続先ワークフローのアクティビティまたは接続先ワークフロー定義を選択して接続先情報とする接続先選択手段と、上記接続元選択情報で選択された接続元情報および上記接続先選択手段で選択された接続先情報を含む接続点を格納する接続点格納手段と、上記ワークフローまたは上記ワークフローのアクティビティの実行を終了した場合、該終了したワークフローまたは該終了したワークフローのアクティビティを接続元情報とする接続点が上記接続点格納手段に格納されているとき、該接続点の接続先情報が示すワークフローのアクティビティを終了とするか、該接続点の接続先情報が示すワークフロー定義を起動する制御手段とを備えるものである。
【発明の効果】
【００２４】
請求項１から３の発明によれば、それぞれ、予めワークフロー定義時に連携を記述することなく、ワークフロー毎に必要に応じて任意の数の他のワークフローと連携することができる。
【００２５】
請求項４の発明によれば、ユーザが接続元の終了を監視し、ユーザが接続元の実行結果を接続先のワークフローに手作業で反映させることなく、接続元の実行結果を接続先のワークフローに効率的に反映させることができる。
【００２６】
請求項５の発明によれば、接続元の実行結果そのものではなく、その実行結果に基づいて算出された値を接続先のワークフローに反映させることができる。
【００２７】
請求項６の発明によれば、接続元のワークフローが他のワークフロー管理システムで管理されるワークフローであっても連携することができる。
【００２８】
請求項７の発明によれば、接続先のワークフローが他のワークフロー管理システムで管理されるワークフローであっても連携することができる。
【００２９】
請求項８の発明によれば、連携したワークフローの履歴を容易に辿ることができる。
【００３０】
請求項９の発明によれば、予めワークフロー定義時に連携を記述することなく、ワークフロー毎に必要に応じて任意の数の他のワークフローと連携することができる。
【発明を実施するための最良の形態】
【００３１】
以下、図面を参照しながら、この発明の実施の形態について説明する。図１は、ワークフロー管理システムを構成する管理サーバ１１０の構成を示している。管理サーバ１１０にはユーザインタフェース１２０が接続されている。このユーザインタフェース１２０は、入力部としてのマウス、キーボード、出力部としてのディスプレイなどからなっている。
【００３２】
管理サーバ１１０には、図示していないが、ＬＡＮ(Local Area Network)などのネットワークを介して複数のクライアントコンピュータが接続されている。これら複数のクライアントコンピュータと管理サーバ１１０とでワークフロー管理システムが構成されている。
【００３３】
この管理サーバ１１０は、ワークステーションまたはパーソナルコンピュータ等で構成されている。
【００３４】
図２は、管理サーバ１１０のハードウェア構成例を示している。管理サーバ１１０は、ＣＰＵ(Central Processing Unit)１０１に対して、システムバス１０７を介して、ＲＯＭ(Read Only Memory)１０２と、ＲＡＭ(Random AccessMemory)１０３と、ＨＤＤ(Hard Disk Drive)１０４と、Ｉ／Ｏポート１０５と、ネットワークＩ／Ｆ１０６とが接続されて構成されている。
【００３５】
ＣＰＵ１０１は、ＲＯＭ１０２またはＨＤＤ１０４に記憶されているプログラムに従い、ＲＡＭ１０３をワークエリアとして用いてワークフロー管理の処理（ワークフローの連携処理も含む）を実行する。ＲＡＭ１０２には、ＣＰＵ１０１が実行するプログラムやデータなどが適宜記憶される。Ｉ／Ｏポート１０５には、上述したユーザインタフェース１２０としてのマウス、キーボード、ディスプレイなどが接続されている。また、ネットワークＩ／Ｆ１０６には、ＬＡＮを介して複数のクライアントコンピュータが接続される。
【００３６】
この管理サーバ１１０は、図１に示すように、機能ブロックとして、ワークフロー実行制御部１１１と、ワークフロー定義格納部１１２と、ワークフロー定義管理部１１３と、ワークフローおよびアクティビティ状態格納部１１４と、属性（関連データ）格納部１１５と、実行状態操作部１１６と、接続点格納部１１７と、接続点管理部１１８とを有している。
【００３７】
ワークフロー定義格納部１１２は、ワーフロー定義、アクティビティ定義、トランジション定義、属性定義およびデータ項目定義を格納する。図３は、ワークフロー定義の一例を示す。このワークフロー定義は、識別子（ＩＤ）と、定義名との対応からなっている。このワークフロー定義は、それぞれのワークフローの定義名が何であるかを定義する。例えば、識別子（ＩＤ）が「１」であるワークフローの定義名は「家族手当申請」である、と定義される。
【００３８】
図４は、アクティビティ定義の一例を示す、このアクティビティ定義は、識別子（ＩＤ）と、ワークフローの識別子と、作業名との対応からなっている。このアクティビティ定義は、それぞれのアクティビティにつき、どのワークフローを構成するものであるか、および作業名が何であるかを定義する。例えば、識別子（ＩＤ）が「１１１」であるアクティビティは、識別子が「１」であるワークフローを構成するアクティビティであり、作業名が「開始」であると、定義される。
【００３９】
図５はトランジション定義の一例を示す。このトランジション定義は、識別子（ＩＤ）と、遷移元を示すアクティビティの識別子と、遷移先を示すアクティビティの識別子との対応からなっている。このトランジション定義は、各ワークフローにおける各アクティビティの順序を定義する。例えば、識別子（ＩＤ）が「１２１」であるトランジションは、識別子が「１１１」であるアクティビティが遷移元であって、識別子が「１１２」であるアクティビティが遷移先である、と定義される。
【００４０】
図６は、属性定義の一例を示す。この属性定義は、識別子（ＩＤ）と、ワークフローの識別子と、属性名と、データ型との対応からなっている。この属性定義は。各ワークフローの属性（関連データ）を定義する。例えば、識別子（ＩＤ）が「１３１」である属性は、識別子が「１」であるワークフローの属性であって、属性名が「氏名」で、データ型が「文字列型」である、と定義される。
【００４１】
図７は、データ項目定義の一例を示す。このデータ項目定義は、識別子（ＩＤ）と、アクティビティの識別子と、属性の識別子と、操作との対応からなっている。このデータ項目定義は、各アクティビティにおける属性の変更の可否を定義する。例えば、識別子（ＩＤ）が「１４１」であるデータ項目については、識別子が「１１２」であるアクティビティでは、識別子が「１３１」である属性のデータ変更が可能「Ｗ」である、と
定義される。
【００４２】
ワークフロー定義管理部１１３は、上述したワークフロー定義格納部１１２に格納される各定義を管理する。すなわち、ユーザ操作で新たに生成、あるいは変更された定義をワークフロー定義格納部１１２に保存し、あるいはユーザ操作に基づいてワークフロー定義格納部１１２に格納されている所定の定義をディスプレイに表示してユーザの参照を可能とする。
【００４３】
ワークフローおよびアクティビティ状態格納部１１４は、ユーザ操作によって起動されたワークフローの状態と、そのワークフローを構成する各アクティビティの状態を格納する。
【００４４】
図８は、ワークフローおよびアクティビティ状態格納部１１４に格納されるワークフローの状態の一例を示す。このワークフローの状態は、識別子（ＩＤ）と、ワークフローの識別子と、起案者と、起案日時と、状態との対応からなっている。例えば、識別子が「１１０１」であるワークフローの状態は、識別子が「１」であるワークフローの状態であって、起案者が「鈴木一郎」であり、起案日時が「2005/11/10 10:00:00」であり、「実行中」である、ことを示している。また例えば、識別子が「２２０１」であるワークフローの状態は、識別子が「２」であるワークフローの状態であって、起案者が「鈴木一郎」であり、起案日時が「2005/11/10 10:10:00」であり、「完了」した、ことを示している。
【００４５】
図９は、ワークフローおよびアクティビティ状態格納部１１４に格納されるアクティビティの状態の一例を示す。このアクティビティの状態は、識別子（ＩＤ）と、ワークフロー状態の識別子と、アクティビティ定義の識別子と、状態との対応からなっている。例えば、識別子が「１１１１」であるアクティビティの状態は、識別子が「１１０１」であるワークフローの状態に係るものであって、識別子が「１１１」であるアクティビティの状態であり、「完了」した、ことを示している。
【００４６】
また例えば、識別子が「１１１２」であるアクティビティの状態は、識別子が「１１０１」であるワークフローの状態に係るものであって、識別子が「１１２」であるアクティビティの状態であり、「実行中」である、ことを示している。また例えば、識別子が「１１１３」であるアクティビティの状態は、識別子が「１１０１」であるワークフローの状態に係るものであって、識別子が「１１３」であるアクティビティの状態であり、「待機中」である、ことを示している。
【００４７】
属性（関連データ）格納部１１５は、各ワークフローに関連した属性に係る属性データを格納する。図１０は、属性（関連データ）格納部１１５に格納される属性データの一例を示す。この属性データは、識別子（ＩＤ）と、ワークフロー状態の識別子と、属性定義の識別子と、属性値との対応からなっている。
【００４８】
例えば、識別子が「１１３１」である属性データは、識別子が「１１０１」であるワークフローの状態に係るものであって、識別子が「１３１」である属性の属性値であり、その属性値が「鈴木太朗」である、ことを示している。また例えば、識別子が「１１３２」である属性データは、識別子が「１１０１」であるワークフローの状態に係るものであって、識別子が「１３２」である属性の属性値であり、その属性値が「2005/10/10」である、ことを示している。
【００４９】
実行状態操作部１１６は、ユーザ操作に基づいて、上述したワークフローおよびアクティビティ状態格納部１１４に格納されるワークフロー状態、アクティビティ状態を生成し、さらには変更する。例えば、ユーザ（起案者）が、所定の日時に、所定のワークフローの起動（起案）操作を行うとき、実行状態生成部１１４は、ワークフロー定義格納部１１２に格納されているワークフロー定義、アクティビティ定義、トランジション定義などを参照して、その所定のワークフローに係るワークフロー状態（図８参照）およびアクティビティ状態（図９参照）を生成し、それらを格納部１１４に格納する。この場合、実行状態生成部１１４で生成されるワークフロー状態およびアクティビティ状態における状態はそれぞれ初期状態である「待機中」とされる。
【００５０】
なお、このように格納部１１４に実行状態操作部１１６で生成されたワークフロー状態およびアクティビティ状態が格納されるとき、そのことが実行制御部１１１で参照され、そのワークフローの実行が開始される。このようにワークフローの実行が開始されると、実行制御部１１１の制御により、格納部１１４に格納されている当該ワークフローおよびその最初のアクティビティの状態が「待機中」から「実行中」に変更される。以降は、各アクティビティが、ワークフロー定義格納部１１２に格納されているトランジション定義を参照して順に実行されていく。これに伴って、各アクティビティの状態は、「待機中」から「実行中」、さらには「完了」に変更されていく。そして、全てのアクティビティの状態が「完了」となるとき、対応するワークフローの状態は「完了」に変更される。
【００５１】
また、実行状態操作部１１６は、ユーザによる、所定のワークフローあるいは所定のアクティビティに関しての完了操作があるとき、格納部１１４に格納されている当該所定のワークフローあるいは当該所定のアクティビティの状態を「完了」に変更する。このように格納部１１４の状態が「完了」に変更されると、実行制御部１１１の制御により、当該ワークフローあるいは当該アクティビティの実行が完了したものとみなされ、その実行が停止される。
【００５２】
また、実行状態操作部１１６は、ユーザ操作による属性変更を受け付け、上述した属性（関連データ）格納部１１５に格納される属性データの属性値を変更する。なお、属性（関連データ）格納部１１５には、ワークフロー定義格納部１１２に格納されている属性定義およびデータ項目定義に基づいて、各ワークフローに係る属性データが生成されて格納され、各アクティビティで取得された属性値により、属性値の項が変更される。
【００５３】
また、実行状態制御部１１６は、ユーザ操作に基づいてワークフローおよびアクティビティ状態格納部１１４に格納されているワークフロー状態およびアクティビティ状態をディスプレイに表示してユーザの参照を可能とする。
【００５４】
接続点格納部１１７は、接続点および属性マッピングを格納する。接続点は、個々のワークフローを連携させるための情報である。この接続点は、接続元情報と接続先情報とを含んでいる。図１１は、接続点の一例を示す。この接続点は、識別子（ＩＤ）と、接続元を示す識別子と、接続元の種別と、接続先を示す識別子と、接続先の種別と、図示は省略しているが接続点を作成したユーザ名、作成日時等の対応からなっている。ここで、接続元の種別としては、ワークフロー（Ｐ）、アクティビティ（Ａ）などが選択される。また、接続先の種別として、アクティビティ（Ａ）、ワークフロー定義（Ｄ）などが選択される。
【００５５】
属性マッピングは、接続元ワークフローが持つ属性と、接続先ワークフローが持つ属性の対応をエントリーとし、このエントリーを含んでいる。図１２は、属性マッピングの一例を示す。この属性マッピングを構成する各エントリーは、識別子（ＩＤ）と、対応する接続点の識別子と、接続元属性の識別子と、接続先属性の識別子との対応からなっている。例えば、識別子が「１３０１」であるエントリーは、識別子が「９０１」である接続点に係るものであり、接続元ワークフローの識別子が「２３５」の属性と、接続先ワークフローの識別子が「１３４」の属性とが対応する、ことを示している。
【００５６】
接続点管理部１１８は、接続点格納部１１７に格納される接続点および属性マッピングを管理する。すなわち、この接続点管理部１１８は、ユーザ操作に基づいて接続点の定義、つまり接続元および接続先の選択等を行って接続点（図１１参照）を生成し、その接続点を接続点格納部１１７に格納する。この意味で、接続点管理部１１８は、接続元選択手段および接続先選択手段を構成している。
【００５７】
このように接続点管理部１１８で接続点定義を行う際には、ユーザインタフェース１２０のディスプレイに、図１３に示すような、接続点定義画面が表示されて、ユーザの操作の便に供される。ユーザは、接続元を入力する場合、例えばまず接続元種別を入力し、その後に参照ボタンの押し下げ（クリック）で選択画面をディスプレイに表示して所望の接続元を選択する。また同様に、ユーザは、接続先を入力する場合、例えばまず接続先種別を入力し、その後に参照ボタンの押し下げ（クリック）で選択画面をディスプレイに表示さして所望の接続先を選択する。
【００５８】
図１４は、ワークフロー選択画面の一例を示す。このワークフロー選択画面は起動されているワークフローの一覧からなっており、各欄は、ワークフロー名、定義名、起動日、起動者などの情報を含んでいる。このワークフロー選択画面を表示するに当たっては、格納部１１２，１１４の格納情報が参照される。
【００５９】
図１５は、アクティビティ選択画面の一例を示す。このアクティビティ選択画面は、所定のワークフローを構成するアクティビティを系統的に示したものであり、現在実行中のアクティビティがどこであるか等も表示される。このアクティビティ選択画面を表示するに当たっては、格納部１１２，１１４の格納情報が参照される。
【００６０】
図１６は、ワークフロー定義選択画面の一例を示す。このワークフロー定義選択画面は、ワークフロー定義の一覧からなっており、各欄は、定義名、作成日、作成者などの情報を含んでいる。このワークフロー定義選択画面を表示するに当たっては、ワークフロー定義格納部１１２の格納情報が参照される。
【００６１】
また、接続点管理部１１８は、ユーザ操作に基づいて属性マッピング（図１２参照）を定義し、この属性マッピングを接続点格納部１１７に格納する。この意味で、接続点管理部１１８は、属性マッピング定義手段を構成している。このように接続点管理部１１８で属性マッピングの定義を行う際には、上述したようにユーザインタフェース１２０のディスプレイに表示される接続点定義画面（図１３参照）により、ユーザの操作が行われる。
【００６２】
すなわち、接続元属性の入力欄と、接続先属性の入力欄とが設けられており、ユーザはそれらの欄を埋めるだけでよい。これにより、接続点管理部１１８で、接続元のワークフローが持つ属性と、接続先ワークフローが持つ属性との対応（エントリー）を生成でき、属性マッピングを定義できる。
【００６３】
また、接続点管理部１１８は、ユーザ操作に基づいて接続点格納部１１７に格納されている接続点および属性マッピングをディスプレイに表示してユーザの参照を可能とする。
【００６４】
図１７は、上述したワークフロー定義、ワークフロー、接続点の間の関連を示している。
【００６５】
すなわち、ワークフローはワークフロー定義（図３参照）で定義されている。また、ワークフローを構成する各アクティビティはアクティビティ定義（図４参照）で定義されており、各アクティビティの実行順序はトランジション定義（図５参照）で定義されている。また、各ワークフローに係る属性（関連データ）は属性定義（図６参照）で定義されており、各アクティビティにおける属性の変更の可否がデータ項目定義（図７参照）で定義されている。
【００６６】
属性データは、属性定義で定義された各ワークフローに係る属性に対応した属性値を持つ（図１０参照）。接続点は、接続元情報（ワークフロー、アクティビティなど）および接続先情報（アクティビティ、ワークフロー定義など）を持つ（図１１参照）。そして、属性マッピングは、接続元のワークフローが持つ属性と、接続先ワークフローが持つ属性の対応をエントリーとして持つ（図１２参照）。
【００６７】
次に、上述した管理サーバ１１０におけるワークフロー連携処理の動作を説明する。管理サーバ１１０の実行制御部１１１は、ワークフローあるいはアクティビティの終了時に、図１８のフローチャートに示すワークフロー連携処理を行う。まず、ステップＳＴ１で処理を開始し、ステップＳＴ２で、接続点格納部１１７に格納されている接続点を参照し、識別子（ＩＤ）に基づいて該当「接続点」の検索を行う。ここで、該当「接続点」とは、終了したワークフローあるいはアクティビティを接続元として持つ接続点である。
【００６８】
次に、ステップＳＴ３で、ステップＳＴ２の検索結果を受けて、該当「接続点」が存在したか否かを判定し、該当「接続点」が存在していないときは、直ちにステップＳＴ４で、処理を終了する。一方、該当「接続点」が存在するときは、ステップＳＴ５で、属性マッピングにその該当「接続点」に対応した「エントリー」が存在するか否かを判定する。「エントリー」が存在するときは、ステップＳＴ６で、属性（関連データ）格納部１１５から接続元属性の属性値を読み込み、その属性値を接続先属性の属性値として設定する。この場合、この属性値は、属性（関連データ）格納部１１５に、接続先属性の属性値とし格納される。
【００６９】
このステップＳＴ６の処理の後に、ステップＳＴ７に進む。ステップＳＴ５で、該当「接続点」に対応した「属性マッピング（エントリー）」が存在しないときは、直ちにステップＳＴ７に進む。このステップＳＴ７では、接続先の状態を変更し、その後に他の該当「接続点」に対する処理を行うため、ステップＳＴ２に戻る。ここで、接続先の状態の変更とは、例えば接続先がアクティビティであるときは、当該アクティビティを終了とすることを意味する。
【００７０】
なお、ステップＳＴ３で該当「接続点」が存在し、その該当「接続点」の接続先がワークフロー定義の場合には、「属性マッピング」による接続先属性変更の代わりに、属性マッピングの接続先属性を起動時のパラメーターとしてワークフロー定義を起動する。
【００７１】
図１９は、接続元がワークフローで接続先がアクティビティである場合のワークフロー連携の具体例を示している。作業遂行に他の一連の作業が必要であると判った時点で、それらの作業を行うワークフローの結果を自動的に遂行すべき作業に連携させる。この例の場合、家族手当申請に扶養者異動Noが必要と認識した時点で、被扶養者異動届ワークフローを起動し接続点を定義しておくと、被扶養者異動届ワークフローの実行終了によって、結果の受理Noを自動的に家族手当申請ワークフローの申請アクティビティの扶養者異動Noとして申請アクティビティを完了して承認１アクティビティに移行する。
【００７２】
図２０は、図１９に示した家族手当申請ワークフローおよび被扶養者異動届ワークフローにおける各アクティビティの画面例を示している。この場合、家族手当申請ワークフローの申請アクティビティ画面では、氏名、生年月日、続柄などの入力欄の他に、被扶養者異動Noの入力欄があるが、氏名、生年月日、続柄のみを満たした状態で待機しているものとする。
【００７３】
別に起動した被扶養者異動届ワークフローの申請アクティビティ画面では、氏名、生年月日、続柄、異動内容の入力欄があり、ユーザがこれらを満たすことで、受理アクティビティに移行し、この時点で受理Noが取得される。この受理Noが、上述した被扶養者異動届ワークフローにおける被扶養者異動Noとして自動的に設定される。そのため、被扶養者異動届ワークフローの申請アクティビティ画面でユーザが被扶養者異動Noを入力せずとも、当該申請アクティビティは終了となり、次の承認１アクティビティに移る。
【００７４】
図２１は、接続元がワークフローＷＦ２のアクティビティで、接続先がワークフローＷＦ１のアクティビティである場合のワークフロー連携の概要を示している。また、図２２は、接続元がワークフローＷＦ３で、接続先がワークフローＷＦ４，ＷＦ５のワークフロー定義である場合のワークフロー連携の概要を示している。
【００７５】
なお、上述実施の形態においては、例えば図１９に示すように、接続元属性をそのまま接続先属性として設定するものを示したが、属性マッピングのエントリーが、接続元ワークフローが持つ属性を項として含む式と接続先ワークフローが持つ属性との対応からなり、接続先のワークフローの属性に対して上述した式の評価結果の値、つまり接続元属性を式に代入して得た値を設定することも考えられる。
【００７６】
また、上述実施の形態においては、接続元ワークフローと接続先ワークフローとが管理サーバ１１０からなるワークフロー管理システムで管理されるものを示したが、接続元ワークフローまたは接続先ワークフローが、他のワークフロー管理システムで管理されている場合にも、この発明を同様に適用できる。
【００７７】
例えば、接続元ワークフローが他のワークフロー管理システムで管理される場合には、図２３に示すように、管理サーバ１１０は、他のワークフロー管理システムから接続元ワークフローあるいはアクティビティの終了を検知する終了検知手段と、この他のワークフロー管理システムから接続元の属性を読み込む属性読み込み手段としての機能を備えるようにされる。
【００７８】
また例えば、接続先ワークフローが他のワークフロー管理システムで管理される場合には、図２４に示すように、管理サーバ１１０は、他のワークフロー管理システムの接続先に属性を書き込む属性書き込み手段を備えるようにされる。
【００７９】
また、上述したように管理サーバ１１０の接続点格納部１１７には個々のワークフローを連携させる接続元情報および接続先情報を含む接続点の情報が格納されている。この接続点の情報に基づいて、連携したワークフローの実行の履歴を辿ることも可能となる。この場合、管理サーバ１１０は、履歴探索手段としての機能を備えることになる。
【産業上の利用可能性】
【００８０】
この発明は、予めワークフロー定義時に連携を記述することなく、ワークフロー毎に必要に応じて任意の数の他のワークフローと連携可能とするものであり、複数のワークフローを管理するワークフロー管理システムに適用できる。
【図面の簡単な説明】
【００８１】
【図１】ワークフロー管理システムを構成する管理サーバの構成を示すブロック図である。
【図２】管理サーバのハードウェア構成を示すブロック図である。
【図３】ワークフロー定義格納部に格納されるワークフロー定義の一例を示す図である。
【図４】ワークフロー定義格納部に格納されるアクティビティ定義の一例を示す図である。
【図５】ワークフロー定義格納部に格納されるトランジション定義の一例を示す図である。
【図６】ワークフロー定義格納部に格納される属性定義の一例を示す図である。
【図７】ワークフロー定義格納部に格納されるデータ項目定義の一例を示す図である。
【図８】ワークフローおよびアクティビティ状態格納部に格納されるワークフロー状態の一例を示す図である。
【図９】ワークフローおよびアクティビティ状態格納部に格納されるアクティビティ状態の一例を示す図である。
【図１０】属性（関連データ）格納部に格納される属性データの一例を示す図である。
【図１１】接続点格納部に格納される接続点の一例を示す図である。
【図１２】接続点格納部に格納される属性マッピングの一例を示す図である。
【図１３】接続点定義を行う際にディスプレイに表示される接続点定義画面の一例を示す図である。
【図１４】ワークフロー選択時にディスプレイに表示されるワークフロー選択画面の一例を示す図である。
【図１５】アクティビティ選択時にディスプレイに表示されるアクティビティ選択画面の一例を示す図である。
【図１６】ワークフロー定義選択時にディスプレイに表示されるワークフロー定義選択画面の一例を示す図である。
【図１７】ワークフロー定義、ワークフロー、接続点の間の関連を示す図である。
【図１８】ワークフロー連携処理の手順を示すフローチャートである。
【図１９】接続元がワークフロー、接続先がアクティビティであるときのワークフロー連携の一例を示す図である。
【図２０】家族手当申請ワークフローおよび被扶養者異動届ワークフローにおける各アクティビティの画面例を示す図である。
【図２１】接続元がアクティビティ、接続先がアクティビティであるときのワークフロー連携の概要を示す図である。
【図２２】接続元がワークフロー、接続先がワークフロー定義であるときのワークフロー連携の概要を示す図である。
【図２３】接続元ワークフローが他のワークフロー管理システムで管理されている場合を説明するための図である。
【図２４】接続先ワークフローが他のワークフロー管理システムで管理されている場合を説明するための図である。
【図２５】従来のワークフロー連携（事前定義連携）を説明するための図である。
【図２６】従来の動的フロー変更を説明するための図である。
【符号の説明】
【００８２】
１１０・・・管理サーバ、１１１・・・ワークフロー実行制御部、１１２・・・ワークフロー定義格納部、１１３・・・ワークフロー定義管理部、１１４・・・ワークフローおよびアクティビティ状態格納部、１１５・・・属性（関連データ）格納部、１１６・・・実行状態操作部、１１７・・・接続点格納部、１１８・・・接続点管理部、１２０・・・ユーザインタフェース
【図１】
2008065580.tif 000003
【図２】
2008065580.tif 000004
【図３】
2008065580.tif 000005
【図４】
2008065580.tif 000006
【図５】
2008065580.tif 000007
【図６】
2008065580.tif 000008
【図７】
2008065580.tif 000009
【図８】
2008065580.tif 000010
【図９】
2008065580.tif 000011
【図１０】
2008065580.tif 000012
【図１１】
2008065580.tif 000013
【図１２】
2008065580.tif 000014
【図１３】
2008065580.tif 000015
【図１４】
2008065580.tif 000016
【図１５】
2008065580.tif 000017
【図１６】
2008065580.tif 000018
【図１７】
2008065580.tif 000019
【図１８】
2008065580.tif 000020
【図２０】
2008065580.tif 000021
【図２３】
2008065580.tif 000022
【図２４】
2008065580.tif 000023
【図１９】
2008065580.tif 000024
【図２１】
2008065580.tif 000025
【図２２】
2008065580.tif 000026
【図２５】
2008065580.tif 000027
【図２６】
2008065580.tif 000028