通用流程化應用審批單設計思路(一)
本文為通用流程化應用審批設計思路表單部分。
審批單結構分析
審批單承載流程化應用所需要的業務資訊,以及業務操作處理入口。為了實現審批單與具體業務鬆藕、快速開發的目標,在此提出審批單框架的設計思路。如下圖所示,審批單介面分為4個核心功能區域:
(1)功能按鈕區:放置業務審批單功能按鈕的區域,按鈕可以分成三種類型:流程專用、業務專用、混合功能;
(2)特殊功能區:用於個性化業務、流程功能所使用功能按鈕、下拉列表等;
(3)業務表單區:放置具體業務單據的區域,檔案類業務可以隱藏此部分內容;
(4)審批意見區:是可以設定成顯隱的區域,用於顯示審批意見,對於檔案類業務,直接顯示個性化審批單。
介面操作功能,一般以按鈕的形式存在,功能主要分為兩大類,一是業務功能,在JavaScript程式碼中實現具體業務,另一種是流程功能,由框架及嵌入業務程式碼方式實現,例如“送出”操作,流程走到下一步,同時需要呼叫業務的儲存資料的功能。
以“儲存”按鈕為例,儲存操作在不同環節所實現的功能是不一樣的,例如:申請時儲存操作核心是插入並儲存業務單據資料,而審批過程中,一般對業務資料是很少操作的,因此,在其他流程環節中,“儲存”操作可能只是儲存審批意見,以及操作流程。
在不同環節中使用不同的函式(方法),替換執行其“儲存”操作,相當於有很多儲存按鈕定義在介面中,這樣需要定義按鈕,按鈕也就相當於介面,動態載入類(程式碼),按環節定義來執行程式碼。
審批單設計及使用管理體系
審批單設計與流程關係緊密,與流程環節密不可分。在這裡,重點談審批單設計。
審批單設計為四層架構:
(1)介面展現層:用於展現介面功能、資料、樣式等內容,主要使用JavaScript、HTML、CSS等技術;
(2)業務邏輯處理層:用於處理表單所涉及到的業務,也包含和流程相關的內容,在這裡也算業務處理,主要使用JavaScript函式(介面)和Web Service API等技術;
(3)資料適配層:用於通過表單配置定義來轉換表單資料為資料庫可儲存資料,以及業務處理可用資料,例如和流程相關的資料,主要使用Web Service等技術;
(4)資料操作處理層:用於表單資料在資料庫層面的增、刪、改、查處理,主要使用Web Service、Java等技術。
支援上述四層模型,另外需要支撐功能有:
(1)表單設計器:本方案使用Cordys XForm Designer做為快速開發平臺,另外隱含有通用應用個性化配置;
(2)資料及功能定義:支援表單資料項靈活定義、審批單功能按鈕顯隱及功能定義、表單資料許可權定義等。
審批單初始化及儲存操作設計
如下圖所示,通過序列圖方式描述四個主要層次互動關係。圖中,描述業務執行者開啟審批單及儲存操作時,介面及後臺各層主要完成的操作。
(1)初始化介面(JavaScript函式),主要是完成介面載入操作,載入內容包括:按鈕、資料項、審批意見和資料內容。其中初始化按鈕、初始化資料項、初始化資料內容、審批意見顯隱控制都可設計成JavaScript函式,可用在初始化介面主函式中呼叫。
例如介面層“2:初始化按鈕(函式)”,通過“3:獲取按鈕顯隱及功能定義”Web Service從“介面配置及表單定義”服務中取出配置資訊,載入到介面層,而按鈕的顯隱還與流程環節相關,所以,還需通過“4:環節按鈕個性化配置”Web Service從“流程環節配置及定義服務”中取出配置定義資訊,轉換到介面層展現處理。
(2)編輯資料項和新增審批意見,這裡主要是介面層的操作及程式碼,其中新增意見是臨時儲存。
(3)儲存操作,先儲存意見,再儲存其他業務資料。
例如介面層儲存操作中呼叫“21:儲存表單內容資料”Web Service從“審批單資料內容服務”中進行處理,處理主要是通過呼叫“審批單資料適配服務”中“22:資料適配對應”Web Service來進行,在此中,呼叫“23:獲取資料項定義”,以及“24:按定義進行業務處理”,最後“25:儲存表單資料”。
上圖中,“介面”屬於介面展現層,“介面配置及表單定義”、“審批單資料適配服務”、“流程環節配置及定義服務”屬於資料適配層,“審批單資料內容服務”、“意見內容服務”、“業務邏輯處理服務”屬於業務邏輯處理層,“表單資料操作處理服務”屬於資料操作處理層。
資料儲存設計
表單資料在資料庫儲存採用冗餘欄位的模式,並區分預定義出數值型、時間型、字元型資料欄位。
按表單式樣,資料庫對應設計為單表、一對一多表、一對多主從表三種模式,對於審批單中非統計類資料項處理,採用文件型資料設計模式(例如:Lotus Notes/Domino資料文件儲存模式)。
參考資料: