浅谈工作流引擎的几个关键因素
工作流引擎的定义已经众所周知,可是解释却五花八门的,想想这也正常,因为用于状态机的工作流引擎和业务工作流引擎分析模式本身就有很大的不同。业务工作流基于不同文化解释也不同。
状态机工作流适用于根据各种状态配置流程逻辑的场景,比如CTI呼叫中心的流程设计和数据交换就可以参考状态机工作流方式来设计,微软WFF的工作流引擎比较适合这样的场景;
而就业务流程方面的工作流来解释,中国人的理解和欧美等外国人的理解又不同,这里面涉及了一种文化底蕴在里面,西方人崇尚自由,对流程的理解更加趋向于消息的传递和活动(Active)的触发逻辑;对于东方文化底蕴的工作流来说,则更加尊重规则,更加依赖组织结构、权限、考核等规则,作为一个中国人,选择用于东方文化的工作流平台时重点自然会考虑选择适合东方文化的工作流引擎,东方文化工作流引擎的几个关键因素是否能很好的实现非常关键,E8.Net工作流就是实现比较好的一个工作流引擎。
工作流引擎主要功能之一帮助用户适应流程多变性的需要的,给客户带来价值就是在于流程发生变化时的易维护性和低成本,工作流引擎就像是汽车的发动机,一个汽车即使再漂亮,没有强劲的引擎支撑也能难成为一辆好车,工作流引擎的几个关键因素如下:
1、 适合东方流程特性、易用的流程设计器
包括各种环节特性、路径定义、时限定义、流程关联、参与人员(主办、协办、阅知)、表单权限、各种特殊权限等等。各种流程特性可以用工具通过简单易用的方式定义出来。
2、 高性能、高稳定性的流程引擎
如果工作流引擎只是用于少数人玩玩的情况,大可不必那么严谨,工作流引擎对于大规模数据量、并发访问、各种流程逻辑的支撑能力非常关键,因此高性能和高稳定性是非常关键的。E8.Net工作流引擎的高性能和高稳定性在大量实际的案例中得到了证实。
3、 工作流应用的快速开发架构
单纯的工作流引擎对于用户来说是没有意义的,就像司机拿着发动机不知道要做什么一样,因此好的工作流引擎的关键因素之一是提供终端应用系统的快速开发能力,这样对于软件提供者和软件应用者是双赢的局面。
4、 强大的业务扩展能力
工作流引擎帮助应用软件提供者很好的处理了流程逻辑的实现,可是如何支撑业务能力的扩展也是关键因素之一,比如:流程设计是由用户通过流程设计器去定义的,那如何实现各种未知流程下的统计信息呢?比如E8.Net工作流曾经开发过的物流配送系统,用户定义了各种未知流程同时又能统计各个配送点当月的配送量。
好的工作流引擎的关键因素远不止这几点,目前工作流引擎产品层出不穷,可是真正的区别是在于末端需求的实现能力和实现成本。