程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> 《WCF技術內幕》翻譯2:《WCF技術內幕》緒論

《WCF技術內幕》翻譯2:《WCF技術內幕》緒論

編輯:關於.NET

總述

服務是現代軟件架構的一個主要部分,WCF是構建基於Microsoft Windows系 統的服務程序平台。WCF編寫的服務可以與其它供應商的服務交互(例如, IBM, BEA, and Novell),WCF為行業標准的演化提供了足夠的空間。對於傳輸,WCF 支持TCP/IP、HTTP、 Microsoft消息隊列 (MSMQ)、命名管道。WCF同樣支持一系 列WS-*規范(讀作WS-星)協議,比如WS-Addressing, WS-ReliableMessaging (WS-RM), WS-AtomicTransaction (WS-AT), WS-Security, WS- SecureConversation, WS-Trust, 和WS-Federation。使用WCF的應用可以收發 SOAP消息和樸素的舊XML消息。將來,微軟會擴展WCF支持新的傳輸、協議、和消 息結構。微軟把WCF當做服務的IO系統。盡管將來無法確定,但是可以肯定地說 在可預見的將來微軟不會使用其它技術取代WCF。許多產品象微軟BizTalk Server和 Windows Live Server都兼容了WCF就是很好的證明。

這本書的目標就是是讀者具備使用WCF設計、開發、和維護服務必要的知識。 在我看來,這些任務超出了單獨的WCF編程模型。成功需要理解服務背後的原則 、WCF服務編程模型、和WCF底層架構。

這種組織並不是新的理念;它來自於過去的經驗。當面向對象變的流行以後 ,從面向過程到面向對象轉變的開發者和架構師需要了解遠不止編程語言的語法 。如果面向過程的開發者在不了解面向對象情況下開始使用現代的編程語言,他 們只能使用新語言來創建面向過程的應用。雖然這些代碼可以編譯和運行,但是 他們不可能使用面向對象語言的許多特性。這個就是我關於不能體會面向服務的 優勢而去學習WCF開發者的看法。

有些人認為這種方法是在浪費時間。換句換說,WCF團隊已經從正常的編程模 型裡成功抽象出消息底層架構,這樣就沒有必要去學習底層的面向服務的模式, 或者 WCF如何實現這些模式。我完全不認同這個觀點。這種抽象可以使得WCF團 隊更快地開發。但是它絕對沒有完全解放開發者和架構師轉到面向服務和理解 WCF 內部如何工作的重任。成功的接受象C++或者JAVA面向對象語言需要開發者 從面向過程到面向對象轉變他們的思維,相同的是,WCF的學習者也需要從面向 組件到面向服務去提升自己的認知。如果我們轉變失敗,我們將會遇到許多缺少 面向服務特征的風險。簡單編寫WCF程序和編譯、運行只是萬裡長征的一小步。 從長遠來看理解WCF技術內幕和理解新的編程模式同等重要。

雖然我們不理解面向服務架構的特征,但是我們應該知道WCF的底層架構。換 句話說,我們應該了解我們的平台。通用語言運行時(CLR)對於這種情況提供 了支持性的事實。CLR團隊干的很漂亮,他們從開發者那裡抽象出垃圾收集器和 JIT編譯器。結果,在不懂或者很少知道這些子系統如何工作的情況下,我們就 可以寫出Microsoft .NET Framework應用程序。比如,遷移到C#的C++開發者, 在不知道垃圾收集器的情況下,會本能地為每個聲明的類型增加一個finalizer 。不知不覺地,這個開發者就會增加分配的時間和這些對象的聲明周期。對於大 多數C++開發者來說,簡單說一句“不要這樣做”是不夠的。他們想知道為什麼 。技術上來說,為一個類型增加一個finalizer不是個bug,單身它確實是許多書 籍和培訓課程耗費許多時間要強調的東西。

同理,知道WCF底層架構可以避免在WCF上浪費不必要的精力,並且開發者可 以調整他們的程序功能去滿足業務需求。例如,在構造函數裡改變綁定的可靠消 息參數可以動態地調節各個終結點之間的消息編排。WCF團隊已經抽象去這些功 能並部分通過綁定暴露出來。這種消息編排有時是必要的,並且只有理解消息編 排的開發者才能正確決定何時使用這個特性。進一步講,想調試一個使用可靠消 息的程序就必須掌握可靠消息的配置。

我希望此書可以在面向服務的關鍵概念、WCF服務編程模型、和WCF底層架構 之間取得平衡。本書將給你一個了解WCF技術內幕的嚴謹視野,你可以設計、構 建、調試、維護可擴展和可靠的分布式應用。

1.面向的讀者:

這本書適合那些想學習如何設計、編寫、或者測試WCF分布式應用的架構師、 開發人員、和測試人員。本書的前面一些章節對想學習更多或者評估WCF的業務 決策者也有幫助。這本書不適合初級開發者或剛學習.NET Framework編程的開發 者。倘若如此,我推薦你在閱讀本書之前先閱讀Jeffrey Richter的CLR via C# (Microsoft Press, 2006)或者Jeff Prosise的Microsoft .NET 編程(Microsoft Press, 2002)。如果你是熟悉一些分布式應用開發的閱讀者,將會有所幫助。但 是不是必須的。

2.本書結構:

本書分為3部分。第一部分,“介紹WCF”,描述了面向服務應用的原則,介 紹了主要的WCF子系統,並且描述了這些子系統之間如何交互。第一部分包括一 個關於面向服務的章節,另外一個是關於消息的概念,最後一個是關於WCF架構 。從高層次來說,WCF由兩個基本的層組成:通道層和服務模型層。第二部分, WCF通道層和第三部分WCF服務模型層分別描述了通道層和服務模型層。第二部分 開始一章描述了消息類型,然後是通道和通道管理器。第三部分章節涵蓋綁定、 契約、分發器和客戶端。第二和第三部分的每個章節剖析了各自相關主題的重要 類型。並且提供了例子代碼去闡述這些知識。總體來說,本書帶領讀者由基本概 念到WCF核心機制,然後是WCF主要的編程接口(API)。換句話說,這本書作了 對WCF徹底的剖析。

3.例子代碼和系統需求:

所有本書討論的例子都可以在本書附錄的網址裡下載:

http://www.microsoft.com/mspress/companion/9780735623064

微軟出版社在下列地址提供了書籍的後續支持服務:

http://www.microsoft.com/learning/support/books/

本書展示的代碼是.NET Framework 3.0所寫。安裝.NET Framework 3.0及其 需求在此網址:

http://www.microsoft.com/downloads/details.aspx? displaylang=en&FamilyID=10CC340B-F857-4A14-83F5-25634C3BF043

4.問題和評論:

如果你有任何關於此書的不能在前面網站解決的評論,問題,或想法,請通 過EMail發送到微軟出版社:[email protected] 或者通過信件直接與微軟 出版社《WCF技術內幕》的編輯:Redmond, WA 98052-6399。請注明哪個軟件產 品在之前的網站中未能提供支持服務。

【地址】:http://www.cnblogs.com/frank_xl/

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved