1、什么是WfMS
(1)定义
l 工作流系统是以规格化的流程描述作为输入的软件组件,它维护流程的运行状态,并在人和应用之间分派活动
l 基本概念:
Ø 流程定义(process definition):一个业务流程或过程的规格化描述
Ø 流程实例(process instance):流程定义的一个运行实体
Ø 状态 (state,或者说等待状态):代表一种对外部参与者的依赖;这意味着在流程运行时流程引擎必须等待,直到外部参与者通知工作流系统指定的状态完成了
Ø 动作(action):在流程运行过程中,工作流系统为响应指定事件运行的一段程序逻辑;当流程运行过程中指定的事件发生时,工作流系统启动并执行这些动作
Ø 流程上下文变量(process context variable):保存每一个流程运行的上下文信息;通常在流程定义中声明这些变量,然后在流程实例生成时被实例化
(2)目标
l 作为企业应用系统集成(EAI)的平台:当前大部分企业级IT架构中包含各种专门应用;这些专门应用提供了一组固定的自动化业务流程;而工作流系统将业务流程描述作为输入并管理流程实例的执行,比专门应用更灵活;因此,工作流系统和专门系统是相互补充的,使用工作流系统管理全局的业务流程,结合所有的专门应用,来构建一个EAI平台
l 协助涉及多人相关任务的工作流软件的开发
l 将工作流引擎嵌入到其他应用中:开发专门应用的公司可以将工作流引擎嵌入到他们的软件中;在这里,工作流引擎只是作为一个软件组件,主要是为了重用和应用软件的可维护性
2、工作流案例
引入工作流能够在软件开发级和业务级受益。
(1)简化开发
l 降低开发风险 :业务分析师和开发人员使用相同语言交谈(如状态和动作术语),这意味着开发人员没有必要将用户需求转化成软件设计
l 集中实现:业务流程经常变化,使用工作流系统的最大好处是:实现不再是散落在各种系统中模糊整合的软件片断
l 加快应用开发 - 你的软件不再有在流程终保持与参与者联系的任务,开发更快,代码更容易维护