- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
如果数据库系统(database systems)像受人尊敬的智者讲述的条理清晰的故事,那么 工作流(workflow)就像一群乳臭未干的小子在大谈各白的“哲理。Z所以这样讲,我是想 指出,T作流系统(workflow management systems)还处于技术发展曲线(technology hype curve)上的初级阶段。在这个领域我们将面临一个激动人心的阶段。为了描述这一点,可 以将T作流和关系数据库系统(RDBMS)做一个对比。当在软件开发团队中谈论RDBMS 时,大部分人会有一个清晰的概念,在你和他们交流的时候,人们会通过轻微的点头表示认 可或理解你所说的。可当使用丁?作流术语讨论丁?作流时,他们会摇头表示不同意,因为每个 人对T作流术语都有不同的理解。
Technology TriggerPeak of Inflated Expectati onTrough of Disillusio nmentSlope of EnlightenmentPlateau of Productivity
Technology Trigger
Peak of Inflated Expectati on
Trough of Disillusio nment
Slope of Enlightenment
Plateau of Productivity
Maturity
图 1: Workflow vs. RDBMS positioned in the hype-curve
导致形成这种状况的原因Z—,是在T作流屮使用了过多的概念。在这个领域屮的大量 规范和工具没有一个是相似的。当然,它们相互之间有重徨并且会相互参考引证。
在介绍工作流时有一个话题必须包括,那就是工作流和业务流程管理(BPM)的关系。 术语“T作流通常描述人与计算机系统的一系列相关交互。在开发人员中,工作流经常被提 及。有时,工作流的意思是指一些不同的UI界血。业务流程管理的范围比较广,相比Z下 工作流多半局限于技术领域。业务流程管理还从管理人员的角度涉及了非技术问题,比如分 析、组织的效率。
在木文屮,我首先解释什么是工作流管理系统,然麻介绍业务流稈管理的优点。接下来 描述一下为什么丁作流市场乍看起来如此混乱。木文给出的主要结论是:选择丁?作流系统是 想用工作流系统的公司,将要面对的最困难的事情。为此,木文的核心部分描述了一个流程 定义(process definition)的四个层次,为你选择工作流提供一个基础。木文还用屮立的语
言描述了丁作流和BPM的通用概念。最麻,给出了一些规范和工具的指导性描述。
什么是工作流管理系统(WFMS)
定义
工作流系统是以规格化的流程描述作为输入的软件纽?件,它维护流程的运行状态,并在人 和应用之间分派活动。
为了麻面的描述,我们先定义一些基木的术语:流程定义(process definition)和流稈 实例(process instance).—个流程定义是一个业务流程或过程的规格化描述。一个流稈?实 例是流程定义的一个运行实体。都目前为止,概念还比较清晰是不是?但当再深入一步时, 我们就要小心使用文字了。如何阐述流稈中的步骤,现在还没有一个统一的方式。这是各种 工作流规范和T具之间主要的分歧。
为什么应当禁止使用术语“活动(activity) ”
流稈定义通常用一些活动表述。我认为这是导致T作流领域所有混乱的主要原因。我告 诉你为什么:因为术语“活动”混淆了状态(state)和动作(action)之间的差异。在流程中, 状态(或者说等待状态)代表了一种对外部参与者(“cto「)的依赖。在流稈运行时,这意味 着流稈引擎必须等待,直到外部参与者通知工作流管理系统指定的状态完成了。比如,等待 可进一步运行的认可。动作是在流稈运行过程屮,工作流系统为响应指定事件(event)运 行的一段稈序逻辑(programming logic)o当流稈运行过稈屮指定的事件发生时,工作流系 统启动并执行这些动作。比如,当状态分配给一个参与者时,发一封Email。你也能看出, 状态和动作是如此不同,因此使用同样的术语去描述这些概念是一个坏习惯。我的建议是避 免使用术语“活动”,使用“状态”或者“动作”代替它。
工作流系统另一个重要的职责是维护每一 ?个流稈运行的上下文信息。流程上下文变量 Cprocess context variable),或简称变量,是与流程实例相关的变量。如,休假申请的开 始L1期、数据库中一条记录的键值、文档管理系统中一篇文档的索引等。通常在流稈定义中 声明这些变量,然麻在流稈实例生成时,这些流稈变量被实例化。所有成熟的工作流管理系 统都支持定制的变量类型。
目标领域(Target usage )
使用工作流管理系统的目
文档评论(0)