浅析华为云Astro的5大关键能力技术

浅析,华为,astro,关键,能力,技术 · 浏览次数 : 95

小编点评

**华为云Astro低代码平台核心功能简介** **背景** 低代码开发基于可视化开发的概念,结合云原生和多终端体验技术,可以帮助企业显著提升效率。 **华为云Astro平台** 华为云Astro是一种基于Vue和React的低代码平台,它可以帮助开发者轻松构建和部署各种类型应用程序,包括表单、网站、移动应用等。 **核心功能** * **数据建模和数据管理**:运行时提供数据建模和与数据存储,帮助开发者做到所见即的发布,在其表现形式上,通常分为“表单驱动”和“模型驱动”两种模式。 * **页面编排**:页面编排是低代码平台的核心功能,可以创建各种类型的页面,例如表单、登录页、大屏页等。 * **流程编排**:流程编排可以用于构建复杂的流程来支持企业业务和流程编排的易用性。 * **接口和集**:内置的接口和集可以避免“数据孤岛”现象,企业级应用通常需要与其他系统进行集成,协同增效。 **关键能力** * Vue与React两大技术框架与相关UI实现 * JSON页面Schema定义 * 页面编排设计引擎和渲染引擎

正文

摘要:本文以技术方案视角,对华为云Astro低代码平台的一些核心功能进行简要介绍。

背景介绍

低代码开发基于可视化开发的概念,结合了云原生和多终端体验技术,它可以在大多数业务场景中,帮助企业显著的提升效率。同时为专业开发者提供了一种全新的高生产力开发方式,让不懂代码的人通过“拖拉拽”开发组件来完成应用程序的构建。从某种意义上说,低代码可以弥补日益扩大的专业技术人才缺口,同时也可以促进企业与技术之间深度协作的最终敏捷形式。

本文以技术方案视角,对华为云Astro低代码平台的一些核心功能进行简要介绍。

关键能力介绍

数据建模和数据管理

华为云Astro的一个核心特性就是运行时提供数据建模和与数据存储,帮助开发者做到所见即的的发布,在其表现形式上,通常低代码平台通常分为”表单驱动”和”模型驱动”两种模式。不管是哪种模式,都要求低代码平台具备灵活存储用户自定义数据模型的能力。当下主流的低代码平台主要有以下一下两种大的方案。

方案一:使用关系型数据库,将数据模型的定义和修改直接转化为数据库中DDL的表操作。 该方案的优势在可以直接利用关系型数据库的能力,包括SQL优化与事务一致性等。 弊端在于有大量的DDL语句操作,并且关系型数据库的Schema数量和表的数量也都都是有限制的,在成本控制上面临着较大挑战。因此该方案适用于一些线下交付,单租形态的低代码。

方案二:Meta+Data的宽表模型,将模型的定义转化为宽表的模型存储。该方案的优势在于可以灵活的定义数据模型,不需要考虑因模型变化导致的DDL语句。再具体实践中,宽表可以有不同的选型,例如文档数据库,搜索、分析型数据库、关系数据库等。不同类型的存储的宽表选型面临着事务一致性、行列扩展限制、索引构建不同的挑战。

页面编排

页面编排是低代码的核心功能。狭义上的页面一般指的是表单表格,广义上的页面还可以包含登录Portal页、大屏页等多种样式。对于页面编排目前实现方式也基本相同,采用JSON格式的页面Schema定义,同时提供页面编排的设计引擎和页面运行时的渲染引擎。技术方案基本围绕Vue与React两大技术框架与相关UI实现。

在交互逻辑处理方面,页面编排基本上采用两种思路来处理。

思路一:固定交互行为,通俗的说法就是平台预置的组件与组件的行为方式。所以,组件的多少、组件的能力、组件的扩展性也是衡量低代码平台竞争力的一个指标。

思路二:使用扩展性脚本语言,JS和TS都是常用的选择。在代码中包含循环、递归、变量等抽象操作,这些抽象的逻辑是无法通过拖拉编排来完成的。脚本语言作为低代码平台的胶水部分,在执行安全性、沙箱环境等方面仍然面临较大挑战。一份权威机构的报告中,编程接口被认定为企业级低代码开发平台的重要标志,不具备编程接口的“低代码”被划归为“无代码”,转移到那些只适用有限用例的平台报告中。

流程和业务逻辑

流程编排是低代码平台的的另一基础能力。低代码平台能否构建出复杂的流程来支撑企业业务和流程编排的易用性是衡量流程能力的重要指标。

通常我们再说”流程编排”的时候,指的是工作流的编排。BPMN2.0的规范之上,开源工作流已经具备了非常成熟的能力。业界的低代码厂商在实现工作流的方案商通常有两种,一是基于开源框架扩展和封装,二是基于BPMN2.0规范来自己来实现。

另个”流程编排”的概念指的是集成流编排基于EIP(Enterprise Integration Patterns)协议。目前Spring Integration、 Apache Camel等都是比较成熟的集成流框架。

上述两种编排在协议、框架和使用场景上有着明确区分,目前国内的低代码平台大多数只提供工作流编排的能力。

接口和集成

为了避免“数据孤岛”现象,企业级应用通常需要与其他系统进行集成,协同增效。此时,内置的集成能力和编程接口就变得至关重要。

这里涉及到连接器的概念,连接器是API的代理和包装器。连接器的定义广泛使用OpenApi的规范,基于Swagger2.0或者Swagger3.0的规范来实现。API的调用大多采用HttpClient的方式,基于Oauth等授权协议完成调用。

除了Rest接口的集成,云厂商的低代码在系统集成商还有着更多方面的拓展。基于云上的网络方案与授权协议,可以与用户的MQ、DB、K8S集群等打通,完成与用户托管方案的深度集成。

代码生成与低代码高代码融合

基于华为云Astro完成表单构建、模型构建之后,很容易基于模型元数据定义生成对应后端模型和与之对应的模型操作接口。在一些复杂的业务场景下,需要开发者以高代码的形式对这些模型和接口进一步重载或复写。

在高代码融合上,基础功部分提供了预置函数和用户自定义函数功能,通过条件表达式引擎来实现。高级代码部分,通常与Servless框架进行整合,将计算资源通过独立集群或者沙箱的方式单独承载。

总结

在介绍了原理之后,华为云Astro距离实现低代码的能力高上限、门槛低下限的要求仍然有大量细致工作要做。

 

点击关注,第一时间了解华为云新鲜技术~

与浅析华为云Astro的5大关键能力技术相似的内容:

浅析华为云Astro的5大关键能力技术

摘要:本文以技术方案视角,对华为云Astro低代码平台的一些核心功能进行简要介绍。 背景介绍 低代码开发基于可视化开发的概念,结合了云原生和多终端体验技术,它可以在大多数业务场景中,帮助企业显著的提升效率。同时为专业开发者提供了一种全新的高生产力开发方式,让不懂代码的人通过“拖拉拽”开发组件来完成应

浅析华为云基于HBase MTTR上的优化实践

摘要:主要介绍华为云在HBase 2.x内核所做的一些MTTR优化实践。 本文分享自华为云社区《华为云在HBase MTTR上的优化实践》,作者: 搬砖小能手。 随着HBase在华为云的广泛应用,HBase的数据节点规模也越来越大。最新版本的MRS可支持的单集群HBase数据节点规模可达到1024节

从数仓发展史浅析数仓未来技术趋势

摘要:华为云EI DTSE技术布道师/华为云数仓GaussDB(DWS)首席架构师曾凯,针对数据仓库的起源、演进过程、未来技术发展趋势,与开发者和伙伴朋友们展开交流互动,帮助开发者快速了解数据仓库相关信息与能力。 本文分享自华为云社区《直播回顾 | 从数仓发展史浅析数仓未来技术趋势》,作者:胡辣汤。

浅析MySQL 8.0直方图原理

本文将对直方图概念进行介绍,借助举例描述直方图的使用方式,对创建/删除直方图的原理进行浅析,并通过例子说明其应用场景。

浅析静态应用安全测试

摘要:根据Forrester的 The State Of Application Security, 2022一文的预测,应用安全性的缺失将仍然是最常见的外部攻击方式,因此SAST将会在可预见的未来一直被重视。 本文分享自华为云社区《SAST-静态应用安全测试》,作者: gentle_zhou 。

浅析云原生时代的服务架构演进

摘要:相比于传统的微服务架构,云原生和 serverless 技术更加灵活、高效,能够更好地满足用户的需求。 本文分享自华为云社区《《凤凰架构》学习和思考——云原生时代的服务架构演进史》,作者:breakDawn。 随着云原生的概念越来越火,服务的架构应该如何发展和演进,成为很多程序员关心的话题。大

浅析AIGC for MMKG

摘要:AIGC和多模态知识图谱(MMKG)中的知识获取又是怎么实现的呢?他们之间有什么关联呢? 本文分享自华为云社区《GPT-4发布,AIGC时代的多模态还能走多远?系列之四 AIGC for MMKG》,作者:码上开花_Lancer。 与传统知识图谱不同,MMKG以多模态数据作为源头,从多方面描述

Vue 中为什么要有nextTick?

摘要:本文将浅析nextTick的作用、使用场景和背后的原理实现,希望对大家有所帮助。 本文分享自华为云社区《Vue 中的 nextTick 有什么作用?》,作者:CoderBin。 一、什么是nextTick 先看看官方对其的定义: 在下次 DOM 更新循环结束之后执行延迟回调。在修改数据之后立即

探讨AIGC的崛起历程,浅析其背后技术发展

摘要:本文主要讨论了AIGC(人工智能生成内容)的发展历程、现状、应用,浅析其背后技术发展、与华为云的联系,以及面临的挑战和展望。 本文分享自华为云社区《AIGC:人工智能生成内容的崛起与未来展望》,作者:杜甫盖房子。 AIGC被认为是继专业生成内容(PGC)和用户生成内容(UGC)之后,利用人工智

浅谈深度学习中的概率

摘要:本次就和大家聊一聊深度学习中的概率。 本文分享自华为云社区《【MindSpore易点通】深度学习中的概率》,作者: chengxiaoli。 为什么会用到概率呢?因为在深度学习中经常会需要处理随机的数据,或者包含随机性的任务,随机性也来自非常多的方面,所以在存在不确定性的情况下,都需要用到概率