服务组合与服务协作的区别

由于服务组合与服务协作都涉及一组服务以及这些服务之间的交互和协作,很容易混淆,在此作一区分:

      1、在SOA中,所谓服务组合是指以流程的方式完成服务的编排(orchestration)。服务的编排由一个中心协调者(如音乐指挥)完成。这个中心协调者依据流程规划协调对不同服务的调用,以完成既定的业务目标,而参与流程的服务并不知道流程的全貌。服务组合语言就是编制服务调用的流程规划的语言,该流程规划一般也具有服务接口,称为复合服务。

      2、在服务协作中,并不存在一个中心协调者,所以服务以对等的方式互相协作,因此每个服务都需要知道和说明自己接受和发送消息的约定。描述这种约定的语言通常称为编舞(choreography)语言。之所以称为编舞是因为服务的协作就像表演的一个集体舞蹈,所有服务作为参与者都需要事先明确自己的活动顺序,协作开始执行后没有一个中心协调者告诉你什么时候该干什么。

 

      服务组合和服务协作之间存在一定的联系,比如如果把中心协调者看成一项普通服务,那么服务之间的协作可以由某种服务编排语言来描述。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值