Low-code technology for generating micro-service based on design mode
Through low-code technology based on domain-driven design, using business design language and XML definition rules to automatically generate and manage microservice modules, the problem of the development process relies on target language familiarity and start-stop interference between modules in the existing technology is solved, and the development process depends on target language familiarity and start-stop interference between modules is realized. Independent operation and cross-platform support, improving IT productivity and flexibility.
Patent Information
- Application Number
- CN202310679378.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-06-09
- Publication Date
- 2024-12-10
AI Technical Summary
Existing low-code technologies have technical limitations in application software development, especially when dealing with historical problems and specific industry needs, which can easily bring risks. The development process depends on the familiarity of the target language and exists between runtime modules. Start and stop interference.
Using low-code technology based on domain-driven design theory, defining logical associations through business design languages, automatically generating code scripts, forming independent microservice modules, and using XML definition rules, language translation, microservice compilation and containerized management to support cross-border Platform operation, hides the development language, and realizes the design-to-run process without coding.
It realizes automated construction and management of microservices without relying on target language familiarity, and operates independently between modules, reducing development risks and costs, improving IT productivity, supporting multiple operating systems and chip architectures, and realizing rapid construction. and a flexible business platform.
Smart Images

Figure FT_1 
Figure FT_2 
Figure FT_3
Abstract
Description
Technical Field
[0001] The patent of this invention relates to code-free or low-code technology for rapid construction of business services in the field of application software development, and is particularly suitable for the automated construction and management of business microservices in microservice architecture systems. Background Art
[0002] The gap between the market growth of application development demand and the IT delivery capabilities of enterprises requires the innovation of the IT productivity system through low-code technology. While ensuring quality, the latest low-code technology can be used to improve efficiency and reduce costs.
[0003] The market size of low-code is large enough, and has been increasing year by year, and has been growing at a high speed. Under the wave of enterprise digital transformation, super-large new business scenario applications are needed. Low-code technology can alleviate or even solve the contradiction between supply and demand caused by huge market demand and traditional development productivity. It is bound to benefit in the application development market and will eventually become an inevitable product of the trend of reducing costs and increasing efficiency in the process of digital transformation.
[0004] At the same time, domestic and foreign Internet companies are incubating and promoting the digital layout of low-code products. From the perspective of low-code application direction, the application trends of different enterprise sizes / types are also different. Technical capabilities are more about solving low-code in specific industries and low-code for general functional modules. At the same time, the current low-code technology is more suitable for software product innovation, and it is easy to bring risks to software development in the actual operation process of dealing with historical problems. Summary of the invention
[0005] In order to solve the technical limitations of the above-mentioned existing low-code technology for application software development, the purpose of the patent of this invention is to provide a low-code technology based on the theoretical foundation of domain-driven design. This technology integrates the software engineering theory research and development process, and under the guidance of the microservice technology design guidance rules, establishes logical associations according to the operation process and the upstream and downstream relationships of the modules, and automatically generates code scripts under the control and management of the core program software, and forms an application system in which the modules are functionally independent of each other.
[0006] As a low-code technology for generating microservices based on design patterns, the technology includes business design language, language translation, microservice compilation and containerized microservice operation management; its characteristics are that, firstly, a standard business design context is formed based on the design pattern using XML definition rules, then the business design results are translated into the target design language (such as C#, Java), and then the target language is used to compile into an executable microservice module, and finally the microservice module is published in the microcontainer for other business research.
[0007] In addition, the development of business micro-modules does not require familiarity with the target language; the operation of business micro-modules and the operation of this low-code technology are independent of each other, and their start and stop do not interfere with each other.
[0008] Furthermore, the business design language is based on domain-driven design modeling, and is designed by establishing rules from the domain dimension and the hierarchical dimension using XML. Data object design, business object design, data operation object design, business operation object design, and business service object design are hierarchically defined within the scope of the business domain. Business design language rules include object definitions within the business domain, definitions of object relationships and object cross-domain relationships, and definitions of exception designs. The language rule logic covers basic general business logic functions, including data addition, deletion, modification, and query, business operation transactions, data aggregation and distribution, data logic operations and formula operations, and non-invasive integration of real-time messages and exception algorithms.
[0009] Furthermore, the language translation refers to translating the business design language into the microservice code structure of the target language under the specified target language (C#, Java) rules. It includes a business design language syntax analysis module, a target language rule management module, a translation result management module, and a translation log management module.
[0010] Furthermore, the microservice compilation uses the target language (C#, Java) compiler to compile into an executable microservice module, including a basic module library, a compilation process management module and a compilation log management module.
[0011] Furthermore, the containerized microservice operation management refers to a microservice operation microenvironment that supports cross-operating system platforms, including an operation configuration management module, a micro-operation container, and an operation status management module.
[0012] The operating system includes Microsoft's Windows operating system, as well as Linux operating systems such as Ubuntu, CentOS, and Red Hat, etc. It includes support for X86, ARM, and Loongson chip architectures.
[0013] The patent of this invention is a combination of the three-state technology of software engineering design state, development state and operation state. It uses the idea of domain-driven design to create a business design language that is more understandable to the business. It hides the target development language through technical encapsulation and abstraction, and finally uses cross-platform technology for container optimization, so that the software design is completed and the operation process is entered. No coding in the development state is required. The modification of business changes only requires modifying the business design language, so that the design is correct and the operation is correct. The application of the patent of this invention includes the application standard of the business design language, the access specification of the development target language, and the microservice release and operation management specification. Through the mastery of standards and specifications, the business platform can be quickly built. BRIEF DESCRIPTION OF THE DRAWINGS
[0014] The present invention will be further described below with reference to the accompanying drawings.
[0015] Figure 1 It is a general structure diagram of an embodiment of the present invention; Figure 2 This is a business language structure diagram in an embodiment of the present invention; Figure 2.1 This is a business language XML structure diagram in an embodiment of the present invention; Figure 3 This is a language translation structure diagram in an embodiment of the present invention; Figure 4 This is a microservice compilation structure diagram in an embodiment of the present invention; Figure 5 This is a structural diagram of a micro-operation container in an embodiment of the present invention; Figure 6 A schematic diagram of the low-code technology for development coding described in an embodiment of the present invention; Figure 7 Schematic diagram of low-code technology running on microservices described in an example of the present invention. DETAILED DESCRIPTION
[0016] In order to make the technical means, creative features, objectives and effects achieved by the present invention easy to understand, the present invention is further explained below with reference to specific diagrams.
[0017] This embodiment describes the invention, innovation and improvement of low-code technology from three processes: design state (business design), development state (development coding) and operation state (software operation) of software engineering.
[0018] like Figure 1 As shown. Low-code technology 1 (overall structure) includes 2 (business design language), 3 (language translation), 4 (microservice compilation) and 5 (microservice running container). Among them, 11 (the result of business design) is the output of 2 and the input of 3, expressed in XML format; 12 (language translation result) is the output of 3 and the input of 4, expressed in the form of software target language code engineering (.csproj, .project); 13 (the result of microservice compilation) is the output of 4 and the input of 5, expressed in the form of a module compiled in the target language (such as .dll, .class, .jar).
[0019] like Figure 2 As shown in Figure 2, as a design process of software design state, it is divided into 21 (entity objects, i.e. data objects) under the CQRS architecture design rules of domain-driven design. The database table and field structure are described in object form. <orm>Tags are defined; 22 (value objects, i.e. business objects) describe business data requirements, through <dto>Tags are used to define data; 23 (data operation objects) implement data addition, modification, deletion and query operations, through <dal>Tags are used to define; 24 (business operation objects) implement business logic transaction processing, data aggregation and distribution, and related data calculation and processing, through <dals>25 (Service Object) implements service coding definition, as well as unstructured data and data real-time message behavior processing, through <svc>The service design process includes attribute definition, context relationship definition and related context grammar, and finally 26 (voice script described in XML format) is shown in the detailed structure. Figure 2.1 The voice script described in this XML format can be implemented visually and supports UML language conversion.
[0020] This patented automatic coding technology realizes the automation process of development state, refer to the business development coding principle Figure 6 . 26 / 31 (Business Design XML Script) sends (Sx) 32 (Grammar Analysis) to check the rationality and standardization of grammar. Grammar analysis includes five types: U1 (data object), U2 (business object), U3 (data operation object), U4 (business operation object) and U5 (business service object).
[0021] U1 is <orm>The business language grammar of the label is analyzed, and the correct grammar will be sent (So) to 36 (language translation), and translated into the target language (C#, Java) ORM code engineering file by T1 (ORM translation module) according to 35 (ORM target language rules). The target language code engineering file is loaded (Rpo) by 45 (target language compilation), and combined with the loading (Lm) of M1 (ORM language related module) of 47 (target language related basic module), it is compiled into a business data object executable module by C1 (ORM compilation module).
[0022] U2 is <dto>The business language grammar of the tag is analyzed, and the correct grammar is sent (Sd) to 36 (language translation), and translated into the target language (C#, Java) DTO code engineering file by T2 (DTO translation module) according to 35 (DTO target language rules). The target language code engineering file is loaded (Rpd) by 45 (target language compilation), and combined with the loading (Lm) of M2 (DTO language related module) of 47 (target language related basic module), it is compiled into a business data object executable module by C2 (DTO compilation module) and sent (Smd) to 48 (executable component library).
[0023] U3 is <dal>The business language grammar of the tag is analyzed, and the correct grammar is sent (Sl) to 36 (language translation), and translated into the target language (C#, java) DAL code engineering file by T3 (DAL translation module) according to 35 (DAL target language rules). The target language code engineering file is loaded (Rpl) by 45 (target language compilation), and combined with the loading (Lm) of M3 (DAL language-related module) of 47 (target language-related basic module), it is compiled into a business data object executable module by C3 (DAL compilation module) and sent (Sml) to 48 (executable component library).
[0024] U4 is <dals>The business language grammar of the tag is analyzed, and the correct grammar is sent (Sls) to 36 (language translation), and translated into the target language (C#, java) DALs code engineering file by T4 (DALs translation module) according to 35 (DALs target language rules). The target language code engineering file is loaded (Rpls) by 45 (target language compilation), and combined with the loading (Lm) of M4 (DALs language-related module) of 47 (target language-related basic module), it is compiled into a business data object executable module by C4 (DALs compilation module) and sent (Smls) to 48 (executable component library).
[0025] U5 is <svc>The business language grammar of the label is analyzed, and the correct grammar will be sent (Ss) to 36 (language translation), and translated into the target language (C#, java) SVC code engineering file by T5 (SVC translation module) according to 35 (SVC target language rules). The target language code engineering file is loaded (Rps) by 45 (target language compilation), and combined with the loading (Lm) of M5 (ORM language related module) of 47 (target language related basic module), it is compiled into a business data object executable module by C5 (SVC compilation module) and sent (Sms) to 48 (executable component library).
[0026] In the automation process from 31 (business design XML script) to 48 (in the executable component library), there will be L (log management module) to manage EWIB (error log, warning log, operation information and debug log), and it can be defined (Srl) to 34 / 44 (log platform).
[0027] The automation process of this patent operation state refers to the business development coding principle Figure 7 . 48 / 52 (operable component library) publishes (Sm) 51 (microservice management). Before the microservice runs, it is loaded by Fu (microservice cross-platform basic component) of 53 (core module), and is fully started by Co (microservice basic attribute configuration) and Ro (microservice routing configuration) of 57 (configuration management). 57 (configuration management) receives configuration information from 58 (static configuration list) and dynamic configuration information push in 55 (operation management). 53 (core module) consists of Su (operation supervision basic component), Fu (microservice cross-platform basic component) and L (log management basic component), and 54 (microservice interface) and 56 (supervision interface) provide external services.
[0028] The above content describes the basic principle, main features and advantages of the present invention. Those skilled in the art should understand that the present invention is not limited by the above embodiments. The above embodiments and descriptions only describe the principles of the present invention. Without departing from the spirit and scope of the present invention, the present invention may have various changes and improvements, which fall within the scope of the present invention. The scope of protection claimed by the present invention is defined by the attached claims and their equivalents.< / svc> < / dals> < / dal> < / dto> < / orm> < / svc> < / dals> < / dal> < / dto> < / orm>
Claims
1. Low-code technology for generating microservices based on design patterns, including business design language, language translation, microservice compilation and containerized microservice operation; its characteristics are: The business design language that meets the domain-driven design (DDD) concept is translated into a common target language, and then a microservice module is generated in the target language, and then run in a microservice container, which greatly saves time in software system code compilation, system testing, and microservice operation and deployment.
2. The low-code technology for generating microservices based on design patterns according to claim 1 is characterized in that: The design language follows the DDD design concept and uses XML to describe objects, attributes, relationships, cross-domain relationships, and exception logic design in software design; <orm>< / orm> , <dto>< / dto> , <dal>< / dal> , <dals>< / dals> and <svc>< / svc> The system is layered and the design process is defined. The language rule logic covers basic general business logic functions such as data addition, deletion, modification and query, business operation transactions, data aggregation and distribution, data logic operations and formula operations, and non-invasive integration of real-time messages and exception algorithms.
3. The low-code technology for generating microservices based on design patterns according to claim 1 is characterized in that: The language translation performs grammatical analysis on the XML description script. During the grammatical analysis, the business language is translated into the grammar of the specified target language. The target language is not limited to one, and the target language engineering specification engine can be loaded to provide language translation options.
4. The low-code technology for generating microservices based on design patterns according to claim 1, characterized in that: The microservice compilation is compiled into microservice modules according to the module dependencies and the orchestration rules of the service functions, and is automatically packaged according to the compilation target language.
5. The low-code technology for generating microservices based on design patterns according to claim 1, characterized in that: The microservice operation establishes a microservice operation container that is independent of the compilation language and the operating system platform; It realizes a fast process from design to microservice operation; at the same time, it realizes the operation management of microservices, including service startup, deregistration, routing of service calls and related operation security policies, and provides relevant API support.
