徐娟华
(江西铜业集团有限公司 贵溪冶炼厂,江西 贵溪 335424)
随着企业数字化、信息化的加速推进,越来越多的企业开始借助互联网升级自己的信息系统,为企业发展战略提供支撑。企业由于发展沿革和行业特性,对于信息系统会有自身特殊的要求,尤其是在企业的行业个性化需求和企业自身独有的个性化需求方面显得格外迫切。随着企业应用程序需求的不断增长,专业开发人员的开发速度已经没有办法满足市场需求,导致大量的应用程序开发任务积压,据Gartner 预计,2021 年市场对于应用开发的需求将五倍于IT 公司的产能,为填补这一产量缺口,低代码/零代码技术是目前唯一可行的解决方案,必然会有越来越多企业引入这一技术,超过75%的应用程序将在低代码/零代码平台中开发。中国软件行业协会、中国软件网联合全球领先的开发工具厂商葡萄城发布了《2020 中国低代码开发平台十大发展趋势》,对低代码开发平台的发展表示乐观,预计市场未来需求将出现暴增[1]。
“低代码”[2]是 Forrester Research 于 2014 年提出的概念,指一种主要应用于企业信息化领域的快速开发技术。借助低代码平台,开发者无需编码即可生成企业应用的常见功能,少量编码能开发出更多扩展功能。
“零代码”[3]是围绕企业数据和业务管理需求,通过可视化方式设计数据结构、用户交互形式、设置访问权限和定义工作流程的开发技术。它不只能提供根底的功用模块,而且提供了用户开发一个信息系统所需要的全部功用,使得用户可以不编写代码就能开发出完整的业务管理系统。
低代码与零代码都是一种快速开发技术,是一个二次开发软件框架,用户能够在这个框架上以少写代码或不写代码的方式进行信息系统的开发工作,让用户像搭积木一样搭建管理应用。我们把这一门类称为为aPaaS(Application Platform as a Service,应用程序平台即服务)。
目前低代码平台与零代码平台已有相互融合的趋势,未来会逐渐趋同,本文将侧重于阐述零代码开发平台的方方面面。
企业软件需求的多样化、特异性是快速定制开发模式的起源。传统的企业信息化实现历程都会选择标准化软件,但标准化软件的适用性较低,虽能解决不少管理共性的问题,但标准软件无法充分满足企业个性化需求,功能要么不足要么冗余,造成了企业实际业务流程的堵塞,增加了信息化管理实现的难度和风险,同时,随着企业的发展,会产生许多个性化、碎片化应用,这些应用很难通过标准化软件进行管理,久而久之,就形成了企业管理离散的局面。采用外包或自主开发模式,虽解决了信息系统与实际业务相匹配的问题,但存在开发周期长、研发成本高、运维复杂等问题。在这种背景下,企业用户始终在寻求一种既能满足个性化需求且有足够灵活性,又能够控制开发成本、周期及复杂度的解决办法。零代码快速开发平台基本就是直接针对这个问题而诞生的。
近年来借助于云计算和各种开发技术的加持,零代码快速开发平台得到了迅速成长,开发平台提供商日益增多,通过无代码的开发方式,引导业务人员快速开发出适合自身业务场景的应用系统,同时,兼顾复杂业务的实现,帮助企业直击痛点,高效解决各类多样化管理需求。
零代码快速开发平台用模型模拟的应用搭建思路和原生数据库应用开发是类似的[4],而之所以“快速”,是因为平台已经把交互、界面、流程、权限等一些共性代码抽象出来,将设计信息系统所需要的各项功能进行封装,用可视化的页面提供给用户操作,让用户可以快速选取、拖拽、创建所需的功能组件,免去了繁杂的代码编写过程。同样,也可以通过可视化界面设置系统的逻辑与流程,有了功能、逻辑与流程,就可以很容易做出一个业务管理系统了。
一个典型意义上的零代码快速开发平台通常具有以下能力元素和特性:
(1)能够以可视化方式构建业务对象数据表,自定义输入表单,配置关联关系及创建视图。
(2)能够以可视化方式配置业务流程,监控流程执行全过程。
(3)能够灵活配置企业组织结构、用户角色及权限,并将其应用于逻辑关系。
(4)能够方便快捷地汇总、统计、分析数据,生成丰富的图表。
(5)能够封装应用后分发给不同的用户。
(6)能够设置丰富的界面形式,实现个性化工作台。
(7)从设计到发布,应用程序开发生命周期的各环节均可在可视化设计器中完成。
与原生代码平台相比,零代码平台具有覆盖需求广、开发零编码、应用落地快、后期迭代易等优势。
(1)满足企业多样化个性化需求。
企业软件需求具有多样化、个性化的特点,且根据企业发展不断变化,零代码平台既能满足企业独特需求又能保持足够的灵活性,而且能够有效控制开发成本和开发周期。
(2)有利于企业建立统一集成的数据管理平台。
企业信息化是一个长期建设过程,在这个过程中,由于技术的更新以及企业不同时期的发展规划,会形成信息系统烟囱林立的现象,不同系统之间平台不相同、数据标准不规范、技术平台不兼容,导致交互与集成困难,难以实现跨职能的关联性分析及大数据集成。零代码平台由于管理数据的模型一致,能够提供一个标准化程度非常高的编程接口,从外部系统汇合数据变得相对容易很多,实现数据流转的活水活源。
(3)缩小业务人员与技术人员的理解偏差。
原生代码开发模式,通常由业务人员和技术人员进行需求沟通,再由技术人员完成需求分析、详细设计、数据表创建、程序编码、用户测试这么一个长长的周期,如果开头需求沟通就出现了理解偏差,后续一系列的变更调整是件无比痛苦的事情,甚至会严重影响系统的开发进度和实施质量。零代码平台则是渐进式实施,从一个具体的环节开始,局部数字化,利用零代码平台工具快速生成应用原型,可能在一两个小时的搭建后就能够确认功能与需求是否匹配,极大缩短从需求理解到用户测试的时间,同时可视化设计的方式让业务人员也可以操作,帮助技术人员从需求沟通的痛苦中解脱出来,可以更加专注于解决底层和接口等技术问题。
(4)具有突出的成本和效率优势。
零代码平台开发和原生代码平台开发相比,效率差至少是10 倍以上。原生代码模式开发需要10天的,零代码平台可能1 天就能够完成。同时,零代码平台无需懂编程的低门槛技术优势,颠覆了必须依赖IT 人员的传统开发模式,即使是没有编程基础的小白,也能快速上手,各业务部门可以搭建自己的管理应用,实现信息化自助。
零代码平台的核心精神就是围绕企业的数字化运营提供高生产力,高效解决传统信息化速度的滞后问题,虽然它具有突出的优势,但并不代表它就能取代传统开发平台,满足所有企业的所有业务需求。零代码开发几乎都是面向企业应用,适合定制企业核心管理系统,同时,当出现管理需求不断变更,避不开较高的经济成本、时间成本、落地风险时,通过零代码平台可以有效解决此类困局。
由于零代码平台存在不可实现代码级别开发自由度的局限性,因此在某些专有化程度很高的行业,如餐饮、酒店、电商、游戏、社交、工具软件等领域,用零代码平台来构建这些领域的业务场景反而不便,而且无法有效提供具有行业领域特点的视图,用传统的垂直的原生行业应用会更加合理。另外金融等行业的核心业务系统因为国家及行业法规要求有严格的代码审计,零代码平台不一定能够提供源代码给用户企业,无法满足代码审计的要求,因此也不宜采用零代码开发方案在核心业务环节中。
笔者所在的贵溪冶炼厂信息化起步较早,软件开发上采取标准化软件+外包开发+自主研发的混合模式,企业拥有自己的软件开发团队,经历了多轮软件技术的变迁,从最初典型的单体三级架构(前端+中间业务逻辑层+数据库层)逐步到分布式应用架构(中间层分布式+数据库分布式),再到现在的微服务架构(中间层拆分成微服务)[5],始终都是面向技术的信息化建设模式,要想获得任何一个功能,哪怕是个简单的Hello World,都必须Coding,然后编译执行,这种原生代码开发方式定制能力不足、开发周期长,信息化系统的速度远远跟不上业务发展节奏。
零代码平台使用无代码可视化表格的开发方式,能快速开发出适合企业业务场景的信息化系统,做到因地制宜的适时调整,并整合多业务数据,形成一个统一的数据管理平台。
以下将结合企业现状,将原生代码平台与市面上主流的零代码平台作一个综合比较。
(1)原生代码平台(以iUAP 平台为例)。
贵溪冶炼厂2019 年上线智能工厂应用系统,采用用友公司iUAP 平台构建,iUAP 平台通过领域设计器生成应用框架代码,Java 语言编辑器完成业务逻辑设计,注册接口和事件将业务逻辑和应用框架代码关联,最后统一编译和调试[6]。
iUAP 平台技术架构如图1 所示。
图1 iUAP 平台技术架构
(2)零代码平台。
业内比较著名的几款零代码平台,技术原型基本为关系型数据库与电子表格之间形成对应关系,一般采用三级架构模型,将信息化的整个业务应用划分为视图层、逻辑层和数据层,采用“高内聚低耦合” [7]的思想,使得界面、业务逻辑、数据访问相互独立,数据可以在各层之间加密传输,同时,支持业务逻辑层和数据库访问层部署在不同的服务器上。
零代码平台技术架构如图2 所示。
图2 零代码平台技术架构
原生代码平台的开发模式是面向技术,业务人员将业务需求描述给技术人员,技术人员通过自己的理解进行业务系统开发。由于信息沟通不到位以及技术人员对业务理解的偏差,往往开发出来的系统与实际业务不匹配,需要反复修正调整,造成用户体验差、开发周期长、人力大量耗费等问题。
零代码平台的开发模式是面向业务,由业务人员主导开发设计,开发者只需要关注业务逻辑,以前需要大量编码才能实现的功能现在只需要通过平台配置搭建就可完成,业务人员可以担任开发者角色,不必依赖于技术人员,搭建出来的管理应用在灵活性和易用性方面完全可以媲美原生开发的应用系统,而实现功能需求的周期可能不到原生开发的十分之一,大大缩短开发周期,提高上线成功率。
将iUAP 平台与业内几款零代码平台进行了比对,各要素的关键区别如表1 所示。
表1 平台综合比对
为了验证零代码平台在企业的适用性,我们选择了“炉前生产作业管理”功能作为测试用例,要求实现炉内铜温、渣温、标高、检尺的测量记录,以及放铜记录管理,炉内温度异常波动及时预警,同时生成管理看板。
由二组人员分别以iUAP 平台、零代码平台实现功能开发,最终iUAP 平台小组使用了三周多时间完成功能开发,基本满足用户要求,而零代码平台仅用了二天时间就完成了全部功能开发,且功能展现效果远超用户预期。
随着低代码、零代码这类快速开发平台应用场景不断拓宽,未来会有更多企业或企业信息化服务提供商采用技术门槛更低、开发效率更高的零代码平台,无需代码开发就能够搭建出用户体验上佳的业务应用,实现“开发即配置,所见即所得”,以“智简开发”模式助推企业信息系统快速上线,有力推进企业信息化进程。