JBPM 和 BPEL(和 ESB)有什么区别?你能解释一下吗?
RGDS
我对 JBPM 不太熟悉。但它似乎是一个可以与 java 服务或基本上基于 java 的流程一起使用的业务工作流。不仅是网络服务。
BPEL 是一种编写工作遵循 Web 服务的标准。始终 BPEL 语言用于集成 Web 服务并在此基础上定义流程。这是我为此编写的示例[1]。
ESB 主要用于调解和转换消息。当您集成不同类型的系统时,它们之间的消息流可能会有所不同。因此人们可以使用 ESB 作为中介。还有一些 ESB 也提供服务集成。WSO2 ESB[2] 就是您可以使用的 ESB。
[1] http://wso2.org/library/articles/2011/05/integrate-business-rules-bpel
确切地说,ESB + BPEL 是针对集成问题的技术解决方案。如果您只想使用 jBPM5 进行集成,那很好,您可能会使用带有 ESB 的 jBPM5 来进行所有消息的中介和转换。BPMN2 是一种描述业务流程的标准符号,它的强大功能将帮助您描述更多高级/面向业务的场景,而不仅仅是简单的系统集成。人机交互的概念在语言和 jBPM5 基础架构中非常重要。想想你的模型(业务流程)可以被业务/非技术人员共享和理解的事实,当业务现实发生变化时,他们将能够验证、改进和更改这些定义。
希望能帮助到你!
jBPM 基于 BPMN。这是针对您的工作流程问题的基于 Java 的解决方案。BPEL 也解决了工作流问题,但方法完全不同。它是基于 Web 服务的。从语法的角度来看,BPEL 比 BPMN 更复杂,但被认为更广泛。
我猜正确的比较实际上应该是在 BPMN 和 BPEL 之间。
相似
技术上的差异。
JBPM 具有用于工作流设计器的 BPMN2.0 表示法,它生成的工作流 XML 符合 BPM2.0(这意味着您可以在任何 BPMN2.0 工具中导入它)。它被假定为产品分析师友好,而 BPEL 有自己的规范和被认为更面向开发人员
BPM 只应在有人工任务的情况下使用,否则 ESB 可以完成从编排到转换到规则再到 CEP 的所有工作