微软在2009年3月发布的公开文档:http://go.microsoft.com/fwlink/?LinkId=144765
WCF Adapter是用于管理Biztalk App与WCF Endpoint之间消息通信的组件。随着BTS 2006 R2的发布,WCF Adapter也被称为WCF Binding。这意味着任何的WCF应用都可以直接使用WCF Binding与WCF Adapter通信。但是通过在Biztalk Server中使用WCF Adapter,开发者能获得可用的系统级基础架构。
WCF允许Biztalk Server通过WCF Binding接收或者发送WCF Message。一个WCF Client应用能够向Biztalk Receive Location发送WCF Message,这些消息会被WCF Receive Adapter转化为Biztalk Message。转化的具体过程是由Adapter配置决定的,Adapter会把Biztalk Message提交给MessageBox。对于WCF Send Adapter,这个过程正好相反。
WCF Adapter抽象了Biztalk-WCF集成应用中的复杂性,其中包括通信协议,安全问题,事务操作等。每种WCF Adapter对应一种内建的WCF Binding。在使用WCF Adapter时,需要从消息模式,外部约束,性能角度综合考虑,选择合适的WCF Binding。
一个WCF Endpoint是由Address, Binding, Contract(简称ABC)构成的。在Biztalk中,开发者在Receive Location或者Send Port上指明Address,Binding方式也由开发者选择,Contract是由程序驱动的,它表明了Endpoint发布的接口。
当Receive Location接收WCF消息时,WCF Endpoint是实际存在的。Biztalk Server提供多种方式用于把BTS应用发布为WCF Endpoint。
a. 通过Biztalk WCF Service Publishing Wizard把Biztalk Orchestration发布为一个WCF Endpoint;
b. 通过Biztalk WCF Service Publishing Wizard在现存的Biztalk应用中创建Receive Location;
c. 在代码中通过配置Receive Location的Binding, Address创建WCF Endpoint,Contract由WCF Message Class确定。
对于Receive Location, 它内部使用自有的WCF Service Host去Host WCF Endpoint,把自身包装为一个可用的WCF服务提供者。对于Send Point,它对应一个WCF Service调用过程。