接上一篇 基於數據庫的企業級智能表單系統設計(asp.net)-架構
這里只討論和表單有關的架構,工作流以及系統基礎架構部分不在本文內。
智能表單系統包含以下幾個大的部分:
- 表單設計器
- 表單引擎
- 數據引擎
- 統計引擎
- 項目源代碼
- 基礎數據庫
如下圖所示:
2.1表單設計器的作用:
l 提供基於web方式的所見即所得的可視化表單設計器。
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 因為生成了源代碼文件,對智能表單的二次開發基本沒有任何限制。
(未完待續)