摘要:隨著互聯網的普及,許多中小型企業開始建立電子商務站點。在線交易有許多明顯的優勢。因此,我們分析先進的電子商務網站業務模型,采用流行的網絡設計語言和先進的平臺架構體系,對當今企業級的電子商務平臺模型進行探討。
關鍵詞:電子商務;N層系統結構;.NET
Enterprise Electronic Commerce Model in .NET
Abstract:With the popularization of Internet, electronic commerce is no longer a strange topic. It is benefic for many enterprises to make use of EC. As to this, we analyze the advanced business model of EC website and adopt latest network technology and advanced platform to build up a system. As a result we do some discussions on the EC platform model of enterprise layer.
Key Words:Electronic Commerce;N tier;.
前言
開發一個具有實用價值的企業級應用軟件,需要的不僅是高水平的編程技藝和開發技巧,更重要的是整個應用軟件應符合企業級標準,既要考慮到企業當前的需求及規模,也要考慮到企業今后的發展。所以一個企業級的應用程序應具有健壯性、穩定性、可維護性和可擴展性等特點。為了方便對整個企業級電子商務平臺的設計理念的探討,我們采用.NET技術做了一個電子商務平臺模型,取名為SunBook。SunBook圍繞虛擬網上書店建立,其模型是典型的網上購物中最為普遍的B2C模式,包括瀏覽、搜索、購物車、客戶管理、帳戶管理和結賬等基本功能。

SunBook的四層架構體系
一、N層架構概述
N層應用程序使開發有更大的靈活性和可擴展性,已經成為構建企業級軟件的標準。N層應用程序就是被分成多個獨立的邏輯部分的應用程序,每層有其特定的功能。層次系統要求上層子系統可以使用下層子系統的功能,而下層子系統不能夠使用上層子系統的功能。上層調用下層,從而完成多個復雜的業務功能。
二、SunBook架構分析
SunBook采用四層體系結構,即表現層(Web層)、業務外觀層、業務規則層和數據訪問層。
1.表現層(Web層)
該層為客戶端提供對應用程序的訪問,由 ASP.NET Web 窗體和代碼隱藏文件組成。Web 窗體只是用 HTML 提供用戶操作,而代碼隱藏文件實現瀏覽器端各種控件的事件處理。
2.業務外觀層
該層為表現層提供處理帳戶、類別瀏覽和購書的界面。
3.業務規則層
包含各種業務規則和邏輯的實現。
4.數據訪問層
數據訪問層為業務規則層提供數據服務。
另外,還包含兩個輔助層,一個是系統框架層,它主要解決應用程序配置、異常處理、日志記錄等問題。另一個是業務實體層(通用層),業務實體層解決了業務數據表現形式的問題。我們將在下文詳細介紹業務實體層,數據訪問層,業務外觀層和業務規則層。
系統各層的邏輯關系參看系統的邏輯模型圖。
說明:
1.箭頭表示為“…使用…”。例如:“數據訪問”子系統正在使用“系統框架”子系統。
2.瀏覽器首先調用的是表現層,然后該層將請求發送給業務外觀層,業務外觀層對請求進行初步的處理,判斷是否需要調用業務規則層,還是直接調用數據訪問層獲取數據。最后由數據訪問層訪問數據庫并按照來時的步驟返回結果到瀏覽器。
針對電子商務平臺而言,普遍的分布式三層體系結構還不夠完美,特別是在業務處理的各種功能實現方面會顯得非常混亂。SunBook的四層體系結構能很好地解決這個問題。對此部分的進一步分析見“SunBook的業務外觀與規則”部分。軟件分層使得程序有良好的透明和封裝、高內聚低藕荷、易于擴展、維護和重用,開發人員易于分工、提高開發效率,特別在架構方面定義清晰嚴謹,值得進行深入的學習和探討。
SunBook的業務實體
根據需求分析SunBook應該實現八大功能:獲取書籍類別數據;獲取某類書籍數據;獲取某本書籍詳細數據;客戶數據操作,例如創建、檢索、更新客戶數據項;獲取客戶信息;獲取付款相關數據,例如信用卡號碼等;獲取定單摘要;獲取定單詳細信息。根據以上功能要求以及需求,按照“高內聚、低耦合”的原則可以明確應用程序需要處理四個邏輯業務實體:客戶實體、定單實體、書籍類別實體和書籍實體。我們采用類型化的DataSet來表示這些業務實體。
數據是用于表示現實世界中諸如產品和定單這樣的業務實體的。業務實體層解決了業務數據表現形式的問題。其核心是創建業務實體組建。其結果就是要將系統處理的數據進行有效規劃和組織,建立包含用于各層間傳遞信息的數據集。
SunBook的數據訪問
我們采用ADO.NET實現SunBook的數據訪問。ADO.NET是.NET技術中有關數據訪問的解決方案。
經過需求分析,SunBook中的數據訪問有以下四點策略:
1.數據訪問層對所有數據處理使用存儲過程,使應用程序的數據訪問層對數據庫邏輯的更改更具靈活性。
2.數據訪問類是無狀態的,即它們不在實例數據成員內保持狀態。客戶端將特定操作所需的所有數據傳遞給方法。而方法將所有結果數據傳遞回客戶端,然后立即釋放每個數據訪問對象,簡化了資源管理。
3.數據訪問層盡可能推遲數據庫資源分配并且盡可能快地釋放數據庫資源,將數據庫資源保留最短的時間。
4.SQL連接配置。在Web.Config文件存儲應用程序的數據庫連接字符串。通過其他文件的函數調用來讀取SQL連接字符串。這樣的策略方便更改SQL連接字符串而不用重新啟動IIS。
分層結構確定了每層的功能。層與層之間通過一定的機制連接和通信。業務外觀層和業務規則層通過數據訪問層訪問數據庫中的數據。數據訪問層通過業務實體層確定待處理的業務實體。數據訪問層與業務實體層是通過類型化的DataSet來通信的。
SunBook的業務外觀與規則
業務外觀層為表現層提供處理帳戶、類別瀏覽和購書的界面。業務規則層的功能是完成各種業務規則和邏輯的實現,主要完成如客戶帳戶、書籍定單的驗證、定單稅費計算等任務。
當表示層向服務器發出與數據庫交互的請求時,幾乎所有的調用都要通過業務外觀層,然后才層層傳遞,一直到數據調用層完成與數據庫的交互任務。這個過程分兩種情況,一種情況是當這種請求涉及到了系統業務規則,例如稅費計算、驗證等問題,那么業務外觀層就調用業務規則層進行處理,之后再通過業務規則層調用數據訪問層與數據庫交互。第二種情況是當這種請求并沒有涉及到業務規則,只是簡單的數據只讀訪問,例如檢索每日推薦書目、檢索某類別書籍的相關信息等問題,那么業務外觀層可直接調用數據訪問層,再通過數據訪問層完成與數據庫的交互。
我們從開發企業級應用程序的角度分析,把業務層分成業務外觀層和業務規則層有很大的好處。在設計一個企業級應用程序過程中,我們需要考慮系統需求發生改變了怎么辦,如何保證系統穩定可靠,如何能夠快速地找到要尋找的代碼,而不迷失在數以萬計的代碼中,如何才能使開發人員同時開工,加快系統開發進度,以上問題是系統設計人員需要考慮的事情。 在應用程序中,有些只是簡單的操作,不需要經過處理,直接將數據顯示到網頁上。而有些是涉及到業務規則的復雜操作,這部分往往有許多不同的功能的類,操作起來也比較復雜。采用三層設計,是不能達到企業級應用程序需要的可擴展性、可維護性、穩定性、健壯性等要求的。業務外觀層和業務規則層的創建,梳理了系統代碼,使得系統流程井井有條,秩序井然。
總結
電子商務站點正蓬勃興起,未來企業級的電子商務會更注重網頁的響應速度、客戶數據的安全性、系統運行的穩定性、系統運行成本,使用.NET技術是技術員建立企業級電子商務平臺的一大法寶。
參考文獻
【1】康博,譯.VB.NET入門經典.清華大學出版社.
【2】康博,譯.VB.NET和SQL Server 2000 高級編程.清華大學出版社.
【3】楊浩,譯.ASP.NET電子商務入門經典.清華大學出版社.
【4】李英軍,等,譯.設計模式.機械工業出版社.
【5】聯機幫助文獻:如T-SQL語言等.