CN115857907B - Business flow dynamic assembly system and method - Google Patents

Business flow dynamic assembly system and method Download PDF

Info

Publication number
CN115857907B
CN115857907B CN202310066529.2A CN202310066529A CN115857907B CN 115857907 B CN115857907 B CN 115857907B CN 202310066529 A CN202310066529 A CN 202310066529A CN 115857907 B CN115857907 B CN 115857907B
Authority
CN
China
Prior art keywords
node
configuration
service flow
service
execution engine
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.)
Active
Application number
CN202310066529.2A
Other languages
Chinese (zh)
Other versions
CN115857907A (en
Inventor
陈宏海
段鑫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Aspire Technologies Shenzhen Ltd
Original Assignee
Aspire Technologies Shenzhen Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Aspire Technologies Shenzhen Ltd filed Critical Aspire Technologies Shenzhen Ltd
Priority to CN202310066529.2A priority Critical patent/CN115857907B/en
Publication of CN115857907A publication Critical patent/CN115857907A/en
Application granted granted Critical
Publication of CN115857907B publication Critical patent/CN115857907B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The invention discloses a service flow dynamic assembly system and a method, which adopt a node preset processing logic mode, carry out service flow configuration through a visual configuration interface, complete the arrangement of complex service logic on the visual interface, do not need to use development language for coding, improve development efficiency and reduce the workload of developers; the system development threshold is reduced, and the dependence on high-level developers is reduced; and the preset node logic is subjected to detailed test, so that the probability of occurrence of problems in service test is reduced.

Description

Business flow dynamic assembly system and method
Technical Field
The invention belongs to the technical field of information system development, and particularly relates to a service flow dynamic assembly system and a service flow dynamic assembly method.
Background
Common development modes of the information system include waterfall type, iterative type and agile development; the final objective of each development model is to guarantee a fast and high-quality delivery service requirement; in the development mode, professional developers are required to use professional development tools to carry out coding development in the coding stage; in the development stage, some technical means are needed, and some auxiliary development functions provided by special development tools are used, such as automatic generation of partial small amount of general codes and the like; or use the relevant development framework to reduce the development workload of the developer, such as business approval process planning of the product using a process engine; the development efficiency of the information system, especially the development efficiency of the flow class functions, can be improved through the development tools and/or the development frameworks.
While conventional development modes can generate partial code through development tools, the development of the generated code still requires the developer to modify the generated code to meet business requirements; when the development framework is used for development, development codes of service functions are continuously completed after the initialization work of the developer codes is also needed; the use of the flow engine product mainly provides the flow arrangement for the business approval type function, and the function logic of the specific node cannot be arranged. In actual development, a developer needs to process logic for each node to perform coding development. High-level professional developers are required for complex logic business requirements, and complex logic of the system is developed through coding. After development, a developer is required to perform unit test, a professional tester is required to perform integrated test, system test, deployment and other works after compiling and generating products, and finally, the service can be delivered for use.
Therefore, the traditional development mode cannot get rid of dependence on professionals and high-level professionals, and has high requirements on personnel configuration.
Disclosure of Invention
In order to solve the problems in the prior art, the invention aims to provide a service flow dynamic assembly system and a service flow dynamic assembly method, which are used for configuring service flows through a visual configuration interface, so that the system development threshold is reduced, the dependence on high-level developers is reduced, the development efficiency is improved, and the workload of the developers is reduced.
The technical scheme adopted by the invention is as follows:
a business flow dynamic assembly system comprises a visual configuration interface and a method execution engine; the visual configuration interface comprises a configuration database, a basic configuration module and a service flow configuration module; the method execution engine comprises a unified external interface, an execution context module, a configuration cache module, a middleware connector module and a service data database;
the configuration database is used for storing a configuration data source generated through the visual configuration interface;
the basic configuration module is used for configuring basic information; the basic configuration module comprises a plurality of configuration units;
the service flow configuration module is used for configuring and arranging and constructing service processing logic through preset nodes and corresponding configurations thereof; the service flow configuration module comprises a plurality of preset nodes;
the unified external interface is used for providing unified service call outside the system and executing different service flows according to different distribution of the call interfaces;
the execution context module is used for generating data storage when the method execution engine executes the service flow and providing the data storage for each node unit of the service flow for use;
the configuration buffer module is used for buffering configuration data to the internal memory so as to improve the data access speed, and comprises a plurality of buffer units;
the middleware connector module is used for executing an engine and connecting various middleware, wherein the middleware comprises an elastic search non-relational data, a file storage server and a message middleware kafka;
the business data database is used for storing business data finally generated by the execution engine.
Further, the basic configuration module comprises eight configuration units.
Further, the basic configuration module comprises the following configuration units: service configuration, method traffic definition configuration, method in-parameter configuration, method out-parameter configuration, object definition configuration, ORM mapping configuration, object conversion definition configuration, and data source configuration.
Further, the service flow configuration module includes sixteen preset nodes: the system comprises a parameter check node, an SQL query node, an elastic search query node, a parameter conversion node, a database storage node, a local method call node, a Java method call node, a remote method call node, an object attribute setting node, a SpringEL expression node, a conditional branch node, a return node, a loop node, an interrupt node, a dynamic attribute value node and an exception handling node.
Further, the parameter check node is used for realizing validity check of the object attribute value;
the SQL query node is used for executing an SQL statement;
the elastic search query node is used for executing an elastic search query statement;
the parameter conversion node is used for carrying out data conversion between objects according to object conversion mapping relation configuration;
the database access node is used for realizing the common database access operation based on the field object and the ORM, including the common database access operation based on the object and the ORM, such as new addition, updating according to a main key, deleting according to the main key, deleting according to a condition, inquiring according to the main key, inquiring according to the condition and the like;
the local method calling node is used for realizing calling of the method configured through the visual method;
the Java method calling node is used for calling a method developed by Java language and providing the capability of calling the method in the stock system;
the remote method calling node is used for realizing the calling of a remote Restful method;
the object attribute setting node is used for initializing an object or setting values of certain attributes of the object, and simultaneously supporting a single object or a list of objects; initializing an object, and supporting a mode of taking a value and a fixed value from a context;
the Springs EL expression node is used for realizing the calculation function of the Springs EL expression, and the calculation result of the expression requires only one return value;
the conditional branch node is used for judging the set condition, and executing the configured sub-service flow if the set condition is met;
the return node is used for setting the return value of the sub-service flow and interrupting the service flow execution;
the circulating node is used for realizing the circulating processing function of the list elements;
the interrupt node is used for realizing the circulation of the interrupt circulation node;
the dynamic attribute value node is used for acquiring an attribute value from an existing object and supports two modes of dynamic and static: in a dynamic mode, the configuration information representing the attribute is another variable; in a static mode, the configuration information representing the attribute is a fixed value;
the exception handling node is configured to repeatedly probe all transactions of the traffic flow back and forth, and implement throwing exceptions.
Further, the configuration buffer module comprises eight buffer units.
Further, the configuration buffer module comprises the following eight buffer units: the system comprises a data source buffer memory, an object definition buffer memory, an ORM mapping buffer memory, an object conversion definition buffer memory, a service flow definition buffer memory, a unified external interface, an execution context module and file uploading and downloading.
The invention also relates to a service flow dynamic assembly method, which adopts the service flow dynamic assembly system and comprises the following steps:
s01, starting a method execution engine; reading a configuration data source from a configuration database, initializing and caching;
s02, reading configuration object definition configuration from a configuration database and caching;
s03, reading ORM mapping configuration from a configuration database and caching;
s04, reading object conversion definition configuration from a configuration database and caching;
s05, reading service flow definition configuration and caching;
s06, calling an interface method for unifying external interface definition by a method execution engine, and executing the service flow of the interface method;
s07, according to the parameter entering configuration of the requested method, the request parameters are assembled into the parameter entering configuration of the method, and the service flow execution context is constructed;
s08, the method execution engine acquires the service flow definition of the method from the configuration buffer module according to the request path;
s09, the method execution engine acquires a node list according to the service flow definition and sequentially executes the logic corresponding to each node;
s10, the method execution engine reads the node preprocessing configuration;
s11, the method execution engine executes node preprocessing logic according to node preprocessing configuration;
s12, the method execution engine reads node configuration;
s13, the method execution engine executes node processing logic according to node configuration;
s14, the method execution engine reads the post-processing configuration of the node;
s15, the method execution engine executes the post-processing logic of the node according to the post-processing configuration of the node;
s16, finishing the processing of the service flow and returning the result.
Still further, the step S09 includes the following:
judging whether a service flow node exists or not;
if the judgment result is negative, directly jumping to the step S16 to finish;
if yes, go on to step S10.
Still further, the step S09 includes the following:
judging whether a service flow node exists or not;
if the judgment result is negative, directly jumping to the step S16 to finish;
if yes, go on to step S10.
Finally, the step S15 includes the following:
judging whether a next node exists or not;
if the judgment result is negative, continuing to execute the step S16 to finish;
if yes, return to step S10.
The beneficial effects of the invention are as follows:
a business flow dynamic assembly system and method adopts a node preset processing logic mode, carries out configuration of business flow through a visual configuration interface, completes the arrangement of complex business logic on the visual interface, does not need to use development language for coding, improves development efficiency and reduces the workload of developers; the system development threshold is reduced, and the dependence on high-level developers is reduced; and the preset node logic is subjected to detailed test, so that the probability of occurrence of problems in service test is reduced.
Drawings
FIG. 1 is a schematic flow chart of a method for dynamically assembling a service flow according to the present invention;
fig. 2 is a schematic configuration diagram of a service flow assembling system according to the present invention.
Detailed Description
The following description of the technical solutions in the embodiments of the present application will be made clearly and completely with reference to the accompanying drawings in the embodiments of the present application, and it is apparent that the described embodiments are only some embodiments of the present application, not all embodiments. All other embodiments, which can be made by one of ordinary skill in the art without undue burden from the present disclosure, are within the scope of the present disclosure.
As shown in fig. 1-2, in order to solve the problems existing in the prior art, a first embodiment of the present invention provides a service flow assembly system and method, and an overall planning scheme is as follows:
1. firstly, a service flow dynamic assembly system is provided, which is composed of a visual configuration interface and a method execution engine.
1) The visual configuration interface comprises a configuration database, a basic configuration module and a service flow configuration module:
the configuration database is used for storing a configuration data source generated through the visual configuration interface;
the basic configuration module is used for configuring basic information; the basic configuration module comprises a plurality of configuration units; the basic configuration module comprises eight configuration units: service configuration, method traffic definition configuration, method in-parameter configuration, method out-parameter configuration, object definition configuration, ORM mapping configuration, object conversion definition configuration, and data source configuration.
The service flow configuration module is used for configuring and arranging and constructing service processing logic through preset nodes and corresponding configurations thereof; the service flow configuration module comprises sixteen preset nodes:
parameter check node: the method is used for realizing validity verification of the object attribute value;
SQL query node: for executing an SQL statement;
an elastic search query node: for executing an elastesearch query statement;
parameter conversion node: the data conversion method comprises the steps of performing data conversion between objects according to object conversion mapping relation configuration;
the database stores the node: the method is used for realizing the general database access operation based on the field object and the ORM, and comprises the general database access operation based on the object and the ORM, such as adding, updating according to a main key, deleting according to a condition, inquiring according to the main key, inquiring according to the condition and the like;
local method call node: a method for implementing invocation of a method that has been configured by a visualization method;
java method call node: the method is used for realizing the calling of the method developed by Java language and providing the capability of calling the method in the stock system;
remote method call node: a call for implementing a remote Restful method;
object attribute setting node: an object for enabling initializing an object or setting the value of certain properties of an object while supporting a single object or a list of objects; initializing an object, and supporting a mode of taking a value and a fixed value from a context;
SpringEL expression node: the calculation function is used for realizing the SpringEL expression, and the calculation result of the expression requires only one return value;
conditional branch node: the method comprises the steps of judging the set conditions, and executing configured sub-service flows if the conditions are met;
and (3) returning the node: for setting the return value of the sub-service flow and interrupting the service flow execution;
and (3) circulating nodes: the method is used for realizing the cyclic processing function of list elements;
interrupt node: for implementing the loop of the interrupt loop node;
dynamic attribute value node: for obtaining attribute values from pre-existing objects, supporting both dynamic and static approaches: in a dynamic mode, the configuration information representing the attribute is another variable; in a static mode, the configuration information representing the attribute is a fixed value;
exception handling node: for repeatedly probing all transactions of the traffic flow back and forth and implementing the throwing of exceptions.
2) The method execution engine comprises a unified external interface, an execution context module, a configuration buffer module, a middleware connector module and a service data database:
the unified external interface is used for providing unified service call outside the system and executing different service flows according to different distribution of the call interfaces;
the execution context module is used for generating data storage when the method execution engine executes the service flow and providing the data storage for each node unit of the service flow for use;
the configuration buffer module is used for buffering configuration data to the internal memory so as to improve the data access speed, and comprises eight buffer units: data source buffer, object definition buffer, ORM mapping buffer, object conversion definition buffer, service flow definition buffer, unified external interface, execution context and file uploading and downloading.
The middleware connector module is used for executing an engine and connecting various middleware, wherein the middleware comprises an elastic search non-relational data, a file storage server and a message middleware kafka;
the business database is used for storing business data finally generated by the execution engine.
2. Secondly, a business flow dynamic assembly method is provided, which comprises the following steps:
s01, starting a method execution engine; reading a configuration data source from a configuration database, initializing and caching;
s02, reading configuration object definition configuration from a configuration database and caching;
s03, reading ORM mapping configuration from a configuration database and caching;
s04, reading object conversion definition configuration from a configuration database and caching;
s05, reading service flow definition configuration and caching;
s06, calling an interface method for unifying external interface definition by a method execution engine, and executing the service flow of the interface method;
s07, according to the parameter entering configuration of the requested method, the request parameters are assembled into the parameter entering configuration of the method, and the service flow execution context is constructed;
s08, the method execution engine acquires the service flow definition of the method from the configuration buffer module according to the request path;
s09, the method execution engine acquires a node list according to the service flow definition and sequentially executes the logic corresponding to each node;
judging whether a service flow node exists or not;
if the judgment result is negative, directly jumping to the step S16 to finish;
if yes, go on to step S10:
s10, the method execution engine reads the node preprocessing configuration;
s11, the method execution engine executes node preprocessing logic according to node preprocessing configuration;
s12, the method execution engine reads node configuration;
s13, the method execution engine executes node processing logic according to node configuration;
s14, the method execution engine reads the post-processing configuration of the node;
s15, the method execution engine executes the post-processing logic of the node according to the post-processing configuration of the node;
judging whether a next node exists or not;
if the judgment result is negative, continuing to execute the step S16 to finish;
if yes, return to step S10:
s16, finishing the processing of the service flow and returning the result.
3. The specific technical scheme is as follows:
the business flow dynamic assembly scheme comprises a method model definition and a method execution engine based on visual configuration; a method model is defined as a model abstracted from business concepts in a business system.
The method model definition visualization configuration consists of a series of graphical elements and configuration interfaces, and is used for the service flow visualization arrangement configuration of system information, system resources, middleware, classes and method logic; the developer can rapidly and conveniently configure the basic resources and business logic of the whole system, and the development of a business function method is easy to carry out; the middleware in the invention is the configuration information of the middleware link, which is a generic name of a type of resources, such as FTP (File transfer protocol) stored in a file, and an elastic search of a non-relational database; the class in the invention is an abstract definition of service, the class is a term in software engineering, and the abstract class is an object with the same characteristics (data elements) and behaviors (functions). Thus, the abstract of an object is a class, and the materialization of the class is an object, or the instance of the class is an object, which refers to abstract definition of a service, such as abstract definition of a user class, and various attributes and operations of a user. Such as user class abstractions, define various attributes and operations of the user, etc.
Therefore, the service flow dynamic assembly scheme can support the service logic visual configuration of the whole scene.
The method execution engine adopts Java language for development, so that the method execution engine has cross-platform property, and describes configuration and data structure of the method execution through Json format with high usability, expandability and readability. Based on the high efficiency of memory read-write, the data configuration executed by the method, the business logic configuration is loaded to the memory, the method is executed in the memory by the interpretation through the existing configuration data, and the execution result is returned. The service flow configuration method can be rapidly deployed and used after the visual interface completes the configuration of the service flow of the method, and the delivery of the service function is completed.
The service flow dynamic assembly scheme is divided into a visual configuration interface and a service flow execution engine.
1) The visual configuration interface realizes the visual configuration of service methods, definition of method service flows, method parameter entering, method parameter exiting, object definition, ORM mapping, object conversion definition and data source definition. In the service flow definition, parameter conversion nodes, SQL query nodes, elastic search query nodes, parameter conversion nodes, database storage nodes, local method calling nodes, java method calling nodes, remote method calling nodes, object attribute setting nodes, springEL expression nodes, conditional branch nodes, return nodes, interrupt nodes, circulation nodes, dynamic attribute value-taking nodes and exception handling nodes are used, and the execution logic is needed for the method to be arranged by 16 preset nodes in a combined mode.
2) The service flow execution engine realizes data source buffer, object definition buffer, ORM mapping buffer, object conversion definition buffer, service flow definition buffer and unified external interface. When the method is executed, a series of nodes are acquired through service flow definition analysis and support corresponding preset processing logic, and data are acquired and transferred through an execution context module, so that the logic processing of the whole service flow is finally completed and a result is returned.
1. The method is implemented according to the following steps:
1) Starting a method execution engine; reading a configuration data source from a configuration database, initializing and caching;
2) Reading configuration object definition configuration from a configuration database and caching;
3) Reading ORM mapping configuration from a configuration database and caching;
4) Reading object conversion definition configuration from a configuration database and caching;
5) Reading service flow definition configuration and caching;
6) Calling a defined interface method through a unified external interface of a method execution engine, and executing the service flow of the interface method;
7) Assembling request parameters into method parameter configuration according to parameter configuration of the request method, and constructing service flow execution context;
8) The method execution engine acquires the service flow definition of the method from the configuration buffer module according to the request path;
9) The method execution engine acquires a node list according to the service flow definition and sequentially executes the logic corresponding to each node;
judging whether a service flow node exists or not;
if the judgment result is negative, directly jumping to the step S16 to finish;
if yes, continuing to execute the step S10;
10 The method comprises the steps that an engine reads node preprocessing configuration;
11 The method execution engine executes node preprocessing logic according to the node preprocessing configuration;
12 A method execution engine reads the node configuration;
13 A method execution engine executing node processing logic according to the node configuration;
14 Executing the engine to read the post-processing configuration of the node;
15 The method execution engine executes the post-processing logic of the node according to the post-processing configuration of the node;
judging whether a next node exists or not;
if the judgment result is negative, continuing to execute the step S16 to finish;
if yes, returning to the step S10;
16 Completing the processing of the service flow and returning the result.
2. Service flow node processing logic
The service flow node is an abstract package for developing logic by a method, and the logic originally required to be developed by codes is formed into the node by the abstract package. Each node thus corresponds to an operation and also to a corresponding configuration. Logic for configuring methods through visual interfaces is made possible by abstraction and configuration.
The nodes preset by the execution engine and logic thereof are as follows:
1) And the parameter check node is used for mainly realizing the validity check of the object attribute value. Each node can be configured with a data object to be checked and a group of corresponding check rules, and the parameter check nodes check the attribute values of the data object one by one according to the configured check rules.
2) The SQL query node is characterized in that the core service logic is used for executing an SQL statement, the condition data used by the SQL statement can be obtained from the process data set by the input parameters or the front node, and the result set obtained by executing the SQL statement is stored in the context object of the service flow as the process data or returned as the return result of the service flow after being converted in data format.
3) The core business logic is used for executing an elastic search query statement, the condition data used by the elastic search query statement can be obtained from the process data set by the incoming parameters or the front node, and the result set obtained by executing the elastic search query statement is stored into a business flow context object as the process data or returned as the return result of the business flow after being subjected to data format conversion.
4) And the parameter conversion node is mainly used for carrying out data conversion between objects according to the configuration of the object conversion mapping relation.
5) The database access node mainly realizes the common database access operation based on the field object and the ORM, including the common database access operation based on the object and the ORM, such as new addition, updating according to a main key, deleting according to a condition, inquiring according to the main key, inquiring according to the condition, and the like.
6) The local method calls the node, and mainly realizes the calling of the method configured through the visual method.
7) Java method call node, mainly realize calling the method developed by Java language, offer the ability to call the method in the stock system.
8) The remote method call node mainly realizes the call of the remote Restful method.
9) The object attribute setting node mainly realizes initializing objects or setting values of certain attributes of the objects, and simultaneously supports single objects or objects of a list. The initialization of the object supports the way in which values and fixed values are taken from the context.
10 The Springs EL expression node is mainly used for realizing the calculation function of the Springs EL expression, and the calculation result of the expression requires only one return value.
11 And a conditional branch node, which is used for mainly judging the set condition, and executing the configured sub-service flow if the condition is satisfied.
12 A return node, mainly realizing setting the return value of the sub-service flow and interrupting the service flow execution.
13 A loop node, mainly realizing the loop processing function of list elements.
14 Interrupt nodes, mainly realize the circulation of interrupt circulation nodes.
15 A dynamic attribute value node, mainly realizing obtaining attribute values from existing objects, and supporting dynamic and static modes: in a dynamic mode, the configuration information representing the attribute is another variable; in the static mode, the configuration information indicating the attribute is a fixed value.
16 The exception handling node, which is mainly implemented to throw exceptions, may be used to rollback transactions for the entire traffic flow.
3. Interface description
The execution engine provides a unified calling interface, calls the method to execute through the visual configuration, and returns a unified response structure
1) Unified request processing method
/**
* Unified request processing method, unified response/service/requests
*
* Request parameters @ param request HttpServletRequest
* Response parameters @ param response HttpServletResponse
* Param params entry parameter data
* The @ return result data singlerresp
*/@RequestMapping(value="/${init.param.servicePath:service}/{systemContext}/**")
publicResultResp<Object>service(HttpServletRequest request,
HttpServletResponseresponse, @RequestBody JSONObject params,
@PathVariable("systemContext"),
StringsystemContext) {}
2) Unified processing method for batch requests
/**
* Batch request unified processing method, unified response/batch service/request
* @ paramrequest request request object
* @ paramresponse response responsive object
* Batch request object for @ parambatchRequests
* Return singlerresp results data
*/
@RequestMapping(value="/${init.param.batchServicePath:batchService}/{systemContext}/**")
publicListResultResp<Object>batchService(HttpServletRequest request,HttpServletResponse response, @RequestBody List<BatchRequest>batchRequests,
@PathVariable("systemContext")String systemContext) {}
3) Unified file uploading interface
/**
* Unified file uploading interface
* Request parameters @ paramrequest HttpServletRequest
* Response parameters @ paramresponse HttpServletResponse
* Paramarams entry parameter data
* Return result data
*/
@PostMapping(value="/${init.param.fileUploadServicePath:fileUploadService}/{systemContext}/**")
publicResultResp<Object>fileUploadService(HttpServletRequest request,HttpServletResponseresponse, @RequestParam(Parameter.REQ_DATE_KEY) Stringparams,@PathVariable("systemContext") String systemContext) {}
4) File system download interface
/**
* File system download interface
* Request parameters @ paramrequest HttpServletRequest
* Response parameters @ paramresponse HttpServletResponse
* Paramarams entry parameter data
*/ @RequestMapping("/${init.param.fileDownloadServicePath:fileDownloadService}/{systemContext}/**")
public voidfileDownloadService(HttpServletRequest request, HttpServletResponseresponse, @RequestParam(Parameter.REQ_DATE_KEY) String params,
@PathVariable("systemContext")String systemContext) {
4. The service flow dynamic assembly system and method of the invention have the following technical advantages:
a. easy use and high efficiency.
The service flow is configured through the visual configuration interface, so that the development threshold is greatly reduced, and the dependence on high-level developers is reduced. The node is used for presetting the processing logic mode, so that the arrangement of complex business logic can be completed on a visual interface, coding is not required to be performed by using a development language, the development efficiency is greatly improved, and the workload of developers is reduced. Because the preset node logic is subjected to detailed test, the probability of occurrence of problems in service test is reduced.
b. Good service expansibility and compatibility
And carrying out visual arrangement configuration of the service-specific logic through the service flow node. The method can be realized by visualizing extremely complex services which cannot be solved by arranging and configuring, and can also be realized by calling a local method developed by Java language or a remote interface developed by other programming languages through a Java method calling node or a remote calling node. The service issuing logic in the existing system can also be compatible and called through the two nodes to avoid redevelopment. Therefore, the technology has better expansibility and compatibility to the service.
Embodiment one:
1. a user table is first created in a business database.
2. Creating a service system and filling in a service system name in a visual configuration platform, such as: a management platform. Business system request contexts such as: and (5) managing.
3. And (3) entering a workbench of the service system created in the step (1), creating a service domain, filling in a service domain name and describing. Such as: a user domain containing user management related functions.
4. Creating a service data source of a service system, filling in a database address, accessing a string, a user name, a password and the like.
5. Using the source creation object from the data sources, the data sources configured in option 4, the user table created in option 1. Clicking is automatically created. The system is built automatically, and the database table configuration, the database table field configuration, the entity object attribute configuration, the entity object basic method configuration, the method out-of-reference and in-reference configuration, the method service flow configuration, the service flow node configuration, the object and table mapping relation configuration, the object and table field mapping relation and the display object configuration are carried out.
6. Creating an application service object and filling in a service name: user management, service coding: usermnage, home domain selects the user domain created in 3.
7. And entering a user management service, and creating a method for inquiring user details. Filling in the coded queryUser, name: and querying the user details.
8. The configuration method comprises entering and exiting. Encoding the ginseng: userId, entry type selection String. Parameter-out coding: user, out of parameter type: user entity objects (automatically created in 5) are selected.
9. And configuring the service flow of the method, selecting an object setting node, setting the entry into the user entity object through configuration, and storing the entry into the service flow context. And configuring a local method calling node, and selecting and calling a main key query method of the user entity object.
10. The publishing method, filling in the method request address: the request mode is that/queryUserDetail: POST.
11. By interface test tools such as: postman, call interface address http: port/message/queryUserDetail. An incoming user id can return detailed information of the corresponding user
The invention is not limited to the above-described alternative embodiments, and any person who may derive other various forms of products in the light of the present invention, however, any changes in shape or structure thereof, all falling within the technical solutions defined in the scope of the claims of the present invention, fall within the scope of protection of the present invention.

Claims (5)

1. A business flow dynamic assembly system, characterized by: the system comprises a visual configuration interface and a method execution engine; the visual configuration interface comprises a configuration database, a basic configuration module and a service flow configuration module; the method execution engine comprises a unified external interface, an execution context module, a configuration cache module, a middleware connector module and a service data database;
the configuration database is used for storing a configuration data source generated through the visual configuration interface;
the basic configuration module is used for configuring basic information; the basic configuration module comprises eight configuration units: service configuration, method service flow definition configuration, method parameter entering configuration, method parameter exiting configuration, object definition configuration, ORM mapping configuration, object conversion definition configuration and data source configuration;
the service flow configuration module is used for configuring and arranging and constructing service processing logic through preset nodes and corresponding configurations thereof; the service flow configuration module comprises sixteen preset nodes: the system comprises a parameter check node, an SQL query node, an elastic search query node, a parameter conversion node, a database storage node, a local method call node, a Java method call node, a remote method call node, an object attribute setting node, a SpringEL expression node, a conditional branch node, a return node, a loop node, an interrupt node, a dynamic attribute value node and an exception handling node;
the unified external interface is used for providing unified service call outside the system and executing different service flows according to different distribution of the call interfaces;
the execution context module is used for generating data storage when the method execution engine executes the service flow and providing the data storage for each node unit of the service flow for use;
the configuration buffer module is used for buffering configuration data to the internal memory so as to improve the data access speed, and comprises eight buffer units: the system comprises a data source buffer, an object definition buffer, an ORM mapping buffer, an object conversion definition buffer, a service flow definition buffer, a unified external interface, an execution context module and file uploading and downloading;
the middleware connector module is used for executing an engine and connecting various middleware, wherein the middleware comprises an elastic search non-relational data, a file storage server and a message middleware kafka;
the business data database is used for storing business data finally generated by the execution engine.
2. The traffic flow dynamic assembly system according to claim 1, wherein:
the parameter check node is used for realizing validity check of the object attribute value;
the SQL query node is used for executing an SQL statement;
the elastic search query node is used for executing an elastic search query statement;
the parameter conversion node is used for carrying out data conversion between objects according to object conversion mapping relation configuration;
the database access node is used for realizing the common database access operation based on the field object and the ORM, and comprises the steps of adding, updating according to a main key, deleting according to the main key, deleting according to a condition, inquiring according to the main key and inquiring according to the condition;
the local method calling node is used for realizing calling of the method configured through the visual method;
the Java method calling node is used for calling a method developed by Java language and providing the capability of calling the method in the stock system;
the remote method calling node is used for realizing the calling of a remote Restful method;
the object attribute setting node is used for initializing an object or setting values of certain attributes of the object, and simultaneously supporting a single object or a list of objects; initializing an object, and supporting a mode of taking a value and a fixed value from a context;
the Springs EL expression node is used for realizing the calculation function of the Springs EL expression, and the calculation result of the expression requires only one return value;
the conditional branch node is used for judging the set condition, and executing the configured sub-service flow if the set condition is met;
the return node is used for setting the return value of the sub-service flow and interrupting the service flow execution;
the circulating node is used for realizing the circulating processing function of the list elements;
the interrupt node is used for realizing the circulation of the interrupt circulation node;
the dynamic attribute value node is used for acquiring an attribute value from an existing object and supports two modes of dynamic and static: in a dynamic mode, the configuration information representing the attribute is another variable; in a static mode, the configuration information representing the attribute is a fixed value;
the exception handling node is configured to repeatedly probe all transactions of the traffic flow back and forth, and implement throwing exceptions.
3. A business flow dynamic assembly method is characterized in that: use of a service flow dynamic assembly system according to one of claims 1 to 2, comprising the steps of:
s01, starting a method execution engine; reading a configuration data source from a configuration database, initializing and caching;
s02, reading configuration object definition configuration from a configuration database and caching;
s03, reading ORM mapping configuration from a configuration database and caching;
s04, reading object conversion definition configuration from a configuration database and caching;
s05, reading service flow definition configuration and caching;
s06, calling an interface method for unifying external interface definition by a method execution engine, and executing the service flow of the interface method;
s07, according to the parameter entering configuration of the requested method, the request parameters are assembled into the parameter entering configuration of the method, and the service flow execution context is constructed;
s08, the method execution engine acquires the service flow definition of the method from the configuration buffer module according to the request path;
s09, the method execution engine acquires a node list according to the service flow definition and sequentially executes the logic corresponding to each node;
s10, the method execution engine reads the node preprocessing configuration;
s11, the method execution engine executes node preprocessing logic according to node preprocessing configuration;
s12, the method execution engine reads node configuration;
s13, the method execution engine executes node processing logic according to node configuration;
s14, the method execution engine reads the post-processing configuration of the node;
s15, the method execution engine executes the post-processing logic of the node according to the post-processing configuration of the node;
s16, finishing the processing of the service flow and returning the result.
4. A traffic flow dynamic allocation method according to claim 3, characterized in that: step S09 includes the following:
judging whether a service flow node exists or not;
if the judgment result is negative, directly jumping to the step S16 to finish;
if yes, go on to step S10.
5. A traffic flow dynamic allocation method according to claim 3, characterized in that: the step S15 includes the following:
judging whether a next node exists or not;
if the judgment result is negative, continuing to execute the step S16 to finish;
if yes, return to step S10.
CN202310066529.2A 2023-02-06 2023-02-06 Business flow dynamic assembly system and method Active CN115857907B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310066529.2A CN115857907B (en) 2023-02-06 2023-02-06 Business flow dynamic assembly system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310066529.2A CN115857907B (en) 2023-02-06 2023-02-06 Business flow dynamic assembly system and method

Publications (2)

Publication Number Publication Date
CN115857907A CN115857907A (en) 2023-03-28
CN115857907B true CN115857907B (en) 2023-05-23

Family

ID=85657622

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310066529.2A Active CN115857907B (en) 2023-02-06 2023-02-06 Business flow dynamic assembly system and method

Country Status (1)

Country Link
CN (1) CN115857907B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116881310B (en) * 2023-09-07 2023-11-14 卓望数码技术(深圳)有限公司 Method and device for calculating set of big data

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112463143A (en) * 2020-12-02 2021-03-09 天津光电通信技术有限公司 DAG-based dynamic rearrangement method
CN113298503A (en) * 2021-06-15 2021-08-24 中国建设银行股份有限公司 Government affair-oriented workflow management system and database and table dividing method thereof

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101551745A (en) * 2009-05-13 2009-10-07 山东中创软件工程股份有限公司 Method for greatly improving performance of workflow engine
CN102375731B (en) * 2010-08-23 2014-11-05 融建信息技术(厦门)有限公司 Coding-free integrated application platform system
CN110989983B (en) * 2019-11-28 2022-11-29 深圳航天智慧城市系统技术研究院有限公司 Zero-coding application software rapid construction system
CN111861096A (en) * 2020-05-30 2020-10-30 上海维信荟智金融科技有限公司 Method and system for visual configuration management of decision flow
CN112506498A (en) * 2020-11-30 2021-03-16 广东电网有限责任公司 Intelligent visual API arrangement method, storage medium and electronic equipment
CN114661275A (en) * 2022-03-07 2022-06-24 浙江宝聚通信息科技有限公司 Visual low-code system development platform
CN115292072A (en) * 2022-09-14 2022-11-04 上海得帆信息技术有限公司 Visual business flow arrangement method, device and storage medium
CN115292010A (en) * 2022-09-28 2022-11-04 中邮消费金融有限公司 Method and system for automatically generating service through process configuration
CN115640045B (en) * 2022-12-26 2023-04-07 卓望数码技术(深圳)有限公司 Low-code development platform based on domain-driven design and business system creation method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112463143A (en) * 2020-12-02 2021-03-09 天津光电通信技术有限公司 DAG-based dynamic rearrangement method
CN113298503A (en) * 2021-06-15 2021-08-24 中国建设银行股份有限公司 Government affair-oriented workflow management system and database and table dividing method thereof

Also Published As

Publication number Publication date
CN115857907A (en) 2023-03-28

Similar Documents

Publication Publication Date Title
CN107370786B (en) General information management system based on micro-service architecture
CN1879082B (en) Method and apparatus for composing software
US7599948B2 (en) Object relational mapping layer
CN111722839B (en) Code generation method and device, electronic equipment and storage medium
CN107291471B (en) Meta-model framework system supporting customizable data acquisition
CN111260257A (en) Wind control model construction method, wind control auditing device and computer equipment
US20220374238A1 (en) Operator registration method and apparatus for deep learning framework, device and storage medium
CN115857907B (en) Business flow dynamic assembly system and method
CN112860260B (en) Web-based cross-platform application construction tool and method in college scene
CN115640045B (en) Low-code development platform based on domain-driven design and business system creation method
US7448028B2 (en) System and method for selective local object retrieval
CN111143391A (en) Data sharing exchange method and system
US6195791B1 (en) Object mechanism and method for coupling together processes to define a desired processing environment in an object oriented framework
US20030041071A1 (en) Database Management system and database
CN112395339B (en) Intersystem data admission verification method, device, computer equipment and storage medium
CN110457013A (en) Program assembly configuration device and method
JP6081491B2 (en) A functional model for assessing events
JP2007535013A (en) Computer program design
US11016830B2 (en) Entity-based service operation for object-based persistence
CN114997111B (en) Service processing method, device, computer equipment and storage medium
CN115422202A (en) Service model generation method, service data query method, device and equipment
CN115017185A (en) Data processing method, device and storage medium
CN114238374A (en) Data query method, device, server and storage medium
CN112347794A (en) Data translation method, device, equipment and computer storage medium
CN112949061A (en) Method and system for building town development model based on reusable operator

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