WCF Adapter輕松管理消息通信
WCF開發(fā)工具作為一款功能強(qiáng)大,作用廣泛的.NET Framework 3.5的重要組成部分,為開發(fā)人員提供了非常多的好處。那么,今天我們就可以先通過(guò)對(duì)WCF Adapter的理解,對(duì)這一工具的作用有一個(gè)初步的認(rèn)識(shí)。#t#
WCF Adapter是用于管理Biztalk App與WCF Endpoint之間消息通信的組件。隨著BTS 2006 R2的發(fā)布,WCF Adapter也被稱為WCF Binding。這意味著任何的WCF應(yīng)用都可以直接使用WCF Binding與WCF Adapter通信。但是通過(guò)在Biztalk Server中使用WCF Adapter,開發(fā)者能獲得可用的系統(tǒng)級(jí)基礎(chǔ)架構(gòu)。
WCF允許Biztalk Server通過(guò)WCF Binding接收或者發(fā)送WCF Message。一個(gè)WCF Client應(yīng)用能夠向Biztalk Receive Location發(fā)送WCF Message,這些消息會(huì)被WCF Receive Adapter轉(zhuǎn)化為Biztalk Message。轉(zhuǎn)化的具體過(guò)程是由Adapter配置決定的,Adapter會(huì)把Biztalk Message提交給MessageBox。對(duì)于WCF Send Adapter,這個(gè)過(guò)程正好相反。
WCF Adapter抽象了Biztalk-WCF集成應(yīng)用中的復(fù)雜性,其中包括通信協(xié)議,安全問(wèn)題,事務(wù)操作等。每種WCF Adapter對(duì)應(yīng)一種內(nèi)建的WCF Binding。在使用WCF Adapter時(shí),需要從消息模式,外部約束,性能角度綜合考慮,選擇合適的WCF Binding。
一個(gè)WCF Endpoint是由Address, Binding, Contract(簡(jiǎn)稱ABC)構(gòu)成的。在Biztalk中,開發(fā)者在Receive Location或者Send Port上指明Address,Binding方式也由開發(fā)者選擇,Contract是由程序驅(qū)動(dòng)的,它表明了Endpoint發(fā)布的接口。
當(dāng)Receive Location接收WCF消息時(shí),WCF Endpoint是實(shí)際存在的。Biztalk Server提供多種方式用于把BTS應(yīng)用發(fā)布為WCF Endpoint。
a. 通過(guò)Biztalk WCF Service Publishing Wizard把Biztalk Orchestration發(fā)布為一個(gè)WCF Endpoint;
b. 通過(guò)Biztalk WCF Service Publishing Wizard在現(xiàn)存的Biztalk應(yīng)用中創(chuàng)建Receive Location;
c. 在代碼中通過(guò)配置Receive Location的Binding, Address創(chuàng)建WCF Endpoint,Contract由WCF Message Class確定。
對(duì)于Receive Location, 它內(nèi)部使用自有的WCF Service Host去Host WCF Endpoint,把自身包裝為一個(gè)可用的WCF服務(wù)提供者。對(duì)于Send Point,它對(duì)應(yīng)一個(gè)WCF Service調(diào)用過(guò)程。
以上就是我們?yōu)榇蠹医榻B的WCF Adapter相關(guān)概念。