Secondary development processing method and device for closed source delivery software and medium
The method uses a metamodel engine with standard APPs to upgrade software versions while retaining personalized content, enhancing development efficiency and flexibility by inheriting or extending functions, and providing real-time system insights.
Patent Information
- Application Number
- CN202411292817.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-14
- Publication Date
- 2024-12-20
- Estimated Expiration
- 2044-09-14
AI Technical Summary
Existing software development methods struggle to upgrade software versions while retaining customer-specific personalized content, leading to inefficiencies in software delivery and customization.
A method involving a metamodel engine combined with standard APPs to provide a closed-source software delivery platform, enabling the creation of new APPs that inherit or extend existing functions to meet customer needs, along with tools for real-time data visualization and management.
Enables seamless software version upgrades while preserving customer-specific content, improving development efficiency and reducing information retrieval costs through real-time system display and flexible extension methods.
Smart Images

Figure CN119166203A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a secondary development processing method, device and medium for closed-source delivery software. Background Art
[0002] During the development of enterprise management software products, the software products will be released in versions. In this case, after the first version of the software product is released, it will be pushed to the customer enterprise for implementation and delivery. During the delivery process, the software product is often customized for secondary development due to the customer's personalized requirements. When the second version of the software product is developed, many customers who use the first version of the software product hope to upgrade the software product to the second version, but they also want to keep the customized personalized secondary content in the software product.
[0003] Therefore, it is necessary to provide a solution that can achieve both upgrading the version of a software product and retaining the personalized second-open content customized by the customer in the software product. Summary of the invention
[0004] The embodiment of the present application provides a secondary development processing method, device and medium for closed-source delivery software to solve the problems existing in the related technology. The technical solution is as follows: In a first aspect, an embodiment of the present application provides a secondary development processing method for closed-source delivery software, including: A metamodel engine is combined with a standard APP to provide a standard software product in a closed-source manner on a software delivery platform; wherein the standard APP is an APP delivered to a customer enterprise in a closed-source manner through the software delivery platform, and the APP refers to an application function module or an application capability module; Obtaining personalized needs of the enterprise customers; A number of new APPs are newly created on the software delivery platform, and the functions of the standard software products are expanded using the new APPs according to the personalized needs, so as to obtain personalized second-opening content customized for the standard software products.
[0005] In one embodiment, a metamodel engine is combined with a standard APP mode to provide a standard software product in a closed source manner on a software delivery platform, including: Deploy the metamodel engine and the standard APP on the software delivery platform, wherein the standard APP includes at least one basic capability APP and at least one business APP; The metamodel engine is called to build standard functions on the software delivery platform according to a number of the basic capability APPs and a number of the business APPs to obtain the standard software product.
[0006] In one implementation, the plurality of new APPs are used to expand the functions of the standard software product according to the personalized needs, and the personalized second opening content of the standard software product includes: Determining the first target function required by the enterprise customer according to the personalized needs; According to the first target function, selecting at least one first target APP from all APPs deployed on the software delivery platform; By adopting the class inheritance method, the several new APPs are controlled to inherit the fields, data views, and business logic of the at least one first target APP, and then the several new APPs are installed on the software delivery platform to obtain the personalized second-opening content of the standard software product.
[0007] In one embodiment, the method further comprises: Determining a second target function required by the enterprise customer according to the personalized needs; According to the second target function, selecting at least one second target APP from all APPs deployed on the software delivery platform; By adopting the class inheritance method, the standard APP is controlled to inherit the at least one second target APP attribute and method, so as to obtain the personalized second opening content customized for the standard software product.
[0008] In one embodiment, the method further comprises: Calling the metamodel engine to parse the basic information and dependencies of all APPs deployed on the software delivery platform, and obtaining metamodel definitions and metamodel annotations in all APPs; Calling the metamodel engine to read and convert the metamodel definition and the metamodel annotation to obtain the final running state data of all the APPs; The final operation state data is sorted and processed to obtain and visualize the statistical information of the product line, APP, model, interface, and document under the environment instance.
[0009] In one implementation, the final operation data is collated and processed to obtain and visualize statistical information of product lines, apps, models, interfaces, and documents in an environment instance, including: Providing an APP-API document management tool on the software delivery platform; Call the APP-API document management tool to sort and process the final operation data to obtain statistical information of product lines, APPs, models, interfaces, and documents under the environment instance; The APP-API document management tool is called to graphically display the statistical information of the product line, APP, model, interface, and document under the environment instance.
[0010] In one embodiment, the APP-API document management tool provides the following functional tools: Homepage tool: used to display statistical information of product lines, apps, models, interfaces, and documents under the environment instance; APP tool: used to display the relationship map of all APPs in the environment instance, and provide the function of querying the specific information of each APP; Model Management-Model Information Tool: It is used to provide the function of searching meta-models by product line, APP, and model name in the environment instance; Model Management - MR Relationship Tool: used to display the relationships and structures between all metamodels of data classes under the environment instance; Model Management - Lineage Tool: used to display the lineage order of behavior methods in the model inheritance and extension relationship hierarchy under the environment instance; API management tool: used to provide the function of searching interfaces by product line, APP, model, and interface name in the environment instance, as well as the function of displaying basic information, interface documents, interface descriptions, interface lineage, and interface debugging; API Management-Documentation Tool: used to automatically generate interface documents based on metamodel annotations, and display the interface documents on the corresponding interface to keep the interface documents synchronized with the code; API Management - Interface Description Tool: used to supplement the corresponding logic diagram and related descriptions in the interface document, and retrieve the corresponding content of the interface file and display it on the corresponding interface; API Management - Interface Lineage Tool: used to display the lineage relationship diagram of interface calls; API Management - Interface Debugging Tool: used to quickly debug API interfaces in the interface document management system and display debugging information on the corresponding interface.
[0011] In a second aspect, the embodiment of the present application further provides a secondary development processing device for closed-source delivery software, including: A processing unit, configured to adopt a metamodel engine combined with a standard APP mode to provide a standard software product in a closed-source manner on a software delivery platform; wherein the standard APP is an APP delivered to a customer enterprise in a closed-source manner through the software delivery platform, and the APP refers to an application function module or an application capability module; An extension unit is used to obtain the personalized needs of the enterprise customers; create several new APPs on the software delivery platform, and use the several new APPs to expand the functions of the standard software products according to the personalized needs to obtain personalized second-opening content customized for the standard software products.
[0012] In one embodiment, when the processing unit is used to adopt the mode of combining the metamodel engine with the standard APP to provide a standard software product in a closed source manner on a software delivery platform, it is specifically used to: Deploy the metamodel engine and the standard APP on the software delivery platform, wherein the standard APP includes at least one basic capability APP and at least one business APP; The metamodel engine is called to build standard functions on the software delivery platform according to a number of the basic capability APPs and a number of the business APPs to obtain the standard software product.
[0013] In one embodiment, when the extension unit is used to use the several new APPs to extend the functions of the standard software product according to the personalized needs to obtain the personalized second opening content of the standard software product, it is specifically used to: Determining the first target function required by the enterprise customer according to the personalized needs; According to the first target function, selecting at least one first target APP from all APPs deployed on the software delivery platform; By adopting the class inheritance method, the several new APPs are controlled to inherit the fields, data views, and business logic of the at least one first target APP, and then the several new APPs are installed on the software delivery platform to obtain the personalized second-opening content of the standard software product.
[0014] In one embodiment, the expansion unit is further used for: Determining a second target function required by the enterprise customer according to the personalized needs; According to the second target function, selecting at least one second target APP from all APPs deployed on the software delivery platform; By adopting the class inheritance method, the standard APP is controlled to inherit the at least one second target APP attribute and method, so as to obtain the personalized second opening content customized for the standard software product.
[0015] In one embodiment, the secondary development processing device for closed-source delivery software further includes a display unit, and the display unit is used to: Calling the metamodel engine to parse the basic information and dependencies of all APPs deployed on the software delivery platform, and obtaining metamodel definitions and metamodel annotations in all APPs; Calling the metamodel engine to read and convert the metamodel definition and the metamodel annotation to obtain the final running state data of all the APPs; The final operation state data is sorted and processed to obtain and visualize the statistical information of the product line, APP, model, interface, and document under the environment instance.
[0016] In one embodiment, when the display unit is used to sort and process the final operation state data to obtain and visualize statistical information of product lines, apps, models, interfaces, and documents in the display environment instance, it is specifically used to: Providing an APP-API document management tool on the software delivery platform; Call the APP-API document management tool to sort and process the final operation data to obtain statistical information of product lines, APPs, models, interfaces, and documents under the environment instance; The APP-API document management tool is called to graphically display the statistical information of the product line, APP, model, interface, and document under the environment instance.
[0017] In one embodiment, the APP-API document management tool provides the following functional tools: Homepage tool: used to display statistical information of product lines, apps, models, interfaces, and documents under the environment instance; APP tool: used to display the relationship map of all APPs in the environment instance, and provide the function of querying the specific information of each APP; Model Management-Model Information Tool: It is used to provide the function of searching meta-models by product line, APP, and model name in the environment instance; Model Management - MR Relationship Tool: used to display the relationships and structures between all metamodels of data classes under the environment instance; Model Management - Lineage Tool: used to display the lineage order of behavior methods in the model inheritance and extension relationship hierarchy under the environment instance; API management tool: used to provide the function of searching interfaces by product line, APP, model, and interface name in the environment instance, as well as the function of displaying basic information, interface documents, interface descriptions, interface lineage, and interface debugging; API Management-Documentation Tool: used to automatically generate interface documents based on metamodel annotations, and display the interface documents on the corresponding interface to keep the interface documents synchronized with the code; API Management - Interface Description Tool: used to supplement the corresponding logic diagram and related descriptions in the interface document, and retrieve the corresponding content of the interface file and display it on the corresponding interface; API Management - Interface Lineage Tool: used to display the lineage relationship diagram of interface calls; API Management - Interface Debugging Tool: used to quickly debug API interfaces in the interface document management system and display debugging information on the corresponding interface.
[0018] In a third aspect, an embodiment of the present application further provides a computer device, comprising: a memory and a processor, wherein the memory stores instructions, and the instructions are loaded and executed by the processor to implement a method in any one of the above-mentioned aspects, wherein the memory and the processor communicate with each other through an internal connection path.
[0019] In a fourth aspect, an embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored. When the computer program runs on a computer, the method in any one of the above-mentioned embodiments is implemented.
[0020] The advantages or beneficial effects of the above technical solution include at least: This application can achieve the effect of both upgrading the version of a software product and retaining the personalized second-opening content customized by the customer in the software product.
[0021] At the same time, this application can also achieve the following effects: 1. Real-time and comprehensive display of all apps, models, service information and the relationships between them running on the system, thereby reducing the cost of obtaining information for product managers, designers, developers and other personnel when expanding system functions.
[0022] (ii) It is possible to quickly obtain call examples, execution calls, and execution logs of services exposed by the system, thereby improving the development efficiency and quality of developers.
[0023] (III) Based on source code-free foundation, the delivery team can quickly identify business interfaces, execution links, customizable extension points and a variety of flexible extension methods.
[0024] The above summary 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 the present application will be readily apparent by reference to the accompanying drawings and the following detailed description. BRIEF DESCRIPTION OF THE DRAWINGS
[0025] In the accompanying drawings, unless otherwise specified, the same reference numerals throughout the multiple drawings represent the same or similar parts or elements. These drawings are not necessarily drawn to scale. It should be understood that these drawings only depict some embodiments disclosed in the present application and should not be regarded as limiting the scope of the present application.
[0026] Figure 1 A flowchart of a secondary development method for closed-source delivered software provided in an embodiment of the present application; Figure 2An example diagram of a metamodel engine combined with a standard APP deployment provided in an embodiment of the present application; Figure 3 A metamodel inheritance example diagram provided for an embodiment of the present application; Figure 4 An example diagram of a metamodel extension provided in an embodiment of the present application; Figure 5 A flowchart of another secondary development method for closed-source delivered software provided in an embodiment of the present application; Figure 6 An example diagram of an interface of a homepage tool provided in an embodiment of the present application; Figure 7 An example diagram of an interface of an APP tool provided in an embodiment of the present application; Figure 8 An example diagram of an interface of a model management-model information tool provided in an embodiment of the present application; Fig. 9 An example diagram of an ER relationship provided in an embodiment of the present application; Fig.10 An example diagram of a model blood relationship provided in an embodiment of the present application; Fig.11 An example diagram of an interface of an API management tool provided in an embodiment of the present application; Fig.12 An example diagram of debugging an API management-interface debugging tool provided in an embodiment of the present application; Fig.13 An example diagram of an API management-interface debugging tool debugging request response provided in an embodiment of the present application; Fig.14 A structural block diagram of a secondary development processing device for closed-source delivery software provided in an embodiment of the present application; Fig.15 A structural block diagram of a computer device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0027] In the following, only some exemplary embodiments are briefly described. As those skilled in the art will appreciate, the described embodiments may be modified in various ways without departing from the spirit or scope of the present application. Therefore, the drawings and descriptions are considered to be exemplary and non-restrictive in nature.
[0028] Various technical solutions provided by the embodiments of the present application will be described in detail below with reference to the accompanying drawings.
[0029] Before introducing the embodiments of the present application, some terms in the present application are first explained to facilitate understanding by those skilled in the art.
[0030] (1) Metamodel: Metamodel can be used to define common models. In particular, with reference to the development language, the present application embodiment classifies metamodels, 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 relationship metamodel (One2Many, etc.), extension metamodel (ServiceExtension, ModelExtension), etc.
[0031] (2) Metamodel engine: The embodiment of the present application abstractly summarizes the capabilities of the metamodel engine involved as: "model definition" + "record set", where 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 record set, and the model definition and record set can be expanded independently. The metamodel engine parses the definition of the model, aggregates the entity metamodel Model with other metamodels to form ModelMeta, and uniformly uses ModelMeta to provide the service capabilities of the model. The model definition capability is provided through modeling tools and SDKs, and the parsing and logical calls after the definition are implemented in the metamodel engine. The metamodel engine adopts the method of declaration + runtime dynamic combination, breaking through the limitations of Java inheritance and extension syntax. The model extension can be declared in multiple Java classes, and the model inheritance chain is rebuilt to achieve vertical multi-inheritance expansion + horizontal combination expansion.
[0032] (3) APP: refers to the application function module or capability module. In the embodiments of the present application, it is defined as the smallest delivery unit, which may be as small as only one 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, and the scope of reuse gradually decreases. On this basis, based on the hope that all APPs are incrementally expanded based on existing APPs to enhance capabilities and differentiated customization, so as to maximize the purpose of on-demand installation of APPs and compatibility upgrades of general APP versions, each product can be set to be expanded in the form of an app. For example, assuming that HR APPs are provided to 100 companies, each 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 different functional points can be formed into customized extensive APPs. Based on the base APP and these extensive APPs, they can be dynamically and freely combined to provide different service capabilities for each company. Moreover, this expansion and integration can achieve code-level decoupling, which is different from traditional code logic dependencies, making application expansion and upgrade more flexible and efficient.
[0033] The following will be combined Figures 1 to 13 The secondary development processing method for closed-source delivered software provided in the embodiment of the present application is specifically described.
[0034] Figure 1 A flowchart of a secondary development processing method for closed-source delivery software according to an embodiment of the present application is shown. Figure 1 As shown, the method may include the following steps: S110. Use the metamodel engine combined with the standard APP model to provide standard software products in a closed-source manner on the software delivery platform.
[0035] In one implementation, the standard APP may be a closed-source APP delivered to a client enterprise via a software delivery platform.
[0036] In one implementation, the implementation process of step S110 may include the following steps: S111. Deploy the metamodel engine and standard APP on the software delivery platform.
[0037] In one embodiment, in combination 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.
[0038] As an example, both basic capability apps and business apps can be divided into built-in apps and non-built-in apps. Among them, built-in basic capability apps and built-in business apps can be deployed on the software delivery platform together 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 on the application market of the software delivery platform.
[0039] S112. Calling the metamodel engine to build standard functions on the software delivery platform according to a number of basic capability APPs and a number of business APPs to obtain a standard software product.
[0040] As an example, according to the functional requirements of a standard software product, the metamodel engine can be called 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.
[0041] In the embodiment of the present application, by executing step S110, a standard software product can be provided to the client enterprise through closed-source delivery.
[0042] S120. Obtain the personalized needs of corporate customers.
[0043] In one implementation, after a standard software product is delivered to an enterprise customer, when the enterprise customer needs to customize some functions of the standard software product according to its needs, its personalized needs can be input through the software delivery platform.
[0044] In one implementation, according to the personalized needs, one of the following two methods can be used to obtain the personalized second opening content customized for the standard software product.
[0045] First way: S130. Create several new APPs on the software delivery platform, and use the several new APPs to expand the functions of standard software products according to personalized needs to obtain personalized second-opening content customized for the standard software products.
[0046] In one implementation, the implementation process of step S130 may include the following steps: S131. Create several new APPs on the software delivery platform.
[0047] S132. Determine the first target function required by the enterprise customer based on the personalized demand.
[0048] S133. Select at least one first target APP from all APPs deployed on the software delivery platform according to the first target function.
[0049] S134. Using class inheritance, control several new APPs to inherit fields, data views, and business logic of at least one first target APP, and then install several new APPs on the software delivery platform to obtain personalized second-opening content of the standard software product.
[0050] That is, the first method is to use the metamodel inheritance mechanism to achieve functional expansion of standard software products. It can be understood that in the first method, developers can use class inheritance to create several new apps (i.e. new models) on the software delivery platform. By using several new apps to inherit the fields, data views, business logic, etc. of the corresponding apps (existing models) deployed on the software delivery platform, the functional expansion of standard software products can be achieved.
[0051] In other words, the inheritance method of the metamodel inheritance mechanism provided in the embodiment of the present application is different from the 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. Please refer to the concept of Prototype Inheritance in Odoo.
[0052] In the embodiment of the present application, by executing step S130, that is, adopting the first method, the new APP can inherit the standard APP to obtain the personalized second opening content customized for the standard software product.
[0053] Second way: 140. Based on the personalized needs, determine the second target function required by the corporate customer.
[0054] 150. According to the second target function, select at least one second target APP from all APPs deployed on the software delivery platform.
[0055] 160. Using class inheritance, control the standard APP to inherit at least one second target APP attribute and method to obtain personalized second-opening content customized for the standard software product.
[0056] That is, the second way is to use the metamodel extension mechanism to achieve functional extension of standard software products. It can be understood that in the second way, developers are allowed to extend the functions or attributes of the standard APP (i.e. the original model) without modifying it, so as to achieve functional extension of standard software products.
[0057] In other words, if Figure 4As shown, the metamodel extension mechanism provided in the embodiment of the present application does not create a new model, but extends the existing model and inherits the properties and methods of one or more existing models. Please refer to the concept of class inheritance in Odoo.
[0058] In the embodiment of the present application, by executing steps S140 to S160, that is, adopting the second method, the standard APP can be extended to obtain personalized second-opening content customized for the standard software product.
[0059] In summary, in the embodiments of the present application, no matter in the first method or the second method, any standard APP can be extended by multiple APPs. It can be understood that in the embodiments of the present application, the functional version of the standard software product is extended by combining the base APP (i.e., the standard APP) with multiple extensive APPs (i.e., multiple APPs), without directly modifying the APP code that has been launched, but by installing or uninstalling the extensive APP to upgrade or downgrade the APP.
[0060] That is to say, the secondary development processing method for closed-source delivery software provided in the embodiment of the present application does not need to modify 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 content. It can achieve reuse to the greatest extent. After the standard APP is upgraded, the secondary content of the standard APP can still continue to be used.
[0061] That is, the secondary development processing method for closed-source delivered software provided in the embodiment of the present application can achieve the effect of both upgrading the version of the software product and retaining the customer-customized personalized secondary development content in the software product.
[0062] In the above-mentioned two-opening mode of inheriting and expanding closed-source software, the correct acquisition of the two-opening content has a key impact on the efficiency of subsequent two-opening and three-opening.
[0063] Based on this, in an applicable scenario provided by this application, in order to improve the efficiency of continuing to open a standard software product, combined with Figure 1-5 As shown, the secondary development processing method for closed-source delivery software in the embodiment of the present application may also include the following steps: 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 in all APPs.
[0064] In one implementation, the metamodel engine may be configured to automatically parse basic information and dependencies of all APPs deployed on the software delivery platform when it is started.
[0065] S180 , calling a metamodel engine to read and convert the metamodel definition and the metamodel annotation to obtain the final running state data of all APPs.
[0066] As an example, the metamodel engine reads and converts the metamodel definitions and metamodel annotations in all apps, which can be executed in three stages. The first stage is to build each metamodel, the second stage is to calculate the relationship between metamodels, and the third stage is to calculate inheritance and extension relationships to obtain the final state data of all apps. The final state data is stored in the memory object by the metamodel engine, and the program calls are all obtained from the final state data through the metamodel engine. Based on this, the model and model lineage, service and service lineage, and service input and output parameters can be obtained.
[0067] As an example, in the above process, the annotations of the Service will also be extracted and run the final state data binding. For example, the usage instructions of the input parameters of the service metamodel (Service) will be extracted together with the input parameters.
[0068] In an embodiment of the present application, by executing steps S170 and S180, the metamodel engine can be called 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.
[0069] S190. Arrange and process the final state data of the operation to obtain and visualize the statistical information of the product line, APP, model, interface, and document under the environment instance.
[0070] In one implementation, the implementation process of step S190 may include the following steps: S191. Provide APP-API document management tools on the software delivery platform.
[0071] In one embodiment, the APP-API document management tool may provide but is not limited to the following functional tools: (1) Homepage tool: used to display statistical information of product lines, apps, models, interfaces, and documents under the environment instance. The homepage function can also dynamically update the statistical information in real time based on the installation / uninstallation status of apps on the software delivery platform to provide reliable statistical information.
[0072] For example, the interface of the homepage tool can be as follows: Figure 6 shown.
[0073] (2) APP tool: used to display the relationship map 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 map in real time according to the installation / uninstallation status of APPs on the software delivery platform.
[0074] For example, the interface of the APP tool can be as follows: Figure 7 shown.
[0075] (3) Model Management - Model Information Tool: It is used to provide the function of searching for meta-models by product line, APP, model name, etc. in the environment instance. Among them, the Model Management - Model Information function can also support the display of query results in a list format, and provide specific detailed information for entering the corresponding meta-model through the query result list. The specific detailed information will display the blood relationship of the corresponding meta-model (that is, the inheritance line of the corresponding model and the extension line on the inheritance line).
[0076] Exemplarily, the interface of the model management-model information tool can be as follows: Figure 8 shown.
[0077] (4) Model Management - MR Relationship Tool: used to display the relationships and structures between all meta-models of data classes under the environment instance, including ER relationships (i.e., relationships between entities, attributes, and entities).
[0078] For example, an ER relationship can be Fig. 9 shown.
[0079] (5) Model management-lineage tool: used to display the lineage order of behavioral methods in the model inheritance and extension relationship hierarchy under the environment instance. That is, when a method is called on a metamodel, the model management-lineage function can be used to call the interpreter in which metamodels the method is called in sequence and display the calling order.
[0080] For example, the model kinship relationship can be as follows Fig.10 shown.
[0081] (6) API management tool: used to provide the function of searching interfaces by product line, APP, model, and interface name in the environment instance, as well as the function of displaying the basic information of the interface, interface documentation, interface description, interface lineage, and performing interface debugging.
[0082] For example, the interface of the API management tool can be as follows: Fig.11 shown.
[0083] (7) API management-documentation tool: used to automatically generate interface documentation based on metamodel annotations, and display the interface documentation on the corresponding interface to keep the interface documentation synchronized with the code. The corresponding interface can be the interface of the API management-documentation tool.
[0084] (8) API Management - Interface Description Tool: used to supplement the corresponding logic diagram and related instructions in the interface document, and retrieve the corresponding content of the interface file and display it on the corresponding interface. For example, if the interface document has additional descriptive content, you can annotate a file address, and then manually supplement the complex logic diagram and related instructions in the interface document based on the file address. The corresponding interface can be the interface of the API Management - Interface Description Tool.
[0085] (9) API Management - Interface Lineage Tool: This tool is used to display the lineage relationship diagram of interface calls. This tool can help developers understand the calling relationships between various interfaces, so as to more accurately locate problems and understand the operating logic of the system when expanding and maintaining the functions of standard software products.
[0086] (10) API Management - Interface Debugging Tool: used to quickly debug the API interface in the interface document 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 configuration of the interface API Management - document, 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 the record table and display them on the interface. The API Management - Interface Debugging Tool can easily verify whether the interface is working properly and quickly locate and solve problems.
[0087] For example, API management-interface debugging tool debugging and API management-interface debugging tool debugging request response can be respectively as follows: Fig.12 and Fig.13 shown.
[0088] S192. Call the APP-API document management tool to organize and process the final state data of the operation to obtain statistical information of the product line, APP, model, interface, and document under the environment instance.
[0089] S193. Call the APP-API document management tool to graphically display the statistical information of product lines, APPs, models, interfaces, and documents under the environment instance.
[0090] That is, in step S190, the meta-model engine can be called to scan the APP store, model metadata and service annotations of the specific environment for data such as APP and APP lineage, model and model lineage, service and service lineage, and then the APP-API document management tool can be called to collect and display the data scanned by the meta-model engine.
[0091] In an embodiment of the present application, by executing steps S170 to S190, JAVA code annotations and product development specifications can be used to achieve code self-description, which can help product managers, designers, developers, operation and maintenance personnel and other relevant personnel of the software project to quickly and accurately obtain the final operating information of a standard software product and its secondary development content in a set of environments, so as to improve the efficiency of the continued secondary development of standard software products.
[0092] From the above description, it can be seen that the secondary development processing method for closed-source delivered software provided in the embodiment of the present application can achieve the effect of both upgrading the version of the software product and retaining the customer-customized personalized secondary development content in the software product.
[0093] At the same time, the secondary development processing method for closed-source delivery software provided in the embodiment of the present application can also achieve the following effects: 1. Real-time and comprehensive display of all apps, models, service information and the relationships between them running on the system, thereby reducing the cost of obtaining information for product managers, designers, developers and other personnel when expanding system functions.
[0094] (ii) It is possible to quickly obtain call examples, execution calls, and execution logs of services exposed by the system, thereby improving the development efficiency and quality of developers.
[0095] (III) Based on source code-free foundation, the delivery team can quickly identify business interfaces, execution links, customizable extension points and a variety of flexible extension methods.
[0096] Fig.14 FIG. 2 shows a structural block diagram of a secondary development processing device for closed-source delivery software according to an embodiment of the present application. Fig.14 As shown, the device may include: The processing unit 210 is used to adopt the mode of combining the metamodel engine with the standard APP to provide a standard software product in a closed source manner on the software delivery platform; wherein the standard APP is an APP delivered to the customer enterprise in a closed source manner through the software delivery platform, and the APP refers to an application function module or an application capability module; The extension unit 220 is used to obtain the personalized needs of enterprise customers; create several new APPs on the software delivery platform, use several new APPs to expand the functions of standard software products according to personalized needs, and obtain personalized second-opening content customized for standard software products.
[0097] In one embodiment, when the processing unit 210 is used to adopt the mode of combining the metamodel engine with the standard APP to provide a standard software product in a closed source manner on the software delivery platform, it is specifically used to: Deploy the 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. The meta-model engine is called to build standard functions on the software delivery platform according to several basic capability apps and several business apps to obtain standard software products.
[0098] In one embodiment, when the extension unit 220 is used to extend the functions of a standard software product using a number of new APPs according to personalized needs to obtain personalized second-open content of the standard software product, it is specifically used to: Determine the first target function required by corporate customers based on personalized needs; According to the first target function, at least one first target APP is selected from all APPs deployed on the software delivery platform; By adopting the class inheritance method, several new apps are controlled to inherit the fields, data views, and business logic of at least one first target app, and then several new apps are installed on the software delivery platform to obtain personalized secondary content of standard software products.
[0099] In one implementation, the expansion unit 220 is further configured to: Determine the second target function required by corporate customers based on personalized needs; According to the second target function, select at least one second target APP from all APPs deployed on the software delivery platform; By adopting the class inheritance method, the standard APP is controlled to inherit at least one second target APP attribute and method, so as to obtain the personalized second opening content customized for the standard software product.
[0100] In one embodiment, the secondary development processing device for closed-source delivery software further includes a display unit 230, and the display unit 230 is used to: 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 in all apps; Call the metamodel engine to read and convert the metamodel definition and metamodel annotations to obtain the final running state data of all apps; The final operation state data is sorted and processed to obtain and visualize the statistical information of product lines, apps, models, interfaces, and documents under the environment instance.
[0101] In one embodiment, the display unit 230 is used to sort and process the final operation state data, obtain and visualize the statistical information of the product line, APP, model, interface, and document in the environment instance, and is specifically used to: Provide APP-API document management tools on the software delivery platform; Call the APP-API document management tool to organize and process the final state data of the operation to obtain the statistical information of the product line, APP, model, interface, and document under the environment instance; Call the APP-API document management tool to graphically display the statistical information of product lines, APPs, models, interfaces, and documents under the environment instance.
[0102] In one implementation, the APP-API document management tool provides the following functional tools: Homepage tool: used to display statistical information of product lines, apps, models, interfaces, and documents under the environment instance; APP tool: used to display the relationship map of all APPs in the environment instance, and provide the function of querying the specific information of each APP; Model Management-Model Information Tool: It is used to provide the function of searching meta-models by product line, APP, and model name in the environment instance; Model Management - MR Relationship Tool: used to display the relationships and structures between all metamodels of data classes under the environment instance; Model Management - Lineage Tool: used to display the lineage order of behavior methods in the model inheritance and extension relationship hierarchy under the environment instance; API management tool: used to provide the function of searching interfaces by product line, APP, model, and interface name in the environment instance, as well as the function of displaying basic information, interface documents, interface descriptions, interface lineage, and interface debugging; API Management-Documentation Tool: used to automatically generate interface documents based on metamodel annotations, and display the interface documents on the corresponding interface to keep the interface documents synchronized with the code; API Management - Interface Description Tool: used to supplement the corresponding logic diagram and related descriptions in the interface document, and retrieve the corresponding content of the interface file and display it on the corresponding interface; API Management - Interface Lineage Tool: used to display the lineage relationship diagram of interface calls; API Management - Interface Debugging Tool: used to quickly debug API interfaces in the interface document management system and display debugging information on the corresponding interface.
[0103] The functions of each unit in the secondary development processing device for closed-source delivery software in the embodiment of the present application can be found in the corresponding description in the above method, and will not be repeated here.
[0104] Fig.15 FIG. 2 shows a block diagram of a computer device according to an embodiment of the present application. Fig.15As shown, the computer device includes: a memory 310 and a processor 320. The memory 310 stores instructions, and the instructions are loaded and executed by the processor 320 to implement the secondary development processing method for closed-source delivery software in the above embodiment. The number of the memory 310 and the processor 320 can be one or more.
[0105] The computer device also includes: The communication interface 330 is used to communicate with external devices and perform data exchange transmission.
[0106] If the memory 310, the processor 320 and the communication interface 330 are implemented independently, the memory 310, the processor 320 and the communication interface 330 can be connected to each other through a bus and communicate with each other. The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus. The bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Fig.15 Only one thick line is used in the diagram, but this does not mean that there is only one bus or only one type of bus.
[0107] Optionally, in a specific implementation, if the memory 310, the processor 320 and the communication interface 330 are integrated on a chip, the memory 310, the processor 320 and the communication interface 330 can communicate with each other through an internal interface.
[0108] An embodiment of the present application provides a computer-readable storage medium, in which a computer program is stored. When the computer program runs on a computer, the method provided in the embodiment of the present application is implemented.
[0109] An embodiment of the present application also provides a chip, which includes a processor for calling and executing instructions stored in a memory, so that a communication device equipped with the chip executes the method provided by the embodiment of the present application.
[0110] An embodiment of the present application also provides a chip, including: an input interface, an output interface, a processor and a memory, wherein the input interface, the output interface, the processor and the memory are connected via an internal connection path, and the processor is used to execute the code in the memory. When the code is executed, the processor is used to execute the method provided in the embodiment of the application.
[0111] It should be understood that the processor may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor, etc. It is worth noting that the processor may be a processor that supports the Advanced RISC Machines (ARM) architecture.
[0112] Further, optionally, the above-mentioned memory may include a read-only memory and a random access memory, and may also include a non-volatile random access memory. The memory may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories. Among them, the non-volatile memory may include a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may include a random access memory (RAM), which is used as an external cache. By way of example but not limitation, many forms of RAM are available. For example, static RAM (SRAM), dynamic random access memory (DRAM), synchronous DRAM (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM) and direct rambus RAM (DR RAM).
[0113] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function according to the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium.
[0114] In the description of this specification, the description with reference to the terms "one embodiment", "some embodiments", "example", "specific example", or "some examples" means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present application. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or more embodiments or examples in a suitable manner. In addition, those skilled in the art may combine and combine different embodiments or examples described in this specification and the features of different embodiments or examples, unless they are contradictory.
[0115] In addition, the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Therefore, a feature defined as "first" or "second" may explicitly or implicitly include at least one of the features. In the description of this application, the meaning of "plurality" is two or more, unless otherwise clearly and specifically defined.
[0116] Any process or method description in the flow chart or otherwise described herein can be understood to represent a module, fragment or portion of a code including one or more executable instructions for implementing the steps of a specific logical function or process. And the scope of the preferred embodiment of the present application includes other implementations, in which the functions may not be performed in the order shown or discussed, including in a substantially simultaneous manner or in a reverse order according to the functions involved.
[0117] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as an ordered list of executable instructions for implementing logical functions, which can be embodied in any computer-readable medium for use by an instruction execution system, apparatus or device (such as a computer-based system, a system including a processor or other system that can fetch instructions from an instruction execution system, apparatus or device and execute instructions), or used in combination with these instruction execution systems, apparatuses or devices.
[0118] It should be understood that the various parts of the present application can be implemented with hardware, software, firmware or a combination thereof. In the above embodiments, multiple steps or methods can be implemented with software or firmware stored in a memory and executed by a suitable instruction execution system. All or part of the steps of the above embodiment method can be completed by instructing the relevant hardware through a program, which can be stored in a computer-readable storage medium, and when the program is executed, it includes one of the steps of the method embodiment or a combination thereof.
[0119] In addition, each functional unit in each embodiment of the present application can be integrated into a processing module, or each unit can exist physically separately, or two or more units can be integrated into one module. The above-mentioned integrated module can be implemented in the form of hardware or in the form of a software functional module. If the above-mentioned integrated module is implemented in the form of a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. The storage medium can be a read-only memory, a disk or an optical disk, etc.
[0120] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of various changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
Claims
1. A secondary development processing method for closed source delivery software, characterized in that: include: A metamodel engine is combined with a standard APP to provide a standard software product in a closed-source manner on a software delivery platform; wherein the standard APP is an APP delivered to a customer enterprise in a closed-source manner through the software delivery platform, and the APP refers to an application function module or an application capability module; Obtaining personalized needs of the enterprise customers; A number of new APPs are newly created on the software delivery platform, and the functions of the standard software products are expanded using the new APPs according to the personalized needs, so as to obtain personalized second-opening content customized for the standard software products.
2. The method according to claim 1, characterized in that: Using the metamodel engine combined with the standard APP model, the closed-source standard software products provided on the software delivery platform include: Deploy the metamodel engine and the standard APP on the software delivery platform, wherein the standard APP includes at least one basic capability APP and at least one business APP; The metamodel engine is called to build standard functions on the software delivery platform according to a number of the basic capability APPs and a number of the business APPs to obtain the standard software product.
3. The method according to claim 1, characterized in that According to the personalized needs, the plurality of new APPs are used to expand the functions of the standard software product, and the personalized second opening content of the standard software product includes: Determining the first target function required by the enterprise customer according to the personalized needs; According to the first target function, selecting at least one first target APP from all APPs deployed on the software delivery platform; By adopting the class inheritance method, the several new APPs are controlled to inherit the fields, data views, and business logic of the at least one first target APP, and then the several new APPs are installed on the software delivery platform to obtain the personalized second-opening content of the standard software product.
4. The method according to claim 1, characterized in that: The method further comprises: Determining a second target function required by the enterprise customer according to the personalized needs; According to the second target function, selecting at least one second target APP from all APPs deployed on the software delivery platform; By adopting the class inheritance method, the standard APP is controlled to inherit the at least one second target APP attribute and method, so as to obtain the personalized second opening content customized for the standard software product.
5. The method according to any one of claims 1 to 4, characterized in that The method further comprises: Calling the metamodel engine to parse the basic information and dependencies of all APPs deployed on the software delivery platform, and obtaining metamodel definitions and metamodel annotations in all APPs; Calling the metamodel engine to read and convert the metamodel definition and the metamodel annotation to obtain the final running state data of all the APPs; The final operation state data is sorted and processed to obtain and visualize statistical information of product lines, apps, models, interfaces, and documents under the environment instance.
6. The method according to claim 5, characterized in that The final operation data is collated and processed to obtain and visualize the statistical information of product lines, apps, models, interfaces, and documents under the environment instance, including: Providing an APP-API document management tool on the software delivery platform; Call the APP-API document management tool to sort and process the final operation data to obtain statistical information of product lines, APPs, models, interfaces, and documents under the environment instance; The APP-API document management tool is called to graphically display the statistical information of the product line, APP, model, interface, and document under the environment instance.
7. The method according to claim 6, characterized in that The APP-API document management tool provides the following functional tools: Homepage tool: used to display statistical information of product lines, apps, models, interfaces, and documents under the environment instance; APP tool: used to display the relationship map of all APPs in the environment instance, and provide the function of querying the specific information of each APP; Model Management-Model Information Tool: It is used to provide the function of searching meta-models by product line, APP, and model name in the environment instance; Model Management - MR Relationship Tool: used to display the relationships and structures between all metamodels of data classes under the environment instance; Model Management - Lineage Tool: used to display the lineage order of behavior methods in the model inheritance and extension relationship hierarchy under the environment instance; API management tool: used to provide the function of searching interfaces by product line, APP, model, and interface name in the environment instance, as well as the function of displaying basic information, interface documents, interface descriptions, interface lineage, and interface debugging; API Management-Documentation Tool: used to automatically generate interface documents based on metamodel annotations, and display the interface documents on the corresponding interface to keep the interface documents synchronized with the code; API Management - Interface Description Tool: used to supplement the corresponding logic diagram and related descriptions in the interface document, and retrieve the corresponding content of the interface file and display it on the corresponding interface; API Management - Interface Lineage Tool: used to display the lineage relationship diagram of interface calls; API Management - Interface Debugging Tool: used to quickly debug API interfaces in the interface document management system and display debugging information on the corresponding interface.
8. A secondary development processing device for closed source delivery software, characterized in that: include: A processing unit, configured to adopt a metamodel engine combined with a standard APP mode to provide a standard software product in a closed-source manner on a software delivery platform; wherein the standard APP is an APP delivered to a customer enterprise in a closed-source manner through the software delivery platform, and the APP refers to an application function module or an application capability module; An extension unit is used to obtain the personalized needs of the enterprise customers; create several new APPs on the software delivery platform, and use the several new APPs to expand the functions of the standard software products according to the personalized needs to obtain personalized second-opening content customized for the standard software products.
9. A computer device, characterized in that: include: A memory and a processor, wherein the memory stores instructions, and the instructions are loaded and executed by the processor to implement the method according to any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed on a computer, the method according to any one of claims 1 to 7 is implemented.
Citation Information
Patent Citations
Business application software development system and method
CN110058846A
Tool for generating engineer and software product relation network in software project
CN115187196A
Customization method and system based on model driving, electronic equipment and storage medium
CN115794076A
Implementation method convenient for improving secondary development efficiency and quality
CN118069121A
Systematic installation of software extensions
US20230153091A1
