摘要:公司的eworkflow自定义工作流系统,最初是开发了java版的。待java版的功能稳定后,就开始开发.net版的。
java版的eworkflow工作流系统,我们没有依赖于任何框架,如struts,spring等,也没有用hibernate,ibatis等orm映射工具。在支持web方面也有一套自己的mvc框架,都是纯java的代码。因为工作流系统,比较注重的是工作流引擎核心的实现,其他的表现形式,人机交互等都相对不是工作流系统的重要部分,并且业务模块的自定义表单采用的是eform自定义表单,所以在mvc的框架中,我们只需要注重M部分的流程引擎的开发。
阅读全文
08 2010 档案
摘要:主流数据库有,sqlserver,oralce,db2,mysql。
产品级的.net工作流系统必须要能支持这多种数据库,同时还需要能方便的扩展支持新的数据库。
在做数据库操作方面,java和.net的各不一样,java是利用jdbc的一套类库来做数据库的读写。但.net的就比较多了,微软提供的就有oledb,sqlclent,oracleClient,odbc等,还有一些第三方提供的访问类。
所以在做多数据库支持方面,.net工作流系统,就需要考虑这些方式都支持,并且能很容易的切换。
阅读全文
摘要:上一篇主要说明 dotnet工作流引擎的基本原理和引擎的基本元素。
这篇主要以图解的方式说明工作流引擎的运转模型,路由方式。
一个业务流程包含一序列的处理过程,以及他们的相互顺序关系,还包括过程的启动条件,过程循环,同时还会辅助一些相关的事件消息处理等。
工作流引擎负责创建,定义,解释和运行业务流程,首先需要将业务流程的处理过程转化为流程的基本元素、基本节点,然后将业务处理过程之间的顺序关系用流程引擎支持的路由方式表达出来,再设置好一些相关的事件消息处理等,业务流程就创建完成。然后再运行流程,启动流程实例,运行业务流程,流程引擎负责解释流程的各节点以及按路由方式运转业务流程。因此流程的运转模型,支持的路由方式也是工作流引擎的核心内容。
阅读全文
摘要:工作流管理系统为实现流程的自动化,必须包含一个工作流引擎,工作流引擎负责流程的定义,解释和运转。流程引擎是对业务流程的一个抽象,因此工作流引擎的设计模型是决定流程功能的重中之重,将直接影像流程的各个环节。
一套工作流管理系统还包含很多个必须要实现的部分,如:事件处理,任务处理,组织机构的适配,自定义表单等等。以及很多中国式的“动态会签,回退,自由流”等等变态需求。但抛开这些,只关注每个流程的最基本的部分,即解决一个过程运转的问题,从一个环节到另一个环节,使得流程能够运转起来。这应该就是流程引擎要实现要关注的基本问题,即流程引擎的抽象。
阅读全文