CN111488145A - Micro-service code generation system and method based on service domain data model base - Google Patents
Micro-service code generation system and method based on service domain data model base Download PDFInfo
- Publication number
- CN111488145A CN111488145A CN202010363365.6A CN202010363365A CN111488145A CN 111488145 A CN111488145 A CN 111488145A CN 202010363365 A CN202010363365 A CN 202010363365A CN 111488145 A CN111488145 A CN 111488145A
- Authority
- CN
- China
- Prior art keywords
- service
- model
- mom
- information
- entity
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/73—Program documentation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Stored Programmes (AREA)
Abstract
The invention discloses a micro-service code generation system and method based on a service domain data model base, relating to the technical field of micro-services; the system comprises a business domain data model base establishing module and an MOM object file establishing module, wherein the business domain data model base establishing module is used for establishing a business domain data model base and an MOM object file establishing module is used for referencing a business model entity object in the business domain data model base and converting the business model entity object into an MOM object file; the method is that a business model entity object in a business domain data model base is quoted and converted into an MOM object file; the development efficiency of the micro-service is improved by establishing a service domain data model base module, establishing an MOM object file module and the like.
Description
Technical Field
The invention relates to the technical field of micro services, in particular to a micro service code generation system and method based on a service domain data model base.
Background
In recent years, the micro service architecture technology is rapidly developed, and more enterprises adopt the micro service architecture technology. Compared with the traditional single application architecture, the micro-service architecture emphasizes flexible delivery. The micro-services are small and autonomous services which can work cooperatively, and have the advantages of independent deployment, loose coupling, technical isolation, easy expansion and the like. Some microservice architecture applications are split and converted from monolithic application architectures, and some microservices are newly developed according to actual business applications. The Micro Object Model, hereinafter referred to as MOM, is a Micro service Object Model.
The following problems are faced in the practice of microservice architecture applications: in the early stage of micro-service development, a software design developer needs to carry out a large amount of close communication with business experts of enterprises, more communication cost needs to be consumed, and micro-service business domain analysis is carried out to determine the business granularity contained in each micro-service, the granularity of micro-service split is controlled by the development designer, in the development of a large amount of enterprise micro-services, businesses in the same field range face the problem of non-uniform split standards in different micro-service design developments, and in the construction of the micro-services of the enterprises, the problems of repeated development, uneven quality and the like of the businesses in the micro-service construction can be caused. The traditional method is used for developing the micro-services, and when the number of the micro-services is large, the problems of long lead cycle and the like exist.
Related prior art patent applications:
(1) a method for monomer application micro-service comprises the following steps: the patent application, named as a method for micro-servitization of single application with application number 2018100240484, is based on the single application that has been developed, analyzes the business related module in the application according to the starting point and the ending point of all request calls, and needs to be modified manually to determine the granularity of the micro-service. The technical scheme of the application is analyzed aiming at the existing single application system, is not suitable for the newly developed micro-service granularity analysis, and does not relate to the development work of micro-services.
(2) A micro-service generation method and device: the patent application, named as a micro-service generation method and device, has application number 2017103920714, and generates micro-service framework codes according to the type of micro-service to be created based on a basic framework template. The technical scheme of the application does not introduce the content related to the micro-service business and does not generate codes related to the logic of the micro-service business.
Problems with the prior art and considerations: how to solve the technical problem of low development efficiency of the micro-service.
Disclosure of Invention
The technical problem to be solved by the invention is to provide a micro-service code generation system and method based on a service domain data model base, which improve the development efficiency of micro-services by establishing a service domain data model base module, an MOM object file module and the like.
In order to solve the technical problems, the technical scheme adopted by the invention is as follows: a micro service code generation system based on a service domain data model base comprises a service domain data model base establishing module and an MOM object file establishing module, wherein the service domain data model base establishing module is used for establishing a service domain data model base; and establishing an MOM object file module for referencing the service model entity object in the service domain data model base and converting the service model entity object into an MOM object file.
The further technical scheme is as follows: the system also comprises a micro-service code generation module which is used for inputting the converted MOM object file into a source code generator, and outputting the generated micro-application or micro-service source code structure information in the source code generator by analyzing the MOM object file, selecting the page style, binding the page attribute, matching the pre-generated technical framework and outputting the source code; and establishing a service domain data model base module, and storing the data of the service model entity object in the service domain data model base in the database, wherein the service model entity object is stored in the database by using data table structured information, and the structured data table comprises service major categories, service detailed categories, entity basic information, entity structured attributes, entity relation information, entity version information, entity authorization management, entity reference records, entity text attributes and entity history records.
The further technical scheme includes that the MOM object file establishing module comprises a model opening tool module, a model introducing object module, a MOM object converting module, a model correcting module and an MOM storing object, the model opening tool module is used for opening a model tool in a development tool, the model introducing object module is used for introducing a business model entity object through an API (application programming interface) interface, the MOM object converting module is used for converting the introduced business model entity object into an MOM object file through a business model entity converter, the model correcting module is used for correcting and perfecting business model entity object information in the model tool according to business requirements, the MOM storing object module is used for storing the information of the MOM object and forming an MOM object file, and the MOM object file establishing module is also used for storing the information of the MOM object file in an XM L format.
The method comprises the steps of opening a model tool module, opening a local development tool, configuring service domain data model base information in attribute configuration, wherein the service domain data model base information comprises model base addresses, ports and user information, introducing a model object module, opening a service domain data model base through a local development tool menu guide, inputting query conditions of basic personnel information in query conditions, selecting basic personnel information entity objects in query results, introducing the basic personnel information entity objects into the model tool by clicking an introduction button, converting an MOM object module, obtaining basic personnel information entity object information through interface API service of a service domain data model base when the introduction button is clicked, converting the model tool or a maintained MOM object file through the service model entity converter, modifying a model module, and calling an XM object model by using an XM object tool after modification and conversion of the MOM object file, displaying introduced service model entity object information, adjusting model attribute information according to service requirements, including operation of adding service attributes or modifying data types, adjusting the service model object information by using XM object model tool after the service model object is modified, introducing XM object information model into a service domain data model database, introducing a service domain data model object module which is a service domain data model object and storing a service domain data model object which is a service domain data model object and a service domain data model, wherein the service information model is a service domain data model object, wherein the service information model module includes a service information structure model object module which is a service domain data object and a service domain data object module which is a service area synchronous service area, and a service area information module, and a service area information module which is used for introducing a service area information module which is used for storing a service area information module, and a service area of XM information module which is.
The further technical scheme includes that the module for generating the microservice code comprises an MOM object file analyzing module, a page selecting style module, a page binding attribute module, a matching pre-generated technical frame module and an output source code module, wherein the MOM object file analyzing module is used for inputting MOM object file information into a source code generator, the source code generator acquires MOM object file information and analyzes the MOM object file according to XM L label definition, the page selecting style module is used for selecting a page display style according to business requirements, the page binding attribute module is used for binding page attributes and business model entity object attribute information, the matching pre-generated technical frame module is used for matching a technical framework according to project technical framework requirements, and the output source code module is used for generating business application source code information.
The technical scheme includes that the MOM object file analyzing module is further used for selecting an MOM object file in a development tool project directory, right clicking a mouse to select a conversion source code in a menu, inputting information of a service name and a service directory structure in a popped interface, the source code generator is used for obtaining MOM object file information, analyzing the MOM object file according to XM L label definition and placing the MOM object file in a cache, the page style selecting module is further used for generating a guide according to the source code and selecting a service display interface style, the page attribute binding module is further used for binding with a service model entity object attribute extracted from the MOM object file after the interface display style is confirmed, the pre-generated technical framework matching module is further used for matching with a source code generation framework according to project technical framework requirements after the service model entity object binding attribute is completed, and the source code output module is further used for outputting source code structure information through the source code generator.
A micro service code generation method based on a service domain data model base refers to a service model entity object in the service domain data model base and converts the service model entity object into an MOM object file.
The further technical scheme is that the method specifically comprises the steps of S1 building a service domain data model base and S2 building an MOM object file, S1 building the service domain data model base, data of service model entity objects in the service domain data model base are stored in the database, the service model entity objects are stored in the database through data table structured information, and the structured data table comprises service classes, service details, entity basic information, entity structured attributes, entity relationship information, entity version information, entity authorization management, entity reference records, entity text attributes and entity history records, S2 building the MOM object file, the service model entity objects in the service domain data model base are referenced, and the MOM object file is converted into the MOM object file, and information of the MOM object file is stored in an XM L format.
The method comprises the steps of S2 establishing an MOM object file, specifically, S201 opening a model tool, S202 introducing a model object, S203 converting the MOM object, S204 modifying a model, S205 storing the MOM object, S201 opening the model tool, opening the model tool in the development tool, opening a local development tool, configuring service domain data model library information in attribute configuration, wherein the model library information comprises model library addresses, ports and user information, S202 introducing the model object, introducing the service model entity object through an API interface, opening a service domain data model library through a local development tool menu, inputting query conditions of basic information of personnel in the query conditions, selecting the basic information entity object of the personnel in the query results, introducing the basic information entity object of the personnel into the model tool by clicking an introduction button, S203 converting the MOM object, converting the service model entity object into an MOM object file by a service model entity converter, wherein the MOM object is obtained by the API service of the service domain data model library service data model library, the MOM object is converted into an MOM object model object, the MOM object version of the MOM object which is capable of being stored in a service domain data model, and is obtained by the MOM object, the MOM object is converted into an MOM object, the MOM object is added after the MOM object is converted into a service model object, the MOM object is added information model object, the MOM object is added to be converted into a service model, the MOM object is added to be the MOM object, the MOM information.
The technical scheme includes that the method comprises the steps of S3 generating micro service codes, inputting converted MOM object files into a source code generator, outputting generated micro application or micro service source code structure information by analyzing MOM object files, selecting page styles, binding page attributes, matching pre-generated technical frameworks and output source codes in the source code generator, S3 generating micro service codes specifically comprises the steps of S301 analyzing MOM object files, S302 selecting page styles, S303 binding page attributes, S304 matching pre-generated technical frameworks and S305 outputting source codes, S301 analyzing MOM object files, inputting MOM object file information into the source code generator, the source code generator acquiring MOM object file information and defining and analyzing MOM object files according to XM L labels, selecting MOM object files in a development tool project directory, selecting MOM object files, right clicking a mouse to select conversion source codes in a menu, inputting service names and service directory structure information in a popup interface, putting the acquired MOM object code generator into an XM object file, extracting and displaying the acquired MOM object information, selecting and displaying the obtained MOM object code, selecting and outputting a technical framework and binding the obtained by the MOM object files, binding the generated by the S3, matching the technical frameworks, the obtained by the source code, the binding the technical frameworks and the generated binding technical frameworks, the generated service code structure information, and outputting the generated by the S3, the binding technical framework of the generated micro service code, the binding technical frameworks, the generated micro service code, the binding technical framework, the generated micro service code, the generated by analyzing and the binding technical framework, the generated micro service code, the generated MOM object, the generated by S3, the binding of the.
Adopt the produced beneficial effect of above-mentioned technical scheme to lie in:
a micro-service code generation system based on a service domain data model base realizes the improvement of the development efficiency of micro-services by establishing a service domain data model base module, an MOM object file module and the like.
A micro-service code generation method based on a service domain data model base realizes the improvement of the development efficiency of micro-services by citing service model entity objects in the service domain data model base and converting the service model entity objects into MOM object files and the like.
See detailed description of the preferred embodiments.
Drawings
Fig. 1 is a schematic block diagram of a module for creating an MOM object file in embodiment 1 of the present invention;
FIG. 2 is a schematic block diagram of a module for generating microservice code in embodiment 1 of the present invention;
FIG. 3 is a flowchart of embodiment 2 of the present invention;
FIG. 4 is a functional block diagram of a business domain data model library Web system;
FIG. 5 is a functional block diagram of a business domain data model;
FIG. 6 is a screen shot of a data table structure attribute;
FIG. 7 is a screen shot of a data table in a database;
FIG. 8 is a screen shot of configuration service address, port and user information;
FIG. 9 is a screen shot of selecting a business model entity object;
FIG. 10 is a screen shot of MOM object file information;
FIG. 11 is a screen shot of adjusting business model entity information;
FIG. 12 is a format diagram of an MOM object file;
FIG. 13 is a detailed format diagram of a MOM object file;
FIG. 14 is a screen shot of a MOM object file-based input link for generating source codes to the MOM object file;
FIG. 15 is a screen shot of a selection interface style;
FIG. 16 is a screen shot of binding data;
FIG. 17 is a screen shot of generating a microservice source code structure.
Detailed Description
The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all of the embodiments. The following description of at least one exemplary embodiment is merely illustrative in nature and is in no way intended to limit the application, its application, or uses. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present application, but the present application may be practiced in other ways than those described herein, and it will be apparent to those of ordinary skill in the art that the present application is not limited to the specific embodiments disclosed below.
Example 1:
as shown in fig. 1 and 2, the invention discloses a micro-service code generation system based on a service domain data model base, which comprises a service domain data model base establishment module, an MOM object file establishment module and a micro-service code generation module, wherein the MOM object file establishment module comprises a model opening tool module, a model object introduction module, an MOM object conversion module, a model modification module and an MOM object storage module, and the micro-service code generation module comprises an MOM object file analysis module, a page style selection module, a page attribute binding module, a technical framework matching pre-generation module and an output source code module.
And establishing a service domain data model base module for establishing a service domain data model base, wherein data of service model entity objects in the service domain data model base are stored in the database, and the service model entity objects are stored in the database by data table structured information, and mainly comprise structured data tables of service major categories, service detailed categories, entity basic information, entity structured attributes, entity relationship information, entity version information, entity authorization management, entity reference records, entity text attributes and entity history records.
As shown in FIG. 1, the MOM object file building module is used for referencing business model entity objects in a business domain data model library and converting the business model entity objects into MOM object files, and information of the MOM object files is stored in XM L format.
And the model opening tool module is used for opening a local development tool and configuring the business domain data model base information in the attribute configuration, wherein the business domain data model base information comprises a model base address, a port and user information.
The model object introducing module is used for introducing a business model entity object through an API (application programming interface); and opening a business domain data model base through a local development tool menu guide, inputting query conditions of the basic information of the personnel in the query conditions, selecting a basic information entity object of the personnel in the query results, and introducing the basic information entity object of the personnel into the model tool by clicking an introduction button.
The MOM object conversion module is used for converting the introduced service model entity object into an MOM object file by the service model entity converter; when the lead-in button is clicked, the basic information entity object information of the personnel is obtained through the interface API service of the service domain data model library, and the MOM object file which can be read or maintained by the model tool is converted through the service model entity converter.
The model modification module is used for modifying and perfecting the entity object information of the business model in the model tool according to the business requirements; after the MOM object file is corrected and converted, loading the MOM object file by a model tool, displaying introduced business model entity object information, and adjusting model attribute information according to business needs, wherein the operation comprises the operation of adding business attributes or modifying data types; and after the business model entity object information is adjusted, synchronizing the adjusted business model entity object into the business domain data model library by calling the API service of the business domain data model library interface.
The system comprises a storage MOM object module, a service model entity converter, an XM L structure and a service model entity object module, wherein the storage MOM object module is used for storing information of MOM objects and forming MOM object files, the information of the MOM object files is stored in the XM L structure, and is converted into an XM L structure for storage through the service model entity converter in the process of introducing the service model entity objects, the XM L structure is divided into two parts, the first part is information required by a model tool page and comprises version information, basic information and style information, the second part is introduced service model entity object information and comprises a service domain to which the service model entity objects belong and service model entity object attribute information, the information of the MOM object files and the information of the service model entity objects are in a one-to-many relationship, and a plurality of service model entity objects are introduced at one time or the service model entity.
As shown in fig. 2, the module for generating micro service code is configured to input the converted MOM object file into the source code generator, and output the generated micro application or micro service source code structure information in the source code generator by successively parsing the MOM object file, selecting a page style, binding page attributes, matching a pre-generated technical framework and outputting source codes. The micro-service code generation module comprises an MOM object file analysis module, a page style selection module, a page property binding module, a technical frame matching pre-generation module and an output source code module.
The MOM object file analyzing module is used for inputting MOM object file information into a source code generator, the source code generator acquires MOM object file information and analyzes the MOM object file according to XM L label definition, the MOM object file is selected in a development tool project directory, a mouse is right clicked to select conversion source codes in a menu, information of a service name and a service directory structure is input in a popup interface, and the source code generator acquires MOM object file information and puts the MOM object file into a cache according to XM L label definition analysis.
The page style selecting module is used for selecting a page display style according to business needs; and generating a guide according to the source code, and selecting the style of the service display interface.
The binding page attribute module is used for binding the page attribute with the service model entity object attribute information; and after the interface display style is confirmed, binding the interface display style with the service model entity object attribute extracted by analyzing the MOM object file.
The matching pre-generated technical framework module is used for matching the technical framework according to the requirements of the project technical framework; and matching the source code generation framework according to the project technical framework requirement after the business model entity object property binding is finished.
The output source code module is used for generating service application source code information; and outputting the source code structure information through a source code generator.
Example 2:
as shown in fig. 3, the present invention discloses a micro service code generation method based on a service domain data model library, which comprises the following steps:
s1 establishing business domain data model base
The data of the business model entity object in the business domain data model base is stored in the database, the business model entity object is stored in the database by data table structured information, and the business model entity object mainly comprises a structured data table of business major categories, business detailed categories, entity basic information, entity structured attributes, entity relationship information, entity version information, entity authorization management, entity reference records, entity text attributes and entity history records.
S2 creating MOM object file
And referencing the service model entity object in the service domain data model library, and converting the service model entity object into an MOM object file.
The information of the MOM object file is stored in XM L format.
S201 model opening tool
The model tool is opened in the development tool. And opening a local development tool, and configuring the information of the business domain data model base in attribute configuration, wherein the information comprises the address, the port and the user information of the model base.
S202 introducing model objects
Business model entity objects are introduced through API interfaces. And opening a business domain data model base through a local development tool menu guide, inputting query conditions of the basic information of the personnel in the query conditions, selecting a basic information entity object of the personnel in the query results, and introducing the basic information entity object of the personnel into the model tool by clicking an introduction button.
S203 transforming MOM objects
The business model entity converter converts the introduced business model entity object into an MOM object file. When the lead-in button is clicked, the basic information entity object information of the personnel is obtained through the interface API service of the service domain data model library, and the MOM object file which can be read or maintained by the model tool is converted through the service model entity converter.
S204 correction model
And correcting and perfecting the service model entity object information in the model tool according to the service requirements. After the MOM object file is corrected and converted, the MOM object file is loaded by the model tool, introduced business model entity object information is displayed, and model attribute information is adjusted according to business needs, wherein the operation comprises the operation of adding business attributes or modifying data types.
And after the business model entity object information is adjusted, synchronizing the adjusted business model entity object into the business domain data model library by calling the API service of the business domain data model library interface.
S205 storing MOM objects
The information of the MOM object file is stored in an XM L structure, and is converted into an XM L structure through a business model entity converter to be stored in the process of introducing a business model entity object, the XM L structure is divided into two parts, the first part is information required by a model tool page and comprises version information, basic information and style information, the second part is introduced business model entity object information and comprises a business domain to which the business model entity object belongs and business model entity object attribute information, the information of the MOM object file and the information of the business model entity object are in a one-to-many relationship, and a plurality of business model entity objects are introduced at one time or the business model entity object information is introduced for a plurality of times according to business needs.
S3 generating microservice codes
And inputting the converted MOM object file into a source code generator, and outputting the generated micro-application or micro-service source code structure information in the source code generator by analyzing the MOM object file, selecting a page style, binding page attributes, matching a pre-generated technical framework and outputting a source code in sequence. The method specifically comprises the following steps:
s301 parsing MOM object file
The MOM object file information is input into a source code generator, the source code generator acquires the MOM object file information and analyzes the MOM object file according to XM L label definition, the MOM object file is selected from a development tool project directory, a right click mouse selects a conversion source code from a menu, and information of a service name and a service directory structure is input into a popup interface.
S302 selecting a page style
And selecting a page display style according to business needs. And generating a guide according to the source code, and selecting a service display interface style, such as: tree structure, multi-Tab structure or list table unijunction structure, click next.
S303 binding page property
And binding the page attribute with the service model entity object attribute information. After the interface display style is confirmed, binding with the service model entity object attribute extracted by analyzing the MOM object file, for example: and the user name corresponds to the user _ name, and the next step is clicked after the binding is finished.
S304 matching pre-generated technical framework
The technical architecture is matched according to the project technical architecture requirements. After the business model entity object property binding is completed, according to the project technical architecture requirement, matching a source code generation architecture, for example: a framework of microservices, micro-applications, or monolithic structures.
S305 output source code
And generating service application source code information. And finally, outputting the structure information of the source codes through a source code generator.
The purpose of the application is:
according to the method and the system, communication cost between designers or developers and service experts is reduced through a standard or multiplexed service domain data model base, a code automatic generation method based on a micro service object model MOM is provided, and development efficiency of micro services is improved.
1. Converting the adopted service domain data model base into a recognizable MOM object file: and quoting model information in the service domain data model library, and converting the model information into an MOM object file read and maintained by a model tool. Research and development personnel need to further comb the model attributes, collate the MOM object file attributes identified by the model tool and formulate MOM object file information which can be read and maintained by the model tool.
2. Generating a required micro-service source code with architecture characteristics according to the MOM object file: and inputting the MOM object file after the basic service model entity object conversion into a source code generator, analyzing MOM object file information in the source code generator, matching a frame template, and generating a source code of a framework required by a developer.
Technical contribution of the present application:
the application provides a micro-service code generation system and method based on a service domain data model base, and the efficiency of micro-service design and micro-service development is improved.
Firstly, the business domain model library is a business domain model library which is established by combining general domain knowledge, enterprise business domain knowledge and an existing application system for analysis and carding and is suitable for the business development needs of the enterprise. The method mainly refers to the model object in the service domain model library, converts the model object into the MOM object, is easy to correct the model in the model tool, well solves the problem of accurate correspondence between the service and the service domain model, reduces the communication cost of service experts and designers, and improves the communication efficiency.
The MOM object information and the service model object information are in a one-to-many relationship, a plurality of service models can be introduced at one time or the service model information can be introduced for a plurality of times according to service requirements, and the flexibility of generating service scene codes is improved.
Thirdly, the converted MOM object information is flexibly accessed into a source code generator for rapid development of service application. And analyzing the MOM file, selecting a page style, binding page attributes, matching a pre-generated frame such as micro service in a source code generator, and finally outputting a generated micro application or micro service code structure, thereby providing a complete data access layer, a service logic layer, a control layer and a presentation layer code template for developers to select. The developer can choose to generate only the back-end service code, including the code of the data access layer and the business logic layer, or generate the complete front-end display code and the back-end service code according to the using scene of the micro-service, wherein the front-end display code includes the code of the display layer and the control layer. And the flexible code generation mode improves the development quality and reduces the development cost.
The invention concept of the application is as follows:
the software technology is an industry with rapid development and change, the software development modes are relatively more, and the existing development modes comprise a page construction mode, a menu guide mode, a model guide mode, direct coding and other development modes. In most of the conventional development methods, the development is performed by using a menu guide method, and a source code structure desired by a developer can be generated, but the development is not promoted in terms of the problem of accurate correspondence between a service and a service domain model. The inventor finds that MOM objects required by a model tool are converted by referring to the models in the business domain data model library, and then the MOM objects are input into a source code generator to generate a source code structure required by a developer. The MOM object is maintained in the model tool, and meanwhile, the model in the service domain data model base can be corrected, so that the service is more and more standard, and the problem of accurate correspondence between the service and the service domain model is further solved.
After the application runs secretly for a period of time, the feedback of field technicians has the advantages that:
1. the micro-service is developed based on the business domain data model base, and the work of the analysis design stage of the micro-service architecture application is simplified. The micro-service development designer is relieved from heavy business analysis work by using the highly-multiplexed business domain data model base, and only needs to concentrate on the development of the micro-service.
2. The business domain data model base is an important resource which can be updated and accumulated for enterprises, the problem of accurate correspondence between business and business domain data models is well solved, and the business domain data model base can be further developed towards standardization in the development and construction of micro-services.
3. And a visual business domain data model importing tool and a data model designing tool are provided, and the design efficiency of the MOM model is improved.
4. And a rich code frame template library is provided, the code of the micro-service framework is supported to be generated quickly, and the micro-service development efficiency is greatly improved.
Description of the drawings:
1. business domain data model library
The business domain data model base in the application takes business model entity object-driven development as a guiding idea, and is mainly combined with general domain knowledge, enterprise business domain knowledge and the existing application system to carry out analysis and precipitation to form the business development requirements of the enterprise to build the business domain data model base.
As shown in fig. 4 to fig. 7, the model entity object data in the service domain data model library is stored in the database, such as: and the MySql database is used for adding, modifying and deleting entity data for maintaining the business domain data model database by business personnel or technical personnel in the functions of the business domain data model system. The business model entity object is stored in the database by data table structured information, which mainly comprises structured data tables of business major categories, business minor categories, entity basic information, entity structured attributes, entity relationship information, entity version information, entity authorization management, entity reference records, entity text attributes, entity history records and the like, wherein the entity basic information is the business model entity object.
2. MOM object file conversion based on business model entity object
The service model entity objects in the service domain data model library are quoted in the application and are converted into the MOM object file, the service model entity objects are easy to correct in the model tool, the problem that the service and the service model entity objects accurately correspond is well solved, the MOM object file information is stored in a local working space in an XM L format, and platform independence and portability of the application are realized.
1) As shown in fig. 8, first, a local development tool is opened, such as: eclipse, configuring service domain data model library information in attribute configuration, such as: model base addresses, ports, user information, etc.
2) As shown in fig. 9, secondly, through the local development tool menu wizard, the business domain data model library is opened, and in the query conditions, the query conditions are input, such as: and selecting a basic information entity object of the personnel from the query result, and introducing the basic information entity object of the personnel into the model tool by clicking an introduction button.
3) As shown in fig. 10, when the lead-in button is clicked, the basic information entity object information of the person is obtained through the interface API service of the service domain data model library, and the MOM object file that can be read or maintained by the model tool is converted through the service model entity converter.
4) As shown in fig. 11, after the conversion of the MOM object file is completed, the model tool loads the MOM object file, displays the introduced business model entity object information, and a designer or a technician can adjust the model attribute information according to business needs, such as operations of adding business attributes or modifying data types.
5) And after the business model entity object information is adjusted, synchronizing the adjusted business model entity object into the business domain data model library by calling the API service of the business domain data model library interface.
6) And storing MOM object file information.
3. MOM object file storage format
As shown in fig. 12 and 13, the whole MOM object file information is stored in an XM L structure, and is converted into an XM L structure for storage through a service model entity converter in the process of introducing a service model entity object, the XM L structure is integrally divided into two parts, the first part is information required by a model tool page, such as version information, basic information, style information and the like, and the second part is introduced service model entity object information, such as a service domain to which the service model entity object belongs, service model entity object attribute information and the like.
4. Generating microservice code based on MOM object files
As shown in fig. 14, after the business model entity object is adjusted according to the business needs, the MOM object file is transmitted to the source code generator by right-clicking the menu for rapid development of the business application. Inputting the converted MOM object file into a source code generator, and successively analyzing the MOM object file, selecting a page style, binding page attributes and matching a pre-generated technical framework in the source code generator, wherein the steps are as follows: and (3) micro-service, and finally outputting the generated micro-application or micro-service source code structure information, wherein the details are as follows:
1) first, in a development tool project directory, an MOM object file is selected, a conversion source code is selected in a menu by right clicking a mouse, and information such as a service name and a service directory structure is input in a pop-up interface.
2) As shown in fig. 15, the source code generator will obtain the information of the MOM object file, analyze the MOM object file according to the XM L tag definition, put it into the cache, select the service display interface style, such as tree structure, multi-Tab structure or list structure, according to the source code generation guide, and click the next step.
3) As shown in fig. 16, after the interface exhibition style is confirmed, the interface exhibition style is bound with the service model entity object attribute extracted by analyzing the MOM object file, such as: and the user name corresponds to the user _ name, and the next step is clicked after the binding is finished.
4) After the business model entity object property binding is completed, according to the project technical architecture requirement, matching a source code generation architecture, such as: micro-services, micro-applications, monolithic structures, etc.
5) As shown in fig. 17, the source code structure information is finally output by the source code generator.
The application code of the micro-service architecture is generated by using the MOM object file converted by the business model entity converter, so that the development efficiency of the micro-service is improved. The code generation engine in the application is based on a template mode, and the provided templates comprise: the micro-service, the micro-application and the single structure provide a complete data access layer, a service logic layer, a control layer and a display layer code template for developers to select. The developer can choose to generate only the back-end service code, including the code of the data access layer and the business logic layer, or generate the complete front-end display code and the back-end service code according to the using scene of the micro-service, wherein the front-end display code includes the code of the display layer and the control layer.
Claims (10)
1. A micro service code generation system based on a service domain data model base is characterized in that: the method comprises the steps of establishing a service domain data model base module and an MOM object file establishing module, wherein the service domain data model base module is used for establishing a service domain data model base; and establishing an MOM object file module for referencing the service model entity object in the service domain data model base and converting the service model entity object into an MOM object file.
2. The micro service code generation system based on the service domain data model base as claimed in claim 1, wherein: the system also comprises a micro-service code generation module which is used for inputting the converted MOM object file into a source code generator, and outputting the generated micro-application or micro-service source code structure information in the source code generator by analyzing the MOM object file, selecting the page style, binding the page attribute, matching the pre-generated technical framework and outputting the source code;
and establishing a service domain data model base module, and storing the data of the service model entity object in the service domain data model base in the database, wherein the service model entity object is stored in the database by using data table structured information, and the structured data table comprises service major categories, service detailed categories, entity basic information, entity structured attributes, entity relation information, entity version information, entity authorization management, entity reference records, entity text attributes and entity history records.
3. The micro service code generation system based on the service domain data model base as claimed in claim 1, wherein: the MOM object file establishing module comprises an opening model tool module, a model object introducing module, a MOM object converting module, a model correcting module and a MOM object storing module,
an open model tool module for opening a model tool in a development tool;
the model object introducing module is used for introducing a business model entity object through an API (application programming interface);
the MOM object conversion module is used for converting the introduced service model entity object into an MOM object file by the service model entity converter;
the model modification module is used for modifying and perfecting the entity object information of the business model in the model tool according to the business requirements;
the MOM object storage module is used for storing the information of the MOM object and forming an MOM object file;
and establishing an MOM object file module, and storing the information of the MOM object file in an XM L format.
4. The micro service code generation system based on the service domain data model base as claimed in claim 3, wherein: the model tool opening module is also used for opening a local development tool and configuring the information of a business domain data model base in attribute configuration, wherein the information comprises a model base address, a port and user information;
the model object introducing module is also used for opening a business domain data model library through a local development tool menu guide, inputting the query condition of the basic information of personnel in the query condition, selecting the basic information entity object of the personnel in the query result, and introducing the basic information entity object of the personnel into the model tool by clicking an introducing button;
the MOM object conversion module is also used for acquiring the basic information entity object information of personnel through an interface API (application programming interface) service of a service domain data model library when an introduction button is clicked, and converting an MOM object file which can be read or maintained by a model conversion tool of a service model entity converter;
the model modification module is also used for loading the MOM object file by the model tool after the MOM object file is modified and converted, displaying the introduced entity object information of the business model, and adjusting the attribute information of the model according to the business requirement, wherein the operation comprises the operation of adding business attributes or modifying data types; after the business model entity object information is adjusted, synchronizing the adjusted business model entity object into a business domain data model library by calling a business domain data model library interface API service;
the system comprises a storage MOM object module and a service model entity converter, wherein the storage MOM object module is also used for storing the information of an MOM object file in an XM L structure, the information is converted into an XM L structure for storage through the service model entity converter in the process of introducing a service model entity object, the XM L structure is divided into two parts, the first part is the information required by a model tool page and comprises version information, basic information and style information, the second part is introduced service model entity object information and comprises a service domain to which the service model entity object belongs and information of service model entity object attributes, the information of the MOM object file and the information of the service model entity object are in a one-to-many relationship, and a plurality of service model entity objects are introduced at one time or the service model entity object information is introduced for a plurality of times according to service.
5. The micro service code generation system based on the service domain data model base as claimed in claim 2, wherein: the micro-service code generation module comprises an MOM object file analysis module, a page style selection module, a page property binding module, a technical frame matching pre-generation module and an output source code module,
the MOM object file analyzing module is used for inputting MOM object file information into the source code generator, and the source code generator acquires the MOM object file information and analyzes the MOM object file according to XM L label definition;
the page style selecting module is used for selecting a page display style according to business needs;
the binding page attribute module is used for binding the page attribute with the service model entity object attribute information;
the matching pre-generated technical framework module is used for matching the technical framework according to the requirements of the project technical framework;
and the output source code module is used for generating service application source code information.
6. The system of claim 5, wherein the parsing MOM object file module is further configured to select an MOM object file in a development tool project directory, select a conversion source code in a menu by right-clicking a mouse, and input information of a service name and a service directory structure in a popped-up interface;
the page style selecting module is also used for generating a guide according to the source code and selecting the style of the service display interface;
the binding page attribute module is also used for binding the interface display style with the service model entity object attribute extracted by analyzing the MOM object file after the interface display style is confirmed;
the matching pre-generated technical framework module is also used for matching a source code generation framework according to the requirements of the project technical framework after the binding of the business model entity object property is finished;
and the output source code module is also used for outputting the source code structure information through the source code generator.
7. A micro service code generation method based on a service domain data model base is characterized in that: and referencing the service model entity object in the service domain data model library, and converting the service model entity object into an MOM object file.
8. The micro service code generation method based on the service domain data model base according to claim 7, wherein: particularly comprises the steps of S1 establishing a service domain data model base and S2 establishing an MOM object file,
s1 establishing business domain data model base
The data of the business model entity object in the business domain data model base is stored in the database, the business model entity object is stored in the database by data table structured information, and the structured data table comprises business major categories, business detailed categories, entity basic information, entity structured attributes, entity relationship information, entity version information, entity authorization management, entity reference records, entity text attributes and entity history records;
s2 creating MOM object file
A service model entity object in a service domain data model base is quoted and converted into an MOM object file;
the information of the MOM object file is stored in XM L format.
9. The method for generating microservice codes based on the service domain data model base according to claim 8, wherein: the step of S2 creating the MOM object file specifically includes the steps of S201 opening a model tool, S202 introducing a model object, S203 converting the MOM object, S204 modifying the model, and S205 storing the MOM object,
s201 model opening tool
Opening a model tool in a development tool; opening a local development tool, and configuring business domain data model base information in attribute configuration, wherein the business domain data model base information comprises a model base address, a port and user information;
s202 introducing model objects
Introducing a business model entity object through an API (application programming interface); opening a business domain data model base through a local development tool menu guide, inputting query conditions of basic information of personnel in the query conditions, selecting basic information entity objects of the personnel in query results, and introducing the basic information entity objects of the personnel into a model tool by clicking an introduction button;
s203 transforming MOM objects
The business model entity converter converts an introduced business model entity object into an MOM object file; when the lead-in button is clicked, acquiring basic information entity object information of personnel through an interface API (application programming interface) service of a service domain data model library, and converting an MOM (machine object model) object file which can be read or maintained by a model tool through a service model entity converter;
s204 correction model
Correcting and perfecting the entity object information of the business model in the model tool according to the business requirements; after the MOM object file is corrected and converted, loading the MOM object file by a model tool, displaying introduced business model entity object information, and adjusting model attribute information according to business needs, wherein the operation comprises the operation of adding business attributes or modifying data types;
after the business model entity object information is adjusted, synchronizing the adjusted business model entity object into a business domain data model library by calling a business domain data model library interface API service;
s205 storing MOM objects
The method comprises the steps of storing information of MOM objects and forming MOM object files, wherein the information of the MOM object files is stored in an XM L structure, and is converted into an XM L structure for storage through a business model entity converter in the process of introducing business model entity objects, the XM L structure is divided into two parts, the first part is information required by a model tool page and comprises version information, basic information and style information, the second part is introduced business model entity object information and comprises business domains to which the business model entity objects belong and business model entity object attribute information, the information of the MOM object files and the information of the business model entity objects are in one-to-many relation, and a plurality of business model entity objects are introduced at one time or the business model entity object information is introduced for a plurality of times according to business needs.
10. The method for generating microservice codes based on the service domain data model base according to claim 8, wherein: step S3 is also included to generate micro service code, the MOM object file after conversion is input into a source code generator, and the source code generator outputs the micro application or micro service source code structure information after generation by analyzing the MOM object file, selecting page style, binding page attribute, matching pre-generated technical frame and outputting source code;
the step of S3 generating the microservice code specifically includes the steps of S301 parsing the MOM object file, S302 selecting the page style, S303 binding the page property, S304 matching the pre-generated technical framework and S305 outputting the source code,
s301 parsing MOM object file
The MOM object file information is input into a source code generator, the source code generator acquires the MOM object file information and analyzes the MOM object file according to XM L label definition, the MOM object file is selected from a development tool project directory, a right click mouse selects a conversion source code from a menu, and information of a service name and a service directory structure is input into a popup interface;
s302 selecting a page style
Selecting a page display style according to business needs; generating a guide according to the source code, and selecting a service display interface style;
s303 binding page property
Binding the page attribute with the service model entity object attribute information; after the interface display style is confirmed, binding the interface display style with the service model entity object attribute extracted by analyzing the MOM object file;
s304 matching pre-generated technical framework
Matching the technical architecture according to the project technical architecture requirement; after the business model entity object property binding is completed, matching a source code generation framework according to the project technical framework requirement;
s305 output source code
Generating service application source code information; and outputting the source code structure information through a source code generator.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010363365.6A CN111488145B (en) | 2020-04-30 | 2020-04-30 | Micro-service code generation system and method based on service domain data model library |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010363365.6A CN111488145B (en) | 2020-04-30 | 2020-04-30 | Micro-service code generation system and method based on service domain data model library |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111488145A true CN111488145A (en) | 2020-08-04 |
CN111488145B CN111488145B (en) | 2023-05-30 |
Family
ID=71794991
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010363365.6A Active CN111488145B (en) | 2020-04-30 | 2020-04-30 | Micro-service code generation system and method based on service domain data model library |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111488145B (en) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111913695A (en) * | 2020-08-07 | 2020-11-10 | 国网信息通信产业集团有限公司 | Code conversion method, device and storage medium |
CN112068812A (en) * | 2020-09-02 | 2020-12-11 | 数字广东网络建设有限公司 | Micro-service generation method and device, computer equipment and storage medium |
CN112612466A (en) * | 2020-12-22 | 2021-04-06 | 成都航盛智行科技有限公司 | Data exchange system and method of automobile display equipment based on IPC model |
CN113901022A (en) * | 2021-09-22 | 2022-01-07 | 成都飞机工业(集团)有限责任公司 | Method, device, equipment and storage medium for establishing business and data relation model |
CN115051904A (en) * | 2022-03-23 | 2022-09-13 | 武汉烽火技术服务有限公司 | Method and device for managing single disk state based on markup language |
CN115098494A (en) * | 2022-05-27 | 2022-09-23 | 国网河北省电力有限公司营销服务中心 | Power service center database architecture based on mobile operation application and application thereof |
US11487540B2 (en) | 2021-03-02 | 2022-11-01 | Capital One Services, Llc | Micro-frontend as a service |
CN115905291A (en) * | 2022-12-12 | 2023-04-04 | 广州南方智能技术有限公司 | Data processing method and device based on graph and storage medium |
WO2023151239A1 (en) * | 2022-02-14 | 2023-08-17 | 华为云计算技术有限公司 | Micro-service creation method and related device |
CN117492721A (en) * | 2023-12-29 | 2024-02-02 | 中建三局信息科技有限公司 | General rapid development method applied to building digital information system |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101256492A (en) * | 2008-03-31 | 2008-09-03 | 宋乃辉 | Software development method and system for executing model drive structure |
US20190052549A1 (en) * | 2016-05-06 | 2019-02-14 | Enterpriseweb Llc | Systems and methods for domain-driven design and execution of metamodels |
CN110018822A (en) * | 2019-04-16 | 2019-07-16 | 山东浪潮通软信息科技有限公司 | A kind of method and system automatically generating micro services function |
CN110427174A (en) * | 2019-08-05 | 2019-11-08 | 浪潮云信息技术有限公司 | A kind of micro services construction method based on database |
CN110737425A (en) * | 2018-07-20 | 2020-01-31 | 网宿科技股份有限公司 | billing platform system application program establishing method and device |
-
2020
- 2020-04-30 CN CN202010363365.6A patent/CN111488145B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101256492A (en) * | 2008-03-31 | 2008-09-03 | 宋乃辉 | Software development method and system for executing model drive structure |
US20190052549A1 (en) * | 2016-05-06 | 2019-02-14 | Enterpriseweb Llc | Systems and methods for domain-driven design and execution of metamodels |
CN110737425A (en) * | 2018-07-20 | 2020-01-31 | 网宿科技股份有限公司 | billing platform system application program establishing method and device |
CN110018822A (en) * | 2019-04-16 | 2019-07-16 | 山东浪潮通软信息科技有限公司 | A kind of method and system automatically generating micro services function |
CN110427174A (en) * | 2019-08-05 | 2019-11-08 | 浪潮云信息技术有限公司 | A kind of micro services construction method based on database |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111913695A (en) * | 2020-08-07 | 2020-11-10 | 国网信息通信产业集团有限公司 | Code conversion method, device and storage medium |
CN112068812A (en) * | 2020-09-02 | 2020-12-11 | 数字广东网络建设有限公司 | Micro-service generation method and device, computer equipment and storage medium |
CN112068812B (en) * | 2020-09-02 | 2024-04-02 | 数字广东网络建设有限公司 | Micro-service generation method and device, computer equipment and storage medium |
CN112612466A (en) * | 2020-12-22 | 2021-04-06 | 成都航盛智行科技有限公司 | Data exchange system and method of automobile display equipment based on IPC model |
CN112612466B (en) * | 2020-12-22 | 2024-09-13 | 成都航盛智行科技有限公司 | Data exchange system and method of automobile display equipment based on IPC model |
US11789728B2 (en) | 2021-03-02 | 2023-10-17 | Capital One Services, Llc | Micro-frontend as a service |
US11487540B2 (en) | 2021-03-02 | 2022-11-01 | Capital One Services, Llc | Micro-frontend as a service |
CN113901022A (en) * | 2021-09-22 | 2022-01-07 | 成都飞机工业(集团)有限责任公司 | Method, device, equipment and storage medium for establishing business and data relation model |
CN113901022B (en) * | 2021-09-22 | 2024-03-15 | 成都飞机工业(集团)有限责任公司 | Method, device, equipment and storage medium for establishing business and data relationship model |
WO2023151239A1 (en) * | 2022-02-14 | 2023-08-17 | 华为云计算技术有限公司 | Micro-service creation method and related device |
CN115051904A (en) * | 2022-03-23 | 2022-09-13 | 武汉烽火技术服务有限公司 | Method and device for managing single disk state based on markup language |
CN115051904B (en) * | 2022-03-23 | 2023-09-12 | 武汉烽火技术服务有限公司 | Method and device for managing single disk state based on markup language |
CN115098494A (en) * | 2022-05-27 | 2022-09-23 | 国网河北省电力有限公司营销服务中心 | Power service center database architecture based on mobile operation application and application thereof |
CN115905291B (en) * | 2022-12-12 | 2024-02-23 | 广州南方智能技术有限公司 | Graph-based data processing method, device and storage medium |
CN115905291A (en) * | 2022-12-12 | 2023-04-04 | 广州南方智能技术有限公司 | Data processing method and device based on graph and storage medium |
CN117492721A (en) * | 2023-12-29 | 2024-02-02 | 中建三局信息科技有限公司 | General rapid development method applied to building digital information system |
CN117492721B (en) * | 2023-12-29 | 2024-04-16 | 中建三局信息科技有限公司 | General rapid development method applied to building digital information system |
Also Published As
Publication number | Publication date |
---|---|
CN111488145B (en) | 2023-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111488145B (en) | Micro-service code generation system and method based on service domain data model library | |
CN106775770B (en) | Search method for constructing query statement based on class information | |
KR100633478B1 (en) | System and its method for developing software based on business operating system | |
CN111427561A (en) | Service code generation method and device, computer equipment and storage medium | |
CN106648587A (en) | Annotation-based Web application code generation method | |
CN111104106A (en) | Visual development method, system and medium for integrating business process and communication message | |
CN114115883B (en) | Method for quickly constructing front-end application by using middle station service capability | |
CN112328229A (en) | Method for quickly creating Jenkins assembly line | |
CN102609252A (en) | Intelligent configuration method for logic menu resources on basis of measurement instruments | |
CN104731588B (en) | Page layout document generating method and page layout file creating apparatus | |
US20120124550A1 (en) | Facilitating database application code translation from a first application language to a second application language | |
US11995444B2 (en) | Systems and methods for modernizing legacy applications | |
CN108647147B (en) | Automatic testing robot implemented by using atlas analysis and use method thereof | |
CN111061475A (en) | Software code generation method and device, computer equipment and storage medium | |
CN115510361A (en) | Data chart page generation method based on visual configuration and related equipment | |
CN111552459B (en) | Service arrangement flow management system and method | |
CN117234529A (en) | Method for generating API (application program interface) based on DSL (digital subscriber line) analytic resources | |
KR20210158015A (en) | Software engineering platform for automatically creating program and database by designing information system and for automatically performing test | |
CN115469849B (en) | Service processing system, method, electronic equipment and storage medium | |
CN108132802B (en) | Application method of configuration model in system development | |
CN115081369B (en) | Micro-system collaborative design method | |
CN114168121B (en) | Software system, terminal and storage medium based on code factory mode development | |
CN112540813B (en) | Application generation method based on workflow engine | |
CN115115787A (en) | Method for converting two-dimensional drawing into 3D model based on DirectVR | |
US20080022258A1 (en) | Custom database system and method of building and operating the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |