A secondary development processing method and device for closed-source delivered software and a medium

By combining a metamodel engine with the standard APP model, the software delivery platform enables version upgrades of software products and the retention of customized secondary development content. This solves the problem of retaining customer-customized content during software product version upgrades, and improves development efficiency and the convenience of obtaining system information.

CN119166203BActive Publication Date: 2025-12-05GUANGZHOU SIE CONSULTING CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411292817.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-09-14
Publication Date
2025-12-05
Estimated Expiration
2044-09-14

AI Technical Summary

Technical Problem

During the version upgrade process of enterprise management software products, customers wish to retain customized secondary development content without affecting the version upgrade of the software product.

Method used

By adopting a meta-model engine combined with a standard APP, standard software products are provided in a closed-source manner on the software delivery platform. Functionality can be extended by creating and inheriting APPs to realize the customization of personalized needs.

Benefits of technology

While enabling software product version upgrades, it retained customized secondary development content for customers, reduced the cost of acquiring system information and development, and improved development efficiency and quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119166203B_ABST
    Figure CN119166203B_ABST
Patent Text Reader

Abstract

The application provides a secondary development processing method and device for closed-source software delivery and a medium, the method comprising the following steps: adopting a meta-model engine in combination with a mode of a standard APP to provide a standard software product in a closed source on a software delivery platform; the standard APP is an APP delivered to a customer enterprise in a closed source through the software delivery platform, and the APP refers to an application function module or an application capability module; obtaining individualized needs of an enterprise customer; newly creating a plurality of new APPs on the software delivery platform, and extending functions of the standard software product by using the plurality of new APPs according to the individualized needs to obtain individualized secondary development content customized by the standard software product. The application can realize the effects of upgrading a version of a software product and retaining individualized secondary development content customized by a customer in the software product.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and more particularly to a method, apparatus and medium for secondary development of closed-source delivery software. Background Technology

[0002] In the development of enterprise management software products, the software products are released in iterations. In this case, after the first version of the software product is released, it is pushed to the customer's enterprise for implementation and delivery. During the delivery process, the software product is often customized and further developed due to the customer's personalized requirements. When the second version of the software product is developed, many customers who used the first version of the software product want to upgrade to the second version, but also want to retain the customized personalized content in the software product.

[0003] Therefore, it is necessary to provide a solution that can both upgrade the version of the software product and retain the customized secondary development content customized by the customer in the software product. Summary of the Invention

[0004] This application provides a method, apparatus, and medium for secondary development of closed-source software to address the problems existing in related technologies. The technical solution is as follows:

[0005] In a first aspect, embodiments of this application provide a method for secondary development of closed-source delivered software, including:

[0006] The software delivery platform provides standard software products in a closed-source manner by adopting a meta-model engine combined with a standard APP. The standard APP is the APP delivered to the customer enterprise in a closed-source manner through the software delivery platform. The APP refers to the application function module or application capability module.

[0007] Obtain the personalized needs of the enterprise customers;

[0008] Several new apps are created on the software delivery platform. Based on the personalized requirements, the functions of the standard software product are extended using the several new apps to obtain customized secondary development content for the standard software product.

[0009] In one implementation, a meta-model engine combined with a standard app is used to provide standard software products in closed-source form on a software delivery platform, including:

[0010] The metamodel engine and the standard APP are deployed on the software delivery platform. The standard APP includes at least one basic capability APP and at least one business APP.

[0011] The meta-model engine is invoked to build standard functions on the software delivery platform based on several basic capability apps and several business apps, thereby obtaining the standard software product.

[0012] In one implementation, the standard software product is functionally extended using the aforementioned new apps based on the personalized requirements, resulting in personalized secondary development content for the standard software product, including:

[0013] Based on the personalized requirements, determine the primary target function needed by the enterprise customer;

[0014] Based on the first target function, at least one first target APP is selected from all APPs deployed on the software delivery platform;

[0015] By using class inheritance, the new apps inherit the fields, data views, and business logic of at least one first target app. Then, the new apps are installed on the software delivery platform to obtain the personalized secondary development content of the standard software product.

[0016] In one embodiment, the method further includes:

[0017] Based on the personalized requirements, determine the second target function needed by the enterprise customer;

[0018] Based on the second target function, at least one second target APP is selected from all APPs deployed on the software delivery platform;

[0019] By using class inheritance, the standard APP inherits the attributes and methods of at least one second target APP, thereby obtaining customized secondary development content for the standard software product.

[0020] In one embodiment, the method further includes:

[0021] The metamodel engine is invoked to parse the basic information and dependencies of all apps deployed on the software delivery platform, and to obtain the metamodel definitions and metamodel annotations within all apps.

[0022] The metamodel engine is invoked to read and transform the metamodel definition and the metamodel annotation to obtain the final running state data of all the apps;

[0023] The final state data is processed and organized to obtain and visualize statistical information on product lines, apps, models, interfaces, and documents in the environment instance.

[0024] In one implementation, the final state data is processed and organized to obtain and visualize statistical information on product lines, apps, models, interfaces, and documents within the environment instance, including:

[0025] The software delivery platform provides an APP-API documentation management tool;

[0026] The APP-API documentation management tool is called to organize and process the final running data to obtain statistical information on product lines, APPs, models, interfaces, and documentation under the environment instance;

[0027] The APP-API documentation management tool is invoked to graphically display statistical information on product lines, APPs, models, interfaces, and documentation within the specified environment instance.

[0028] In one implementation, the APP-API documentation management tool provides the following functional tools:

[0029] Homepage Tools: Used to display statistical information on product lines, apps, models, interfaces, and documentation within the environment instance;

[0030] APP Tools: Used to display the relationship graph of all APPs in the environment instance, and provide the function of querying specific information of each APP;

[0031] Model Management - Model Information Tool: Provides the ability to search for metamodels by product line, APP, and model name within an environment instance;

[0032] Model Management - MR Relationship Tool: Used to display the relationships and structure between all metamodels of data classes within an environment instance;

[0033] Model Management - Lineage Tool: Used to display the lineage order of behavioral methods in the inheritance and extension hierarchy of models within an environment instance;

[0034] API management tool: It provides the ability to search for interfaces by product line, APP, model, and interface name in the environment instance, as well as display the basic information of the interface, interface documentation, interface description, interface lineage, and interface debugging.

[0035] API Management - Documentation Tool: Used to automatically generate API documentation based on metamodel annotations and display the API documentation on the corresponding interface, keeping the API documentation synchronized with the code;

[0036] API Management - Interface Description Tool: Used to supplement the interface documentation with corresponding logic diagrams and related descriptions, and to extract the relevant content from the interface file and display it on the corresponding interface.

[0037] API Management - Interface Lineage Tool: Used to display the lineage diagram of API calls;

[0038] API Management - Interface Debugging Tool: Used to quickly debug API interfaces in the API documentation management system and display debugging information on the corresponding interface.

[0039] Secondly, embodiments of this application also provide a secondary development processing apparatus for closed-source delivery software, comprising:

[0040] The processing unit is used to provide standard software products in closed source on the software delivery platform using a meta-model engine combined with a standard APP; wherein, the standard APP is an APP delivered to the customer enterprise in closed source through the software delivery platform, and APP refers to an application function module or application capability module.

[0041] An extension unit is used to obtain the personalized needs of the enterprise customer; create several new apps on the software delivery platform; and extend the functionality of the standard software product using the several new apps according to the personalized needs to obtain customized secondary development content for the standard software product.

[0042] In one implementation, when the processing unit is used to provide a standard software product in closed-source mode on a software delivery platform using a metamodel engine combined with a standard APP, it is specifically used for:

[0043] The metamodel engine and the standard APP are deployed on the software delivery platform. The standard APP includes at least one basic capability APP and at least one business APP.

[0044] The meta-model engine is invoked to build standard functions on the software delivery platform based on several basic capability apps and several business apps, thereby obtaining the standard software product.

[0045] In one implementation, when the extension unit is used to extend the functionality of the standard software product using the plurality of new apps according to the personalized requirements, and to obtain the personalized secondary development content of the standard software product, it is specifically used for:

[0046] Based on the personalized requirements, determine the primary target function needed by the enterprise customer;

[0047] Based on the first target function, at least one first target APP is selected from all APPs deployed on the software delivery platform;

[0048] By using class inheritance, the new apps inherit the fields, data views, and business logic of at least one first target app. Then, the new apps are installed on the software delivery platform to obtain the personalized secondary development content of the standard software product.

[0049] In one embodiment, the expansion unit is further configured to:

[0050] Based on the personalized requirements, determine the second target function needed by the enterprise customer;

[0051] Based on the second target function, at least one second target APP is selected from all APPs deployed on the software delivery platform;

[0052] By using class inheritance, the standard APP inherits the attributes and methods of at least one second target APP, thereby obtaining customized secondary development content for the standard software product.

[0053] In one embodiment, the secondary development processing device for closed-source delivery software further includes a display unit, the display unit being used for:

[0054] The metamodel engine is invoked to parse the basic information and dependencies of all apps deployed on the software delivery platform, and to obtain the metamodel definitions and metamodel annotations within all apps.

[0055] The metamodel engine is invoked to read and transform the metamodel definition and the metamodel annotation to obtain the final running state data of all the apps;

[0056] The final state data is processed and organized to obtain and visualize statistical information on product lines, apps, models, interfaces, and documents in the environment instance.

[0057] In one implementation, when the display unit processes and organizes the final running data to obtain and visualize statistical information on product lines, apps, models, interfaces, and documents within the display environment instance, it is specifically used for:

[0058] The software delivery platform provides an APP-API documentation management tool;

[0059] The APP-API documentation management tool is called to organize and process the final running data to obtain statistical information on product lines, APPs, models, interfaces, and documentation under the environment instance;

[0060] The APP-API documentation management tool is invoked to graphically display statistical information on product lines, APPs, models, interfaces, and documentation within the specified environment instance.

[0061] In one implementation, the APP-API documentation management tool provides the following functional tools:

[0062] Homepage Tools: Used to display statistical information on product lines, apps, models, interfaces, and documentation within the environment instance;

[0063] APP Tools: Used to display the relationship graph of all APPs in the environment instance, and provide the function of querying specific information of each APP;

[0064] Model Management - Model Information Tool: Provides the ability to search for metamodels by product line, APP, and model name within an environment instance;

[0065] Model Management - MR Relationship Tool: Used to display the relationships and structure between all metamodels of data classes within an environment instance;

[0066] Model Management - Lineage Tool: Used to display the lineage order of behavioral methods in the inheritance and extension hierarchy of models within an environment instance;

[0067] API management tool: It provides the ability to search for interfaces by product line, APP, model, and interface name in the environment instance, as well as display the basic information of the interface, interface documentation, interface description, interface lineage, and interface debugging.

[0068] API Management - Documentation Tool: Used to automatically generate API documentation based on metamodel annotations and display the API documentation on the corresponding interface, keeping the API documentation synchronized with the code;

[0069] API Management - Interface Description Tool: Used to supplement the interface documentation with corresponding logic diagrams and related descriptions, and to extract the relevant content from the interface file and display it on the corresponding interface.

[0070] API Management - Interface Lineage Tool: Used to display the lineage diagram of API calls;

[0071] API Management - Interface Debugging Tool: Used to quickly debug API interfaces in the API documentation management system and display debugging information on the corresponding interface.

[0072] Thirdly, embodiments of this application also provide a computer device, which includes: a memory and a processor, wherein the memory stores instructions, the instructions are loaded and executed by the processor to implement the methods in any of the above embodiments, wherein the memory and the processor communicate with each other through an internal connection path.

[0073] Fourthly, embodiments of this application also provide a computer-readable storage medium storing a computer program that, when run on a computer, implements the methods in any of the above-described embodiments.

[0074] The advantages or beneficial effects of the above technical solutions include at least the following:

[0075] This application enables the upgrade of software product versions while retaining the customized secondary development content created by customers within the software product.

[0076] In addition, this application can also achieve the following effects:

[0077] (i) Real-time full view of all APPs, models, service information and the relationships between them in the system, thereby reducing the cost of information acquisition for product managers, designers, developers and other personnel when expanding the system functions.

[0078] (ii) It can quickly obtain examples of service calls, execution calls, and execution logs of the system's open services, thereby improving the development efficiency and quality of developers.

[0079] (iii) The delivery team can quickly identify business interfaces, execution chains, customizable extension points and various flexible extension methods without source code.

[0080] The above overview is for illustrative purposes only and is not intended to be limiting in any way. In addition to the illustrative aspects, embodiments, and features described above, further aspects, embodiments, and features of this application will become readily apparent from the accompanying drawings and the following detailed description. Attached Figure Description

[0081] In the accompanying drawings, unless otherwise specified, the same reference numerals throughout the various drawings denote the same or similar parts or elements. These drawings are not necessarily drawn to scale. It should be understood that these drawings depict only some embodiments disclosed in this application and should not be construed as limiting the scope of this application.

[0082] Figure 1 A flowchart illustrating a secondary development method for closed-source delivery software provided in this application embodiment;

[0083] Figure 2 An example diagram illustrating the deployment of a metamodel engine combined with a standard app, provided in an embodiment of this application;

[0084] Figure 3 An example diagram of metamodel inheritance provided in this application embodiment;

[0085] Figure 4 An example diagram of a metamodel extension provided in this application embodiment;

[0086] Figure 5 A flowchart illustrating another secondary development method for closed-source delivery software provided in this application embodiment;

[0087] Figure 6 An example diagram of the interface of a homepage tool provided in an embodiment of this application;

[0088] Figure 7 An example diagram of the interface of an APP tool provided in an embodiment of this application;

[0089] Figure 8 An example diagram of the interface of a model management-model information tool provided in an embodiment of this application;

[0090] Figure 9 An example diagram of an ER relationship provided for an embodiment of this application;

[0091] Figure 10 An example diagram illustrating a model of bloodline relationships provided in an embodiment of this application;

[0092] Figure 11 An example diagram of the interface of an API management tool provided in an embodiment of this application;

[0093] Figure 12 An example diagram illustrating the debugging process of an API management-interface debugging tool provided in this application embodiment;

[0094] Figure 13 An example diagram of a debugging request response for an API management-interface debugging tool provided in this application embodiment;

[0095] Figure 14 A structural block diagram of a secondary development processing device for closed-source delivery software provided in an embodiment of this application;

[0096] Figure 15 This is a structural block diagram of a computer device provided in an embodiment of this application. Detailed Implementation

[0097] In the following description, only certain exemplary embodiments are briefly described. As those skilled in the art will recognize, the described embodiments can be modified in various ways without departing from the spirit or scope of this application. Therefore, the drawings and description are considered to be exemplary in nature and not restrictive.

[0098] The various technical solutions provided in the embodiments of this application will be described in detail below with reference to the accompanying drawings.

[0099] Before introducing the embodiments of this application, some terms used in this application will be explained to facilitate understanding by those skilled in the art.

[0100] (1) Metamodel: Metamodels can be used to define common models. In this application, the metamodels are classified according to the development language, including the following metamodels: app metamodel, entity metamodel (Model), property metamodel (Property), service metamodel (Service), method metamodel (Method), event metamodel (Event), inheritance metamodel (Inherit), ER relation metamodel (One2Many, etc.), extension metamodel (ServiceExtension, ModelExtension), etc.

[0101] (2) Metamodel Engine: In this embodiment, the capabilities of the metamodel engine are abstractly summarized as "model definition" + "record set". The model definition is used to define model attributes and behaviors, and the record set is used for data access. The entire architecture of the metamodel engine is also based on the model definition and the record set, and the model definition and the record set can be extended independently. The metamodel engine parses the model definition, combines the entity metamodel Model with other metamodels to form ModelMeta, and uses ModelMeta to provide model service capabilities. The ability to define the model is provided through modeling tools and SDK. The parsing and logical calls after the definition are implemented in the metamodel engine. The metamodel engine adopts a declaration + runtime dynamic combination method, which breaks through the limitations of Java inheritance and extension syntax. It can declare model extensions in multiple Java classes and realize vertical multi-inheritance extension + horizontal combination extension of the model by reconstructing the model inheritance chain.

[0102] (3) APP: refers to application function modules or capability modules. In the embodiments of this application, it is defined as the smallest delivery unit, which may be as small as a single business model or as large as covering the entire delivery system. APPs are generally divided into four categories: platform general APPs, product general APPs, industry general APPs, and differentiated customized APPs, with the scope of reuse gradually decreasing. On this basis, based on the goal that all APPs are incremental extensions of existing APPs to enhance capabilities and differentiate customization, thereby maximizing the on-demand installation of APPs and the compatibility upgrade of general APP versions, each product can be set to be extended in the form of an app. For example, assuming that HR APPs are provided for 100 companies, each company may have slight differences, but there are always some common points. Then, the common functional points of several APPs can be extracted to form a business general base APP, and the different functional points can be formed into customized extensive APPs. Based on the base APP and these extensive APPs, different service capabilities can be dynamically and freely combined to provide different services to each company. Moreover, this extension and integration can achieve code-level decoupling, which is different from the traditional code logic dependency, making application extension and upgrade more flexible and efficient.

[0103] The following will combine Figures 1 to 13 The secondary development processing method for closed-source delivery software provided in the embodiments of this application is described in detail.

[0104] Figure 1 A flowchart illustrating a secondary development process method for closed-source software delivery according to an embodiment of this application is shown. Figure 1 As shown, the method may include the following steps:

[0105] S110 adopts a meta-model engine combined with a standard APP model to provide standard software products in a closed-source manner on the software delivery platform.

[0106] In one implementation, the standard app can be an app delivered to a customer enterprise in a closed-source manner through a software delivery platform.

[0107] In one embodiment, the implementation process of step S110 may include the following steps:

[0108] S111. Deploy the metamodel engine and standard APP on the software delivery platform.

[0109] In one implementation, combined with Figure 1 and Figure 2 As shown, the standard APP may include, but is not limited to: at least one basic capability APP and at least one business APP.

[0110] As an example, both basic capability apps and business apps can be categorized into built-in apps and non-built-in apps. Built-in basic capability apps and built-in business apps can be deployed on the software delivery platform along with the metamodel engine. Non-built-in basic capability apps and non-built-in business apps can be deployed on the software delivery platform by uploading and installing them in the platform's application marketplace.

[0111] S112. Call the metamodel engine to build standard functions on the software delivery platform based on several basic capability apps and several business apps, and obtain a standard software product.

[0112] As an example, according to the functional requirements of a standard software product, the metamodel engine can be invoked to select the corresponding basic capability APP and the corresponding business APP based on the functional requirements, and the standard functions can be built on the software delivery platform to obtain a standard software product.

[0113] In this embodiment of the application, by performing step S110, standard software products can be provided to customer enterprises for closed-source delivery.

[0114] S120: Obtain the personalized needs of enterprise customers.

[0115] In one implementation, after delivering a standard software product to an enterprise customer, if the enterprise customer needs to customize some functions of the standard software product according to their needs, they can input their personalized requirements through the software delivery platform.

[0116] In one implementation, personalized secondary development content customized for a standard software product can be obtained by adopting one of the following two methods according to the personalized requirements.

[0117] The first method:

[0118] S130. Create several new apps on the software delivery platform, and expand the functions of the standard software product using these new apps according to personalized needs, to obtain customized secondary development content for the standard software product.

[0119] In one implementation, the process of step S130 may include the following steps:

[0120] S131. Create several new apps on the software delivery platform.

[0121] S132. Based on this personalized requirement, determine the primary target function required by the enterprise customer.

[0122] S133. Based on the first target function, select at least one first target APP from all APPs deployed on the software delivery platform.

[0123] S134. Using class inheritance, control several new apps to inherit the fields, data views, and business logic of at least one first target app. Then, install several new apps on the software delivery platform to obtain the personalized secondary development content of the standard software product.

[0124] The first approach uses a metamodel inheritance mechanism to extend the functionality of standard software products. This can be understood as developers creating several new applications (i.e., new models) on the software delivery platform using class inheritance. By inheriting the fields, data views, and business logic of the corresponding applications (existing models) already deployed on the software delivery platform, the functionality of the standard software product can be extended.

[0125] In other words, the inheritance method of the metamodel inheritance mechanism provided in this application embodiment is different from class inheritance in traditional programming languages, such as... Figure 3 As shown, it allows the creation of new child models that inherit the properties and behaviors of the parent model. See Odoo's concept of prototype inheritance for reference.

[0126] In this embodiment of the application, by executing step S130, that is, by adopting the first method, the new APP can inherit the standard APP to obtain the personalized secondary development content customized for the standard software product.

[0127] The second method:

[0128] 140. Based on this personalized requirement, identify the second target function required by the enterprise customer.

[0129] 150. Based on the second objective function, select at least one second objective APP from all APPs deployed on the software delivery platform.

[0130] 160. By using class inheritance, the standard APP inherits at least one attribute and method from the second target APP, thereby obtaining customized secondary development content for the standard software product.

[0131] The second approach involves using a meta-model extension mechanism to extend the functionality of standard software products. This can be understood as allowing developers to extend the functionality or attributes of a standard app (i.e., the original model) without modifying it, thus enabling functional extensions of the standard software product.

[0132] In other words, such as Figure 4As shown, the metamodel extension mechanism provided in this application does not create new models, but rather extends existing models and inherits the attributes and methods of one or more existing models. Refer to Odoo's concept of class inheritance.

[0133] In this embodiment of the application, by executing steps S140-S160, that is, by adopting the second method, the standard APP can be extended to obtain the customized secondary development content of the standard software product.

[0134] In summary, in this embodiment of the application, regardless of whether it is the first or the second method described above, any standard APP can be extended in function by multiple APPs. It can be understood that in this embodiment of the application, the functional version of the standard software product is extended by combining a base APP (i.e., the standard APP) with multiple extensive APPs (i.e., multiple APPs), without directly modifying the code of the already launched APP, but rather by upgrading or downgrading the APP through installing or uninstalling the extensive APPs.

[0135] In other words, the secondary development processing method for closed-source delivery software provided in this application embodiment does not require modification of the source code of the standard APP. The version iteration of the standard APP only needs to consider its own version compatibility and does not need to pay attention to the impact of external secondary development content. It can achieve reuse to the greatest extent. After the standard APP is upgraded, the secondary development content of the standard APP can still be used.

[0136] The secondary development processing method for closed-source software provided in this application embodiment can achieve the effect of both upgrading the version of the software product and retaining the personalized secondary development content customized by the customer in the software product.

[0137] In the aforementioned secondary development model that inherits and extends closed-source software, the correct acquisition of secondary development content has a crucial impact on the efficiency of subsequent secondary and tertiary development.

[0138] Based on this, in an applicable scenario provided in this application, in order to improve the efficiency of further development of standard software products, combined with... Figure 1-5 As shown in the embodiments of this application, the secondary development processing method for closed-source delivery software may further include the following steps:

[0139] S170: Call the metamodel engine to parse the basic information and dependencies of all apps deployed on the software delivery platform, and obtain the metamodel definitions and metamodel annotations within all apps.

[0140] In one implementation, the metamodel engine can be configured to automatically parse the basic information and dependencies of all apps deployed on the software delivery platform upon startup.

[0141] S180. Call the metamodel engine to read and transform the metamodel definition and metamodel annotation to obtain the final running state data of all apps.

[0142] As an example, the metamodel engine reads and transforms all metamodel definitions and annotations within an app, which can be divided into three stages. The first stage builds each metamodel; the second stage calculates the relationships between metamodels; and the third stage calculates inheritance and extension relationships to obtain the final runtime data for all apps. This final runtime data is stored in memory objects by the metamodel engine. Program calls retrieve the execution body from this final runtime data through the metamodel engine, using it to obtain the model and its lineage, services and their lineage, and the input and output parameters of the service.

[0143] As an example, in the above process, the annotations of the Service will also be extracted and bound to the final state data. For example, the usage instructions of the input parameters of the Service metamodel will be extracted together with the input parameters.

[0144] In this embodiment of the application, by executing steps S170 and S180, the metamodel engine can be invoked to parse the metamodel definitions and metamodel annotations of all apps deployed on the software delivery platform to provide data for generating code self-description.

[0145] S190. Process and organize the final state data to obtain and visualize the statistical information of product lines, apps, models, interfaces, and documents in the environment instance.

[0146] In one implementation, the process of step S190 may include the following steps:

[0147] S191. Provide an APP-API document management tool on the software delivery platform.

[0148] In one implementation, the APP-API documentation management tool can provide, but is not limited to, the following functional tools:

[0149] (1) Homepage Tool: Used to display statistical information of product lines, apps, models, interfaces, and documents in the environment instance. Among them, the homepage function can also dynamically update the statistical information in real time according to the app installation / uninstallation status on the software delivery platform to provide reliable statistical information.

[0150] For example, the interface of the homepage tool can be as follows: Figure 6 As shown.

[0151] (2) APP tool: Used to display the relationship graph of all APPs in the environment instance, and provide the function of querying the specific information of each APP. Among them, the APP function can also dynamically update the relationship graph in real time according to the installation / uninstallation status of APPs on the software delivery platform.

[0152] For example, the interface of an APP tool can be as follows: Figure 7 As shown.

[0153] (3) Model Management - Model Information Tool: This tool provides the ability to search for meta-models by product line, APP, model name, etc. in the environment instance. The Model Management - Model Information function can also display the query results in a list and provide detailed information on the corresponding meta-model by entering the query result list. The detailed information will show the lineage of the corresponding meta-model (i.e., the inheritance line of the corresponding model and the extension line on the inheritance line).

[0154] For example, the interface of the model management - model information tool can be as follows: Figure 8 As shown.

[0155] (4) Model Management - MR Relationship Tool: Used to display the relationships and structure between all metamodels of data classes in an environment instance, including ER relationships (i.e., relationships between entities, attributes, and entities).

[0156] For example, an ER relationship can be as follows: Figure 9 As shown.

[0157] (5) Model Management - Lineage Tool: This tool is used to display the lineage order of behavioral methods in the model inheritance and extension hierarchy under the environment instance. That is, when a method is called on a metamodel, the Model Management - Lineage tool can be used to call the interpreter in which metamodels the method is called in sequence and to display the calling order.

[0158] For example, the model of blood relations can be as follows: Figure 10 As shown.

[0159] (6) API Management Tool: This tool provides the ability to search for interfaces by product line, APP, model, and interface name in an environment instance, as well as to display basic information, documentation, description, lineage, and debug interfaces.

[0160] For example, the interface of an API management tool can be as follows: Figure 11 As shown.

[0161] (7) API Management - Documentation Tool: This tool is used to automatically generate API documentation based on metamodel annotations and display the API documentation on the corresponding interface, keeping the API documentation synchronized with the code. This corresponding interface can be the API Management - Documentation Tool interface.

[0162] (8) API Management - Interface Description Tool: This tool is used to supplement the interface documentation with corresponding logic diagrams and related descriptions, and to retrieve the relevant content from the interface file and display it on the corresponding interface. For example, if the interface documentation has supplementary explanatory content, a file address can be annotated, and then complex logic diagrams and related descriptions can be manually added to the interface documentation based on that file address. This corresponding interface can be the interface of the API Management - Interface Description Tool.

[0163] (9) API Management - Interface Lineage Tool: This tool displays the lineage diagram of interface calls. Through this API Management - Interface Lineage Tool, developers can understand the call relationships between various interfaces, enabling them to more accurately locate problems and understand the system's operating logic when expanding and maintaining the functionality of standard software products.

[0164] (10) API Management - Interface Debugging Tool: Used to quickly debug API interfaces in the API documentation management system and display debugging information on the corresponding interface. For example, it can automatically generate request bodies and headers based on the input parameters and global parameter configurations of the API Management - documentation, process API requests and responses, send requests and receive response data. Each request needs to save the request parameters, request headers, response bodies, and response headers to a record table and display them on the interface. Through the API Management - Interface Debugging Tool, it is easy to verify whether the interface is working properly and quickly locate and solve problems.

[0165] For example, the API Management - Interface Debugging Tool debug request and response can be respectively as follows: Figure 12 and Figure 13 As shown.

[0166] S192. Call the APP-API documentation management tool to organize and process the final running data to obtain statistical information on product lines, APPs, models, interfaces, and documentation under the environment instance.

[0167] S193. Call the APP-API documentation management tool to graphically display statistical information of product lines, APPs, models, interfaces, and documentation in the environment instance.

[0168] In step S190, the metamodel engine can be invoked to scan the APP store, model metadata, and service annotations of the specific environment to collect data such as APP and APP lineage, model and model lineage, and service and service lineage. Then, the APP-API document management tool can be invoked to collect and display the data scanned by the metamodel engine.

[0169] In this embodiment of the application, by executing steps S170-S190, code self-description can be achieved using JAVA code annotations and product development specifications. This can help product managers, designers, developers, operations and maintenance personnel and other relevant personnel of software projects to quickly and accurately obtain the final running information of a standard software product and its secondary development content in a set environment, so as to improve the efficiency of further secondary development of standard software products.

[0170] As can be seen from the above description, the secondary development processing method for closed-source delivery software provided in this application embodiment can achieve the effect of both upgrading the version of the software product and retaining the personalized secondary development content customized by the customer in the software product.

[0171] Furthermore, the secondary development processing method for closed-source delivery software provided in this application embodiment can also achieve the following effects:

[0172] (i) Real-time full view of all APPs, models, service information and the relationships between them in the system, thereby reducing the cost of information acquisition for product managers, designers, developers and other personnel when expanding the system functions.

[0173] (ii) It can quickly obtain examples of service calls, execution calls, and execution logs of the system's open services, thereby improving the development efficiency and quality of developers.

[0174] (iii) The delivery team can quickly identify business interfaces, execution chains, customizable extension points and various flexible extension methods without source code.

[0175] Figure 14 This diagram illustrates a structural block diagram of a secondary development processing apparatus for closed-source software delivery according to an embodiment of this application. Figure 14 As shown, the device may include:

[0176] Processing unit 210 is used to provide standard software products in closed source on the software delivery platform using a meta-model engine combined with a standard APP; wherein, the standard APP is an APP delivered to the customer enterprise in closed source through the software delivery platform, and APP refers to application function module or application capability module.

[0177] The extension unit 220 is used to obtain the personalized needs of enterprise customers; to create several new APPs on the software delivery platform, and to extend the functions of the standard software product according to the personalized needs, thereby obtaining the personalized secondary development content customized for the standard software product.

[0178] In one implementation, when the processing unit 210 is used to provide a standard software product in closed-source mode on a software delivery platform using a metamodel engine combined with a standard APP, it is specifically used for:

[0179] Deploy a metamodel engine and standard apps on the software delivery platform. The standard apps include at least one basic capability app and at least one business app.

[0180] The metamodel engine is invoked to build standard functions on the software delivery platform based on several basic capability apps and several business apps, resulting in a standard software product.

[0181] In one implementation, when the extension unit 220 is used to extend the functionality of a standard software product using several new apps according to personalized needs, thereby obtaining personalized secondary development content for the standard software product, it is specifically used for:

[0182] Based on individual needs, identify the primary target functions required by enterprise clients;

[0183] Based on the primary objective function, select at least one primary objective app from all apps already deployed on the software delivery platform;

[0184] By using class inheritance, several new apps inherit the fields, data views, and business logic of at least one primary target app. Then, several new apps are installed on the software delivery platform to obtain the customized secondary development content of the standard software product.

[0185] In one embodiment, the expansion unit 220 is further configured to:

[0186] Based on individual needs, identify the secondary target functions required by enterprise clients;

[0187] Based on the second target function, select at least one second target APP from all APPs deployed on the software delivery platform;

[0188] By using class inheritance, the standard APP inherits at least one attribute and method from the second target APP, thus obtaining customized secondary development content for the standard software product.

[0189] In one embodiment, the secondary development processing apparatus for closed-source delivery software further includes a display unit 230, which is used for:

[0190] The metamodel engine is invoked to parse the basic information and dependencies of all apps deployed on the software delivery platform, and to obtain the metamodel definitions and metamodel annotations within all apps.

[0191] The metamodel engine is invoked to read and transform the metamodel definitions and metamodel annotations to obtain the final runtime data of all apps.

[0192] The final state data is processed and organized to obtain and visualize statistical information on product lines, apps, models, interfaces, and documents in the environment instance.

[0193] In one implementation, when the display unit 230 processes and organizes the final running data to obtain and visualize statistical information on product lines, apps, models, interfaces, and documents within the display environment instance, it is specifically used for:

[0194] Provide an APP-API documentation management tool on the software delivery platform;

[0195] The APP-API documentation management tool is used to organize and process the final state data to obtain statistical information on product lines, APPs, models, interfaces, and documentation under the environment instance;

[0196] The APP-API documentation management tool is used to graphically display statistical information about product lines, apps, models, interfaces, and documentation within an environment instance.

[0197] In one implementation, the APP-API documentation management tool provides the following functional tools:

[0198] Homepage Tools: Used to display statistical information on product lines, apps, models, interfaces, and documentation within the environment instance;

[0199] APP Tools: Used to display the relationship graph of all APPs in the environment instance, and provide the function of querying specific information of each APP;

[0200] Model Management - Model Information Tool: Provides the ability to search for metamodels by product line, APP, and model name within an environment instance;

[0201] Model Management - MR Relationship Tool: Used to display the relationships and structure between all metamodels of data classes within an environment instance;

[0202] Model Management - Lineage Tool: Used to display the lineage order of behavioral methods in the inheritance and extension hierarchy of models within an environment instance;

[0203] API management tool: It provides the ability to search for interfaces by product line, APP, model, and interface name in the environment instance, as well as display the basic information of the interface, interface documentation, interface description, interface lineage, and interface debugging.

[0204] API Management - Documentation Tool: Used to automatically generate API documentation based on metamodel annotations and display the API documentation on the corresponding interface, keeping the API documentation synchronized with the code;

[0205] API Management - Interface Description Tool: Used to supplement the interface documentation with corresponding logic diagrams and related descriptions, and to extract the relevant content from the interface file and display it on the corresponding interface.

[0206] API Management - Interface Lineage Tool: Used to display the lineage diagram of API calls;

[0207] API Management - Interface Debugging Tool: Used to quickly debug API interfaces in the API documentation management system and display debugging information on the corresponding interface.

[0208] The functions of each unit in the secondary development processing apparatus for closed-source delivery software in this application embodiment can be found in the corresponding description in the above method, and will not be repeated here.

[0209] Figure 15 A structural block diagram of a computer device according to an embodiment of this application is shown. Figure 15 As shown, the computer device includes a memory 310 and a processor 320. The memory 310 stores instructions, which are loaded and executed by the processor 320 to implement the secondary development processing method for closed-source delivery software described in the above embodiments. The number of memories 310 and processors 320 can be one or more.

[0210] The computer device also includes:

[0211] The communication interface 330 is used to communicate with external devices and perform data exchange and transmission.

[0212] If the memory 310, processor 320, and communication interface 330 are implemented independently, they can be interconnected via a bus to communicate with each other. This bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. This bus can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 15 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.

[0213] Optionally, in a specific implementation, if the memory 310, processor 320 and communication interface 330 are integrated on a single chip, the memory 310, processor 320 and communication interface 330 can communicate with each other through an internal interface.

[0214] This application provides a computer-readable storage medium storing a computer program. When the computer program is run on a computer, it implements the method provided in this application.

[0215] This application also provides a chip, which includes a processor for calling and executing instructions stored in a memory, causing a communication device with the chip installed to perform the method provided in this application.

[0216] This application also provides a chip, including: an input interface, an output interface, a processor, and a memory. The input interface, output interface, processor, and memory are connected through an internal connection path. The processor is used to execute code in the memory. When the code is executed, the processor is used to execute the method provided in the application embodiment.

[0217] It should be understood that the aforementioned processor can be a Central Processing Unit (CPU), or other general-purpose processors, Digital Signal Processors (DSPs), Application Specific Integrated Circuits (ASICs), Field-Programmable Gate Arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. General-purpose processors can be microprocessors or any conventional processor. It is worth noting that the processor can be a processor supporting Advanced Reduced Instruction Set Machines (ARM) architecture.

[0218] Further, optionally, the aforementioned memory may include read-only memory and random access memory, and may also include non-volatile random access memory. The memory may be volatile or non-volatile, or may include both. Non-volatile memory may include read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory may include random access memory (RAM), which serves as an external cache. Many forms of RAM are available by way of example, but not limitation. Examples include static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM).

[0219] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product. A computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the flow or function according to this application is generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transferred from one computer-readable storage medium to another.

[0220] In the description of this specification, the references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of this application. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples. Moreover, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this specification, as well as the features of those different embodiments or examples.

[0221] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this application, "a plurality of" means two or more, unless otherwise explicitly specified.

[0222] Any process or method description in the flowchart or otherwise herein can be understood as representing a module, segment, or portion of code comprising one or more executable instructions for implementing a particular logical function or process. Furthermore, the scope of the preferred embodiments of this application includes additional implementations in which functions may be performed not in the order shown or discussed, including substantially simultaneously or in reverse order depending on the functionality involved.

[0223] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as a sequenced list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus or device (such as a computer-based system, a processor-included system or other system that can fetch and execute instructions from, an instruction execution system, apparatus or device).

[0224] It should be understood that various parts of this application can be implemented using hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented using software or firmware stored in memory and executed by a suitable instruction execution system. All or part of the steps of the methods in the above embodiments can be implemented by a program instructing related hardware, the program being stored in a computer-readable storage medium, which, when executed, includes one or a combination of the steps of the method embodiments.

[0225] Furthermore, the functional units in the various embodiments of this application can be integrated into a processing module, or each unit can exist physically separately, or two or more units can be integrated into a module. The integrated module can be implemented in hardware or as a software functional module. If the integrated module is implemented as a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. This storage medium can be a read-only memory, a disk, or an optical disk, etc.

[0226] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any person skilled in the art can easily conceive of various variations or substitutions within the technical scope disclosed in this application, and these should all be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A method for secondary development of closed-source software, characterized in that, include: This approach combines a metamodel engine with a standard application (APP) to provide closed-source standard software products on a software delivery platform. The standard APP is an application delivered to the client through the platform. The APP refers to an application function module or application capability module. The entire architecture of the metamodel engine is based on model definitions and record sets. The model definition defines model attributes and behaviors, while the record set is used for data access. The metamodel engine parses the model definition, aggregating entity metamodels (Model) with other metamodels to form a ModelMeta. ModelMeta is used uniformly to provide model service capabilities and model definition capabilities through modeling tools and SDKs. Parsing and logical calls after definition are implemented within the metamodel engine. The metamodel engine uses a declaration + runtime dynamic composition approach, declaring model extensions in multiple Java classes and reconstructing the model inheritance chain to achieve vertical multi-inheritance extension and horizontal compositional extension of the model. Obtain the personalized needs of the client company; Several new apps are created on the software delivery platform. Based on the personalized requirements, the functions of the standard software product are extended using the several new apps to obtain customized secondary development content for the standard software product. The method further includes: Based on the personalized requirements, determine the second target function needed by the client company; Based on the second target function, at least one second target APP is selected from all APPs deployed on the software delivery platform; By using class inheritance, without modifying the standard APP, the standard APP is controlled to inherit the attributes and methods of at least one second target APP, thereby obtaining the customized secondary development content of the standard software product. The method further includes: The metamodel engine is invoked to parse the basic information and dependencies of all apps deployed on the software delivery platform, and to obtain the metamodel definitions and metamodel annotations within all apps. The metamodel engine is invoked to read and transform the metamodel definitions and metamodel annotations to obtain the final runtime data of all apps. This process is executed in three stages: the first stage is to construct each metamodel, the second stage is to calculate the relationships between metamodels, and the third stage is to calculate inheritance and extension relationships to obtain the final runtime data of all apps. The final runtime data is stored in a memory object by the metamodel engine. All program calls obtain the execution body from the final runtime data through the metamodel engine. Based on this, the model and model lineage, service and service lineage, and the input and output parameters of the service can be obtained. The software delivery platform provides an APP-API documentation management tool, which is used to display the relationships and structure between all metamodels of data classes under the environment instance, to display the lineage order of behavioral methods in the model inheritance and extension relationship hierarchy under the environment instance, and to display the lineage diagram of interface calls.

2. The method according to claim 1, characterized in that, By employing a meta-model engine combined with a standard application, standard software products are provided in closed-source form on the software delivery platform, including: The metamodel engine and the standard APP are deployed on the software delivery platform. The standard APP includes at least one basic capability APP and at least one business APP. The meta-model engine is invoked to build standard functions on the software delivery platform based on several basic capability apps and several business apps, thereby obtaining the standard software product.

3. The method according to claim 1, characterized in that, Based on the aforementioned personalized requirements, the standard software product is functionally extended using the aforementioned new apps, resulting in personalized secondary development content for the standard software product, including: Based on the personalized requirements, determine the primary target function needed by the client company; Based on the first target function, at least one first target APP is selected from all APPs deployed on the software delivery platform; By using class inheritance, the new apps inherit the fields, data views, and business logic of at least one first target app. Then, the new apps are installed on the software delivery platform to obtain the personalized secondary development content of the standard software product.

4. The method according to any one of claims 1-3, characterized in that, The method further includes: The APP-API documentation management tool is called to organize and process the final running data to obtain statistical information on product lines, APPs, models, interfaces, and documentation under the environment instance; The APP-API documentation management tool is invoked to graphically display statistical information on product lines, APPs, models, interfaces, and documentation within the specified environment instance.

5. The method according to claim 4, characterized in that, The APP-API documentation management tool provides the following functional tools: Homepage Tools: Used to display statistical information on product lines, apps, models, interfaces, and documentation within the environment instance; APP Tools: Used to display the relationship graph of all APPs in the environment instance, and provide the function of querying specific information of each APP; Model Management - Model Information Tool: Provides the ability to search for metamodels by product line, APP, and model name within an environment instance; Model Management - MR Relationship Tool: Used to display the relationships and structure between all metamodels of data classes within an environment instance; Model Management - Lineage Tool: Used to display the lineage order of behavioral methods in the inheritance and extension hierarchy of models within an environment instance; API management tool: It provides the ability to search for interfaces by product line, APP, model, and interface name in the environment instance, as well as display the basic information of the interface, interface documentation, interface description, interface lineage, and interface debugging. API Management - Documentation Tool: Used to automatically generate API documentation based on metamodel annotations and display the API documentation on the corresponding interface, keeping the API documentation synchronized with the code; API Management - Interface Description Tool: Used to supplement the interface documentation with corresponding logic diagrams and related descriptions, and to extract the relevant content from the interface file and display it on the corresponding interface. API Management - Interface Lineage Tool: Used to display the lineage diagram of API calls; API Management - Interface Debugging Tool: Used to quickly debug API interfaces in the API documentation management system and display debugging information on the corresponding interface.

6. A secondary development processing device for closed-source software, characterized in that, include: The processing unit is used to provide standard software products in closed source on the software delivery platform using a metamodel engine combined with a standard APP. The standard APP is an APP delivered to the customer enterprise in closed source through the software delivery platform. The APP refers to an application function module or application capability module. The entire architecture of the metamodel engine is based on model definitions and record sets. The model definition is used to define model attributes and behaviors, and the record set is used for data access. The metamodel engine parses the model definition, aggregates the entity metamodel (Model) with other metamodels to form a ModelMeta, and uses ModelMeta to provide model service capabilities and model definition capabilities through modeling tools and SDKs. Parsing and logical calls after definition are implemented in the metamodel engine. The metamodel engine adopts a declaration + runtime dynamic composition approach, declaring model extensions in multiple Java classes and reconstructing the model inheritance chain to achieve vertical multi-inheritance extension and horizontal compositional extension of the model. An extension unit is used to obtain the personalized needs of the customer enterprise; create several new apps on the software delivery platform; and extend the functions of the standard software product using the several new apps according to the personalized needs to obtain customized secondary development content of the standard software product. The extension unit is further configured to determine the second target function required by the customer enterprise based on the personalized requirements; select at least one second target APP from all APPs deployed on the software delivery platform based on the second target function; and control the standard APP to inherit the attributes and methods of the at least one second target APP by means of class inheritance without modifying the standard APP, thereby obtaining the personalized secondary development content customized for the standard software product. The demonstration unit invokes the metamodel engine to parse the basic information and dependencies of all apps deployed on the software delivery platform, obtaining the metamodel definitions and annotations within all apps. It then invokes the metamodel engine to read and transform the metamodel definitions and annotations to obtain the final runtime data of all apps. This process is executed in three stages: the first stage constructs each metamodel; the second stage calculates the relationships between metamodels; and the third stage calculates inheritance and extension relationships to obtain the final runtime data of all apps. This final runtime data is stored in a memory object by the metamodel engine. Program calls retrieve the execution body from this final runtime data through the metamodel engine, providing a basis for obtaining models and their lineages, services and their lineages, and the input and output parameters of services. The software delivery platform provides an APP-API documentation management tool, which displays the relationships and structures between all metamodels of data classes within an environment instance, the lineage order of behavioral methods in the model inheritance and extension hierarchy within the environment instance, and the lineage diagram of interface calls.

7. A computer device, characterized in that, include: A memory and a processor, wherein the memory stores instructions which are loaded and executed by the processor to implement the method as described in any one of claims 1-5.

8. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when run on a computer, implements the method as described in any one of claims 1-5.