輕松掌握WCF知識(shí)結(jié)構(gòu)體系
隨著時(shí)代的發(fā)展,我們的編程技術(shù)也在不斷的更新,微軟研究出來的WCF現(xiàn)在成為我們的主流,現(xiàn)在我們就簡單的看看WCF知識(shí)結(jié)構(gòu)吧。Windows Communication Foundation(WCF)是用來在不同應(yīng)用間進(jìn)行互通信的一個(gè)編程框架,它是.NET Framework中偏重于通信的重要組成部分。原代碼名為Indigo的這個(gè)編程框架,在其Beta2 版本時(shí)正式更名為WCF,于2006年12月作為.NET Framework 3.0的4套API之一發(fā)布。
#T#從Native Win32到Managed的世界,應(yīng)用進(jìn)程間的通信機(jī)制一直是開發(fā)者最為關(guān)注的方面,在.NET Framework 2.0(2005年11月發(fā)布)及以前的CLR版本中,微軟提供了若干套相互分開的APIs,來支持應(yīng)用間的互通信:有相對基礎(chǔ)的Managed Socket機(jī)制;有為二進(jìn)制優(yōu)化而設(shè)計(jì)的.NET Remoting(同時(shí)支持TCP/HTTP/Pipline);有可支持事務(wù)的通信機(jī)制Distributed Transactions;還有為使互操作能力***化而設(shè)計(jì)的Soap-based通信機(jī)制XML Web Services;也有可以與老式遺留系統(tǒng)(COM/COM+/MTS等)異步通信的機(jī)制Message Queues。由于這些各種各樣的通信機(jī)制設(shè)計(jì)方法不同,而且彼此間也有重疊性,對于開發(fā)者來說,不同的選擇須要學(xué)習(xí)掌握不同的程序設(shè)計(jì)模型,非常不方便。另外SOA(Service-Oriented Architecture)也開始盛行,隨著技術(shù)的推進(jìn),微軟重新審視了.NET中的這些通信機(jī)制,設(shè)計(jì)實(shí)現(xiàn)了一個(gè)統(tǒng)一化的通信編程開發(fā)模型,這就是WCF,它為.NET平臺(tái)上的數(shù)據(jù)通信提供了最基本最富有彈性和一致性的基礎(chǔ)設(shè)施。
WCF是按照SOA的架構(gòu)原則設(shè)計(jì)的分布式計(jì)算基礎(chǔ)環(huán)境,在其上開發(fā)人員可以實(shí)現(xiàn)各種Services提供給客戶端消費(fèi)者來調(diào)用。WCF提供了各種各樣的基礎(chǔ)結(jié)構(gòu)來***程度地為開發(fā)人員提供方便性和靈活性,快速有效地構(gòu)建Web Service應(yīng)用。
WCF的魅力除了來自于它為開發(fā)人員所提供的模型和基礎(chǔ)外,還來自于它自身的設(shè)計(jì)和實(shí)現(xiàn)。記得,***次了解WinFx中Indigo的使命時(shí),我就對它充滿了期待,同時(shí)也有幾分的懸疑;當(dāng)2002年得知Don Box加入微軟負(fù)責(zé)Indigo的架構(gòu)時(shí),懸疑徹底被轉(zhuǎn)化,成為更多的期待,我更加關(guān)注它每個(gè)版本的成長,到2006年WCF隨.NET 3.0發(fā)布時(shí),呈現(xiàn)在我們面前的WCF堪稱經(jīng)典。其中恰到好處的抽象、分層和模塊關(guān)系,簡妙高效的運(yùn)行時(shí)模型與框架機(jī)理,以及各部分豐滿實(shí)在的內(nèi)在實(shí)現(xiàn),還有它相當(dāng)徹底的可擴(kuò)展性設(shè)計(jì),都是我們學(xué)習(xí)架構(gòu)設(shè)計(jì)的***范本。可以說,WCF是微軟SOA思維的***輪近乎***的演繹。自WCF發(fā)布以來,它迅速成為微軟技術(shù)體系下企業(yè)級應(yīng)用開發(fā)的***平臺(tái),時(shí)間證明了它在微軟SOA戰(zhàn)略中的基石地位。
國內(nèi)WCF的應(yīng)用正穩(wěn)步成長中,其中一些WCF技術(shù)先行者對廣大社區(qū)的帶動(dòng)和推進(jìn)作用是不可忽略的。本書的作者蔣金楠(Artech)就是其中走在前面的一位。他在博客園中關(guān)于WCF的博文成為許多WCF開發(fā)人員的***手學(xué)習(xí)資料。
這里還要說一個(gè)小故事。去年,和TerryLee還有武漢博文的編輯朋友一起小聚,其中談到技術(shù)寫作,我向兩位談了自己關(guān)于“WCF三部曲(應(yīng)用實(shí)踐篇、技術(shù)內(nèi)幕分析篇和擴(kuò)展篇)”的寫作計(jì)劃,編輯朋友告訴我已經(jīng)有作者在WCF上先期開始了,我馬上就猜到了是Artech。隨后通過TerryLee聯(lián)絡(luò)得知,Artech的書稿已經(jīng)完成近半了。在拿到了Artech 新書的目錄稿后,基于我對Artech博文寫作的判斷,我大膽做了決定,暫時(shí)擱置自己WCF首篇的寫作計(jì)劃,轉(zhuǎn)而期待Artech新書的完稿。
直到最近看了Artech的整部書稿,通篇讀后的感覺,書如己出,不亞于當(dāng)年得知Don Box去了微軟負(fù)責(zé)Indigo架構(gòu)的消息時(shí)的感覺,事實(shí)證明,我當(dāng)時(shí)擱置寫作計(jì)劃的決定是正確的。知識(shí)全面、論述準(zhǔn)確、邏輯嚴(yán)密是本書的寫作特點(diǎn),這是一本各個(gè)層次開發(fā)人員都可以從中受益的書:對于WCF的初、中級開發(fā)人員,這本書可以幫助你獲得WCF全方位的知識(shí),全面系統(tǒng)地梳理關(guān)于WCF知識(shí)結(jié)構(gòu),提升動(dòng)手實(shí)施能力;對于WCF的高級開發(fā)人員,這本書既可以有效彌補(bǔ)你WCF知識(shí)結(jié)構(gòu)中的盲點(diǎn),又可以讓你在自己熟悉的知識(shí)點(diǎn)上領(lǐng)略作者的看法和理解。
當(dāng)然,讀完本書,也不是完全沒有疑惑,我***的疑惑就是含有“卷1”字樣的書名,難道這又是一個(gè)暗示?暗示我又要考慮擱置我關(guān)于WCF三部曲后續(xù)兩篇的寫作計(jì)劃?抑或是可能的合作機(jī)會(huì)?我當(dāng)然希望是后者,不過無論是哪一個(gè),顯然都是很值得我期待的!