JP3832824B2 - ワークフローサーバおよびワークフローエンジン - Google Patents

ワークフローサーバおよびワークフローエンジン Download PDF

Info

Publication number
JP3832824B2
JP3832824B2 JP2002218655A JP2002218655A JP3832824B2 JP 3832824 B2 JP3832824 B2 JP 3832824B2 JP 2002218655 A JP2002218655 A JP 2002218655A JP 2002218655 A JP2002218655 A JP 2002218655A JP 3832824 B2 JP3832824 B2 JP 3832824B2
Authority
JP
Japan
Prior art keywords
node
workflow
processing
field
same processor
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.)
Expired - Fee Related
Application number
JP2002218655A
Other languages
English (en)
Other versions
JP2004062438A (ja
Inventor
隆昭 野中
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2002218655A priority Critical patent/JP3832824B2/ja
Priority to US10/628,029 priority patent/US8880418B2/en
Publication of JP2004062438A publication Critical patent/JP2004062438A/ja
Application granted granted Critical
Publication of JP3832824B2 publication Critical patent/JP3832824B2/ja
Priority to US14/510,099 priority patent/US10275729B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06316Sequencing of tasks or work
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Data Mining & Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、オフィスにおけるワークフローの改善に係り、より詳しくは、処理者の処理を簡潔化させるワークフローシステム等に関する。
【0002】
【従来の技術】
複数の作業者が関わる一連の業務手順を定義し、その業務の流れを実際に管理して運用するワークフローシステムは、業務手順に従った業務の管理・運用を電子化にて実現しており、このワークフローシステムの導入によって、作業の効率化を図ることができる。オフィスにおける事務処理の効率化、ファイルキャビネットのスペースコストの問題、環境問題等から、このワークフローの1つである例えば伝票処理を電子化して、ペーパーレスによる帳票処理システムを構築することの必要性は非常に高いものがある。しかしながら、実際の伝票処理は複雑であり、例外処理に対する対応の問題などから、ペーパーレスな帳票処理システムは、未だ十分に普及されているとは言い得ない。
【0003】
そこで、複雑なワークフローを簡単に設計・管理できる電子申請システムとして、日本アイ・ビー・エム株式会社から「FormWave」(インターナショナル・ビジネス・マシーンズ社の商標)が提供されている。この「FormWave」では、各種申請・承認業務における起票から承認・保管までの一連の流れの中で、複雑な経路の設定・管理をワークフローエンジンにて行うことで、迅速かつ正確な処理が可能となり、部門や組織の生産性の向上を図ることができる。
【0004】
また、ワークフローシステムに関する従来技術として、例えば、特開平10−105623号公報には、ワークフローの定義情報を分割して登録し、分割した登録情報を複数のワークフローで共有化する技術について開示されている。これにより、プロセスの部分的変更や、プロセスの部分的停止や再開等を行い、効率的できめ細やかな管理を実現することができる。また、特開平10−134127号公報には、停滞している回覧を回収する際に、現在回覧を処理中の作業者および後に回覧を処理する予定の作業者に対して予告を行い、各作業者における業務の混乱を防ぐ技術について示されている。更に、特開2000−137763号公報には、処理担当ユーザがやむを得ない事態で一時的に処理業務ができなくなった場合に、業務遂行を停滞させることがないように、あるノードに電子化文書が送付された時点からの経過時間を監視し、処理完了がなされないまま制限処理時間に達した場合には電子化文書を自動的にスキップする技術について開示されている。
【0005】
【発明が解決しようとする課題】
ここで、これらのワークフローシステムにおいて、上位の役職を兼任している処理者がいる場合などに、同一の処理者が同じ帳票に対して続けて承認などの処理を行う場合がある。例えば、起票者Aさんの所属する部署では、係長と課長とをBさんが兼任し、部長はCさんが務めるような場合である。このようなときに、係長と課長とを兼任しているBさんは、帳票に対する判断は変わらないのに、同一の帳票に対して続けて2回、処理する必要がある。かかる場合、同一人物が処理を行うために、その帳票に対する判断は夫々のノードで賛否が変わることがなく、同一の判断が行われるものと考えられ、一度の処理で済むはずである。しかしながら、現行のワークフローシステムでは、それぞれのノードにおいて複数回の処理を行う必要があった。
【0006】
また、このように同一処理者のノードが連続する場合に、最初のノードでの処理が他のノードでも可能なとき、即ち、その先頭のノードにおける処理がそれ以降のノードでも適用可能な場合(同一の処理が適用可能でなくても、同一とみなすことができる処理が定義してある場合はその処理を適用する場合)、その処理が以降のノードでも行われたものとして処理を行う方法が提案されている。しかしながら、かかる提案の方法では、処理者は、先頭ノードで提供される情報しか参照することができず、また、情報の入力も先頭ノードにおいて入力可能なものしか入力することができなかった。このために、参照や変更できるフィールドが異なる場合、例えば、係長と課長とで人事情報への権限が異なる等、それぞれのノードでの情報へのアクセス権限が異なる場合には、意思決定に必要な情報を参照することができず、また、必要な情報の変更や入力ができずに、途中のノードでエラーが発生することも考えられる。
【0007】
本発明は、以上のような技術的課題を解決するためになされたものであって、その目的とするところは、ワークフローシステムにおいて、例えば、同一処理者が処理する連続する複数のノードにて、従来は複数回行っていた処理を一回で済ますことにある。
【0008】
【課題を解決するための手段】
かかる目的のもと、本発明は、同一処理者が処理するノードが連続する場合、帳票が先頭のノードに到達したときに、ワークフローエンジンは、連続するノード上における処理者の判断に必要な情報を集約し、その集約された情報を処理者に送付している。この情報を送付された処理者は、その情報を元に意思決定を行い、処理結果をワークフローエンジンに送付する。ワークフローエンジンでは、処理者から送られた情報をもとに、各ノードにおける必要な処理を行い、ワークフローを進めるように構成されている。これらの一連の処理によって、従来は複数回行っていた処理を、例えば一回で済ませることが可能となる。即ち、本発明が適用されるワークフローシステムは、ワークフローを実行する操作用コンピュータ端末と、操作用コンピュータ端末に対してネットワークを介して接続されてワークフローを管理するワークフローサーバとを備え、このワークフローサーバは、操作用コンピュータ端末を操作する同一処理者が処理する連続した複数のノードにおける処理について、この複数のノードにおける処理に必要な情報を集約させて操作用コンピュータ端末に対して送信することを特徴としている。
【0009】
ここで、このワークフローサーバは、同一処理者が処理する複数のノードの先頭のノードにワークフローが実行される帳票が到達した際、同一処理者の判断に必要な情報を集約し、集約された情報を操作用コンピュータ端末に対して送信することを特徴とすることができる。また、この操作用コンピュータ端末は、ワークフローサーバから送信された情報に基づく同一処理者の処理結果をワークフローサーバに対して送信している。更に、このワークフローサーバは、操作用コンピュータ端末から送信された同一処理者の処理結果に基づいて複数のノードにおける個々の処理を行い、ワークフローを進めることを特徴とすることができる。
【0010】
一方、本発明が適用されるワークフローサーバは、複数のコンピュータ端末に接続されてワークフローを管理するワークフローサーバであって、ワークフローを実行する処理者に割り当てられるノードの定義を格納する格納手段と、ワークフロー内にて、同一処理者が処理する連続する複数のノードを集約する集約範囲を決定する集約範囲決定手段と、この集約範囲決定手段により決定された集約範囲内の各ノード毎の選択可能な処理を格納手段から取得する取得手段と、この取得手段により取得された処理を集約して同一処理者に提供する提供手段とを含んでいる。
【0011】
ここで、このノードの定義は、ノードでの各フィールドのアクセス権に関する情報を含み、集約範囲決定手段により決定された集約範囲内にて、各フィールドに対して最大のアクセス権を格納手段から取得する最大アクセス権取得手段を更に備えることを特徴とすることができる。また、提供手段により提供された同一処理者により入力された各フィールドの入力値を保持する保持手段を更に備えることを特徴とすることができる。そして、最大アクセス権取得手段により取得された各フィールドの最大アクセス権がフィールドに反するものである場合は、フィールドに対する最大アクセス権を変更せずに同一処理者の次のノードに進み、かつ、保持手段に保持された同一処理者による入力値を保持して次のノードで反映することを特徴とすることができる。
また、この格納手段は、同一処理者が連続する場合の帳票レイアウト定義を格納し、提供手段は、格納手段から取得された帳票レイアウト定義および最大アクセス権取得手段から取得されたフィールドのアクセス権に基づいてフォーマットされた帳票を同一処理者に提供することを特徴とすることができる。
【0012】
他の観点から捉えると、本発明は、複数のコンピュータ端末に接続されてワークフローを管理するワークフローエンジンであって、ワークフロー内にて、同一処理者によって処理される連続する複数のノードを集約する集約範囲を決定する集約範囲決定手段と、この集約範囲決定手段により決定された集約範囲内にて、各ノードにおけるアクセス権限を各フィールドに対して設定するアクセス権限設定手段と、この集約範囲決定手段により決定された集約範囲内の各ノード毎の選択可能な処理を取得する選択可能処理取得手段と、アクセス権限設定手段により設定されたアクセス権限および選択可能処理取得手段により取得された処理に基づいて帳票を生成する帳票生成手段と、この帳票生成手段により生成された帳票を同一処理者に送付する帳票送付手段とを含んでいる。
【0013】
ここで、集約範囲決定手段は、集約範囲の決定手法として幾つかを採用することができる。例えば、所定のノードで選択可能な処理が複数あり、それぞれの処理に対して決まる経路について、その中の一つの経路に他の経路が包含される場合に、包含される他の経路を集約範囲として決定するものがある。また、それぞれの処理に対して決まる経路が包含関係にない場合には、経路の共通部分を集約範囲として決定することができる。更に、このアクセス権限設定手段は、帳票上に定義されたフィールドに対し、各ノードにおける同一処理者の有するアクセス権限の強いものを集約時におけるアクセス権限として設定することができる。
【0014】
また、本発明は、ネットワークに接続されたコンピュータ端末を操作する処理者に割り当てられるワークフローのノードに対し、複数の当該ノードにおける処理を集約するワークフロー処理集約方法として捉えることができる。この方法では、記憶装置に格納されたワークフロー定義に基づいて同一処理者によって処理される連続する複数のノードが集約された集約範囲を決定するステップと、ワークフロー定義より、各フィールドに対して集約範囲内にて最大となるアクセス権限を求めるステップと、決定された集約範囲内の各ノード毎の選択可能な処理を記憶装置に格納されたワークフロー定義から取得するステップと、ワークフロー定義より、同一処理者に対して提供する帳票のレイアウト定義を取得するステップと、アクセス権限とレイアウト定義とに基づいて集約情報としての帳票を生成し、即ち、取得された選択可能な処理を集約して集約情報を生成し、ネットワークを介して同一処理者に集約情報を提供するステップとを含む。
【0015】
更に、後処理として、同一処理者が集約情報に対して行った処理をネットワークを介して受信するステップと、受信した処理の中から、同一処理者が入力したフィールドの値および選択した処理を記憶装置に格納するステップとを更に含むことができる。
【0016】
尚、本発明は、コンピュータであるワークフローエンジンに実行させるプログラムとして把握することができる。即ち、本発明が適用されるプログラムは、ネットワークに接続された複数のコンピュータ端末によって実行されるワークフローを管理するコンピュータに、記憶装置に格納されたワークフロー定義に基づいて、同一処理者によって処理される連続する複数のノードが集約された集約範囲を決定する機能と、ワークフロー定義より、各フィールドに対してこの集約範囲内にて最大となるアクセス権限を求める機能と、決定された集約範囲内の各ノード毎の選択可能な処理を記憶装置に格納されたワークフロー定義から取得する機能と、ワークフロー定義より、同一処理者に対して提供する帳票のレイアウト定義を取得する機能と、アクセス権限およびレイアウト定義に基づいて同一処理者に提供する帳票を生成し、取得された選択可能な処理を集約して集約情報を生成する機能と、生成された帳票を同一処理者に送信する機能と、この帳票に対する同一処理者からの処理を受信する機能と、受信した処理の中から、フィールドの値および選択した処理を記憶装置の作業用データテーブルに格納する機能とを実現させる。
【0017】
尚、これらのプログラムとしては、コンピュータであるワークフローエンジンを顧客に対して提供する際に、インストールされた状態にて提供される場合の他、コンピュータに実行させるプログラムをコンピュータが読取可能に記憶した記憶媒体にて提供する形態が考えられる。この記憶媒体としては、例えばフロッピーディスクやCD−ROM媒体等が該当し、フロッピーディスクドライブやCD−ROM読取装置等によってプログラムが読み取られ、フラッシュROM等にこのプログラムが格納されて実行される。また、これらのプログラムは、例えば、プログラム伝送装置によってネットワークを介して提供される形態がある。このプログラム伝送装置としては、例えば、ホスト側のサーバに設けられ、プログラムを格納するメモリと、ネットワークを介してプログラムを提供するプログラム伝送手段とを備えている。
【0018】
【発明の実施の形態】
以下、添付図面を用い、本発明の実施の形態について詳細に説明する。
図1は、本実施の形態が適用されるワークフローシステムの概略構成を示す図である。本実施の形態におけるワークフローシステムは、ワークフローの設計のための設計用コンピュータ端末10、業務を遂行する処理者(担当者)に対応して設けられたワークフローの操作用コンピュータ端末20、ワークフローを実行するための各種プログラムや各種テーブルが格納されるワークフローサーバ30を備えている。この設計用コンピュータ端末10、操作用コンピュータ端末20、およびワークフローサーバ30は、それぞれ接続されてネットワークを形成している。
【0019】
設計用コンピュータ端末10は、ワークフローの設計機能が導入されており、業務処理をワークフローシステムで実現するための定義機能を備えている。業務処理定義者(処理設計者)は、この設計用コンピュータ端末10を用いて業務処理手順をワークフローシステムに定義する。操作用コンピュータ端末20には、予め指定された所定の業務を実行する機能が備えられており、例えば、起票者、係長、課長、部長等の各処理担当者に配置されている。業務処理定義者は、設計用コンピュータ端末10を用いて、自己の識別情報を入力してワークフローシステムに接続する。また、業務処理定義者は、ワークフロー設計機能を用いて、対象としている業務における処理の流れと、処理で用いられるデータ構造とを設計している。
【0020】
本実施の形態が適用されるワークフローシステムでは、担当者(処理者)に割り当てられる所定業務の単位であるノードを、所定業務処理の順番、即ち、処理のつながりを示すパスによって連結し、ワークフローが定義される。例えば、全てのノードにて単一のデータ定義が参照され、各処理間で必要となるデータの受け渡しはパスに従うと仮定することができる。複数の操作用コンピュータ端末20と複数のノードとが一致する場合もあるが、複数のノードの業務を単一の操作用コンピュータ端末20にて実行する場合もある。ノードはワークフローの業務の単位であって、操作用コンピュータ端末20とは一致するものではない。
【0021】
本実施の形態では、同一担当者(例えば、一台の操作用コンピュータ端末20を操作する同一人物)が処理するノードが連続する場合(例えば、係長ノードと課長ノードであり、所定の業務において係長と課長とを同一人物が兼務している場合)、ワークフローに用いられる帳票がその先頭ノード(例えば係長ノード)に到達したときに、ワークフローサーバ30にて、連続するノード上における処理者の判断に必要な情報を集約する。そして、その集約された情報を、例えば新たな帳票として実現して、処理者(兼務している担当者、同一処理者)の操作用コンピュータ端末20に、ネットワークを介して送信する。この情報(例えば新たな帳票)を受信した操作用コンピュータ端末20の処理者(兼務している担当者、同一処理者)は、その情報を元に意思決定を行い、ネットワークを介して処理結果をワークフローサーバ30に送信する。処理結果を受信したワークフローサーバ30では、送付された処理結果を用いて、集約した各ノードにおける必要な処理を行い、その後のワークフローを進めるように構成されている。尚、集約される情報としては、帳票以外に所定のテキスト情報等で実現される場合もある。
【0022】
図2は、ワークフローサーバ30の構成を示した図である。本実施の形態におけるワークフローサーバ30は、ワークフローエンジン40として、ワークフロー定義管理プログラム41、ワークフロー処理実行プログラム42、ワークフローインスタンス管理プログラム43、クライアント要求処理プログラム44、およびユーザ管理プログラム45を備えている。また、各種情報を記憶する記憶装置として、ワークフロー定義31、ワークフローインスタンスデータ32、処理履歴33、同一処理者連続時作業用データ34、およびユーザ情報35の各テーブルを備えている。図2では、これらの情報が格納される記憶装置をワークフローサーバ30内に配置してあるが、これらはネットワーク内のどこに配置させても構わない。
【0023】
ワークフロー定義管理プログラム41は、業務処理定義者が定義したワークフローをワークフロー定義31に保存して管理する。定義される各々のワークフローは、ワークフロー定義IDによって識別され、新たな定義の登録および既にある定義の修正は、ワークフロー定義管理プログラム41を通じてワークフロー定義IDを用いて管理される。また、操作用コンピュータ端末20を操作する処理者が新規プロセスを作成する際には、処理者が操作用コンピュータ端末20よりクライアント要求処理プログラム44に対して、その処理者が作成できるプロセスの一覧を作成し操作用コンピュータ端末20上に表示するように要求を出す。処理者からの要求を受けたクライアント要求処理プログラム44は、ワークフロー定義管理プログラム41に対して受け取った要求を渡し、ワークフロー定義管理プログラム41は、ワークフロー定義31を用いて作成可能なプロセスの一覧を作成する。このワークフロー定義31には、同一処理者が連続する場合の処理方法を決める集約フラグや、集約処理を決定する際に用いられる各ノードでの各フィールドのアクセス権、各ノード毎の選択可能な処理等が格納されている。
【0024】
ワークフロー処理実行プログラム42は、ワークフロー定義31に格納されたテーブル情報に基づいてワークフロー処理を実行している。このワークフロー処理実行プログラム42では、情報を集約する範囲の決定や、情報の集約処理が実行される。ワークフローインスタンス管理プログラム43は、実際に流れているインスタンスの状況、例えば、処理の流れの中でユーザが入力したデータを保持したり、ユーザが入力したデータなどをワークフローインスタンスデータ32に格納すると共に、これらの情報に基づく処理履歴33を管理している。ここで、ワークフローのインスタンスとは、動いている伝票等を示しており、ワークフローとして定義され、実体として流れているものである。
【0025】
クライアント要求処理プログラム44は、操作用コンピュータ端末20を用いる担当者からの要求、例えば、処理依頼や「処理待ち伝票を開く」といったようなクライアントからの各種要求を受け付ける機能を有している。このクライアント要求処理プログラム44は、担当者に対して、現在割り当てられているアクティビティの一覧を提供し、また、担当者のアクティビティ終了要求を受け付ける機能等を備えている。担当者(処理者)自身が参加したプロセスが現在どのような状態にあるかを参照するためには、ワークフローインスタンスデータ32に格納されている情報が用いられる。クライアントからの要求は、ワークフロー処理実行プログラム42やワークフローインスタンス管理プログラム43に渡される。ユーザ管理プログラム45は、ワークフローシステムに参加できる担当者(ユーザ)の定義や例えばAさんの上司はBさんである、といったようなユーザに関する情報を定義しており、処理者の各種情報をユーザ情報35に登録し、必要に応じてユーザ情報35にアクセスしている。
【0026】
図3(a),(b)および図4(a),(b),(c)は、各種テーブルに格納される情報を説明するための図である。図3(a)は、ワークフロー定義31に格納されるテーブル情報が示されている。ワークフロー定義31には、識別子である「ワークフロー定義ID」、ワークフローの「タイトル」、同一処理者が連続する場合の処理方法として「集約フラグ」が定義される。この「集約フラグ」では、それぞれのノードを個別に処理する場合には「0」を、ノード情報を集約して処理者に送付して一度に処理する場合には「1」が設定される。また、ワークフロー定義31には、フィールドの定義である「フィールド定義」、処理の名前やその処理が選択されたときのワークフローのフロー方向、およびワークフローエンジン40がワークフローに対して行う操作の定義である「処理定義」、ノードの名前や処理者の指定、そのノードでの各フィールドのアクセス権、選択可能な処理の一覧、およびノード固有の帳票レイアウト等を定義する「ノード定義」、ノードの接続情報である「パス定義」、標準の帳票レイアウト定義である「標準レイアウト」、同一処理者が連続する場合の帳票レイアウト定義である「同一処理者連続時レイアウト」などが格納される。
【0027】
図3(b)は、ワークフローインスタンスデータ32に格納されるテーブル情報が示されている。ここでは、ワークフローインスタンスの識別子である「レコードID」、ワークフロー定義31に格納される定義の識別子である「ワークフロー定義ID」、「伝票番号」、操作用コンピュータ端末20を操作する処理者として、「起票者ID」、一つ前の処理者IDである「前処理者ID」、現在の処理者IDである「現処理者ID」、現在のノードIDである「ノードID」、各フィールドのデータである「伝票データ」が格納されている。
【0028】
図4(a)は、処理履歴33に格納される各種テーブル情報が示されている。ここでは、図3(b)と同様に、「ワークフロー定義ID」、「伝票番号」、「現処理者ID」、「ノードID」が格納される。また、処理者ID、処理者の名前、選択した処理、処理を行ったノード、処理を行った日時、処理の結果(エラー/正常)の組を各ノード毎に記録する「処理履歴」が格納される。
【0029】
図4(b)は、同一処理者連続時作業用データ34に格納される作業用データテーブルが示されている。ここでは、「レコードID」、「ワークフロー定義ID」、「伝票番号」、「現処理者ID」、「ノードID」、の他に、同一処理者が連続する範囲である「経路情報」、「フィールドアクセス権」、経路情報に含まれる各ノードでの選択可能な処理一覧である「処理テーブル」、ユーザが入力した各フィールドのデータである「伝票データ」、ユーザが選択した処理である「処理」が格納される。
【0030】
図4(c)は、ユーザ情報35に格納されるユーザ情報テーブルが示されており、処理者の識別子である「処理者ID」、処理者の名前である「名前」、処理者の上司の処理者IDである「上司」の情報がテーブル情報として格納される。尚、図3(a),(b)および図4(a),(b)に示される「*1」は、複数個のデータからなりXML形式で保管されるデータを示している。
【0031】
次に、図5および図6を用いて起票時および起票時以外の大まかな流れについて説明する。
図5は、起票時の流れを説明するための図である。まず、操作用コンピュータ端末20の処理者である起票者から起票要求(図のI)を受けたワークフローエンジン40は、ワークフロー定義31を参照し(図のII)、ユーザ情報35から、ノードの処理者を決定するためのユーザ情報を参照する(図のIII)。また、同一処理者連続時作業用データ34に集約データを保管し(図のIV)、操作用コンピュータ端末20の処理者に帳票が送られる(図のV)。その後、処理者から入力済み帳票の送付を受けると(図のVI)、ワークフローエンジン40は、同一処理者連続時作業用データ34に入力データを保管し(図のVII)、ワークフローインスタンスデータ32におけるインスタンスデータを更新する(図のVIII)。最後に、処理履歴33に対して処理履歴の更新を行う(図のIX)。
【0032】
図6は、図5に示した起票時以外の流れを説明するための図である。まず、操作用コンピュータ端末20の処理者である、例えば承認等を行う担当者から処理要求(図のI)を受けたワークフローエンジン40は、ワークフロー定義31を参照し(図のII)、ワークフローインスタンスデータ32からインスタンスデータを参照する(図のIII)と共に、ユーザ情報35から、ノードの処理者を決定するためのユーザ情報を参照する(図のIV)。また、同一処理者連続時作業用データ34に集約データを保管する(図のV)。そして、ワークフローエンジン40は、操作用コンピュータ端末20の処理者に帳票を送付する(図のVI)。その後、処理者から入力済み帳票が送付されると(図のVII)、ワークフローエンジン40は、同一処理者連続時作業用データ34に入力データを保管し(図のVIII)、ワークフローインスタンスデータ32の伝票データであるフィールドの値(データ)を更新する(図のIX)。最後に、処理履歴33に対して処理履歴の更新を行う(図のX)。
【0033】
次に、同一処理者が処理する連続する複数のノードでの処理を一回の操作で行う方法について説明する。本実施の形態のワークフローエンジン40は、同一処理者が連続する場合に、その最初のノードに帳票が送付された時点で、それぞれのノードで参照や変更ができるフィールドと可能な処理の和集合をとり、操作用コンピュータ端末20の処理者にまとめて渡している。後述するように、フィールドへのアクセス権(参照可/不可、変更可/不可、入力必須)については、それぞれのフィールドへのアクセス権の中で最大の権限を与えている。
【0034】
まず、ワークフローエンジンの前処理について説明する。ここでは、連続するノードの定義として、ワークフロー定義管理プログラム41によって実行され、前処理の結果は、ワークフロー定義31に格納される。
図7(a)〜(c)は、ノードの順位の定義およびノードの進む方向を説明するための図である。図7(a)に示すように、ワークフローW内で、ノードNSからノードNE(NSとNEとは異なるノード)までが連続し、経路の順方向がノードNSからノードNEの方向とするとき、その経路を(NS, NE)と表す。また、経路(NS,NE)内の任意のノードをNとしたとき、ノードの順位を以下のように定義する。
S<NE
S<N<NE (NがNS,NEのどちらとも一致しない場合)
S=N (NがNSと同一ノードの場合)
E=N (NがNEと同一ノードの場合)
【0035】
図7(b)に示すように、経路(NS, NE)内に含まれる全てのノードの集合をSNS,Eとすると、このSNS,Eは、以下のように表される。
SNS,E=[NS, N1, NJ, NK, NE]
【0036】
また、図7(c),(d)に示すように、ノードNで処理Eを行った場合に、処理Eの結果フローの進む方向が経路の順方向と一致するとき、即ち、ノードNからN<MなるノードMへ進むとき)に1を、逆方向のとき(ノードNからN>MなるノードMへ進むとき)に−1を返す関数Dirを定義する。この図7(c)では、ワークフロー定義のフロー方向と処理Eの結果フローが進む方向とが順方向であり、
Dir(E) = 1
となる。一方、図7(d)では、ワークフロー定義のフロー方向と処理Eの結果フローが進む方向とが逆方向であり、
Dir(E) = −1
となる。
【0037】
ここで、処理者Uが、あるノードで行う処理が処理Eと決まったとき、別のノードNMにおいて処理Eが選択肢にない場合に、UがEの代わりに選択する代替処理がFに決まるときには、
Alt(E, NM)=F
と表わす。例えば、処理者が「起票」という処理を行った場合、他のノードでは必ず「承認」を選択する場合などが挙げられる。また、ノードNMにおいてEの代わりに処理が一意に決まらず、NMにおいてUが改めて判断を行う必要がある場合に、
Alt(E, NM)=0
と表わす。このようにして関数Altが定義される。更に、ノードNMにおいて処理Eが選択可能な場合には、
Alt(E, NM)=E
とされる。但し、
Dir(E)=Dir(F)≠0
とする。この関数Altは、それぞれのワークフローの属性として定義され、ワークフローの定義内に記録されるものとする。
【0038】
ここで、属する全てのノードの処理者が同一処理者Uである経路(NS, NE)があり、後述する条件(1)〜(3)のうち一つを経路(NS, NE)が満たす場合を考える。このとき、ワークフローエンジン40は、最初のノード(条件(1),(2)の場合はNS、条件(3)の場合はNE)において、Uに対して経路(NS, NE)で処理に必要な情報を集約して提供することにより、Uの処理を一度で済むようにする。
【0039】
図8(a)〜(c)は、条件(1)〜(3)の経路(NS, NE)を説明するための図である。まず、条件(1)では、図8(a)に示すように、ワークフローWがNSから始まりNSでUが行う処理をES(Dir(ES)=1)としたときに、経路(NS, NE)内の全てのノードNでESの代替処理が存在する。即ち、Alt(ES, N)=E≠0なる処理が存在する。
【0040】
次に、条件(2)では、図8(b)に示すように、経路(NS, NE)の外部のノードNOから処理EO(Dir(EO)=1)によってフローがNSより経路(NS, NE)に入り、NSでUが行う処理をES(Dir(ES)=1)としたときに、経路(NS, NE)内の全てのノードNでESの代替処理が存在する。即ち、Alt(ES, N)=E≠0なる処理が存在する。
【0041】
次に、条件(3)では、図8(c)に示すように、経路(NS, NE)の外部のノードNOから処理EO(Dir(EO)=−1)によってフローがNEより経路(NS, NE)に入り、NEでUが行う処理をEE(Dir(ES)=−1)としたときに、経路(NS, NE)内の全てのノードNでEEの代替処理が存在する。
【0042】
図9(a)〜(c)は、上述した条件(1)〜(3)の補足説明をするための図である。
図9(a),(b)は、最初のノードで選択可能な処理が複数あり、その中の2つ以上の処理に対してこの条件(1)〜(3)を満たす経路が存在する場合について、Uに対して提供する情報の範囲を決定する方法を説明している。まず、それぞれの処理に対して決まる経路がその中の一つに他の全てが包含されるような場合には、その他を包含する経路を範囲としてUに提供する。図9(a)の例では、経路1は経路2に包含されることから、経路2の範囲が処理者に提供される。また、それぞれの処理に対して決まる経路が包含関係にない場合は、全ての経路の共通部分を範囲としてUに提供する。例えば、経路1は「ログを取って承認する」場合であり、経路2は「ログを取らないで承認する」場合等がある。図9(b)に示す例では、経路1と経路2とが条件分岐であり、その共通部分を範囲としてUに提供する。
【0043】
ここで、条件付きの経路で、その条件が最初のノードに入ってきた段階で真偽が確定しない場合は、その経路の前のノードまでの経路を対象とする。
更に、無条件分岐あるいは条件付経路でその条件が最初のノードに入ってきた段階で真偽が確定し、経路内でその真偽が変化しない場合には、それ以降のノードも条件を満たす限り経路に含める。例えば、図9(c)では、N0,N1,N2,N3,N4の処理者は同一の処理者Uとする。また、N0→N1およびN0→N3の経路は、例えばカーボンコピーで流れるのと同様に、必ず両方に流れるものであり、条件無し経路とする。このとき、UにはN0,N1,N2,N3,N4に関する情報を集約したものを提供する。
【0044】
次に、集約する情報について説明する。ワークフローエンジン40は、同一処理者Uに対して提供される情報を定義し、Uに送付する前に伝票定義の情報を元に情報の集約を行う。
まず、フィールドについての定義では、同一処理者Uが帳票に対する判断をするに際し、その元となる情報は、帳票上に定義されたフィールドに保持されているものとする。ここでフィールドとは、ユーザの入力を保持し、表示のときには、その内容を画面上に表示するためのデータベース上の区分けである。例えば、ワークフローで流れる帳票を例に挙げると、氏名や人事情報、人事評価等を入れる桝目が該当する。例えば、人事記録を例に挙げれば、フィールドの値である起票者の情報として、起票者の氏名、起票者の人事評価等が該当する。例えば、起票者は所定のフィールドF2に入力したが、課長ノードでは表示させたくないといったような場合や、起票者の氏名は表示するが各ノードで変更はさせたくない、人事評価について役職によっては個人の情報を見せたくない、といった場合がある。本実施の形態では、これらの場合に対応して各種情報をフィールドによって区分けし、各ノードにて、フィールド毎にアクセス権限を定義することができる。
【0045】
ここで、帳票上に定義されたフィールドをF1,F2…Fnとし、フィールドFに対してノードNXにおけるUのアクセス権限をAR(F, NX)とする。Uに対して提供される集約された情報として、フィールドFm(m=1,…,n)のアクセス権は、NS≦N≦NEを満たすNに対してAR(Fm, N)の最大値とする。即ち、各フィールドに対して、各ノードにおけるアクセス権限の中で値が一番大きくなるものをUに提供するフィールドのアクセス権限とする。このように情報へのアクセス権限を設定しても、本来、同一処理者が処理するノードでの権限を元にしたものであるから、セキュリティ上問題となることはない。
【0046】
ここで、例えば、以下のようにアクセス権限が定義されているものとする。
1.参照不可:そのノードではフィールドの値を参照できない。
2.参照可能:そのノードではフィールドの値を参照できるが、値の変更はできない。
3.変更可能:そのノードではフィールドの値を参照でき、かつ、値の入力および変更ができる。
4.入力必須:参照可能と同じ権限を持ち、かつ、そのノードから他のノードへ帳票が送られるときに、フィールドには値が入力されていることが必要である。
このときの権限の強さは、
参照不可<参照可能<変更可能<入力必須
とする。例えば、所定のフィールドについて、アクセス権限として「1.参照不可」が定義されたノードでは、そのノードに該当する操作用コンピュータ端末20に、このフィールドの値が表示されない。また、例えば、所定のフィールドについて、「2.参照可能」がアクセス権限として定義されているノードでは、そのノードに該当する操作用コンピュータ端末20に、このフィールドの値が表示されるものの、値の変更等は禁止される。例えば人事記録では、起票者の氏名にあたるフィールドについて、このように定義する例が挙げられる。このように、アクセス権限が定義され、権限の強さを定義することで、連続するノード内で、全てのノードで参照不可の情報は参照不可に、最大のアクセス権が参照可能である情報は参照可能に、最大のアクセス権が入力可能である情報は入力可能に、また、最大のアクセス権が入力必須である情報は入力必須にすることができる。
【0047】
図10(a),(b)は、フィールドのアクセス権を説明するための図である。ここでは、例えば、図10(a)に示すような係長ノードと課長ノードの処理者が同一処理者Uとなり、それぞれのノードでのフィールドのアクセス権が図10(b)に示すように定義されているものとする。これらの定義は、ワークフロー定義31に格納されている。図10(b)に示すフィールドF1については、同一処理者Uに提供するアクセス権は、係長ノードでのアクセス権「参照可能」となる。同一処理者Uに提供するフィールドF2のアクセス権については、課長ノードでのアクセス権「参照可能」となる。フィールドF3については、係長ノードおよび課長ノードの何れにも処理すべき帳票とされているが、係長ノードでは「参照可能」の権限であり、課長ノードでは「変更可能」の権限である。従って、同一処理者Uに提供される集約情報としては、権限の大きい「変更可能」がフィールドF3のアクセス権限として同一処理者Uに提供される。また、フィールドF4については、権限の大きい「入力必須」がアクセス権限として同一処理者Uに提供される。
【0048】
次に、集約する情報の処理については、経路(NS, NE)内の全てのノード名とそのノードで適用可能な処理における集合のテーブルが生成され、そのテーブルの情報が同一処理者Uに提供される。この情報を元に、後述するユーザインタフェースによって同一処理者Uは処理を決定する。図11は、同一処理者Uが処理するノードの処理テーブル例を示した図である。ここでは、可能な処理として、起票、差し戻しであるノードAと、可能な処理として承認、差し戻しであるノードBとを同一処理者Uが処理する場合の処理テーブルが示されている。
【0049】
次に、同一処理者Uの処理について説明する。同一処理者Uは、送付された情報を元に、情報の参照・入力を行い、最後に処理の選択を行う。この処理の選択については、図12(a),(b)に示す2つのユーザインタフェースが提供される。どちらのユーザインタフェースを使用するかは、帳票の定義時に指定するかあるいは実行時にユーザが選択できるものとする。
【0050】
図12(a)は、「ノード毎に処理を選択」する場合のユーザインタフェースの例を示している。ここでは、ワークフローエンジン40から送られた処理テーブルを元に、同一処理者Uであるユーザは各ノードで選択する処理を一つずつ選択し、全て選択した後にワークフローエンジン40へ送付する操作を行っている。図12(a)に示す例では、ノードAについては、ラジオボタンによって「起票」と「差戻し」とのどちらか一方が選択され、また、ノードBについては、ラジオボタンによって「承認」と「差戻し」とのどちらか一方が選択される。図12(b)は、「処理を一つだけ選択」する場合のユーザインタフェースの例を示している。ここでは、経路内の最初のノードで選択可能な処理を表示し、同一処理者Uであるユーザは、その中から一つを選ぶことによって、処理を選択し、ワークフローエンジン40に送付している。
【0051】
次に、ワークフローエンジン40の後処理について説明する。同一処理者Uの処理結果を送付した後、ワークフローエンジン40は、「各ノードでの処理の決定」、および「各フィールドの値の変更」を行う。まず、「各ノードでの処理の決定」では、前述の同一処理者Uの処理にて、図12(a)に示した「ノード毎に処理を選択」の方法で処理が選択された場合、以下の規則に従って各ノードでの処理が決定される。この規則では、同一処理者Uが最初のノードNSで選択した処理をESとしたとき、
・ノードMでの処理EがAlt(ES,M)=Eを満たすときは、ノードMでの処理をEとし、フローを進める。
・ノードMでの処理EがAlt(ES,M)=Eを満たさないときは、その処理をワークフローエンジン40が評価して、次のノードに伝票が移動した時点でフローを停止し、あらためてそのノードで同一処理者Uが処理を行うように帳票をUに送付する。
【0052】
図12(b)で示した「処理を一つだけ選択」の方法で処理が選択された場合、以下の規則に従って各ノードの処理を決定していく。この規則では、同一処理者Uが選択した処理をEとしたとき、
・選択された処理がノードM上で選択可能な場合は、その処理が選択されたものとする。
・選択された処理がノードM上で選択可能でない場合に、その代替処理が定義されている場合(即ち、Alt(E,M)≠0の場合)は、その代替処理Alt(E,M)が選択されたものとする。代替処理が定義されていない場合には、フローを停止し、あらためてそのノードMで同一処理者Uが処理を行うように帳票を同一処理者Uに送付する。
【0053】
次に、「各フィールドの値の変更」では、前述したワークフローエンジン40の前処理で説明したように、フィールドのアクセス権限として経路(NS,NE)内で最大のものが与えられている。そのために、「各ノードでの処理の決定」の規則に従って各ノードでの処理を決定し、フローを進めていくときに、そのノードでのフィールドのアクセス権限に反する値の変更が行われている場合がある。例えば、図10(b)に示す例のようなアクセス権限が設定されている場合に、フィールドF3は同一処理者Uによって値が変更されている可能性があるが、ワークフローエンジン40が係長ノードでの処理を評価する場合に、参照可能(値の変更は不可)というアクセス権限に反することとなる。かかる場合、ワークフローエンジン40は、帳票上のF3の値は変更せずに、フローを課長ノードに進める。但し、F3に対するユーザの入力値は保持し、次の課長ノードでその値をF3に対して反映している。これによって、そのノードでのフィールドのアクセス権限に反する値の変更が行われることを防ぐことができる。
【0054】
以上、本実施の形態について詳述してきたが、これらの処理について、図13〜図18のフローチャートを用いて説明する。
図13〜図16は、情報を集約する範囲の決定方法および情報の集約方法を説明するための図である。図13に示すように、ワークフローエンジン40は、まず、操作用コンピュータ端末20を操作する処理者からの処理要求を受信し(ステップ101)、ワークフロー定義31の集約フラグの値が1であるか否かの判断がなされる(ステップ102)。即ち、処理者が連続する場合に、まとめて処理を行うか、従来のように一つずつ処理を行うのかを判断する。まとめて処理を行う場合には、集約フラグの値を1としている。このステップ102で、集約フラグの値が1でない場合には、▲1▼の処理、即ち、一般的な処理と同様に、処理者が連続する場合でも一つ一つ順番に処理を行うために、図15に示すステップ305へ移行する。集約フラグの値が1である場合には、集約処理に移行する。
【0055】
集約処理では、まず、処理要求が起票処理か否かが判断される(ステップ103)。起票処理でない場合には、図14に示す▲2▼の処理に移行する。起票処理である場合には、ワークフロー定義31から起票ノードを取得し(ステップ104)、カレントノードNを起票ノードとして(ステップ105)、注目しているノードとする。そして、ノードNで選択可能な処理の集合Ei(i=1…n)を取得する(ステップ106)。この集合Eiの各要素に対して、対応する情報を集約する範囲である経路Riを求める。まず、集合Eiにおける初期値としてi=1とし(ステップ107)、i≦nであるか否かが判断される(ステップ108)。i≦nでない場合(iがnを超えた場合)には、▲3▼の処理、即ち、情報の集約処理として図15に示すステップ301へ移行する。i≦nである場合には、経路RiにNを加え(ステップ109)、集約範囲の決定がなされる。そして、同一処理者Uが処理する連続する次のノードの存在を調べるためのCheckNextNode(N,Ei)のサブルーチンに移行する(ステップ110)。この処理については、図16に示されている。この処理の後、i=i+1として1を加算して(ステップ111)、ステップ108へ戻り、iがnを超えるまで、ステップ109〜ステップ111の処理が繰り返される。
【0056】
図14は、図13に示すステップ103で処理要求が起票処理でないときの処理を示したフローチャートである。ワークフローエンジン40では、まず、ワークフローインスタンスデータ32のテーブルから現在のノードが取得される(ステップ201)。ここで、現在のノードをNとし(ステップ202)、ノードNで選択可能な処理Ei(i=1…n)を取得する(ステップ203)。ここで、Eiは、ノードNにフローが移動する原因となった処理をEoとしたとき、Dir(Eo)=Dir(Ei)を満たすものとする。ここで、関数Dirは、図7(c)にて説明したように、フロー方向を定義した関数である。ここで、処理Eiの集合を取得するにあたり、i=1とし(ステップ204)、i≦nであるか否かが判断される(ステップ205)。i≦nでない場合(iがnを超えた場合)には、▲3▼の処理、即ち、情報の集約処理として、図15に示すステップ301へ移行する。i≦nである場合には、経路RiにNを加え(ステップ206)、ステップ207に示すCheckNextNode(N, Ei)のサブルーチンに移行する。この処理は、図16に示されている。この処理の後、i=i+1として1を加算して(ステップ208)、ステップ205へ戻り、iがnを超えるまで、ステップ206〜ステップ208の処理が繰り返される。
【0057】
図15は、情報の集約処理である▲3▼の処理を示したフローチャートである。図13に示すステップ108、および図14に示すステップ205にて、i≦nでない場合(iがnを超えた場合)に実行される。まず、Ri(i=1…n)の中にある経路Rkが他の全ての経路を包含するか否かが判断される(ステップ301)。具体的には、図9(a)に示すように、例えば経路1が経路2に包含される場合がある。包含される場合には、経路Rkを集約範囲として(ステップ302)、ステップ306へ移行する。ステップ301で包含されない場合には、全てのRiについて開始ノードを含む共通の範囲(開始ノードのみの場合を除く)が存在するか否かが判断される(ステップ303)。具体的には、図9(b)に示すように、途中で経路1と経路2とで条件分岐される場合に共通部分が存在するか否かが判断される。共通の範囲が存在する場合には、この共通の範囲を集約範囲として(ステップ304)、ステップ306へ移行する。ステップ303で、共通の範囲が存在しない場合には、開始ノード以外に共通部分がないものとして、一つ一つ処理を進めていく。即ち、ワークフロー定義31よりカレントノード(起票の場合は起票ノード)用のレイアウト定義を取得し(ステップ305)、ワークフローインスタンスデータ32のテーブルより、フィールド値を取得して、レイアウト定義およびフィールドのアクセス権に基づき、帳票をフォーマットする(ステップ309)。その後、同一処理者Uに帳票を送付して(ステップ310)、処理が終了する。尚、ステップ305からの処理は、一つ一つ進む通常の処理であることから、集約処理が行われない場合、即ち図13に示すステップ102で、ワークフロー定義の集約フラグが1でない場合にも実行される(▲1▼の処理)。
【0058】
ステップ302およびステップ304を経た後、ワークフローエンジン40は、集約処理として、ワークフロー定義31より各フィールドに対して集約範囲内での最大のアクセス権を求め、同一処理者連続時作業用データ34のテーブルに記録する(ステップ306)。また、ワークフロー定義31より集約範囲内の各ノード毎の選択可能な処理を取得し、同一処理者連続時作業用データ34のテーブルに記録する(ステップ307)。そして、ワークフロー定義31より同一処理者連続時の帳票レイアウト定義を取得する(ステップ308)。その後、前述したように、ワークフローインスタンスデータ32のテーブルより、フィールド値を取得して、帳票レイアウト定義およびフィールドのアクセス権に基づき、帳票をフォーマットする(ステップ309)。その後、操作用コンピュータ端末20の処理者に帳票を送付して(ステップ310)、処理が終了する。
【0059】
図16は、図13に示すステップ110、図14に示すステップ207に示すCheckNextNode(N, E)の処理を示したフローチャートである。CheckNextNode(N, E)の開始として(ステップ400)、まず、Nで処理Eを行うことによりフローが進むノードNj(j=1…m)が求められる(ステップ401)。ここで、まず、j=1が導入された後(ステップ402)、jがmを超えるまで所定の処理が実行される。即ち、j≦mか否かが判断され(ステップ403)、j≦mでないときは、前の処理に戻ってサブルーチンから出る(ステップ404)。j≦mのときは、ノードNjでの処理者が同一処理者Uで、かつAlt(E, Nj)=F≠0なる処理Fが存在するか否かが判断される(ステップ405)。存在しない場合には、ステップ408へ移行する。存在する場合には、経路RiにNjを加え、ステップ400から開始するサブルーチンであるCheckNextNode(Nj, E)の処理を実行し、再帰的に同一処理者Uが処理する連続する次のノードの存在が調べられる(ステップ407)。そのサブルーチンの後、jに1を加算し(j=j+1)(ステップ408)、ステップ403へ移行する。以上のようにして、図16に示す処理では、同一処理がなくなるまでノードの存在が調べられる。
【0060】
以上、説明したように、図13〜図16に示す情報を集約する範囲の決定方法および情報の集約方法の処理では、選択可能な処理の集合Ei(i=1,..,n)の要素それぞれに対して、図8(a)〜(c)を用いて説明された条件(1)〜(3)のどれかを満たす経路Riを求めることと言える。
【0061】
例えば、図19に示すように定義されたワークフローを考える。ここでは、N0からN5までの処理者が同一で、M0とM1の処理者はその処理者とは異なるものとし、以下のような処理が行われる。
・N0で選択可能な処理をE1,E2とし、どちらを選んでもフローはN1に進む。
・N1で選択可能な処理をF1,F2とし、どちらを選んでもフローはN2およびN4の両方に進む。また、Alt(E1, N1)=F1、Alt(E2, N1)=F2、即ち、N1におけるE1の代替処理をF1とし、E2の代替処理をF2とする。
・N2で選択可能な処理をF1とし、F1を選ぶことによりフローはN3に進む。また、Alt(E1, N2)=F1、即ち、N2におけるE1の代替処理をF1とし、Alt(E2, N2)=0、即ち、N2におけるE2の代替処理は無いものとする。
・N3で選択可能な処理をF1とし、F1を選ぶことによりフローはM0に進む。Alt(E1, N3)=F1、即ち、N3におけるE1の代替処理をF1とし、Alt(E2, N3)=0、即ち、N3におけるE2の代替処理は無いものとする。
・N4で選択可能な処理をF2とし、F2を選ぶことによりフローはN5に進む。また、Alt(E2, N4)=F2、即ち、N4におけるE2の代替処理をF2とし、Alt(E1, N4)=0、即ち、N4におけるE1の代替処理は無いものとする。
・N5で選択可能な処理をF2とし、F2を選ぶことによりフローはM1に進む。Alt(E2, N5)=F2、即ち、N5におけるE2の代替処理をF2とし、Alt(E1, N5)=0、即ち、N5におけるE1の代替処理は無いものとする。
以上のワークフローで、処理者がN0でE1を選んだ場合には、経路R1は{N0,N1,N2,N3}となり、N0でE2を選んだ場合には、経路R2は{N0,N1,N4,N5}となる。
【0062】
図17は、ワークフローエンジン40の後処理を示したフローチャートであり、ノード毎に処理を選択した場合の処理を示している。まず、ワークフローエンジン40は、操作用コンピュータ端末20におけるユーザが処理した帳票を受信する(ステップ501)。次に、操作用コンピュータ端末20からユーザが入力したフィールドの値および選択した処理を同一処理者連続時作業用データ34のテーブルに保管する(ステップ502)。このとき、最初のノードをカレントノードとする(ステップ503)。ワークフローエンジン40は、同一処理者連続時作業用データ34のテーブルよりユーザの入力および選択した処理を取得し、ワークフローインスタンスデータ32のテーブルおよび処理履歴33のテーブルを更新する(ステップ504)。
【0063】
次に、ワークフローエンジン40では、操作用コンピュータ端末20のユーザがカレントノードの処理として選択した処理を評価し、フローが進む次のノードを決定し、そのノードをカレントノードとする(ステップ505)。そして、選択した処理が最初ノードで選択した処理の代替処理か否かが判断される(ステップ506)。代替処理でない場合には、処理が終了する。代替処理である場合には、集約範囲の全てのノードについて処理を行ったか否かが判断され(ステップ507)、全てのノードについて処理を行っていない場合には、ステップ504に戻り、全ての処理を行った後には、後処理が終了する。
【0064】
図18は、ワークフローエンジン40の後処理を示したフローチャートであり、一つだけ処理を選択した場合を示している。まず、ワークフローエンジン40は、操作用コンピュータ端末20におけるユーザが処理した帳票を受信する(ステップ601)。次に、操作用コンピュータ端末20からユーザが入力したフィールドの値および選択した処理を同一処理者連続時作業用データ34のテーブルに保管する(ステップ602)。このとき、最初のノードをカレントノードとする(ステップ603)。ワークフローエンジン40は、同一処理者連続時作業用データ34のテーブルよりユーザの入力および選択した処理を取得し、カレントノードでの代替処理を求める(ステップ604)。
【0065】
ここで、ワークフローエンジン40では、代替処理が存在するか否かが判断される(ステップ605)。代替処理が存在しない場合には、後処理は終了する。代替処理が存在する場合には、同一処理者連続時作業用データ34のテーブルよりユーザの入力を取得し、ワークフローインスタンスデータ32のテーブルおよび処理履歴33のテーブルを更新する(ステップ606)。その後、代替処理を評価し、フローが進む次のノードを決定し、そのノードをカレントノードとする(ステップ607)。そして、集約範囲の全てのノードについて処理を行ったか否かが判断され(ステップ608)、全てのノードについて処理を行っていない場合には、ステップ604に戻り、全ての処理を行った後には、後処理が終了する。
【0066】
このように、本実施の形態では、まず、同一処理者Uが処理するノードが連続する場合、帳票がその先頭ノードに到達したときに、ワークフローエンジン40が連続するノード上における処理者の判断に必要な情報を集約し、その集約された情報を同一処理者Uの操作用コンピュータ端末20に送付している。この情報を送付された操作用コンピュータ端末20の同一処理者Uは、その情報を元に意思決定を行い、処理結果をワークフローエンジン40に送付する。この送付を受けたワークフローエンジン40は、同一処理者Uから送られた情報を元に、各ノードにおける必要な処理を行い、ワークフローを進めるように構成されている。
【0067】
かかる構成によれば、ワークフローシステムにおいて、上位の役職を兼任している処理者がいる場合などに、同一処理者Uが同じ帳票に対して続けて承認などの処理を行う際、ワークフローエンジン40側で連続するノードにおける処理に必要な情報をまとめて処理者に対して提供することにより、同一処理者Uの処理を一回で済ませることが可能となる。即ち、同一処理者Uのノードが連続し、その先頭ノードにおける処理がそれ以降のノードでも適用可能な場合に、本実施の形態によれば、必要な全ての情報を同一処理者Uに提供し、また、連続するノード内で入力が可能な情報は全て入力可能にすることによって、例えばそれぞれのノードでの情報へのアクセス権限が異なる場合でも、意思決定に必要な情報を参照することが可能となり、また、必要な情報を入手できることで途中のノードで発生するエラーを抑制することが可能となる。
【0068】
【発明の効果】
以上説明したように、本発明によれば、ワークフローシステムにおいて、同一処理者によって従来は複数回行われていた処理を例えば1回で済ませることが可能となる。
【図面の簡単な説明】
【図1】 本実施の形態が適用されたワークフローシステムの概略構成を示す図である。
【図2】 ワークフローサーバの構成を示した図である。
【図3】 (a),(b)は、各種テーブルに格納される情報を説明するための図である。
【図4】 (a),(b),(c)は、各種テーブルに格納される情報を説明するための図である。
【図5】 起票時の流れを説明するための図である。
【図6】 図5に示した起票時以外の流れを説明するための図である。
【図7】 (a)〜(c)は、ノードの順位の定義およびノードの進む方向を説明するための図である。
【図8】 (a)〜(c)は、条件(1)〜(3)の経路(NS, NE)を説明するための図である。
【図9】 (a)〜(c)は、条件(1)〜(3)の補足説明をするための図である。
【図10】 (a),(b)は、フィールドのアクセス権を説明するための図である。
【図11】 同一処理者が処理するノードの処理テーブル例を示した図である。
【図12】 (a),(b)は、ユーザインタフェースの例を示した図である。
【図13】 情報を集約する範囲の決定方法および情報の集約方法を説明するための図である。
【図14】 情報を集約する範囲の決定方法および情報の集約方法を説明するための図である。
【図15】 情報を集約する範囲の決定方法および情報の集約方法を説明するための図である。
【図16】 情報を集約する範囲の決定方法および情報の集約方法を説明するための図である。
【図17】 ワークフローエンジンの後処理を示したフローチャートである。
【図18】 ワークフローエンジンの後処理を示したフローチャートである。
【図19】 情報を集約する範囲の決定方法および情報の集約方法の処理を説明するためのワークフローの定義例を示した図である。
【符号の説明】
10…設計用コンピュータ端末、20…操作用コンピュータ端末、30…ワークフローサーバ、31…ワークフロー定義、32…ワークフローインスタンスデータ、33…処理履歴、34…同一処理者連続時作業用データ、35…ユーザ情報、41…ワークフロー定義管理プログラム、42…ワークフロー処理実行プログラム、43…ワークフローインスタンス管理プログラム、44…クライアント要求処理プログラム、45…ユーザ管理プログラム

Claims (5)

  1. 複数のコンピュータ端末に接続されてワークフローを管理するワークフローサーバであって、
    ワークフローを実行する処理者に割り当てられるノードの定義を、当該ノードでの各フィールドのアクセス権に関する情報を含んで格納する格納手段と、
    前記ワークフロー内にて、同一処理者が処理する連続する複数のノードを集約する集約範囲を決定する集約範囲決定手段と、
    前記集約範囲決定手段により決定された前記集約範囲内にて、各フィールドに対して最大のアクセス権を前記格納手段から取得する最大アクセス権取得手段と、
    前記集約範囲決定手段により決定された前記集約範囲内の各ノード毎の選択可能な処理を前記格納手段から取得する取得手段と、
    前記取得手段により取得された処理を集約して前記同一処理者に提供する提供手段と、
    前記提供手段により提供された前記同一処理者により入力された各フィールドの入力値を保持する保持手段と、
    備え
    前記最大アクセス権取得手段により取得された各フィールドの最大アクセス権が当該フィールドに反するものである場合は、当該フィールドに対する当該最大アクセス権を変更せずに前記同一処理者の次のノードに進み、かつ、前記保持手段に保持された当該同一処理者による入力値を保持して当該次のノードで反映することを特徴とするワークフローサーバ。
  2. 前記格納手段は、同一処理者が連続する場合の帳票レイアウト定義を格納し、
    前記提供手段は、前記格納手段から取得された前記帳票レイアウト定義および前記最大アクセス権取得手段から取得されたフィールドのアクセス権に基づいてフォーマットされた帳票を前記同一処理者に提供することを特徴とする請求項記載のワークフローサーバ。
  3. 複数のコンピュータ端末に接続されてワークフローを管理するワークフローエンジンであって、
    前記ワークフローを実行する処理者に割り当てられるノードの定義を、当該ノードでの各フィールドのアクセス権に関する情報を含んで格納する格納手段と、
    前記ワークフロー内にて、同一処理者によって処理される連続する複数のノードを集約する集約範囲を決定する集約範囲決定手段と、
    前記集約範囲決定手段により決定された前記集約範囲内にて、前記格納手段に格納されている各ノードにおけるアクセス権限を各フィールドに対して設定するアクセス権限設定手段と、
    前記集約範囲決定手段により決定された前記集約範囲内の各ノード毎の選択可能な処理を取得する選択可能処理取得手段と、
    前記アクセス権限設定手段により設定されたアクセス権限および前記選択可能処理取得手段により取得された処理に基づいて帳票を生成する帳票生成手段と、
    前記帳票生成手段により生成された前記帳票を前記同一処理者に送付する帳票送付手段と、
    前記帳票送付手段により送付された前記帳票を受け取った前記同一処理者が入力した各フィールドの入力値を保持する保持手段と、
    を含み、
    前記アクセス権限設定手段は、帳票上に定義された前記フィールドに対し、各ノードにおける前記同一処理者の有するアクセス権限の強いものを集約時におけるアクセス権限として設定し、
    前記アクセス権限設定手段により設定された各フィールドのアクセス権限が当該フィールドに反するものである場合は、当該フィールドに対する当該アクセス権限を変更せずに前記同一処理者の次のノードに進み、かつ、前記保持手段に保持された当該同一処理者に よる入力値を保持して当該次のノードで反映することを特徴とするワークフローエンジン。
  4. 前記集約範囲決定手段は、所定のノードで選択可能な処理が複数あり、それぞれの処理に対して決まる経路について、その中の一つの経路に他の経路が包含される場合に、包含される当該他の経路を前記集約範囲として決定することを特徴とする請求項記載のワークフローエンジン。
  5. 前記集約範囲決定手段は、所定のノードで選択可能な処理が複数あり、それぞれの処理に対して決まる経路が包含関係にない場合には、経路の共通部分を前記集約範囲として決定することを特徴とする請求項記載のワークフローエンジン。
JP2002218655A 2002-07-26 2002-07-26 ワークフローサーバおよびワークフローエンジン Expired - Fee Related JP3832824B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2002218655A JP3832824B2 (ja) 2002-07-26 2002-07-26 ワークフローサーバおよびワークフローエンジン
US10/628,029 US8880418B2 (en) 2002-07-26 2003-07-25 Workflow process consolidation
US14/510,099 US10275729B2 (en) 2002-07-26 2014-10-08 Workflow process consolidation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002218655A JP3832824B2 (ja) 2002-07-26 2002-07-26 ワークフローサーバおよびワークフローエンジン

Publications (2)

Publication Number Publication Date
JP2004062438A JP2004062438A (ja) 2004-02-26
JP3832824B2 true JP3832824B2 (ja) 2006-10-11

Family

ID=30767993

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002218655A Expired - Fee Related JP3832824B2 (ja) 2002-07-26 2002-07-26 ワークフローサーバおよびワークフローエンジン

Country Status (2)

Country Link
US (2) US8880418B2 (ja)
JP (1) JP3832824B2 (ja)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10051130A1 (de) * 2000-10-16 2002-04-18 Phoenix Contact Gmbh & Co Verfahren zur Organisation eines Prozesses mit wenigstens einer Prozeßeinrichtung zur Durchführung eines vorgebbaren Teilprozesses
WO2004102454A2 (en) * 2003-05-07 2004-11-25 Sap Aktiengesellschaft An end user oriented workflow approach including structured processing of ad hoc workflows with a collaborative process engine
JP2005259113A (ja) * 2004-02-12 2005-09-22 Ricoh Co Ltd プロセス編集装置、プロセス管理装置、プロセス編集プログラム、プロセス管理プログラム、記録媒体、プロセス編集方法及びプロセス管理方法
JP4625337B2 (ja) * 2004-02-23 2011-02-02 株式会社リコー プロセス管理装置、プロセス管理方法及びプロセス管理プログラム
JP2006113907A (ja) * 2004-10-15 2006-04-27 Oki Electric Ind Co Ltd 金融機関チャネル連携システム、チャネル連携装置及びチャネル制御装置
GB0608580D0 (en) * 2006-04-29 2006-06-07 Ibm Method, apparatus and computer program for propagating contexts between a first and second system, the contexts providing information about the environment
US8001429B2 (en) * 2006-09-25 2011-08-16 International Business Machines Corporation Method and system for automated handling of errors in execution of system management flows consisting of system management tasks
US7953758B2 (en) * 2006-11-10 2011-05-31 Ricoh Company, Ltd. Workflow management method and workflow management apparatus
JP2008176514A (ja) * 2007-01-17 2008-07-31 Ricoh Co Ltd 配信システム、配信プログラム、および記録媒体
US8381181B2 (en) * 2007-08-31 2013-02-19 International Business Machines Corporation Updating a workflow when a user reaches an impasse in the workflow
US8407712B2 (en) * 2007-08-31 2013-03-26 International Business Machines Corporation Updating workflow nodes in a workflow
JP2009140414A (ja) * 2007-12-10 2009-06-25 Obic Co Ltd ワークフローシステム
JP5265957B2 (ja) * 2008-04-24 2013-08-14 キヤノンソフトウェア株式会社 ワークフローサーバ、ワークフロー処理方法、及びプログラム
US9087311B2 (en) * 2008-05-07 2015-07-21 International Business Machines Corporation Method, system and program product for grouping related program sequences
US20100153167A1 (en) * 2008-12-16 2010-06-17 Sap Ag Incorporating workflow process modifications
US8265980B2 (en) * 2009-04-21 2012-09-11 International Business Machines Corporation Workflow model for coordinating the recovery of IT outages based on integrated recovery plans
JP5633317B2 (ja) * 2010-11-05 2014-12-03 株式会社リコー 情報処理装置、ワークフロー管理システム、ワークフローの実行方法およびプログラム
US9026577B1 (en) * 2012-02-22 2015-05-05 Amazon Technologies, Inc. Distributed workflow management system
EP2820613A2 (en) * 2012-03-01 2015-01-07 Minerva IP Holdings, LLC Systems and methods for generating, managing, and sharing prescriptions with digital scripts
US9170821B1 (en) 2012-08-08 2015-10-27 Amazon Technologies, Inc. Automating workflow validation
AT513301A2 (de) * 2012-09-06 2014-03-15 Helbok Guenther Computergestütztes Verfahren zur automatischen Zuweisung von Arbeitsaufgaben in einem Arbeitsablauf-Verwaltungs-System
JP6189660B2 (ja) * 2013-07-12 2017-08-30 みずほ情報総研株式会社 イベント支援装置及びイベント支援方法
US9684543B1 (en) * 2016-02-05 2017-06-20 Sas Institute Inc. Distributed data set storage, retrieval and analysis
US10795935B2 (en) 2016-02-05 2020-10-06 Sas Institute Inc. Automated generation of job flow definitions
US10650046B2 (en) 2016-02-05 2020-05-12 Sas Institute Inc. Many task computing with distributed file system
US10642896B2 (en) 2016-02-05 2020-05-05 Sas Institute Inc. Handling of data sets during execution of task routines of multiple languages
US10650045B2 (en) 2016-02-05 2020-05-12 Sas Institute Inc. Staged training of neural networks for improved time series prediction performance
US11231912B2 (en) 2016-12-14 2022-01-25 Vmware, Inc. Post-deployment modification of information-technology application using lifecycle blueprint
US11231910B2 (en) 2016-12-14 2022-01-25 Vmware, Inc. Topological lifecycle-blueprint interface for modifying information-technology application
US10664350B2 (en) * 2016-12-14 2020-05-26 Vmware, Inc. Failure handling for lifecycle blueprint workflows
CN108256715B (zh) * 2016-12-29 2022-11-18 方正国际软件(北京)有限公司 一种工作流管理方法及系统
CN107169365A (zh) * 2017-05-16 2017-09-15 成都牵牛草信息技术有限公司 工作流及其审批节点的表单字段操作权限的设定方法
CN107392499A (zh) * 2017-08-10 2017-11-24 成都牵牛草信息技术有限公司 对使用者进行审批流程及其审批节点授权的方法
CN108596554B (zh) * 2017-12-12 2021-08-31 浪潮通用软件有限公司 一种动态指定后续审批环节参与者的方法及工作流引擎
CN108898482B (zh) * 2018-07-09 2021-02-26 中国建设银行股份有限公司 多产品的签约方法及装置
US10762287B2 (en) * 2018-12-06 2020-09-01 Bank Of America Corporation Edoc utility using non-structured-query-language databases
CN112347160B (zh) * 2020-11-13 2024-05-10 广州太信信息科技有限公司 一种基于呼叫中心系统的工单管理方法、系统及存储介质
CN116645068B (zh) * 2023-07-21 2023-10-20 三峡高科信息技术有限责任公司 一种支持条件循环节点的流程处理系统及方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10105623A (ja) 1996-09-27 1998-04-24 Hitachi Ltd 階層型ワークフロー管理方法及びワークフロー書類回覧方法
JP3042425B2 (ja) 1996-10-25 2000-05-15 日本電気株式会社 ワークフローシステム
JP3455035B2 (ja) 1996-11-14 2003-10-06 株式会社東芝 電解イオン水生成装置及び半導体製造装置
DE19954268B4 (de) * 1998-12-01 2005-07-21 Ibm Corp. Verfahren und System zur Verbesserung des Workflow in Workflow-Management-Systemen
JP2000222508A (ja) 1999-02-02 2000-08-11 Hitachi Ltd ワークフローシステムノードスキップ方法
US7167844B1 (en) * 1999-12-22 2007-01-23 Accenture Llp Electronic menu document creator in a virtual financial environment
US7562339B2 (en) * 2002-01-15 2009-07-14 Bea Systems, Inc. System architecture for business process development and execution with introspection and generic components
US7593889B2 (en) * 2002-12-30 2009-09-22 Fannie Mae System and method for processing data pertaining to financial assets

Also Published As

Publication number Publication date
US20150095096A1 (en) 2015-04-02
JP2004062438A (ja) 2004-02-26
US20040019512A1 (en) 2004-01-29
US10275729B2 (en) 2019-04-30
US8880418B2 (en) 2014-11-04

Similar Documents

Publication Publication Date Title
JP3832824B2 (ja) ワークフローサーバおよびワークフローエンジン
US7493591B2 (en) Methods and systems for animating a workflow and a project plan
KR101066949B1 (ko) 업무 분석 프로그램을 기록한 컴퓨터 판독가능한 기록 매체 및 업무 분석 장치
US7096222B2 (en) Methods and systems for auto-instantiation of storage hierarchy for project plan
US7962358B1 (en) Integrated project and staffing management
US20100017256A1 (en) Project management method and project management system
US11126968B2 (en) Custom application builder for supply chain management
JP4250344B2 (ja) ワークフローシステム、ワークフローサーバ、および記憶媒体
US20060085245A1 (en) Team collaboration system with business process management and records management
US20100268705A1 (en) Database and data access layer
JPH09138823A (ja) 設計・開発の進捗管理方法及びそのシステム並びに設計・開発プロジェクトの管理方法及びそのシステム
CN115841310A (zh) 预案流程模型的构建方法、事件处理方法和装置
JP7277877B2 (ja) 看板基盤の業務処理装置及び業務処理方法
KR101725142B1 (ko) 전략맵 관리 방법과 장치 및 이를 기록한 기록매체
EP2453395A1 (en) Method and system to analyze processes
JP2006235872A (ja) プロジェクト管理装置
JP2003203148A (ja) 情報処理システム
JP5255796B2 (ja) 運用管理サポートシステム、プログラム
JP2017227944A (ja) 業務処理フロー生成システム、生成方法および装置
Zahedi et al. Interaction with analysis and simulation methods via minimized computer-readable BIM-based communication protocol
JP2007004386A (ja) 事業管理プログラム及びそれを用いた管理装置
JP7513330B1 (ja) 行政管理システム、行政管理方法、及びコンピュータプログラム
Adriansyah Performance analysis of business processes from event logs and given process models
US7996299B2 (en) Trade services management system
KR102320662B1 (ko) Ve기반 프로젝트 관리 방법 및 이를 수행하는 프로그램이 저장된 기록매체

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060418

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: 20060704

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20060706

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060714

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: 20100728

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110728

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110728

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120728

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees