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