服务编排,聚合和服务扩充之间的区别

时间:2015-06-19 14:31:20

标签: soa aggregation orchestration

服务编排和聚合有什么区别?在关于SO的类似帖子中,有人提到这两个术语之间有一条细线。是否可以获得有关此细线的更多详细信息?另外,什么是服务扩充以及它与其他两个概念的关系。

2 个答案:

答案 0 :(得分:2)

服务编排是协调或集成多个服务,以将其作为单个服务公开。

工具:例如Oracle Bpel。

服务聚合充当较低级别服务的外观,隐藏技术细节以及与服务使用者的相互关系。

通过提供更高级别的抽象,服务聚合为整个系统增加了很多价值。 工具:例如Oracle Service Bus(OSB代理服务)。

服务扩充在服务中用于消息丰富。 假设您需要根据客户端ID获取其他数据,例如地址,电子邮件或电话,您应该使用数据库查询等来增加消息。

答案 1 :(得分:1)

服务聚合是组合组件服务以构建组件服务的主题。它具有几个步骤,如:

  • 查找已发布的服务
  • 结合它们
  • 组件服务上的数据和控制流
  • 组件服务的动态组成
  • 综合服务评估
  • 为复合服务保留上下文感知环境
  • ...

服务聚合的一个子任务是获取组件服务上的数据和控制流。就像一个粗略的简化一样,我们可以假设这是组件服务的执行顺序,以及在组件服务之间进行交换以构建复合服务的数据。 有两种实现数据和控制流的方法:编排和编排。第一个是这个问题的主题,它有一个中央控制单元。在第二个中,流程没有单个所有者,而是通过组件服务之间的协商获得的。 总而言之,我想说服务编排是服务聚合的子任务。