李 飞,赵 龙,冯强中,范文斌,李凌悦
(科大国创云网科技有限公司,安徽 合肥 230088)
当下海量的应用业务需求与低下的软件开发生产力间的鸿沟造成供需失衡,而需求方对于敏捷迭代的要求进一步提高,传统开发模式的工时与这个一切强调效率的时代显得格格不入。如何改变开发模式、提高效率、降低成本、缩短周期正成为困扰业界的难题。虽然目前传统软件开发能够在一段时间内支撑业务发展,但从长远来看已成为行业信息化发展的瓶颈。
低代码开发模式的兴起,为解决问题带来可能。低代码(Low-Code)的概念早在2014 年由Forrester 提出,而低代码开发平台提供更高维和易用的可视化IDE,无需或少量编写代码,即可快速搭建各种应用系统。
低代码领域的许多厂商在低代码概念诞生之前就已存在,如领域巨头Mendix、OutSystems 等,但早些年间未能获得市场与业界的广泛关注。主要原因是在当时技术背景下能力不完备、过于理想化、技术门槛高,缺乏快速变化的IT 业务场景来推动持续集成与快速交付,整体的投入产出比很低,不足以让企业大面积采纳低代码解决方案。
在技术成熟度渐高、业务需求庞大且变更迅速的当下,低代码带来的产业分工、商业模式、开发方式与流程的变革,使得它渐渐成为很多企业IT 建设的最优解。国内各类低代码厂商也蜂拥入场,纷纷开始布局。
科大国创软件股份有限公司(以下简称科大国创)以中国科技大学为技术依托,以擅长的基于网络的软件技术、数据库技术、云计算技术、移动互联技术、系统集成技术、智能控制技术、网络终端产品的研究与开发技术,面向国内、国际提供优质的产品和服务。科大国创在现有技术和产品的基础上进行低代码平台的深入研究、构建与应用。
Forrester 的分析师曾估计,2021 年75%的企业软件将使用低代码技术来构建,行业观察人士将2021 年称为“低代码年”。而业界对于低代码的发展方向则有以下几点预测:代码平台将超越应用程序开发;计算能力大规模向边缘迁移;超越网络和移动设备的多重体验;增强现实推动新常态下的商业成功;无需训练的人工智能;可组合企业使得工业界能够大规模创新;一体化和发展日益成为同义词。
低代码的能力要素包含全栈可视化编程、全生命周期管理、低代码扩展能力等,根据对低代码行业的观察和理解,可以将低代码平台核心能力分为开发、扩展、体验和管制4 个方面。
(1)开发。模型驱动开发,目前低代码平台采用的主流开发模式,模型包含数据模型、业务模型、交互界面三个部分。数据模型根据数据库设计范式制作,由数据表、关系、约束等构成。业务模型(也称领域模型)是将业务逻辑构建在数据模型之上,形成完整的业务描述。交互界面是基于业务模型设计交互页面,编排业务模型以实现业务操作。可视化能力,指全栈、端到端的可视化编程,覆盖一个完整应用开发所涉及的各个技术层面,包含可视化UI 设计、可视化业务处理逻辑开发、可视化运营与运维。
(2)扩展。API 集成,现代的软件系统和SaaS 服务越来越多地以WebAPI 形式对外提供服务。通过集成API 可以让低代码开发平台具备更强大的适应能力和更广泛的应用场景。编程环境集成,软件需求和IT 环境的变化通常会超过开发平台的迭代速度,编程环境集成为个性化需求和复杂功能逻辑的实现提供了便利。组件/插件集成,在提供编程环境的基础上,提供能力和组件的集成与复用功能,促进扩大平台生态体系和降低开发成本的正向反馈循环。
(3)体验。响应式页面支持,分为流式布局和网格布局两种。支持响应式页面意味着用户无需针对特定的屏幕尺寸做专门的设计,可以大幅提升UI 的开发效率。多端兼容支持,低代码平台需要具备与移动端应用无缝对接的能力。
(4)管制。安全管控,平台的开放性使得安全问题更为险峻,安全控制需要体现在平台使用的各个方面及生命周期的各个阶段,包含代码安全、平台使用、资产安全、应用访问等。版本管理,企业级应用的高复杂度和频繁的需求变更决定了版本管理的重要性。在专业开发领域,版本管理已经成了标配,并基于此衍生出了完整的项目管理方法论。私有化部署,很多企业对数据和应用程序的可控性提出严苛要求,低代码平台需要具备私有化部署能力,在完全没有互联网的情况下也可以开发、部署和使用。
(1)加强开发过程的沟通协作。各角色可以在同一个低代码开发平台上紧密协作,这种全新的协作模式不仅打破了职能竖井,还能轻松对齐项目各方对应用形态和项目进度的理解,实现更终极的敏捷开发模式。
(2)降低业务应用的开发成本。低代码开发在软件全生命周期流程上的投入都要更低,代码编写大幅减少,环境配置和部署成本大幅降低,技术升级和维护零成本。
(3)实现业务应用的快速交付。开发效率提升5~10 倍,节省工作量34%~70%。
(4)扩大应用开发者规模。低代码开发显著降低开发人员的使用门槛,非专业开发者经过简单的IT 基础培训就能快速上岗。目前中国低代码使用者规模达42.6 万人,潜在使用者较多,至少有4 倍增长空间。
(5)统一开发平台后的聚合效应。低代码尝试将所有与应用开发相关活动都收敛到同一个平台上后,将会使人员、应用、生态方面产生聚合效应与规模收益。
科大国创利用自身在多个行业十余年的业务与技术积累,通过对低代码需求与应用方向的敏锐洞察,开展对低代码平台的建设。通过对组件能力的高度抽象,提供拖拽式可视化开发界面及丰富的编程扩展点,可以同时支持通过可视化开发和代码开发构建应用,促成业务与技术深度协作的终极敏捷形态。
低代码平台由平台门户、可视化设计平台、核心引擎、业务能力管理、在线开发环境、平台运营模块组成,总体架构如图1 所示。
图1 总体架构图
(1)平台门户包含首页、开发者论坛、组件商店、案例中心、学习中心、资讯中心,使用者可以利用门户渠道快速获取所需的开发资源。使用者也可通过门户提供的便捷入口,进入各业务场景的工作空间。(2)可视化设计平台提供数据模型设计器、流程设计器、表单设计器、页面设计器、逻辑设计器、规则设计器、BI 设计器等,封装大量组件并屏蔽其底层复杂性,为使用者提供便捷友好的拖拉拽开发形式。(3)核心引擎包含数据模型引擎、流程引擎、表单引擎、页面引擎、规则引擎、BI 引擎和权限引擎等,为业务运行和过程控制提供支撑。(4)业务能力管理对业务应用的生命周期、组件库、模板库和各种能力库进行管理。(5)在线开发环境为专业开发者提供在线IDE,可利用编码开发复杂逻辑和场景。(6)平台运营包含多种监控与运营视图,同时可对租户、权限、运营内容等进行管理。(7)低代码平台的底层有安全中台、数据中台、AI 中台、运维平台等支撑,可以为使用者提供安全保障、数据和AI 集成与开放等能力。平台支持部署在多云环境中,支持应用运行环境隔离。
科大国创低代码平台通过建立开放式架构,使得组件和业务应用模板得以不断积累复用,兼容软件工程师和业务人员使用,为不同角色提供不同层次的开发模式。以数据模型设计为基础,拉通表单、规则、流程设计,基于可视化在线低代码设计模式进行业务场景快速设计、验证及发布。支持订阅组件库中的模板,装配生成业务需求新组件。
(1)软件工程师低代码开发。面向的使用者为入门级或初级软件工程师,应用形态为使用可视化逻辑开发与前台/后台编排功能,结合拖拽设计与编码开发的优势,可通过脚本与服务编排灵活实现业务逻辑。开发流程如图2 所示。首先创建业务场景,平台会为该业务场景创建一个独立的工作空间,后续使用到的资源(数据模型、各类组件和逻辑)、环境(沙箱测试、生产部署)、状态(发布、升级、下线等)等均与该场景绑定。再进行可视化组件设计,对于可视化无法满足的功能通过编码开发来实现。然后进行组件装配,例如为API 关联后端逻辑、绑定表单与流程人工任务环节、绑定API 与流程自动任务环节等。开发完成后在平台提供的沙箱环境进行测试验证,验证通过后即可通过平台进行自动部署及发布。
图2 低代码开发流程
(2)业务人员无代码开发
面向的使用者为具备少量IT 知识的业务人员,应用形态为使用已沉淀的业务流程和模板,用平台丰富的行业模块、卡片,实现积木式搭建应用。开发流程如图3 所示。业务人员可充分利用平台能力共享体系实现无代码开发。可通过组件或模板订阅方式直接使用平台已有的组件或模板,包含API、数据服务、流程环节组件、页面组件、后端规则逻辑等。订阅后这些组件或模板将生成新的副本,可以对其进行个性化修改以贴合该业务场景需求。
图3 无代码开发流程
平台通过先进的架构设计,将各功能模块充分解耦,可根据不同业务场景组装功能模块,呈现不同应用形态,包括轻型管理类应用、数据填报与分析、业务工单流程处理等。
(1)轻型管理类应用
使用低代码平台开发出轻量级管理项目,以应用形式部署并提供服务,涉及的领域包括OA 管理、人事管理、资产管理、合同管理、项目管理、运营推广等。应用可以实现对管理对象的增删改查、列表展现、详情信息展现、报表及仪表板展示等基础功能,还可以结合流程组件实现管理类审批流。
(2)数据填报与分析
使用低代码平台开发出数据填报表单及仪表板。人员填报数据后,平台通过模型引擎的数据存储服务自动存储数据,并通过BI 引擎的数据加工能力对数据进行清洗、指标提取和自动汇总,最终以报表和仪表板方式呈现给用户,并支持在报表和仪表板上进行可视化数据分析。其应用形态如图4 所示。
图4 数据填报分析场景示意
(3)业务工单流程处理
使用低代码平台开发出来各个工单处理业务场景,发布至业务系统中运行使用。低代码平台提供工单引擎,对于不同类型工单的处理,使用统一后台服务+自定义脚本的方式实现建单、派单、回单、竣工等工单操作的统一封装与服务。工单引擎将表单、流程、规则等关键组件进行连接与驱动,从而完成业务工单处理。其应用形态如图5 所示。
图5 业务工单处理运行示意
具体应用过程为,用户填写表单并提交,平台的建单服务解析表单提交的数据并提取关键参数,通过规则识别出工单类型和对应流程,自动保存工单实体后启动流程。平台的派单服务可以根据流程环节信息,结合参与者规则和调度规则进行自动派单,可灵活派单至分公司、工位或人员。在处理人对工单进行处理并提交后,平台的回单服务将处理表单数据并计算流程参数,自动进行工作项提交并记录处理信息。待工单事务全部处理完成后,流程结束自动触发竣工服务,此时将更新工单状态为竣工,更新其他关联数据,并可按既定策略对工单及流程相关实例数据进行转储。
多个研究机构的预测均表明,作为亚太地区的经济大国与IT 强国,中国的低代码市场将会引来一个爆发期,未来几年内的增速都会超过全球平均水平。现阶段低代码平台的应用形态主要仍集中于业务人员日常工作,更贴近且更易于市场化的办公类与管理类场景。为了使低代码平台的适用场景进一步扩充、应用形态进一步丰富,低代码平台下一阶段的演进方向主要在于“跨越描述性业务逻辑与程序性IT 逻辑之间的鸿沟”,要继续深化的能力包括插件式灵活开发、支持大规模复制与扩展、实现业务与数据价值链闭环、全域可视化、高级别安全保障等。