Camel和BPEL之间的区别

9

SOA概念易于理解,但我对企业服务集成架构和诸如BPEL和Apache Camel等技术完全不熟悉。

我知道BPEL有助于编排服务,并且Camel是企业集成模式的实现。我目前正在阅读着名的《企业集成模式》书籍。

但是对我来说,EIP和编排之间的边界非常微弱。在我看来,Camel也以其自己的方式编排服务。此外,Camel提供了许多连接器,因此可以轻松使用不同的协议。

Camel比BPEL更好吗?
还是BPEL能做到Camel无法做到的事情?
哪些事情?
根据我所读的,Camel比BPEL更适合编排REST服务:这是真的吗?

2个回答

7
我们在之前的工作中一直在努力回答这个问题。我们的产品是TIBCO BusinessWorks(类似于Apache Camel)和TIBCO iProcess(类似于Apache ServiceMix)。
我们得出了一个简单的结论:
- 如果您的流程是长期的(通常需要暂停并等待经理批准),则需要使用BPEL。 - 如果您的流程更短且没有人参与,则需要使用集成(Camel)。
这并不总是适用的,这两个世界之间没有强烈的边界,但您可以简化它。还有一个注意点-您可以使用集成产品执行类似于BPEL的流程,反之亦然。这只是一种方法问题。但是,如果您遵循这些规则,应该能够区分这两者。还有许多其他方面,但我认为这是最重要的一个。

6
Bpel是用于业务流程管理和服务编排实现的一种语言/标准。它有点像苹果和梨,因为Camel是一个集成引擎实现。如果您需要高水平的业务自动化(例如实施具有多个系统、长时间运行过程和业务逻辑的购买流程),您可能更想关注bpel(或bpmn)。在Camel中,通常处理更多的技术方面,例如路由和协议转换。通常以相当无状态的方式进行。
当然,在中间还有一些东西——例如在同类型协议之间进行路由,任何解决方案都可以。就像你的rest示例一样。还要注意,Camel可以与Orchestration引擎(如activiti和apache ode)一起运行。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接