工作流引擎的设计与实现
07年刚进公司的时候,就接到老大开发工作流引擎的任务。在学校的时候对工作流只是有一个简单的了解和研究,所以压力还是比较大。还好国内的银狐兄对工作流的研究比较深,借鉴了哈他的研究思路,然后看了JBPM,OSWorkflow等开源项目的源码。看了大概10天左右对工作流有了比较深刻的理解。于是就开工了:)
本来打算用开源的项目的,但是JBPM太大了,而且有些东西不适合我们公司产品的需求,而且代码量比较多,所以决定自己开发。现在我只能把这个项目的开发步骤和关键的东西给大家列出来:)
根据WFMC推荐的标准,WF的一般由Definition Execution 和Coordinate With Other Dep组成,在考虑到标准化的问题后,引擎的定义部分用XML实现,所以首先需要做的事情就是定义Definition的Schema,这个Schema大的方向是根据XPDL的标准来做的。将节点分成不同的类型比如:StartNode EndNode TaskNode ForkNode,然后定义Transition(连接不同节点的转向)。
在定义完基本的框架后,需要考虑的事情就是如何尽可能多的实现工作流的PATTERN,目前我们的工作流实现的PATTERN包括:串行、自循环、并行、鉴别式选择、同步聚合、条件聚合、鉴别式聚合等;同时支持流程嵌套模型(子流程)。
如果需要实现更多的Pattern则只需要增加Node的类型和实现更多的规则引擎。我们开发的工作流引擎没有采用大公司的那种工作流规则引擎产品的模式,更多的是采用一种嵌入式模块的方式,我们支持的方式包括BEANSHELL,JNDI等。我们只要把BEANSHELL的代码写好然后上传就OK了。
工作流引擎执行部分最重要的就是以下几个概念:ExecutionContext,Token.Token故名思意,就是标示一条执行路径当前节点的对象,如果有并发分支的话,那么就会出现父子Token的关系,它的主要的功能就是指示当前执行路径的当前执行节点;ExecutionContext表示的是流程执行的上下文,包括了现在流程所在的执行路径,以及创建的任务等等。
只要把上面的两个概念弄清楚了,工作流引擎的开发我觉得就没什么问题了 好了下次再说:)
分享到:
相关推荐
### 基于关系数据库的工作流引擎设计与实现 #### 引言 随着信息技术的发展,工作流管理系统(Workflow Management System, WfMS)已经成为优化业务流程的重要工具之一。工作流是指一系列相互关联的活动,这些活动...
基于OA系统的工作流引擎设计与实现.doc
《可自管理的分布式工作流引擎的设计与实现》一文由辛鹏和王少锋撰写,发表于2005年11月的《计算机集成制造系统》期刊上,主要探讨了面向企业和政府需求的分布式工作流引擎设计与实现方法。文章结合Java管理扩展框架...
综上,基于.Net的工作流引擎设计与实现是一个综合考虑了系统集成、互操作性、可扩展性和灵活性的过程。通过Web Service技术,可以实现工作流引擎与其他系统的无缝连接,适应企业不断变化的业务需求。同时,系统的...
【轻量级工作流引擎设计与实现】 工作流引擎是一种软件系统,用于自动化组织内的业务流程,使得工作流程能够按照预定义的规则和步骤进行。轻量级工作流引擎则是针对小型企业和简单业务场景设计的,它具有低耦合、高...
此外,作者可能还讨论了工作流的动态特性,如流程的可变性、异常处理和版本控制,这些都是轻量级工作流引擎设计中的重要考虑因素。 总的来说,这篇论文详尽地探讨了轻量级工作流引擎的设计原则和实现方法,涵盖了从...
工作流引擎设计与分析是IT领域中一个关键的议题,特别是在现代企业管理和自动化流程中扮演着重要角色。工作流引擎的主要任务是根据预定义的流程规则来管理和推进工作流程实例,确保业务流程的正确执行。以下是对工作...
工作流引擎设计是一个复杂而关键的任务,涉及到许多方面的考量。工作流引擎的目的是为了帮助企业高效地管理和自动化工作流程,因此其设计必须以创造价值为核心,而非单纯追求技术特性。WfMC虽然定义了标准,但并没有...
2. 可扩展性:良好的工作流引擎设计应具备良好的模块化结构,方便添加新的功能和适配不同的业务场景。 3. 异步处理:支持异步任务处理,确保高并发环境下的性能表现。 4. 监控与审计:提供流程监控和审计功能,帮助...
在C#中编写工作流引擎,可以利用.NET Framework或.NET Core提供的丰富的类库和工具,实现高度灵活和可扩展的流程控制。本文将深入探讨C#实现工作流引擎的关键技术和相关概念。 首先,我们需要理解工作流的基本概念...
基于关系数据库的工作流引擎设计.doc 118 KB 介绍一款工作流引擎设计思路.doc 23 KB 开源工作流引擎研究报告.doc 161 KB 乔篷科技股份有限公司工作流引擎.rar 9,134 KB 自定义工作流系统的设计与实现.doc 238 KB
- **工作流引擎设计与实现**:设计并实现工作流执行的核心组件,负责流程的启动、执行、监控和控制。 - **Web技术的图形化建模工具**:开发基于Web的界面,让用户能够直观地创建和修改工作流模型。 - **系统集成*...
本系统无论前端还是后端,其学习成本明显低于开源工作流引擎及附带流程设计器,能够快速上手前后端实现逻辑,更方便用户快速进行二次开发。本系统前端流程设计器,采用Vue ElementUI + 自研实现,支持可任意托拉拽与...
### 基于.NET的工作流引擎的设计与实现 #### 概述 《基于.NET的工作流引擎的设计与实现》是一篇深入探讨如何利用.NET框架来设计并实现高效、灵活的工作流引擎的文章。工作流引擎作为现代企业信息化管理的重要组成...
《工作流引擎详细设计说明书》旨在为开发人员提供一个全面的指南,详细描述了工作流引擎的实现机制和内部架构,以便于理解和实施。编写此说明书的主要目的是确保所有参与开发的团队成员对工作流引擎的设计理念、架构...