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

Business flow dynamic assembly system and method Download PDF

Info

Publication number
CN115857907A
CN115857907A CN202310066529.2A CN202310066529A CN115857907A CN 115857907 A CN115857907 A CN 115857907A CN 202310066529 A CN202310066529 A CN 202310066529A CN 115857907 A CN115857907 A CN 115857907A
Authority
CN
China
Prior art keywords
configuration
node
service flow
service
calling
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
Application number
CN202310066529.2A
Other languages
Chinese (zh)
Other versions
CN115857907B (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 business flow dynamic assembly system and a method, which adopt a node preset processing logic mode, carry out the configuration of business flow through a visual configuration interface, finish the arrangement of complex business logic on the visual interface, do not need to use development language for coding, improve the development efficiency and reduce the workload of developers; the system development threshold is reduced, and the dependence on high-level distribution personnel is reduced; and the preset node logic is subjected to detailed test, so that the problem probability of the 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 system and a method for dynamically assembling business flows.
Background
Common development modes of the information system include waterfall type, iterative type and agile development; the ultimate goal of each development mode is to guarantee the requirement of rapid and high-quality delivery service; in the development mode, a professional developer is required to use a professional development tool to carry out coding development in a coding stage; in the development stage, some technical means are often adopted, and some auxiliary development functions provided by professional development tools are used, such as automatically generating a small amount of general codes and the like; or reducing development workload of developers by using related development frameworks, such as business approval process orchestration using process engine products; the development efficiency of the information system, particularly the development efficiency of the flow function can be improved through the development tool and/or the development framework.
Although a traditional development mode can generate partial codes through a development tool, developers are still required to modify the generated codes to adapt to business requirements; when the development framework is used for development, development codes of business functions are required to be continuously completed after the development personnel codes perform initialization work; the process engine product is mainly used for providing process arrangement aiming at the service approval type function, and the functional logic of specific nodes cannot be arranged. In actual development, developers need to perform coding development on each node processing logic. The complex logic of the system is developed by coding, and a high-level professional developer is required for the complex logic business requirement. After the development is finished, a developer is required to perform unit testing, and after the product is compiled and generated, a professional tester is required to perform the operations of integration testing, system testing, deployment and the like, so that the product can be finally delivered for service.
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 above problems in the prior art, an object of the present invention is to provide a system and a method for dynamically assembling a service flow, which configure a service flow through a visual configuration interface, thereby lowering a system development threshold, reducing dependency on high-level developers, improving development efficiency, and reducing workload of the developers.
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 configuration data sources generated through a 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, 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 calling outside the system and distributing and executing different service flows according to different calling 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 cache module is used for caching configuration data into an internal memory so as to improve the speed of data access, and comprises a plurality of cache units;
the middleware connector module is used for executing an engine and connecting various kinds of middleware, wherein the middleware comprises elastic search non-relational data, a file storage server and a message middleware kafka;
the business data database is used for storing the 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: the method comprises the following steps of service configuration, method business flow definition configuration, method entry configuration, method exit 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 checking node, an SQL (structured query language) query node, an ElasticSearch query node, a parameter conversion node, a database access node, a local method calling node, a Java method calling node, a remote method calling node, an object attribute setting node, a SpringEL expression node, a conditional branch node, a return node, a cycle node, an interrupt node, a dynamic attribute value taking node and an exception handling node.
Further, the parameter check node is used for checking the validity of the object attribute value;
the SQL query node is used for executing an SQL statement;
the ElasticSearch query node is used for executing an ElasticSearch query statement;
the parameter conversion node is used for carrying out data conversion between objects according to the object conversion mapping relation configuration;
the database access node is used for realizing common database access operations based on the domain object and the ORM, including common database access operations based on the domain object and the ORM, such as adding, 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 calling the method configured by the visual method;
the Java method calling node is used for calling a method developed by a 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 the remote Restful method;
the object attribute setting node is used for initializing an object or setting the values of some 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 SpringEL expression node is used for realizing the calculation function of the SpringEL expression, and the calculation result of the expression only requires one return value;
the conditional branch node is used for judging the set conditions, and executing the configured sub-service flow if the conditions are met;
the return node is used for realizing setting of a return value of the sub-service flow and interruption of service flow execution;
the circulation node is used for realizing a circulation processing function of the list elements;
the interrupt node is used for realizing the circulation of the interrupt circulation node;
the dynamic attribute value taking 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 the static mode, the configuration information representing the attribute is a fixed value;
and the exception handling node is used for repeatedly probing all transactions of the service flow back and forth and realizing the exception throwing.
Further, the configuration cache module comprises eight cache units.
Further, the configuration cache module includes the following eight cache units: the system comprises a data source cache, an object definition cache, an ORM mapping cache, an object conversion definition cache, a service flow definition cache, a unified external interface, an execution context module and file uploading and downloading.
The invention also relates to a dynamic assembly method of the business flow, which adopts the dynamic assembly system of the business flow and comprises the following steps:
s01, starting a method execution engine; reading a configuration data source from a configuration database, and caching after initialization;
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 the service flow definition configuration and caching;
s06, calling an interface method defined by the unified external interface through a method execution engine, and executing a service flow of the interface method;
s07, assembling the request parameters into a method access configuration according to the access configuration of the request method, and constructing a service flow execution context;
s08, the method execution engine acquires the service flow definition of the method from the configuration cache 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 corresponding logic of each node;
s10, reading node pretreatment configuration by a method execution engine;
s11, the method execution engine executes node preprocessing logic according to the node preprocessing configuration;
s12, reading node configuration by a method execution engine;
s13, the method execution engine executes the node processing logic according to the node configuration;
s14, reading node post-processing configuration by a method execution engine;
s15, the method execution engine executes the node post-processing logic according to the node post-processing configuration;
and S16, completing the processing of the service flow and returning the result.
Still further, the step S09 includes the following steps:
judging whether a service flow node exists or not;
if the judgment result is negative, directly jumping to the step S16 and ending;
if yes, the process continues to step S10.
Still further, the step S09 includes the following steps:
judging whether a service flow node exists or not;
if the judgment result is negative, directly jumping to the step S16 and ending;
if yes, the process continues to step S10.
Finally, the step S15 includes the following contents:
judging whether a next node exists or not;
if the judgment result is no, continuing to execute the step S16 and ending;
if yes, the process returns to step S10.
The invention has the beneficial effects that:
a business flow dynamic assembly system and method, adopt the node to preset the processing logic way, carry on the disposition of the business flow through the visual disposition interface, finish the arrangement of the complicated business logic in the visual interface, needn't use the development language to encode, raise the development efficiency, reduce the work load of the developer; the system development threshold is reduced, and the dependence on high-level distribution personnel is reduced; and the preset node logic is subjected to detailed test, so that the problem probability of the service test is reduced.
Drawings
Fig. 1 is a schematic flow chart of a dynamic service flow assembling method according to the present invention;
fig. 2 is a schematic configuration diagram of the traffic flow dynamic assembly system of the present invention.
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. 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.
As shown in fig. 1 to 2, to solve the problems existing in the prior art, an embodiment of the present invention provides a system and a method for dynamically assembling a service flow, where an overall planning scheme is as follows:
1. firstly, a business 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 configuration data sources generated through a 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: the method comprises the following steps of service configuration, method business flow definition configuration, method entry configuration, method exit configuration, object definition configuration, ORM mapping configuration, object conversion definition configuration and data source configuration.
The service flow configuration module is used for configuring, arranging and constructing service processing logic through the preset nodes and the corresponding configuration thereof; the service flow configuration module comprises sixteen preset nodes:
and (3) parameter check nodes: the method is used for realizing the validity check of the object attribute value;
SQL inquiry node: for executing an SQL statement;
ElasticSearch query node: for executing an ElasticSearch query statement;
and (3) parameter conversion node: the data conversion between the objects is carried out according to the object conversion mapping relation configuration;
database access node: the method is used for realizing common database access operation based on the domain object and the ORM, and comprises common database access operation based on the domain object and the ORM, such as adding, 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 calls the node: for enabling calls to methods that have been configured by the visualization method;
java method invocation node: the method is used for realizing calling of a method developed by Java language and providing the capability of calling the method in the stock system;
remote method invocation node: a call to implement a remote Restful method;
object attribute setting node: for enabling initialization of objects or setting values of certain properties of objects 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 method is used for realizing the calculation function of the SpringEL expression, and the calculation result of the expression only requires one return value;
conditional branch node: the system is used for judging the set conditions, and executing the configured sub-service flow if the conditions are met;
and returning the node: the system is used for realizing setting of the return value of the sub-service flow and interruption of service flow execution;
and (3) circulating the nodes: the circular processing function of the list elements is realized;
and (3) interrupting the node: a loop for implementing an interrupt loop node;
dynamic attribute value node: the method is used for acquiring the attribute values from the existing objects, and supports two modes of dynamic and static: in a dynamic mode, the configuration information representing the attribute is another variable; in the static mode, the configuration information representing the attribute is a fixed value;
and (3) exception handling nodes: the method is used for repeatedly probing all transactions of the traffic flow back and forth and realizing throwing of the exception.
2) 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 unified external interface is used for providing unified service calling outside the system and distributing and executing different service flows according to different calling 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 cache module is used for caching configuration data into an internal memory so as to improve the speed of data access, and comprises eight cache units: data source cache, object definition cache, ORM mapping cache, object conversion definition cache, service flow definition cache, unified external interface, execution context and file uploading and downloading.
The middleware connector module is used for executing an engine and connecting various types of middleware, wherein the middleware comprises 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 dynamic service flow assembling method is provided, which comprises the following steps:
s01, starting a method execution engine; reading a configuration data source from a configuration database, and caching after initialization;
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 the service flow definition configuration and caching;
s06, calling an interface method defined by the unified external interface through the method execution engine, and executing the service flow of the interface method;
s07, assembling the request parameters into a method access configuration according to the access configuration of the request method, and constructing a service flow execution context;
s08, the method execution engine acquires the service flow definition of the method from the configuration cache 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 corresponding logic of each node;
judging whether a service flow node exists or not;
if the judgment result is negative, directly jumping to the step S16 to end;
if yes, the step S10 is executed:
s10, reading node pretreatment configuration by a method execution engine;
s11, the method execution engine executes node preprocessing logic according to the node preprocessing configuration;
s12, reading node configuration by a method execution engine;
s13, the method execution engine executes the node processing logic according to the node configuration;
s14, reading node post-processing configuration by a method execution engine;
s15, the method execution engine executes the node post-processing logic according to the node post-processing configuration;
judging whether a next node exists or not;
if the judgment result is no, continuing to execute the step S16 and ending;
if yes, returning to the step S10:
and S16, completing 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 by business concepts in a business system.
The method model definition visualization configuration comprises a series of graphical elements and configuration interfaces and is used for the visualization arrangement configuration of the service flow of system information, system resources, middleware, classes and method logics; the developer can rapidly and conveniently configure the basic resources and the business logic of the whole system, and the development of the business function method is easy to carry out; the middleware in the invention is configuration information linked with the middleware, and is a general name of a resource, such as FTP (file transfer protocol) stored by a file and an elastic search of a non-relational database; the class in the invention is an abstract definition of a service, the class is a term in software engineering, and is an abstract of an object with the same property (data element) and behavior (function), namely the class. Therefore, an abstraction of an object is a class, a materialization of the class is the object, or an instance of the class is the object, which means an abstract definition of a service, for example, a user class abstract defines various attributes and operations of a user. Such as user class abstraction, which defines various properties and operations of the user.
Therefore, the business flow dynamic assembly scheme can support the business logic visualization configuration of the whole scene.
The method execution engine is developed by adopting Java language, so that the method execution engine has cross-platform property, and describes the configuration and the data structure of the method execution through Json format with high usability, expandability and readability. Based on the high efficiency of memory reading and writing, the data configuration and the service logic configuration executed by the method are loaded to the memory, the method is executed in the memory by the existing configuration data in an interpretative manner, and the execution result is returned. The method can be deployed and used quickly after the configuration of the business flow of the method is completed on the visual interface, and the delivery of the business function is completed.
The business flow dynamic assembly scheme is divided into a visual configuration interface and a business flow execution engine.
1) The visual configuration interface realizes visual configuration of a service method, definition of method service flow, method entry and exit, object definition, ORM mapping, object conversion definition and data source definition. In the service flow definition, a parameter conversion node, an SQL query node, an elastic search query node, a parameter conversion node, a database access node, a local method calling node, a Java method calling node, a remote method calling node, an object attribute setting node, a SpringEL expression node, a conditional branch node, a return node, an interrupt node, a circulation node, a dynamic attribute value taking node and an exception handling node are used for carrying out combined compiling to discharge logic required by the method.
2) The service flow execution engine realizes data source cache, object definition cache, ORM mapping cache, object conversion definition cache, service flow definition cache and a unified external interface. When the method is executed, a series of nodes are obtained through definition and analysis of the service flow, corresponding preset processing logics are supported, data are obtained and transmitted through the execution context module, logic processing of the whole service flow is finally completed, and a result is returned.
1. The method is implemented according to the following process operation steps:
1) Starting a method execution engine; reading a configuration data source from a configuration database, and caching after initialization;
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 and caching service flow definition configuration;
6) Calling a defined interface method through a unified external interface of a method execution engine, and executing a service flow of the interface method;
7) Assembling the request parameters into a method entry configuration according to the entry configuration of the request method, and constructing a service flow execution context;
8) The method execution engine acquires the service flow definition of the method from the configuration cache 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 corresponding logic of each node;
judging whether a service flow node exists or not;
if the judgment result is negative, directly jumping to the step S16 to end;
if yes, continuing to execute the step S10;
10 Method execution engine reads node pre-processing configuration;
11 Method execution engine executes node pre-processing logic according to the node pre-processing configuration;
12 The method execution engine reads the node configuration;
13 The method execution engine executes the node processing logic according to the node configuration;
14 Method execution engine reads node post-processing configuration;
15 Method execution engine executes node post-processing logic according to the node post-processing configuration;
judging whether a next node exists or not;
if the judgment result is no, continuing to execute the step S16 and ending;
if yes, returning to the step S10;
16 Completes the processing of the service flow and returns the result.
2. Traffic flow node processing logic
The service flow node is an abstract package of method development logic, and the logic originally required to be developed through codes is formed into the node through the abstract package. Therefore, each node corresponds to one operation and also corresponds to a corresponding configuration. Through abstraction and configuration, the logic of the method is configured through a visual interface.
The nodes and their logic for executing the engine presets are as follows:
1) And the parameter check node mainly realizes the validity check of the object attribute value. Each node can be configured with a data object to be verified and a group of corresponding verification rules, and the parameter verification node verifies the attribute values of the data object item by item according to the configured verification rules and the rules.
2) The SQL query node and the core business logic are used for executing an SQL statement, the condition data used by the SQL statement can be obtained from the transmitted parameters or the process data set by the front node, and the result set obtained by executing the SQL statement is stored in the business flow context object as the process data or returned as the return result of the business flow after being converted in data format.
3) The method comprises the steps that an ElasticSearch query node and core business logic are used for executing an ElasticSearch query statement, condition data used by the ElasticSearch query statement can be obtained from process data set by an incoming parameter or a front node, and a result set obtained by executing the ElasticSearch query statement is stored in a business flow context object as the process data or returned as a return result of a business flow after data format conversion.
4) And the parameter conversion node is mainly used for realizing that the data conversion between the objects is carried out according to the mapping relation configuration of the root object conversion.
5) The database access node mainly realizes common database access operations based on the field object and the ORM, including common object and ORM-based database access operations such as adding, updating according to the primary key, deleting according to the condition, inquiring according to the primary key, and inquiring according to the condition.
6) And the local method calling node mainly calls the method configured by the visual method.
7) The Java method calling node mainly realizes calling of a method developed by Java language and provides the capability of calling the method in the stock system.
8) And the remote method calling node mainly realizes the calling of the remote Restful method.
9) The object attribute setting node mainly realizes the initialization of the object or the setting of the values of some attributes of the object, and simultaneously supports a single object or a list of objects. Initialization of objects supports ways to fetch values and fixed values from the context.
10 Spring EL expression node, mainly implementing the calculation function of spring EL expression, and the calculation result of the expression requires only one return value.
11 Conditional branch node) that mainly implements the judgment of the set conditions, and if the conditions are satisfied, executes the configured sub-service flows.
12 Return node) that mainly implements setting the return value of the sub-service flow and interrupting the execution of the service flow.
13 ) a loop node, which mainly implements the loop processing function for the list elements.
14 Interrupt nodes) that essentially implement the cycle of the interrupt cycle node.
15 Dynamic attribute value node), mainly realizes obtaining attribute value from existing object, supports two modes of dynamic and static: 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 mainly throws the exception and can roll the transaction of the whole service flow back and forth.
3. Description of the interface
The execution engine provides a uniform calling interface, calls the method configured by visualization to execute, and returns a uniform response structure
1) Request unified processing method
/**
* Request unified processing method, unified response/service/. Request
*
* The @ param request HttpServletRequest parameter
* The @ param response HttpServletResponse response parameter
* Parameter data of @ param params
* @ return result data SingleResp
*/@RequestMapping(value="/${init.param.servicePath:service}/{systemContext}/**")
publicResultResp<Object>service(HttpServletRequest request,
HttpServletResponseresponse, @RequestBody JSONObject params,
@PathVariable("systemContext"),
StringsystemContext) {}
2) Batch request unified processing method
/**
* Batch request unified processing method, unified response/batch service/. Request
* @ paramrequest request request object
* @ paramresponse response object
* @ parambatchRequests bulk request object
* @ return singleresp result 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
* @ paramrequest http pServletrequest parameter
* @ paramresponse HttpServletResponse response parameter
* @ paramparams parameter
* @ 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) Unified file downloading interface
/**
* Unified file downloading interface
* @ paramrequest http pServletrequest parameter
* @ paramresponse HttpServletResponse response parameter
* @ paramparams parameter
*/@RequestMapping("/${init.param.fileDownloadServicePath:fileDownloadService}/{systemContext}/**")
public voidfileDownloadService(HttpServletRequest request, HttpServletResponseresponse,@RequestParam(Parameter.REQ_DATE_KEY) String params,
@PathVariable("systemContext")String systemContext) {
4. The system and the method for dynamically assembling the service flow have the following technical advantages:
a. easy use and high efficiency.
The configuration of the service flow is carried out through the visual configuration interface, so that the development threshold is greatly reduced, and the dependence on high-level transmission personnel is reduced. By means of the node preset processing logic mode, complex business logic arrangement can be completed on a visual interface, coding is not needed to be performed by using a development language, development efficiency is greatly improved, and workload of developers is reduced. Due to the fact that the preset node logic is subjected to detailed testing, the probability of problems occurring in service testing is reduced.
b. Good service expansibility and compatibility
And carrying out visual arrangement and configuration of service specific logic through the service flow nodes. Extremely complex services which cannot be solved are configured through visual arrangement, and the method 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. And the service issuing logic in the existing system can also be compatibly called by the two nodes to avoid redevelopment. Therefore, the technology has better expansibility and compatibility to the service.
The first embodiment is as follows:
1. first a user table is created in a service database.
2. On a visual configuration platform, a business system is established, and the name of the business system is filled in, such as: a management platform. The service requests context such as: and (6) managing.
3. And (4) entering a workbench of the service system established in the step (1), establishing a service domain, and filling and describing the name of the service domain. Such as: and the user domain comprises user management related functions.
4. Creating a service data source of a service system, filling in a database address, an access string, a user name, a password and the like.
5. The user table created in 1 is selected using the data source automatically created object from the data source, the data source configured in 4 is selected. The click is automatically created. The method comprises the following steps of automatic creation of system establishment, database table configuration, database table field configuration, entity object attribute configuration, entity object basic method configuration, method participation and participation configuration, method service flow configuration, service flow node configuration, object and table mapping relation configuration, object and table field mapping relation and display object configuration.
6. Creating an application service object, filling a service name: user management, service coding: userManage, home domain selects the user domain created in 3.
7. And entering a user management service, and establishing a method for inquiring the details of the user. Fill in the code queryUser, name: user details are queried.
8. And (4) entering and exiting the configuration method. And (3) entering parameter coding: userId, entry type selection String. And (3) parameter output coding: user, tanshen type: the user entity object is selected (created automatically in 5).
9. Configuring a method service flow, selecting an object setting node, setting an input parameter into a user entity object through configuration, and storing the input parameter into a service flow context. And then configuring a local method calling node, and selecting a query method according to the main key for calling the user entity object.
10. Issuing method, filling method request address: (ii)/queryUserDetail, request mode: and (4) POST.
11. Through interface test tools such as: postman, call interface address http: // ip port/manage/queryUserDetail. The user id is transmitted in, and the detailed information of the corresponding user can be returned
The present invention is not limited to the above-mentioned alternative embodiments, and any other various products can be obtained by anyone in the light of the present invention, but any changes in the shape or structure thereof, all of which fall within the scope of the present invention, fall within the protection scope of the present invention.

Claims (10)

1. A system for dynamically assembling a traffic stream, comprising: 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 configuration data sources generated through a 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, 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 calling outside the system and distributing and executing different service flows according to different calling 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 cache module is used for caching configuration data into an internal memory so as to improve the speed of data access, and comprises a plurality of cache units;
the middleware connector module is used for executing an engine and connecting various kinds of middleware, wherein the middleware comprises elastic search non-relational data, a file storage server and a message middleware kafka;
the business data database is used for storing the business data finally generated by the execution engine.
2. The traffic flow dynamic assembly system of claim 1, wherein: the basic configuration module comprises eight configuration units.
3. The traffic flow dynamic assembly system of claim 1, wherein: the basic configuration module comprises the following configuration units: the method comprises the following steps of service configuration, method business flow definition configuration, method entry configuration, method exit configuration, object definition configuration, ORM mapping configuration, object conversion definition configuration and data source configuration.
4. The traffic flow dynamic assembly system of claim 1, wherein: the service flow configuration module comprises sixteen preset nodes: the system comprises a parameter checking node, an SQL (structured query language) query node, an ElasticSearch query node, a parameter conversion node, a database access node, a local method calling node, a Java method calling node, a remote method calling node, an object attribute setting node, a SpringEL expression node, a conditional branch node, a return node, a cycle node, an interrupt node, a dynamic attribute value taking node and an exception handling node.
5. The traffic flow dynamic assembly system of claim 4, wherein:
the parameter check node is used for realizing the validity check of the object attribute value;
the SQL query node is used for executing an SQL statement;
the ElasticSearch query node is used for executing an ElasticSearch query statement;
the parameter conversion node is used for carrying out data conversion between objects according to the object conversion mapping relation configuration;
the database access node is used for realizing common database access operation based on a field object and an ORM (object relational mapping), including common object and ORM-based database access operation such as adding, updating according to a primary key, deleting according to the primary key, deleting according to a condition, inquiring according to the primary key, inquiring according to the condition and the like;
the local method calling node is used for calling the method configured by the visual method;
the Java method calling node is used for calling a method developed by a 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 the remote Restful method;
the object attribute setting node is used for initializing an object or setting the values of some 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 SpringEL expression node is used for realizing the calculation function of the SpringEL expression, and the calculation result of the expression only requires one return value;
the conditional branch node is used for judging the set conditions, and executing the configured sub-service flow if the conditions are met;
the return node is used for realizing setting of a return value of the sub-service flow and interruption of service flow execution;
the circulation node is used for realizing a circulation processing function of the list elements;
the interrupt node is used for realizing the circulation of the interrupt circulation node;
the dynamic attribute value taking 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 the static mode, the configuration information representing the attribute is a fixed value;
and the exception handling node is used for repeatedly probing all transactions of the service flow back and forth and realizing the exception throwing.
6. The traffic flow dynamic assembly system of claim 1, wherein: the configuration cache module comprises eight cache units.
7. The traffic flow dynamic assembly system of claim 1, wherein: the configuration cache module comprises the following eight cache units: the system comprises a data source cache, an object definition cache, an ORM mapping cache, an object conversion definition cache, a service flow definition cache, a unified external interface, an execution context module and file uploading and downloading.
8. A method for dynamically assembling a service flow is characterized in that: use of the traffic flow dynamic assembly system according to one of claims 1 to 7, comprising the steps of:
s01, starting a method execution engine; reading a configuration data source from a configuration database, and caching after initialization;
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 the service flow definition configuration and caching;
s06, calling an interface method defined by the unified external interface through the method execution engine, and executing the service flow of the interface method;
s07, assembling the request parameters into a method access configuration according to the access configuration of the request method, and constructing a service flow execution context;
s08, the method execution engine acquires the service flow definition of the method from the configuration cache 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 corresponding logic of each node;
s10, reading node pretreatment configuration by a method execution engine;
s11, the method execution engine executes node preprocessing logic according to the node preprocessing configuration;
s12, reading node configuration by a method execution engine;
s13, the method execution engine executes the node processing logic according to the node configuration;
s14, reading node post-processing configuration by a method execution engine;
s15, the method execution engine executes the node post-processing logic according to the node post-processing configuration;
and S16, completing the processing of the service flow and returning the result.
9. The traffic flow dynamic assembly method of claim 8, wherein: the step S09 includes the following contents:
judging whether a service flow node exists or not;
if the judgment result is negative, directly jumping to the step S16 to end;
if yes, the process continues to step S10.
10. The traffic flow dynamic assembly method according to claim 8, wherein: the step S15 includes the following steps:
judging whether a next node exists or not;
if the judgment result is negative, continuing to execute the step S16 and ending;
if yes, the process returns 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 true CN115857907A (en) 2023-03-28
CN115857907B 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)

Cited By (1)

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

Citations (11)

* 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
CN102375731A (en) * 2010-08-23 2012-03-14 融建信息技术(厦门)有限公司 Coding-free integrated application platform system
CN110989983A (en) * 2019-11-28 2020-04-10 深圳航天智慧城市系统技术研究院有限公司 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
CN112463143A (en) * 2020-12-02 2021-03-09 天津光电通信技术有限公司 DAG-based dynamic rearrangement method
CN112506498A (en) * 2020-11-30 2021-03-16 广东电网有限责任公司 Intelligent visual API arrangement method, storage medium and electronic equipment
CN113298503A (en) * 2021-06-15 2021-08-24 中国建设银行股份有限公司 Government affair-oriented workflow management system and database and table dividing method thereof
CN114661275A (en) * 2022-03-07 2022-06-24 浙江宝聚通信息科技有限公司 Visual low-code system development platform
CN115292010A (en) * 2022-09-28 2022-11-04 中邮消费金融有限公司 Method and system for automatically generating service through process configuration
CN115292072A (en) * 2022-09-14 2022-11-04 上海得帆信息技术有限公司 Visual business flow arrangement method, device and storage medium
CN115640045A (en) * 2022-12-26 2023-01-24 卓望数码技术(深圳)有限公司 Low-code development platform based on domain-driven design and business system creation method

Patent Citations (11)

* 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
CN102375731A (en) * 2010-08-23 2012-03-14 融建信息技术(厦门)有限公司 Coding-free integrated application platform system
CN110989983A (en) * 2019-11-28 2020-04-10 深圳航天智慧城市系统技术研究院有限公司 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
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
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
CN115640045A (en) * 2022-12-26 2023-01-24 卓望数码技术(深圳)有限公司 Low-code development platform based on domain-driven design and business system creation method

Cited By (2)

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

Also Published As

Publication number Publication date
CN115857907B (en) 2023-05-23

Similar Documents

Publication Publication Date Title
CN108984712B (en) Service scene-based number making method and device and readable storage medium
US8234308B2 (en) Deliver application services through business object views
CN107111606A (en) For providing and performing the system and method for the specific language in the field of cloud service infrastructure
CN107291471B (en) Meta-model framework system supporting customizable data acquisition
CN110389765B (en) Parameter verification method and parameter verification system
CN110019314B (en) Dynamic data packaging method based on data item analysis, client and server
CN115640045B (en) Low-code development platform based on domain-driven design and business system creation method
CN108280082A (en) A kind of extemporaneous querying method and system of statistical data
CN115857907A (en) Business flow dynamic assembly system and method
CN109635028A (en) Data query method and device, server and computer readable storage medium
US6195791B1 (en) Object mechanism and method for coupling together processes to define a desired processing environment in an object oriented framework
CN117454278A (en) Method and system for realizing digital rule engine of standard enterprise
CN109597825B (en) Rule engine calling method, device, equipment and computer readable storage medium
CN110457013A (en) Program assembly configuration device and method
CN112395339B (en) Intersystem data admission verification method, device, computer equipment and storage medium
US11016830B2 (en) Entity-based service operation for object-based persistence
US20040064804A1 (en) Generation of partitioned enterprise application using a high-level specification
CN116992092A (en) Method and device for establishing flow model, storage medium and terminal equipment
CN114997111B (en) Service processing method, device, computer equipment and storage medium
CN114721711B (en) Tool and method for reducing software research and development configuration based on GraphQL
CN113626001A (en) API dynamic editing method and device based on script
CN115017185A (en) Data processing method, device and storage medium
Merah et al. Design of ATL rules for transforming UML 2 communication diagrams into buchi automata
CN112363700A (en) Cooperative creation method and device of intelligent contract, computer equipment and storage medium
CN117032786B (en) Method and system for realizing service relevance based on component

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