面向敏捷应用的低代码开发技术及平台建设( 三 )


面向敏捷应用的低代码开发技术及平台建设

文章插图
图 1 低代码开发平台系统架构
第一层支持IaaS(基础设施即服务),云服务提供商租赁模式的基础设施,本项目使用混合云 。第二层支持CaaS(容器即服务),使用云厂商提供的托管的容器编排引擎部署和运行容器,管理集群,自动扩展和故障管理,并维护共同的基础设施层,包括治理和安全,本项目使用的为青云,其内置了Kubernetes 。第三层支持PaaS(平台即服务),使用云服务提供商云服务中的软件,如数据库、对象存储和缓存等,本项目使用对象存储OBS 。第四层支持SaaS(软件即服务),将低代码开发模块封装为单独的应用,提供给各个租户 。
3.2表单引擎设计
表单引擎是快速实现表单开发的轻量级设计工具 。目前,有2种思路可实现表单引擎设计,具体如下 。
1)基于文件:创建表单时,先创建一个网页文件,在该文件上按需拖放Web控件,表单运行时,给网页随机生成一个地址,并将地址配置到菜单 。
2)基于关系数据库:由表单设计器、表单解析执行器、表单模板3部分组成 。表单设计器将表单元素存储到关系数据库,并为每个表单生成一个ID;表单模板将从表单设计器上设计的组件关系存储到数据库,由各个组件表组成的数据关系,组合成表单模板;表单解析执行器解析表单模板数据,并在网页上展示 。
3.3流程引擎设计
流程引擎用于为表单的审批提供支持,本项目流程引擎使用开源的Camunda,可自定义流程模板和节点驱动 。
3.3.1数据库设计
自定义的数据库表主要对Camunda原生的数据库表做进一步扩展,以支持子任务、任务与审批对象之间的关联、多人会签投票、审批历史等与业务强相关的场景 。流程引擎数据库表设计如图2所示 。
面向敏捷应用的低代码开发技术及平台建设

文章插图
图 2 流程引擎数据库表设计(部分)
3.3.2功能实现
各租户可根据自身业务流程需要自定义流程模板,并可保存后再次编辑 。Camunda工作流引擎的流程元素节点主要包括开始事件、中间/边界事件、结束事件、网关、任务、子流程、数据对象引用、数据仓库引用、参与者和组 。其中,最常用的任务节点包括常规任务、不足的是,空中三角运算的三维模型生成技术存在一些局限性,例如模型效果受到采集影像影响、生成的较高精度模型仍然需要内业人员进行针对性修缮、重做等,进而导致三维可视化系统制作过程中产生新的开销 。不过可以预料的是,随着测量技术与三维可视化技术的迭代更新,更加成熟的理论应用和研究成果将不断迸发 。在全面实施乡村振兴战略背景下,乡村规划作为促进乡村可持续发展的重要治理工具之一,将发挥更大的作用 。这也将为我国乡村地区实景三维模型建设提供技术参考与应用思路,为加快构建智慧乡村平台提供技术可行性依据 。




推荐阅读