An application management method and related devices
Generating a metadata model map through the application management system, the problem of inability to describe business object relationships and functions in the existing technology is solved, and more efficient application development and deployment are achieved.
Patent Information
- Application Number
- CN202211515237.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-30
- Publication Date
- 2025-07-18
- Estimated Expiration
- 2042-11-30
AI Technical Summary
The visualization scheme of existing metadata models cannot describe the relationships and functions of business objects, resulting in developer understanding bias and increasing application development costs and cycles.
Provides an application management method, which receives the correlation information of data entities and relational entities through the application management system, generates a metadata model map, describes the attributes of data entities, relational entities and the functions or service APIs of business objects, and assists in generating application code.
It reduces the probability that developers will bias their understanding of design intentions, reduces repair costs, shortens development cycles, and improves application design and development efficiency and deployment operation and maintenance efficiency.
Smart Images

Figure CN118151891B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of application development technologies, and in particular, to an application management method, system, computing device cluster, computer-readable storage medium, and computer program product. Background Art
[0002] With the advent of the information age, all walks of life have begun to transform towards the digital direction. For this reason, many enterprises and organizations have migrated their businesses online by developing applications (APPs). During the application development process, especially in the development of large software systems such as integrated information management systems and report analysis systems, in order to avoid duplicate development, a metadata-driven development method is usually adopted.
[0003] After designing and defining the metadata model of an application, visualizing the metadata model can help architects and developers quickly understand the underlying architecture and logic of the software system. Currently, the visualization of the metadata model usually supports the display of data entities and the relationships between data entities, and further provides the display of the attributes of data entities and the attributes of relationship entities.
[0004] However, during the modeling process, common modeling tools mainly focus on whether the design can accurately express the design intention. But in actual implementation, it depends on the understanding of the design intention by developers. If there are understanding deviations, high repair costs may be required. Thus, the application development cost and development cycle are increased, and it is difficult to meet business requirements. Summary of the Invention
[0005] This application provides an application management method, which supports building a relatively complete metadata model graph. This graph can provide richer information, such as providing the functions or service application programming interfaces (APIs) of the business objects corresponding to data entities, and the functions or service APIs of the business object relationships corresponding to relationship entities, reducing the probability of developers having deviations in understanding the design intention, reducing the repair cost, thereby reducing the application development cost and shortening the development cycle, and being able to meet business requirements.
[0006] In a first aspect, the present application provides an application management method. This method can be executed by an application management system. The application management system is used to manage applications, for example, to perform full-life cycle management in stages such as development, deployment, and operation and maintenance. The application management system can be a software system, which can be a software development platform such as an Integrated Development Environment (IDE), or a plugin for managing applications. The software system can be deployed in a computing device cluster, for example, in a computing device cluster in a cloud environment. The computing device cluster executes the program code of the software system to thus execute the application management method of the present application. In some possible implementation manners, the application management system can also be a hardware system, for example, a computing device cluster with application management functions. When the application management system runs, it executes the application management method of the present application.
[0007] Specifically, the application management system can receive the association information of at least one data entity configured by the user. The association information of the data entity includes at least one of the functions or service application programming interfaces (APIs) of the business object corresponding to the data entity and the attributes of the data entity. Then, it receives the association information of at least one relationship entity configured by the user. The association information of the relationship entity includes at least one of the functions or service APIs of the business object relationship corresponding to the relationship entity and the attributes of the relationship entity. Next, the application management system can generate a metadata model graph of the application according to the association information of the at least one data entity and the association information of the at least one relationship entity. This metadata model graph is used to assist in generating the code of the application.
[0008] In this method, the application management system provides a brand-new application modeling ability and generates a relatively complete metadata model graph based on all metadata. This graph not only describes data entities, the relationships between data entities, the attributes of data entities, and the attributes of relationship entities, but also can describe the functions or service APIs of the business objects corresponding to the data entities and the functions or service APIs of the business object relationships corresponding to the relationship entities. Since the graph can provide richer information, it reduces the probability that developers have deviations in understanding the design intent, reduces the repair cost, thereby reducing the application development cost, shortening the development cycle, and being able to meet the business requirements.
[0009] In some possible implementation manners, the application management system can also present the metadata model graph to the user. Among them, the nodes in the metadata model graph are used to represent the data entities, the functions or service APIs of the business objects corresponding to the data entities, and the edges in the metadata model graph are used to represent the relationships between the data entities, the relationships between the data entity and the function, or the relationships between the data entity and the service API.
[0010] In this way, when developers are developing the code of an application, they can not only understand the architect's design intent based on information such as data entities and relationship entities, but also combine the functions or service APIs of the business objects corresponding to the data entities and the functions or service APIs of the business object relationships corresponding to the relationship entities to accurately understand the design intent, reduce the probability of understanding deviation, and thus reduce the probability of subsequent repairs and the application development cost.
[0011] In some possible implementation manners, the application management system may also present the functions or service APIs of the business objects corresponding to the data entities to the user in response to a triggering operation of the user on the nodes in the metadata model graph. For example, when the user selects a function node, such as a database node, the application management system may also present the functions of the business objects corresponding to the data entities to the user. For another example, when the user selects a node representing a service API, the application management system may also present the service APIs of the business objects to the user.
[0012] In this method, the metadata model graph includes a large amount of information, and the metadata model graph can support presenting corresponding information according to user requirements, thereby helping developers develop the code of the application.
[0013] In some possible implementation manners, the application management system may also present the relationships between data entities, the relationships between data entities and functions, or the relationships between data entities and service APIs to the user in response to a triggering operation of the user on the edges in the metadata model graph. In this way, it can be realized to display corresponding information according to user requirements and help developers develop the code of the application.
[0014] In some possible implementation manners, the application management system may also determine the functions selected by the user when creating the data entity or the relationship entity. Correspondingly, when generating the metadata model graph of the application, the application management system may generate the metadata model graph of the application according to the association information of the at least one data entity, the association information of the at least one relationship entity, and the functions selected by the user when creating the data entity or the relationship entity. In this way, it can be realized to generate the metadata model graph according to personalized requirements and avoid increasing the complexity of graph construction due to the waste of unnecessary functions.
[0015] In some possible implementation manners, the application management system may also obtain the syntax tree and annotations of the application according to the metadata model graph of the application, and then the application management system may generate the code of the application according to the syntax tree and the annotations. In this way, design-to-development can be realized, greatly improving the efficiency of application design and development, reducing the difficulty of application design and development, and reducing the labor cost and time cost of application development.
[0016] In some possible implementation manners, the application management system may generate the physical tables, field indexes, and data relationships of the data layer of the application according to the physical table definitions in the syntax tree and the annotations of the data layer of the application, and then generate the entity classes, data interface implementations, and field definitions of the logic layer of the application according to the data entities, association relationships, physical table definitions in the syntax tree, and the annotations of the logic layer of the application. Then, according to the data entities, association relationships, service APIs, and the annotations of the presentation layer of the application in the syntax tree, generate the basic pages, data operation APIs, and data transfer objects DTOs of the presentation layer of the application.
[0017] This method automatically generates the code for each layer of the application through the syntax tree and annotations, without the need for developers to develop, reducing the development difficulty and also reducing the development cost.
[0018] In some possible implementation manners, the application management system may also assemble and generate the business layer of the application according to the data operation APIs of the presentation layer. For example, the application management system may assemble the data operation APIs to obtain the business layer, thereby enabling the extension and customization of the application. For example, when a user does not like the native user interface (UI) generated by the application management system, a new business layer UI can be assembled and generated based on the data operation APIs of the presentation layer.
[0019] For complex applications, such as product data management (PDM) systems and other product lifecycle management (PLM) applications, after business modeling, a metadata model graph is generated, and a data management layer (including an interface layer, also known as a presentation layer) is automatically generated according to the metadata model graph. Then, based on the data operation APIs of this layer, the business layer is assembled and generated, which can improve the development efficiency.
[0020] In some possible implementation manners, the application management system may also determine the resources required to deploy the application according to the function or service APIs, and then assemble the resources required for the application (such as servers, containers, databases) according to the metadata model graph and the standard application template, and deploy the code of the application on the resources. This method improves the installation and operation and maintenance efficiency of the application through automatic resource purchase, configuration automation, and installation and deployment automation.
[0021] In some possible implementation manners, the application management system may perform version management on data entities and relationship entities. Specifically, the application management system may display version records of data entities or relationship entities, and the version records include one or more of a revision number, the name of the entity, the description of the entity, the status of the entity, the updater, or the update time. The application management system may compare the data entities or relationship entities of the first version and the second version in response to a version comparison operation triggered by a user. The comparison result may assist the user in selecting an appropriate version of the entity or provide help for subsequent updates of the entity.
[0022] In some possible implementation manners, the application management system may display the usage situations of data entities or relationship entities. For data entities, the application management system may display one or more of relationship entity reference information, reference object reference information, and inherited data entity reference information; for relationship entities, the application management system may display reference object reference information. By displaying the usage situations of data entities and relationship entities, this method may provide a reference for the creation of data entities and relationship entities.
[0023] In a second aspect, the present application provides an application management system. The system includes:
[0024] An interaction module, configured to receive association information of at least one data entity configured by a user, where the association information of the data entity includes at least one of a function or a service application programming interface (API) of a service object corresponding to the data entity and an attribute of the data entity;
[0025] The interaction module is further configured to receive association information of at least one relationship entity configured by the user, where the association information of the relationship entity includes at least one of a function or a service API of a service object relationship corresponding to the relationship entity and an attribute of the relationship entity;
[0026] A graph generation module, configured to generate a metadata model graph of an application according to the association information of the at least one data entity and the association information of the at least one relationship entity, where the metadata model graph is used to assist in generating the code of the application.
[0027] In some possible implementation manners, the interaction module is further configured to:
[0028] Present the metadata model graph to the user, where nodes in the metadata model graph are used to represent the data entity, a function or a service API of a service object corresponding to the data entity, and edges in the metadata model graph are used to represent relationships between data entities, relationships between a data entity and a function, or relationships between a data entity and a service API.
[0029] In some possible implementations, the interaction module is further configured to:
[0030] In response to a user's triggering operation on a node in the metadata model graph, present to the user the functions or service APIs of the business objects corresponding to the data entities.
[0031] In some possible implementations, the interaction module is further configured to:
[0032] In response to a user's triggering operation on an edge in the metadata model graph, present to the user the relationships between data entities, the relationships between data entities and functions, or the relationships between data entities and service APIs.
[0033] In some possible implementations, the interaction module is further configured to:
[0034] Determine the functions selected by the user when creating the data entity or the relationship entity;
[0035] The graph generation module is specifically configured to:
[0036] Generate a metadata model graph of the application according to the association information of the at least one data entity, the association information of the at least one relationship entity, and the functions selected by the user when creating the data entity or the relationship entity.
[0037] In some possible implementations, the system further includes:
[0038] A code generation module, configured to obtain a syntax tree and annotations of the application according to the metadata model graph of the application, and generate code of the application according to the syntax tree and the annotations.
[0039] In some possible implementations, the code generation module is specifically configured to:
[0040] Generate the physical tables, field indexes, and data relationships of the data layer of the application according to the physical table definitions in the syntax tree and the annotations of the data layer of the application;
[0041] Generate entity classes, data interface implementations, and field definitions of the logic layer of the application according to the data entities, association relationships, physical table definitions in the syntax tree, and the annotations of the logic layer of the application;
[0042] Generate the basic pages, data operation APIs, and data transfer objects DTOs of the presentation layer of the application according to the data entities, association relationships, service APIs in the syntax tree, and the annotations of the presentation layer of the application.
[0043] In some possible implementations, the code generation module is further configured to:
[0044] Assemble and generate the business layer of the application according to the data operation API of the presentation layer.
[0045] In some possible implementation manners, the system further includes:
[0046] A deployment module, configured to determine the resources required for deploying the application according to the function or service API, assemble the resources required for the application according to the metadata model graph and the standard application template, and deploy the code of the application on the resources.
[0047] In a third aspect, the present application provides a computing device cluster. The computing device cluster includes at least one computing device, and the at least one computing device includes at least one processor and at least one memory. The at least one processor and the at least one memory communicate with each other. The at least one processor is configured to execute instructions stored in the at least one memory, so that the computing device or the computing device cluster executes the application management method as described in the first aspect or any one of the implementation manners of the first aspect.
[0048] In a fourth aspect, the present application provides a computer-readable storage medium, in which instructions are stored, and the instructions direct a computing device or a computing device cluster to execute the application management method as described in the first aspect or any one of the implementation manners of the first aspect.
[0049] In a fifth aspect, the present application provides a computer program product including instructions, which, when running on a computing device or a computing device cluster, causes the computing device or the computing device cluster to execute the application management method as described in the first aspect or any one of the implementation manners of the first aspect.
[0050] Based on the implementation manners provided in the above aspects of the present application, further combinations can be made to provide more implementation manners. BRIEF DESCRIPTION OF THE DRAWINGS
[0051] To more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the embodiments will be briefly introduced below.
[0052] Figure 1 It is a schematic diagram of the architecture of an application management system provided by an embodiment of the present application;
[0053] Figure 2 It is a flowchart of an application management method provided by an embodiment of the present application;
[0054] Figure 3A It is a schematic diagram of the basic information configuration in a data entity creation interface provided by an embodiment of the present application;
[0055] Figure 3B Schematic diagram of attribute configuration in a data entity creation interface provided by an embodiment of the present application;
[0056] Figure 3C Schematic diagram of function configuration in a data entity creation interface provided by an embodiment of the present application;
[0057] Figure 3D Schematic diagram of relationship configuration in a data entity creation interface provided by an embodiment of the present application;
[0058] Figure 3E Schematic diagram of usage configuration in a data entity creation interface provided by an embodiment of the present application;
[0059] Figure 3F Schematic diagram of revision record configuration in a data entity creation interface provided by an embodiment of the present application;
[0060] Figure 4A Schematic diagram of basic information configuration in a relationship entity creation interface provided by an embodiment of the present application;
[0061] Figure 4B Schematic diagram of attribute configuration in a relationship entity creation interface provided by an embodiment of the present application;
[0062] Figure 4C Schematic diagram of function configuration in a relationship entity creation interface provided by an embodiment of the present application;
[0063] Figure 4D Schematic diagram of usage configuration in a relationship entity creation interface provided by an embodiment of the present application;
[0064] Figure 4E Schematic diagram of revision record configuration in a relationship entity creation interface provided by an embodiment of the present application;
[0065] Figure 5 Schematic diagram of another data entity creation interface provided by an embodiment of the present application;
[0066] Figure 6 Schematic diagram of a metadata model graph provided by an embodiment of the present application;
[0067] Figure 7 Schematic diagram of querying the current node database provided by an embodiment of the present application;
[0068] Figure 8 Schematic diagram of querying the current node Java provided by an embodiment of the present application;
[0069] Figure 9A structural diagram of a metadata model atlas provided by an embodiment of the present application;
[0070] Figure 10 A code structure diagram of an application provided by an embodiment of the present application;
[0071] Figure 11 A schematic diagram of an application extension provided by an embodiment of the present application;
[0072] Figure 12 A flowchart of an application release provided by an embodiment of the present application;
[0073] Figure 13 A flowchart of a resource purchase provided by an embodiment of the present application;
[0074] Figure 14 A flowchart of an application deployment provided by an embodiment of the present application;
[0075] Figure 15 A schematic diagram of the structure of a computing device provided by an embodiment of the present application;
[0076] Figure 16 A schematic diagram of the structure of a computing device cluster provided by an embodiment of the present application;
[0077] Figure 17 Another schematic diagram of the structure of a computing device cluster provided by an embodiment of the present application;
[0078] Figure 18 Another schematic diagram of the structure of a computing device cluster provided by an embodiment of the present application. Detailed implementation manners
[0079] The terms "first" and "second" in the embodiments of the present application are only for descriptive purposes, and cannot be construed as indicating or implying relative importance or implicitly specifying the quantity of the indicated technical features. Thus, the features defined with "first" and "second" may explicitly or implicitly include one or more of such features.
[0080] First, some technical terms involved in the embodiments of the present application are introduced.
[0081] An application (APP), short for application program, is a program written for a specific application purpose of users. Among them, an application can process data in a database (DB) to achieve a specific application purpose. For example, an application can be a comprehensive information management system that processes attendance data and salary data in a database, or for another example, an application can be a report analysis system that processes product quality data in a database.
[0082] Application management refers to the management of applications throughout their life cycle, including but not limited to application development and application deployment. During the application development process, especially in the development of large software systems such as integrated information management systems and report analysis systems, in order to avoid duplicate development, a metadata-driven development approach is usually adopted.
[0083] The metadata-driven data platform is a cutting-edge approach that supports the rapid design, development, and implementation of various applications. After designing and defining the metadata model of an application, the visualization of the metadata model can help architects and developers quickly understand the underlying architecture and logic of the application, thereby improving development efficiency.
[0084] However, existing visualization solutions for metadata models usually support the display of data entities and the relationships between data entities, and further provide the display of the attributes of data entities and the attributes of relationship entities. This solution can describe database tables and the relationships between database tables, but it cannot describe the relationships between business objects, let alone the functions or application programming interfaces (APIs) of each business object. As a result, when developers are developing the code of an application, they rely on the modelers' understanding of the design intent. If there are misunderstandings, it may require a high cost of repair, which in turn increases the application development cost and development cycle, and it is difficult to meet business requirements.
[0085] In view of this, the present application provides an application management method. This method can be executed by an application management system. The application management system can be a software system, which can be deployed in a computing device cluster, such as a computing device cluster in a cloud environment. The computing device cluster executes the program code of the software system to execute the application management method of the present application. In some possible implementation manners, the application management system can also be a hardware system, such as a computing device cluster with application management functions. When the application management system runs, it executes the application management method of the present application.
[0086] Specifically, the application management system receives the association information of at least one data entity configured by the user. The association information of the data entity includes at least one of the functions or service APIs of the business object corresponding to the data entity and the attributes of the data entity. Then, the application management system receives the association information of at least one relationship entity configured by the user. The association information of the relationship entity includes at least one of the functions or service APIs of the business object relationship corresponding to the relationship entity and the attributes of the relationship entity. Next, the application management system generates a metadata model graph of the application according to the association information of at least one data entity and the association information of at least one relationship entity. This metadata model graph is used to assist in generating the code of the application.
[0087] In this method, the application management system provides a brand-new application modeling capability, generating a relatively complete metadata model graph based on all metadata. This graph not only describes data entities, the relationships between data entities, the attributes of data entities, and the attributes of relationship entities, but also can describe the functions or service APIs of the business objects corresponding to data entities, and the functions or service APIs of the business object relationships corresponding to relationship entities. Since the graph can provide richer information, it reduces the probability that developers deviate in understanding the design intent, reduces the repair cost, thereby reducing the application development cost, shortening the development cycle, and being able to meet business requirements.
[0088] Furthermore, this method also supports automatically generating the code of the application from the metadata model graph, realizing design-to-development, improving the efficiency of application design and development, and reducing the difficulty of application development. Moreover, this method also supports automatic resource purchase, automated configuration, and automatic application deployment, solving the problem in related technologies that a large number of developers are consumed to develop service APIs for data management, and after passing the test, a large amount of manpower is invested to purchase and build servers, install databases and middleware, etc., execute database scripts using the Data Definition Language (DDL), and finally deploy and debug the application online before it can be used. There is no need to execute database DDL and various configurations, simplifying the deployment operation and improving the application deployment and operation and maintenance efficiency.
[0089] To make the technical solution of this application clearer and easier to understand, the application management system of the embodiments of this application will be introduced below with reference to the accompanying drawings.
[0090] See Figure 1 In the schematic diagram of the architecture of the application management system shown, the application management system 10 can be software deployed in a cloud environment, an edge environment, or a local computing center, or a cluster of computing devices in the above environments. Figure 1 Taking the application management system 10 as an example of software deployed in a cloud environment, the client 20 (such as a browser or a dedicated client) connects to the application management system 10, and users can access the application management system 10 through the client 20 for application management.
[0091] Specifically, the application management system 10 includes an interaction module 100 and a graph generation module 200. The interaction module 100 and the graph generation module 200 will be introduced separately below.
[0092] The interaction module 100 is used to receive the association information of at least one data entity configured by the user, and receive the association information of at least one relationship entity configured by the user. The association information of the data entity includes at least one of the functions or service application programming interfaces (APIs) of the business object corresponding to the data entity and the attributes of the data entity. The association information of the relationship entity includes at least one of the functions or service APIs of the business object relationship corresponding to the relationship entity and the attributes of the relationship entity.
[0093] The graph generation module 200 is used to generate a metadata model graph of the application according to the association information of the at least one data entity and the association information of the at least one relationship entity. Among them, the metadata model graph is used to assist in generating the code of the application. In some examples, the interaction module 100 is also used to present the metadata model graph to the user. In this way, developers can understand the design intention based on the information such as the functions or APIs described in the metadata model graph, and then implement the code development of the application. In other examples, the application management system 10 may further include a code generation module 300. The code generation module 300 is used to generate the code of the application according to the metadata model graph of the application. For example, the code generation module 300 can obtain the syntax tree and annotations of the application according to the metadata model graph of the application, and then generate the code of the application according to the syntax tree and annotations.
[0094] In some possible implementation manners, the application management system 10 further includes a deployment module 400. The deployment module 400 is used to automatically deploy the application. Specifically, the deployment module 400 can determine the resources required to deploy the application according to the functions or service APIs described in the metadata model graph, and then assemble the resources required for the application according to the metadata model graph and the standard application template, and deploy the code of the application on the resources.
[0095] Based on Figure 1 the application management system 10 shown above, the present application further provides an application management method. The application management method of the embodiments of the present application will be introduced below with reference to the accompanying drawings.
[0096] See Figure 2 the flowchart of the application management method shown above. The method includes:
[0097] S202: The application management system 10 receives the association information of at least one data entity configured by the user.
[0098] An entity is an objectively existing and distinguishable thing. Specifically in a database, an entity can be an individual of a class of objects, called an entity. Among them, a data entity can be an individual instantiated from a business object (BO). A business object refers to a component that retrieves and processes data, which is a simple software abstraction of the real world and is usually located in the middle layer or the business logic layer. A business object can automatically add a specific function in an application. For example, in an e-commerce application, business objects can include "order" and "product".
[0099] The application management system 10 can provide capabilities such as graphical data entity creation, modification, and invalidation (deletion), and support version management of data entities, enabling version upgrades during modification. Specifically, the application management system 10 supports users to create data entities according to selected business objects; and supports adding attributes, functions, and service APIs. Among them, the application management system 10 also supports adding relationships, usage, or revision records. For data entities, usage can include one or more of relationship entity reference information, reference object reference information, or inherited data entity reference information. Revision records can support viewing and comparison of historical versions.
[0100] In specific implementation, the application management system 10 can provide a data entity creation interface, and receive the association information of at least one data entity through this data entity creation interface. Among them, the association information of the data entity includes at least one of the functions or service APIs of the business object corresponding to the data entity and the attributes of the data entity. Further, the association information of the data entity can also include the relationships between data entities.
[0101] See Figures 3A to 3F The schematic diagram of the data entity creation interface shown. The data entity creation interface 32 includes a basic information configuration component 321, an attribute configuration component 322, a function configuration component 323, a relationship configuration component 324, a usage configuration component 325, and a revision record component 326.
[0102] As Figure 3AAs shown, the basic configuration information component 321 includes a name configuration control 3211, a description configuration control 3212, a model type configuration control 3213, a parent model configuration control 3214, and a model classification configuration control 3215. Among them, the name configuration control 3211 may include one or more of a Chinese name configuration control or an English name configuration control, and is used to configure a Chinese name or an English name. Similarly, the description configuration control 3212 includes one or more of a Chinese description configuration control or an English description configuration control, and is used to configure a Chinese description or an English description. The model type configuration control 3213 is used to configure the data entity as an entity model or an abstract model. The parent model configuration control 3214 is used to configure the business object inherited or depended on by the data entity. The model classification configuration control 3215 is used to configure the model classification of the data entity as a system configuration model or a business data model. The system configuration model is a model independent of business.
[0103] Furthermore, the basic configuration information component 321 further includes a table name configuration control 3216, and the table name configuration control 3216 is used to configure the table name. Optionally, the basic information configuration component 321 further includes a responsible person configuration control 3217 and an icon configuration control 3218. Among them, the responsible person configuration control 3217 is used to configure the responsible person of the data entity, and the icon configuration control 3218 is used to configure the icon type of the data entity.
[0104] When the user clicks on the attribute configuration component 322, it can jump to the interface as shown in Figure 3B for configuring the attributes of the data entity. Among them, the attributes of the data entity can include basic attributes, and the basic attributes can be defined through the new control 3221. For example, after the user clicks on the new control 3221, the user can edit the respective field values of the newly added attribute through the edit control 3225, thereby completing the attribute definition. In this example, the newly added attribute can include des. It should be noted that the embodiments of the present application also support deleting attributes through the delete control 3222 and adjusting the order of the attributes through the up control 3223 and the down control 3224. Furthermore, the attributes of the data entity can also include attributes inherited from the parent model. Figure 3B Shows a list 3226 of attributes inherited from the parent model, and the list 3226 may include attributes inherited from the parent model such as "confidentiality level", "classification attribute", "creation time", "creator", etc.
[0105] When the user clicks on the function configuration component 323, it can jump to the interface as shown in Figure 3CThe interface shown configures the functions of the business object corresponding to the data entity. The application management system 10 receives the functions of the business object corresponding to the above data entity configured by the user. Specifically, the user can set rules to configure the functions of the business object. For example, the user can add a lifecycle template in the design state according to business requirements, customize the template and status attribute field information, so as to configure the lifecycle management function. When specifically implemented, the user can trigger the add control 3231 to trigger the process of adding a lifecycle template. When adding a lifecycle template, the user can edit each attribute field of the newly added lifecycle template through the edit control 3232. On this interface, the user can also configure the service API corresponding to the function. Specifically, the user can configure the Chinese name of the API, the English name of the API, and the function description, so as to implement the configuration of the service API corresponding to the function.
[0106] When the user clicks on the relationship configuration component 324, it can jump to the interface as shown in Figure 3D to perform relationship configuration or viewing. The application management system 10 receives the relationship between the data entities configured by the user. For example, this relationship can be one-to-one or one-to-many. It should be noted that this interface can also display the relationships inherited from the parent model.
[0107] When the user clicks on the usage configuration component 325, it can jump to the interface as shown in Figure 3E This interface can display the usage of the business object corresponding to the data entity. For example, this interface can display relationship entity reference information, reference object reference information, and inherited data entity reference information.
[0108] Furthermore, if the currently created data entity is an updated version of the data entity, the user can also click on the revision record component 326 and jump to the interface as shown in Figure 3F to view or compare the changes of this updated version relative to the historical version. Specifically, this interface can display the version records of each version. The version record includes the revision number, name, description, status, updater, and update time. The user can trigger the comparison of different version records through the comparison control 3261. For example, the user can select several version records through the selection control 3262 and then click on the comparison control 3261 to trigger the comparison of different versions.
[0109] S204: The application management system 10 receives the association information of at least one relationship entity configured by the user.
[0110] The relationship entity is specifically an individual instantiated from the business object relationship. The application management system 10 can provide graphical capabilities for creating, modifying, and invalidating relationship entities, etc., and support version management of relationship entities. When modified, version upgrades can be performed. Users can create relationship entities according to the business object relationship; adding attributes, functions, and service APIs is supported. The service API can characterize the usage situation. Among them, the application management system 10 also supports adding revision records. The revision records can support viewing and comparing historical versions.
[0111] In specific implementation, the application management system 10 can provide a relationship entity creation interface, and receive the association information of at least one relationship entity through this relationship entity creation interface. Among them, the association information of the relationship entity includes at least one of the functions or service APIs of the business object relationship corresponding to the relationship entity and the attributes of the relationship entity.
[0112] See Figures 4A to 4E For the schematic diagram of the relationship entity creation interface shown, the relationship entity creation interface 42 includes a basic information configuration component 421, an attribute configuration component 422, a function configuration component 423, a usage situation configuration component 424, and a revision record component 425.
[0113] As Figure 4A shown, the basic configuration information component 421 includes a name configuration control 4211, a description configuration control 4212, a model classification configuration control 4213, a relationship type configuration control 4214, a linkage update configuration control 4215, a table name configuration control 4216, a relationship name configuration control 4217, a source data entity name configuration control 4218, and a target data entity name configuration control 4219.
[0114] Among them, the name configuration control 4211 can include one or more of a Chinese name configuration control or an English name configuration control, and is used to configure the Chinese name or the English name. Similarly, the description configuration control 4212 includes one or more of a Chinese description configuration control or an English description configuration control, and is used to configure the Chinese description or the English description. The model classification configuration control 4213 is used to configure the business data model or the system configuration model. The relationship type configuration control 4214 is used to configure the relationship type as one-to-one, one-to-many, many-to-one, or many-to-many. The linkage update configuration control 4215 is used to configure whether to update the relationship instance in a linked manner. The table name configuration control 4216 is used to configure the table name, for example, configured as Test1_REL, the relationship name configuration control 4217 is used to configure the relationship name, the source data entity name configuration control 4218 is used to configure the source data entity name or alias, and the target data entity name configuration control 4219 is used to configure the target data entity name or alias.
[0115] When the user clicks on the attribute configuration component 422, it can jump toFigure 4B For the interface shown, perform attribute configuration of the relationship entity. Among them, the attributes of the relationship entity may include custom basic attributes, and the basic attributes can be defined by adding a control 4221. For example, after the user clicks the add control 4221, each field value of the newly added attribute can be edited through the edit control, thereby completing the attribute definition. It should be noted that the embodiments of the present application also support deleting attributes through the delete control 4222, and adjusting the order of attributes through the up control 4223 and the down control 4224. Further, the attributes of the relationship entity may also include system basic attributes. Figure 4B A list 4225 of system basic attributes is shown, and the list 4225 may include attributes such as "creation time", "creator", "unique code", etc.
[0116] When the user clicks the function configuration component 423, it can jump to the interface as shown in Figure 4C to configure the functions of the business object relationship corresponding to the relationship entity, and the application management system 10 receives the functions of the business object relationship corresponding to the relationship entity configured by the user. Specifically, the user can set rules to configure the functions of the business object relationship. For example, the user can maintain a composite index in the design state and the running state. The data maintained in the design state will return results in the running state after application deployment. In the running state, only the "public tenant" has an operation entry, and the data maintained is processed in real time and returns results. When specifically implemented, the user can trigger the add control 4231 to trigger the process of adding a composite index. When adding a composite index, the user can edit each attribute field of the newly added index through the edit control. In addition, the embodiments of the present application also support deleting the composite index through the delete control 4232. On this interface, the user can also configure the service API corresponding to the function. Specifically, the user can configure the Chinese name of the API, the English name of the API, and the function description, so as to implement the configuration of the service API corresponding to the function.
[0117] When the user clicks the usage configuration component 424, it can jump to the interface as shown in Figure 4D to display the usage of the business object relationship corresponding to the relationship entity. For example, this interface can display reference object reference information.
[0118] Further, if the currently created relationship entity is an updated version of the relationship entity, the user can also click the revision record component 425 and jump to the interface as shown in Figure 4E to view the revision record, such as viewing information such as the revision number, revision description, updater, update time, etc.
[0119] S206: The application management system 10 generates a metadata model graph of the application according to the association information of at least one data entity and the association information of the at least one relationship entity.
[0120] Specifically, the application management system 10 can use the functions of the business objects corresponding to the data entities and the API of the business objects corresponding to the data entities in the data entities and the associated information of the data entities as nodes, and use the relationships between the data entities in the relationship entities, the relationships between the data entities and the functions of the business objects, and the relationships between the data entities and the API of the business objects as edges to generate a metadata model graph of the application. The metadata model graph is used to assist in generating the code of the application.
[0121] In some possible implementation manners, when the user creates a data entity or a relationship entity, the user can also select the data management function corresponding to the entity. The application management system 10 can determine the function selected by the user when creating the data entity or the relationship entity, and then generate a metadata model graph of the application according to the associated information of the at least one data entity, the associated information of the at least one relationship entity, and the function selected by the user when creating the data entity or the relationship entity.
[0122] For ease of understanding, an example of the process of creating a data entity is used for illustration. Refer to Figure 5 The schematic diagram of the data entity creation interface shown. The data entity creation interface 32 further includes a function selection component 327. After the function selection component is expanded, a plurality of controls can be presented, such as an add control for adding functions and a delete control for deleting functions. Function lists are displayed below the add control and the delete control. The Chinese name, English name, Chinese description, English description, and inheritance relationship of each data management function are displayed in the function list. The user can determine whether to select the corresponding function according to information such as the name, description, and inheritance relationship of each data management function, and then add the above functions through the add control or delete the above functions through the delete control. For example, the user can select the function with the Chinese name of file service for addition. Correspondingly, the application management system 10 can determine that the function selected by the user when creating the data entity includes file service, and then generate a metadata model graph of the application according to the associated information of the at least one data entity, the associated information of the at least one relationship entity, and the above function selected by the user when creating the data entity.
[0123] S208: The application management system 10 presents the metadata model graph to the user.
[0124] The nodes in the metadata model graph are used to represent the data entities, the functions or service APIs of the business objects corresponding to the data entities, and the edges in the metadata model graph are used to represent the relationships between the data entities, the relationships between the data entities and the functions, or the relationships between the data entities and the service APIs.
[0125] For ease of understanding, the embodiments of the present application also provide an example of the metadata model graph. Refer toFigure 6 Schematic diagram of the metadata model graph shown. The metadata model graph includes multiple nodes, and the multiple nodes include a current node and at least one surrounding node. Among them, the surrounding nodes can be nodes having a reference object relationship or an inheritance relationship with the current node. For the current node, the metadata model graph also describes the current node database (used to represent functions, also known as functional nodes) and the current node Java (used to represent service APIs). In addition, the relationships between the nodes are also included in the metadata model graph. Figure 6 It also shows legends and statistical information. Among them, different legends are used to represent different node types and different relationship types. The statistical information specifically includes node statistical information and relationship statistical information.
[0126] S210: In response to a user's trigger operation on a node in the metadata model graph, the application management system 10 presents the functions or service APIs of the business objects corresponding to the data entities to the user.
[0127] According to different user selections, the application management system 10 can present the functions of the business objects corresponding to the data entities to the user, or present the service APIs of the business objects corresponding to the data entities to the user. For the convenience of understanding, it will be described below with examples.
[0128] In some examples, refer to Figure 7 the schematic diagram of querying the node database shown. When the user clicks on Figure 6 the current node database in it, the application management system 10 can present the current node database to the user. The current node database can include a basic database and an extended database. The user can process the data in the above basic database or extended database.
[0129] In other examples, refer to Figure 8 the schematic diagram of querying the current node Java shown. When the user clicks on Figure 7 the current node Java in it, the application management system 10 can present the current node Java to the user, specifically the service APIs of the business objects corresponding to the data entities represented by this node, such as addTag[], batchCheckin[], batchCheckout[].
[0130] S212: In response to a user's trigger operation on an edge in the metadata model graph, the application management system 10 presents the relationships between data entities, the relationships between data entities and functions, or the relationships between data entities and service APIs to the user.
[0131] Specifically, the edges in the metadata model graph can represent the relationships between data entities, the relationships between data entities and functions, or the relationships between data entities and service APIs. The user can select an edge to trigger a relationship viewing operation. The application management system 10 can, in response to the user's triggering operation on the edge in the metadata model graph, present to the user the relationships between data entities, the relationships between the data entities and functions, or the relationships between the data entities and service APIs.
[0132] The above S208 to S212 are used to assist developers in understanding the design intent, and thus assist in the code development of the application. The above S208 to S212 are optional steps in the embodiments of the present application. When implementing the application management method of the embodiments of the present application, these steps may not be executed. For example, when the application management system 10 automatically generates the code of the application according to the metadata model graph, these steps may not be executed.
[0133] In this method, the application management system 10 supports users to configure full metadata and generate a relatively complete metadata model graph based on the full metadata. This graph not only describes data entities, the relationships between data entities, the attributes of data entities, and the attributes of relationship entities, but also can describe the functions or APIs of the business objects corresponding to data entities, and the functions or APIs of the business object relationships corresponding to relationship entities. Since the graph can provide richer information, it reduces the probability of developers having deviations in understanding the design intent, reduces the repair cost, thereby reducing the application development cost, shortening the development cycle, and being able to meet business requirements.
[0134] In some possible implementation manners, the application management system 10 can not only present the metadata model graph to the user to assist the user in the code development of the application, but also support automatically generating the code of the application, realizing design - by - development, greatly improving the application design and development efficiency, and reducing the difficulty of application design and development.
[0135] Specifically, the application management system 10 can be driven by the metadata model graph and automatically generate the source code of the application by using the syntax tree and annotation method. Among them, the application management system 10 can obtain the syntax tree and annotation of the application according to the metadata model graph of the application, and then generate the code of the application according to the syntax tree and the annotation. And the application management system 10 supports rich extension and customization capabilities.
[0136] See Figure 9 In the structural diagram of the metadata model graph shown, after business modeling to obtain business objects and business object relationships, metadata definition can be performed to generate a metadata model graph, which includes association relationships, service interfaces, metadata entities (such as data entities, relationship entities), and physical table definitions. Correspondingly, see Figure 10The code structure diagram of the application shown. The application management system 10 can generate the physical tables, field indexes, and data relationships of the data layer of the application according to the physical table definitions in the syntax tree and the annotations of the data layer of the application. Then, according to the data entities, association relationships, physical table definitions in the syntax tree, and the annotations of the logic layer of the application, it can generate the entity classes, data interface implementations, and field definitions of the logic layer of the application. Next, according to the data entities, association relationships, service APIs, and the annotations of the presentation layer of the application in the syntax tree, it can generate the basic pages, data operation APIs, and data transfer objects DTOs of the presentation layer of the application.
[0137] Furthermore, considering the personalized needs of users, the application management system 10 also supports further customization of the application. For example, referring to Figure 11 , the application management system 10 supports users to automatically generate the data management layer through business modeling. Business personnel can develop and assemble complex business layers by themselves, thereby building a complex product data management (PDM), improving the development efficiency of complex data management applications such as PDM. Specifically, when implemented, the application management system 10 can assemble and generate the business layer of the application according to the data operation APIs of the presentation layer, thus realizing application customization or extension.
[0138] After generating the code of the application, the embodiments of the present application also support automatic release and deployment of the application.
[0139] Referring to Figure 12 the schematic diagram of the application release process shown, the application management system 10 can generate a release record, obtain release data, and verify the data. When the verification passes, the application management system 10 can release the application, specifically including code generation, API registration, and API generation. After generating the code, code compilation and construction can be performed. Then, the application management system 10 can record the release situation according to the compilation or construction structure, API registration structure, and API generation result. It should be noted that when the verification fails, the application management system 10 can record the reason for failure.
[0140] After releasing the application, the application management system 10 can perform automatic deployment of the application. When performing deployment, the application management system 10 can determine the resources required for deploying the application according to the functions or APIs. In this way, the application management system 10 can purchase the resources required for the application. Referring to Figure 13The schematic diagram of resource purchase is shown. The application management system 10 can purchase virtual private clouds, relational databases, elastic load balancing services, distributed cache services, API gateways, cloud container engine clusters and nodes, document databases, search services, distributed message services, and elastic public network IPs for users. Further, the application management system 10 can also configure security groups to ensure accessibility within the network.
[0141] After purchasing the above resources, the application management system 10 can automatically deploy the application code to the corresponding resources. The application management system 10 assembles the resources required for the application according to the metadata model graph and the standard application template, and deploys the application code on the resources. See Figure 14 The schematic diagram of application deployment is shown. The application management system 10 can select an application, then select a package version, and then select a deployment environment, and issue configurations to deploy the application. The application management system 10 triggers the deployment process, can automatically create a database, table structure, establish indexes, initialize data, and then expose rest APIs, thereby realizing automatic deployment.
[0142] Based on the application management method of the foregoing embodiments, the present application further provides an application management system 10, as Figure 1 shown, the application management system 10 includes:
[0143] An interaction module 100, configured to receive the association information of at least one data entity configured by a user, where the association information of the data entity includes at least one of the functions or service application programming interfaces API of the business object corresponding to the data entity and the attributes of the data entity;
[0144] The interaction module 100 is further configured to receive the association information of at least one relationship entity configured by the user, where the association information of the relationship entity includes at least one of the functions or service APIs of the business object relationship corresponding to the relationship entity and the attributes of the relationship entity;
[0145] A graph generation module 200, configured to generate a metadata model graph of an application according to the association information of the at least one data entity and the association information of the at least one relationship entity, where the metadata model graph is used to assist in generating the code of the application.
[0146] Exemplarily, the above interaction module 100 and graph generation module 200 can be implemented by hardware or can be implemented by software. For ease of description, the graph generation module 200 is used as an example below.
[0147] When implemented by software, the atlas generation module 200 can be an application running on a computing device, such as a computing engine. This application can be provided to users in the form of virtualized services. The virtualized services can include virtual machine (VM) services, bare metal server (BMS) services, and container services. Among them, the VM service can be a service that virtualizes a virtual machine (VM) resource pool on multiple physical hosts (such as computing devices) through virtualization technology to provide VMs for users on demand. The BMS service is a service that virtualizes a BMS resource pool on multiple physical hosts to provide BMSs for users on demand. The container service is a service that virtualizes a container resource pool on multiple physical hosts to provide containers for users on demand. A VM is a simulated virtual computer, that is, a computer logically. A BMS is a highly scalable high-performance computing service with the same computing performance as a traditional physical machine and the characteristic of secure physical isolation. A container is a kernel virtualization technology that can provide lightweight virtualization to achieve the purpose of isolating user space, processes, and resources. It should be understood that the VM service, BMS service, and container service in the above virtualized services are only specific examples. In actual applications, the virtualized service can also be other lightweight or heavyweight virtualized services, which are not specifically limited here.
[0148] When implemented by hardware, the atlas generation module 200 can include at least one computing device, such as a server. Alternatively, the atlas generation module 200 can also be a device implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD). Among them, the above PLD can be implemented by a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.
[0149] In some possible implementation manners, the interaction module 100 is further configured to:
[0150] Present the metadata model graph to the user, where the nodes in the metadata model graph are used to represent the data entities, the functions of the business objects corresponding to the data entities, or service APIs, and the edges in the metadata model graph are used to represent the relationships between the data entities, the relationships between the data entities and functions, or the relationships between the data entities and service APIs.
[0151] In some possible implementation manners, the interaction module 100 is further configured to:
[0152] In response to a triggering operation of the user on a node in the metadata model graph, present the function of the business object corresponding to the data entity or a service API to the user.
[0153] In some possible implementation manners, the interaction module 100 is further configured to:
[0154] In response to a triggering operation of the user on an edge in the metadata model graph, present the relationships between data entities, the relationships between the data entities and functions, or the relationships between the data entities and service APIs to the user.
[0155] In some possible implementation manners, the interaction module 100 is further configured to:
[0156] Determine the function selected by the user when creating the data entity or the relationship entity;
[0157] The graph generation module 200 is specifically configured to:
[0158] Generate a metadata model graph of the application according to the association information of the at least one data entity, the association information of the at least one relationship entity, and the function selected by the user when creating the data entity or the relationship entity.
[0159] In some possible implementation manners, the system 10 further includes:
[0160] A code generation module 300, configured to obtain a syntax tree and annotations of the application according to the metadata model graph of the application, and generate code of the application according to the syntax tree and the annotations.
[0161] In some possible implementation manners, the code generation module 300 is specifically configured to:
[0162] Generate a physical table, a field index, and a data relationship of the data layer of the application according to the physical table definition in the syntax tree and the annotations of the data layer of the application;
[0163] Generate entity classes, data interface implementations, and field definitions for the logical layer of the application based on the data entities, association relationships, physical table definitions, and annotations of the logical layer of the application in the syntax tree.
[0164] Generate a basic page, data operation APIs, and data transfer objects DTO for the presentation layer of the application based on the data entities, association relationships, service APIs, and annotations of the presentation layer of the application in the syntax tree.
[0165] In some possible implementation manners, the code generation module 300 is further configured to:
[0166] Assemble and generate the business layer of the application based on the data operation APIs of the presentation layer.
[0167] In some possible implementation manners, the system 10 further includes:
[0168] A deployment module 400, configured to determine resources required for deploying the application according to the function or service APIs, assemble resources required for the application according to the metadata model graph and the standard application template, and deploy the code of the application on the resources.
[0169] This application also provides a computing device 1500. As Figure 15 shown, the computing device 1500 includes: a bus 1502, a processor 1504, a memory 1506, and a communication interface 1508. The processor 1504, the memory 1506, and the communication interface 1508 communicate with each other through the bus 1502. The computing device 1500 can be a server or a terminal device. It should be understood that this application does not limit the number of processors and memories in the computing device 1500.
[0170] The bus 1502 can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc. For the sake of simplicity of representation, Figure 15 only one line is shown in the figure, but it does not mean that there is only one bus or one type of bus. The bus 1504 can include a path for transmitting information between various components (for example, the memory 1506, the processor 1504, and the communication interface 1508) of the computing device 1500.
[0171] The processor 1504 may include any one or more of processors such as a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).
[0172] The memory 1506 may include a volatile memory, such as a random access memory (RAM). The processor 1504 may also include a non-volatile memory, such as a read-only memory (ROM), a flash memory, a hard disk drive (HDD), or a solid state drive (SSD). Executable program code is stored in the memory 1506, and the processor 1504 executes the executable program code to implement the foregoing application management method. Specifically, instructions for the application management system 10 to execute the application management method are stored on the memory 1506.
[0173] The communication interface 1503 uses a transceiver module such as, but not limited to, a network interface card or a transceiver to implement communication between the computing device 1500 and other devices or a communication network.
[0174] The embodiments of the present application further provide a computing device cluster. The computing device cluster includes at least one computing device. The computing device may be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device may also be a terminal device such as a desktop computer, a laptop computer, or a smart phone.
[0175] As Figure 16 shown, the computing device cluster includes at least one computing device 1500. Instructions for the same application management system 10 to execute the application management method may be stored in the memory 1506 of one or more of the computing devices 1500 in the computing device cluster.
[0176] In some possible implementation manners, one or more of the computing devices 1500 in the computing device cluster may also be used to execute some instructions of the application management system for executing the application management method. In other words, a combination of one or more of the computing devices 1500 may jointly execute the instructions of the application management system 10 for executing the application management method.
[0177] It should be noted that the memories 1506 in different computing devices 1500 in the computing device cluster can store different instructions for executing some functions of the application management system 10.
[0178] Figure 17 A possible implementation is shown. As Figure 17 shown, two computing devices 1500A and 1500B are connected through the communication interface 1508. The memory in the computing device 1500A stores instructions for executing the functions of the interaction module 100. The memory in the computing device 1500B stores instructions for executing the functions of the atlas generation module 200. Further, the memory in the computing device 1500A also stores instructions for executing the functions of the code generation module 300, and the memory in the computing device 1500B also stores instructions for executing the functions of the deployment module 400. In other words, the memories 1506 of the computing devices 1500A and 1500B jointly store the instructions for the application management system 10 to execute the application management method.
[0179] Figure 17 The connection method between the computing device clusters shown is considered because the application management method provided in this application requires a certain amount of computing power to construct an atlas. Therefore, it is considered to hand over the functions implemented by the atlas generation module 200 to the computing device 1500B for execution.
[0180] It should be understood that Figure 17 the functions of the computing device 1500A shown in can also be completed by multiple computing devices 1500. Similarly, the functions of the computing device 1500B can also be completed by multiple computing devices 1500.
[0181] In some possible implementation manners, one or more computing devices in the computing device cluster can be connected through a network. Among them, the network can be a wide area network or a local area network, etc. Figure 18 A possible implementation is shown. As Figure 18 shown, two computing devices 1500C and 1500D are connected through a network. Specifically, they are connected to the network through the communication interfaces in each computing device. In this type of possible implementation manners, the memory 1506 in the computing device 1500C stores instructions for executing the functions of the interaction module 100. At the same time, the memory 1506 in the computing device 1500D stores instructions for executing the functions of the atlas generation module 200. Further, the memory in the computing device 1500C also stores instructions for executing the functions of the code generation module 300, and the memory in the computing device 1500D also stores instructions for executing the functions of the deployment module 400.
[0182] Figure 18The connection method between the computing device clusters shown can be such that considering that the application management method provided in this application requires a certain amount of computing power to construct a graph, it is thus considered to hand over the functions implemented by the graph generation module 200 to the computing device 1500D for execution.
[0183] It should be understood that Figure 18 the functions of the computing device 1500C shown in can also be completed by multiple computing devices 1500. Similarly, the functions of the computing device 1500D can also be completed by multiple computing devices 1500.
[0184] The embodiments of this application also provide a computer-readable storage medium. The computer-readable storage medium can be any available medium that a computing device can store or a data storage device such as a data center that contains one or more available media. The available medium can be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid-state drive), etc. This computer-readable storage medium includes instructions that direct the computing device to execute the above application management method applied to the application management system 10.
[0185] The embodiments of this application also provide a computer program product containing instructions. The computer program product can be software or a program product that contains instructions and can run on a computing device or be stored in any available medium. When the computer program product runs on at least one computing device, it causes at least one computing device to execute the above application management method.
[0186] Finally, it should be noted that: the above embodiments are only used to illustrate the technical solutions of the present invention, and are not intended to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that: they can still modify the technical solutions recorded in the foregoing embodiments, or perform equivalent replacements on some of the technical features; and these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the protection scope of the technical solutions of the embodiments of the present invention.
Claims
1. An application management method, characterized in that, Executed by an application management system, the method includes: Receiving the association information of at least one data entity configured by a user, where the association information of the data entity includes at least one of the functions or service application programming interfaces (APIs) of the business object corresponding to the data entity and the attributes of the data entity; Receiving the association information of at least one relationship entity configured by the user, where the association information of the relationship entity includes at least one of the functions or service APIs of the business object relationship corresponding to the relationship entity and the attributes of the relationship entity; Generating a metadata model graph of an application based on the association information of the at least one data entity and the association information of the at least one relationship entity, where the metadata model graph is used to assist in generating the code of the application, the nodes in the metadata model graph are used to represent the data entity, the functions or service APIs of the business object corresponding to the data entity, and the edges in the metadata model graph are used to represent the relationships between the data entities in the relationship entity, the relationship between the data entity and the function of the business object, or the relationship between the data entity and the service API of the business object; The method further includes: Determining the function selected by the user when creating the data entity or the relationship entity; The generating a metadata model graph of an application based on the association information of the at least one data entity and the association information of the at least one relationship entity includes: Generating a metadata model graph of an application based on the association information of the at least one data entity, the association information of the at least one relationship entity, and the function selected by the user when creating the data entity or the relationship entity; Obtaining the syntax tree and annotations of the application according to the metadata model graph of the application; Generating the code of the application according to the syntax tree and the annotations.
2. The method according to claim 1, characterized in that, The method further includes: Presenting the metadata model graph to the user.
3. The method according to claim 2, wherein The method further includes: In response to a triggering operation on a node in the metadata model graph by the user, presenting the function or service API of the business object corresponding to the data entity to the user.
4. The method according to claim 2, wherein The method further includes: In response to a triggering operation on an edge in the metadata model graph by the user, presenting the relationships between data entities, the relationship between the data entity and the function, or the relationship between the data entity and the service API to the user.
5. The method according to claim 1, wherein The generating the code of the application according to the syntax tree and the annotations includes: Generating the physical tables, field indexes, and data relationships of the data layer of the application according to the physical table definitions in the syntax tree and the annotations of the data layer of the application; Generating the entity classes, data interface implementations, and field definitions of the logic layer of the application according to the data entities, association relationships, physical table definitions in the syntax tree, and the annotations of the logic layer of the application; Generating the basic pages, data operation APIs, and data transfer objects (DTOs) of the presentation layer of the application according to the data entities, association relationships, service APIs in the syntax tree, and the annotations of the presentation layer of the application.
6. The method according to claim 5, wherein The method further includes: Assemble and generate the business layer of the application according to the data operation API of the presentation layer.
7. The method according to any one of claims 1 to 6, characterized in that, The method further includes: Determine the resources required for deploying the application according to the function or service API. Assemble the resources required for the application according to the metadata model graph and the standard application template, and deploy the code of the application on the resources.
8. An application management system, characterized in that, The system includes: An interaction module, configured to receive the association information of at least one data entity configured by a user, where the association information of the data entity includes at least one of the function or service application programming interface (API) of the business object corresponding to the data entity and the attributes of the data entity. The interaction module is further configured to receive the association information of at least one relationship entity configured by the user, where the association information of the relationship entity includes at least one of the function or service API of the business object relationship corresponding to the relationship entity and the attributes of the relationship entity. A graph generation module, configured to generate a metadata model graph of the application according to the association information of the at least one data entity and the association information of the at least one relationship entity, where the metadata model graph of the application is used to assist in generating the code of the application, the nodes in the metadata model graph are used to represent the data entity, the function or service API of the business object corresponding to the data entity, and the edges in the metadata model graph are used to represent the relationship between the data entities in the relationship entity, the relationship between the data entity and the function of the business object, or the relationship between the data entity and the service API of the business object. The interaction module is further configured to: Determine the function selected by the user when creating the data entity or the relationship entity. Specifically, the graph generation module is configured to: Generate a metadata model graph of the application according to the association information of the at least one data entity, the association information of the at least one relationship entity, and the function selected by the user when creating the data entity or the relationship entity. The system further includes: A code generation module, configured to obtain the syntax tree and annotations of the application according to the metadata model graph of the application, and generate the code of the application according to the syntax tree and the annotations.
9. The system according to claim 8, characterized in that, The interaction module is further configured to: Present the metadata model graph to the user.
10. The system according to claim 9, wherein The interaction module is further configured to: In response to a trigger operation on a node in the metadata model graph by the user, present the function or service API of the business object corresponding to the data entity to the user.
11. The system according to claim 9, characterized in that, The interaction module is further configured to: In response to a trigger operation on an edge in the metadata model graph by the user, present the relationship between data entities, the relationship between the data entity and the function, or the relationship between the data entity and the service API.
12. The system according to claim 8, wherein Specifically, the code generation module is configured to: Generate the physical tables, field indexes, and data relationships of the data layer of the application according to the physical table definitions in the syntax tree and the annotations of the data layer of the application. Generate the entity classes, data interface implementations, and field definitions of the logic layer of the application according to the data entities, association relationships, physical table definitions in the syntax tree, and the annotations of the logic layer of the application. Generate the basic page, data operation API, and data transfer object DTO of the presentation layer of the application according to the data entities, association relationships, service APIs, and annotations of the presentation layer of the application.
13. The system according to claim 12, characterized in that, The code generation module is further configured to: Assemble and generate the business layer of the application according to the data operation API of the presentation layer.
14. The system according to any one of claims 8 to 13, characterized in that, The system further includes: A deployment module, configured to determine the resources required for deploying the application according to the function or service API, assemble the resources required for the application according to the metadata model map and the standard application template, and deploy the code of the application on the resources.
15. A cluster of computing devices, characterized in that, The computing device cluster includes at least one computing device, the at least one computing device includes at least one processor and at least one memory, and computer-readable instructions are stored in the at least one memory; the at least one processor executes the computer-readable instructions to cause the computing device cluster to execute the method according to any one of claims 1 to 7.
16. A computer-readable storage medium, characterized in that, Includes computer-readable instructions; the computer-readable instructions are used to implement the method according to any one of claims 1 to 7.
17. A computer program product, characterized in that, Includes computer-readable instructions; the computer-readable instructions are used to implement the method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Method for realizing data expansion
CN112115209A
Model framework code generation system and method
CN114625353A