【发布时间】:2013-03-21 13:33:19
【问题描述】:
我正在从事与银行领域相关的项目,其中我们正在为 BPM(工作流引擎)使用 weblogic JPD 框架。对于根据要求的新项目,我们需要使用开源 BPM 框架。我搜索了一下,发现了 JBOSS JBPM。我担心的是 JBPM 是否足够稳定,可以在大型银行应用程序中使用,不要误会我的意思,因为 JBPM 不是 weblogic JPD 那样的商业产品。是否还有其他开源 BPM 框架选项。
【问题讨论】:
标签: jbpm
我正在从事与银行领域相关的项目,其中我们正在为 BPM(工作流引擎)使用 weblogic JPD 框架。对于根据要求的新项目,我们需要使用开源 BPM 框架。我搜索了一下,发现了 JBOSS JBPM。我担心的是 JBPM 是否足够稳定,可以在大型银行应用程序中使用,不要误会我的意思,因为 JBPM 不是 weblogic JPD 那样的商业产品。是否还有其他开源 BPM 框架选项。
【问题讨论】:
标签: jbpm
这是我的 2 美分。首先我应该说,我是一个 java 人,已经使用 jBPM 大约两个月了。我没有仔细阅读代码,我依赖于(新的)jBPM 5 书(很不错)、不错的在线用户指南以及讨论组问题/答案。我是 BPMN 的新手。我见过一些看起来很漂亮的商业工作流程产品。我敢肯定,如果你用谷歌搜索过,你已经找到了 Activiti,但 jBPM 是我的领域经验的范围。
1) 不尊重 Kris,但我想知道 jBPM 的适应范围有多广。注意,有频繁的源提交;我的感觉完全基于在线社区。例如,一些项目(例如 Apache Camel)拥有令人难以置信的文档,最重要的是拥有活跃的用户群。我觉得“专业知识”的 jBPM 领域非常小。我的意思是,如果你看一下讨论组,大多数问题的答案都来自大约六个人。值得庆幸的是,其中大多数都与项目的开发/管理密切相关(如 Kris),因此他们知识渊博。他们知道需要深入了解代码的小技巧(特殊转换、可自动使用的变量等)。
2) 对我来说,演示/示例仅适用于其特定的有限上下文。例如,由于包含的 ant 脚本,在端口 8080 上安装所有 AS7 和 jBPM 工具套件是一个命令。但是,我花了好几天的时间才在 7070 端口上站起来。您看到的许多视频的设置/复制比它们看起来要复杂得多。
3) 你会使用规则吗?不要认为因为您可以将规则/流口水与 jBPM 一起使用,它们就可以很好地(或至少直观地)集成。除了最基本的情况外,它们的使用、触发时的使用方式以及使用方式一直是令人困惑的根源。
4) 大约一年前集成了 Drools Flow 和 jBPM 项目。我不确定这是否相关,但我经常对 jBPM 和 Drools 之间类似命名的类感到困惑,但在不同的包中。您不会在文档中找到包使用信息。例如,当我知道我可以访问 ProcessInstance 时,通常我做的第一件事是 system.out 类名以查看它是哪个实现,因为无论我是从规则还是从工作项访问它,功能都会有很大的不同处理程序,或脚本任务等。
5) 我发现一些元素,尤其是与持久性有关的元素,有些笨拙。例如,如果您想获取会话中运行的进程列表 (ksession),ksession.getProcessInstances() 效果很好....除非您使用持久性 - 然后,虽然您仍然可以调用它,但它会返回一个空列表。在这种情况下,您必须求助于设置记录器,并从日志表中查找进程 ID。这一切都很容易做到,javadoc中有一个关于getProcessInstance的注释,但我仍然认为这很丑。
您似乎专注于开源。我不确定你是否得到报酬来开发,或者你是否会雇用某人。我想说的是,就像所有开源一样,代码是免费的,但要让它真正做一些事情是不会的。我在这里进行预测,但我怀疑使用 jBPM 开发大型产品的成本将大大超出您的预期。此外,谷歌“jbpm 无法扩展”以获得关于可扩展性的有趣(和良好)讨论。
请不要认为我在抨击 jBPM;我今天正在用它构建一个项目,它具有非常多的“免费”和令人印象深刻的功能。祝你好运。高温
【讨论】:
在生产中的很多地方都使用它。
它也是一种商业产品,红帽正在销售订阅作为 BRMS / BPMS 平台的一部分: http://www.redhat.com/products/jbossenterprisemiddleware/business-rules/
【讨论】: