説明

ワークフロー管理サーバおよびワークフロー管理サーバの制御方法およびプログラムおよび記録媒体

【課題】ワークフロー管理サーバにおいて、ループ経路を含むような複雑な経路を表示する場合においても、経路図を分かり易く表示する方法を提供することを目的とする。
【解決手段】本発明は、クライアントと接続可能な、ワークフローを制御するワークフローシステムを管理するワークフロー管理サーバにおいて、前記ワークフローのアクティビティと経路情報を記憶する経路情報記憶手段と、前記経路情報記憶手段に記憶されたアクティビティと経路情報とを視覚的に表示制御する経路情報視覚化手段と、前記経路情報視覚化手段により視覚的に表示制御された情報を前記クライアントに送信する視覚化情報送信手段とを有し、前記経路情報はループ経路を含み、前記経路情報視覚化手段は、ループ対象の遷移元アクティビティを示す記号から、遷移先アクティビティを示す記号とリンクしたシンボル記号への経路情報を表示することを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ワークフローシステムにおいてワークフロー経路および進捗状況の表示に関するものである。
【背景技術】
【0002】
近年、企業内で各種伝票等を電子化し、定められた経路情報に従って各業務担当者に帳票データの処理を割当て、順次業務を進めるワークフローシステムの導入が進んでいる。
【0003】
また、その際にワークフローの経路・進捗状況の把握を容易にするために視覚的に表示することが一般的に行われている。特許文献1には、ワークフローの経路及び進捗状況の把握を視覚的に容易に行うシステムが開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2002−41744号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に記載のワークフローシステムにおいては、単純なワークフローの経路や進捗を表示することは可能であるが、複雑な経路や遷移元と遷移先が離れている場合に見えづらくなるという問題がある。
【0006】
特に、すべての承認作業が完了後、各承認担当者が案件内容を再確認するようなフローや、案件内容を一部だけ修正するなど、差戻し(やり直し、通ってきた今までのルートをなかったことにすること)作業が必要ないフローにする場合に用いられるループ経路表示が見づらくなるという問題があった。
【0007】
本発明は上記の課題を解決するためになされたものであり、ループを含むような複雑な経路を表示する場合においても、経路図を分かり易く表示する方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明は、クライアントと接続可能な、ワークフローを制御するワークフローシステムを管理するワークフロー管理サーバにおいて、前記ワークフローのアクティビティと経路情報を記憶する経路情報記憶手段と、前記経路情報記憶手段に記憶されたアクティビティと経路情報とを視覚的に表示制御する経路情報視覚化手段と、前記経路情報視覚化手段により視覚的に表示制御された情報を前記クライアントに送信する視覚化情報送信手段とを有し、前記経路情報はループ経路を含み、前記経路情報視覚化手段は、ループ対象の遷移元アクティビティを示す記号から、遷移先アクティビティを示す記号とリンクしたシンボル記号への経路情報を表示することを特徴とする。
【発明の効果】
【0009】
本発明によれば、ループを含むような複雑な経路を表示する場合においても、経路図を分かり易く表示する方法を提供することが可能となる。
【図面の簡単な説明】
【0010】
【図1】本発明の一実施形態を示すシステムの全体構成を示すシステム構成図である。
【図2】図1に示したワークフロー管理サーバ103とクライアント112のハードウェア構成の一例を示すブロック図である。
【図3】本発明における第1の制御処理手順の一例を示すフローチャートである。
【図4】本発明における第2の制御処理手順の一例を示すフローチャートである。
【図5】本発明における第3の制御処理手順の一例を示すフローチャートである。
【図6】本発明における経路情報DB110内の経路情報データの一例を示す図である。
【図7】本発明における経路図画面と担当者指定画面の一例を示す図である。
【図8】本発明における経路図画面と担当者指定画面の一例を示す図である。
【図9】本発明における経路図画面と担当者指定画面の一例を示す図である。
【図10】本発明における進捗情報DB111内の進捗情報データの一例を示す図である。
【図11】本発明における経路図画面描画途中の一例を示す図である。
【図12】本発明における進捗情報DB111内の進捗情報データの一例を示す図である。
【図13】本発明における経路図画面と担当者指定画面の一例を示す図である。
【図14】本発明に係るワークフロー管理サーバ103で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【発明を実施するための形態】
【0011】
〔第1実施形態〕
【0012】
以下、図を参照して本発明のワークフロー管理サーバについて説明する。
【0013】
図1は、本発明の一実施形態を示すシステムの全体構成を示すシステム構成図である。
【0014】
図1に示すように、本実施形態のワークフローシステムはワークフロー管理サーバ103とクライアント112から構成される。
【0015】
クライアント112はワークフロー管理サーバからの出力結果を表示する出力手段102とワークフロー管理サーバへ送信するデータを入力する入力手段101とを有する。
【0016】
ワークフロー管理サーバ103は、外部記憶装置(HDD)にワークフローのアクティビティの遷移順を経路情報110として、また、ワークフローの進捗状況を進捗情報111として記憶する。
【0017】
また、ワークフロー管理サーバ103は、ワークフローの遷移順をクライアントの出力手段102に表示させるための経路情報視覚化手段105と、経路情報視覚化手段105で作成したデータをクライアント112に送信する視覚化情報送信手段106と、経路情報のループ経路をクライアントの出力手段102に表示させるためのループ経路視覚化手段107と、進捗情報111から処理済みのアクティビティのリストを生成する進捗情報リスト生成手段108と、現在進行中のワークフローの以後のアクティビティの処理担当者候補を選択させる処理担当者選択手段とを有する。
【0018】
図2は、図1に示したワークフロー管理サーバ103とクライアント112のハードウェア構成の一例を示すブロック図である。
【0019】
図2において、CPU201は、システムバス204に接続される各デバイスを統括的に制御する。また、ROM203あるいは外部メモリ211には、CPU201の制御プログラムであるオペレーティングシステム(OS)や、各サーバあるいは各クライアントの後述する各種機能を実現するためのプログラムが記憶されている。
【0020】
RAM202は、CPU201の主メモリ、ワークエリア、一時待避領域等として機能する。
【0021】
入力コントローラ205は、入力部209からの入力を制御する。この入力部209としては、特に、サーバやクライアント等の端末では、キーボード、マウス等のポインティングデバイスが挙げられる。
【0022】
出力コントローラ206は、出力部210の表示を制御する。この出力部210としては、例えば、CRTディスプレイや液晶ディスプレイ等が挙げられる。
【0023】
外部メモリコントローラ207は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタドライバ等を記憶する外部メモリ211へのアクセスを制御する。加えて、外部メモリコントローラ207には、各サーバあるいは各クライアントの各種機能を実現するための各種テーブル、パラメ−タが記憶されている。
【0024】
この外部メモリ211としては、ハードディスク(HD)やフローッピ−(登録商標)ディスク(FD)、PCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ、スマートメディア等が挙げられる。
【0025】
通信I/Fコントローラ208は、ネットワーク212を介して外部機器との通信制御処理を実行する。
【0026】
なお、本発明のプログラムは、外部メモリ211に記録されており、必要に応じてRAM202にロードされることによりCPU201によって実行されるものである。
【0027】
以下、図3のフローチャートを参照して、ワークフロー管理サーバ103がワークフロー経路図を表示させる手順について説明する。
【0028】
図3は図1に示したワークフロー管理サーバ103のCPU201によって実行される。なお、S301〜S315は各ステップを示す。
【0029】
図3は、本発明のワークフロー管理サーバ103における第1の制御処理手順の一例を示すフローチャートであり、ワークフロー経路図を表示させる命令をクライアント112の入力部101から受け付けた際に起動される。なお、下記説明中はワークフロー管理サーバが実施すると記載しているが、クライアントが経路DBや進捗DBからデータを受け取り、クライアントで下記フローを実施することも可能である。
【0030】
クライアント112の入力部101からワークフロー経路図を表示させる命令を受信すると、ワークフロー管理サーバ103は経路情報DB110と進捗情報DB111から経路情報データと進捗情報データを取得する(ステップS301)。
【0031】
経路情報データの一例として図6を参照して説明する。
【0032】
図6は経路情報DB110に格納されている経路情報データの一例である。
【0033】
図6の経路情報データはアクティビティのid601、アクティビティの名前602、アクティビティのタイプ603、アクティビティの深さ604、次の遷移先候補605、遷移してくる遷移元候補606等の項目から構成される。なお、このデータは、データベース形式で格納されている場合の構成だが、XMLや他の方法で格納することもできる。
【0034】
アクティビティのタイプ603には、“AWAIT”(待ち状態)、“CONDITIONAL”(条件分岐)、“SPLIT”(並列分岐)、“JOIN”、“VOTE”(合議)等の値が入る。また、アクティビティの深さ604は、“START”からの距離を相対的に示している。図3の説明に戻る
【0035】
ステップS302において、ワークフロー管理サーバ103は経路情報データのアクティビティのアイコンを画面表示させるために、アクティビティの深さ604の順に表示対象のアクティビティを選択し、アクティビティの数だけステップS316以降のフローを繰り返す。
【0036】
ステップS316では、ワークフロー管理サーバ103は、ステップS301において取得したデータの内、ステップS302で選択された表示対象のアクティビティのidを記憶する。
【0037】
次に、ステップS303において、ワークフロー管理サーバ103は表示対象のアクティビティが分岐するかどうかの判断をする。図6の経路情報データの場合、分岐に該当するアクティビティのタイプは“CONDITIONAL”や“SPLIT”である。分岐の場合はステップS304の処理を進め、分岐ではない場合はステップS309の処理に進める。
【0038】
ステップS304では、ワークフロー管理サーバ103は分岐するアクティビティ数だけステップS305〜S308を繰り返す。図6の経路情報データの場合、idが4の“条件分岐1”の時は遷移先候補として、idが5,1,13,14,15,16の6つの候補があるため、少なくとも6回はステップS305〜S308を繰り返す。
【0039】
次に、ステップS305において、ワークフロー管理サーバ103は表示対象のアクティビティ間の遷移を示す線(遷移線)がクロスするか、もしくはループするかの判断を行う。遷移線がクロスするかどうかは遷移先のアクティビティが他の分岐先になっているかで判断する。また、ループ対象のアクティビティかどうかは次の遷移先のアクティビティの深さ604の値により判断する。具体的には、ステップS305では表示対象の分岐のアクティビティの深さと次の遷移先のアクティビティの深さとの関係で、次の遷移先のアクティビティの深さが表示対象の分岐のアクティビティの深さより小さい場合、ループ対象のアクティビティと判断する。
【0040】
ステップS305において、ループ対象もしくは遷移線がクロスすると判断された場合はステップS306へと処理を進め、ループ対象ではなく、遷移線もクロスしないと判断された場合はステップS308へと処理を進める。
【0041】
ステップS306では、ワークフロー管理サーバ103は次の遷移先のアクティビティをループ対象もしくは遷移線がクロスすると判断し、経路図表示画面にループ対象もしくは遷移線がクロスする対象である結合子アイコン(アクティビティ実体を指すアイコンではなく、アクティビティ実体への行き先を示すだけのアイコン、シンボル記号)を表示させる。
【0042】
経路図の一例として図7を参照して説明する。
【0043】
図7はワークフロー管理サーバ103から出力されたデータをクライアント112の出力部102で表示した画面イメージの一例であり、承認担当者(処理担当者)を指定する画面である。図7は図6の経路情報データを反映した例である。
【0044】
図7の条件分岐3(704)は図6の609の行にあるように、次の遷移先候補605は[15、28、16、29]の4つのidであり、それぞれ“合議1”“承認4”“承認1”“承認5”である。この4つのidの遷移先候補でループ対象に該当するのは、アクティビティの深さ604が小さい、idが16(608)の“承認1”(607)であるので、“承認1”を配置すべき次のアイコン配置位置に結合子アイコン(シンボル記号)(701)を表示する。図3の説明に戻る。
【0045】
ステップS307では、ワークフロー管理サーバ103はループ対象の遷移先のアクティビティへ、補助線(薄波線)を引いてリンク先を示す。なお、補助線はワークフローの進捗状況が遷移元のアクティビティに達した際に初めて表示するようにしても良いし、遷移元のアクティビティに達した際に初めて表示しても良い。また、クライアントの入力手段101(マウス等)で出力手段に出力されている画面上にポイントした際に初めて補助線を表示しても良い。また、例えば図9の“承認1”アイコン905をクライアントの入力手段101(マウス等)でポイントすると図13のように“承認1”アイコン1301を画面の中心近くに表示するようにスクロールするように制御しても良い。
【0046】
このように、当初は補助線を描かず、ループ対象の遷移元もしくは遷移先のアクティビティにフォーカスが当たった段階で、ループ先のアクティビティへの補助線を表示することにより、経路図の最初から経路を示す線が錯綜することなく表示可能となる。
【0047】
図7の例で、ステップS307を説明する。
【0048】
図7では、先程の“条件分岐3”(704)の遷移先として、“承認1”
アイコン702が指定されている例なので、結合子アイコン701から“承認1”アイコン702までの経路を薄波線703で表示する。図3の説明に戻る。
【0049】
ステップS307が終了した場合、ステップS313でワークフロー管理サーバ103は、ステップS304で分岐した回数分ステップS305〜S308を実施したかを判断する。分岐した回数分、実施していなければ、ステップS305に戻る。
【0050】
一方、ステップS304で分岐した回数分ステップS305〜S308を実施していれば、ステップS314に処理を進める。以降は後述する。
【0051】
翻って、ワークフロー管理サーバ103がステップS305においてループ対象ではないと判断した場合、ワークフロー管理サーバ103はステップS308に処理を進める。ステップS308では、ワークフロー管理サーバ103は、次の遷移先のアクティビティのアイコン表示位置の表示枠を確保する。
【0052】
図11でステップS308を説明する。
【0053】
図11では図6の“条件分岐3”(609)の次の遷移先候補のアクティビティとして、idが29(610)の“承認5”(611)が示されているので、idが29の“承認5”のアイコン表示用に、表示枠を確保する。後述するステップS312において、“承認5”の実体を示すアイコンを表示する。
【0054】
ステップS308が終了すると、ステップS313に処理を進める。
【0055】
一方、ステップS303において、表示対象のアクティビティが分岐ではない場合はステップS315の処理に進める。
【0056】
ステップS315では、表示対象のアクティビティの遷移元のidをステップS301で取得した経路情報から読み出す。
【0057】
次にステップS309では、ワークフロー管理サーバ103は、表示対象のアクティビティがループ対象かそうでないかを判断する。表示対象のアクティビティがループ対象であった場合は、ステップS310へ処理を進め、ループ対象でなかった場合は、ステップS312へ処理を進める。
【0058】
ステップS309の表示対象がループ対象かそうでないかは、ステップS305と同じように、
【0059】
判断する。即ち、ステップS315で読み出した遷移元のアクティビティの深さが表示対象のアクティビティの深さより小さい場合、ループ対象のアクティビティと判断する。
【0060】
ステップS309において、表示対象のアクティビティがループ対象と判断された場合、ステップS310に進み、ステップS310においてワークフロー管理サーバ103は、表示対象のアクティビティを経路図表示画面にループ対象である結合子アイコンで表示させる。
【0061】
次に、ステップS311において、ワークフロー管理サーバ103は、経路図表示画面にループ対象の遷移先のアクティビティへの薄線を引いてリンク先を示す。その後。ステップS314へ処理を進める。
【0062】
一方、ステップS309において、表示対象のアクティビティがループ対象ではないと判断すると、ステップS312に処理を進め、ステップS312では、ワークフロー管理サーバ103は、表示対象のアクティビティのアイコンを経路図表示画面に表示する。
【0063】
図11と図7および図6でステップS312を説明する。
【0064】
図11では、ステップS308で確保されたアクティビティのアイコン枠1101が確保されている。表示対象のアクティビティが図6のidが29の“承認5”(611)の場合、1101のアイコン枠に“承認5”のアイコンが表示され、図7の705のように表示される。
【0065】
なお、ステップS312のアイコン表示は進捗情報DB111の進捗情報データ(図10の1001)により、進捗情報を表示するようにしても良い。具体的なアイコン表示方法を、図5で説明する。
【0066】
図5はアクティビティの実体を示すアイコンを表示する際のフローチャートである。
【0067】
図5は図1に示したワークフロー管理サーバ103のCPU201によって実行される。なお、S501〜S506は各ステップを示す。
【0068】
図5は、本発明のワークフロー管理サーバ103における第3の制御処理手順の一例を示すフローチャートであり、ワークフロー経路図上にアクティビティの実体を示すアイコンを表示する際(S312)に起動される。
【0069】
まず、ステップS501において、ワークフロー管理サーバ103は、進捗情報DBから進捗情報データを取得する。
【0070】
進捗情報データの一例として図10を参照して説明する。
【0071】
図10は進捗情報DB111に格納されている進捗情報データの一例である。
【0072】
図10の進捗情報データはユーザが起案や承認で通過したアクティビティのid(defId)1001、アクティビティの名前1002、現在実行中のアクティビティかどうかの確認(selected)1003、アクティビティのステータス1004、アクティビティでの起案や承認対象のユーザの担当者名(処理担当者名)1005等の項目から構成される。なお、このデータは、データベース形式で格納されている場合の構成だが、XMLや他の方法で格納することもできる。図5の説明に戻る
【0073】
ステップS502では、ワークフロー管理サーバ103は、表示対象のアクティビティが現在実行中かそうでないかを判断する。現在実行中かどうかは、図10の1003がtrueかそうでないかで判断する。
【0074】
ステップS502で現在実行中と判断された場合は、ステップS503に処理を進み、現在実行中でないと判断された場合、ステップS504の処理に進む。
【0075】
ステップS503では、ワークフロー管理サーバ103は、表示対象のアクティビティを太点線で囲って表示する。
【0076】
経路図の一例として図9を参照して説明する。
【0077】
図9はワークフロー管理サーバ103から出力されたデータをクライアント112の出力部102で表示した画面イメージの一例であり、承認担当者(処理担当者)を指定する画面である。図9は図10の進捗情報データを反映した例である。
【0078】
図10のアクティビティのidが33の“並列承認2_2”(1006)を表示する場合が、ステップS503の処理に該当する。
【0079】
ステップS502の現在実行中の表示対象のアクティビティが現在実行中かどうかの判断で、図10の“並列承認2_2”(1006)は1003の「現在実行中のアクティビティかどうかの確認」(Selected)欄がtrueになっているので、現在実行中のアクティビティであると判断する。
【0080】
ステップS503では表示対象のアクティビティを図9の901のように太点線で囲んで、一目で現在実行中である承認位置を把握することができる。
【0081】
一方、ステップS504では、ワークフロー管理サーバ103は、表示対象のアクティビティが進捗情報データに含まれるか、即ち処理済みかを判断する。表示対象のアクティビティが進捗情報データに含まれるかは、表示対象のアクティビティのidが図10の“defId”1001(ユーザが起案や承認で通過したアクティビティのid)に含まれるかどうかで判断する。
【0082】
表示対象のアクティビティが進捗データに含まれる場合はステップS505の処理に進み、進捗データに含まれない場合はステップS506に処理を進める。
【0083】
ステップS505において、ワークフロー管理サーバ103は、表示対象のアクティビティを太線で囲って表示する。
【0084】
一方、ステップS506において、ワークフロー管理サーバ103は、表示対象のアクティビティを細線で囲って表示する。
【0085】
図10のアクティビティのidが16の“承認1”(1007)を表示する場合が、ステップS505の処理に該当する。アクティビティのidが16(1007)を表示対象のアクティビティとした場合の経路図表示画面の例が図9の902である。
【0086】
図10の進捗情報データの状況で、表示対象のアクティビティのidが16の場合、defIdに16が含まれる(1007)ため、ステップS504においてidが16の“承認1”のアイコン表示はステップS505に処理を進める。ステップS505では、図9の902のように、“承認1”アイコンの周りを太線で囲って表示し、どの経路を通ってきたかを見易くしている。
【0087】
一方、ステップS504で表示対象のアクティビティが進捗情報データに含まれていないと判断された場合、ステップS506へ処理を進める。
【0088】
ステップS506における描画の例が、図9の903である。
【0089】
表示対象のアクティビティのidが32の“並列承認2_1”の場合、図10の進捗情報データのdefIdに32が含まれていないので、ステップS504においてidが32の“並列承認2_1”のアイコン表示はステップS506に処理を進める。ステップS506では、図9の903のように、“並列承認2_1”アイコンを細線で囲って表示し、通過してきた経路と差別化している。図3の説明に戻る。
【0090】
ステップS312が終了すると、ステップS315へと処理を進める。
【0091】
ステップS315では、表示対象アクティビティとその遷移元アクティビティの間を実線で結んで表示する。その後、ステップS314へと処理を進める。
【0092】
ステップS314では、ワークフロー管理サーバ103は、ステップS302で指定されたアクティビティ情報数分、表示対象のアクティビティのidを変えて、ステップS302から繰り返す。
【0093】
ステップS302のアクティビティ情報数分、ステップS316以降を実施すると、このフローを終了する。
【0094】
以上、図3および図5で説明した経路図画面表示により、ループを含むような複雑な経路を表示する場合においても、通過した承認ルートを確認しながら経路図を分かり易く表示することができる。
【0095】
次に、図4のフローチャートを参照して、ワークフロー管理サーバ103がワークフローの進捗状況表を表示させる手順について説明する。
【0096】
図4は図1に示したワークフロー管理サーバ103のCPU201によって実行される。なお、S401〜S412は各ステップを示す。
【0097】
図4は、本発明のワークフロー管理サーバ103における第2の制御処理手順の一例を示すフローチャートであり、ワークフローの進捗状況表を表示させる命令をクライアント112の入力部101から受け付けた際に起動される。なお、下記説明中はワークフロー管理サーバが実施すると記載しているが、クライアントが経路DBや進捗DBからデータを受け取り、クライアントで下記フローを実施することも可能である。
【0098】
クライアント112の入力部101からワークフローの進捗状況表を表示させる命令を受信すると、ワークフロー管理サーバ103は経路情報DB110と進捗情報DB111から経路情報データと進捗情報データを取得する(ステップS401)。
【0099】
次にワークフロー管理サーバ103は、ステップS402において、経路情報データからアクティビティの遷移回数を取得し、遷移回数分ステップS403以降のフローの処理を行う。遷移回数とは、遷移元のアクティビティから遷移先のアクティビティに遷移する回数である。ステップS403以降のフローはアクティビティの遷移順に沿って遷移回数分実施される。
【0100】
続いて、ステップS403において、ワークフロー管理サーバ103は、表示する進捗状況表の遷移先(表示対象)の行がループ対象のアクティビティかどうかの判断を行う。ループ対象かどうかは前述したように、ステップS401で読み出した経路情報データの遷移元のアクティビティの深さ(604)が表示対象の遷移先のアクティビティの深さ(604)より小さい場合、ループ対象のアクティビティと判断する。
【0101】
ステップS403で表示対象のアクティビティがループ対象であった場合は、ステップS404の処理へ進み、ループ対象でなければステップS410の処理へ進む。
【0102】
ステップS404では、ワークフロー管理サーバ103は、遷移先(表示対象)のアクティビティの深さとステップS401で取得した進捗情報データの最新アクティビティの深さとを比較する。最新アクティビティの方が遷移先(表示対象)のアクティビティ以上の深さであった場合は、ステップS405に処理を進め、最新アクティビティの方が小さい場合は、ステップS412に処理を進める。この処理により、現在通過していないループ対象の進捗状況表の行を新たに表示することがない。
【0103】
ステップS405では、ワークフロー管理サーバ103は、遷移先(表示対象)のアクティビティが進捗情報データの中で“完了”ステータスである場合にステップS406へ処理を進め、“完了”ステータスではない場合、ステップS412へと処理を進める。この処理により、現在承認していないループ対象の進捗状況表の行を新たに表示することがない。
【0104】
ステップS406では、ワークフロー管理サーバ103は、遷移先(表示対象)のアクティビティの承認ユーザがワークフロー実行時に指定できるかを、図6の612から判断する。図6の612がTRUEのアクティビティはワークフロー実行時に承認ユーザ指定が可能である。ワークフロー実行時に承認ユーザ指定が可能な場合はステップS407に処理を進め、承認ユーザ指定が指定できない場合はステップS412へと処理を進める。この処理により、承認ユーザが変更できない場合は進捗状況表に表示しないことにより、ユーザに見せる選択項目を減らすことができる。
【0105】
ステップS407において、ワークフロー管理サーバ103は、遷移先(表示対象)のアクティビティの承認ユーザが割り当てられているかどうか判断する。遷移先(表示対象)のアクティビティの承認ユーザが割り当てられていれば、ステップS408の処理へと進み、承認ユーザが割り当てられていなければステップS409の処理に進む。
【0106】
ステップS408において、ワークフロー管理サーバ103は、遷移先(表示対象)のアクティビティの割り当てられた承認ユーザを進捗情報データより取得する。
【0107】
ステップS409において、ワークフロー管理サーバ103は、遷移先(表示対象)のアクティビティの情報を進捗状況表に行単位で挿入する。その際、ステップS408で取得した承認ユーザの情報があれば、承認ユーザも該当行に挿入する。なお、進捗状況表の行には、承認ユーザをワークフロー実行時に指定可能なように、承認ユーザ選択ボタンを挿入する。ステップS409が終了すると、ステップS412に処理を進める。
【0108】
ステップS412において、ワークフロー管理サーバ103は、ステップS402で取得した遷移回数分、ステップS403に戻り、ステップS403以降を繰り返し実施する。
【0109】
一方、ステップS403において、遷移先(表示対象)のアクティビティがループ対象ではないと判断された場合、即ち、ステップS401で読み出した経路情報データの遷移元のアクティビティの深さ(604)が表示対象の遷移先のアクティビティの深さ(604)より大きい場合、ステップS410へと処理を進める。
【0110】
ステップS410では、ワークフロー管理サーバ103は、遷移先(表示対象)のアクティビティが条件分岐や並列分岐、結合でないかを判断する。条件分岐や並列分岐、結合である場合は、ステップS407の表示行作成フローは通らず、ステップS412へと処理を進め、条件分岐や並列分岐、結合ではない場合はステップS407の処理へ進む。分岐や結合の際に表示行を作成しないのは、承認ユーザを決める必要がないアクティビティであるためである。
【0111】
ステップS412において、ステップS402で取得した遷移回数分のステップS403以降の処理を実施すると、このフローを終了する。
【0112】
具体的に、経路情報データの一例として図6、進捗情報データの一例として図12、図10を参照して説明する。
【0113】
図12は小野寺秀和氏が“起案”し、磯貝正久氏に“承認1”をお願いした場合の進捗情報データである。また、図10は“承認1”が終了し、“並列承認2_2”の処理待ちの状態の進捗情報データである。
【0114】
ステップS401で、図6の経路情報データと図12や図10の進捗情報データを取得する。
【0115】
ステップS402では、図6の経路情報データからアクティビティの遷移回数を取得する。遷移回数は、609の“条件分岐3”の場合はnextIdsに記載がある15,28,16,29の4回となる。各idの遷移数を合計して遷移回数とし、以降のフローの処理回数を決める。なお、この例では処理の順番は遷移順としている。
【0116】
ステップS403以降のフローを、ステップS402で決められた回数だけ実施する。遷移回数分S403以降のフローを実施することにより、ループ対象のアクティビティを複数回通った場合でも、ループ対象を通った回数分表示させるのではなく最新の承認担当者のみを表示可能となる。
【0117】
ステップS403では、図6の経路情報データを元に遷移順に沿ってループ対象かどうかの判断をする。図6の609の“条件分岐3”の場合のnextIdsの16(608)は609の深さ(604)より607の深さ(604)が小さいので、ループ対象となる。以下は、遷移先(表示対象)のアクティビティが上記607の場合で話を進める。
【0118】
ステップS404では、遷移先(表示対象)のアクティビティ607の深さと進捗情報データの最新アクティビティの深さとを比較する。図12や図10の進捗情報データの場合は、最新アクティビティの深さは図12は“承認1”の15、図10は“並列承認2_2”の17と、遷移先(表示対象)のアクティビティ607の深さ15以上であるので、2つの場合ともステップS405へと進む。
【0119】
ステップS405では、遷移先(表示対象)のアクティビティ607の進捗情報データのステータス(1204,1004)から、607が完了しているかの判断をする。図12の場合は“承認1”のステータス1207は“処理待ち”であり、“完了”ではないので、ステップS412の処理へ進む。一方、図10の場合は“承認1”のステータス1008は“完了”なので、ステップS406の処理へ進む。
【0120】
ステップS406では、遷移先(表示対象)のアクティビティ607の経路情報データのワークフロー実行時に承認ユーザを指定可能かの判断を612(assigneeEnabled)から確認する。遷移先(表示対象)のアクティビティ607の承認ユーザ指定可能欄612はTRUEとあるので、承認ユーザの指定が可能と判断され、ステップS407へ処理を進める。
【0121】
ステップS407では、遷移先(表示対象)のアクティビティ607の承認担当者が割り当てられているかを確認する。進捗情報データの“承認1”行1007の担当者名1005列には“磯貝正久”の名前があり、承認担当者が割り当てられているので、ステップS408へ処理を進める。
【0122】
ステップS408では、ステップS407で確認した担当者欄にある担当者名“磯貝正久”を取得する。
【0123】
ステップS409では、図9の904のような表示行を作成する。904の表示行作成のため、ステップS408で取得した“磯貝正久”の情報を図10の進捗情報データから取得して表示する。また、904には承認担当者を変更できるように、選択ボタンを配置している。この際、承認担当者の所属部署や役職名などの情報は進捗情報データからではなく、今回図示しない人事情報データなどから持ってきても良い。
【0124】
一方、ステップS405において、遷移先(表示対象)のアクティビティ607の進捗情報データのステータスが図12の様に完了していない場合(1204)は図8のように“条件分岐3”609の次のアクティビティである“承認1”607の行801は表示されない。
【0125】
なお、図9の905にエクスプラネーションマーク(!)が付いた行があるが、エクスプラネーションマークがついた行、即ちアクティビティは、まだ承認担当者の候補が決められていないアクティビティを示している。
【0126】
また、ステータス1004が完了した場合(1008)に図9の904のように承認担当者を入力するようにしても良いし、図8の承認1欄のように承認担当者が決められた状態で、図示しないがループ経路のある801に承認担当者を表示しても良い。
【0127】
さらに、ステータスが完了した場合にループ経路にある承認担当者(例えば904)を表示するアクティビティと、ステータスが完了されていなくても承認担当者が決められた段階でループ経路にある承認担当者(図示しないが801の位置)を表示するアクティビティとを経路情報データ内にある図示しないデータによって判断しても良い。
【0128】
以上のように、図4のフローにより、利用ユーザは承認ユーザを指定する際に、ワークフローの流れを確認しながら、選択可能な承認ユーザ項目のみを表示、選択可能になる。またループ対象の承認フローも最新の承認結果のみを表示可能とし、ループ回数によって進捗状況表のデータが増えるのを防ぎ、表を見やすくすることが出来るなどの効果を有する。
【0129】
なお、進捗状況表の各行や経路図の各アクティビティをクリックすることで、同じアクティビティを複数回通った回数分の履歴情報を進捗状況表に展開表示されるようにしても良い。
【0130】
以上に示したように、本実施形態によれば、ワークフロー管理サーバにおいて、ループ経路を最初は表示しなかったり、ループ対象の直前のアクティビティで表示するなどすることにより、ループを含むような複雑な経路を表示する場合においても、経路図を分かり易く表示する方法を提供することが可能となる。
【0131】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【0132】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0133】
上記実施形態では、回覧されるワークフローデータの承認担当者をワークフローの各工程で表示、選択できる構成をワークフロー管理サーバに適用する場合を説明したが、ワークフロー管理サーバで実施される場合に限られるものではなく、クライアントに前記構成を持たせることも可能である。
【0134】
以下、図14に示すメモリマップを参照して本発明に係るワークフロー管理サーバ103で読み取り可能なデータ処理プログラムの構成について説明する。
【0135】
図14は、本発明に係る本発明に係るワークフロー管理サーバ103で読み取り可能な各種データ処理プログラムを格納する記録媒体(記憶媒体)のメモリマップを説明する図である。
【0136】
なお、特に図示しないが、記録媒体に記憶されるプログラム群を管理する情報、例えばバ−ジョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【0137】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、インスト−ルするプログラムやデータが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【0138】
本実施形態における図3,図4,図5に示す機能が外部からインスト−ルされるプログラムによって、ホストコンピュ−タにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【0139】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコ−ドを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュ−タ(またはCPUやMPU)が記録媒体に格納されたプログラムコ−ドを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0140】
この場合、記録媒体から読み出されたプログラムコ−ド自体が本発明の新規な機能を実現することになり、そのプログラムコ−ドを記憶した記録媒体は本発明を構成することになる。
【0141】
プログラムコ−ドを供給するための記録媒体としては、例えば、フレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,DVD−ROM,磁気テ−プ,不揮発性のメモリカ−ド,ROM,EEPROM,シリコンディスク等を用いることができる。
【0142】
また、コンピュ−タが読み出したプログラムコ−ドを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコ−ドの指示に基づき、コンピュ−タ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0143】
さらに、記録媒体から読み出されたプログラムコ−ドが、コンピュ−タに挿入された機能拡張ボ−ドやコンピュ−タに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコ−ドの指示に基づき、その機能拡張ボ−ドや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0144】
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0145】
さらに、本発明を達成するためのソフトウェアによって表されるプログラムをネットワーク上のサーバ,データベ−ス等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0146】
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【0147】
101 入力部
102 出力部
103 ワークフロー管理サーバ
104 外部記憶装置
105 経路情報視覚化部
106 視覚化情報送信部
107 ループ経路視覚化部
108 進捗情報リスト生成部
109 処理担当者選択部
110 経路情報
111 進捗情報
112 クライアント

【特許請求の範囲】
【請求項1】
クライアントと接続可能な、ワークフローを制御するワークフローシステムを管理するワークフロー管理サーバにおいて、
前記ワークフローのアクティビティと経路情報を記憶する経路情報記憶手段と、
前記経路情報記憶手段に記憶されたアクティビティと経路情報とを視覚的に表示制御する経路情報視覚化手段と、
前記経路情報視覚化手段により視覚的に表示制御された情報を前記クライアントに送信する視覚化情報送信手段とを有し、
前記経路情報はループ経路を含み、
前記経路情報視覚化手段は、ループ対象の遷移元アクティビティを示す記号から、遷移先アクティビティを示す記号とリンクしたシンボル記号への経路情報を表示することを特徴とするワークフロー管理サーバ。
【請求項2】
前記シンボル記号と、該シンボル記号とリンクした遷移先アクティビティを示す記号との間を補助的な手段で表示するループ経路視覚化手段と、
を有することを特徴とする請求項1記載のワークフロー管理サーバ。
【請求項3】
前記ワークフローの処理済みのアクティビティの進捗情報を記憶する進捗情報記憶手段を有し、
前記経路情報視覚化手段は、前記進捗情報記憶手段に記憶された進捗情報から、前記処理済みのアクティビティを示す記号を特徴づけて表示制御することを特徴とする請求項1または2記載のワークフロー管理サーバ。
【請求項4】
前記ループ経路視覚化手段は、前記シンボル記号が指定されると、該シンボル記号とリンクした遷移先アクティビティを示す記号が表示されるようにスクロール制御することを特徴とする、請求項1乃至3記載のワークフロー管理サーバ。
【請求項5】
前記ループ経路視覚化手段は、前記シンボル記号と、該シンボル記号とリンクした遷移先アクティビティを示す記号との間を補助線で示すことを特徴とする、請求項1乃至4記載のワークフロー管理サーバ。
【請求項6】
前記ループ経路視覚化手段は、前記シンボル記号が指示された際に、前記シンボル記号と、該シンボル記号とリンクした遷移先アクティビティを示す記号との間の補助線を表示することを特徴とする請求項2乃至5記載のワークフロー管理サーバ。
【請求項7】
前記ループ経路視覚化手段は、前記遷移元アクティビティを示す記号が指定された際に、前記シンボル記号と、該シンボル記号とリンクした遷移先アクティビティを示す記号との間の補助線を表示することを特徴とする請求項2乃至5記載のワークフロー管理サーバ。
【請求項8】
前記ループ経路視覚化手段は、前記進捗情報記憶手段に記憶された進捗情報から、ワークフローの進捗状況が前記遷移元アクティビティに達した際に前記シンボル記号と、該シンボル記号とリンクした遷移先アクティビティを示す記号との間の補助線を表示することを特徴とする請求項3乃至5記載のワークフロー管理サーバ。
【請求項9】
クライアントと接続可能な、ワークフローを制御するワークフローシステムを管理するワークフロー管理サーバの制御方法であって、
前記ワークフローのアクティビティと経路情報を経路情報記憶部に記憶する経路情報記憶工程と、
前記経路情報記憶工程に記憶されたアクティビティと経路情報とを視覚的に表示制御する経路情報視覚化工程と、
前記経路情報視覚化工程により視覚的に表示制御された情報を前記クライアントに送信する視覚化情報送信工程とを有し、
前記経路情報はループ経路を含み、
前記経路情報視覚化工程は、ループ対象の遷移元アクティビティを示す記号から、遷移先アクティビティを示す記号とリンクしたシンボル記号への経路情報を表示することを特徴とするワークフロー管理サーバの制御方法。
【請求項10】
請求項9に記載されたワークフロー管理サーバの制御方法を実行するためのプログラム。
【請求項11】
請求項9に記載されたワークフロー管理サーバの制御方法を実行するためのプログラムをコンピュータが読み取り可能に記憶した記憶媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2011−59752(P2011−59752A)
【公開日】平成23年3月24日(2011.3.24)
【国際特許分類】
【出願番号】特願2009−205498(P2009−205498)
【出願日】平成21年9月7日(2009.9.7)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.コンパクトフラッシュ
【出願人】(301015956)キヤノンソフトウェア株式会社 (364)
【Fターム(参考)】