陈见长,张军珲,霍建伟,史玉龙
(云河(河南)信息科技有限公司,河南 郑州 450003)
低代码平台开发理念[1]近年来逐渐风靡,在电子政务、电子商务、金融等领域得到了快速发展[2]37,目前正在向工业[3]、交通[4]、物流[5]、运维[6]等方面的信息化建设快速渗透。低代码开发以代码复用为核心,可视化编程为方式,通过配置属性、拖拽元素等手段实现系统开发[7]。低代码平台能够有效降低开发门槛,实现快速高效的业务搭建,即使没有丰富的代码经验,也可以参与其中进行功能开发。
目前,水利工程建设管理系统主要以 B/S 模式建设[8]为主,多采用前后端分离的开发方式,同时多与报表、工作流引擎、视频、BIM + GIS[9-11]等技术集成,增加了研发的复杂度。为降低研发的复杂度和集成的耦合度,本研究将低代码平台运用到水利工程建设管理系统研发中,通过梳理水利工程建设管理系统的功能业务和系统特点,运用 JEPaaS 低代码平台,实现对水利工程建设管理系统的研发。
水利工程建设管理系统可以实现建设期相关业务的信息交互和协同管理[12-13],通过分析水利工程建设期业务,总结系统的需求主要包括以下几个方面:
1) 多种管理关系需求。水利工程建设过程中各单位之间存在一对一、一对多、多对多的交叉管理关系,因此系统需要处理好管理关系问题。
2) 大量表单功能需求。水利工程建设管理业务包含大量的台账管理,多以增、删、改、查的功能呈现,通过表单控件进行数据输入。
3) 较多业务协同功能需求。水利工程建设管理业务存在较多的工作流程,以满足水利工程建设过程中协同办公管理的需求。
4) 标准化表格打印和输出需求。水利工程建设管理存在大量的标准化表格输出需求,例如质量验评、水利工程施工监理规范的表格等。因此需要系统具备标准化表格的打印和下载功能。
5) 统计报表功能需求。在投资、合同、支付、进度、验评、隐患、物资等方面存在表格和统计图等多种表现形式的统计需求。
6) 数据可视化展示需求。水利工程建设管理系统需要能够以 BIM + GIS 的可视化方式,对各业务数据进行全局展示,使得管理层能够对工程的整体情况进行管控。
7) 移动端业务功能需求。通过 App 实现相关业务数据录入和流程处理,提高项目管理效率。
8) 信创环境部署需求[14-15]。水利工程建设管理负责单位多为国企或事业单位,因此系统需要能够在信创环境下的运行。
通过需求分析可知,水利工程建设管理系统的研发需要面对复杂管理关系、大量表单、工作流、统计报表、可视化展示等功能需求,存在较大重复开发量。引入低代码平台进行开发,可通过页面配置和元素拖拽,解决大量代码层面的重复工作,实现快速高效的业务搭建,既能提高开发效率,又能保障系统的兼容性和稳定性。
系统采用 3 层技术架构设计,即基础设施层、应用支撑层和应用系统层。基于 B/S 模式,采用 J2EE的 Spring 家族框架和 Vue 进行开发,RESTful 风格进行数据交互。系统架构如图1 所示。各层介绍如下:
图1 系统架构图
1) 基础设施层。实现项目信息从采集、存储到管理等全过程的有机组合,搭建各项业务支撑平台,为信息资源共享、交换、传输和利用奠定基础。其中,数据库是系统的数据核心,负责存储和管理系统需要的各类信息,包括项目管理、空间地理等数据。信息基础设施包括通信和计算机网络等系统。同时可对接智慧工地信息采集、智能建造信息采集、实体环境及相关硬件设备,构建系统运行需要的基础环境。
2) 应用支撑层。构建连接基础设施和应用系统的桥梁,是以应用服务器、中间件技术为核心的基础软件技术支撑平台,包括工作流引擎、消息引擎服务、统计报表服务、GIS 系统服务、BIM 系统服务、J2EE + VUE 等。实现资源的有效共享和各应用系统的互联互通,为应用系统提供技术支持、多种服务及运行环境,是实现应用系统之间及应用系统与其他平台之间信息交换、传输、共享的核心。
3) 业务应用层。主要包括水利工程建设管理业务功能、数据可视化展示、移动服务等多项业务。在业务应用层通过客户端建立与应用支撑组件、数据服务的连接,建立全面的信息支持环境,提供高效实用的水利工程建设建管系统。
通过分析需求和水利工程建设管理的业务,系统功能设计主要包括:
1) 权限管理。包括员工、组织、角色、岗位、菜单、功能等管理模块。根据建设现场情况配置组织结构,根据角色和岗位分配菜单和功能权限,系统通过手机号码进行登录认证。
2) 基础信息管理。包括标段划分、项目关系等模块。标段划分功能将水利工程按照标段进行分解,包括标段编码、名称等信息;项目关系功能用于配置标段与合同、施工单位、监理单位、第三方检测单位、建设单位部门、主管人员之间的管理关系。基础信息与权限管理相互配合,形成各方之间的管理关系配置。
3) 项目管理类功能。包括以下功能模块:a.进度模块。基于 PDCA 循环原理,依托甘特图进行展示,实现对进度的动态闭环管控。b.质量模块。以项目划分为基础,实现对质量评定过程的管理,并通过图表对相关指标进行统计。c.安全模块。以危险源管控为核心,对安全施工、隐患预警、安全事故、事故追溯等安全要素进行管控。d.设计模块。主要实现从设计计划到图纸发布的过程管控。e.物资模块。面向甲供材料过程,控制采购计划、采购管理、入库管理、库存管理、出库管理、账务管理等,并自动形成各种报表数据。f.沟通模块。参照 SL 288—2014《水利工程施工监理规范》,开发电子化流程,实现各参建单位线上业务报批和工程事务联系。g.技术档案模块。面向工程勘察、结构设计成果、施工文件成果等审批后的资料进行归档,方便建设单位和各参建单位查阅。
4) 投资计划类功能。包括以下功能:a.项目招标管理功能。主要包括招标计划、过程、台账等方面的管理,以总招标计划及各年的招标计划管理为基础,按照相关的招标管理制度进行招标,对招标过程中的相关信息进行记录管理。b.合同管理功能。主要管理合同的商务执行过程,以建设单位合同管理制度为基础,从合同会签开始,建立合同审批流程,并对审批完的合同与后续的计量结算、合同变更、合同索赔等商务过程形成关联管理,同时对审批流程和结果进行追溯。c.投资计划管理功能。主要对投资预算、项目投资、项目支付、项目结算等环节进行管理,对项目投资进行有效控制和监控,主要包括投资预算、项目投资、项目支付、项目结算等管理功能。
5) 可视化类功能。包括统计图表类、大屏展示类功能。将系统的主要数据形象化、直观化、具体化,结合 BIM + GIS 和丰富的图表,实现工程总览、进度、投资、质量、安全等关键信息的集中展示,使用户宏观上能够实时把控水利工程建设过程的关键信息,同时无缝切入各管理模块,对数据进行跟踪分析,为管理人员提供决策支撑。
目前流行的低代码平台众多[2]17,根据水利工程建设管理系统的特点,对比各低代码平台的技术,最终选取 JEPaaS[16]低代码开发平台进行开发。该平台具有如下特点:
1) 采用主流技术框架进行平台搭建。平台能够契合水利工程建设管理系统的技术架构,为系统提供较为开放的集成性和良好的兼容性,技术构成如表1 所示。
表1 JEPaaS 平台技术构成表
2) 实现可视化配置开发。平台以低代码拖拽元素的方式配置表单样式,开发水利工程建设管理系统中表单台账类功能。操作简单,不需要代码,可以解决 Java 项目 80%的重复工作,让开发者更多地关注业务逻辑,大大提高研发效率。
3) 实现工作流可视化配置开发。平台工作流开发引擎采用可视化编辑,支持包括串行、并行、多分支、嵌套等多种形式的流程设计,并支持流程版本控制、消息提醒、审批记录、流程流转事件,帮助开发人员设计出专业的水利工程建设管理系统业务流程功能,提高研发效率。
4) 实现标准化表格在线装配和 Web 打印。平台提供打印模板的可视化快速规划工具,可在 Web 端绘制表格,并装配复杂的单据数据,实现表格的输出和打印。
5) 强大的 BI 报表引擎。平台的 BI 报表引擎可快速搭建面向业务的数据分析和 BI 报表界面,实现水利工程建设管理系统业务数据的可视化分析。可轻松制作常用报表、交叉报表、填报报表、饼图、柱形图、折线图、雷达图、仪表图等常用图形报表。
6) 实现 App 快速开发。平台提供在线的 App开发工具,通过配置方式快速开发 App 的多种功能,可进行菜单的快速规划授权,支持功能、插件、图表、报表、链接等多种功能类型,并可通过列表使用自定义HTML 快速开发、表单快速配置、查询快速配置功能开发。
7) 实现信创环境部署。平台支持各类国产化软件的适配,可在中标麒麟、银河麒麟等国产操作系统中部署;支持达梦、神通、人大金仓等国产数据库的连接,满足水利工程建设管理系统信创环境运行的需求。
8) 支持二次开发和功能拓展。平台可通过 2 种方式接入外部接口:在功能配置中配置外部系统接口页面,实现页面集成;依托平台服务在代码层面进行二次开发功能拓展。通过 2 种方式实现平台与 BIM,GIS,算法等的集成,从而实现低代码与自定义开发的结合,具有很高的灵活性。
JEPaaS 平台具备完整的权限管理功能,包括员工、组织、角色、岗位、菜单、功能等管理模块,不需要再进行开发。在组织管理功能中,可将同一个用户分配至不同的组织部门,用户只需要 1 个账号,即可选择多个组织部门登录,避免了登录 1 个部门需要 1 个账号的情况。
标段划分功能通过 JEPaaS 平台的树形列表,将水利工程按标段进行拆分,显示效果清晰,便于管理;项目关系功能以台账的形式建立标段字段与合同、施工单位、监理单位、第三方检测单位、建设单位部门、主管人员等各种 ID 之间的管理关系。
进度模块方面,运用 JEPaaS 平台良好的可拓展性,在 JEPaaS 平台中集成甘特图插件,依托甘特图实现进度计划的制定、反馈、预警等功能。质量、安全、设计、沟通等功能按照水利规范标准业务进行开发,存在大量表单功能和标准化表格的输出打印,采用JEPaaS 平台的可视化表单设计对表单元素进行排版拖拽,形成表单填报页面,同时运用表格工具匹配表单数据,实现标准表格在线装配和Web打印,最终输出标准化表格,打印后可做成纸质材料归档。开发总体无需代码,节省大量开发时间。
投资计划类功能不仅包含大量表单设计和打印输出,还需要实现复杂的业务流程,同时伴随金额的关联计算。针对业务流程,JEPaaS 平台依托工作流编辑器实现工作流可视化配置开发,通过建立流程与功能的关系,拖拽和关联审批节点,实现流程的在线配置。工作流编辑器可控制每一个审批节点的按钮和字段显示权限,同时支持节点事件编辑,可将节点与金额计算等方法事件进行关联,进而通过可视化配置的方式完成复杂的投资支付流程的开发。该方式避免了传统方式中工作流开发需要大量代码开发的局面,节约了研发时间。
在系统的招标、合同、投资、质量等功能中存在大量统计报表的输出,可通过 JEPaaS 平台的图报表引擎,在文本编辑界面中在线制作统计报表格式并关联业务数据源,不需要通过编写繁冗的 HTML 和 CSS代码开发程序层面,便捷地实现报表输出配置。
大屏展示功能在 BIM + GIS 图层上集成水利工程建设相关业务数据,通过 ECharts 图表进行数据的统计展示,同时建立数据与 BIM 模型和 GIS 图层的交互,该功能需要独立开发并建立服务,如图2 所示。JEPaaS 平台提供了良好的业务数据和功能集成的接口,能够快速集成,体现了平台二次开发和功能拓展的能力。
图2 全局监控功能
通过对水利工程建设管理系统的技术架构和功能特点进行分析,选取 JEPaaS 低代码平台进行开发。JEPaaS 低代码平台能够满足水利工程建设管理系统业务开发需求,开发出的水利工程建设管理系统功能丰富,性能稳定。低代码平台使不懂编程的人员,通过拖拽、配置等操作,也可以参与到系统开发中,节省了大量编程开发人力。目前,系统已应用于东庄水利枢纽、引绰济辽等工程的建设中,取得了良好的应用效果,为水利工程建设管理系统开发技术路线提供参考。