锁定老帖子 主题:工作流软件中的那些事
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-08-07
最后修改:2011-08-07
对接口编程,为变化而设计,是面向对象编程的基本原则。工作流软件产品中的流程引擎的实现,主要是采用面向对象的设计原理。
工作流引擎负责对业务流程的抽象,对业务流程建模,以及业务流程的流转。在流程引擎中会设计一些基本的赋予一定意义的节点,组合这些节点给业务流程建模。
流程引擎负责解释这些节点,并通过面向对象的编程方式,每个节点对应一个类,节点的属性和方法均在类里面有所体现,表现为类的属性和方法。当流程实例运行时,在流程引擎中建立这些类对象的实例,实例化为业务流程的每个具体节点。
我们都知道,每个业务流程在运行时,都会有这样或者那样的特殊要求,例如,当财务经理审批通过报销单后,需要给报销申请人发送一个电子邮件,通知报销申请人,报销申请通过了;当一个保理结算模式的支付方的银行账户发生变化时,需要记录变化的轨迹。等等这些都可能是针对每个具体的业务流程有自己的特殊要求。在流程引擎中是不可预见的,或者说是具体的业务处理过程,和流程引擎无关。
在工作流软件产品中,事件分为两类:
动作节点:动作节点表示一个业务环节中需要处理的事情,如提交填写的报销单,执行审批通过等。执行一个动作,先触发动作中的前置事件,再执行流程的动作,再触发动作中的后置事件。
动作结果连线:执行完动作后,根据动作结果导向下一步,当动作执行完成后,先触发动作结果中的前置事件,再执行动作结果,再触发动作结果中的后置事件。
流程实例的流程,通过执行一个动作,动作结果导向另外一个步骤,这样来达到流程的一次流转。在流程的一次流转中,会涉及到流程的多个节点,步骤,动作,动作结果,设置,分支,合并 等等。
步骤的后置函数-》动作的前置函数-》完成本步骤的任务-》检查动作结果中的条件(不成立则无条件结果)-》动作结果的前置-》 创建新的当前步骤(执行新步骤的前置函数)-》 动作结果的后置-》 动作的后置函数
在业务数据填写完成后,通过表单工具提交到表单引擎,表单引擎也设计了一序列的接口事件。表单的提交,就有前置事件和后置事件。 前置事件:
相信在不断的完善流程引擎表单引擎等的过程中,这些事件的设计和处理会变得更加完善和精确........ 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-08-07
不知道工作流之类的市面上都用什么技术来实现?
|
|
返回顶楼 | |
发表时间:2011-08-10
居于有限状态机和petrinet的技术的比较多
|
|
返回顶楼 | |
浏览 1650 次