基於.Net Framework3.5的企業應用架構技術研究

[摘要] 目前,.Net Framework3.5已隨着Visual Studio 2008而發佈,延續微軟的一貫風格,.Net Framework3.5爲開發者提供了大量優秀特性,包含了大量新技術,這些新特性、新技術能夠融合在一起來進行全新的企業應用架構設計,利用這些新技術、新特性,可以進行快速開發,讓企業應用的架構更加靈活,擁有更好的性能和可擴展性。 
  [關鍵詞] .Net Framework 企業應用 架構 
   
  一、引言 
  隨着Web2.0時代的到來,一些有遠見的企業也開始思考如何將Web2.0的理念與技術導入企業架構體系,引領企業信息化進入2.0時代。企業2.0是技術與業務相互靠攏的必然結果,是一個社會、商務、技術三者相融合的發展趨勢。在這種趨勢下,企業快速將產品和服務推向市場便成了第一要務,重量級的軟件工程方法逐漸收緊了腳步,以敏捷開發爲代表的輕量級軟件工程方法被越來越多的使用,.Net Framework是微軟爲開發企業級應用程序而創建的一個富有革命性的軟件開發新平臺,它有助於建立輕量級的軟件架構,實現功能完善且易於擴展的框架,可以有效地加速企業應用系統開發,使得企業開發複雜的過程變得簡潔容易。 
  二、企業應用架構分析 
  1.什麼是架構 
  從架構設計師的角度來看,架構就是一套構建系統的準則。通過這套準則,可以把一個複雜的系統劃分爲一套更簡單的子系統的集合,這些子系統之間保持相互獨立,並與整個系統保持一致。對於軟件架構來說,就是要用一種簡潔的結構來支撐整個可以發展的軟件系統。 
  2.企業應用架構 
  企業應用架構是研究如何將企業的業務功能、需求,以及向外界提供的服務映射到IT(Information Technology)系統的一套準則。在使用這套準則構建企業級的軟件系統時,除了要考慮這個系統的架構,以及其應具有的功能行爲以外,還要關注整個架構的可用性、性能問題、容錯能力、可重用性、安全性、擴展性、可管理維護性、可靠性等各個相關方面。 
  當今企業級應用軟件的規模和複雜性與日俱增,各種開發平臺和開發工具繁多,尋求一種合理的架構設計方法和卓有成效的開發平臺顯得尤爲重要。隨着2007年1月30日Windows Vista的全球同步發佈,.Net Framework 3.0首次內置在操作系統之中,而.Net Framework 3.5也隨着Visual Studio 2008而發佈,使用.Net Framework 3.5和Visual Studio 2008可以快速、高效地設計、開發和測試企業級應用程序,幫助開發人員和開發團隊快速地構建和發佈更爲完整、互聯、詳盡的軟件解決方案,實現快速的應用程序開發、高效的團隊協作和突破性的用戶體驗。 
  三、·NET架構設計 
  在分解複雜的軟件系統時,使用的最多的技術之一就是分層。當用分層的思想來考慮系統時,可以將各個子系統想象成按“多層蛋糕”的形式來組織,每一層都依託在其下層之上。在這種組織方式下,上層使用了下層定義的各種服務,而下層對上層卻一無所知。 
  當前企業應用架構已經從早期的兩層逐漸演化到現在的N層體系結構,N層體系結構將複雜的企業應用程序實現爲多個獨立的邏輯部分,也就是多個邏輯層次。在微軟的《Application Architecture Guide 2.0》中將一個典型的企業應用分爲四個層次:表現層、服務層、業務邏輯層和數據訪問層。 
  表現層處理用戶與軟件間的交互,主要職責是向用戶顯示信息,並把從用戶那裏獲取的信息解釋成業務邏輯層和數據訪問層上的各種動作。 
  業務邏輯層是系統架構中體現核心價值的部分,用來實現系統的業務需求和功能。它的關注點主要集中在業務規則的制定、業務流程的實現等與業務需求有關的系統設計。 
  數據訪問層,其功能主要是負責數據源的訪問,數據源可以是數據庫系統、二進制文件、文本文檔或是XML文檔。 
  服務層,在表現層和業務邏輯層之間,可以添加一個服務層,用來封裝業務邏輯層的業務需求和功能的實現,將它們封裝成簡單的服務。這樣做的好處是:可以爲其他的應用程序提供訪問本系統的接口。 
  四、關鍵技術介紹 
  .Net Framework 3.5是在以前版本基礎之上完善而成,包含了Windows Presentation Foundation (WPF)、Windows Communications Foundation (WCF)、Windows Workflow Foundation (WF)、Windows Card Spaces (WCS)、ASP.NET AJAX、Silverlight、LINQ (語言集成查詢)等新技術。這些新技術爲.Net環境下的企業應用架構設計提供了良好的技術基礎。 
  1.表示層實現技術 
  (1)Windows Presentation Foundation(WPF) 
  一直以來,應用程序的用戶界面可以使用不同的技術開發,從MFC到VB,從Windows Form到Web Form,隨着Flash等多媒體2D和3D界面的出現,選擇也就越來越多。如果想使用一種通用的技術就能夠開發各種類型的應用程序界面,這將是一個巨大的挑戰。WPF就是爲解決這一難題而出現的新一代界面開發技術。WPF是微軟.NET Framework 3.5的組成部分之一,它是一套基於XML、.NET Framework、向量繪圖技術的表現層開發框架。WPF支持視頻、動畫、2D或3D圖形,以及各種類型的文檔,還爲桌面客戶端、手持設備客戶端和瀏覽器客戶端提供了通用基礎,統一了開發人員和設計人員創建、顯示、操作文檔、媒體和用戶界面的方法,大大簡化了用戶界面的開發工作,使應用程序具有一致的外觀,爲用戶提供了具有視覺震撼力的用戶體驗。 
  (2)ASP.NET AJAX 
  ASP.NET Ajax技術被整合在ASP.NET之中,是ASP.NET的一種擴展技術。與傳統的Web界面技術相比,Ajax可以實現異步處理瀏覽器頁面和服務器交互的功能,可以實現局部頁面更新功能。瀏覽器不需要將整個頁面提交到服務器,就能夠實現頁面的部分更新,並且在這一個與服務器交互過程中,用戶不會感覺到頁面被刷新,從而提高了應用程序的性能和用戶的體驗。 
  (3)Silverlight 
  Silverlight是一個跨瀏覽器、跨平臺的新一代互聯網多媒體及交互式內容播放應用插件,作爲新一代Web呈現技術,它提供靈活的編程模型,支持AJAX、VB、C#、Python、Ruby等語言,可與現有的 Web 應用程序集成,並內置多媒體技術的支持,可以以很低的成本播放多媒體文件,爲用戶帶來流暢、高清的視頻體驗。 
  2.服務層實現技術 
  Windows Communications Foundation (WCF)。WCF是微軟爲構建面向服務的應用而提供的分佈式通信編程框架,是.NET Framework 3.5的重要組成部分。使用WCF,開發人員可以構建跨平臺、安全、可靠和支持事務處理的企業級互聯應用解決方案。
  WCF是分佈式應用程序開發的集大成者,它整合了.Net平臺下所有的與分佈式系統有關的技術,例如.Net Remoting、Web Services、Enterprise Services、MSMQ等,WCF代表了架構技術的一種發展方向。在WCF框架下,開發基於SOA的分佈式系統變得容易了,微軟將所有與此相關的技術要素都包含在內,掌握了WCF,就相當於掌握了叩開SOA大門的鑰匙。

 

  3.業務邏輯層實現技術 
  Windows Workflow Foundation (WF)。WF是微軟.NET Framework 3.5的組成部分之一,它是一個企業級工作流開發框架和引擎,它可用於創建需要對外部實體的信號作出響應的交互式程序。 
  工作流是按照特定順序執行的一系列步驟。WF可用於簡單的應用場景,例如,顯示基於用戶輸入的 UI 控件,也可以應用於大型企業會遇到的複雜應用場景,例如,訂單處理和庫存控制。WF自帶一個編程模型、一個可重新承載的可自定義工作流引擎以及用於在 Windows 上快速生成啓用工作流的應用程序的工具。 
  WF可以處理的方案包括:在業務線應用程序中啓用工作流、用戶界面頁流、以文檔爲中心的工作流、人工工作流、面向服務應用程序的複合工作流、業務規則驅動的工作流、用於系統管理的工作流等。 
  4.數據訪問層實現技術 
  Language Integrated Query(LINQ)。LINQ (語言集成查詢)是.NET Framework 3.5中一項突破性的創新,它在對象領域和數據領域之間架起了一座橋樑。傳統上,針對數據的查詢都是以簡單的字符串表示,而沒有編譯時類型檢查和智能感應支持。此外,程序員還必須針對不同的數據源學習不同的查詢語言。而LINQ已經集成在.NET Framework中,已成爲編程語言的一個組成部分, LINQ 使查詢成爲 C# 和 Visual Basic 中的一種語言構造,可以使用語言關鍵字和熟悉的運算符針對強類型化對象集合編寫查詢。 
  LINQ 系列技術提供了針對對象 (LINQ to Objects)、關係數據庫 (LINQ to SQL) 和 XML (LINQ to XML) 的一致查詢體驗。 
  LINQ作爲一個嶄新的編程模型,在分佈式軟件架構中可以代替ORM(Object Relational Mapping,對象關係映射),解決面向對象與關係數據庫的矛盾。 
  五、結束語 
  隨着企業2.0時代的到來,企業開始大量構建面向服務、基於工作流的應用體系,在這樣的趨勢下,使用.Net Framework3.5提供的新技術來進行架構設計則成爲一種必然趨勢。本文對企業應用架構設計中需要使用到的關鍵技術進行了介紹,通過這些技術的使用,可以幫助架構師構建更加靈活,擁有更好的性能和可擴展性的企業應用架構。 
   
  參考文獻: 
  [1]Martin Fowler:企業應用架構模式[M].北京:機械工業出版社,2004 
  [2]王雪楊進:J2EE輕量級框架的研究與應用[J].計算機工程與設計,2008,29(14):3628~3630 
  [3]張海軍史維峯劉偉:基於SOA企業應用集成框架研究與實現[J].計算機工程與設計,2008,29(8):2085~2088 
  [4]曾森範玉順:面向服務的企業架構[J].計算機應用研究,2008,25(2):540~545 
  [5]吳鵬飛龍軍:基於.NET的可複用應用框架的研究[J].網絡安全技術與應用,2008,(11):46~48 
  [6]Microsoft公司.Application Architecture Guide 2.0[M/OL]. http://www.codeplex.com/AppArchGuide,2008 
  [7]Microsoft公司.MSDN技術資源庫[DB/OL]. http://msdn.microsoft.com/zh-cn/library/w0x726c2.aspx,2007

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章