陳見長,張軍琿,霍建偉,史玉龍
(云河(河南)信息科技有限公司,河南 鄭州 450003)
低代碼平臺開發(fā)理念[1]近年來逐漸風(fēng)靡,在電子政務(wù)、電子商務(wù)、金融等領(lǐng)域得到了快速發(fā)展[2]37,目前正在向工業(yè)[3]、交通[4]、物流[5]、運維[6]等方面的信息化建設(shè)快速滲透。低代碼開發(fā)以代碼復(fù)用為核心,可視化編程為方式,通過配置屬性、拖拽元素等手段實現(xiàn)系統(tǒng)開發(fā)[7]。低代碼平臺能夠有效降低開發(fā)門檻,實現(xiàn)快速高效的業(yè)務(wù)搭建,即使沒有豐富的代碼經(jīng)驗,也可以參與其中進(jìn)行功能開發(fā)。
目前,水利工程建設(shè)管理系統(tǒng)主要以 B/S 模式建設(shè)[8]為主,多采用前后端分離的開發(fā)方式,同時多與報表、工作流引擎、視頻、BIM + GIS[9-11]等技術(shù)集成,增加了研發(fā)的復(fù)雜度。為降低研發(fā)的復(fù)雜度和集成的耦合度,本研究將低代碼平臺運用到水利工程建設(shè)管理系統(tǒng)研發(fā)中,通過梳理水利工程建設(shè)管理系統(tǒng)的功能業(yè)務(wù)和系統(tǒng)特點,運用 JEPaaS 低代碼平臺,實現(xiàn)對水利工程建設(shè)管理系統(tǒng)的研發(fā)。
水利工程建設(shè)管理系統(tǒng)可以實現(xiàn)建設(shè)期相關(guān)業(yè)務(wù)的信息交互和協(xié)同管理[12-13],通過分析水利工程建設(shè)期業(yè)務(wù),總結(jié)系統(tǒng)的需求主要包括以下幾個方面:
1) 多種管理關(guān)系需求。水利工程建設(shè)過程中各單位之間存在一對一、一對多、多對多的交叉管理關(guān)系,因此系統(tǒng)需要處理好管理關(guān)系問題。
2) 大量表單功能需求。水利工程建設(shè)管理業(yè)務(wù)包含大量的臺賬管理,多以增、刪、改、查的功能呈現(xiàn),通過表單控件進(jìn)行數(shù)據(jù)輸入。
3) 較多業(yè)務(wù)協(xié)同功能需求。水利工程建設(shè)管理業(yè)務(wù)存在較多的工作流程,以滿足水利工程建設(shè)過程中協(xié)同辦公管理的需求。
4) 標(biāo)準(zhǔn)化表格打印和輸出需求。水利工程建設(shè)管理存在大量的標(biāo)準(zhǔn)化表格輸出需求,例如質(zhì)量驗評、水利工程施工監(jiān)理規(guī)范的表格等。因此需要系統(tǒng)具備標(biāo)準(zhǔn)化表格的打印和下載功能。
5) 統(tǒng)計報表功能需求。在投資、合同、支付、進(jìn)度、驗評、隱患、物資等方面存在表格和統(tǒng)計圖等多種表現(xiàn)形式的統(tǒng)計需求。
6) 數(shù)據(jù)可視化展示需求。水利工程建設(shè)管理系統(tǒng)需要能夠以 BIM + GIS 的可視化方式,對各業(yè)務(wù)數(shù)據(jù)進(jìn)行全局展示,使得管理層能夠?qū)こ痰恼w情況進(jìn)行管控。
7) 移動端業(yè)務(wù)功能需求。通過 App 實現(xiàn)相關(guān)業(yè)務(wù)數(shù)據(jù)錄入和流程處理,提高項目管理效率。
8) 信創(chuàng)環(huán)境部署需求[14-15]。水利工程建設(shè)管理負(fù)責(zé)單位多為國企或事業(yè)單位,因此系統(tǒng)需要能夠在信創(chuàng)環(huán)境下的運行。
通過需求分析可知,水利工程建設(shè)管理系統(tǒng)的研發(fā)需要面對復(fù)雜管理關(guān)系、大量表單、工作流、統(tǒng)計報表、可視化展示等功能需求,存在較大重復(fù)開發(fā)量。引入低代碼平臺進(jìn)行開發(fā),可通過頁面配置和元素拖拽,解決大量代碼層面的重復(fù)工作,實現(xiàn)快速高效的業(yè)務(wù)搭建,既能提高開發(fā)效率,又能保障系統(tǒng)的兼容性和穩(wěn)定性。
系統(tǒng)采用 3 層技術(shù)架構(gòu)設(shè)計,即基礎(chǔ)設(shè)施層、應(yīng)用支撐層和應(yīng)用系統(tǒng)層?;?B/S 模式,采用 J2EE的 Spring 家族框架和 Vue 進(jìn)行開發(fā),RESTful 風(fēng)格進(jìn)行數(shù)據(jù)交互。系統(tǒng)架構(gòu)如圖1 所示。各層介紹如下:
圖1 系統(tǒng)架構(gòu)圖
1) 基礎(chǔ)設(shè)施層。實現(xiàn)項目信息從采集、存儲到管理等全過程的有機組合,搭建各項業(yè)務(wù)支撐平臺,為信息資源共享、交換、傳輸和利用奠定基礎(chǔ)。其中,數(shù)據(jù)庫是系統(tǒng)的數(shù)據(jù)核心,負(fù)責(zé)存儲和管理系統(tǒng)需要的各類信息,包括項目管理、空間地理等數(shù)據(jù)。信息基礎(chǔ)設(shè)施包括通信和計算機網(wǎng)絡(luò)等系統(tǒng)。同時可對接智慧工地信息采集、智能建造信息采集、實體環(huán)境及相關(guān)硬件設(shè)備,構(gòu)建系統(tǒng)運行需要的基礎(chǔ)環(huán)境。
2) 應(yīng)用支撐層。構(gòu)建連接基礎(chǔ)設(shè)施和應(yīng)用系統(tǒng)的橋梁,是以應(yīng)用服務(wù)器、中間件技術(shù)為核心的基礎(chǔ)軟件技術(shù)支撐平臺,包括工作流引擎、消息引擎服務(wù)、統(tǒng)計報表服務(wù)、GIS 系統(tǒng)服務(wù)、BIM 系統(tǒng)服務(wù)、J2EE + VUE 等。實現(xiàn)資源的有效共享和各應(yīng)用系統(tǒng)的互聯(lián)互通,為應(yīng)用系統(tǒng)提供技術(shù)支持、多種服務(wù)及運行環(huán)境,是實現(xiàn)應(yīng)用系統(tǒng)之間及應(yīng)用系統(tǒng)與其他平臺之間信息交換、傳輸、共享的核心。
3) 業(yè)務(wù)應(yīng)用層。主要包括水利工程建設(shè)管理業(yè)務(wù)功能、數(shù)據(jù)可視化展示、移動服務(wù)等多項業(yè)務(wù)。在業(yè)務(wù)應(yīng)用層通過客戶端建立與應(yīng)用支撐組件、數(shù)據(jù)服務(wù)的連接,建立全面的信息支持環(huán)境,提供高效實用的水利工程建設(shè)建管系統(tǒng)。
通過分析需求和水利工程建設(shè)管理的業(yè)務(wù),系統(tǒng)功能設(shè)計主要包括:
1) 權(quán)限管理。包括員工、組織、角色、崗位、菜單、功能等管理模塊。根據(jù)建設(shè)現(xiàn)場情況配置組織結(jié)構(gòu),根據(jù)角色和崗位分配菜單和功能權(quán)限,系統(tǒng)通過手機號碼進(jìn)行登錄認(rèn)證。
2) 基礎(chǔ)信息管理。包括標(biāo)段劃分、項目關(guān)系等模塊。標(biāo)段劃分功能將水利工程按照標(biāo)段進(jìn)行分解,包括標(biāo)段編碼、名稱等信息;項目關(guān)系功能用于配置標(biāo)段與合同、施工單位、監(jiān)理單位、第三方檢測單位、建設(shè)單位部門、主管人員之間的管理關(guān)系?;A(chǔ)信息與權(quán)限管理相互配合,形成各方之間的管理關(guān)系配置。
3) 項目管理類功能。包括以下功能模塊:a.進(jìn)度模塊?;?PDCA 循環(huán)原理,依托甘特圖進(jìn)行展示,實現(xiàn)對進(jìn)度的動態(tài)閉環(huán)管控。b.質(zhì)量模塊。以項目劃分為基礎(chǔ),實現(xiàn)對質(zhì)量評定過程的管理,并通過圖表對相關(guān)指標(biāo)進(jìn)行統(tǒng)計。c.安全模塊。以危險源管控為核心,對安全施工、隱患預(yù)警、安全事故、事故追溯等安全要素進(jìn)行管控。d.設(shè)計模塊。主要實現(xiàn)從設(shè)計計劃到圖紙發(fā)布的過程管控。e.物資模塊。面向甲供材料過程,控制采購計劃、采購管理、入庫管理、庫存管理、出庫管理、賬務(wù)管理等,并自動形成各種報表數(shù)據(jù)。f.溝通模塊。參照 SL 288—2014《水利工程施工監(jiān)理規(guī)范》,開發(fā)電子化流程,實現(xiàn)各參建單位線上業(yè)務(wù)報批和工程事務(wù)聯(lián)系。g.技術(shù)檔案模塊。面向工程勘察、結(jié)構(gòu)設(shè)計成果、施工文件成果等審批后的資料進(jìn)行歸檔,方便建設(shè)單位和各參建單位查閱。
4) 投資計劃類功能。包括以下功能:a.項目招標(biāo)管理功能。主要包括招標(biāo)計劃、過程、臺賬等方面的管理,以總招標(biāo)計劃及各年的招標(biāo)計劃管理為基礎(chǔ),按照相關(guān)的招標(biāo)管理制度進(jìn)行招標(biāo),對招標(biāo)過程中的相關(guān)信息進(jìn)行記錄管理。b.合同管理功能。主要管理合同的商務(wù)執(zhí)行過程,以建設(shè)單位合同管理制度為基礎(chǔ),從合同會簽開始,建立合同審批流程,并對審批完的合同與后續(xù)的計量結(jié)算、合同變更、合同索賠等商務(wù)過程形成關(guān)聯(lián)管理,同時對審批流程和結(jié)果進(jìn)行追溯。c.投資計劃管理功能。主要對投資預(yù)算、項目投資、項目支付、項目結(jié)算等環(huán)節(jié)進(jìn)行管理,對項目投資進(jìn)行有效控制和監(jiān)控,主要包括投資預(yù)算、項目投資、項目支付、項目結(jié)算等管理功能。
5) 可視化類功能。包括統(tǒng)計圖表類、大屏展示類功能。將系統(tǒng)的主要數(shù)據(jù)形象化、直觀化、具體化,結(jié)合 BIM + GIS 和豐富的圖表,實現(xiàn)工程總覽、進(jìn)度、投資、質(zhì)量、安全等關(guān)鍵信息的集中展示,使用戶宏觀上能夠?qū)崟r把控水利工程建設(shè)過程的關(guān)鍵信息,同時無縫切入各管理模塊,對數(shù)據(jù)進(jìn)行跟蹤分析,為管理人員提供決策支撐。
目前流行的低代碼平臺眾多[2]17,根據(jù)水利工程建設(shè)管理系統(tǒng)的特點,對比各低代碼平臺的技術(shù),最終選取 JEPaaS[16]低代碼開發(fā)平臺進(jìn)行開發(fā)。該平臺具有如下特點:
1) 采用主流技術(shù)框架進(jìn)行平臺搭建。平臺能夠契合水利工程建設(shè)管理系統(tǒng)的技術(shù)架構(gòu),為系統(tǒng)提供較為開放的集成性和良好的兼容性,技術(shù)構(gòu)成如表1 所示。
表1 JEPaaS 平臺技術(shù)構(gòu)成表
2) 實現(xiàn)可視化配置開發(fā)。平臺以低代碼拖拽元素的方式配置表單樣式,開發(fā)水利工程建設(shè)管理系統(tǒng)中表單臺賬類功能。操作簡單,不需要代碼,可以解決 Java 項目 80%的重復(fù)工作,讓開發(fā)者更多地關(guān)注業(yè)務(wù)邏輯,大大提高研發(fā)效率。
3) 實現(xiàn)工作流可視化配置開發(fā)。平臺工作流開發(fā)引擎采用可視化編輯,支持包括串行、并行、多分支、嵌套等多種形式的流程設(shè)計,并支持流程版本控制、消息提醒、審批記錄、流程流轉(zhuǎn)事件,幫助開發(fā)人員設(shè)計出專業(yè)的水利工程建設(shè)管理系統(tǒng)業(yè)務(wù)流程功能,提高研發(fā)效率。
4) 實現(xiàn)標(biāo)準(zhǔn)化表格在線裝配和 Web 打印。平臺提供打印模板的可視化快速規(guī)劃工具,可在 Web 端繪制表格,并裝配復(fù)雜的單據(jù)數(shù)據(jù),實現(xiàn)表格的輸出和打印。
5) 強大的 BI 報表引擎。平臺的 BI 報表引擎可快速搭建面向業(yè)務(wù)的數(shù)據(jù)分析和 BI 報表界面,實現(xiàn)水利工程建設(shè)管理系統(tǒng)業(yè)務(wù)數(shù)據(jù)的可視化分析。可輕松制作常用報表、交叉報表、填報報表、餅圖、柱形圖、折線圖、雷達(dá)圖、儀表圖等常用圖形報表。
6) 實現(xiàn) App 快速開發(fā)。平臺提供在線的 App開發(fā)工具,通過配置方式快速開發(fā) App 的多種功能,可進(jìn)行菜單的快速規(guī)劃授權(quán),支持功能、插件、圖表、報表、鏈接等多種功能類型,并可通過列表使用自定義HTML 快速開發(fā)、表單快速配置、查詢快速配置功能開發(fā)。
7) 實現(xiàn)信創(chuàng)環(huán)境部署。平臺支持各類國產(chǎn)化軟件的適配,可在中標(biāo)麒麟、銀河麒麟等國產(chǎn)操作系統(tǒng)中部署;支持達(dá)夢、神通、人大金倉等國產(chǎn)數(shù)據(jù)庫的連接,滿足水利工程建設(shè)管理系統(tǒng)信創(chuàng)環(huán)境運行的需求。
8) 支持二次開發(fā)和功能拓展。平臺可通過 2 種方式接入外部接口:在功能配置中配置外部系統(tǒng)接口頁面,實現(xiàn)頁面集成;依托平臺服務(wù)在代碼層面進(jìn)行二次開發(fā)功能拓展。通過 2 種方式實現(xiàn)平臺與 BIM,GIS,算法等的集成,從而實現(xiàn)低代碼與自定義開發(fā)的結(jié)合,具有很高的靈活性。
JEPaaS 平臺具備完整的權(quán)限管理功能,包括員工、組織、角色、崗位、菜單、功能等管理模塊,不需要再進(jìn)行開發(fā)。在組織管理功能中,可將同一個用戶分配至不同的組織部門,用戶只需要 1 個賬號,即可選擇多個組織部門登錄,避免了登錄 1 個部門需要 1 個賬號的情況。
標(biāo)段劃分功能通過 JEPaaS 平臺的樹形列表,將水利工程按標(biāo)段進(jìn)行拆分,顯示效果清晰,便于管理;項目關(guān)系功能以臺賬的形式建立標(biāo)段字段與合同、施工單位、監(jiān)理單位、第三方檢測單位、建設(shè)單位部門、主管人員等各種 ID 之間的管理關(guān)系。
進(jìn)度模塊方面,運用 JEPaaS 平臺良好的可拓展性,在 JEPaaS 平臺中集成甘特圖插件,依托甘特圖實現(xiàn)進(jìn)度計劃的制定、反饋、預(yù)警等功能。質(zhì)量、安全、設(shè)計、溝通等功能按照水利規(guī)范標(biāo)準(zhǔn)業(yè)務(wù)進(jìn)行開發(fā),存在大量表單功能和標(biāo)準(zhǔn)化表格的輸出打印,采用JEPaaS 平臺的可視化表單設(shè)計對表單元素進(jìn)行排版拖拽,形成表單填報頁面,同時運用表格工具匹配表單數(shù)據(jù),實現(xiàn)標(biāo)準(zhǔn)表格在線裝配和Web打印,最終輸出標(biāo)準(zhǔn)化表格,打印后可做成紙質(zhì)材料歸檔。開發(fā)總體無需代碼,節(jié)省大量開發(fā)時間。
投資計劃類功能不僅包含大量表單設(shè)計和打印輸出,還需要實現(xiàn)復(fù)雜的業(yè)務(wù)流程,同時伴隨金額的關(guān)聯(lián)計算。針對業(yè)務(wù)流程,JEPaaS 平臺依托工作流編輯器實現(xiàn)工作流可視化配置開發(fā),通過建立流程與功能的關(guān)系,拖拽和關(guān)聯(lián)審批節(jié)點,實現(xiàn)流程的在線配置。工作流編輯器可控制每一個審批節(jié)點的按鈕和字段顯示權(quán)限,同時支持節(jié)點事件編輯,可將節(jié)點與金額計算等方法事件進(jìn)行關(guān)聯(lián),進(jìn)而通過可視化配置的方式完成復(fù)雜的投資支付流程的開發(fā)。該方式避免了傳統(tǒng)方式中工作流開發(fā)需要大量代碼開發(fā)的局面,節(jié)約了研發(fā)時間。
在系統(tǒng)的招標(biāo)、合同、投資、質(zhì)量等功能中存在大量統(tǒng)計報表的輸出,可通過 JEPaaS 平臺的圖報表引擎,在文本編輯界面中在線制作統(tǒng)計報表格式并關(guān)聯(lián)業(yè)務(wù)數(shù)據(jù)源,不需要通過編寫繁冗的 HTML 和 CSS代碼開發(fā)程序?qū)用?,便捷地實現(xiàn)報表輸出配置。
大屏展示功能在 BIM + GIS 圖層上集成水利工程建設(shè)相關(guān)業(yè)務(wù)數(shù)據(jù),通過 ECharts 圖表進(jìn)行數(shù)據(jù)的統(tǒng)計展示,同時建立數(shù)據(jù)與 BIM 模型和 GIS 圖層的交互,該功能需要獨立開發(fā)并建立服務(wù),如圖2 所示。JEPaaS 平臺提供了良好的業(yè)務(wù)數(shù)據(jù)和功能集成的接口,能夠快速集成,體現(xiàn)了平臺二次開發(fā)和功能拓展的能力。
圖2 全局監(jiān)控功能
通過對水利工程建設(shè)管理系統(tǒng)的技術(shù)架構(gòu)和功能特點進(jìn)行分析,選取 JEPaaS 低代碼平臺進(jìn)行開發(fā)。JEPaaS 低代碼平臺能夠滿足水利工程建設(shè)管理系統(tǒng)業(yè)務(wù)開發(fā)需求,開發(fā)出的水利工程建設(shè)管理系統(tǒng)功能豐富,性能穩(wěn)定。低代碼平臺使不懂編程的人員,通過拖拽、配置等操作,也可以參與到系統(tǒng)開發(fā)中,節(jié)省了大量編程開發(fā)人力。目前,系統(tǒng)已應(yīng)用于東莊水利樞紐、引綽濟遼等工程的建設(shè)中,取得了良好的應(yīng)用效果,為水利工程建設(shè)管理系統(tǒng)開發(fā)技術(shù)路線提供參考。