這個小型專案有點曲折,始於2023年,當時由於沒有總結經驗,所以後來又做了n個類似的專案,鑑於此,記下總結。
系統軟體架構概括
系統採用了b/s結構, 多層執行模式,同時適用於intranet/internet。瀏覽器為第一層,作為系統的應用介面;中間層為以wcf為載體的soa;應用邏輯服務為第三層;資料鏈結為第四層,作為系統的資料訪問服務。此架構無須安裝客戶端軟體,便於軟體的分發和維護公升級,適應了眾多應用客戶端分散環境下的執行和維護需求。
系統包含如下各層:
web 層 - presentation
web 層為客戶端提供對應用程式的訪問。web 層由 asp.net web 窗體和**隱藏檔案組成。web 窗體只是用 html 提供使用者操作,而**隱藏檔案實現各種控制項的事件處理。
中間層為通過wcf做中間服務,使應用隔離開來,這樣有利於擴充套件和維護,同事提高了整個應用程式的伸縮性。
業務外觀層 - business facade
業務外觀層為 web 層提供處理書目檢索、使用者帳戶管理、訂單生成、購物車等功能的介面。業務外觀層用作隔離層,它將使用者介面與各種業務功能的實現隔離開來。除了低階系統和支援功能之外,對資料庫伺服器的所有呼叫都是通過此程式集進行的。
業務規則層 - business rules
業務規則層包含各種業務規則和邏輯的實現。業務規則完成如使用者賬戶和使用者安全性的核查這樣的任務。
資料訪問層 - data access
資料訪問層為業務規則層提供資料服務。
共享函式專案 - common
各個邏輯層之間的關係圖如下所示:
由開始的邏輯圖進化到現在的安全分布式邏輯圖:
那麼具體技術實現也將如下:
進一步確定整個**的執行序列:
根據前面我們的分析,那麼我們就可以進行如下的設計:
介面設計
a.內部介面
使用者介面包含所有的操作介面,即目前市面主流的瀏覽器。
資料驗證上,從客戶端指令碼和伺服器端,進行使用者輸入資料的驗證,防止無效資料造成的錯誤操作。
ui相應速度上,使用 ajax 實現無重新整理,提高ui相應速度和效能.
b.外部介面
原有方案是本系統與其他軟體系統共用乙個資料庫系統,統一的資料庫伺服器作為與其他系統的外部介面,這樣耦合性很大,同時造成資料和結構不可控,所以現在所有架構都建立在service上,系統之間都通過soa的集中來互動。
執行設計
執行模組組合
ui:功能模組使用時候(包括使用者登入),都會首先通過ui層次security模組的安全驗證(驗證是通過components模組裡面的自定義的用於頁面功能以及功能點驗證的控制項觸發), security模組會通過服務層獲取使用者身份資料,用於頁面驗證.
功能模組的實際功能實現,如果需要資料庫支援,那麼依然會通過服務層進行資料操作.
service:通過wcf做中間服務,使應用隔離開來,這樣有利於擴充套件和維護,同事提高了整個應用程式的伸縮性。
business logic:服務層內部之間的組合關係,主要體現再依賴和呼叫,由上往下呼叫,逐級依賴,最後service底層邊界data access模組將呼叫framework中的data模組,data模組將呼叫ms.entlib3中的data,向資料伺服器傳送資料操作命令和資料.
framework:該層次提供許多基礎的功能模組,分別提供給ui,service層裡面的模組直接或者間接的呼叫,同時也可以看到framework層次內部各模組之間再執行時也有互相依賴呼叫的關係存在.該層次的部分模組會依賴和呼叫ms.entlib3中的模組,一般是按照兩個層次裡面的模組名稱,產生關係的.
ms.entlib3:該層次的各個模組是整個系統框架中最底層的,只會在執行時被更高層次的模組依賴和呼叫,同時該層次內部各個模組之間也存在依賴和執行時呼叫關係.
小型專案總結之三
這個小型專案有點曲折,始於2006年,當時由於沒有總結經驗,所以後來又做了n個類似的專案,鑑於此,記下總結。系統所用硬體規格建議 項 目品 名 規 格 數 量7 1.ibm x 345 server 4 xeon 3.06cpu及以上1 cache 每顆cpu 512kb及以上 2g pc 133m...
小型專案總結之二
這個小型專案有點曲折,始於2006年,當時由於沒有總結經驗,所以後來又做了n個類似的專案,鑑於此,記下總結。系統硬體架構 為了使本系統獲得更好的安全性 擴充套件性和更高的執行效能,我們建議整個系統採取分布式部署的方案,該方案系統架構示意圖如下 具體部署如下 原理圖如下 將承載關鍵業務邏輯的應用程式伺...
小型專案總結之二
這個小型專案有點曲折,始於2006年,當時由於沒有總結經驗,所以後來又做了n個類似的專案,鑑於此,記下總結。系統硬體架構 為了使本系統獲得更好的安全性 擴充套件性和更高的執行效能,我們建議整個系統採取分布式部署的方案,該方案系統架構示意圖如下 具體部署如下 原理圖如下 將承載關鍵業務邏輯的應用程式伺...