2

Activiti 是一个很有前途的业务流程引擎,许多组织已经开始使用 activiti 开发业务流程管理系统。

就我而言,我想使用 activiti 开发一个 BPM 系统来满足特定的业务需求,但是 activiti 引擎的功能只涵盖了我大约 70% 的业务需求。

我要添加的大多数业务需求都与 bpmn 无关。我决定通过解决变通办法来添加我的特定业务需求。

问题是,扩展 Activiti 流程引擎功能的首选方式是什么?

目前我有两个一般选择:

  1. 直接更改activiti源代码。我应该直接编辑源代码实现类吗?那会更快,但这不会使升级到新版本变得更加困难吗?或者我应该扩展和包装一些实现类?这种选择不会导致意想不到的行为吗?

  2. 使用 activiti 引擎作为依赖,然后通过扩展和包装它的一些实现类来添加新功能。另一种选择是在 activiti 引擎之外添加完全独立的数据模型的扩展。我不知道什么是首选的适应方式。

你有什么意见?

4

1 回答 1

1

快速的选择是找到一个解决方法并等到它在 activiti 上。

另一种选择是寻找在 Activiti (http://activiti.org/userguide/#bpmnBusinessRuleTask) 中实现的 businessTask。这将使您“了解”activiti 和 BPMN,它具有成为标准的优势。

如果您仍然想扩展它,我认为不要弄乱代码更有意义。如果直接修改代码,升级到更新的Activiti版本会很复杂。此外,您不会在已经被其他人测试过的代码中引入错误。

您没有说您需要哪种要求,但我认为大多数想法应该可以使用 BPMN。您也可以在 activiti 论坛中寻求/寻求更具体的帮助。

于 2012-12-17T10:57:14.987 回答