自微軟在年發布NET Framework以來,微軟已經發布了三個版本的NET Framework,NetFX、NetFX、NetFX和NET FX (Beta),還發布了面向移動設備的NET Compact Framework和NET Compact Framework。
隨著新版本的不斷推出。NET框架,新的功能越來越多,需要支持的開發工具也在升級。對於企業內部的平臺架構師來說,他們也面臨著各種選擇:如何規劃和制定技術策略,如何選擇開發技術,如何保持技術的連續性以及如何充分應用新技術來提高生產力。
netfx-從誕生到成熟
2006年,微軟發布了NET Framework,為軟件開發社區帶來了許多激動人心的特性。
◆統壹類型系統基礎類庫垃圾收集多語言支持?◆ADO NET為微軟開啟全新的數據訪問技術?◆ASP . NET為改變古老的ASP提供了壹種全新的開發Web應用的方式◆Windows Forms統壹了微軟開發Windows桌面系統的界面。
NET發布後,許多企業開始轉向. NET的開發,從此軟件開發行業走上了. NET的道路,同時也不得不面對. NET框架升級帶來的挑戰
經過多年的研發,微軟在年底發布了NET。這種變化是革命性的,建築師不得不再次做出選擇和調整。
ADO NET強化了很多功能,提高了性能,所以能更好的勝任數據層的開發。尤其是Visual Studio的DataSet Designer中的TableAdapter函數,可以支持數據層的可視化設計,使得數據層的開發更加容易。對於以數據為中心的軟件系統,不再需要使用ORM等輔助工具來開發數據層。
Web服務的性能得到了提高,並輔以WSE安全等方面,保證Web服務是首選的分布式技術是可能的。
對泛型和內置泛型集合的支持,以及對其他基本類庫的擴展,可以簡化內部公共類庫的開發。
新系統交易的引入,使得整個系統的交易處理更加便捷。
netfx-四大金剛
年底,微軟發布了壹個略有不同的版本——NET。這個版本的特別之處在於它需要安裝NET才能運行。這是因為NET是在NET基礎上開發的擴展包,它增加了以下組件。
◆ Windows通信基金會(WCF) ◆ Windows工作流基金會(WF) ◆ Windows演示基金會(WPF) ◆ Windows CardSpace(WCS)
提供的這些新組件。NET為開發企業應用程序提供了壹致的基礎框架,這樣業務開發人員只需要專註於解決業務問題,按照。網。平臺架構師在面對. NET時需要考慮的是如何集成提供的這四個組件。NET融入企業現有開發框架以及如何與第三方同類產品合作。
WF支持基於工作流的應用程序。
工作流引擎並不是壹項新技術,但WF的初衷是在Windows環境下提供壹種通用的工作流技術,為所有基於工作流的應用提供統壹的基礎。
WF支持人工工作流和系統工作流,也支持順序工作流和狀態機工作流。WF提出了壹個重要的概念活動,並內置了基礎活動庫。此外,開發人員可以通過API定義自己的活動。
WF使用與Visual Studio集成的可視化設計器來設計工作流流程模型。開發的工作流過程模型可以在WF提供的運行時引擎中運行。在工作流執行過程中,WF還提供了壹系列運行時服務來完成額外的工作,如持久化功能、支持工作流的長期運行跟蹤功能、獲取工作流執行過程的信息等。
引入WF後,平臺架構師面臨的問題是:WF不是工作流管理平臺,只是工作流開發基礎和執行引擎,它不提供組織圖、表單和流程設計,所以平臺架構師需要做出以下選擇:基於WF構建自己的工作流管理平臺還是繼續使用第三方工作流平臺?需要選擇基於WF開發的第三方工作流平臺嗎?如何將WF與現有的工作流平臺整合?如何從現有的工作流平臺移植到WF?
WCF支持面向服務的應用程序。
WCF是微軟為了在當前網絡下統壹多種分布式計算技術而提出的。它提供了壹致的編程模型,通過穩定的結構大大提高了功能性、互操作性和可擴展性,全面提高了分布式軟件系統的WCF。它不僅是以前技術的集成,也是面向服務開發的基礎。
WCF的核心理念是服務。服務可以公開壹個或多個端點,即客戶端可以使用的接口。端點由著名的ABC: Address指定發送消息的目的地;綁定描述如何發送消息;契約描述消息中包含的內容;只有當客戶知道ABC的信息時,他們才能正確地訪問服務。
使用WCF有以下優點
◆統壹模型◆互操作性WCF的基本通信機制是SOAP ◆安全性、可靠性和事務完善性支持WS規範◆兼容性WCF可以與舊技術實現的系統進行交互。
WCS壹致數字識別用戶控制
Windows CardSpace的原代號為InfoCard,是微軟公司為驗證網絡用戶身份而推出的替換用戶ID和密碼的新方法。實際上,它是壹種以用戶為中心的身份識別技術,通過這種技術,用戶可以控制登錄網站時提交的信息,這將使個人信息的管理更加簡單和安全。同時,這項技術也將包含在Windows Vista中。微軟推廣的目的是取代傳統的用戶名和密碼,因為它可以提供更好的反釣魚功能,防止其他類型的網絡欺詐。
WCS實際上是壹個身份元系統,可以支持任何數字身份系統,發布、獲取和使用數字身份的過程可以看作是獲取三種不同角色的過程。
用戶有時被稱為主體。用戶是具有數字身份的實體。身份提供者可以為用戶提供數字身份。依賴方是壹種在某種程度上依賴於數字身份的應用程序。
WCS為這三個實體在標識元系統中交互提供了壹致的環境。
WPF是不同用戶界面的統壹方法。
用戶界面是應用程序極其重要的壹部分。隨著IT行業的發展,用戶對界面的要求越來越高。但是,在NET下開發界面的方法已經有很多了,用Windows窗體開發Windows桌面軟件界面,用ASP NET開發Web應用程序界面。另外,很多應用需要嵌入文檔和視頻來實現D和D動畫,所以開發者為了實現不同的界面,需要學習不同的技術。有沒有統壹的技術同時滿足不同的需求?
WPF(最初發布時代號為Avalon)就是為了解決這個問題而設計的。WPF為所有這些用戶界面提供了壹致的技術基礎,從而大大簡化了開發人員的工作。WPF以更現代的方式支持視頻動畫、二維或三維圖形以及各種類型的文檔,讓用戶以全新的方式處理信息。此外,WPF還為桌面客戶端和瀏覽器客戶端提供了壹個通用的基礎,大大簡化了兩者的應用開發。
在開發用戶界面的過程中,人們還會遇到壹個重要的問題,即界面邏輯的開發人員不善於定義界面的外觀和交互設計,界面設計人員也不熟悉IDE等工具,界面設計人員和開發人員很難協同工作。為了解決這個問題,WPF引入了壹種稱為XAML (Extensible Markup Language,壹種基於XML的語言,允許以聲明方式指定用戶界面而不是代碼)的技術,以將界面定義代碼與界面邏輯代碼分離。
WPF給應用程序的界面開發帶來的變化是巨大的。可以說WPF代表了未來接口技術的方向。但是在目前的情況下,WPF還沒有得到廣泛的應用,沒有成為主流,所以平臺架構師面臨的問題有點尷尬:WPF既不能是唯壹的選擇,也不能很好的解決當前界面開發中壹些棘手的問題。也許最好的選擇是盡可能地分離接口層,讓開發團隊開始學習WPF並逐漸嘗試使用它。
netfx-語言的變化
微軟將在今年年底發布. NET框架。目前大家都可以拿到壹月份發布的測試版。值得註意的是,內測附加了Go Live的許可協議,顯示整個NET接口已經被凍結。對於壹個高級團隊來說,NET可以應用到實際的項目開發中。
NET有以下重要的新特性。
◆ASP . NET AJAX NET將之前發布的AJAX擴展包內置到NET中◆語言改進和LINQ具體改進:自動屬性對象初始化器設置初始化器擴展方法Lambda表達式查詢語法匿名類型◆LINQ到SQL實現的數據訪問改進。
ASP . NET AJAX幾乎不會為難平臺架構師,因為AJAX已經流行很久了,ASP . NET AJAX擴展包已經大量使用。Net帶來的唯壹好處就是不需要單獨部署之前的Ajax擴展包。
語言的改進引入了函數式編程的思想,但對整個系統架構和企業內部開發框架不會有太大影響,只會讓開發人員在編碼上更加靈活敏捷。
LINQ(Language Integrated Query)是通過編譯器在壹種語言中實現類似SQL的查詢語法的跨代底層技術,它的出現讓語言能力變得異常強大。
然而,LINQ到SQL給平臺架構師帶來了壹個問題。ADO NET和LINQ轉SQL如何選擇?如何在第三方中選擇ORM和LINQ轉SQL?LINQ轉SQL和未來的ADO NET EF(實體框架)如何選擇?
關於第壹個問題,由於LINQ到SQL是像ADO NET壹樣的數據庫結構的映射,所以基於LINQ開發數據訪問層和ADO NET到SQL的基本方法是類似的。唯壹不同的是,LINQ到SQL面對的實體和實體集不需要編寫SQL語句進行數據處理。
對於第二個問題,目前版本的LINQ轉SQL只支持SQL Server,不足以成為真正的ORM。如果只使用SQL Server,對ORM要求不高,那麽用LINQ轉SQL來替代現有的ORM是可行的。
Lishi Xinzhi/Article/program/ASP/201311/21766