铁路低代码轻应用开发中的关键技术研究
摘 要:  铁路行业具有成员多、分布广、业务复杂的特点,且可能出现规模较小、业务相对独立复杂、安全要求高的轻应用开发需求。低代码开发可以极大缩短轻应用的开发流程,而对于数据在不同用户间的周转需求的解决,则是铁路行业轻应用开发的一项关键点。本文研究了铁路低代码轻应用开发中使用到的关键技术,通过使用基于表单驱动的流程表单技术,并结合对用户权限的安全控制技术,满足业务数据在不同用户之间的复杂周转处理需求,可大大提高开发灵活性与业务广泛性。
关键词:表单驱动;安全控制;轻应用
李英东:铁路低代码轻应用开发中的关键技术研究
引言
铁路行业是国家发展与民生的重要行业领域,铁路行业覆盖全国,且具有范围大、成员广、业务众多的特点。同时随着信息技术的发展,信息化在生产的方方面面起到越来越重要的作用。目前,信息化手段日渐在运输组织、资源管理、 营销服务等诸多方面扮演不可或缺的角
[1]
在铁路行业中,各企业单位规模大小不一,很多信息化应用相对独立,业务数量相对单一,但业务内容比较复杂,且对于安全要求相对较高。因此,部分中小型企业单位经常需要开发规模较小但需要满足较复杂业务需求及较高安全需求的应用。相比于规模较大企业单位的大型系统平台,这种应用可称为轻应用。低代码开发技术实现对于简单轻应用的快速开发,而对于数据在不同用户之间的复杂周转且要保障数据安全的需求的满足,则是低代码开发技术的关键。
1需求分析
铁路行业下属单位可能存在独立的业务需求,仅对内部人员开放使用权限,但在业务上会涉及到较多人员,业务内容复杂,并以业务流程的形式进行处理。此外,出于对于数据信息安全性的要求,在流程中需要将数据在不同用户之间流转,所以对于不同用户的权限控制也非常重要。低代码平台是一个介于无代码和成熟人工编码之间的中间地带,因此更具延展性[2]。可以通过低代码开发,较快完成对于简单轻应用的开发。低代码平台可以基于数据对象对代码进行快速复用,从而搭建出简单的应用,满足对数据的增删改查等一般功
能。在铁路行业中使用低代码开发技术,需要通过对相关技术的研究,重点研究对业务流程及对权限控制的实现与支持。
2  架构设计
本文提出的铁路低代码轻应用架构基于铁路行业部分使用场景下的轻应用与高安全的需求特点,在低代码开发框架的基础上,引入流程表单框架及安全控制权限机制,以流程引擎与表单引擎组成流程表单框架实现对复杂业务流程的周转,并在该过程中通过安全控制机制以不同用户为操作主体实现对其流程过程中的操作进行权限控制。总体框架结构如下图所示。
在该框架中,由低代码开发框架实现对应用基本功能的开发与拓展,并通过低代码开发框
架管理用户信息及实现一些基础业务功能的开发。通过流程表单框架实现对复杂业务流程的功能实现,其中通过流程引擎设计复杂业务流程,通过表单引擎设计各个流程节点中的显示表单页面及操作逻辑。流程表单框架使用开发主框架的用户信息与组织架构等基本信息,并在部分业务中与主框架进行数据交互。在主框架中,引入安全控制权限机制,以实现对不同用户的权限控制,无权限用户不可查看相关数据或进行相关操作,保障在流程发起及运转过程中的数据安全。该架构通过结合流程表单框架和引入安全控制权限机制,分别实现了复杂业务流程的功能及相关安全性的保障。架构独立部署于内网环境,可以实现在内网环境下的开发拓展与运行维护,同时在预留开发接口可与内网环境中的其他应用系统进行交互。
3  关键技术
(1)基于表单驱动的流程表单技术
表单是信息交流的基本单位,也是信息管理系统编程的基本单位,是多个实体之间的多对多联系[3]shiro安全框架。表单驱动,即对数据对象在多个用户参与者之间流转处理的进一步抽象。基于表单驱动的流程表单技术,是在流程引擎上结合表单引擎。流程引擎是自动执行和管理业
务流程的工具,其面向业务,是对业务流程的可视化抽象,以节点为单位设计流程,通过不同节点的连接设计实现数据在不同用户之间的流转。表单引擎是可视化的表单设计工具,是对单个节点上的具体业务进行的进一步抽象,基于流程设计而非基于代码开发对各个节点上的操作界面及操作数据进行设计及管理。流程表单技术在将二者结合后,实现对流程全局及流程中的每个节点细节的全面设计,其可以在设置流程的同时进一步设定各个流程节点的数据表单,可以实现对流程与表单的单独复用,进而实现对流程与表单的“拖拉拽”设置。将流程表单技术与低代码轻应用结合,流程引擎在各个节点中获取应用中的用户数据信息,使得流程基于应用中的用户对象进行流转,表单引擎可以与应用中的其他数据进行交互,将数据对象从数据存储中提取,并基于用户数据划定操作流程,实现对数据的周转操作。在这种模式下,流程表单设置可脱离开发工作,不用再次修改源码。通过基于表单驱动的流程表单技术,可灵活处理数据对象在不同用户对象间的流转操作,完成对复杂流程业务需求的快速实现。
(2)基于Shiro的安全控制技术
Shiro是一套强大的Java安全框架,可实现对于用户的身份认证、权限认证、会话管理以及
加密等安全控制功能。Shiro主要由主体、安全管理器和领域组成。主体指一切与应用交互的操作主体,安全管理器为操作主体进行操作权限认证与授权,领域在认证授权时向安全管理器提供认证确认信息,并连接安全数据源。操作主体在进行登录操作后,安全管理器便会在数据库查询其用户信息及相关权限信息,然后发起会话,将相关权限信息存入领域,在用户退出登录或超时前,会话将一直存在。操作主体在应用中进行操作时,安全管理器便会在领域的会话中查询相关权限,从而进行权限控制。安全管理器验证在权限授权过程中,验证已认证的操作主体是否具备某个权限,如验证其是否拥有某个角,验证其对某个资源是否可以进行某项操作等。此外,在其认证与授权过程中对于查询到的密码信息的传输全部通过秘钥加密,同时由安全控制器对输入密码执行加盐加密算法,进而保障认证安全性。将安全控制技术与低代码轻应用结合,基于应用中的用户对象进行权限设定,可保证在流程中的各节点操作及数据展示中,对不同用户对象进行权限限制,进而提升流程运转的安全性。
4  结  论
通过对铁路低代码轻应用场景的需求进行分析,设计铁路低代码轻应用架构,并通过对基
于表单驱动的流程表单技术和基于Shiro的安全控制技术的关键技术研究,以流程表单技术实现业务流程周转需求,以安全控制技术保障操作安全性。可在保障安全性的前提下大大提升铁路低代码轻应用场景对复杂业务流程的开发能力及开发灵活性,降低开发成本。
参 考 文 献:
[1] 苏 莉 , 胡汉锋 . 铁路信息化工作管理系统的设计与实现 [J]. 铁路计算机应用,2018,27(3):24-25
[2] 李 佳 . 低代码与无代码的异同点 [J]. 计算机与网络,2021,47(17):32-33
[3] 方木云 , 刘海波 , 姜伟 . 一种基于表单的软件自动化开发方法 [J]. 软件工程,2020,23(6):17-19

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。