接上一篇 基於資料庫的企業級智能表單系統設計(asp.net)-架構
這裡只討論和表單有關的架構,工作流程以及系統基礎架構部分不在本文內。
智能表單系統包含以下幾個大的部分:
- 表單設計器
- 表單引擎
- 資料引擎
- 統計引擎
- 項目原始碼
- 基礎資料庫
如所示:
2.1表單設計器的作用:
l 提供基於web方式的所見即所得 (WYSIWYG)的可視化表單設計器。
l 提供系統內建的各種類型的控制項,例如文字框,下拉框,子表等。
l 提供欄位屬性設定。
l 提供表單屬性設定。
l 提供許可權配置。
l 提供樣式設計器。
2.2資料引擎的作用:
l 根據使用者通過表單設計器設計的表單來自動產生對應的後台資料庫表(包括多種資料庫的實現)
l 使用者通過表單設計器進行的修改同步到後台資料庫中。
l 作為資料提供者使用,用以和資料庫進行資料庫交換。
2.3表單引擎的作用:
l 將使用者設計好的表單轉化成asp.net原始碼檔案儲存。
l 將asp.net格式的表單檔案轉化成表單設計器可以讀取的格式後,以web方式展現給客戶進行設計修改。
l 在vs.net中,表單引擎將控制項轉化成vs.net可以理解的格式,這樣客戶可以在vs.net中進行二次開發工作。大大減少學習成本,提供工作效率。
l 使用者通過瀏覽器訪問智能表單時,表單引擎參與解析,並產生相應的html代碼返回給客戶。
l 控製表單許可權。
l 記錄表單動作記錄。
2.4統一入口
統一入口為使用者提供了簡單的方式來訪問系統資料表單,而將複雜的運算放到後台系統自動處理。使用者訪問只需要提供針對某個表單的參數即可。主要包括兩個參數:
l 表單ID。用以確定使用者訪問那個表單,是使用者在設計保單後儲存的一個系統的唯一值。
l 記錄ID。用以唯一確定訪問那條資料。
對於智能表單的訪問分為幾種模式:
l 訪問列表:對於訪問某個表單的資料列表,使用者只需要傳遞一個表單ID的參數即可,系統將返回這個表單的記錄(表單引擎會根據許可權進行判斷和過濾資料)。
l 新增記錄:使用者需要傳遞表單ID和一個值為空白字串的記錄ID,系統將返回這個表單新增記錄的介面。
l 修改記錄:使用者需要傳遞表單ID和記錄ID,系統將返回這個表單修改記錄的介面。
2.5基礎資料庫
基礎資料庫為使用者提供表單配置的相關資訊,以及儲存使用者的表單記錄。主要包含以下部分:
l 表單配置資訊表:這個表用來儲存使用者設計的表單的相關資訊,包括表單名稱,資料庫的表名稱,許可權資訊等等。
l 欄位配置資訊表:這個表用來儲存使用者設計的控制項的相關資訊,包括控制項名稱,控制項在資料庫中對應的欄位名稱,驗證資訊等等。
l 控制項類型表:描述每種控制項的類型和作用。
l 資料類型表:一個抽象的欄位的資料類型描述,用以在映射到不同的資料庫時,自動產生每種資料庫對應的欄位資料類型。
2.6項目原始碼
原始碼是一個vs.net的項目,是整個系統的二次開發架構,其中一部分是使用者設計的表單原始碼檔案,使用者可以在vs.net中對錶單原始碼檔案做二次開發。項目原始碼檔案是標準的asp.net檔案,這樣做的好處是:
l 使用vs.net作為二次開發工具而不是使用自己提供的工具,對於使用者來說是一個很熟悉的開發環境,並且vs.net提供的非常強大的功能,遠非一般公司可以開發出來的。
l 使用標準的asp.net檔案作為表單原始碼檔案的儲存介質,這樣可以讓使用者使用自己熟悉的各種技術,包括html,asp.net,javascript,css等來進行二次開發,大大減少使用者的學習成本。
l 因為產生了原始碼檔案,對智能表單的二次開發基本沒有任何限制。
(未完待續)