王剛
(蘇州大學信息化建設與管理中心 江蘇省蘇州市 215000)
隨著大數據、物聯網、人工智能技術的快速發(fā)展,智慧校園中出現了更多的以數據分析和數據應用為主的信息化建設需求,數據需要經過采集、融合和分析后賦能高校業(yè)務發(fā)展。在具體實現過程中,經常會涉及沒有系統的關系型業(yè)務數據采集,這些數據通常以Excel形式存儲和傳遞,傳統的做法是業(yè)務老師定時上傳到提前約定好的位置,以便數據同步工具可以讀取和處理。這種做法,一方面不能保證數據實時性,另一方面增加了業(yè)務老師工作量,實際的采集效果并不理想。另外,在數據分析結果與業(yè)務辦理結合方面,業(yè)務老師經常需要在分析結果上反饋、補充和完善其他信息,以便形成完整的業(yè)務數據。而傳統的數據分析平臺專注于數據分析過程,無法有效的滿足此類實際需求。以上兩種情況,都是需要基于已有的業(yè)務數據,構建數據應用,提供數據查詢、維護、導出等功能。
針對上述需求,本文設計并實現了基于數據應用模型和共享組件的數據應用快速構建平臺。通過對業(yè)務數據元數據、操作權限、頁面展示等進行定義,形成數據應用模型。基于數據應用模型進行通用數據操作開發(fā),形成共享組件庫。通過采用頁面模板技術,提供個性化的頁面展現。
平臺分為管理端和展現端兩個部分。具體如圖1所示。管理端主要有業(yè)務數據元數據定義、頁面展示配置、共享組件配置以及菜單管理、權限管理和系統管理。展現端主要服務于具體的業(yè)務數據管理,包括頁面展示加載、模型解析與加載、組件庫加載。
圖1:數據應用快速構建平臺架構圖
業(yè)務數據元數據定義用于配置業(yè)務數據的屬性,包含表的定義,字段定義和初始化工具等。其中,初始化工具可以從Excel中直接讀取業(yè)務數據,并在數據庫中新增表結構,然后導入數據,并依據元數據屬性,形成元數據定義。頁面展示配置主要用于定義頁面模板,并為業(yè)務數據配置頁面模板,如傳統表格型、移動表格型、移動表單型等。
共享組件配置主要是對已有的共享組件進行注冊和管理,并為每個業(yè)務數據選擇不同的共享組件。菜單管理主要是通過對業(yè)務域和業(yè)務數據名稱進行管理,形成二級菜單,并賦權給相應的角色,這樣便于用戶登錄后,通過菜單管理多個業(yè)務數據。在權限管理中,主要通過角色關聯用戶組和用戶后,配置角色對應的可訪問業(yè)務數據、字段以及共享組件類型。在系統管理中,通過與智慧校園對接,平臺構建的數據應用均可通過統一身份認證在移動端使用。
模型解析是將已定義好的模型解析成可供展示端使用的JSON格式數據,是數據應用構建平臺的關鍵部分。分為權限菜單解析、業(yè)務數據元數據解析和業(yè)務數據獲取三個部分。權限菜單解析是依據登錄用戶解析可用的用戶組,并根據用戶選擇的用戶組解析角色和對應的菜單內容。業(yè)務數據元數據解析則是依據角色獲取可用的共享組件、過濾條件、字段列表、每個字段的取值范圍、排序信息等。業(yè)務數據獲取則是依據解析形成的查詢條件,從數據庫中將可展示的數據查詢出來,用于頁面展示。解析的主要過程如圖2所示。
圖2:模型解析主要過程
共享組件是基于模型,提供用戶對數據的管理功能。由于組件是基于模型開發(fā)的,可以面向不同的數據應用,所以可在平臺范圍內進行共享。以新增一條數據記錄為例,其操作邏輯如下:
(1)打開空的新增頁面;
(2)根據模型中字段配置和排序信息,依次顯示字段中文名稱和輸入控件;
(3)根據每個字段的可選擇范圍,自動設置下拉框和是否可多選;
(4)根據每個字段的默認值,自動填入;
(5)設置不可修改字段;
(6)用戶填寫后,點擊新增按鈕;
(7)將業(yè)務數據標識、字段標識、字段值、當前頁面查詢條件等形成JSON格式數據,提交到后臺;
(8)后臺依據業(yè)務數據標識獲取表名稱、判斷數據操作權限后,插入到數據庫中;
(9)依據角色和查詢條件重新獲取業(yè)務數據,并返回頁面;
(10)頁面刷新,顯示新的業(yè)務數據。
為了達到完全以模型為依據,可在不同數據應用之間共享的目標,還需要對部分字段類型的處理過程進行優(yōu)化,如對附件上傳和下載的優(yōu)化。對于附件上傳,其優(yōu)化思路主要有:
(1)附件默認統一上傳到平臺配置的一個服務器位置上,也可針對不同的數據應用配置不同的上傳位置,此配置信息在平臺的系統管理中統一配置;
(2)附件名稱在上傳和存儲過程中,將被修改成無意義的字符串,以保障附件存儲安全;
(3)依據模型信息,獲取附件對應的數據應用標識、字段標識信息,并將此信息同附件原名稱、附件現名稱、存儲方式、存儲位置等一起,統一存儲在附件關系表中,并同時生成附件標識;
(4)返回附件標識、附件原名稱;
(5)當頁面數據被保存時,附件標識作為附件字段的值,被保存到相應的數據中。
對于附件下載的優(yōu)化思路如下:
(1)在頁面顯示時,依據模型信息,獲取附件標識對應的附件原名稱;
(2)提供統一的附件下載地址,附件標識作為參數;
(3)當點擊下載時,后臺通過角色判斷數據操作和附件操作權限;
(4)依據存儲方式、存儲位置、附件現名稱獲取附件內容;
(5)將附件下載到本地,并修改附件名稱。
通過對附件上傳和下載過程進行以上優(yōu)化,實現了基于模型的通用附件處理。當數據應用中需要使用附件功能時,只要將對應的字段標記為附件類型即可,平臺將依據字段類型自動關聯相關的操作方法,提供相應的功能。
目前平臺提供新增、單個刪除、修改、通用查詢、導出等共享組件,已基本滿足數據應用的管理需求。另外,根據組件的實現原理,還可進行定制組件開發(fā),以滿足特殊的數據管理需求。
在頁面展示方面,采用頁面模板技術,基于模型提供的信息,針對不同的模板,使用不同的內容組織方法。主要有傳統表格模板、移動表格模板、移動表單模板等。
對于傳統表格模板,主要包含查詢區(qū)、共享組件區(qū)、數據表格區(qū)、分頁區(qū)。
查詢區(qū)有查詢字段、查詢條件和查詢內容三個部分,其中查詢字段和查詢條件是下拉框,查詢內容是輸入框。查詢字段下拉框是根據模型中配置的可供查詢的字段進行動態(tài)加載的,查詢條件下拉框固定設置為等于、包含、開頭、結尾、大于、小于類型。共享組件區(qū)顯示角色可用的操作按鈕,順序排列。數據表格區(qū)是依據模型中定義的可顯示字段、字段間隔、字段排序等信息,展示業(yè)務數據。分頁區(qū)顯示當前分頁和總計分頁信息。
對于移動表格模板,查詢區(qū)、共享組件區(qū)、數據表格區(qū)則有較大的不同。在查詢區(qū),僅顯示查詢內容輸入框,在檢索的時候,采用對所有可查詢字段以包含條件遍歷查詢的機制進行業(yè)務數據檢索。共享組件則顯示在每條業(yè)務數據后面。數據表格區(qū)采用可伸縮的塊狀組件展示,每條數據對應一個塊狀組件,初始時僅顯示配置的個別字段信息和共享組件,當點擊查看明細時,塊狀組件展開并顯示全部字段信息。這種方式,既有利于區(qū)分每條業(yè)務數據,又方便移動端展示。
對于移動表單模板,主要包含表單區(qū)和翻頁區(qū)兩個部分。此模板主要面向個人進行數據登記使用。初始時,顯示新增的空白頁面,用戶可進行新增操作,當業(yè)務數據不允許新增時,此頁面會被隱藏。通過翻頁按鈕,可以表單的形式,逐條查詢或修改數據。
隨著業(yè)務數據移動端管理需求的增多,自適應表格模板逐漸成為首選。此模板在PC端打開后,將會自動切換成傳統表格模板,在移動端則顯示移動表格模板,這極大增加了平臺的展示適應性。
在通過平臺構建數據應用的過程中,一般使用如下的分析和構造方法:
(1)與使用方進行簡單的業(yè)務需求溝通;
(2)明確使用對象及其維護方式,形成角色定義;
(3)明確數據應用的發(fā)布入口。如移動端接入智慧校園,PC端通過門戶訪問;
(4)準備數據。如果是分析后的數據,就需要先把數據進行分析后,確定數據結構;如果是填報類的數據,一般通過Excel確定數據結構;
(5)針對每個字段進行分析,明確字段類型、是否可修改、可選范圍、聯動方式等;
(6)重復以上步驟2-5,將一個業(yè)務需求,轉換成多個數據應用,合并形成菜單列表;
(7)確定每個角色的菜單、可管理的字段以及可用的數據操作方法;
(8)評估可能需要定制的數據操作方法,以及相應的時間,并反饋給使用方。
經過以上8個步驟,即可形成數據結構、角色、權限、共享組件要求。平臺使用過程如下:
(1)導入包含數據結構的Excel文件,進行數據表、字段、菜單的初始化;
(2)復用或建立新角色、用戶組并進行關聯配置;
(3)進行定制組件開發(fā)。一般情況下,此類操作較少,也可在數據應用上線后,逐步增加;
(4)根據角色進行菜單、數據、共享組件的配置和定義;
(5)修改字段的默認類型,配置關聯關系,設置操作權限;
(6)對數據應用進行測試,并做適量的微調。
經過以上6個主要步驟后,可進行測試和試用。試用通過后,即可將此數據應用,單獨上架到智慧校園中。
以學生晚歸查詢?yōu)槔?,如圖3所示。經過智慧校園同步后,學生前一晚的一卡通門禁數據,經過數據分析,第二天7點前同步到數據應用構建平臺。通過平臺構建了宿舍進出查詢,輔導員等學工老師可在第二天上班后,在移動端查詢到昨晚晚歸的同學情況,并經過線下問詢后,在線上核查是否異常。同時,核查后的結果,也將被同步到智慧校園共享數據平臺。這樣,數據采集、同步、分析、應用形成了閉環(huán),完成了一次數據賦能業(yè)務的全過程。
圖3:學生晚歸查詢
目前,平臺已經構建了如出國差旅標準查詢、畢業(yè)生一卡通退款申請、寒假在校登記、延長畢業(yè)學生宿舍申請、會議記錄等10多個數據應用。平均每個數據應用構建時間為1-2天,3-5天左右可上線智慧校園中的門戶和移動端。
本平臺基于數據應用模型和共享組件,提供數據應用快速構建能力,提高了代碼和功能的復用性,同時具有業(yè)務數據無關性,在智慧校園的數據應用開發(fā)以及數據分析應用方面,具有良好的使用價值。后續(xù),隨著公共組件的不斷豐富,將能滿足更多的智慧校園建設需求。