JPAAS低代码平台技术白皮书(低代码平台技术架构)

1. 概述

随着企业的爆发式的IT 增长需求与互联网的业务的蓬勃发展,越来越多企业对传统的开发应用与方式提出了越来越高的信息化要求,传统的IT开发模式已经很难跟上市场的快速变化的步伐,这对企业的内部管理、资源调配、组织架构调整与响应、应用系统的快速支撑提出了新的挑战。而旧传统的业务发展建设与商业套件的信息化手段,如配套实施ERP、CRMOA、SCRM等传统的烟囱式的信息化建设存在却存在以下问题:

JPAAS低代码平台技术白皮书(低代码平台技术架构)

1) 用户单独使用多套系统,导致反复登录、重复填报、审批等,费时、费力,效率低下。

2) 系统重复对接,接口重复开发,系统间业务流程不顺畅、业务协作构建复杂。

3) 数据没有统一标准及规划,数据重复交换,产生大量冗余数据或无用数据。

4) 构建新业务,需要组装不同的业务数据变得无比困难。

5) 系统功能重复建设,

6) 业务变化调整时,需要大量二次开发与测试

7) 业务各自为政,接口互通与异常处理困难

8) 系统运维复杂与困难重重

9) …

因此企业对新的IT架构提出了更高的要求,以满足企业适应市场变化, JPAAS企业级的信息化平台应运而生,以适应移动互联网、大数据、云计算等新兴技术的兴起而服务企业信息化的需求。

2. 企业数字化新目标

企业希望未来的应用提供更先进的业务解决,满足以下几个需要:

1) 整合:通过统一集成规范,打通现有的企业信息化系统。

2) 扩展:未来需要扩展如CRM、TMS、供应链、FMS财务系统、OA等系统。

3) 迭代:配合企业发展、业务调整,信息化随之灵活迭代。

4) 决策:构建企业数据中台,辅助决策。

平台采用微服务应用的工具式管理,通过系统的模板、表单设计、流程设计、应用设计、门户设计、报表设计实现各种业务,每个业务均为微服务化小应用,可分开可集成组合,统一运营管理,可灵活实现系统间的数据对接,于是平台统一了企业信息化的建设指导思想与落地工具,通过建设基础平台的组件,实现企业的信息化的统一:

a. 统一认证

b. 统一登录

c. 统一安全权限

d. 统一组织架构

e. 统一主数据管理

f. 统一单据管

g. 统一消息管理

h. 统一缓存管理

i. 统一流程管理

j. 统一大屏管理

k. 统一报表管理

l. 统一应用管理

m. 统一日志管理

n. 统一门户

o. 统一待办

p. 统一的大数据平台

q. 统一接口管理

r. 统一外部接口管理

s. 统一的异构系统集成

t. 统一代码管理

u. 统一应用运行

v. 统一应用监控与运维

平台提供更多的业务组件与在线配置,通过集成整合,为企业数字化提供更多的可能:

1) 平台功能组件化:以组件的产品设计为指导思想的,在功能上又可以灵活配置,从而可以更大在产品的功能扩展上提供更多开发可能性,使得系统在适应企业未来的业务增长或调整提供最强的保证。平台基础功能组件化,允许企业未来可基于平台上进行更多的业务扩展,以满足更多的不同的企业的个性化业务。

2) 业务单据的在线化:则满足不同的企业的各种复杂的业务单据的自定义,如报销单、请款单、采购单、预算工单等。

3) 业务流程在线化:即流程建模、流程配置、流程运行、组织权限配置均实现可视化配置,灵活调整,调整过程中减少系统管理员、流程配置人员、业务流程的使用人员的冗余投入,实时为用户的业务流程提供稳定的系统运行支撑。以达到在时间、资金投入最小、收益最大的目的。

4) 数据在线可视化:平台通过创建或融合了外部的数据源,实现了数据的沉淀,最终可形成数据湖,为企业提供各种基础的主数据与业务数据,平台同步提供数据列表、数据报表、数据BI等工具实现数据的可视化配置,为企业决策层与生产提供各个维度的数据分析与展示。

5) 平台微服务化:允许企业进行进行业务创新,以调用更多的平台服务实现平台的不同数据不同业务逻辑,同时保证事务,异常,日志,数据归档等处理。

6) 报表BI大屏可视化:允许开发用户基于已有的数据源或接口,实现数据的可视化管理,并且发布至PC或移动端(微信等)

7) 门户微服务化:允许不同的企业在线进行门户的自定义,支持栏目的内容定义与数据绑定定义为各个不同的业务线统一业务归口处理,以最终减少用户在不同的系统切换,以提高更高的业务办理效率。

3. 平台技术架构

产品采用新一代流行稳定的企业级的微服务架构技术,以活跃的开源技术生态构建稳定的企业级的技术平台,为企业的信息化提供夯实的技术平台底座,为企业构建稳定、安全、持续健康发展的企业级的信息化平台,帮助力企业构建快速开发、持续迭代、持续健康运维的IT技术团队。

JPAAS低代码平台技术白皮书(低代码平台技术架构)

【说明】

1) 前端可基于PC 浏览器来访问,如Chrome/Firefox/Edge/Safari浏览器,也可通过平台提供的独立APP访问(通过Uniapp打包的应用),亦可把移动的应用部署在平台的nginx上,通过集成企业微信/公众号/企业钉钉/飞书 实现访问。

2) 平台采用前后端分离的架构,前端的应用可部署在前置的Web服务器(一般采用nginx)

3) 平台的所有应用在启动时均注册至Nacos中

4) 访问终端访问到前端应用后,前端的应用则会通过转发其访问的地址至统一网关

5) 统一网关根据访问的URL,并且根据其不同的前缀地址在其路由的配置中找到其对应的微服务应用

6) 微应用接收网关转过来的请求,并且把结果返回给前端

7) 在访问网关前,若前端判断其没有登录,则会根据前端带过来的请求信息是否包括了token,若没有则通知前端跳至登录页,并且返回拒绝访问。

8) 终端在登录页输出账号密码登录,则可通过认证中心获取到本次访问的token。后续所有的请求均带上token来访问。

9) 网关在请求中获取token,并且去缓存进行匹配,若在有效期则放行访问,否则重新获取新的Token,并重新放置Token至缓存中

10) 应用间可以使用平台提供的Feign实现不同的应用的服务调用。

11) 所有的应用共用缓存/消息队列/文件服务

12) 所有的应用均可以共用一套数据库或多套数据库

13) 不同的应用若涉及到跨库访问,需要使用Seata服务实现分布式事务

14) 在开发阶段,通过整合mave/sonar/docker/nexus/gitlab/jenkins/harbor/openshift/k8s 实现开发、测试、部署的自动化流水线作业。

15) 在运维阶段,通过整合 Skywalking /druid/elk/promethenus granfana 实现对微服务的运行监控的管理。

3. 前端应用

支持各种前端应用接入,包括:

● APP

● 小程序

● 企业微信应用

● 钉钉应用

● WEB 应用

● 其他标准的Restful API接入的应用

JPAAS低代码平台技术白皮书(低代码平台技术架构)

前端开发可采用各种前端技术,包括H5,JQuery/Vue/AntD/Flutter/Android/IOS等应用,并且通过NGINX实现后端的接口负载与转化。而后端只需要提供标准化的RESTful API接口即可。

3. 应用端程序开发

后端采用了统一的标准化的应用开发,并且对外提供统一的RESTful API,以支持前端的各种应用的开发。而平台提供了各种基础组件,通过Maven的构建引用,即可满足各种后端的应用构建,其架构的层次如下所示:

JPAAS低代码平台技术白皮书(低代码平台技术架构)

后端的应用采用了SpringBoot的标准应用开发,即实现了多层的应用,如下所示:

1) 接口层:对前端应用提供统一的接口,一般为标准的RESTful API

2) 业务层:平台的业务应用管理,实现业务的逻辑运算处理,并且为接口层提供服务应用组件以供调用。

3) 持久层:实现数据库的读写接口管理,一般为MybatisJDBC的原生SQL调用。

4) 基础组件:基础组件即由平台提供的统一组件,只需要引入使用即可,每个独立的应用只需要构建业务层与接口即可,大大简化了新的应用的开发与构建的难度。

3. 统一安全认证

统一认证一般是作为异构系统集成的基本要求,可实现同一账号一次登录,在不同的系统之间实现无缝切换访问,减轻用户在使用平台时,不需要记多个不同的密码,不需要登录不同的业务系统。要实现这个目标,前提的要求是在各个业务系统使用同一套账号体系或对接同一用户体系数据,并且使用提供单点登录的服务集成服务能力。

认证中心是平台为其他系统提供统一身份认证能力的服务应用,其他应用接入该认证,需要遵循平台的接口规范:

1. 注册接入的应用,平台提供应用ID与密钥

2. 提供统一的用户登录,登录的方式有:账号 密码、手机号 短信登录、USB Key登录(可选)、邮箱 密码等方式登录

3. 提供登录后的获取用户身份信息接口

4. 记录审计的登录日志

JPAAS低代码平台技术白皮书(低代码平台技术架构)

支持多种安全认证模式:

a. URL级权限控制

b. 支持OAuth2.0的四种模式登录

c. 支持用户名、密码加图形验证码登录

d. 支持手机号加密码登录

e. 支持OpenId登录

f. 支持第三方系统单点登录

平台提供默认的基于OAuth2.0的安全认证方式,如下所示:

JPAAS低代码平台技术白皮书(低代码平台技术架构)

a. 前端应用要访问平台的应用,首先向网关请求获取授权访问的令牌。

b. 网关向认证服务器发起获取令牌的请求

c. 认证服务器向网关返回令牌。

d. 网关把令牌返回给客户端。

e. 客户端携带令牌访问请求应用

f. 网关向认证服务器检验令牌

g. 认证服务器返回令牌校验信息

h. 网关判断根据令牌有效,则放行可以访问具体的业务应用。

3. 基础应用服务

平台提供基础的内置管理应用,满足平台上的其他应用扩展的能力

1 组织架构

提供组织架构的全部功能,包括机构、组织维度、组织部门、组织人员、组织授权、汇报关系管理、组织架构集成等。

2 单据管理

提供数据源、单据建模、单据在线设计与生成、数据列表、日历视图、数据权限、第三方接口、自定义对话框、自定义查询、代码生成、表间公式、流水号、数字字典等

3 流程管理

提供在线流程定义、版本管理、流程与单据关联、流程与组织人员关系、流程与外部接口关联、流程实例管理、流程任务管理、流程消息通知等管理。

4 门户管理

提供在线的门户栏目模板、栏目定义、新闻公告、常用应用、门户定义、自定义栏目等管理。

5 系统管理

提供在线的应用及菜单管理、API网关管理、系统参数管理、系统分类、系统缓存、系统审计日志、系统错误日志、分类授权、水印设置、时区设置、多语言设置、文件存储设置、访问黑白名单设置等。

6 任务调度

提供在线任务调度的报表、任务管理、任务调度日志、任务执行器管理、后台任务添加管理。

7 大屏应用

提供在线的业务模型管理、在线的大屏设计及授权管理、大屏分享访问管理,支持各种图表的在线设计。

8 报表应用

提供基于JDBC数据源的各种报表在线设计、在线预览、权限设置等功能

3. 注册配置中心

基于Spring Cloud Alibaba、Spring Cloud Config、Nacos Server进行在线的配置中心 可配置多套运行环境,一般为开发,测试,生产的环境,进行集中式的配置。该配置中心允许所有的应用共享一套或多套系统的参数配置,通过实时修改,可对所有的微应用进行各种应用开关的参数控件。

JPAAS低代码平台技术白皮书(低代码平台技术架构)

Nacos充当所有的微服务的服务发现与服务注册中心,同时兼任平台的所有系统级别或应用级的系统参数配置,如:

JPAAS低代码平台技术白皮书(低代码平台技术架构)

3. DevOps支持

作为低代码开发,平台对DevOps天然提供了支撑的能力,可实现开发、部署、运维一体化的融合与管理。如结合代码分布式的Git代码托管,可多人同时协同开发,同时满足开发、自动编译、自动打包、自动部署、自动测试,自动发版的自动化过程开发。

1. 开发流水线

JPAAS低代码平台技术白皮书(低代码平台技术架构)

开发的流水线作业,可结合以上开发工具 Git,实现多人协同开发,通过提交至Git仓库后,自动触发在线构建任务,实现应用平台的整体编译打包管理。

2. 自动化部署

随着微服务的应用增多,企业可以遵循一定的开发规范,可以把不同的子应用接入至平台,可实现代码的自动提交,自动部署,自动测试,并进行自动发布至生产环境,实现真正意义上的敏捷开发。

平台提供基于Jenkins的流水线作业脚本配置,可实现平台的自动化打包、部署的流水线作业。

JPAAS低代码平台技术白皮书(低代码平台技术架构)JPAAS低代码平台技术白皮书(低代码平台技术架构)

3. 运维监控管理

通过整合 Skywalking /Druid/ELK/Promethenus Granfana 实现对微服务的运行监控的管理,如:

JPAAS低代码平台技术白皮书(低代码平台技术架构)

3. 平台技术栈

技术框架

技术选型

容器框架

Spring Boot 2.16

Spring Cloud Finchley/Spring Cloud Alibaba

统一注册中心

Nacos

Sentinel

Spring config

分布式调度

Xxl-job

自动部署发布

Jenkins

分布式事务

Seata

表单引擎

UEditor/Vue 2.6 /Ant Design Vue

流程引擎

Activiti 7.1

ORM

MybatisPlus/JdbcTemplate

Transition事务

Spring Transitional

JMS消息

RabitMQ/ActiveMQ/Kafka

文件服务

NAS/FASTDFS

安全管理

Spring Security 5/RBAC/JWT/OAuth2

缓存管理

Redis

规则引擎与动态脚本

Groovy

多数据源

Druid/Hikari

大数据搜索

Elastic Search

JSON序列化

FastJson

日志

Slf4j

基础工具类

Apache CommonUtils/Hutools

图形化报表

Echart/Grid/TreeGrid/UReport/Datart

数据列表

Vue 2.6/Ant Design Vue

前端框架

Vue 2.6

Ant Design Vue

codemirror

bpmn-js

vue-layer

各种自定义扩展组件

4. 平台应用体系架构

平台采用多层的应用架构,可进行分层开发处理,如前端采用H5/Vue等框架独立开发,对接后端多种不同的编程语言可实现多种应用结合与开发。

JPAAS低代码平台技术白皮书(低代码平台技术架构)

4. 资源层

负责系统的计算与存储资源的分配采用一些K8S或第三方的K8s的动态资源分配平台,可整合第三方的PAAS DevOps平台,实现线下开发,一键部署。

4. 服务层

提供企业的基础服务能力,包括:

● 文件服务

实现文件上传、下载、分布式存储处理。

● 搜索服务

提供全文检索服务处理功能

● 消息服务
提供消息服务,实现内部的各种消息的调用,如IM,内部消息,邮件,短信等服务

● 缓存服务

提供缓存服务,实现单一数据、批量数据的缓存,并可实现缓存的各种操作。

● 认证服务

提供应用与身份认证服务

● 日志服务

提供平台的日志接入服务

● 调度服务

提供平台的任务调度服务

● 流程服务

提供流程的接入服务

● 报表服务

提供报表的接入服务

● 表单服务

提供表单的在线服务

● 待办服务

提供任务的待办服务

● 知识服务等

4. 应用层

基于基础服务上构建的各种企业应用,如:

员工管理

● 合同管理

费用管理

供应商管理

● 采购管理等

应用层的应用则包括:

● 前端框架

● 后端Boot应用或提供RESTful API的应用

● 对接中台的数据接口

● 平台的基础组件

4. 基础组件

● 消息调用组件

支持各种消息类型,如内部消息,邮件消息,短信消息,微信消息,钉钉消息,可集成ActiveMQ,RabitMQ,Kafka等JMS集成。

● 任务调度组件

支持自定义任务调用方法,实现各种定时任务处理,可在任务里执行数据库写读,外部服务调用,文件上传,数据交换等核心数据处理工具手段。
支持执行计划的自定义处理,可精准定交某一天某时段执行,也可按日、周、月来定义执行次数。

● 日志管理组件

支持各应用统一接入系统时,直接调用日志组件实现程序的统一日志的调用处理,并且提供日志的各种组件的数据存储与分析处理。

● 邮件服务组件

提供系统的邮件发送组件,实现邮件的收发自邮件模板的自定义处理

● 脚本引擎组件

实现平台的脚本引擎,可通过脚本自定义数据规则与处理逻辑,结合流程与业务表单,可实现动态处理各种业务组件

● 模板引擎组件

提供平台的各种内容模板,包括消息,邮件,短信,数据列表,表单,代码生成器等处理端的模板,允许用户自定义与调用解析。

● 服务调用组件

提供对外调用外部服务的组件,实现可视化的服务调用与响应解析处理。

● 缓存服务组件

提供对Redis缓存的读写处理。

● 文件服务组件

提供对附件的上传的处理

● 组织服务组件

提供组织架构的调用接口组件,如组织、用户、关系的增删改查的接口。

● LDAP服务集成

提供集成LDAP的服务集成

5. 门户

门户作为多业务子系统、管理办公软件的统一入口,为企业文化的集中展现,统一门户引擎作为整个集团整个资源管控系统作为重新要信息入口,不但能够穿透各个应用模块,提供丰富的展现元素,更能够整合其他业务系统;按照组织架构、职级权限、角色等进行多架构层次、围绕具体岗位工作的展现,从而形成各级领导、员工的工作、学习、资源、绩效统一工作平台。

门户业务根据客户的各种维度的需要可能配置出不同类型的门户,比如:对于多组织的集团型客户,同时需要对集团和各分子公司创建自己的门户,这种情况下可以配置出多组织门户;又如:客户的根据不同的人员管辖的内容不同,需要对员工量身定做不同的门户,这种情况下就形成了多角色门户,多角色门户通常有:员工桌面、经理桌面、总裁门户。

根据实际情况创建门户,系统预置的门户数据在全局中,新创建的门户数据根据实际情况创建在全局、集团、组织中。在未分配门户查看权限的情况下,全局门户全部用户可见,集团门户只有集团 下属组织内用户可见,组织门户是自己组织 下属组织用户可见。

JPAAS低代码平台技术白皮书(低代码平台技术架构)

5. 支持多主题门户

平台支持不同门户的PC模板设计,可以支持不同等级的门户模板,允许运维人员根据需求实现门户模板的个性化设计,与排板,从而可以支持不同主题风格的门户,支持根据用户的优先级,展示不同的门户。

平台提供多种不同的基础门户主题模板,支持机构门户、部门门户、个人驾驶仓、运维门户等,如下所示:

JPAAS低代码平台技术白皮书(低代码平台技术架构)

平台支持用户进行主题的风格设计,可允许用户在线进行不同的主题风格定义。Web后台采用主流的前端技术Html5 Vue Ant Design Vue,兼容如IE11以上、Microsoft Edge、Google Chrome、Safari、Firefox、360浏览器等。

门户主题模板由栏目与布局组成,如下所示:

JPAAS低代码平台技术白皮书(低代码平台技术架构)

平台支持不同门户的PC模板设计,可以支持不同等级的门户模板,允许运维人员根据需求实现门户模板的个性化设计,与排板,从而可以支持不同主题风格的门户,支持根据用户的优先级,展示不同的门户。

5. 统一门户设计

提供默认的左右导航风格的门户设计,并且可支持自定义的其他方式的门户导航。

JPAAS低代码平台技术白皮书(低代码平台技术架构)

系统提供在线的设计器,通过添加栏目,并且通过拖拽实现门户的栏目的布局与排版,数据适配,主题颜色风格等,有效实现不同的布局主题转换处理。

5. 门户栏目定义

5.3.1. 门户栏目库

传统的单位门户是由开发人员根据客户的需求进行个性化开发的,而平台的则简化门户的配置的难度,把门户进行组件化的封装,即门户的呈现由不同的子块进行数据的呈现与展示,因此需要提供门户栏目元素的设计与定义。

平台提供丰富的门户元素库,提供用户构建各种门户栏目,包括RSS阅读器、文档中心、流程中心、最新会议、 当月目标、消息提醒、新闻公告、知识订阅等几十种门户元素。同时也允许 用户自定义开发列多的门户元素栏目,以实现更好的数据门户展现。

5.3.2. 栏目构成

不同的栏目提供HTML模板与数据来源设置,栏目元素组成:

1 门户栏目的模板,一般由html片段内容组成

2 门户栏目的数据,支持SQL、Restful API、动态脚本等方式进行数据绑定

如配置常用流程栏目元素类型及其展示的效果:

JPAAS低代码平台技术白皮书(低代码平台技术架构)

5.3.3. 栏目类型

门户支持不同的栏目类型:

○ 消息盒子

○ 信息面板

○ Tab导航

○ 列表栏目

○ 新闻公告

○ 日程栏目

○ 图表栏目

○ 消息提醒

系统默认提供的以上不同栏目的元素类型实例,可以支持各种门户栏目的数据呈现:

● 待办事项

○ 会议

○ 文档

○ 邮件

○ RSS订阅

○ 新闻公告

○ 统一搜索

○ 最新知识

○ 我参与的会议

○ 我的协助

○ 消息提醒

○ 当月目标

○ 单位公告

○ 我的项目

○ 我的收藏

○ 常用流程

○ 我的日报

○ 我的日程

○ 我的邮件

○ 我的考勤

○ 我的计划

○ 期刊中心

○ 督办事宜

5.4. 门户的多级权限体系

门户提供多级的权限管理体系,允许不同的层次的权限控制,可以实现分层的权限控制管理,包括:

● 门户级的权限控制

● 门户分级权限管理

● 栏目分级权限管理

● 内容级的权限管理

● 菜单级的权限管理

5.4.1. 门户级的权限控制

系统提供多套门户模板的设置,需要根据用户的权限,为用户展示不同的其关注的门户信息。系统需要支持对不同的门户模板授权管理,提供按部门、岗位、职务、角色、个人实现门户的授权配置,如下所示:

JPAAS低代码平台技术白皮书(低代码平台技术架构)

5.4.2. 门户的分级管理

门户的分级管理适合单位或集团下有很多子部门或机构需要单独设置其子门户,并且由其维护子门户的配置数据,平台提供按机构提供不同的子部门或机构下的子管理员,授权或撤消其管理自身的门户的数据维护权限。

5.4.3. 栏目分级权限管理

栏目分级管理允许授权不同的组或用户进行栏目的维护,用户在门户主题模板维护时,可选择的栏目元素,以装饰更完善的栏目业务。如全局的用户可以选择:

● 待办事项

● 会议

● 文档

● 邮件

● RSS订阅

● 新闻公告

● 最新知识

● 我参与的会议

● 我的协助

● 消息提醒

● 当月目标

● 单位公告

● 我的项目

● 我的收藏

● 常用流程

● 我的日报

● 我的日程

● 我的邮件

其他栏目则由用户进行定义与管理。

5.4.4. 内容级权限管理

每个栏目里的数据有些是会根据用户的身份进行数据过滤,如我的消息,我的日程。用户在处理自身的数据,则其相应在栏目元素中呈现该栏目的数据。

5.4.5. 菜单级的权限管理

用户进入后台,可以不同主题的门户的入口菜单,该菜单可由平台统一授权管理,通过其用户的身份认证决定在左导航菜单中可以查看到哪些门户的入口。

JPAAS低代码平台技术白皮书(低代码平台技术架构)

菜单级的权限管理

5.5. 统一移动门户

移动端采用目前主流的混合式开发方式,使用原生 HTML5的开发方式,UI设计上采用类似微信与钉钉的交互设计,可运行于Andriod,IOS,企业微信,钉钉等客户端,并且提供统一办公的统一办理入口,其系统架构如下所示:

JPAAS低代码平台技术白皮书(低代码平台技术架构)

统一移动门户

说明:

1. 采用主流的Html5技术,如整合vue开发框架,实现常用的移动界面开发

2. 后端通过配置化可生成移动端的输入界面,包括表单、流程审批、数据列表、报表

3. 支持多端展示 ,如微信公众号、企业微信、钉钉、独立APP或其他混合式的移动APP壳。

4. 调用第三方Rest接口获取数据展示

5. 调用后端认证接口实现登录与安全认证 。

5.5.1. 在线移动门户设计

在线通过添加不同的栏目类型,并于在栏目中进行编辑栏目的各中参数,以生成栏目的各种展示功能,包括有:

● 待办栏目

● 公告栏目

● 轮播图栏目

● 通用栏目

JPAAS低代码平台技术白皮书(低代码平台技术架构)

其中通用栏目下可以定义各种信息的入口,包括流程发起,单据列表,单据填单等定义配置,如下为在线配置的效果图。

JPAAS低代码平台技术白皮书(低代码平台技术架构)

5.5.2. 移动表单设计

平台提供在线的PC表单转成在线的移动端表单,通过模板实现一键转化,简化了开发人员需要重新编写代码实现APP端的表单的编码工作:

JPAAS低代码平台技术白皮书(低代码平台技术架构)

考虑到移动端也有个性化的需求,平台同步提供在线的可视化二次扩展代码的功能,可实现各种复杂的数据交互处理。

6. 单据中心

在现代化的企业管理中,由于不同的企业的业务范围与方式不同,其在收集与处理数据的需求均有所不同,因此为满足不同企业对单据的各种特殊需要,系统提供了单据自定义功能。B端企业客户的管理模式大都极具个性化,尤其是报表和单据的格式最为复杂多样。因此,大多数ERP软件厂商都会选择开发「自定义单据」和「自定义报表」服务程序,来应对客户多变的业务需求。

平台的单据自定义是指针对业务单据,用户按照自身的业务需要,在系统给定的单据模板上自定义设置单据表头、表体字段的类型、位置、来源、使用方式和计算方法,从而实现各种业务单据的展示,可用于各种单据的数据采集与管理功能。

在系统中,单据自定义工具是实现单据自定义功能的系统工具。 在该工具中,用户能在现有单据模板的基础上进行灵活的自定义,可新增单据头字段、单据体字段,设置其类型、位置、输入顺序、来源、录入方法、计算公式等。 自定义字段数据来源多样化,除可手工录入外,还可与已有基础资料、辅助资料、单据已有固定字段、关联单据的字段等建立关联,通过单据关联、计算公式等自动传递或携带相关来源数据。

自定义单据则提供以下数据化处理的目标:

实现用户自定义单据界面:如单据页面中内容的格式与显示方式。

实现对各类单据的操作功能,如增、删、改、查、导出打印等。

实现各业务部门之间的数据共享:如填写报销单时,实时反馈是否超出当期可用预算;在填写还款单时,能够选择前置借款单;同时也包含对于信息的提取(如发票的OCR识别、扫码识别;系统初始化时对历史单据台账的批量导入)。

实现根据员工权限限制功能操作和数据访问:某些单据页面、操作功能对没有权限的用户屏蔽,如仓管部门只能设计出库单、入库单,不能设计合同和物流单据。

6. 单据自定义模式

JPAAS低代码平台技术白皮书(低代码平台技术架构)

平台支持两种单据配置模式:

● 平台支持从物理表映射至业务实体,再通过业务对象组装成复杂的业务模型,再根据业务模型实现PC单据与业务单据界面的映射。

● 同时也支持从页面单据生成业务对象再转成物理表。

JPAAS低代码平台技术白皮书(低代码平台技术架构)

6. 业务实体配置

平台为业务实体对象的管理提供了可视化的管理界面,通过可视化的可实现业务对象的在线定义,允许开发或运维人员在线定义每个对象的数据字段与映射的界面控件与数据来源。

JPAAS低代码平台技术白皮书(低代码平台技术架构)

添加业务实体,可以对业务实体进行以下信息的设置:

■ 字段名

■ 字段类型

■ 字段控件

■ 控件属性配置

6. 业务模型配置

平台支持各种业务实体进行灵活的组合,并最终实现业务模型,以支持不同格式的数据单据,如单表单据、主从表单据、多对多表单据等。

通过实体定义进行组装,形成复合性的单据管理对象的定义,如费用报销单据则由单据表头信息 报销明细构成,因此其定义如下所示

JPAAS低代码平台技术白皮书(低代码平台技术架构)

6. 基于业务对象反向业务单据

提供一键式的基于选择的业务单据,快速反向生成在线的业务单据,同时还可在线进行单据的界面进行单据的控件与属性的配置,让单据的交互更强。

JPAAS低代码平台技术白皮书(低代码平台技术架构)

6. 在线单据配置

平台支持在线表单设计,可配置实现各种简单与复杂的业务单据。平台基于Vue 2.6 /Ant Design Vue扩展在线表单的各种控件,未来还可根据业务扩展的需要,进行各种控件的扩展实现。

JPAAS低代码平台技术白皮书(低代码平台技术架构)JPAAS低代码平台技术白皮书(低代码平台技术架构)

平台支持在线进行单据设计,包括从数据库表生成在线单据或无表结构时在线直接设计单据自动生成物理表来进行存储,支持拖拉式或编辑式的表单设计。

❏ 平台支持单据的在线导入导出,可实现不同的环境的单据一键迁移。

❏ 支持单据在线预览

❏ 支持单据一键删除

❏ 支持主从表的单据设计

❏ 支持多Tab的子表单设计

❏ 支持行编辑的子表单设计

❏ 支持块编辑的子表单设计

❏ 支持子表的自定义按钮

❏ 支持选择对话框获取数据的子表回填

❏ 支持在线编写代码,如可调用外部或数据库获取数据进行回填

❏ 支持单据提交前与提交后的数据前后端逻辑检验的脚本编写

❏ 支持数据大小写转化的可视化配置

❏ 支持流水号的在线配置

❏ 支持人员、组织、部门等控件的配置

❏ 支持外部或内部数据库表或视图或接口绑定至控件或列表中展示

❏ 支持分步导航的单据配置

❏ 支持外部表单关联展示

❏ 支持二维码控件

❏ 支持手写签名控件

❏ 支持各种附件上传的控件并可配置各种参数

❏ 支持容器布局的控件

❏ 支持表格布局的排版

❏ 支持单选/多选(复选)控件

❏ 支持数字控件

❏ 支持日期与格式配置的控件,含月、周、时间等

❏ 支持下拉框的控件

❏ 支持下拉树控件

❏ 支持地址控件

❏ 支持Office控件

❏ 支持评分项控件

❏ 支持隐藏域控件

❏ 支持地图控件

❏ 支持附件上传控件

❏ 支持图片上传控件

❏ 支持动态文件框控件

❏ 支持Markdown控件

❏ 支持印章控件

❏ 支持单据的条线码控件

❏ 支持城市选择控件

❏ 支持单据的分阶段导航填写控件

❏ 支持编辑型按钮控件

❏ 支持自定义查询及单据数据绑定

❏ 支持流程图控件

❏ 支持流程审批意见展示控件

❏ 支持动态引入外部扩展Vue文件

❏ 支持自定义按钮控件

❏ 支持表单的二维码

❏ 支持滑动条选择的控件

❏ 支持计算区域的控件

❏ 支持表格行/单据块区域根据控件参数值自动显示或隐藏的配置

❏ 支持在线对单据的创建、挂载、提交前、提交后的扩展脚本编写能力

❏ 支持单据可调用平台的脚本、接口、数据库查询能力

6. 单据二次开发

在线完成单据的扩展开发外,还可对单据进行扩展开发,以支持灵活的单据的数据检验,转化等处理。如提供对单据的数据进行校验,数据加载处理,数据提交的处理等。如:

同时通过单据的方案,可实现对单据的数据的处理的完整的处理,如下所示:

JPAAS低代码平台技术白皮书(低代码平台技术架构)

平台允许对单据提供各种的数据处理,如:

JPAAS低代码平台技术白皮书(低代码平台技术架构)

■ 单据加载数据时

■ 单据数据提交前

■ 单据数据提交后

■ 单据数据完成后

6. 移动APP单据

平台同步提供APP单据的应用管理,可基于PC单据形成的业务对象,反向生成移动APP应用,如下所示:

JPAAS低代码平台技术白皮书(低代码平台技术架构)

支持基于Vue的代码式的移动前端应用开发,可满足不同的移动端应用。

6. 移动APP单据的使用

● 在APP端(含微信、钉钉、飞书)审批的事项中显示

● 在APP端移动门户入口的功能入口也可使用

● 在移动端业务台账列表中也可使用

● 用于审批任务中的单据

JPAAS低代码平台技术白皮书(低代码平台技术架构)

7. 流程中心

平台的工作流平台按功能可划分为以下几部分,其中流程引擎是平台的核心。

● 流程引擎:基于Activiti7实现BPMN2语法标准的流程引擎、流程驱动、流程任务状态跳转、流程事件脚本调用等。

● 流程建模设计:流程模型设计、表单设计、业务模型设计、流程调试

● 流程管理工具:流程实例监控、待办管理、流程实例或任务的干预、流程分析日志;

● 流程辅助工具:系统流水号、系统SQL自定义、工作流Portal中心,流程外部调用处理,流程消息通知等。

● 任务处理:我的待办、我的已办、我的流程申请、我的消息、知识管理、公文管理、项目管理、会议管理、邮件管理等。

7. 流程引擎

序号

功能

简介

1

流程流转方式

支持人工任务的顺序、并行、同步、独占式选择、简单聚合、多重选择、同步聚合、多重聚合、分支模式,支持人工或子流程的任意循环、手工终止、串行、并行的会签、加签等

2

多种任务节点

支持单人任务节点、多人并行任务节点、多人顺序人工节点,支持多个的会签投票的办理,支持邮件通知节点、支持脚本节点、支持外部接口或服务的任务节点,支持自动的任务节点,支持多实例的循环审批节点,支持其他自定义的任务节点。

3

丰富的事件及监听配置管理

引擎创建、关闭事件,活动创建事件、活动完成的事件、活动删除事件、流程变量创建事件、流程变量删除事件、人工任务创建事件、人工任务完成事件、人工任务分配事件、流程启动事件、流程完成事件、流程异常结束事件,流程取消事件,自定义扩展的事件。

4

异常处理

支持各种异常的处理,包括:全局超期、节点超期、节点无人员等异常及异常处理的扩展机制:

消息通知:在异常发生时,给流程发起人、管理员或其他指定人员发送异常消息通知。

超时处理:可以忽略、跳转、挂起、终止或自定义处理方式

5

支持子流程

支持启动一个或多个子流程,支持主从流程问的同步与异步流及数据相互传递。

6

支持接口与流程交互

支持外部系统通过认证与流程引擎进行交互调用,如调用接口口获得流程方案列表、流程图、流程待办列表、流程任务办理、流程结束等

7

任务人员的多种办理设置

支持按子公司、部门、角色、岗位、项目方式设置节点的办理人;

支持按表单字段动态来获取流程办理人

支持根据流程变量来设置节点的办理人员

支持多种人员或组的关系来设置节点的人员

支持动态脚本获得人员来设置节点的人员

支持自定义接口实现人员查找算法来设置节点的人员

8

支持流程定义的多版本

支持流程定义的多版本管理,支持启用一个版本,多个版本同时运行的方式

9

运行流程表单的多版本

支持流程表单的多个版本同时运行

10

组织人员、组及关系设置

支持多种内置的人员关系设置,如从属关系、上下级关系、汇报关系、项目关系,部门负责人,支持可视化的新型关系配置及维护。

11

支持沟通协办

支持在办理过程中沟通别人以及协办

12

支持流程阅读

支持配置流程的阅读权限以决定可访问该流程实例的用户

13

支持办理人为空通知管理员

支持配置流程节点不能跳过,并且通知管理员进行干预

14

支持代办

支持设置流程的代办人,任务自动转办

15

支持重复办理自动跳过

支持配置相同审批人是否自动跳过

16

办理时限设置

支持按工作日、自然日历设置办理时限、超期的自动处理的配置项

17

催办

支持按照内置的计划任务定期给流程办理人员、相关负责人进行催办消息的推送。

18

引擎对表单的支持

支持流程节点的表单设置,允许流程挂接多个流程表单

19

流程表单数据持久化两种方式的支持

支持表单的数据以JSON持久化、支持表单数据物理表存储。

20

流程引擎的操作权限

可以按主办、协办、阅读者、创建者、管理员不同身份,对流程实例具有不同的操作权限。

21

表单访问权限

按流程实例的按照主办、协办、阅读者、创建者、管理员提供不同的表单访问权限

22

节点表单设置权限

支持流程实例优先使用局部的节点配置,若无则才使用全局的节点配置。

23

流程引擎支持操作

流程支持同意、会签中的充权、沟通、追回、转办、催办、回退、回退原路返回、自由跳转、人工自由干预跳转、加签、作废、传阅、替换处理人、终止流程,暂停流程等流程操作

24

支持多路网关及接口条件

选择网关,并行网关、条件网关及规则配置,支持外部动态脚本配置。

25

流程定义设计工具支持

可使用支持BPMN2的设计工具,如Activiti Modeler Designer或在线的Activiti BPMN Modeler或其他支持BPMN的设计工具均可。

26

组织结构

支持读取第三方组织结构进行节点人员配置及使用平台的组织架构

27

支持多种流行的数据库

平台支持多种数据结构化的数据库,如MySql,Oracle,Sql Server,达梦数据库等。

28

支持流程引擎对应的事件调用外部接口

支持在对应的事件中调用外部系统的接口。

29

流程导出

支持将流程、表单、节点配置等相关属性导出成XML文件格式。可支持单个或多个。

30

流程导入

支持导入流程XML文件,或一个或多个流程定义的导入

31

流程文件的导出及打开修改

支持在线下载流程定义文件并且进行编辑修改再上传

32

流程定义分类管理

对流程定义进行分类管理

33

流程调试

支持流程测试,可输入流程参数、变量、发起人等进行模拟测试及删除。

34

流程实例管理

支持查看及管理所有的流程实例,对流程 实例进行恢复版本、暂停流程、恢复流程、 结束流程、替换处理人、删除实例、更新流程、打印列表、导出操作,修改流程变量,更改执行路径。

35

待办事项管理

支持查看所有的流程事项,支持更换人员、更改审批路径,沟通,更改流程变量。

36

消息跟踪

对待办、短信、邮件、即时消息进行显示

37

工作日历

支持全单位或公司使用同一份工作日历,以实现有效的办理期限。

38

动态脚本支持

支持Groovy脚本,可在引擎中调用任何引擎中的任何组件以及自定义的服务,甚至包括外部的接口服务均可使用它来调用。

7. 在线流程设计

提供在线流程设计工具,可在线配置各种不同的BPMN2节点,如:

JPAAS低代码平台技术白皮书(低代码平台技术架构)

BPMN工具提供各种流程节点,满足不同的流程事务办理:

■ 泳道

■ 人工节点

可关联不同的业务单据,不同节点的单据可进行不同的权限控制处理

■ 脚本节点

关联自动化的脚本,可执行各种扩展的业务,平台自带扩展灵活的脚本定义处理,包括:

● 调用外部服务

● 执行SQL

● 推送MQ消息

● 触发子流程

● 触发Web请求

● 触发Groovy脚本

■ 子流程

触发内部、外部子流程,并且可实现数据映射处理。

■ 服务节点(Web服务)

调用外部RESTful API/WebService接口的节点

流程平台还可绑各种事件,如启动、完成、结束等事件,任务节点支持创建、完成、人员分配等事件。

7. 统一待办

平台支持所有的业务统一待办处理,除了流程引擎的待办任务外,还可支持非流程节点的统一待办处理,并且可支持各种待办的办理动作:

■ 抢办

■ 解锁

■ 沟通

■ 回复沟通

■ 加签

■ 审批

■ 抄送

■ 撤回

■ 回退

■ 转办

■ 跟踪

■ 流转

■ 留言

■ 作废

7. 流程管理工具

模块

功能

简介

系统管理

多机构管理

支持多个机构或租户使用平台,可以有效实现多个机构共享使用平台的功能,租户仅使用SAAS功能,非SAAS功能无权限访问及使用

菜单管理

支持平台上动态加上开发的功能URL地址

流水号

支持在流程表单中使用动态的流水号

自定义SQL

通过自定义SQL,可以返回JSON值,用于选择框,下拉列表、树控件展示的数据来源。

数据源管理

支持多种数据库的配置,实现数据源管理

报表管理

支持通过报表工具制作模板,上传报表展示

调度管理

支持定时调用特定一段程序执行完成特定的工作,如数据同步的工作。

工作日历管理

支持设置部门或个人的工作日历,用于计算员工的工作时间

表间公式

实现表间的数据同步触发处理

图表工具

基于可视化的图表来配置一些可视化的图表展示

大屏数据

提供可视的大屏的数据配置化设计器

流程管理

流程定义

支持自定义设计BPMN2的流程定义,

支持流程定义的组装,配置变量、配置表单、配置节点事件、跳转、人员规则等

流程表单

支持自定义的表单设计,支持在线各种表单的展示

表单模板

支持种各种表单模板,如手机表单

手机表单

支持生成手机表单

流程实例管理

支持流程实例的管理,停止、恢复、作废实例、干预流程实例

流待办管理

支持流程的待办管理,支持人员变更、任务跳转、代办等

流程授权管理

支持流程的授权,以支持每个流程对应的访问权限

7. 流程接口

平台提供各种流程接口,支持外部其他应用使用接口调用,为其他应用提供流程能力,平台默认提供以下能力:

1) 根据用户账号获取待办列表

2) 启动流程

3) 审批任务

4) 获取有权限发起的流程方案

5) 根据任务ID获取后续节点

6) 根据流程实例ID获取流程相关任务

7) 根据流程实例ID获取审批意见

8) 创建沟通任务

9) 回复沟通接口

10) 撤销沟通

11) 根据任务ID获取表单数据

12) 根据流程实例ID获取表单数据

13) 获取我发起的流程实例

14) 撤销任务接口

15) 获取代理给我的任务

16) 根据流程实例ID获取流程实例明细

17) 返回我已审批的流程实例列表

18) 删除流程实例

19) 保存流程草稿

20) 从草稿中启动流程

21) 获取我的草稿列表

22) 根据任务ID获取任务信息详细信息

23) 根据任务ID获取后续执行节点的相关信息

24) 根据实例ID获取审批历史

8. 统一组织架构

组织架构管理指的是独立一套应用,提供对单位或集团公司内部的组织架构的完整管理,主要解决内部人事架构,业务架构,人员账号数据维护,部门负责人,人员汇报关系等与人或部门与机构的所有数据的维护管理,并且提供一套统一的对外服务数据,包括:

● 机构管理

● 组织维度管理

● 组织部门

● 角色

● 岗位

● 其他维度用户组

● 用户人员/账号

● 关系管理

8. 机构管理

使用平台系统的具有独立组织架构的法人机构,我们平台称之为机构,并且这些机构的用户可进入平台独立维护自身的组织架构的数据,同时可管理 该机构运行过程中的所有业务的数据,如在企业的供应链管理体系中,企业需要构建上下游的产业整合,这时可通过构建不同的机构的信息互联互通,可提高业务的联动实时性,如下组织均可作为机构的管理:

JPAAS低代码平台技术白皮书(低代码平台技术架构)

采购商 ● 服务商 ● 供应商 ● 子公司

不同的子公司或机构可以获取不同的子系统或应用的访问权限与数据,因此,平台的授权功能可根据不同的机构类型进行应用与数据的分级管理。平台支持一个人属于多个组织,可以实现切换组织登录。

8. 组织维度

JPAAS低代码平台技术白皮书(低代码平台技术架构)

组织的维度即是根据用户的业务与人事架构的需要 ,把用户进行不同的职能进行分组。系统根据公司的人员组织与业务管理的需要,对人员进行了组织划分,如人事即按行政架构进行组织划分,项目管理即按项目划分,产品研发即把团队按产品的研发需要进行分类划分。

8. 行政架构

行政架构也称为人事架构,即根据公司行政职能进行组织架构的划分,是公司管理制度的基础人员分组方法。如一般设置集团,分公司 ,研发部,市场 部等,如下所示:

JPAAS低代码平台技术白皮书(低代码平台技术架构)

平台支持一个人属于多个组织部门,但从管理角度上来说,只有一个主部门,可多个部门。

JPAAS低代码平台技术白皮书(低代码平台技术架构)

8. 角色

平台默认支持角色的配置 ,可以对角色进行授权。角色的授权,一个用户可同时拥有多个角色.

8. 职务

平台默认也支持职务的维度, 并且可设置一个人有多个职务.

8. 其他维度组

用户可根据业务的需要,进行其他业务组织的维度的添加与管理, 如添加项目维度,即可增加项目的组织。用户可基于项目下增加不同的项目的组织架构,如可以项目A下添加:

● 工程部

● 维修部

● 保洁部

● 采购部等

8. 用户管理

在不同的组织下添加不同的用户,并且 对用户进行管理 ,包括增加、禁用、更新、授权等。

9. API网关

API 网关的流行得益于近几年微服务架构的兴起,原本一个庞大的业务系统被拆分成许多粒度更小的系统进行独立部署和维护,这种模式势必会带来更多的跨系统交互,企业或事业单位的业务 API 的规模也会成倍增加,API 网关(或者微服务网关)就逐渐成为了微服务架构的标配组件。

JPAAS低代码平台技术白皮书(低代码平台技术架构)

9. 应用场景

面向 Web 或者移动 App

这类场景,在物理形态上类似前后端分离,前端应用通过 API 调用后端服务, 需要网关具有认证、鉴权、缓存、服务编排、监控告警等功能。

面向合作伙伴开放 API

这类场景,主要为了满足业务形态对外开放,与企业外部合作伙伴建立生态圈, 此时的 API 网关注重安全认证、权限分级、流量管控、缓存等功能的建设。

企业或单位内部系统互联互通

对于中大型的企业或单位内部往往有几十、甚至上百个系统,尤其是微服务架构的兴起,系统数量更是急剧增加。系统之间相互依赖,逐渐形成网状调用关系不便于管理和维护,需要 API 网关进行统一的认证、鉴权、流量管控、超时熔断、监控告警管理,从而提高系统的稳定性、降低重复建设、运维管理等成本。

9. 网关作用

JPAAS低代码平台技术白皮书(低代码平台技术架构)

API网关实现了对外的所有的系统的接口管理,统一了应用接入,应用认证,应用授权,应用审计日志等。

● 统一对外提供服务接口

JPAAS低代码平台技术白皮书(低代码平台技术架构)

● 统一访问路由

JPAAS低代码平台技术白皮书(低代码平台技术架构)

● 提供对外的服务负载均衡处理

● 提供服务编排服务

提供可视化的对各微服务的应用调用与参数映射,同时可实现参数对接管理。

● 提供限流与熔断处理

10. 应用敏捷开发

微服务架构平台应用敏捷开发平台,可实现在线与线下应用构建,可构建企业级的应用市场:

JPAAS低代码平台技术白皮书(低代码平台技术架构)

平台提供在线进行应用创建与设计,允许开发人员进行以下三种常态化的应用开发管理:

● 零代码开发

● 在线脚本开发

● 传统的线下代码开发

JPAAS低代码平台技术白皮书(低代码平台技术架构)

10.1. 零代码开发

JPAAS低代码平台技术白皮书(低代码平台技术架构)

平台提供零代码的开发模式,通过以下开发步骤,可实现应用的统一发布

a. 在线建库建表

b. 在线基于库表生成业务实体、业务模型,反射生成业务单据、数据列表、日历等

c. 在线设计流程,关联表单进行审批

d. 基于库表在线设计报表与大屏BI

e. 开发功能应用发布至菜单

f. 对功能与按钮或数据权限进行角色分配

g. 基于以上开发功能对外开放授权接口

h. 把开发的功能以应用对外提供安装及使用

10.1.1. 数据源配置

平台支持不同的关系数据源的配置,可实现对不同的库进行表、视图的读写,如可基于此数据库表实现单据的生成,并且可基于单据进行数据录入并保存库表中。可基于该数据源实现表的自定义查询绑至单据字段或图表中,可基于多表多条件的查询生成复杂的各种数据列表的呈现。

JPAAS低代码平台技术白皮书(低代码平台技术架构)

10.1.2. 业务实体/业务模型

平台可基于数据库表生成业务模型或基于单据生成业务实体与业务模型,如:

JPAAS低代码平台技术白皮书(低代码平台技术架构)

业务实体主要是用来描述单据的单表结构的业务模型,基于此实现一主多从的关系,用多个业务实体的数据结构来存储单据的不同业务数据结构。

JPAAS低代码平台技术白皮书(低代码平台技术架构)

业务模型编辑

10.1.3. 在线表单设计

基于拖拉式的在线单据设计

JPAAS低代码平台技术白皮书(低代码平台技术架构)

基于编辑器的在线单据设计

JPAAS低代码平台技术白皮书(低代码平台技术架构)

在线进行表单的界面设计,实时生成业务实体与物理表,该物理表可用于不同的子系统使用,也可以用于多表关联查询。

在线生成的表单完成后,同步可生成或设计其移动端的表单,如:

JPAAS低代码平台技术白皮书(低代码平台技术架构)

10.1.4. 打印模板

平台提供在线的模板设计,也可基于线下进行模板设计,然后基于该模板进行在线单据的打印或导出展示。

JPAAS低代码平台技术白皮书(低代码平台技术架构)

10.1.5. 在线列表设计

用于在线数据列表查询,可查询不同的物理表,通过在线的SQL查询返回数据结果,并且根据字段进行列表设计,可设置各种查询视图、字段渲染方式、数据权限、操作按钮、自定义按钮实现等,如下:

JPAAS低代码平台技术白皮书(低代码平台技术架构)

生成效果如:

JPAAS低代码平台技术白皮书(低代码平台技术架构)

10.1.6. 在线流程设计

直接在线进行业务流程定义的设计,保存、修改、发布,同时支持导入与导出处理,如:

JPAAS低代码平台技术白皮书(低代码平台技术架构)

10.1.7. 配置报表

基于单据构建出来的数据存储于库表中后,可根据各种业务表的关联关系与查询输出条件,可在线进行字段的查询

JPAAS低代码平台技术白皮书(低代码平台技术架构)JPAAS低代码平台技术白皮书(低代码平台技术架构)

10.1.8. BI大屏

JPAAS低代码平台技术白皮书(低代码平台技术架构)

平台提供了基于数据或接口进行大屏设计的能力,可实现各种业务数据的呈现,包括以下能力:

● 在线按分类管理所有的大屏设计

● 在线进行数据模型的定义(包括基于接口、外部不同数据源对应的表、视图、自定义SQL等)

● 支持大屏设计中的各种背景图定义

● 支持各种大屏控件元素的自由布局

● 支持文字标签、富文件控件

● 支持天气预报控件

● 支持指标卡控件

● 支持视频控件

● 支持外部数据的筛选器接入的控件

● 支持实时时间控件

● 支持指标卡控件

● 支持基于Echart的柱状图、曲线、地图、仪表、饼状图、漏斗图、雷达图

● 支持其他Echart的自定义图表(非标)

● 支持图表的JS扩展开发

● 支持自定义大屏控件

● 支持大屏移动端在线布局配置

● 支持大屏在线暂存与发布

● 支持在线设计时的步骤重做与撤消

● 支持大屏的版本历史管理

● 支持大屏的发布成独立菜单访问

● 支持大屏的分享与授权访问

● 支持大屏可独立运行,实现前后端分享可通过数据源实现各种不同的大屏数据展示的定义与发布管理。

10.1.9. 在线菜单

基于在线的可视化界面配置,实现合同的界面生成与处理,可把单据填单、数据列表、流程发起均发布到平台功能菜单,实现在线功能的入口配置:

JPAAS低代码平台技术白皮书(低代码平台技术架构)

菜单目前支持各种导航方式,如卡片、面板、多TAB、菜单导航等,支持外部URL集成,支持自定义Vue页面挂载等方式访问。

10.1.10. 应用其他功能

平台的应用支持其他功能的配置与开发,可满足应用的各种单据或数据交互处理,包括有:

JPAAS低代码平台技术白皮书(低代码平台技术架构)

● 流水号

● 对话框

● 自定义查询

● 表间公式

● 系统脚本

● 第三方接口

● 数据脱敏

● 日历视图

● 页面定制

● 业务方案

● 数据权限

● 报表设计

● 大屏设计

10.1.11. 应用导入导出

平台支持在开发与后序升级项目时,采用以应用为单位实现开发数据迁至生产环境无缝对接,数据迁移的内容包括有:

JPAAS低代码平台技术白皮书(低代码平台技术架构)

● 表单定义/表单方案/手机表单

● 表单字段结构

● 自定义查询

● 自定义列表

● 流水号

● 流程定义

● 流程方案

● 子系统

● 菜单

● 系统分类

● 数据源

● 表单公式

● 消息模板

● 其他应用功能配置

说明:对于已存在的运行系统,实现系统的在线试运行与升级增量处理,基于此方式可实现不同环境的应用开发数据快速迁移,提升项目交互的效率。

10.1.12. 接口对外授权

基于平台开发好的应用,若把接口开放给第三方平台使用时,需要在系统中进行接口授权。基于系统上设立针对不同的应用提供应用ID与密钥,第三方应用需要通过两个值来获取平台的Token,才允许访问该应用下的授权:

JPAAS低代码平台技术白皮书(低代码平台技术架构)

【应用端开放设置】

JPAAS低代码平台技术白皮书(低代码平台技术架构)

【应用端接口授权】

10.2. 在线脚本开发

尽管平台提供了比较完善的在线功能配置,但它只是能实现一些标准化的应用功能及数据处理呈现的能力,对于一些有业务逻辑的功能界面处理,平台还提供了逻辑脚本编写的能力,包括有:

1. 单据提交的逻辑前端处理

JPAAS低代码平台技术白皮书(低代码平台技术架构)

2. 单据提交的后端逻辑处理

JPAAS低代码平台技术白皮书(低代码平台技术架构)

3. 数据列表或单据功能按钮的逻辑处理

JPAAS低代码平台技术白皮书(低代码平台技术架构)

4. 数据的后端逻辑脚本处理

JPAAS低代码平台技术白皮书(低代码平台技术架构)

5. 流程的人员、事件等脚本处理

JPAAS低代码平台技术白皮书(低代码平台技术架构)

10.3. 传统线下代码开发

平台支持在应用平台框架中,通过传统的代码开发方式,实现应用的前端工程、后端代码工程、业务功能的前后端代码基于应用的一键生成,生成的代码逻辑结构如下所示:

JPAAS低代码平台技术白皮书(低代码平台技术架构)

代码生成器是为了加快项目开发而提供的辅助开发工具,它可以基于平台的架构以及业务功能表来生成对应的业务基础类、逻辑代码、页面、资源文件、配置等,通过修改模板,可以生成我们想要的代码方式。

10.3.1. 应用代码生成

平台提供以上代码生成的代码模板,可基于在线进行修改,也可使用平台提供的默认代码包能力,而平台同步提供在线的基于应用的工程包代码生成:

1. 代码模板

JPAAS低代码平台技术白皮书(低代码平台技术架构)

2. 工程代码生成

JPAAS低代码平台技术白皮书(低代码平台技术架构)

3. 业务代码生成

JPAAS低代码平台技术白皮书(低代码平台技术架构)JPAAS低代码平台技术白皮书(低代码平台技术架构)

通过生成对应的代码至项目工程,可加速代码的开发,减少开发人员大量的基础代码的编写时间,从而节省开发时间,让开发人员更多关注逻辑代码的开发。其中数据库的表可以由用户在线设计好的表单来生成,也可由开发人员手工创建至数据库中。

10.3.2. 应用打包部署

基于传统的代码开发完成后,可在Idea下进行编译、打包、推送至镜像、部署安装等操作即可,与传统的开发方式一样,可实现实现各种复杂的应用功能。

JPAAS低代码平台技术白皮书(低代码平台技术架构)

打包后的运行包如:

JPAAS低代码平台技术白皮书(低代码平台技术架构)

11. 安全管理

平台支持在不同的网络环境下部署安装使用,但需要在以下几方面进行安全的加固:

1. 网络安全

从部署上增加不同的网络隔离,如支持前端应用部署在对外提供访问的网络区,支持应用部署在DMZ区,支持数据库及存储放在内网区等。

2. 系统安全

对应用或数据存储的应用的系统进行安全补丁的加固,增加防火墙、应用运行部分只使用系统中的最小用户权限。

3. 数据安全

对一些平台的关键或敏感的数据进行数据加密存储,使用定期或实时的数据备份,使用异地的数据库或文件备份。

4. 应用安全

提供动态令牌、防SQL注入、防XSS注入攻击、内外网黑白名单、多次密码访问失效、锁定非法访问IP、动态密码、审计日志,同时根据系统中的一些Jar包定期进行安全漏洞的升级安全修处理,以确保系统的安全运行。

12. 信创支持

目前平台已经全面支持信创的软件与芯片,以满足国内各大平台国内信创信息化项目建设的要求:

1. 软件平台

❏ 操作系统:麒麟、中标、统信

❏ Docker或K8s环境,如国产的精灵云

❏ 支持中间件:东方通、宝蓝德

❏ 数据库: 达梦、人大金仓、Oceanbase、TDSQL等支持JDBC的国产化关系数据库

2. 硬件平台

❏ Intel x86-64(AMD64)

❏ 自主CPU平台(龙芯、申威、兆芯、众志、Arm64等)

3. PC 端

❏ 操作系统:Window 7 、Windows10、Windows 11 、统信

❏ 浏览器:IE11 、Firefox、Google Chrome、Opera、Safari、360

4. 移动端

❏ IOS 10.0

❏ Android 4.5

❏ 鸿蒙

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年1月8日 下午3:11
下一篇 2024年1月8日 下午3:27

相关推荐