导航

直接端口绑定模型

Posted on 2007-04-17 17:49  鸡尾虾的壳  阅读(198)  评论(0编辑  收藏  举报
直接绑定端口:编排中没有显式绑定到物理端口的单向或者双向的逻辑端口,用于在服务中实现不同的通信模式。
三种类型:Partner Orchestration Port, Message box, Self Correlation

Message box类型:消息直接发送给Message box, 没有指明消息接收者。消息接收者通过filter的方式订阅。
Partner Orchestration Port类型:提供编排间的直接通信模式。需要指明逻辑端口名与消息。
Self Correlation类型:实现编排间异步通信模式。发送到自关联端口中的消息路由到启动当前编排的编排实例中的自关联类型的接收端口中。

 注意:所以逻辑端口之间的消息通信都会经过Message box.

Send Port与Orchestration订阅的不同点:如果没有filter,编排使用message type做为订阅条件。对于Send Port,如果没有filter, 那么它只会关注通过specify-now, specify-later设置的与之绑定的编排逻辑端口。如果接收消息类型为XmlDocument,那么message type不做为订阅条件的一部分。

对于message box类型的直接绑定,建议使用明确的filter条件,建议不用随意使用这种模式。

 
Partner Orchestration Port模式:Parnter 1选择Parnter 2的Port, Parnter 2选择自己的Port.这两个Port的Port Type是完全一样的。 一段是Send Port,则另外一端是Receive Port. 根据消息的方向,分为两种:Forward Partner Orchestration Port与Inverse Partner Orchestration Port。Forward Partner Orchestration Port:不需要Start编排,然后通过forward Port的方式从编排2处接收消息。因此,编排1是消息生产者,编排2是消息消费者,类似编排2这样的消息接收者可以有多个。Inverse Partner Orchestration Port与前面的刚好相反。


Self Correlation:Start编排,其中以Port,消息等作为传入参数。之后接收返回消息。

From  Kevin Lam's Weblog   http://blogs.msdn.com/kevin_lam/