Camunda 分支 Alfresco Activiti 项目

  • Charles Humble
  • 孙镜涛

2013 年 3 月 29 日

话题:Java语言 & 开发

Camunda是柏林的一家专门从事 BPM 业务的软件和咨询公司,该公司最近宣布他们正在分支 Alfresco Activiti从而创建一款名为camunda BPM的新产品。新产品将会替代公司之前基于 Activiti 开发的 BPM 产品 camunda fox。

camunda BPM 包含四个组件:

  1. 一个用 Java 实现的 BPMN 2.0 流程引擎。
  2. 一个监控和管理工具 Cockpit。
  3. 一个建模工具,即进行 BPMN 流程建模的 Eclipse 插件。
  4. 生命周期工具,可以对业务分析师通过 BPMN 工具创建的 BPMN 图表和开发者通过建模工具生成的技术上可执行的 BPMN 2.0 XML 文件进行同步

Camunda BPM 中的大部分内容都是基于Apache 许可,而 Eclipse 建模工具则是基于Eclipse 公开许可。WebSphere 和 WebLogic 集成以及为 Cockpit 监控产品开发的一些适用于高负载场景的附加产品则是单独提供的,并没有开源。

这两款产品之间的主要区别之一便是 camunda BPM 支持很多类型的应用程序服务器。除了 Tomcat 之外,camunda BPM 能够运行于 JBoss AS 7、EAP 6、GlassFish 3.1、WebSphere 8 和 WebLogic 12c。“我们有共享流程引擎和嵌入式流程引擎的概念,”camunda 的创建者和总经理 Bernd Rücker 告诉 InfoQ。“通过这两个引擎我们能够运行于任何应用程序服务器,同时通过这种方式我们能够非常非常容易地移动到相似的事情上”。

Activiti 项目的领导者 Tijs Rademakers 说,他在自己的博客上写道“其他的应用程序服务器组件也能够非常好地适用于 Activiti 项目”,但是在我们的交谈中 Rücker 解释说,他创建这个分支的动机是尽可能地让两个公司的产品有不同的重点,就像技术问题一样。

Alfresco 正在驱动 Activiti 成为一个能够用于他们企业内容管理系统(ECM)的嵌入式引擎,他们一开始的目标就是为了让它替代该系统中的 jBPM。对我们来说,它就是我们称为 BPM+Java 的东西。

例如,我们有 Zalando 作为客户端。实际上它们每天都有大量的订单(和全面过程)。因此这就导致了和在一个 ECM 系统中需要有一些审批完全不同的需求。通过两个产品之间大量不同的特性你便能发现这一点——例如,对于 Alfresco 来说,用户能够很容易地配置一个简单的流程是非常重要的,然而对于我们来说完全支持 BPMN 2.0 才是目标。这些不同导致了项目上的一些冲突,因此这就是拆分的一个非常重要的原因。

另一个原因便是我们业务和 IT 定位的重点。我们希望业务分析师能够参与到社区中,在 Activiti 社区中我们没有看到这种情况出现。

在我们和他交谈时,Tijs Rademakers 对 InfoQ 说“分支一个项目是所有人的权利” 。但是,他接着说,

…它应该为开源社区带来额外的价值,同时这样做还应该有很好的理由。

同时这也是为什么我对分支没有太多的感觉的原因。对我来说,它没有为开源 BPM 社区带来额外的价值。另一方面,这两个项目都使用同样的 Activiti 代码库,同时每一个新功能都必须构建两次。另外,camunda 开源的组件同样应该能够很好地适应于 Activiti 项目。

我们之前并没有讨论过如何让这些功能在一个项目中共同工作,相互之间也没有争论。所以对我来说选择创建一个分支是一个非常令人不愉快的惊喜。

Activiti 项目最初的创建者 Tom Baeyens也离开了该项目,转而致力于将 BPM 带到云端的工作,他认为这是未来不可避免的趋势,但是 Rademakers 声明说他对此并不关心。

正如我们所知道的,Tom 和 Joram[Barrez] 一起启动了 Activiti 项目。我对这个新产品的未来非常有信心,我认为完全在云端实现 BPM 是一种挑战。当然,我希望 Tom 一切顺利。Tom 离开 Activiti 项目实际上并没有带来很大的变化,因为在他离开的前一年就开始了交接,尽可能的降低了影响。现在我们有一个非常好的社区和开发团队从事于 Activiti。

看看未来,我认为 Activiti 前景一片光明。随着 5.11 和 5.12 版本的发布,我们会把绝大部分精力放到研发上,基于稳固的 BPMN 引擎开发更多的新功能(一个新的 Web 建模工具、一个易用的流程编辑器、基于 JavaScript 的流程图表以及报表等)。同时我们有庞大的社区力量,论坛活动和社区贡献也能给我们很大的助力。所以在即将发布的六月版(5.13)中,我们将会继续改善 Activiti,提供一个改进的、功能完整的 REST API,一个 JavaScript SDK 和更简单的管理和配置。通过我们的社区,我们的合作者和 Alfresco 支持的 Activiti 核心开发团队,我们有机遇继续稳固并拓展 BPM 的市场空间。

分支一个流行的项目是非常危险的,但是 Rücker 说他并不担心这些挑战,同时他相信 camunda BPM 在市场上必然会占有一席之地。

查看英文原文Camunda Forks Alfresco Activiti

Java语言 & 开发