1、Deeppaas零代码开发平台技术白皮书文 件 编 号现 行 版 本V1总页数编制校对2023 年 02 月目录1 1 概述概述.4 42 2 需求分析需求分析.4 42.1 总体需求分析.42.2 开发平台需求分析.错误!未定义书签。错误!未定义书签。3 3 平台功能设计平台功能设计.4 43.1 平台技术架构.43.2 平台软硬件环境.73.3 前端界面设计.83.3.1 界面功能描述.83.3.2 前端界面控件.93.3.3 界面布局与控制-网页.113.3.4 界面布局与控制-组件(子表单).113.3.5 界面布局与控制-上下文.133.3.6 URL 路由与内置固定页面.133.3
2、.7 界面场景模式(动态样式).133.3.8 控件事件.143.3.9 事件规则.153.3.10 前端业务表达式.153.4 流程管理.163.4.1 流程配置可视化.163.4.2 流程环节类型以及配置.163.4.3 审批设置.173.4.4 环节事件.193.4.5 组织结构.193.5 后台服务.203.5.1 后台规则引擎.203.5.2 后台监控服务.213.6 接口管理.223.6.1 计算模型.223.6.2 平台接口.233.6.3 第三方服务.233.7 底层数据设计.243.7.1 数据源设置.243.7.2 数据表设置.253.7.3 文件存储.264 4 平台开发
3、部署结构平台开发部署结构.27274.1 工程结构.274.1.1 前端工程结构.274.1.2 后端工程结构.304.2 程序设计.334.2.1 数据仓库设计.334.2.2 界面引擎设计.344.2.3 流程引擎设计.354.2.4 规则引擎设计.394.2.5 租户体系设计.414.2.6 消息系统设计.424.2.7 通用接口设计.434.3 应用部署.434.3.1 单机模式部署.434.3.2 微服务模式部署.444.3.3 数据库使用.445 5 平台扩展与二次开发平台扩展与二次开发.45455.1 扩展平台功能.455.2 引用平台 JAR 包方式二次开发.465.3 基于接
4、口的二次开发.466 6 关键技术及解决途径关键技术及解决途径.46461 1概述概述基于用户需求,梳理信息管理业务流程及数据管理需求,设计插件化、服务化、低代码开发的信息管理平台软件,实现前端界面、业务流程、后台服务、通信接口、底层数据的图形化配置、动态构建以及扩展管理。2 2需求分析需求分析2.12.1总体需求分析总体需求分析基于概述中的描述,需要一套能够快速实现用户需求、快速响应用户需求变更的开发平台,实现开发资源共享以及经验积累。经过分析,平台用户主要有三种:开发者。开发者用平台快速实现最终用户的需求;最终用户。即开发后产品的使用者;泛 IT 开发人员。该人员非专业开发者,也非业务人员
5、,但可能需要对平台做一些配置以快速迭代用户需求。整个平台的需求来源主要有最终用户以及开发者,同时在设计时满足一定的易用性要求以满足泛 IT 开发人员的需求。3 3平台功能设计平台功能设计3.13.1平台技术架构平台技术架构图 1 平台技术架构备注:1、接口目前只支持 rest,其他类型的接口或者协议需要定制开发;2、页面配置完成支持生成微信小程序代码,但是目前暂时没有实现;3、移动端采用 react Native 方案。表格 1 架构分层概述表层级模块描述运行层端在 PC、平板电脑、智能手机上均可运行。运行形式支持以指定网址,通过网页形式进行使用支持微信小程序,支持 app 形式使用设计层数据
6、源/数据表支持将指定关系型数据库直接使用,包括 mysql、sqlserver、oracle 等,可将数据库和数据库中的表直接通过配置后在平台进行使用。目前暂时只支持 MySQL,其他类型数据库需要进行适配。规则表达式以表达式形式进行部分逻辑处理,如判断表单字段 A 是否大于字段 B,返回布尔类型,表达式即为:AB界面设置通过配置方式进行直接的使用界面维护,颗粒度自控,可直接配置一个从无到有的页面,包括页面内的输入信息、展示信息,并可配置相应页面逻辑,如保存输入表单内容,按钮点击审批处理、按钮点击触发页面信息展示等等。可配置界面的路由规则,自定义登录界面、系统首页等。规则设置规则是与事件向对应