深度解读华为低代码如何显著提升应用构建效率 | ArchSummit

作者 | 田靖

编辑 | 忠良

最近几年,低代码发展火热,特别在垂直领域应用越来越广,但是低代码不是银弹,需要在正确的场景下,正确地使用,华为由于其独特的国际性业务,使得他们在低代码方面实践经验非常丰富。于是在 ArchSummit 全球架构师峰会(深圳站)2021 上,InfoQ 邀请华为 IT 开发服务首席架构师 田靖分享了他们在低代码平台上的实践,本文为其演讲的整理文,希望对你有所启发~

过去十多年时间,华为全球化业务增速非常快,这为华为 IT 部门提出了较大的挑战。我将华为近十年 IT 应用架构分为以下三个阶段:

首先是 单体到微服务阶段,在 2012-2015 期间,华为业务量增长比较快,单体服务已经无法满足业务的发展,因此华为对大库进行了拆分,将单体服务拆分成了许多微服务;

接着是 Gartner MASA 架构,在 2019 年之后,华为引入了 Gartner MASA架构,它帮助华为解决了主干稳定,末端灵活的问题。通过低代码平台满足了不同国家、产业的开发诉求。

最后,在 2021 年之后,低代码末端应用越来越多,这为数据、规则治理带来了很大的挑战。今天主要分享华为第二阶段的数字化转型实践经验。

华为的数字化转型挑战有以下几方面:第一,新建系统和遗留系统维护需要同时支撑,人力资源诉求较大。大量原有业务的开发需求需要持续满足业务的发展,常常会因为不能满足开发而遭到投诉;第二,华为的业务 q,如何快速满足每个国家 / 客户的差异化需求,提升顾客体验;第三,数字化时代,移动优先,从 Web 到移动的转换过程中,对移动开发人员的诉求较多,缺口较大。

深度解读华为低代码如何显著提升应用构建效率 | ArchSummit

基于整体的这些挑战,华为设计了基于低代码平台的敏捷 IT 方案,整体方案分为四层,包括应用服务、编排工具、生态市场、以及面向不同用户的场景应用。最底层是应用服务,它涵盖业务服务、数据服务以及软件包服务。第二层是面向前端的编排工具,这一层使得集团 IT 人员只需要关注于主干的开发,与此同时,一些区域的 IT 人员还可以自行构建差异化的应用。

展开全文

Low-Code 平台架构

深度解读华为低代码如何显著提升应用构建效率 | ArchSummit

如上图所示,华为的低代码平台总体架构涵盖这些内容。通过低代码,可以快速利用市场的 API/ 卡片资源,构建面向不同国家 / 客户、不同用户的 UI、服务以及移动应用。

这套架构可以非常好地实现资源的快速获取、弹性以及高可用。与业界标准的低代码平台相比,这套架构有一些功能特性差异。比如,UI 或服务需要以 API 或卡片的方式,嵌入到主干应用,实现统一的访问入口、操作体验和权限控制。

以数据为中心来构建应用是低代码平台的核心。通过低代码平台的数据引擎,可以连接多种数据库类型,并自动提供数据服务。用户不再需要关注资源和数据库的操作,即可实现数据的 CRUD 操作。

除了基本的数据访问,还需要考虑数据的权限控制,以及如何对敏感数据进行加密存储,在企业应用场景下,可以将这些内容嵌入到数据引擎中,业务同事仅仅元数据的配置便可以实现以上内容。

Low-Code 平台架构之服务编排

在具备基本的数据访问能力之后,仅仅依靠 CRUD 无法解决业务逻辑和规则问题,还需要一些逻辑的编写以及 API 的组合,这就是服务编排功能。有大量可用的 API 资源、技术组件以及常用连接是服务编排的核心,通过不断地沉淀业务相关的组件(SPI)/ 业务服务,可以较好地在快速响应不同的需求。

调度器是服务编排引擎的架构核心,它可以调度服务,也可以执行一段脚本,当然也可以调取 Java 方法。与此同时,处理器的功能也比较丰富,可以连接 MongoDB、Redis,可以发送消息、发邮件、发通知等等,企业可以自行根据需求扩展这些功能。

Low-Code 平台架构之流程编排

深度解读华为低代码如何显著提升应用构建效率 | ArchSummit

低代码平台具有流程定义与编排功能。除了常用技术类操作之外,用户可以定义常用的流程模板,并且把大颗粒常用的、业务不能修改的部分,通过描述的方式定义,然后开放给业务 / 区域 IT 用户。当区域 IT 操作人员使用的时候,只需要托拉拽已有业务活动,即可完成想业务流。

流程运行数据一般比较大,所以在设计上,华为将流程引擎和任务引擎进行分离,同时也将定义与执行分离。整体的架构原则是 统一定义和管理,去中心化运行。因为一个企业需要集中管理规则、流程、数据、API,它必须集中化地定义,但在运行的时候,需要下发到具体的应用服务和数据中运行。

Low-Code 平台架构之 UI 编排

UI 编排是低代码中必备能力,也是最常使用低代码的场景。但是企业应用中也会有复杂页面,除了基于平台提供的模板生成页面之外,企业应用低代码平台需要提供更大的开放性,支撑不同的业务领域的应用可以构建和沉淀各自领域特点的模板,基于领域的模板实现领域页面的一致性和复用性,提升开发效率。

在架构上,将 UI 的视图与 UI 模型分离,将模型层、UI 与后端对应实体元数据打通。在元数据上,定义了许多 UI 模板,它可以根据后端的数据实体 /API,套用模板就可自动生成相关典型场景的页面。

比如,当创建部门审批页面或者查询界面的时候,我们制定了卡片规范,以此来统一提供静态资源的存储,这样大家都可以重复调取,提升了集团开发效率。构建良好的工具、提供可重用的控件都可以提升研发效能。所以在 UI 编排中,华为增加了很多模板。在审批流相似的情况下,低码平台可以做到标准化,可以将审批流推送到手机端、移动端、Web 端代办等,极大地提升开发效率。

Low-Code 平台架构之移动应用构建

华为低代码平台使得移动端应用构建效率显著提升。由于手机大小有限,场景相对收敛,华为低代码可以做到零代码体验。在移动应用模板中,包含了需要表单审批、报表类、导航类内容。开发人员仅仅需要关注业务,即可快速开发出大部分移动操作、审批、查看类应用,并一键发布到华为移动办公协同平台 -WeLink 之上。

Low-Code 平台架构之用户权限

权限控制是企业应用的必备能力。任何数据都需要权限控制,这里包含三部分,权限点的定义、 用户权限配置以及运行态的鉴权。

权限点的定义包含 UI 配置、API 权限,以及数据维度。基于 RBAC 进行用户权限配置,所有被控制的对象都抽象成资源,数据行级控制抽象成维度。企业所有的应用都基于统一的模型进行权限的定义和开发,所以,在华为,实现了用户只需要登录一个统一权限申请平台,就可以申请到公司所有应用的权限,而不是用户去找不同的应用管理员进行申请、延期以及权限转移。

Low-Code 平台架构之应用运行

深度解读华为低代码如何显著提升应用构建效率 | ArchSummit

低代码的运行有两种模式——托管运行与自管模式。低代码平台可以提供 SDK 模式,将流程服务换和 UI 插件化,让低代码编排的元数据和主干应用运行在同一个容器中。

低代码平台典型实践

首先,使用低代码快速构建独立应用。在 2020 年新冠疫情期间,华为仅仅使用了两天时间,利用低代码平台开发了疫情打卡系统以及员工健康管理系统。管理系统中的打卡功能覆盖了 39 万员工,并发量较高,同时管理系统还可以将数据通过大屏的方式展示出来,供管理者决策。

其次,华为的全球客户较多,华为做到了百客百店。从下单到交付,如何让客户透明地了解整个履约过程?这种面向客户的交易需求,华为希望可以做到一线自治化。以前,区域 IT 人员将客户需求转交到机关,机关评审之后转交给 IT 团队,整个交付时长比较长,效率比较低。现在,我们把构建的能力嵌入到主干应用中,区域 IT 在具体业务系统里,便可以完成一些配置化开发。

比如,某个订单上需要增加税码,区域 IT 只需要在模型上增加税码,在界面上将其展示出来就可以;其次,如果需要增加审批节点或调整审批路径,区域 IT 可以按租户级别隔离,自定义事件流。因为主流程在整个的低代码大平台上,所以不会出现较大的错误,与此同时,还降低了区域 IT 开发技能门槛。

最后,是服务交付“生态构建”,不同国家的本地需求可以自助化完成,通过 ISPD 开发规范之后,可以确保不同用户的体验一致性。

平台拥有较多的应用模板、页面模板,流程模板,且并内置了常用系统的 API 连接、数据连接,业务人员可基于模板和模型快速构建出轻量级应用,低代码平台的主干系统可集成、运行可融合,可以做到多租化,并且允许运行态时进行修改,另外引擎 SDK 化之后,可以嵌入到主系统,做到一致的用户体验。最后,华为还提供了统一权限管理,内置集团统一 UI 规范,用户能够以一站式入口访问,实现统一的用户权限管理。

华为低代码未来展望

华为低代码经过这两年的实践,相对成熟,但是也有突出的问题。首先,场景应用越来越多,同质化应用越来越多;其次,很多企业使用的功能较为相似,如果基于主干 API 新增应用,整体成本较高,数据治理较难。

总之,在末端独立应用构建上,低代码目前可以发挥效能优势,不过我们还需要把低代码的构建和主流业务应用的开放和融合结合起来。想要真正发挥低代码的价值,除了工具,更大的投入还需要构建有序、高质量、可复用的能力。

今天的分享到这里就结束了,谢谢大家。

嘉宾介绍:

田靖,华为 IT 开发服务首席架构师,十多年大型企业管理软件开发、架构设计以及实施经验;当前主要致力于构建和沉淀企业应用开发公共能力、打造高低零代码结合的开发服务,加速企业数字化转型。

活动推荐:

数字化转型已成为企业发展的必由之路,采集数据、机器视觉生成数据、管理信息化等,都是数字化转型的关键要素。为了赋能企业进行数字化转型,在 7 月份的 ArchSummit 全球架构师峰会(深圳站)2022 上,我们设置了金融领域数字化转型探索、企业数字化转型落地等专题。

点个在看少个 bug👇

发表评论