APP下载

针对企业级应用复杂性的低代码开发平台架构

2023-02-27康世杰

绵阳师范学院学报 2023年2期
关键词:企业级开发者复杂性

康世杰,黄 鹤

(1.成都东软学院信息与商务管理学院,四川成都 611844;2.阿里云计算有限公司,浙江杭州 310024)

0 引言

广义的低代码(Low-Code)概念由Forrester于2014年首次正式提出,定义为:能够以最少的手写代码和设置快速开发应用、配置和部署业务应用程序.同时,与低代码密切相关的两个概念是:纯代码(Pro-Code)和无代码(No-Code)[1].如果定义纯代码的开发代码量是100,那么无代码就是0[2],上述三者之间的关系[3]可表述为公式(1)所示:

广义的低代码=无代码*X%+纯代码(1-X%)

(1)

其中X(0≤X≤100)代表了可复用的“数字化资产”[4]满足业务需求的程度.X值越大,满足业务需求的程度越高,但同时,灵活性会被削弱[5].当X=0时,就是纯代码;0

2014年后,低代码市场发展迅速.研究机构Gartner预测,2024年应用软件开发活动当中的65%将通过低代码方式完成,同时75%的大型企业将使用至少四种低代码开发工具进行应用开发.从2021年到2026年,中国低代码市场收入将以25.4%的复合年增长率(CAGR)增长[6].同时,行业参与者的队伍也迅速壮大,国外的低代码行业领导者包括:OutSystems、Mendix、Microsoft、Salesforce、ServiceNow等[7-8].国内的低代码行业领先者包括:阿里巴巴(宜搭)、葡萄城(活字格)、第四范式(HyperCycle)、百度(爱速搭)、华为(应用魔方)、腾讯(微搭)、ClickPaaS等[9].

虽然低代码市场发展迅速,低代码开发也有着上手快、开发快、运行快和运维快的特点,但是,低代码行业的参与者,大多只从自己擅长领域入手,进行平台架构设计,缺少针对企业级应用复杂性的整体考量,导致市场的企业级低代码开发平台标准不统一,产品品质参差不齐[10].在低代码、无代码产品急速发展、赋能业务的时期,亟需推出统一的企业级低代码开发平台关键能力指标和低代码开发平台架构标准,更好的规范、促进行业发展和业务创新.

1 低代码开发平台介绍

1.1 低代码开发平台的定义

研究机构Gartner将低代码开发平台(Low-Code Development Platform,LCDP)定义为通过抽象和最小化手动编码来快速开发和部署自定义应用程序的一种开发工具或软件.必须包括如模型驱动或带有脚本的图形编程方法在内的低代码能力,来开发包含了从UI、业务逻辑、到工作业务流和数据服务的完整应用[6].

1.2 低代码开发平台的用户群体

低代码平台面向的用户群体是无需专业开发能力的“公民开发者”(Citizen Developers)和“专业开发者”(Professional Developers),以及“专业和公民开发者融合团队”(Professional and Citizen Developers)[6,11].

(1)“公民开发者”是指来自财务、销售、运作等自业务部门,本职工作与IT无关但参与到软件开发中的业务开发者,完全可以自己或者在技术人员The Critical capability indicators and Architecture of LCDP的指导下开发出更符合特定业务工作需求的应用程序[11].

(2)“专业开发者”是指服务于企业IT部门或软件的公司IT技术人员,包含程序员、项目经理、实施顾问等,可通过可视化、流程化的开发方式,实现相比于纯代码模式更高效的开发[11].

(3)“专业和公民开发者融合团队”是指由IT技术人员和业务开发者组成的团队[11].

1.3 低代码开发平台的发展

从“基础设施架构演进”的角度看,经典代码开发平台到低代码开发平台经历的5个发展阶段[12],如图1所示.

图1 代码开发平台的5个发展阶段Fig.1 Five development stages of code development platform

第一阶段:纯物理环境阶段.经典代码开发平台的软、硬件基础设施都需要自建,所有环境都是纯物理设备;第二阶段:IaaS(Infrastructure as a Service基础设施即服务)阶段.代码开发平台摆脱了自建硬件的束缚,使用者将主要精力放在软件环境的搭建和自建应用上;第三阶段:PaaS(Platform as a Service平台即服务)阶段.代码开发平台进一步摆脱了自建系统软件的束缚,使用者将主要精力集中在自建应用上;第四阶段:SaaS(Software as a Service 软件即服务)阶段.使用者可以直接使用高度封装的应用软件服务,完全不用自建应用.但在实践中,发现SaaS的短板:定制性太弱.因此在SaaS的基础上,又演进出aPaaS的软件服务体系;第五阶段:aPaaS(Application Platform as a Service 应用程序平台即服务)阶段.Gartner对aPaaS的定义是:aPaaS是基于PaaS的一种解决方案,支持应用程序在云端的开发、部署和运行,提供软件开发中的基础工具给用户,包括数据对象、权限管理、用户界面等.在aPaaS模式下,非技术人员可以直接在云端完成应用程序的搭建、部署、使用、更新和管理,整个过程所见即所得,可以不需要专业技术人员的参与,成本低、速度快.

1.4 低代码平台的分类

1.4.1 按照开发模式 按搭建应用时开发模式,可将广义低代码平台分为狭义低代码平台和无代码平台两种,二者均可通过可视化界面,对封装好的代码模块进行拖拉拽来完成应用搭建[13].其中狭义低代码平台主要服务关注业务逻辑的开发部门,需要编写少量代码进行模块衔接或功能拓展;无代码平台更强调低代码的低门槛,仅需理顺业务逻辑即可快速搭建流程管理、表单等轻量级应用.整体上看,低代码平台的函数与系统解耦,在少量代码的支持下应用场景较广,而无代码轻量便捷,搭建速度快,赋予业务部门更多自主权.

1.4.2 按照底层驱动技术 按照低代码平台的底层驱动技术,可划分为表单驱动、模型驱动[11,13].表单驱动直接关注业务场景,以数据表为核心、以工作流为媒介构建应用.模型驱动从业务场景中抽象出模型,如数据模型[14]、本体论需求模型[15]和集成经营过程模型[16]构建页面和业务流,其应用场景更加复杂且广泛.整体上看,低代码正从表单驱动向模型驱动递进,其功能性逐渐提升,覆盖更多业务场景.

1.4.3 按照应用场景 按照低代码平台的应用场景,可将其划分为通用型和垂直型[13].通用型低代码平台覆盖各行业各场景,有多种行业模板和解决方案可供用户挑选.垂直型低代码平台深耕特定行业或特定场景,针对不同行业属性和场景特点提供专业性高的模板和解决方案.

1.4.4 按照技术类型 按照低代码平台的技术类型,可将其划分为9种类型[9]:数字流程自动化(BPM)、公有云、面向专业开发者的低代码开发平台、面向公民开发者的低代码开发平台、AI/机器学习、BI、协作管理、流程自动化机器人(RPA)和数字化运营平台.

2 企业级应用复杂性分析

企业级应用复杂性分析是分析低代码开发平台关键能力指标和设计平台架构的前提.企业级应用是承载企业核心价值链业务的主要应用平台,而企业级应用开发平台则是用以提升开发效率的工具.只有正确地理解和分析企业级应用复杂性,才能明确开发平台需要具备哪些关键能力,才能设计出适合的平台架构,定制出适合的企业级应用.

企业级应用复杂性分为三类[17-18]:一类为业务复杂性,一类为技术复杂性,一类为应用全生命周期管理复杂性.如表1所示.

表1 企业级应用复杂性分类Tab.1 Enterprise application complexity classification

3 企业级低代码开发平台关键能力指标分析

企业级低代码开发平台关键能力指标(后称:关键能力指标),是专门针对企业级应用复杂性提出的应对方案集合[19-20],以及相关的系统和软件质量要求[21],目的是通过提升开发平台的能力,解决应用的各类复杂性问题.

(1)针对业务复杂性,提出了基础的应用开发能力指标、可视化能力指标、应用业务流程管理提升能力指标等.

(2)针对技术复杂性,提出了专业的应用开发能力指标、应用部署能力指标、平台安全与合规管理能力指标、应用的内外部集成化能力指标、稳健的服务能力指标、业务创新能力指标等.

(3)针对管理复杂性,提出了应用全生命周期管理能力指标、可视化提升能力指标等.

按照各种关键能力指标的重要程度和复杂程度,进行了指标的细化和分级[6,11,19],包括:初级能力指标、中级能力指标和高级能力指标.

3.1 初级能力指标

主要是面向“公民开发者”,解决基础的“表单/办公自动化”应用开发、应用部署等问题,以及基本的应用全生命周期管理、平台安全与合规、服务能力等问题,如表2所示.

表2 初级能力指标Tab.2 Primary capacity indicators

3.2 中级能力指标

主要是面向“专业和公民开发者融合团队”,解决较为复杂的模型驱动开发、业务流程管理提升、应用的内外部集成等问题,如表3所示.

表3 中级能力指标Tab.3 Intermediate Capability Index

3.3 高级能力指标

主要是面向“专业开发者”,解决更为复杂的、特殊的、个性化的业务创新、应用生态部署、可视化提升等问题,如表4所示.

表4 高级能力指标Tab.4 Advanced capability indicators

4 企业级低代码开发平台架构

企业级低代码开发平台架构,是实现企业级低代码开发平台关键能力指标的信息技术工具集合及其关系的抽象描述.用于指导企业级低代码开发平台(后称:平台)的设计,评估平台的能力等级,帮助企业根据自己的需求进行平台的选型.

4.1 平台架构图

在充分考虑关键能力指标的基础上,为保证开发的应用有更长的生命周期,在架构设计上,支持开放的、多层次的、服务化的架构方式,综合文献[22-24]考虑多种架构方式,设计了平台架构,如图2所示.

图2 企业级低代码开发平台架构Fig.2 Architecture of Enterprise-Level LCDP

4.2 平台外部架构

为满足部分关键能力指标的要求,平台外部架构主要包括以下七个组成部分:

(1)平台应遵从安全与合规管理的要求,满足保密性、完整性、抗抵赖性、可核查性、真实性、信息安全性的依从性等要求[10];(2)针对应用管理,平台作为BizDevOps的一部分,被纳入企业应用全生命周期管理中[1,20];(3)平台聚合多样的系统运行环境,集成各种类型的中间件[26],支持SQL数据库、NoSQL数据库和外部数据源等多种类型的数据管理形态,支持公有云、私有云、混合云和本地化等应用部署方式[27];(4)平台双向集成第三方软硬件和数据资源,保证平台的开放性和包容性,以对接物联网IoT、RPA机器人、ML机器学习等新的技术;(5)平台支持事务处理、数据统计、数据分析和决策支持等多种应用场景的开发;(6)平台支持如ERP、CRM、CAX和SCM等多种类型的应用软件开发;(7)平台支持如机械行业、电子行业、化工行业和服务行业等多种行业的应用软件开发.

4.3 平台内部架构

平台内部架构主要包括以下五个组成部分:

(1)平台支持多端开发和发布.开发者可以通过PC端、移动端接入完成开发,只需要一键发布,就可以完成各类大屏展示端、PC端、移动端等多端部署和访问[28];(2)面向公民开发者,平台提供可视化开发功能[29],支持表单驱动或模型驱动模式的可视化开发,页面可视化编排、流程可视化编排和逻辑可视化编排等功能,实现全流程的可视化开发能力;(3)面向熟悉业务的专业开发者,平台提供编程扩展功能,包括前端开发和后端开发的扩展,与可视化开发互为补充,在提高平台易用性的同时,保持平台的灵活性,覆盖更多的业务场景;(4)平台支持企业数字化资产管理,包括各类模板库、组件库、元数据、平台接口与服务等[4],为可视化开发提供有力的支持,实现企业数字化资产在多个项目间的快速复用;(5)面向技术能力较强的专业开发者,平台支持数字资产开发的功能,有针对性的开发新的模板和组件,不断丰富企业数字化资产库,实现平台能力的整体提升.

5 结论

本文首先分析了企业级应用复杂性问题,包括业务复杂性、技术复杂性和应用全生命周期管理复杂性;然后,有针对性的提出了企业级低代码开发平台关键能力指标,包括:面向“公民开发者”的初级能力指标,面向“专业和公民开发者融合团队”的中级能力指标和面向“专业开发者”的高级能力指标;最后,秉承开放的、多层次的、服务化的架构方式,设计了企业级低代码开发平台架构,包括平台架构图、外部架构的七个组成部分和内部架构的五个组成部分.

未来可从以下六个方向开展研究:

(1)平台关键能力指标细化和平台架构细化研究.本文是站在整体架构的角度,提出的关键能力指标和平台架构,未来的研究,可以在此基础上,进一步细化其中的内容,有助于形成更完整的能力指标体系和更详尽的平台架构细节;(2)低代码开发方法论集合研究.低代码开发平台改变了应用开发过程,对传统的软件工程方法论提出了挑战,因此,针对不同类型的低代码开发平台,需要提出适配的应用开发方法论,最终与关键能力指标对应,形成一套完整的低代码开发方法论集合;(3)平台产品技术分类研究.使用关键能力指标和平台架构定期评估市场上现有的低代码平台产品,对不同的产品按能力等级、适用的开发者、实现的功能细节等进行技术分类;(4)平台产品选型研究.在技术分类的基础上,企业可以根据自己的长中短期的不同层次的需求,研究如何匹配合适的平台产品;(5)平台产品的市场研究.在企业需求和产品分类的匹配基础上,可以对不同的平台产品进行市场定位、客户群识别、营销策划、定价方案、合作伙伴发展等市场方面的研究;(6)低代码的教育研究.低代码市场发展迅速,必然促进相应的人才培养.面向“公民开发者”的通识教育,面向“专业开发者”的职业教育,都变得同等重要,根据不同类型群体的开发不同的课程、培养计划、培训资料和考级认证体系等进行研究.

猜你喜欢

企业级开发者复杂性
企业级BOM数据管理概要
PFNA与DHS治疗股骨近端复杂性骨折的效果对比
简单性与复杂性的统一
基于慕课网的“企业级应用开发”课堂教学改革探索
“85后”高学历男性成为APP开发新生主力军
应充分考虑医院管理的复杂性
企业级信息系统应用级灾备建设与应用
16%游戏开发者看好VR
直肠腔内超声和MRI在复杂性肛瘘诊断中的对比分析
栝楼产业开发者谢献忠