Welcome

首页 / 软件开发 / WCF / 《WCF技术内幕》翻译7:第1部分_第2章_面向服务:消息参与者

《WCF技术内幕》翻译7:第1部分_第2章_面向服务:消息参与者2011-05-28 博客园 译:Frank Xu Lei消息参与者

让我们想象一下,我需要写一封感谢信给我朋友Rusty,因为他上周给了我一 张足球比赛的门票。我们假定需要把信件邮寄到Rusty的办公室。现实生活中, 发送Email给Rusty或许是更加方便和省钱的方式。那可能是更加复杂的例子,有 时候写信会更加合适。那么邮寄一份信件我需要经过多少种步骤呢?

大家知道,正常情况下我需要先写一封感谢信在我邮寄以前。当我写信的时 候,我需要提到足球比赛的事情,因为无缘无故地给一个人写感谢信会非常奇怪 。接下来我会把信放到信封里,然后写上收信人地址然后贴上邮票。最后一步就 是把信投到信箱里,让邮政服务机构来把信件转交给Rusty。可以想象Rusty将会 知道感谢信是我写的,而且知道我是为了足球票的事情感谢他。

当我们描述消息参与者的时候,把他们对应到消息发送过程的角色是非常有 用的。通常来说,有三种类型的消息参与者:初始发送者、最终接受者和中介者 。

让我们想象一个更加真实的商业场景- Contoso回飞棒公司的订单处理系统。 基本上,客户在网站上订购回飞棒,网站产生一个消息并且为了处理和完成订单 流程而发送到其他的系统,如图2-1所示。

图2-1:Contoso回飞棒公司的消息流

场景中暗示的几个事实:

网站和其它几个系统已经在之前就消息格式达成共识。

网站可以依据之前的格式创建消息

网站知道如何向其他系统发送消息

内部系统可以使用接受到的消息中的数据区填充订单,发送确认信息和提交 订单。

Contoso订单处理系统至少有两个消息参与者。网站是消息发送者,内部系统 是消息接受者。可能还有一个负载均衡路由来负责转发消息到适合的系统。如图 2-2所示,我们可以认为路由就是中介者。

图2-2:在带消息路由的Contoso回飞棒公司的消息流