本期我们的采访对象是国内开源工作流引擎FixFlow 的开发团队(以下简称FFDT)。FixFlow 团队致力于开发功能强大、应用范围广泛的国产工作流引擎,吸纳国外工作流引擎的精髓,力争做国内最好的工作流引擎。 CSDN:首先来个团队介绍吧! FFDT:一群人如果有着共同的目标,那他们可以成为工作上的朋友;如果还有共同的爱好,那更是一件让人感到愉悦的事情。而我们,就是这样的一群80后。 我们属于方正飞鸿中间件产品部,团队组建到现在已有10年了,团队当中有专门从事设计器插件开发、Web设计器开发、引擎内核开发、测试、UI、外围功能、BPA等成员。团队之前一直是从事开发平台类的产品研发,其中包含了工作流的部分,这几年渐渐将工作的重点转到了BPM领域。 我们是一个有理想、有追求、乐于尝试各种新技术的团队。除了代码,游戏是我们共通的爱好,大家经常会找一款游戏一起玩到high。可能听起来有点像是技术宅,但我们却乐在其中。 CSDN:FixFlow 和类似的软件如 Activiti jBPM 等相比起来,它们之间有哪些区别呢? FFDT:FixFlow 更加符合中国国情,支持复杂任务流转,如转发、退回、自由跳转、会签等处理,可以大大减少二次开发工作量。它还提供更加友好的设计器界面,可视化的连接器,还有中文的社区支持和有开发人员参与的技术交流群。 由于开源时间不长,FixFlow 的文档没有其他产品那么齐全,网上的相关技术文章比较少,现在还都是依靠团队成员在写,社区用户量也相对较少,但是增长非常快。 CSDN:工作流引擎是一门横向的科学,应用非常广泛。那么,请介绍一下FixFlow 的产品都遍布在哪些应用领域! FFDT:我们耳熟能详的不外乎OA、综合办公管理,ERP,更细一些的包括:报销、请销假、员工入职离职等,然而从我们多年实施的项目经验来看,各行各业都需要工作流,其原因是由于行业的工作趋于标准化,而标准化的工作需要通过符合企业自身环境的步骤来执行。每个企业的环境不同,操作方式也差别迥异,不可能用唯一的行业标准来规范企业运作过程中的所有步骤。所以在这样的一种现状下,工作流引擎的专业能力与灵活性的价值就体现出来了。 应用领域:
CSDN:开源工作流引擎 FixFlow 5.2 版本最近已经发布,这个新版本有哪些新内容吗? FFDT:FixFlow 5.2 版本更新内容如下:
相对于5.1版本,5.2新增功能不多,主要是引擎优化,所以5.2版本更加稳定,由于使用了maven结构,已集成用户需要花点时间来升级。好在是中国自己开发的,所以有稳定的开发团队支持。 CSDN:有网友表达了自己的困惑:“用户经常纠结的是哪一个引擎更适合他们,如果FixFlow 开发者能够详细的解答一下FixFlow 与其他引擎相比起来具有哪些优劣,以及应用场景的适应性有多强大,那将对使用者很有帮助!”对此,FixFlow开发团队有什么计划或者好的想法吗? FFDT:FixFlow 是一款开源的基于BPMN2.0 标准的工作流引擎,引擎底层直接支持BPMN2.0 国际标准,吸纳了jBPM3 、 Activiti5、BonitaBPM 等国际开源流程引擎的精髓,同时提供了强大的中国式流程流转处理,引擎采用微内核+插件形式设计,提供灵活的扩展模式,建模采用基于BPMN2.0 标准的Eclipse 设计器和基于Web 的流程设计器,不仅为审批流程提供了解决方案,同时还为复杂业务流程编排提供了强大的支持。 FixFlow 本身并不具备完整的开发平台功能,它的定位是专门用于集成到现有系统的引擎。 CSDN:我们很想知道开源的工作流程引擎在国内的发展前景如何? FFDT:现在国内的项目和产品选择集成工作流还是以国外知名的开源产品为主,然后在上面进行大量的订制开发,来满足中国市场的工作流需求,但是我相信随着FixFlow 的开源,将会有更多的人选择更适合国内市场需求的国内开源引擎。 现在越来越多的公司选择研发公司级的开发平台,来解决项目实施的问题,将会有更多的公司选择更加可控的开源的流程引擎集成到自己产品中去。 CSDN:在创建FixFlow 过程中,曾经遇到过什么困难吗?又是如何解决的?有哪些经验和心得可以分享吗? FFDT:首先是技术难度问题。当时国内还很少有人研究BPMN2,另外基于它的设计器也没有很好的参考,感觉有点是摸着石头过河。后来发现了Activiti 和Eclipse 的 BPMN 模型项目,可以说是很不错的参考对象,但实际上资料并不多,很多还是自己慢慢摸索着过来的,包括Eclipse 的插件开发。 然后是功能设计问题。流程引擎设计之初就考虑既要和开发平台集成比较方便的使用,也要能够独立出来与其他框架和系统整合。这里就需要一个设计拿捏的问题。包括怎么去整合组织架构、怎么去整合和扩展处理命令、怎么去关联表单字段、怎么让用户扩展自己的常用配置、怎么去扩展业务逻辑等等。这里面参考了很多 Bonita 的设计器,也做了相应的改进。比如现在 FixFlow 中的表达式编辑器,连接器,还有会签任务的配置等功能。 很多了解工作流产品的人会发现,FixFlow 的内核像 jBPM,API 像 Activiti,设计器像 Bonita,但要想把这些都整合到一起,并且加上各种中国式流程的特殊处理,很不容易。另外,也感谢很多技术前辈,如银狐999,八进制等等,这期间拜读了他们很多的文章。 CSDN:除了FixFlow 项目之外,团队还发起过或参与过哪些开源项目?如何看待国内的开源环境及国产开源项目的发展? FFDT:作为参与的项目 Eclipse/BPMN2-modeler,FixFlow 团队一直在使用并对其修复了很多Bug,并贡献给Eclipse 社区。 FixFlow 是我们团队发起的第一个开源项目。国外的知名的开源项目往往都是由多家公司一起参与支持,规模比较大,而国内基本还是以个人或团队为主,规模较小,希望能有更多的公司级别支持的开源项目出现,这样中国的开源事业才能真正的快速发展壮大。 开源工作流领域一直都是国外产品在垄断的,所以我们一直希望FixFlow 能有更多的公司及个人参与,将FixFlow 做成在世界上具有竞争力的工作流引擎。 CSDN:OK,接下来可否介绍一下FixFlow 是如何在激烈的竞争环境下积累用户的? FFDT:积累用户主要是靠国际标准、国产本地化、开源等,以下几点是我们的特色,实实在在地解决了广大开发者的实际问题。 2009年开始,国外的流程引擎全面拥抱 BPMN 2.0 国际标准,从流程设计的图形化符号,到符号执行语义的标准化统一,而国内工作流在这方面相对落后,国内基于BPMN 2.0 的开源工作流引擎更是一片空白,其核心原因还是由于国际标准与国内工作流应用存在较大鸿沟。 创建 FixFlow 项目的目的主要是为了解决国际标准在国内本地化应用中出现的问题,将国外优秀的经验吸取进来,做出符合国情的优秀产品。比如:中国式的流程审批命令(同意、拒绝、退回、转办、追回)、中国式的流程设计建议(会签、子流程、多级审批)等等。 所谓竞争激烈,我们并不这么认为,我们只想用心做好这款产品,让更多的开发者和流程设计者去使用。 目前大部分的开发者都还是在使用国外的开源流程引擎,如Activiti 和 jBPM,我们希望他们知道有这么一款不输于Activiti 和 jBPM的国产工作流引擎,大家一起在来添砖加瓦,有句经典的话叫做:不用重复造轮子了。这也是让我们决定对于这个项目采用开源方式的决定因素。 为了能够取得这样的结果,我们也在不断努力,大家可以看到我们在开源群(QQ群:152654373)里面热情的杨晨辉、钱骏和姜楠的身影,也能看到讨论专业技术问题的邵帅和戚雨,以及还有更多幕后的英雄,我们在乎的是做出优秀的产品,并且让更多的人知道,在一个优秀的基础上搭建更好的中国应用,我们并不在意别人的模仿,我们已经将在群里面回答的问题进行了总结,不断完善文档帮助新朋友快速了解这款产品。 CSDN:FixFlow 作为一款开源的工作流引擎,其未来的发展目标和开发计划是什么? FFDT:我们希望FixFlow 在开源工作流领域成为国内最好的工作流引擎,并能和世界级的开源产品一较高下。在我们的Github 主页上有FixFlow 新版本的开发计划,一般我们会保持 2-3个月发布一个小版本的速度。 项目地址:
注:在此感谢FixFlow 团队的热情协助,也希望更多的开发者/团队关注国产开源项目——FixFlow 工作流引擎。 |