重磅发布-通过低代码开发平台实现一个基础业务功能(低代码开发平台介绍)
注:本文对远行发布的低代码平台核心功能进行了详细说明和介绍。建议阅读前先阅读本头条号上已经发布的关于低代码平台规划和架构设计思想的一些文章。
低代码开发平台概述
对于低代码开发平台,我在前面发布过多篇文章对整体的规划,架构设计,建模思路进行了详细的描述,也说明了为何需要构建一个面向企业级应用的低代码开发平台。
当前有很多提供低代码开发平台的服务商,各家的方案或整体架构虽然有差异,但是本质的内容基本还是一致,即一切皆是可配置,可建模的。可以设想下开发一个简单功能的过程,基本也就是数据库表设计,前端界面设计,编写逻辑层代码和接口实现业务规则,挂接流程引擎实现流程,配置功能和数据权限等。
对于低代码平台,核心就是建模,因此我们的低代码平台本身也是围绕对象建模,表单建模,流程建模,权限建模,规则建模等展开的。
对于低代码开发平台的构建不仅仅是采用微服务开发框架,更加重要的是符合当前主流的中台和微服务架构思想。
因此远行科技的低代码开发平台不是走零代码开发的思路,而是真正的基于模型驱动和SOA架构思想,允许少量代码开发和融合。
其核心思想是:
- 低代码开发的小应该应该是一个个独立的微服务
- 应用的构建进一步贯彻SOA分层构建的思路,通过服务层解耦
- 低代码开发应该是模型驱动的,这个模型核心是对象和数据模型
低代码平台实现开发完成的应用可以导出源代码,可以脱离平台独立部署等核心能力。低代码平台不是零代码,因此在架构低代码平台的时候仍然包括了通过API来扩展规则的能力,即对于复杂规则的实现可以自己编写Rest API接口,并在表单建模的前端进行引用。
远行低代码平台本身又基于远行PaaS技术服务平台,实现各种技术服务能力的下沉和统一提供。对于企业整体的IT架构规划来说,这个里面有一个重点就是底层的技术支撑平台建设。这个技术支撑平台包括了诸多的内容,如下:
- 容器云的底层资源池和资源调度中心
- 消息,缓存,文件等各种技术服务组件
- 门户 4A 流程引擎的基础共性平台
- 共性平台和技术服务组件的API能力开放和集成
- 微服务开发框架和环境
- 微服务治理和监控运维平台
低代码开发最终完成的就是一个个的微服务应用,这个微服务本身需要有底层平台能力,后端的管控治理能力做支撑。而这些能力都由PaaS服务平台提供统一支撑。
我们的低代码平台本身基于多租户架构,可以实现组织级,应用级的租户隔离和数据隔离能力,完全满足企业级多应用开发和发布的需求。
建议阅读本文前先阅读如下文章。
低代码开发平台核心功能说明
在这里,还是简单举一个业务场景来说明产品的一些核心功能,比如我们当前需要构建一个OA系统,并在该系统中创建一个请假申请单,请求申请需要配置工作流引擎,需要支持请假单的新建,走流程审批,单据的查询等基本能力。
第一步-创建应用
一个应用是由若干张新建表单和报表组成的业务管理系统,也可理解为一个包含各种表单和仪表盘,具有一定功能的系统。就像一个工厂,是由不同的生产线共同组成的。不同的应用可以构成大大小小不同的业务管理系统,应用与应用之间还可以相互关联。
所以首先需要创建一个独立的应用,进入低代码平台系统,点击【新增】按钮,选择【创建空白应用】如图;进入创建空白页面,输入名称和系统图标,点击【提交】,即可。
当前低代码平台支持直接创建一个空白应用,也支持对模板创建或复制来创建一个新应用,还支持个性化应用的定制创建。
第二步-为应用创建菜单并授权
在应用创建完成后,接着就需要在应用中创建功能菜单,比如我们规划了两个功能。
- 请假单创建
- 请假单模糊查询
那么就需要通过菜单管理功能创建两个独立的功能菜单。
在菜单创建完成后,还需要对菜单进行功能级授权。当前对于功能菜单授权是授权到角色,在任何一个应用创建后,平台都默认生成了三种角色,即:
- 系统管理员
- 系统设计人员
- 系统通用人员
系统管理员拥有最大的所有权限,系统设计人员可以使用低代码平台中的类似对象建模,表单建模等各种设计功能。而系统通用人员则只能使用低代码平台创建和生成的业务功能。
注意在一个结合4A和门户的多租户架构系统中。
授权包括了应用授权和应用内功能授权两个独立部分。对于应用授权本身是在4A或门户中完成的,重点是确定哪些用户可以使用新开发的业务应用。
而应用里面本身又具体通过配置产生的业务功能菜单,对于业务功能菜单的功能级授权则是在应用内完成。但是只有通过了应用授权的用户,才能够在系统内进行进一步的细粒度授权。
远行的低代码平台本身是和底层技术平台的公共4A引擎完整集成的。
第三步-创建业务对象
在前面已经谈到,我们的低代码平台是对象模型驱动的,因此创建业务对象是整个低代码开发中的一个关键点。
对于业务对象的创建,重点是属于业务对象的命名,编码,描述等基本信息,然后是输入各个字段属性信息。手动创建对象属性会自动生成8个默认基础字段,建议可以保留不必更改。数据展示方式:支持列表和树形结构。
业务对象本身是一个多层的复合结构,即主表下面可以挂接子表,子表下面也可以进一步挂接子表等。
在业务对象创建完成并经过系统校验无误后,平台会自动向底层生成相应的数据库表和数据表之间的主键外键关系信息。
业务对象本身支持分类,可以将不同业务对象进行分类以方面管理。
对象建模是低代码开发平台中最核心的一个功能,对于表单建模,规则建模,流程建模等其它功能都需要围绕对象建模而展开。
其次业务对象建模功能起到很好地承上启下的作用。向下是可以自动生成数据库表和对象,向上则是可以生成各种API接口能力供前端表单功能实现调用。
第四步-表单建模和自定义表单
表单建模是低代码开发平台另外一个重要内容。
注意当前低代码平台有两种做法,一种是直接进行表单建模,然后通过表单去自动化生产数据库表。而我们的低代码平台则是先进行对象建模,通过对象建模来实现前端表单和后端数据库对象之间的解耦。
因此当你在新创建一个表单的时候需要先关联一个业务对象。
在绑定好业务对象后,再填写一下表单名称,样式等基础信息后可以进入到表单可视化设计界面。该界面支撑上50种常用表单控件,可以灵活地进行拖拽式可视化设计。
在表单创建完成后,可以直接点击右上的预览按钮对表单进行可视化预览。
注意这个时候你创建的表单并没有和前面应用配置的功能菜单进行绑定,因此你还需要进行表单功能和菜单之间的绑定操作,如下。
在绑定完成后,最终用户进入到OA系统,就能够看到创建请假单功能,点击该功能就会自动链接到我们前面可视化设计的请假单这个自定义表单上面。
在表单设计过程中,当前平台支持对表单和表单控件各种属性的定义和配置,包括各种参考完整性约束规则的配置等。
第四步-表单挂接工作流
注意当前远行的工作流引擎本身就是一个PaaS平台的公共技术服务能力。对于该工作流引擎的能力在这里不再展开描述。
要进行表单挂接流程。首先还是需要在流程平台通过流程建模功能创建一个独立的流程模板,其次才是将表单建模中创建的表单和工作流模板进行绑定。
完成表单新增后,进入流程表单配置界面,首先是要新增并选择一个流程模板,实现两者的绑定,然后再进入到全局流程配置和审批节点配置。
在全局配置界面重点是实现和业务对象的绑定。
在审批节点配置界面,重点是实现在审批节点个性化表单界面的展示。也就是平台支持不同的审批节点现实不同的表单界面。当然如果你的审批流程全部都是简单的通过不通过这种,则不需要在审批节点界面进行详细配置。
注意当一个可视化设计的表单绑定了工作流模板后,那么在表单创建界面上会自动增加一个提交按钮,当用户点击提交按钮时即启动了整个工作流实例。
第五步-模糊查询功能实现
数据集类似视图,是一种只读的数据对象。在实现模糊查询功能前,平台引入了数据集和视图的概念。即首先需要将业务对象配置为一个数据集视图,基于该视图再来实现模糊查询。
因为视图本身可以关联多个业务对象或数据表,因此通过构建视图的方式来实现模糊查询能够更多地满足多表关联的查询场景。
对于数据集的创建,平台既支持将单业务对象或单数据表直接发布为数据集,也支持自己编写多表关联的SQL语句,并将SQL语句发布为数据集。
在数据集创建完成后,我们进入到查询类表单制作功能去进行查询表单制作。
查询类表单制作首先要选择一个数据集, 选择后系统会自动生成动态查询表单界面。
在该字段中,我们可以对查询字段,列表显示的字段进行详细的配置功能。
- 过滤条件:支持配置列表数据过滤规则,多种条件进行组合。
- 排序字段:支持配置按指定字段进行排序,可选升序或降序。
- 分页功能:支撑对分页功能进行配置。
通过该配置可以实现一个完全满足业务场景功能需求的模糊查询功能。
再下一篇文章中讲继续介绍通过前端自己编写JS代码或者调用已有的API接口服务来实现业务校验和服务业务规则。