摘要:Web技術正在迅速成為支持企業范圍應用程序的優選平臺,基于Windows DNA的三層結構體系框架分布式應用程序已經成為計算主流。在比較詳盡地論述了三層結構框架的整體構建思想基礎上,示例了分布式應用程序的設計和實現過程。
關鍵詞:Windows DNA;分布式應用程序;三層結構;XML Web services
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2008)23-923-02
Building Windows DNA Applications
YUAN Ai-min
(Mianyang Vocational and Technical College,Mianyang 621000,China)
Abstract: The three-tier distributed applications based on Windows DNA have become the mainstream since the Web technology is becoming the prompt chooses platform of enterprise-wide application. Provides an introduction to the DNA architecture and takes you step-by-step through the development of an actual DNA application.
Key words: Windows DNA; Distributed Application; Three-tier structure; XML Web services
1 引言
當Internet技術特別是Web技術逐漸成為計算主流時,業務計算的模型發生了巨大變化。這一變化的焦點是客戶端/服務器模式,因而Web技術正在迅速成為支持企業范圍應用程序的優選平臺。
可以認為Web模型是由各種信息和應用程序集合所組成的層松散地連接而成,而這些信息和應用程序又駐留在種類繁多的硬件平臺上。Interne從一開始便提供一個可伸縮、可擴展和高度可用的公共信息傳送平臺。應用程序設計時可以使用 .NET平臺開發、部署和支持分布式應用程序。既高度集成又靈活,此平臺使開發人員能夠生成端對端的業務解決方案,這些解決方案可以綜合利用現有的體系結構和應用程序。
微軟把它的三層分布式應用模式體系結構稱作為Microsoft Windows Distributed internetApplications Architecture(Windows分布式網間應用程序)即Windows DNA。是一種用于生成緊耦合分布式Web應用程序的體系結構。因為分布式應用程序開始要求更多的松耦合原則,Microsoft體系結構移動到.NET平臺上。
2 Windows DNA三層體系結構
Windows DNA三層結構的企業應用總體方案,主要原則是將應用程序邏輯地分為表示層、業務邏輯層和數據服務層三個基本層。
表示層為企業應用的客戶端部分,它負責與用戶進行交互。包括到應用程序的胖客戶端接口或者瘦客戶端接口。胖客戶端通過直接使用Microsoft Win32 API或間接通過Windows 窗體,為操作系統的功能提供完全的編程接口,并廣泛地使用組件。瘦客戶端(Web瀏覽器)正迅速成為許多開發人員優先選擇的接口。開發人員能夠生成可在三個應用程序層的任何一個上執行的業務邏輯。利用ASP.NET Web應用程序和XML Web services,瘦客戶端能夠以可視形式為應用程序提供豐富、靈活和交互的用戶界面。瘦客戶端還具有在平臺之間提供更大程度的可移植性的優點。
業務邏輯層構成了企業應用的業務邏輯規則,它負責接受與傳遞表示層所需的信息,并與數據服務層進行數據交互。該層被分為應用程序服務器與服務,它們可用于支持客戶端。可以使用.NET Framework編寫Web應用程序以利用COM+服務、消息隊列(MSMQ)、目錄服務和安全性服務。應用程序服務反過來可以與數據訪問層上的若干個數據服務進行交互。
數據服務層為應用與后臺數據庫進行各種聯系并保證數據的安全性、完整性、一致性。包括ADO.NET(通過使用腳本語言或編程語言提供對數據的簡化編程訪問)、OLEDB(由 Microsoft開發的公認的通用數據提供程序)、XML(用于指定數據結構的標記標準)。
一個簡單的分布式應用程序模型包含與中間層進行通信的客戶端,中間層本身由應用程序服務器和包含業務邏輯的應用程序組成。應用程序反過來又與提供和存儲數據的數據庫進行通信。
3 創建分布式應用程序
生成一個基于Web的客戶端,以顯示SQL Server Pubs示例數據庫中的Authors表,具有查找和編輯功能的應用程序。程序的三層結構如圖1所示。
3.1 分布式應用程序的創建過程
開發分布式應用程序的方案是一次創建一層,多半是從數據層開始,然后移到中間層業務規則對象,最后創建用戶界面層。在本例中,已經生成了數據,使用SQL Server中的Pubs 數據庫。因此,本例將從創建業務對象,即XML Web services開始,然后生成用戶界面即Web窗體頁。
3.2創建中間層業務對象
創建的業務對象將在Web服務器上運行,提供分布式應用程序所需的性能和可伸縮性。另外,把業務對象實現為XML Web services,這樣客戶端可以使用標準Internet協議從任何平臺與業務對象進行通信。
XML Web services組件將保存數據連接和數據集定義。然后將添加XML Web services 方法以公開此數據集,這使其他應用程序能夠查看和修改此數據集。最后公開方法GetAuthors 將從數據庫返回數據集,公開方法UpdateAuthors將用用戶的更改更新數據庫。
public authors1 GetAuthors()
{ authors1 authors = new authors1();
sqlDataAdapter1.Fill(authors);
return authors;}
public authors1 UpdateAuthors(authors1 authorChanges)
{ if (authorChanges != 1) {
sqlDataAdapter1.Update(authorChanges);
return authorChanges; }
else { return 1; }
}
3.3 創建用戶界面
對于Web客戶端部分,通過Web窗體設計器創建一個與標準HTML 3.2瀏覽器兼容的Web頁。在服務器上,Web窗體代碼將調用XML Web services 以從數據庫中檢索包含作者信息的數據。
private void Page_Load(object sender, System.EventArgs e)
{ AuthorsWebClient.localhost.AuthorsService ws =
new AuthorsWebClient.localhost.AuthorsService();
ws.Credentials = System.Net.CredentialCache.DefaultCredentials;
AuthorData.Merge(ws.GetAuthors());
if (! Page.IsPostBack) {
DataGrid1.DataBind();
}
4 結束語
通過Windows DNA的三層結構對應用程序進行分層,使用基于組件的編程技術,并充分利用.NET平臺與 Microsoft Windows操作系統的功能,開發人員可以生成具有高度可伸縮性和靈活性的應用程序。
參考文獻:
[1] Microsoft.面向.Net的Web應用程序設計[M].北京:高等教育出版社,2004.
[2] APTECH.Net企業級應用開發—ASP.NET Web Service[M].北京:科學技術文獻出版社,2006.
[3] 尚俊杰.ASP.NET程序設計[M].北京:清華大學出版社,2006.