CN1399218A - 数据触发的工作流过程 - Google Patents
数据触发的工作流过程 Download PDFInfo
- Publication number
- CN1399218A CN1399218A CN02126888A CN02126888A CN1399218A CN 1399218 A CN1399218 A CN 1399218A CN 02126888 A CN02126888 A CN 02126888A CN 02126888 A CN02126888 A CN 02126888A CN 1399218 A CN1399218 A CN 1399218A
- Authority
- CN
- China
- Prior art keywords
- activity
- data
- standard
- workflow
- triggered
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06311—Scheduling, planning or task assignment for a person or group
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06316—Sequencing of tasks or work
Abstract
一种提供数据触发的工作流管理的系统和方法。一方面,采用数据触发的过程定义语言,无论以前作用了哪些活动,只要符合指定数据条件组合(允许规则),便允许优选过程定义语言中指定的每个活动被作用。此外,当数据条件变成真时安排活动作用(调度规则)。数据触发的工作流引擎利用过程实例当前状态、允许和调度规则、活动网络及安排活动作用的其它活动属性。活动网络控制数据触发的工作流引擎将向参与者建议的作用顺序:引擎依据其信息,计算建议作用活动的顺序的活动属性。参与者可依据其它信息来选择不同顺序,甚至可作用未安排的活动。数据触发的引擎不假定遵循建议的顺序,只是通过修改建议的作用顺序来响应每个活动作用事件。
Description
技术领域
本发明一般涉及一种用于管理工作流过程的系统和方法;更具体地说,涉及一种用于管理工作流过程的系统和方法,其中提供工作流定义语言(语法和语义)与工作流引擎用于实现数据触发的工作流过程。
背景技术
工作流管理是一项新兴的软件技术,用于通过监控工作的进展并通知人们下一步应采取何种活动,来协调计算机支持的人为活动。市场上提供有多种工作流管理产品,但这些产品多数还不成熟或使用范围有限。在工作流管理联盟的领导下,制定了该市场的某些标准。该联盟发布了几个文档定义规范、术语、参考体系结构等(见www.wfmc.org),旨在使不同工作流管理产品之间具有互用性,并改善工作流应用与诸如电子邮件和文档管理的其它IT业务的集成。
工作流管理系统(由WfMC规范定义)是通过使用软件、运行一个或多个工作流引擎来定义、创建和管理工作流执行的一种系统,它能够解释过程的定义、与工作流的参与者相互作用,并根据需要调用IT工具或应用(见“工作流管理联盟术语与词汇”(WorkflowManagement Coalition Terminology and Glossary,Document NumberWFMC-TC-1011,Issue 3.0,February,1999),通过引用将该文档结合在此)。术语“工作流”指业务过程整体或部分自动化,在该过程中,文档、信息或任务根据一组程序规则,从一个参与者传递到另一个参与者,以便进行处理。
图1说明了符合WfMC的工作流管理系统的基本术语之间的关系。业务过程包括一组一个或多个链接的步骤或活动,一般是在定义功能作用和关系的组织结构环境内,共同实现业务目的或策略目标。业务过程由某种形式的过程定义表示,这种形式支持诸如工作流管理系统的建模或作用(enactment)的自动操作。过程定义可包括对分别定义的子过程的参考,这些子过程构成整个过程定义的一部分。
过程定义包括一系列活动及其关系、表示相关过程的开始和终止的准则、以及有关各个活动的信息,诸如参与者、有关IT应用和数据等。一个活动是在某一过程中形成一个逻辑的一件工作的说明。虽然活动可包括“人工”或“自动”活动,但只有自动活动才是计算机支持的过程执行所产生的自动工作流的一部分。
活动(自动的)在过程作用期间由工作流引擎安排。工作流引擎包括提供操作功能的软件程序,以支持基于相关过程定义的业务过程的执行(实例)。
过程实例表示过程的单个作用,其中过程实例由工作流管理系统创建、管理并(最终)终止。过程实例包括一个或多个活动实例。
活动实例包括过程实例中活动的表示。活动实例包括工作项和/或调用的应用。工作项表示在过程实例的活动环境中要(由工作流参与者)处理的工作。调用的应用包括工作流应用,所述工作流应用被调用以使活动完全或部分自动进行,或支持工作流参与者处理工作项。
工作流参与者包括运行工作流活动实例所表示的工作的资源(一般是人)。
当前可用的过程定义语言及其相关解释器(即工作流引擎)使用“基于状态的范例”描述工作流,例如在活动网络中,工作流规定与给定过程实例相关的活动将要作用(执行)的顺序。一系列活动(或过程)可以形象化为图,该图包括表示活动的框和表示排序或定序的箭头,即活动之间的关系。除简单的顺序关系(“A之后为B”)外,这些语言常支持并发(如“与-分”和“与-合”连接符)、保护(例如,“A完成时,如果P,则进行B”)、子程序、产生新过程实例、循环和其它控制结构。
图2说明示例性活动网络,包括常规过程定义语言中的过程实例。示例性过程实例包括活动网络20,该网络包括多个活动:开始活动21、开发活动22、集成活动23、测试活动24、发行活动25和结束活动26。示例性活动网络20还包括判决节点27。相关过程实例使开始活动21作用一次,然后重复使开发、集成和测试序列活动22、23、24作用。每次测试活动24完成时,依据测试活动24的结果是“通过”或“失败”来作出判决27:是否使发行活动25作用或者重复前面的活动序列22-24。一旦使发行活动25作用,便使结束活动26作用,并且过程20结束。
如上所述,活动指定要由工作者执行的简单或合成的工作项。通常,活动指定如何依据工作流相关数据填写工作项规范的细节。工作流相关数据包括与业务过程相关、并可由相关工作流过程实例访问的数据。如图3所示,常规活动通常通过一组状态来进行,诸如WfMC接口2API(应用程序接口)(WfMC Interface 2API)所定义的那些状态。WfMC工作流参考模型(WfMC Workflow ReferenceModels)的接口2API为工作流管理系统与客户应用和工作列表处理器软件之间的相互作用定义了API(见“工作流管理应用:编程接口(接口2&3):规范(Workflow Management Application:ProgrammingInterface(Interface 2&3):Specification,Document Number WFMC-TC-1009,July-98);“工作流管理联盟:工作流参考模型(DavidHollingsworth,Workflow Management Coalition:The WorkflowReference Model,Document Number TC00-1003,Document Status-Issue 1.1,19-Jan-95))。
在图3中,打开状态37包括未运行状态31、运行状态32和具有如图所示状态过渡的暂停状态34;关闭状态38包括完成状态33、终止状态35和中断状态36。通常,在未运行状态中例示常规活动30的情况是:例示了包含该活动的过程,或者活动网络中在它之前的活动已完成。工作流引擎(它解释过程定义)一般会创建相应的工作项,并将它放置在具有执行该工作项的适当技能和权限的一个或多个工作者或其它工作流参与者的工作列表上。工作流参与者可以是智能代理而不是人。本文中使用的术语工作流参与者和参与者同义。工作列表处理器一般在工作者的计算机屏幕上显示工作列表,由此工作者从工作列表中选择工作项,使它作用,并通知工作列表处理器该工作项已完成。在参与者从工作列表选择任务时,工作流引擎把活动状态从未运行31改变为运行32。
工作项成功完成后,活动状态从运行状态32改变为完成状态33,并且活动实例会销毁39。如果参与者决定不完成工作项,则参与者可以取消它,这种情况下,状态从运行32改回未运行31。图3的模型说明了其它状态:暂停34、中断36和终止35,以包括其它情况,诸如暂时放下某一工作项以处理另一工作项,或以异常方式终止某一工作项,使得正常情况下在它后面进行的活动不如期进行。
活动30到达完成状态33时,工作流引擎检查相关的过程定义,确定下一步应作用什么活动,并将其状态改变为就绪。简单地说,假定在上面参照图2所述的示例性过程中,正好是一次打开了一个活动。随后,通过给出打开活动的名称和状态,可以概括示例性过程的过程状态(即在特定时间点定义过程实例的状态的内部条件的表示)。
全函数常规语言的过程状态语义更为复杂。例如,并发允许同时打开多个活动。不过,可因此而将常规工作流建模语言看作使用基于状态的范例。该范例适合工作是例行程序且“面向作业”的企业。“面向作业”是指在作业(例如,保险索陪、贷款申请或采购要求)输入系统的情况下,由几个人以完全标准的顺序进行象保险索赔处理、贷款核准等的工作,并完成工作。
在此类企业中,一般可以指定“主”过程定义,描述如何处理某一类型的作业。在这样的作业输入系统时,工作流管理系统创建适当的过程定义的过程实例,并开始执行它,将该过程实例连接到与该作业相关的工作流相关数据。
“基于状态”的过程定义语言要求过程定义指定所有的活动的法定顺序,其中活动网络指定某一活动仅在某些其它活动先被作用后才被打开。因此,基于状态的过程定义语言通常不太适合工作是合作性、创造性或“非确定性”的企业。例如,虽然工作流管理系统已被认为是对整合保健企业有利的一项技术,特别是在医院的放射科,但此类企业的“业务过程”在其可预知性方面,从同一日常事务(例如,又一支断臂)到同一不可预知性(例如,具有多种先存条件的病人出现心脏病症状,可能需要旁通外科手术),均会有所不同。在不可预知环境可能要求活动不按平常顺序发生的业务过程中,试图使用这样的语言在活动网络中编程所有可允许的状态序列可能即麻烦又困难,并导致非常复杂和难以读取的程序。此外,难以保证这样的程序实际包括所有可能发生的情况。
参照图4,下面考虑图中的活动“添加测试例”。假设预期的业务过程如下:
除正常工作流外,允许工作者随时使“添加测试例”作用。之后,“测试”最终必须被作用,即使它以前已被作用。
常规的“基于状态”的工作流管理系统将不接受此活动网络,因为它未指定从开始活动21通向添加测试例活动28的任何路径。解决该问题的一种方法是在工作流中允许的每个地方创建一份单独的添加测试例活动28,添加“或-分”与“或-合”连接以表示它是任选的活动。然而,结果活动网络将具有给定网络几乎两倍的节点和三倍的边缘。如果有两个或更多活动,而不是只有一个,图将随这样的活动的数量而组合增长或变差。这种解决方案假定每次只作用一个活动。尝试利用并发活动网络解决该问题导致不同的复杂性。
因为业务过程的添加部分基本上是数据触发的而不是基于状态的,所以出现了这些复杂性。在开发者、集成者或测试者注意到应用数据中的某些事情时,会出现新测试例的需要。一旦添加了新测试例,以前的测试结果就废弃。必须使“测试”作用,原因在于测试序列比最近测试结果新这样一个事实,而不是使“添加测试例”作用的这样一个事实。
因此,极需一种用于提供工作流管理的系统和方法,其中提供工作流定义语言(语法和语义)与工作流引擎,用于实现数据触发的工作流过程。
发明内容
本发明针对一种用于提供数据触发的工作流管理的系统和方法。在一个方面,本发明定义数据触发的过程定义语言。无论以前作用了哪些活动,只要符合指定的数据条件组合(允许规则),就允许优选过程定义语言中指定的每个活动被作用。在更严格的数据条件组合变为真时安排活动作用(调度规则)。数据触发的工作流引擎包括活动调度程序,它利用过程实例的当前状态、允许规则和调度规则、活动网络及安排活动作用的其它活动属性。然而,与常规过程定义语言不同,活动网络并不完全规定作用顺序,而是控制数据触发的工作流引擎将向参与者建议的作用顺序。活动调度程序依据其具有的信息计算活动属性,所述活动属性建议使活动作用的顺序。然而,参与者可以依据其它信息而选择不同的顺序,并且甚至可以使未安排的活动作用。活动调度程序不假定遵循了建议的顺序,它只是通过修改建议的作用顺序,来响应每个活动作用事件(例如,开始、结束、取消)。
在本发明的另一方面,活动在分布式系统中发生的情况下,要求把数据从一个位置复制到另一位置以供不同活动使用,数据触发的过程定义语言的活动定义包括输入、输出和自动路由规范,由支持软件用于使移动数据自动化。
在另一个方面,活动指定数据触发的例外。如果活动正被作用时出现指定的数据条件,则消息被发送给活动,告知出现了例外。一般情况下,活动随后将中断。
结合附图,通过下面优选实施例的详细说明,本发明的这些和其它目的、特性与优点将被描述并变得明显。
附图简述
图1是流程图,说明符合WfMC标准的工作流管理方法;
图2是符合先有技术的示例性的基于状态的活动网络的流程图;
图3是示例过程的活动的状态转换图,说明通过WfMC接口2API定义的一组状态的活动的进展;
图4是流程图,说明符合本发明示例性实施例的数据触发的活动网络;
图5是符合本发明实施例的数据触发的工作流管理系统的框图;以及
图6是流程图,说明一种用于执行符合本发明一个方面的过程实例的方法。
具体实施方式
本发明针对一种用于提供数据触发的工作流管理的系统和方法。本发明适用于在其业务过程中允许大量不可预测性或自发性的诸如保健管理的任何企业。通常,数据触发的工作流管理系统支持参与者(一般为人)偶尔执行未安排的活动的业务过程。具体地说,本发明提供新颖的数据触发的过程定义语言和不同的机制,以多种方式支持未安排的活动。可以理解,符合本发明的数据触发的过程定义语言与工作流引擎的优选实施例包括对常规工作流过程定义和组成部分的扩展。本发明根据需要利用与工作流管理有关的常规过程定义和组成部分,它们并非与此处所述的机制不一致,例如,活动状态图上的变化、活动网络中节点和边缘的类型、子程序、例外处理及过程例示。
如下面通过示例进行详细说明,通过实施可用于区分安排和未安排的活动的允许规则、调度规则和预期规则,符合本发明优选实施例的优选数据触发的过程定义语言扩展了常规工作流协议。无论以前作用了哪些活动,只要符合指定的数据条件组合(允许规则),便允许优选过程定义语言中指定的每个活动被作用。在更严格的数据条件组合变为真时安排活动作用(调度规则)。
数据触发的工作流管理系统分析过程实例的当前状态、允许规则和调度规则、活动网络及安排活动作用的其它活动属性。与常规过程定义语言不同,符合本发明的活动网络规范并不完全规定作用顺序,它仅控制工作流引擎将建议的作用顺序。数据触发的工作流管理系统依据系统具有的信息,计算建议活动作用的顺序的活动属性。工作流参与者可以依据其它信息选择不同的活动顺序,并且甚至可以使根本未安排的活动作用。数据触发的工作流管理系统不假定遵循了建议的顺序,而是通过修改建议的作用顺序来响应每个活动作用事件(例如,开始、结束、取消)。
现在参照图5的框图,它说明了符合本发明实施例的数据触发的工作流管理系统。系统包括过程定义编辑器51(例如工具、文本编辑器等),用于利用数据触发的工作流定义语言(语法和语义)生成一个或更多的过程定义52。数据触发的工作流定义语言包括多个规范,其中有作业记录规范53、活动规范54和活动网络规范55。下面将详细描述这些规范中的每个规范。
系统50还包括数据触发的工作流引擎59,该引擎例如可解释过程定义52以例示和执行定义过程的过程实例,以及管理过程的执行。数据触发的工作流引擎59包括活动调度程序56和事件处理器57。事件处理器57监控工作流相关数据64和活动状态的变化,将它们的影响传播到其它活动的状态。活动调度程序56计算建议作用活动的顺序的活动属性,并依据活动作用事件,动态修改建议的作用顺序。下面将提供工作流引擎59、活动调度程序56和事件处理器57操作的更详细的论述。
系统50还包括存储数据的多个永久存储装置。例如,系统50包括工作流控制数据存储器61,用于存储由系统50和引擎59管理、表示系统50动态状态和过程实例的数据。另外,应用数据存储器62被提供用于存储由支持过程实例的一个或多个应用63管理的数据。此外,工作流相关数据存储器64包括通常在事务处理上永久性的数据池,数据池在工作流过程执行期间由支持人的活动的应用63和数据触发的工作流引擎59来访问。工作流相关数据由系统50用于确定工作流实例的状态转换。例如,在活动保护(先决条件)中引用的应用数据是工作流相关数据。
系统50还包括自动路由服务器和存档服务器66。在分布系统中作用活动,其中要求把数据从一个位置复制到另一位置供不同活动使用时,输入和输出规范及包括活动规范54的自动路由规范由系统50用于使数据移动自动化。下面提供与自动路由服务器的功能和作用有关的细节。此外,下面将详细说明,存档服务器66依据活动规范54的存档规范,把由活动生成的数据复制到指定的位置。
工作流参与者67(例如人)通过参与者界面68与系统50交互。工作列表处理器60管理参与者67与引擎59维护的工作列表58之间的交互。工作列表处理器60允许参与者67例如从工作列表58选择工作项。工作项表示在过程实例内活动环境中要处理的工作。
现将详细论述数据触发的过程定义语言优选组成部分及符合本发明的工作流管理的优选方法和系统。
I.过程定义:根据本发明的一个方面,过程定义52包括:
(A)作业记录规范53;
(B)一组活动规范54;以及
(C)活动网络规范55。
通常,在数据触发的工作流引擎59创建过程定义52的实例时,它会创建作业记录规范的实例及表示过程实例的执行状态的数据结构。执行状态包括过程活动的任何过程专用数据和实例,及其状态。另外,对于需要审计历史记录的应用,执行状态还包括过程执行的审计历史。根据本发明,数据触发的工作流引擎59使用过程实例的当前执行状态、活动规范54和活动网络55,以确定允许哪些活动作用、安排了哪些活动作用以及安排的活动的优先级特性。
I(A)作业记录规范:符合本发明的作业记录规范53定义执行某类作业所需的所有数据,包括输入数据(例如,工作顺序)、中间结果及将作为完成作业的一部分而传送的输出数据。作业数据一般也包括对在几个作业中共享的其它工作流相关数据的参考。本发明的其它实施例包括锁定机制,允许在某些执行间隔期间过程实例对共享数据对象具有专有访问权限。
I(B)活动规范:符合本发明的活动规范54包括:(i)任选的允许规则规范;(ii)调度规则规范;(iii)任选的预期规则规范;(iv)工作项规范;(v)任选的输入规范;(vi)任选的输出规范;(vii)任选的完成状态规范;(viii)任选的资源规范;(ix)任选的例外规范;(x)任选的自动路由规范;以及(xi)任选的存档规范,下面将详细描述这些规范中的每一个规范。对于每个任选的规范,在忽略规范时最好使用默认值。
通常,在活动允许规则为真时仅作用该活动。只要活动的调度规则为真且该活动尚未打开,便安排该活动作用。预期规则通知活动调度程序60,以假定将来将作用该活动,并因此预先为其资源、自动路由等作计划。活动可以仅读取在其输入规范中所列的数据,并可以仅写入在其输出规范中所列的数据。允许规则、调度规则和预期规则可以仅参考输入规范中的数据。在活动到了完成状态时,它也具有完成状态。每次任何工作流相关数据,包括作业记录中的数据,发生变化时,数据触发的工作流引擎会检查哪些活动规则受所述数据的影响,并相应地更新安排的活动的列表。
I(B)(i)允许规则:符合本发明的允许规则包括对活动输入的布尔表达式,指定作业的当前状态是否允许活动被作用。作为默认,调度规则最好被用作允许规则。
I(B)(ii)调度规则:符合本发明的调度规则包括对活动输入的布尔表达式,指定数据触发的工作流引擎安排活动作用应依据的条件。允许规则与调度规则之间的不同之处在于,在参与者主动进行某一活动而不论它是否在工作列表上时,检查允许规则。而调度规则指示数据触发的工作流引擎主动通知参与者,要求参与者应执行某一活动(一般是将该活动放到工作列表上)。
I(B)(iii)预期规则:符合本发明的预期规则包括对活动输入的布尔表达式,在作业完成前指定是否预期活动在将来被作用。例如,在图4中,如果最新版本的代码比已测试的版本更新,则在作业完成前,预期测试活动24再次被作用。活动调度程序60使用预期规则,以便预先为要被作用的尚未安排或甚至未允许的活动作计划。预期活动的事实并不保证它在将来一定被作用。在优选实施例中,预期规则的默认值为“如果活动从未在运行状态,则为真,否则为假”。
可以理解,除此处所述优选的数据触发的工作流系统外,预期规则规范可以在任何适合的工作流范例中实施,诸如在上述常规的基于状态的工作流范例中实施。
I(B)(iv)工作项规范:工作项规范描述在相关活动过程中要执行的工作。工作项规范一般包括模板,数据触发的工作流引擎用作业记录中的信息例示该模块。如上所述,工作项被呈现给工作列表上的参与者。本发明可与大多数常规工作项规范技术一起工作。
I(B)(v)输入规范:符合本发明的输入规范列出活动可能需要读取的作业记录中的所有数据。如果相同的数据可能也被修改,则它必须列在输出规范中。为提高效率,符合本发明的输入规范可以区分以不同方式使用的输入数据,诸如“需要的”与“任选的”,“仅允许”、“仅调度”、“复制”与“参考”等。输入规范可以为一些或所有输入区供应自动路由规范(如下所述)。
作为默认,假定活动读取所有输入区。
I(B)(vi)输出规范:符合本发明的输出规范列出某一活动可能产生、修改或重写的作业记录中的所有数据。每种输出状态可能有一个不同的列表。每个列表项可限定有象“始终”、“可能”等的属性。每个列表可具有表明数据属性的有关谓词(predicate),当活动在指定的状态结束时,所述数据的属性预期为真。谓词是否实际为真,这取决于工作流引擎是否推行谓词。输出规范可为一些或所有输出区供应存档规范(如下所述)。作为默认,假定活动修改所有输出区。
I(B)(vii)完成状态规范:符合本发明实施例的完成状态规范包括不同活动输出的名称的列表(即活动可能结束的方式)。在一个实施例中,默认规范为“{完成}”。其它有用的完成状态规范的示例包括“{成功,失败}”、“{认可、拒绝、要求、撤消}”等。活动结束时,活动会发送消息给数据触发的工作流引擎,以指出活动达到哪个完成状态。例如,在随后活动的规则中,使用完成状态。
I(B)(viii)资源规范:根据本发明的实施例,资源规范包括企业资源,诸如使活动作用所需的人、工作站、设备、耗用品、文件服务器和数据存储空间。符合本发明实施例的活动调度程序60利用资源规范以选择应先作用哪些安排的活动实例。资源规范也可以在活动被允许前用于预先计划资源使用。作为默认,假定活动不使用需要调度或影响优先级的资源。
I(B)(ix)例外规范:符合本发明实施例的例外规范包括要求异常处理的异常情况,并且这可以在活动进行时发生。例外可源于活动本身,也可以由某一外部代理施加于活动上。例如,如果放射科医师发现病人无法忍受该过程,可将其作为“内部”例外。另一方面,如果临床医师在放射科医师口述报告时取消了顺序,则可将其作为“外部”例外。此规范的默认设置是“无例外”。
可以理解,除此处所述优选的数据触发的工作流系统外,例外规范可在任何适合的工作流范例中实施,诸如在上述常规的基于状态的工作流范例中实施。
I(B)(x)自动路由规范:具有涉及大量数据的业务过程的大企业可分布有许多工作站和许多文件服务器。这会产成这样的情况:一个活动已产生、修改或重写了某些数据,而另一活动准备使用所述数据,但在将执行下一活动的工作站却不易于访问到该数据。此处把在作用活动前移动数据称为自动路由选择。此处所用术语“自动路由选择”包括由产生、修改或重写数据的工作站“推”到随后的活动位置的数据,以及由随后活动位置“拉”来的数据(例如,从存档中)。
符合本发明实施例的自动路由选择规范包括一种规则,列出在开始活动前哪些输入数据项要复制以及将其复制到何处。可以依据作业记录中的数据来计算自动路由选择目的地。自动路由选择规范的实施例可包括“强制”自动路由选择和/和“优选”自动路由选择。
符合本发明实施例的强制自动路由选择一般被指定用于活动需要的、但如果不自动路由选择就根本无法从作用活动的工作站访问的数据。优选的自动路由选择一般被指定用于活动任选的或者需要的、但在无自动路由选择时虽然慢却仍可访问的数据。然而,对为特定数据项指定优选还是强制自动路由选择的选择是由过程设计者确定。
一完成强制自动路由选择便开始活动,但如果活动延迟到优选自动路由选择完成后再执行会更有效或更有作用。活动的自动路由选择状态可包括在工作列表中,这样,参与者可以选择是否等待优选自动路由选择完成。
符合本发明的自动路由选择规则可以多种方式使用。例如,所述规则可用于构建移动数据的命令和/或测试强制自动路由选择和/或优选自动路由选择是否已完成。在优选实施例中,数据触发的工作流引擎使用的自动路由选择规范包括下面的内容:
·在活动允许规则评估为真及活动强制自动路由选择测试评估为真前,不允许活动被作用。
·在活动调度规则评估为真及活动强制自动路由选择测试评估为真前,不使活动列在工作项池中准备执行。
·工作项带有反映其优选自动路由选择是否完成的属性。此属性可用于工作列表查询并显示在工作列表中。
·只要数据项D被创建或修改,数据触发的工作流引擎59便收集可能要求D移到和/或属于预期活动的所有自动路由选择规范,并将这些规则发送到自动路由选择模块65。
·自动路由选择模块65依据可用的存储空间、网络业务量、活动最终期限及任何其它相关信息,安排和监督数据移动。
·每次自动路由选择规则变为条件满足时,自动路由选择模块65便通知数据触发的工作流引擎59,使得该引擎可以更新受影响的活动的属性。
·只要预期到与受影响的自动路由选择规则有关的活动停止,数据触发的工作流引擎59便通知自动路由选择服务器65,这样,它可以取消有关的复制命令。
可以理解,除此处所述的优选数据触发的工作流系统外,自动路由选择规范可在任何适合的工作流范例中实施,诸如在上述常规的基于状态的工作流范例中实施。
I(B)(xi)存档规范:在一些实例中,最好是,一旦完成活动实例,就将活动产生、修改或重写的数据复制到“安全位置”。符合本发明实施例的存档规范57识别哪些数据应被复制、数据应被复制到何处以及是使复制作为活动实例事务处理的一部分还是作为单独的随后步骤。这种区别在某些情况下对容错是重要的。
只要活动实例进入完成状态,数据触发的工作流引擎便把存档规范传送到后台存档服务器66以执行复制。存档服务器66在复制完成时通知数据触发的工作流引擎59。如果这样指定,则数据触发的工作流引擎59延迟完成活动实例的事务处理,直至收到此通知。
可以理解,除此处所述优选的数据触发的工作流系统外,存档规范可在任何适合的工作流范例中实施,诸如在上述常规的基于状态的工作流范例中实施。
I(C)活动网络:
符合本发明实施例的活动网络规范55描述了在没有“自发”活动情况下活动发生的正常顺序。在优选实施例中,活动网络由为某一过程定义的活动组上的两个关系定义。
(i)Precedes<X,Y>指“在作用X后,可能要作用Y”。其主要原因是X产生、修改或重写Y需要的数据,但那即不是Precedes<X,Y>的必需条件,也不是其充分条件。最好是在作业的活动组上部分安排所述关系。
(ii)Precedes-back<X,Y>类似于第一关系,但用于指定排序图中的“后缘”。此关系的意思是“在作用X后,可能要重新作用Y”。例如,在活动序列由于其输出不能通过质检而应重复的情况下,使用该关系。
符合本发明的活动网络包括两个关系Precedes<X,Y>和Precedes-back<X,Y>的并集(union)。例如,在一个以上的活动的调度规则满足条件时,此排序关系用于确定哪些活动应在其它活动之前作用。通常,如果Precedes*(X,Y),则X应先于Y被作用,其中Precedes*是Precedes关系的传递闭包。然而,可能出现Precedes-back(X,Y)也影响最佳作用顺序的情况。
II.执行过程实例:
通常,数据触发的工作流引擎59负责监督过程实例的执行。例如,数据触发的工作流引擎通过以下方式执行此功能:(i)推行执行的规则;(ii)创建和删除工作项并跟踪其状态和属性;(iii)与工作列表处理器交互,以构建工作列表并接收作用事件;和/或(iv)通过更新过程的执行状态来响应作用事件。
数据触发的工作流引擎最好按如下方式保持工作列表。在活动被例示时,引擎依据角色规范、参与者简档等信息,以常规方式按规范例示工作项,并将工作项放置到所有适当的工作列表上。参与者从工作列表选择工作项,开始作用所述工作项,随后结束对所述工作项的作用或将其取消。参与者对工作项的行为使工作列表管理器把事件发送到工作流引擎,告诉它改变对应活动实例的状态。工作流引擎通过以适当的方式改变活动实例状态及过程实例和作业记录的内容,来响应工作列表的消息。
现在,参照图6的流程图来描述符合本发明一个方面的数据触发的工作流引擎操作的优选方法。在启动工作流引擎后(步骤100),引擎在收到事件前进行等待(步骤101)。事件发生时(即特定条件发生,对工作流管理系统来说,可能是内部的或外部的)(步骤101中为肯定确定),引擎便确定接收到什么类型的事件(步骤102)。如果确定事件类型为“改变的工作流相关数据”(步骤103中为肯定结果)或“自动路由选择事件”(步骤104中为肯定结果),则工作流引擎继续进行步骤119-122(在下面描述)。
如果工作流引擎确定事件类型是“新过程”(在步骤105中为肯定结果),则引擎将例示过程(步骤106),包括例示“未运行”状态中的每个过程活动(步骤107),并随后继续进行步骤119-122。
如果引擎确定事件类型是“更新活动状态”事件(步骤108中为肯定结果),则引擎将按照状态机更新活动(步骤109)。更具体地说,工作流引擎将检查事件参数以确定哪个活动实例受影响及需要什么样的更新,将它与活动实例的当前状态相比较(参考图3)并相应地改变状态。工作流引擎将随后继续进行步骤119-122。
如果工作流引擎确定事件类型为“存档事件”(步骤110中为肯定结果),则引擎将定位等待存档行为完成的活动实例,相应地更新该活动实例的事务处理和活动状态(步骤112),并随后继续进行步骤119-122。
如果工作流引擎确定事件类型为“作用活动”事件(步骤113中为肯定结果),则工作流引擎首先评估请求的活动实例的允许规则,以确定是否允许该活动被作用(步骤114)。如果当前不允许该活动实例(步骤114中为否定确定),则工作流引擎拒绝请求并回到步骤101以等待另一事件。另一方面,如果当前允许请求的活动实例(步骤114中为肯定结果),则工作流引擎确定请求的活动是否为“结束”活动实例(步骤115)。如果是(步骤115中为肯定确定),则工作流引擎终止包括该活动实例的过程实例的执行(步骤116)并继续进行步骤119-122。可以理解,由于过程实例中的数据必须被保留用于记录和其它目的,因此终止活动或过程实例并不销毁它。也可以理解,如果允许,最好能作用“结束”活动(步骤116),终止过程实例,即使其它活动已安排、在运行或仍在预期中。
如果活动实例不是“结束”活动(步骤115中为否定确定),该活动状态被设为运行(步骤117),引擎会激活执行对应工作项所需的任何软件应用程序(步骤118),并且逻辑流程继续进行步骤119。
在步骤119,根据本发明,数据触发的工作流引擎通过查看接收事件对过程数据的影响,也处理接收事件。它重新评估活动实例的允许、调度和预期规则,以了解哪些表达式改变了值,并随后相应地调整工作列表。数据触发的工作流引擎计算活动的其它调度特性,并将该信息附到工作项。例如,如果两个活动实例X和Y均为未运行状态,并且Precedes<X,Y>,则Y的工作项可能包括“X在先”属性。构建特定工作列表的查询可能过滤或不过滤此类在先活动,这要视工作列表的用途而定。
引擎随后发送更新的信息到自动路由选择服务器(步骤120)和存档服务器(步骤121),检测任何数据触发的例外,并发送例外消息给受影响的活动(步骤122),并随后等待下一事件到达(步骤101)。
可以理解,活动的任选规范被用于使工作引擎更有效。例如,输入规范允许引擎限制它重新评估哪些就绪规则,这基于改变哪些数据。完成状态和输出规范允许引擎仅检查实际上可能改变了的那些作业记录区。活动调度程序的另一实施例使用输入-输出相关性、估计的作用次数和资源需求,以执行调度优化和瓶颈预测。
可以理解,考虑关于活动何时可以被作用一次以上的情况。有三种情况必须考虑到:(a)过程定义包括两个或更多具有共享规范的逻辑不同的活动(这些活动视为不同的活动)(b)曾经完成的活动的特定实例以后可能要被重新作用(这视为同一活动的重复,即使它极其可能带来新实例);以及(c)过程几次明确重复某个活动,例如,处理一系列类似数据对象。执行可以在时间上重叠。这些被视为不同的活动。
如果需要特定应用,活动可以被实施为作业记录实例和过程实例数据上不可分割的事务处理,以确保下面属性中的一个或多个:
·活动对工作流相关数据、特别是对作业记录进行的任何改变是在“全部或没有”的基础上进行的。
·输入规范可能锁定一些输入。在当前活动实例正运行时,任何其它活动实例不可改变那些输入区。
·调度规则可以锁定一些输入,其中,在该活动打开时,不能改变那些输入区。
III.支持再工作的、基于状态的调度规则:
下面描述根据本发明实施例的、基于状态的调度规则规范58,用于定义调度规则,使得只要没有不预期的活动作用,过程便表现象是基于状态,但在出现诸如再工作的这种不预期作用时也可切合实际地做出响应。下面的谓词帮助描述调度规则。
(i)输入输出一致谓词
单独为每个活动指定符合本发明的输入输出一致谓词,并且通过参考活动输入查看活动输出决定活动是否需要被(重新)作用的概念被符合本发明的输入输出一致谓词获得。这样,优选的输入输出一致谓词包括活动的输入和输出的布尔函数,其值表示输出是否与输入一致,好象活动刚刚作用完一样。
(ii)前缀一致谓词
从输入输出一致谓词、活动网络和活动网络语言的规则自动构建符合本发明的前缀一致谓词。前缀一致谓词的目的是表示通过活动网络有到选定活动的法定执行路径,这样,该路径上直到该活动但不包括该活动本身的所有活动是一致的。当然,如果网络语言允许并发,则“路径”可以是并发的。
活动是前缀一致的,只要活动内缘上的保护为真,且活动的前趋的特定子集是输入输出一致的和前缀一致的,其中,该子集最好是根据引入到活动的边缘类型来指定,并且“前趋”由Precedes*<X,Y>关系定义,且不包括Precedes-back<X,Y>关系。例如:
·一旦开始活动已被作用,它便是前缀一致和输入输出一致。
·如果边缘是普通顺序边缘,则其唯一的前趋必须是前缀一致。
·如果边缘是或联合(OR-join),则仅需前趋之一为前缀一致。
·如果边缘是与联合(AND-join),则所有前趋必须为前缀一致。
·如果指定子集为空,则活动是前缀一致。
调度规则
根据本发明的优选实施例,为了模拟基于状态的调度,同时也支持再工作,每个活动的调度规则自动从一致谓词中构建,如下:只要活动具有前趋且活动是前缀一致的而不是输入输出一致的,每个活动的调度规则便为真。
只要没有未安排的活动作用,所述规则便模拟基于状态的范例。一旦开始规则已经被作用,其后继的调度规则将变为真。一旦它们作用,其后继的调度规则将变为真,等等。在活动图中有后缘的任何之处,该边缘的目标活动的输入输出一致规则将包括子句,检查可能由源活动引起的数据改变是否要求重新作用目标。
在未安排的活动确实发生时,调度规则负责决定哪些正常活动需要被重新作用,或根本无需被作用。除了跳过因已经是输入输出一致而无需被作用的活动外,按标准顺序安排作用。下面示例说明作用序列如何受影响。
在一个示例中,一个特定的行为(实际根本不是活动)可能改变一些作业数据,使以前作用的一致的活动变得不一致。该活动的调度规则将变为真,一旦它被作用,所有后面不一致的活动将被安排并被作用。可能有一些后来的活动即使其前趋被重新作用也保持输入输出一致。在重新作用期间跳过这些活动。
在另一示例中,活动可能比其正常安排的时间更早被作用,使得它至少暂时输入输出一致。它以后是否要被安排及被重新作用取决于它变为前缀一致后是否仍是输入输出一致。
IV.未安排的人为活动:
如上所述,本发明的主要动机是支持其中参与者(一般为人)有时需要执行未安排的活动的业务过程。有利地,本发明以不同方式支持未安排的活动。例如,本发明识别允许、调度和预期规则,这些规则可用于区分安排和未安排的活动。此外,本发明提供用于接收并响应外部事件的机制。这些机制区分并支持以下类型的人为活动,其中“约束”给出该类活动的规则的特性。
活动类型 | 约束 | 说明 |
严格安排的 | 允许的η安排的 | 仅在安排时被作用 |
宽松安排的 | 允许的_安排的 | 即使未安排也可被作用 |
未安排的 | 安排的η假 | 从未安排 |
预期的但未安排的 | 安排的η假 | 即使活动将不被安排,也可预先为活动作计划 | |
未预期的 | 预期的η假安排的η假 | 依据工作流相关数据,无法预测活动将在何时或是否发生 | |
需要 | 子句被添加到完成活动的允许规则,以有效防止过程在活动已被作用前完成。 | ||
特定 | 未被指定为工作流活动,但导致工作流相关数据变化,通过事件报告。 |
V.其它工作流管理功能:
本发明适用于作为对大多数工作流管理系统的增强。例如,此处所述的过程定义语言和数据触发的工作流引擎最好是与常规工作流管理系统交互操作。触发数据过程中的每个活动可执行以常规语言编写的子过程。反过来,常规过程应能调用数据触发的子过程。借助于数据触发的工作流引擎计算的其它属性的扩展,常规系统提供的任何工作列表服务应可适用于数据触发的工作流管理。虽然关于WfMC标准活动状态模型描述了本发明,但它旨在以可比方式适用于其它活动状态模型。虽然本发明被描述为好象参与者通常为人,但它同样适用于由智能代理作用的活动,也适用于调用的应用。
虽然在此参考附图描述了说明性实施例,但可以理解本发明不限于这些实施例,其中,在不脱离本发明范围或精神的情况下,本领域的技术人员可以实现不同的其它改变和修改。例如,本领域的技术人员均知道在创建规范语言及该语言的解释器时,开发员在决定是否在解释器或语言中结合特定组成部分或功能时有许多选择。通过在解释器中结合所需的组成部分或功能,使结果系统更加专业和/或有效,而在语言中结合所需的组成部分和功能使系统更加通用。
例如,在本发明的另一实施例中,可以在常规工作流管理系统的过程定义语言中实施大量数据触发的工作流引擎功能。实际上,通过例如添加步骤,执行数据触发的工作流引擎更适宜执行的测试,数据触发的工作流管理原理可手工设计为常规工作流过程定义。相反,可以在工作流引擎内硬编码(hard-code)特定活动规范(例如,允许、预期、许可、自动路由选择、存档规则),而不是允许每个处理的规范具有不同的规则。因此,所有此类改变和修改均包括在后附权利要求书中定义的本发明范围之内。
Claims (37)
1.一种用于提供数据触发的工作流管理的系统,它包括:
数据触发的过程定义语言,用于生成过程定义,其中所述过程定义包括作业记录规范、活动规范和活动网络规范,所述活动规范包括用于指定活动被安排作用的条件的调度规则;
存储装置,用于存储工作流相关数据;以及
数据触发的工作流引擎,用于从过程定义中生成过程实例并管理所述过程实例的执行,其中所述数据触发的工作流引擎处理活动属性和所述调度规则,以确定所述安排的活动可以被作用的顺序。
2.如权利要求1所述的系统,其特征在于所述数据触发的工作流引擎在所述工作流相关数据被修改后重新评估所述调度规则。
3.如权利要求1所述的系统,其特征在于所述活动规范还包括允许规则,用于指定允许活动被作用的条件。
4.如权利要求1所述的系统,其特征在于所述活动规范包括预期规则,用于指定预期活动被作用的条件。
5.如权利要求1所述的系统,其特征在于所述活动规范包括输入规范,用于列出活动可以读取的作业记录中的数据。
6.如权利要求5所述的系统,其特征在于所述输入规范还包括至少一个用于对使用输入区的数据的方式进行指定的属性。
7.如权利要求1所述的系统,其特征在于所述活动规范包括输出规范,用于列出活动可产生、修改或重写的作业记录中的数据。
8.如权利要求1所述的系统,其特征在于所述活动规范包括完成状态规范,用于列出活动的至少一种类型的结果。
9.如权利要求1所述的系统,其特征在于所述活动规范包括资源规范,用于列出至少一个需要用来使活动作用的资源。
10.如权利要求9所述的系统,其特征在于所述数据触发的工作流引擎利用所述资源规范来确定安排的活动可被作用的顺序。
11.如权利要求1所述的系统,其特征在于所述活动网络规范包括活动排序关系,所述活动排序关系由所述数据触发的工作流引擎处理以确定使安排的活动作用的优选顺序。
12.如权利要求1所述的系统,其特征在于所述活动规范还包括自动路由选择规范,所述自动路由选择规范包括用于指定要复制的数据项及位置的规则,所述位置与被复制的数据项发往的活动有关。
13.如权利要求12所述的系统,其特征在于自动路由选择规则包括强制自动路由选择规则或优选自动路由选择规则、或它们两者。
14.如权利要求12所述的系统,其特征在于还包括用于安排和管理被复制数据项的移动的自动路由选择服务器。
15.如权利要求1所述的系统,其特征在于所述活动规范还包括存档规范,用于指定要存档的数据和存档位置。
16.如权利要求15所述的系统,其特征在于还包括存档服务器,用于复制数据项和发送被复制数据项到指定存档位置。
17.如权利要求16所述的系统,其特征在于所述数据触发的工作流引擎延迟完成与活动有关的事务处理,直至从所述存档服务器接收到复制过程完成的通知为止。
18.如权利要求1所述的系统,其特征在于所述过程定义还包括基于状态的调度规则规范,用于支持基于状态的调度模拟和响应未安排的活动对工作流相关数据的改变。
19.如权利要求18所述的系统,其特征在于所述基于状态的调度规则每个都包括输出输出一致谓词和前缀一致谓词。
20.一种用于执行数据触发的过程的方法,它包括以下步骤:
从过程定义生成过程实例;
依据活动规范,确定安排与所述过程实例有关的哪些活动作用;以及
依据活动规范和所述过程实例当前执行状态,计算安排的活动可被作用的顺序。
21.如权利要求20所述的方法,其特征在于还包括以下步骤:显示安排的活动的列表,以供参与者选择所需的安排的活动。
22.如权利要求20所述的方法,其特征在于还包括以下步骤:在被作用的活动的状态改变时,如有必要,重新计算安排的活动可被作用的顺序。
23.如权利要求20所述的方法,其特征在于还包括以下步骤:
依据活动规范,确定是否允许未安排的活动被作用;以及
如果允许,则使所述未安排的活动作用。
24.如权利要求20所述的方法,其特征在于还包括以下步骤:
依据活动规范,在所述过程实例执行期间确定活动是否预期要被作用;以及
如果预期要被作用,则准备作用所述活动。
25.如权利要求20所述的方法,其特征在于还包括以下步骤:在结束被作用的活动时,生成指定所述活动的完成状态的消息,在所述活动的作业记录中记录所述完成状态,并且如果必要,依据所述完成状态,重新评估随后活动的规则。
26.如权利要求20所述的方法,其特征在于所述计算安排的活动可被作用的顺序的步骤包括利用安排的活动的资源规范来确定所述安排的活动的优先级。
27.如权利要求20所述的方法,其特征在于还包括以下步骤:依据活动规范,自动对与活动有关的数据项进行路由选择。
28.如权利要求20所述的方法,其特征在于还包括以下步骤:依据活动规范,自动存档与活动有关的数据项。
29.一种可由机器读取的存储装置,实际体现为所述机器可执行的指令程序,以执行用于执行数据触发的过程的方法步骤,所述方法步骤包括:
从过程定义生成过程实例;
依据活动规范,确定安排与所述过程实例有关的哪些活动作用;以及
依据活动规范和所述过程实例当前执行状态,计算安排的活动可被作用的顺序。
30.如权利要求29所述的程序存储装置,其特征在于还包括用于执行以下步骤的指令:显示安排的活动的列表,以供参与者选择所需的安排的活动。
31.如权利要求29所述的程序存储装置,其特征在于还包括用于执行以下步骤的指令:在被作用的活动状态改变时,如有必要,重新计算安排的活动可被作用的顺序。
32.如权利要求29所述的程序存储装置,其特征在于还包括用于执行以下步骤的指令:
依据活动规范,确定是否允许未安排的活动被作用;以及
如果允许,则使所述未安排的活动作用。
33.如权利要求29所述的程序存储装置,其特征在于还包括用于执行以下步骤的指令:
依据活动规范,在所述过程实例执行期间确定活动是否预期要被作用;以及
如果预期要被作用,则准备作用所述活动。
34.如权利要求29所述的程序存储装置,其特征在于还包括用于执行以下步骤的指令:在结束被作用的活动时,生成指定所述活动的完成状态的消息,在所述活动的作业记录中记录所述完成状态,并且如有必要,依据所述完成状态,重新评估随后活动的规则。
35.如权利要求29所述的程序存储装置,其特征在于所述用于执行计算安排的活动可被作用的顺序的步骤的指令包括用于利用安排的活动的资源规范来确定所述安排的活动的优先级的指令。
36.如权利要求29所述的程序存储装置,其特征在于还包括用于执行以下步骤的指令:依据活动规范,自动对与活动有关的数据项进行路由选择。
37.如权利要求29所述的程序存储装置,其特征在于还包括用于执行以下步骤的指令:依据活动规范,自动存档与活动有关的数据项。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/908953 | 2001-07-19 | ||
US09/908,953 US20030018508A1 (en) | 2001-07-19 | 2001-07-19 | Data-triggered workflow processes |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1399218A true CN1399218A (zh) | 2003-02-26 |
Family
ID=25426433
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN02126888A Pending CN1399218A (zh) | 2001-07-19 | 2002-07-19 | 数据触发的工作流过程 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20030018508A1 (zh) |
CN (1) | CN1399218A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100382032C (zh) * | 2004-12-16 | 2008-04-16 | 国际商业机器公司 | 依赖未来调度对象的实例化创建预订的方法与装置 |
CN101477543B (zh) * | 2008-01-03 | 2013-06-12 | 埃森哲环球服务有限公司 | 用于自动化etl应用的系统和方法 |
CN103995735A (zh) * | 2013-02-14 | 2014-08-20 | 韩国电子通信研究院 | 用于调度工作流作业的设备和方法 |
CN105573128A (zh) * | 2014-11-05 | 2016-05-11 | 三星电子株式会社 | 用户装置及其驱动方法、提供服务的设备及其驱动方法 |
CN112801624A (zh) * | 2021-02-03 | 2021-05-14 | 陈晶晶 | 一种基于信息有效分发的工作方法 |
US11086696B2 (en) | 2019-08-01 | 2021-08-10 | Microsoft Technology Licensing, Llc | Parallel cloned workflow execution |
Families Citing this family (58)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6697858B1 (en) * | 2000-08-14 | 2004-02-24 | Telephony@Work | Call center |
US20030097457A1 (en) * | 2001-08-08 | 2003-05-22 | Amitabh Saran | Scalable multiprocessor architecture for business computer platforms |
US20030036940A1 (en) * | 2001-08-16 | 2003-02-20 | International Business Machines Corporation | Dynamic and adaptive definition of the evaluation sequence of transition conditions in workflow management systems |
US7584115B2 (en) * | 2001-12-19 | 2009-09-01 | Rightnow Technologies, Inc. | System for automated control and reporting of sales processes |
US20030167199A1 (en) * | 2002-03-01 | 2003-09-04 | Thomann Karen S. | Automated workflow means and method for pension products |
US7962644B1 (en) | 2002-03-18 | 2011-06-14 | Oracle International Corporation | Systems and methods for handling a plurality of communications |
US20030182172A1 (en) * | 2002-03-25 | 2003-09-25 | Claggett Stuart Lee | System and method to build project management processes |
US7467161B2 (en) * | 2002-03-27 | 2008-12-16 | Franklin Frisina | Computer system for maintenance resource optimization |
CA2506555C (en) * | 2002-11-08 | 2018-08-14 | Arbitration Forums, Inc. | A system and process for electronic subrogation, inter-organization workflow management, inter-organization transaction processing and optimized web-based user interaction |
WO2004099917A2 (en) * | 2003-04-30 | 2004-11-18 | Landmark Graphics Corporation | Stochastically generating facility and well schedules |
US8423394B2 (en) * | 2003-12-12 | 2013-04-16 | International Business Machines Corporation | Method for tracking the status of a workflow using weblogs |
US8140691B2 (en) * | 2003-12-12 | 2012-03-20 | International Business Machines Corporation | Role-based views access to a workflow weblog |
US8417682B2 (en) * | 2003-12-12 | 2013-04-09 | International Business Machines Corporation | Visualization of attributes of workflow weblogs |
US7565640B2 (en) * | 2004-10-01 | 2009-07-21 | Microsoft Corporation | Framework for seamlessly authoring and editing workflows at design and runtime |
US20060074714A1 (en) * | 2004-10-01 | 2006-04-06 | Microsoft Corporation | Workflow tracking based on profiles |
US7631291B2 (en) * | 2004-10-01 | 2009-12-08 | Microsoft Corporation | Declarative representation for an extensible workflow model |
US8170901B2 (en) * | 2004-10-01 | 2012-05-01 | Microsoft Corporation | Extensible framework for designing workflows |
US20060074735A1 (en) * | 2004-10-01 | 2006-04-06 | Microsoft Corporation | Ink-enabled workflow authoring |
US20060074704A1 (en) * | 2004-10-01 | 2006-04-06 | Microsoft Corporation | Framework to model cross-cutting behavioral concerns in the workflow domain |
US7805324B2 (en) * | 2004-10-01 | 2010-09-28 | Microsoft Corporation | Unified model for authoring and executing flow-based and constraint-based workflows |
US20060111921A1 (en) * | 2004-11-23 | 2006-05-25 | Hung-Yang Chang | Method and apparatus of on demand business activity management using business performance management loops |
US8499300B2 (en) * | 2004-12-20 | 2013-07-30 | Bank Of America Corporation | System and method for task management of rule based tasks |
US8885812B2 (en) * | 2005-05-17 | 2014-11-11 | Oracle International Corporation | Dynamic customer satisfaction routing |
US8583466B2 (en) * | 2005-08-09 | 2013-11-12 | Oracle International Corporation | System and method for routing workflow items based on workflow templates in a call center |
US8443351B2 (en) * | 2006-02-23 | 2013-05-14 | Microsoft Corporation | Parallel loops in a workflow |
US8069439B2 (en) * | 2006-03-30 | 2011-11-29 | Microsoft Corporation | Framework for modeling continuations in workflows |
US20070239505A1 (en) * | 2006-03-30 | 2007-10-11 | Microsoft Corporation | Abstract execution model for a continuation-based meta-runtime |
US8024405B2 (en) * | 2006-03-30 | 2011-09-20 | Microsoft Corporation | Declarative model for concurrency-control across lightweight threads |
US7739135B2 (en) * | 2006-03-30 | 2010-06-15 | Microsoft Corporation | Asynchronous fault handling in process-centric programs |
US20070239498A1 (en) * | 2006-03-30 | 2007-10-11 | Microsoft Corporation | Framework for modeling cancellation for process-centric programs |
US8706776B1 (en) | 2006-06-30 | 2014-04-22 | Sap Ag | Extending status models in a computer system |
US8522261B2 (en) * | 2006-06-30 | 2013-08-27 | Sap Ag | Using status models with state guards in a computer system |
US8365200B1 (en) | 2006-06-30 | 2013-01-29 | Sap Ag | Using cancellation status models in a computer system |
CN101657857A (zh) * | 2007-04-12 | 2010-02-24 | 汤姆逊许可证公司 | 用于工作流接口的消息机制 |
JP2009032080A (ja) * | 2007-07-27 | 2009-02-12 | Ricoh Co Ltd | データ処理システム、情報処理装置、データ管理装置、データ処理方法、及びデータ処理プログラム |
US8504980B1 (en) | 2008-04-14 | 2013-08-06 | Sap Ag | Constraining data changes during transaction processing by a computer system |
US20100153166A1 (en) * | 2008-12-15 | 2010-06-17 | Peter Cholewinski | Business process workflow flattening |
CN101615269B (zh) * | 2009-08-11 | 2015-05-27 | 用友软件股份有限公司 | 一种工作流管理系统中的回退方法和装置 |
US20110119604A1 (en) * | 2009-11-19 | 2011-05-19 | Clevest Solutions Inc. | System and method for a configurable and extensible allocation and scheduling tool |
AU2011279329A1 (en) * | 2010-07-12 | 2013-02-21 | ZenDesk, Inc. | Methods and apparatus for automated workflow management |
US8561080B2 (en) | 2011-04-26 | 2013-10-15 | Sap Ag | High-load business process scalability |
US9026577B1 (en) * | 2012-02-22 | 2015-05-05 | Amazon Technologies, Inc. | Distributed workflow management system |
US8996472B2 (en) | 2012-04-16 | 2015-03-31 | Sap Se | Verification of status schemas based on business goal definitions |
US8996473B2 (en) | 2012-08-06 | 2015-03-31 | Sap Se | Checking compatibility of extended and core SAM schemas based on complex goals |
US9170821B1 (en) | 2012-08-08 | 2015-10-27 | Amazon Technologies, Inc. | Automating workflow validation |
US20140143008A1 (en) * | 2012-11-21 | 2014-05-22 | J. Nirdosh Reddy | Process review system for becoming globally competitive |
US8744890B1 (en) * | 2013-02-14 | 2014-06-03 | Aktana, Inc. | System and method for managing system-level workflow strategy and individual workflow activity |
US10417594B2 (en) | 2013-05-02 | 2019-09-17 | Sap Se | Validation of functional correctness of SAM schemas including action chains |
US9741040B2 (en) * | 2013-08-30 | 2017-08-22 | Sap Se | High-load business process scalability |
US10521601B2 (en) | 2014-04-30 | 2019-12-31 | Sailpoint Technologies, Israel Ltd. | System and method for data governance |
US10083412B2 (en) * | 2015-05-14 | 2018-09-25 | Atlassian Pty Ltd | Systems and methods for scheduling work items |
US10853746B2 (en) | 2015-05-14 | 2020-12-01 | Atlassian Pty Ltd. | Systems and methods for scheduling work items |
US9904585B1 (en) * | 2015-10-06 | 2018-02-27 | Amazon Technologies, Inc. | Error handling in executing workflow state machines |
CN105512865A (zh) * | 2016-01-29 | 2016-04-20 | 国家电网公司 | 一种基于变电专业的工作流程管理系统 |
US20200090097A1 (en) * | 2018-09-14 | 2020-03-19 | International Business Machines Corporation | Providing user workflow assistance |
US11461677B2 (en) | 2020-03-10 | 2022-10-04 | Sailpoint Technologies, Inc. | Systems and methods for data correlation and artifact matching in identity management artificial intelligence systems |
US11308186B1 (en) | 2021-03-19 | 2022-04-19 | Sailpoint Technologies, Inc. | Systems and methods for data correlation and artifact matching in identity management artificial intelligence systems |
US11586467B1 (en) * | 2022-03-30 | 2023-02-21 | Intuit Inc. | Method and system for dynamically and reliably scaling data processing pipelines in a computing environment |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5848271A (en) * | 1994-03-14 | 1998-12-08 | Dun & Bradstreet Software Services, Inc. | Process and apparatus for controlling the work flow in a multi-user computing system |
US5634127A (en) * | 1994-11-30 | 1997-05-27 | International Business Machines Corporation | Methods and apparatus for implementing a message driven processor in a client-server environment |
US6067525A (en) * | 1995-10-30 | 2000-05-23 | Clear With Computers | Integrated computerized sales force automation system |
EP0888585A1 (en) * | 1996-03-19 | 1999-01-07 | Massachusetts Institute Of Technology | Computer system and computer implemented process for representing software system descriptions and for generating executable computer programs and computer system configurations from software system descriptions |
US6041306A (en) * | 1996-12-05 | 2000-03-21 | Hewlett-Packard Company | System and method for performing flexible workflow process execution in a distributed workflow management system |
US6003011A (en) * | 1998-01-07 | 1999-12-14 | Xerox Corporation | Workflow management system wherein ad-hoc process instances can be generalized |
US6282531B1 (en) * | 1998-06-12 | 2001-08-28 | Cognimed, Llc | System for managing applied knowledge and workflow in multiple dimensions and contexts |
WO2000014618A2 (en) * | 1998-08-24 | 2000-03-16 | Fujitsu Limited | Workflow system and method |
WO2002003225A2 (en) * | 2000-06-15 | 2002-01-10 | Xis Incorporated | Method and system for product lifecycle management |
US20020055849A1 (en) * | 2000-06-30 | 2002-05-09 | Dimitrios Georgakopoulos | Workflow primitives modeling |
-
2001
- 2001-07-19 US US09/908,953 patent/US20030018508A1/en not_active Abandoned
-
2002
- 2002-07-19 CN CN02126888A patent/CN1399218A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100382032C (zh) * | 2004-12-16 | 2008-04-16 | 国际商业机器公司 | 依赖未来调度对象的实例化创建预订的方法与装置 |
CN101477543B (zh) * | 2008-01-03 | 2013-06-12 | 埃森哲环球服务有限公司 | 用于自动化etl应用的系统和方法 |
CN103995735A (zh) * | 2013-02-14 | 2014-08-20 | 韩国电子通信研究院 | 用于调度工作流作业的设备和方法 |
CN105573128A (zh) * | 2014-11-05 | 2016-05-11 | 三星电子株式会社 | 用户装置及其驱动方法、提供服务的设备及其驱动方法 |
US10627789B2 (en) | 2014-11-05 | 2020-04-21 | Samsung Electronics Co., Ltd. | User device, driving method of user device, apparatus for providing service and driving method of apparatus for providing service |
US11086696B2 (en) | 2019-08-01 | 2021-08-10 | Microsoft Technology Licensing, Llc | Parallel cloned workflow execution |
CN112801624A (zh) * | 2021-02-03 | 2021-05-14 | 陈晶晶 | 一种基于信息有效分发的工作方法 |
Also Published As
Publication number | Publication date |
---|---|
US20030018508A1 (en) | 2003-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1399218A (zh) | 数据触发的工作流过程 | |
US6122633A (en) | Subscription within workflow management systems | |
US7240324B2 (en) | Event-based scheduling method and system for workflow activities | |
Reichert | What BPM technology can do for healthcare process support | |
US6237020B1 (en) | Task-oriented automatic distribution of software | |
Duffy et al. | Design coordination for concurrent engineering | |
US7831453B2 (en) | Modeling of business process data | |
US20120159491A1 (en) | Data driven dynamic workflow | |
US20060069605A1 (en) | Workflow association in a collaborative application | |
US20140310055A1 (en) | Progressive Refinement Model for Business Processes | |
US6832201B1 (en) | Method and system for optimizing request shipping in workflow management systems | |
CN1755719A (zh) | 用于提供跨项目承诺的方法和系统 | |
EP1577760A2 (en) | Method and system for testing software development activity | |
US6725445B1 (en) | System for minimizing notifications in workflow management system | |
EP1266334A4 (en) | METHOD AND SYSTEM FOR BUSINESS PROCESS DEFINITION AND PERFORMANCE IN THE TOP-DOWN PROCESS | |
US8694487B2 (en) | Project management system | |
JP2007305129A (ja) | ビジネスプロセス統合リポジトリ | |
CN1766835A (zh) | 用于在设计和运行时间无缝制作和编辑工作流的框架 | |
Anwer et al. | Goal oriented requirement engineering: A critical study of techniques | |
Dehghanimohammadabadi et al. | A novel Iterative Optimization-based Simulation (IOS) framework: An effective tool to optimize system’s performance | |
Liang et al. | Dynamic service selection with QoS constraints and inter-service correlations using cooperative coevolution | |
Adams et al. | Dynamic and extensible exception handling for workflows: A service-oriented implementation | |
Smith et al. | Project management for the 21st century: supporting collaborative design through risk analysis | |
US20060095906A1 (en) | Methods and apparatus for project management | |
US20050055664A1 (en) | Notification spheres in workflow management systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |