文/張沖
隨著國家“互聯網+政務服務”應用的不斷改革和深化應用,在推進過程中,服務模式從“單辦件模式”擴大到“聯辦件”再到“綜合一窗”“跨省通辦”和“一業一證”業務模式,服務載體也從政務大廳的獨立窗口到現在的網站、自助終端、移動端等多終端多渠道辦理模式。線上辦理事項越來越多,信息化系統建設規范越來越高,建設周期要求越來越短,在系統不斷深化、重構的過程中,發現有很多工作量都集中在事項受理表單的開發上,并且隨著“引導式業務辦理”的交互方式推行,以及單事項到綜合事項的推廣應用,受理表單的展示要素也隨著事項、情形的不同而動態變化。
自國務院印發《關于加快推進“互聯網+政務服務”工作的指導意見》,對加快推進“互聯網+政務服務”工作作出總體部署以來,經歷了近5年的系統建設歷程,“互聯網+政務服務”發展迅猛,由剛開始承接幾十個類型辦件到如今的成百上千種類型辦件;由原來的“單一辦件”到“聯辦件”“綜合辦件”類型發展;由原來只能實現“一個縣域內”辦件到“一個市”“一個省”甚至“跨省通辦”的業務模式變化;由原來的“只能大廳窗口辦理”擴充到“網站”“綜合窗口”“自助終端”“app”多渠道辦理。
系統業務越來越復雜,事項類型越來越多,系統規模也逐漸從單一系統向平臺級(市級、省級、全國級)方向發展。雖然系統規模和業務越來越復雜,但其核心內容是事項及事項辦理以及多渠道發布。因此在支撐系統迭代研發當中,需要把“事項梳理”單獨作為一個平臺進行建設,而事項梳理完成后要實現因事項類型不同、交互情形不同、辦理渠道不同而受理表單不同,就需要一個可定制的電子表單系統來支撐。
因此,需要總結、歸納一套能夠實現“無需代碼編寫”“圖像化設計”“自動化存儲”的電子表單系統,作為基礎支撐平臺的一部分,從而縮短研發周期,快速提供信息化服務。
電子表單系統技術架構如圖1所示,采用j2EE開發技術,采用B/S架構研發。系統后端技術主要采用Spring、SpringBoot和SpringCloud開發框架,引入Redis做緩存組件,MySQL作為存儲數據庫。前端采用主流開發框架VUE技術,基于Node.js+Webpack開發平臺,引入ElementUI作為產品的基礎控件庫,在此基礎上,定制豐富的電子表單控件庫。最后使用上述后端和前端開發成果,研發電子表單系統的產品功能和供三方系統二次開發使用的表單接入控件。

圖1 電子表單系統技術架構圖
電子表單系統邏輯架構如圖2所示,核心內容分為表單設計系統、表單系統網關和表單接入控件。表單設計系統是提供圖形化設計能力的系統。該系統分為:表單配置元數據庫,用于存儲設計過程數據;控件庫,提供豐富的表單展示要素的控件,它是實現多樣化表單定制的基石,支持后期添加擴展;數據庫連接,用于定義表單填報數據存儲數據庫的連接信息;存儲對象,定義表單數據存儲到具體表的元數據信息,是實現表單填報數據自動存儲的基石;表單設計器,它是一個圖像化的,支持可拖拽功能表單設計器,它使用控件庫里的控件定義表單每個填報要素,同時通過屬性面板,定義控件展示樣式、與存儲對象字段對應關系,定義完成后,生成一個表單描述文件(json格式),然后存儲到表單配置元數據庫中。表單系統網關是電子表單系統為接入系統定制的、可供二次開發的接口服務方法。接入系統通過調用表單系統網關的服務來獲取表單配置數據和實現填報數據的自動存儲。表單接入控件是電子表單系統為接入系統提供的表單接入sdk,它提供iframe整頁接入和使用VUE組件2種接入方式。它使用表單系統網關服務接口從電子表單系統中獲取表單定義數據,然后解析展示表單界面。

圖2 電子表單系統邏輯架構圖
電子表單系統由表單模板管理、接入系統管理、成員管理、存儲對象管理、表單設計管理、表單發布和表單接入功能組成。
用戶進入電子表單系統后進入表單模板模塊,為系統添加公共表單模板。系統發布時,根據產品設計風格,初始化多套系統模板,系統模板后期不允許用戶修改。用戶可以根據項目需求,創建電子表單模板,自定義的模板可以修改或刪除。模板定義好后,可以在表單設計時引用“表單模板”,表單會復制表單模板的全部屬性生成表單,用戶再在此基礎上進行調整、修改。
用戶在自己的系統中需要使用電子表單時,需要先在電子表單系統中新建一個接入子系統,子系統的信息包括接入系統名稱、系統架構、維護人員等,電子表單系統會自動為接入子系統創建生成訪問key信息,用戶在自己的系統中接入表單的時候,需要正確填寫相應的key才能集成成功。為了方便管理,支持在接入子系統的下級創建相應的模塊,然后在模塊中創建接入表單。
用戶在開發表單系統時,通常不希望自己項目組的表單被項目組以外的人訪問和修改。同時項目組開發表單的人也可能會有多個。為了解決這個問題,電子表單系統提供了成員管理的功能,用戶可以在自己定義的子系統中,添加參與設計表單的成員,成功添加的成員都能訪問且能修改此接入系統的所有表單。
當用戶在使用表單填報數據時,要能實現數據自動保存。用戶可以為其接入子系統定義數據庫連接,連接到用戶想保存數據的數據庫,然后用戶再建一個存儲對象,創建時,選擇你創建的數據庫連接,然后從連接的數據庫表中,選擇將要把表單數據存儲的表,系統自動創建一個關聯具體存儲表的數據對象。在后續的表單設計中,引入這個存儲對象,并做好存儲對象屬性與表單控件關聯,實現表單的自動存儲。
用戶通過表單設計器對表單進行設計操作,表單設計器左邊是控件工具箱,中間是主設計區,右邊是屬性設置區。用戶從控件工具箱中拖拽所需控件到中間主設計區,然后在右邊屬性欄中設置相應屬性,完成表單設計。在這個過程中,系統自動提醒用戶選擇存儲對象,然后完成表單每個控件與存儲對象屬性的關聯設置,完成填報數據自動保存功能。
表單設計完成后,用戶可以點擊設計器的“預覽”按鈕,預覽表單展示效果。用戶確認無誤后,點擊發布,系統將用戶設計的表單生成最新版本。發布后,設計的表單就可以被接入所需的業務系統中。
電子表單系統為外部系統提供2種接入方式,一種是iframe方式(非VUE項目),一種是VUE組件方式。
在信息化系統建設過程中有許多場景需要使用電子表單才能更方便地解決問題。電子表單系統特別適用于表單數量多、后期新增需求不固定和因上下文條件變化引起表單展示要素變化的業務場景,可以有效減少開發工作量,提升產品適應需求變化的能力。