我想开发一个允许其用户定义工作流然后执行它们的应用程序。
我的环境是 JBoss,所以我自然会考虑使用 jBPM。
我不能使用 jBPM 图形工作流设计工具,因为我的工作流非常具体,我不想让我的用户接触所有 jBPM 功能。
问题:
- jBPM 是否健壮且可扩展?
- jBPM 是标准的(即,被足够多的人使用)吗?
- 如何将我自己的工作流 GUI 绑定到 jBPM 引擎?
- jBPM 是否适合这项工作,我应该考虑使用不同的平台还是自己做(工作流逻辑)?
Is jBPM robust and scalable?
Ans: Yes, Jbpm is robust and scalable. Need to configure/develop properly..
Is jBPM standard (i.e., used by enough people)?
Ans : You need to ask with jbpm forum.
How do I tie my own workflow GUI to the jBPM engine?
Ans : You need to develop processConfiguration file for each workflow, and deploy
these config file(xml file), this updates jbpm related tables and your
workflow related tables.
Is jBPM suitable for the job, should I consider a different platform or maybe do it (the workflow logic) myself?
Ans : Its suitable for big workflows( where the stages/Nodes and logic are more). And easy to Integrate with rule engine.
不是您问题的直接答案,但我认为您还应该考虑:
是的,您有多种选择可以将您的引擎扩展到大量流程定义、流程实例和/或每秒请求数。
很难定义标准 ;) 但它上周有几千次下载,并且它尽可能使用标准,例如流程定义的 BPMN 2.0 规范,目前几乎所有 BPM 供应商都在引入该标准。
取决于 GUI 的用途。假设您指的是用于定义流程定义的 GUI,并且您不想使用默认提供的基于 Eclipse 或基于 Web 的编辑器,您可以: - 使用您喜欢的任何 GUI,只要它生成BPMN2 XML,然后可以由流程引擎读取 - 您的 GUI 使用流程流畅的 Java API 来使用 Java 创建流程,然后也可以将其加载到引擎中
尝试自己创建一个简单的工作流引擎可能比您想象的要付出更多的努力,因为您可能一开始很简单,但通常最终会添加诸如持久性、监控、集成、动态加载新流程定义和流程实例迁移等功能。最终得到一个您必须维护的本土工作流引擎;) 您可以使用 jBPM 开箱即用地获得这些功能。
克里斯