Analysis of Key Capability Technologies of Huawei Cloud Astro Low-Code Platform

1 Background introduction

Low-code development is based on the concept of visual development, combined with cloud-native and multi-terminal experience technologies, it can help enterprises significantly improve efficiency in most business scenarios. At the same time, it provides a new high-productivity development method for professional developers, allowing people who do not understand code to complete the construction of applications by "drag-and-drop" development components. In a sense, low-code can fill the growing gap of professional and technical talents, and at the same time, it can promote the ultimate agile form of deep collaboration between enterprises and technology.

This article briefly introduces some core functions of the HUAWEI CLOUD Astro low-code platform from the perspective of technical solutions .

2 Introduction to Key Capabilities

2.1 Data Modeling and Data Management

One of the core features of HUAWEI CLOUD Astro is to provide data modeling and data storage at runtime to help developers achieve what they see is what they see. In terms of its manifestation, low-code platforms are usually divided into "form-driven" and " Model-driven" two modes. Regardless of the mode, the low-code platform is required to have the ability to flexibly store user-defined data models. The current mainstream low-code platforms mainly include the following two major solutions.

Solution 1: Use a relational database to directly convert the definition and modification of the data model into DDL table operations in the database. The advantage of this solution is that it can directly use the capabilities of relational databases, including SQL optimization and transaction consistency. The disadvantage is that there are a large number of DDL statement operations, and the number of schemas and tables in relational databases are also limited, which poses a great challenge in cost control. Therefore, this solution is suitable for some low-codes that are delivered offline and in the form of single rent.

Solution 2: The wide table model of Meta+Data converts the definition of the model into the model storage of the wide table. The advantage of this solution is that the data model can be defined flexibly without considering the DDL statement caused by the model change. In practice, wide tables can have different types, such as document database, search, analysis database, relational database, etc. The selection of wide tables for different types of storage faces different challenges such as transaction consistency, row and column expansion restrictions, and index construction.

2.2 Page layout

Page layout is the core function of low code. Pages in the narrow sense generally refer to forms and tables, and pages in the broad sense can also include login portal pages, large-screen pages, and other styles. The current implementation of page layout is basically the same, adopting the page schema definition in JSON format, and providing a design engine for page layout and a rendering engine for page runtime. The technical solution basically revolves around the two major technical frameworks of Vue and React and related UI implementations.

In terms of interactive logic processing, page layout basically adopts two ways of thinking.

Idea 1: Fixed interaction behavior. In layman's terms, it is the behavior of the components and components preset on the platform. Therefore, the number of components, the capabilities of components, and the scalability of components are also indicators to measure the competitiveness of low-code platforms.

Idea 2: Use an extensible scripting language, both JS and TS are commonly used choices. The code contains abstract operations such as loops, recursion, and variables. These abstract logics cannot be completed by dragging and arranging. As the glue part of the low-code platform, the scripting language still faces great challenges in terms of execution security and sandbox environment. In a report by an authoritative organization, the programming interface is identified as an important symbol of the enterprise-level low-code development platform, and the "low-code" that does not have a programming interface is classified as "no code" and transferred to those platforms that only apply to limited use cases Reporting.

2.3 Process and business logic

Process orchestration is another basic capability of low-code platforms. Whether a low-code platform can build complex processes to support enterprise business and the ease of use of process orchestration are important indicators to measure process capabilities.

Usually when we talk about "process orchestration", we refer to the orchestration of workflow. Based on the BPMN2.0 specification, the open source workflow already has very mature capabilities. Low-code vendors in the industry usually have two solutions for implementing workflows. One is based on open source framework extension and packaging, and the other is based on the BPMN2.0 specification to implement by themselves.

Another concept of "process orchestration" refers to the integrated flow orchestration based on the EIP (Enterprise Integration Patterns) protocol. At present, Spring Integration, Apache Camel, etc. are relatively mature integration flow frameworks.

The above two orchestrations are clearly distinguished in terms of protocols, frameworks, and usage scenarios. At present, most of the domestic low-code platforms only provide workflow orchestration capabilities.

2.4 Interface and Integration

In order to avoid the "data island" phenomenon, enterprise-level applications usually need to be integrated with other systems for synergy. This is where built-in integration capabilities and programming interfaces become critical.

This involves the concept of connectors, which are API agents and wrappers. The definition of the connector widely uses the specification of OpenApi, which is implemented based on the specification of Swagger2.0 or Swagger3.0. Most of the API calls use the HttpClient method, and the calls are completed based on authorization protocols such as Oauth.

In addition to the integration of the Rest interface, the low-code of cloud vendors has more expansion in system integrators. Based on the network solution and authorization agreement on the cloud, it can connect with the user's MQ, DB, K8S cluster, etc., and complete the deep integration with the user's hosting solution.

2.5 Code generation and low-code high-code fusion

After completing the form construction and model construction based on HUAWEI CLOUD Astro, it is easy to generate the corresponding back-end model and the corresponding model operation interface based on the model metadata definition. In some complex business scenarios, developers need to further overload or rewrite these models and interfaces in the form of high code.

In terms of high code integration, the basic skills part provides preset functions and user-defined functions, which are realized through the conditional expression engine. The high-level code part is usually integrated with the Servless framework, and the computing resources are hosted separately through independent clusters or sandboxes.

3 Summary

After introducing the principles, HUAWEI CLOUD Astro still has a lot of meticulous work to do to achieve the requirements of low-code capabilities with high upper limits and low thresholds.

Astro experience channel: https://console.huaweicloud.com/appcube/?region=cn-north-4#/home?utm_medium=hdc

 

おすすめ

転載: blog.csdn.net/hwxiaozhi/article/details/131685071