A process engine platform creation method and system based on BPMN2.0 specification
Through the process engine platform creation method based on the BPMN2.0 specification, the problems of high process creation complexity and low compatibility of market-oriented products in the existing technology are solved, and the rapid and convenient process engine creation is realized, simplifying system pressure and errors are simplified. Risk improves the concurrency and scalability of the system.
Patent Information
- Application Number
- CN202111232994.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-10-22
- Publication Date
- 2025-01-07
- Estimated Expiration
- 2041-10-22
AI Technical Summary
In process creation, the existing technology has problems such as high complexity of development libraries, outdated market-oriented product technology, low compatibility, and degraded performance, making it difficult to meet the needs of fast and convenient process engine creation.
The process engine platform creation method based on the BPMN2.0 specification saves the data of the system management service into the process engine container. The process and form designer node-based representation is generated based on the node-based information, and the process files are compatible with the target process engine and tested. Verified in the environment, publish it to the target process engine to run, simplifying the call link and transaction link.
It realizes rapid process creation, reduces system pressure, simplifies process design and release processes, improves the system's concurrency capabilities and scalability, and reduces the risk of errors.
Smart Images

Figure CN113918637B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of process creation, and in particular to a process engine platform creation method and system based on BPMN2.0 specification. Background Art
[0002] With the continuous development of computer technology, network technology and database technology, the resulting increase in the number of users and system processes has made the calling dependencies between processes more complicated, and the system architecture has also migrated from the monolithic era to the multi-architecture era.
[0003] In existing business systems, there are two main solutions for the automated creation of system processes: 1) using open source process libraries such as embedded Activiti or Flowable to implement many additional functions on your own; 2) using an integrated solution for commercial processes (productized process engine platform).
[0004] Both of the above solutions can achieve rapid process creation and realize business demands. However, in Solution 1, the embedded development library required by the current implementation technology still has many shortcomings, such as: 1) The embedded development library has high requirements for developers, who need to understand the key interfaces and operating principles of the library; 2) The development library does not involve the drawing front end. If integration is required, the front-end program and the corresponding back-end interface need to be separated from other projects, which increases the complexity; 3) The embedded development library only has basic functions, and all complex functions need to be implemented by themselves, especially those involving the synchronous implementation of a large number of front ends; 4) The embedded development library strongly relies on a fixed database and is not easy to integrate with popular Internet projects; 5) If business field integration is required, it can only be achieved through a linked table, which increases the table lookup depth during process operation, and the performance in high concurrency state decreases significantly.
[0005] On the other hand, for Solution 2, existing process-based integration solution products often have the following disadvantages: 1) The technology stack of market-oriented products is outdated, and it generally takes 2 to 3 years of iteration, but the current technology is developing rapidly; 2) Because it is a market-oriented product, there must be targeted business scenarios in product design, and the adaptability to new business scenarios is limited and the compatibility is not high; 3) Market-oriented products have made a lot of optimizations in UI, resulting in a deviation from the bpmn 2.0 specification. Some are even completely separated from the bpmn 2.0 specification and independently designed; 4) Market-oriented products have obstacles in expansion, especially when many systems are connected, more design solutions are required; 5) The database of market-oriented products is almost a fixed traditional database model, which makes it incompatible with the new Nosql from the bottom layer; 6) The export of market-oriented products is not compatible with the bpmn 2.0 file format, resulting in the inability to smoothly migrate its data. The release work requires more consideration, and the use of market-oriented products is prone to errors; 7) Since a large number of customized tables are used to support the implementation of related functions, the call link and transaction link are very deep, and the performance is reduced in concurrent scenarios. From the above, it can be seen that a fast and convenient process engine creation method is currently needed. Summary of the invention
[0006] The purpose of the present invention is to provide a process engine platform creation method and system based on the BPMN2.0 specification. The method saves the data stored by the system management service into the process engine container according to the BPMN2.0 specification. After the process and form designer node-represents the target process file according to the process requirements, the node information is directly searched from the process engine container according to the index, and the process file compatible with the target process engine is generated according to the node information and the configuration rules. The process file compatible with the target process engine is verified in a test environment. After successful verification, the process file data package is released to the target process engine for operation, and the successfully run file is saved as the created target process file. The method saves various types of node information required by the target process file according to the BPMN2.0 specification, which is convenient for quickly indexing the node information when creating the process, and does not require the connection between various tables. The method has simple call links and transaction links, which can realize fast retrieval and also reduce the pressure of system operation.
[0007] In order to achieve the above object, the present invention is implemented by the following technical solutions:
[0008] A method for creating a process engine platform based on BPMN2.0 specification, comprising:
[0009] Save the data stored in the system management service to the process engine container according to the BPMN2.0 specification;
[0010] The process and form designer represents the target process file in nodes according to the process requirements;
[0011] Call data from the process engine container based on node information;
[0012] Generate a process file compatible with the target process engine based on the node information and configuration rules of the called data;
[0013] Test and run the process files compatible with the target process engine;
[0014] The process core module publishes the process file data package after the test run to the target process engine for execution, and saves it as the target process file after the debugging run is successful.
[0015] Optionally, the process engine container contains multiple types of data, and each type of data is correspondingly saved in a local framework table that can be recognized by the framework of the process and form designer.
[0016] Optionally, parse and calculate the data stored in the system management service, convert it into a BpmnModel object according to the BPMN2.0 specification, convert the BpmnModel object into file element structure data that can be recognized by the framework of the process and form designer based on the custom configuration parameters, call the original save interface of the local framework table, and persist the file element structure data to the local framework table.
[0017] Optionally, the framework of the process and form designer is the Flowable framework.
[0018] Optionally, when the called data is used to generate a process file compatible with the target process engine according to the node information and the configuration rules, the process engine core module obtains the handler configuration data required for the process file from the process definition file to generate a process file compatible with the target process engine, parses the handler account of the process file, creates to-do tasks for the corresponding handler, and asynchronously pushes the status data of the current process to the business system through the message queue middleware.
[0019] Optionally, the configuration rules include: self-selection by the initiator, designation of link processors, designation of link processing groups, designation of organizational levels for link approval, designation of continuous multi-level levels of links, and designation of superior supervisors of links.
[0020] Optionally, the process file data package after the test is run includes: process files compatible with the target process engine and compatibility configuration data generated for different environments during the test run.
[0021] Optionally, it also includes: the query module issues a query instruction, the task center module receives the query instruction, and retrieves the query information from the process engine container according to the index of the query instruction.
[0022] Optionally, a system adopting the method for creating a process engine platform based on the BPMN2.0 specification comprises:
[0023] The process engine container is used to store data stored by the system management service in accordance with the BPMN2.0 specification;
[0024] Process and form designer, used to node target process files according to process requirements;
[0025] The process core module is used to publish the process file data package after running the test to the target process engine for running, and save it as the target process file after the debugging run is successful;
[0026] The task center module is connected with each module, and is used for receiving and forwarding the task instructions of the system.
[0027] Optionally, also include:
[0028] The process engine core module is used to obtain the processor configuration data required by the process file from the process definition file to generate a process file compatible with the target process engine;
[0029] The query module is used to issue a query instruction. The task center module receives the query instruction and retrieves the query information from the process engine container according to the index of the query instruction.
[0030] Compared with the prior art, the present invention has the following advantages:
[0031] In the process engine platform creation method and system based on the BPMN2.0 specification of the present invention, the method saves the data stored by the system management service into the process engine container according to the BPMN2.0 specification, and after the process and form designer node-represents the target process file according to the process requirements, the node information is directly searched from the process engine container according to the index, and a process file compatible with the target process engine is generated according to the node information and the configuration rules, and the process file compatible with the target process engine is verified in a test environment. After successful verification, the process file data package is released to the target process engine for operation, and the successfully run file is saved as the created target process file. The method saves various types of node information required for the target process file according to the BPMN2.0 specification, which is convenient for quickly indexing the node information when creating the process, and does not require the connection between various tables. The method has simple call links and transaction links, which can realize fast retrieval, and also reduces the pressure of system operation. BRIEF DESCRIPTION OF THE DRAWINGS
[0032] Figure 1 A schematic diagram of a process engine platform creation method based on BPMN2.0 specification of the present invention;
[0033] Figure 2 This is a schematic diagram of the operation of the core module of the process engine of the present invention;
[0034] Figure 3 It is a schematic diagram of data synchronization between the test environment and the production environment of the present invention;
[0035] Figure 4 A flow chart of the present invention;
[0036] Figure 5 Another flow chart of the present invention;
[0037] Figure 6 A to-do task page of the present invention;
[0038] Figure 7 A work handover task page of the present invention;
[0039] Figure 8 A schematic diagram of security verification for the account service of the present invention;
[0040] Fig. 9 It is a schematic diagram of the system docking logic of the present invention. DETAILED DESCRIPTION
[0041] The present invention will be further described below by describing a preferred specific embodiment in detail in conjunction with the accompanying drawings.
[0042] like Figure 1 As shown, a process engine platform creation method based on BPMN2.0 specification of the present invention comprises:
[0043] S1. Save the data stored by the system management service to the process engine container according to the BPMN2.0 specification.
[0044] In this embodiment, the process engine container contains multiple types of data, and each type of data is saved in a local framework table that can be recognized by the framework of the process and form designer. The local framework table is the form configuration table, which adds different identification information, i.e., table index, to the data according to different types, so as to quickly index the data when the information is needed.
[0045] The process core module extracts and parses the data stored in the computing system management service, converts it into a BpmnModel object according to the BPMN2.0 specification, and based on the custom configuration parameters, converts the BpmnModel object into file element structure data that can be recognized by the framework of the process and form designer at runtime. Finally, the original save interface of the local framework table is called to persist the converted file element structure data to the local framework table. Optionally, the file element structure data is in XML format. In this embodiment, the framework of the process and form designer is the Flowable framework, so the local framework table stores the file element structure data that can be recognized by the Flowable framework.
[0046] In this application, based on the process and form designer that complies with the BPMN2.0 specification, the process core module will avoid configuring data in a configuration file, i.e., the process engine container, to the greatest extent possible, which is conducive to caching of high-frequency data access and migration and release of one-click process design.
[0047] S2. The process and form designer represents the target process file in node form according to process requirements.
[0048] S3. Call data from the process engine container according to the node information.
[0049] S4. Generate a process file compatible with the target process engine based on the node information and configuration rules of the called data.
[0050] When the called data is generated into a process file compatible with the target process engine according to the node information and the configuration rules, the process engine core module obtains the processor configuration data required for the process file from the process definition file to generate a process file compatible with the target process engine, parses the processor account of the process file, creates to-do tasks for the corresponding processor based on this, and asynchronously pushes the status data of the current process to the business system through the message queue middleware.
[0051] That is, Figure 2 As shown, after the process definition is published to the process engine core module, the task center module fills in the relevant business form to initiate the execution process. At this time, the process engine core module starts the corresponding process definition running instance, obtains the required handler configuration data from the process definition file, parses the handler account of the process link, creates the corresponding handler's to-do tasks based on this, and asynchronously pushes the current process status data to the business system (including email, SMS, WeChat notification, etc.) through the message queue middleware. The system includes an independent notification system, which separates the time-consuming and non-essential function of notification messages from the process core module runtime, and executes asynchronously, greatly improving the system operation failure caused by the delay of the associated system.
[0052] During the creation of to-do tasks, the task instance data objects will be assembled and asynchronously flushed into the NoSQL database (the reading database of to-do tasks).
[0053] In this embodiment, the configuration rules include: a) self-selection by the initiator: node configuration that complies with the BPMN 2.0 specification; b) specifying the link handler: directly setting the user number of the handler in the process link; c) specifying the link processing group: setting the group number configured in the background management in the process link; d) specifying the organizational level for link approval: finding the leader of the organization at the corresponding level or the person with the specified role according to the configured level of the organization where the designated person is located; e) specifying the continuous multi-level level of the link: according to the organizational level where the current handler is located, the leader of the organization at the next level is approved step by step, and after the approval of the current level, the leader of the previous level is continued to be found until the approval reaches the configured organizational level; f) specifying the superior supervisor of the link: according to the person with the supervisor role of the organization where the current handler is located. The above configuration rules can simplify the amount of data at runtime, improve the efficiency of the system creation process, and the parsing rules are concise and clear, which is conducive to later expansion.
[0054] S5. Test and run the process file compatible with the target process engine in the test environment.
[0055] S6. The process core module publishes the process file data package after the test run to the target process engine, that is, the production environment for running, and saves the file that has been successfully debugged as the target process file.
[0056] In this embodiment, the process file data package after the test is run includes: process files compatible with the target process engine and compatibility configuration data generated for different environments during the test run.
[0057] like Figure 3 As shown, based on the complete isolation of the test environment (such as the UAT environment) and the production environment (such as the PAT environment), when the new target process file, i.e., the business process, is created, it is necessary to do a full test in the test environment. At this time, there will be a large amount of configuration data. If the production environment is to be recreated for these data, it will be a very large task, and there will even be a high risk of human error. Therefore, in this embodiment, a file based on the JSON structure is redesigned based on the BPMN 2.0 specification. A large amount of configuration data is stored in this file. When generating a synchronization file, more logical verification and compatibility data processing will be performed for data in different environments. Therefore, only a small part of the data (such as user accounts) needs to be manually adjusted during import, and other processes and forms can adapt to the data in the new environment. The above method can reduce the risk of release and greatly improve the efficiency of production deployment, while also retaining the full test results of the test environment.
[0058] After the target process file is created successfully, the corresponding operation flow chart can be generated. Figure 4 and Figure 5 As shown in FIG. 1 , it is a flowchart of the operation of the two target process files created. Further, as Figure 6 As shown, users can view their own to-do tasks in the to-do task area. Based on the unified concept, they can also create a work handover area (see Figure 7 ) for daily operations.
[0059] In actual application, it is often necessary to index certain information, specifically, the query module of the system issues query instructions, the task center module receives query instructions, and retrieves query information from the process engine container according to the index of the query instruction. In daily operation, the data flow pressure involved in the task center module is usually very large, and the file element structure data in the process engine container of the present application has been classified and saved in the local framework table. All data are structural data that can be dynamically assembled to adapt to the page at runtime, and it has a detailed table index design. The present application can directly locate the data and dynamically assemble it according to the table index of the query instruction and the file element structure data during query to obtain the target information, reducing operations such as joining tables during query, and is as close to a single table query as possible, reducing the pressure on the data flow.
[0060] On the other hand, this application sets all interfaces involving queries directly to the task center module and ensures statelessness. When the system service traffic bottleneck, it can dynamically expand the capacity through Docker to cope with the access requirements of higher traffic, avoiding the system from failing due to excessive traffic access. The above design based on the distributed microservice architecture system enables the system to have the advantages of supporting high concurrency and rapid scalability. At the same time, it uses the task center module as a unified system entrance, simplifies the decentralized entrances of multiple systems, and greatly improves the user experience and efficiency.
[0061] Based on the same inventive concept, the present invention also discloses a system that adopts the process engine platform creation method based on the BPMN2.0 specification, and the system includes: a process engine container, a process and form designer, a process core module and a task center module.
[0062] Among them, the process engine container is used to store the data stored by the system management service saved in accordance with the BPMN2.0 specification; the process and form designer is used to node the target process file according to the process requirements; the process core module is used to publish the process file data package after the running test to the target process engine for running, and save it as the target process file after the debugging run is successful; the task center module is connected to each module, and the task center module is used to receive and forward the system's task instructions.
[0063] Furthermore, the system of the present invention that adopts the process engine platform creation method based on the BPMN2.0 specification also includes a process engine core module and a query module. The process engine core module is used to obtain the processor configuration data required for the process file from the process definition file to generate a process file compatible with the target process engine; the query module is used to issue query instructions, the task center module receives the query instructions, and retrieves the query information from the process engine container according to the index of the query instruction. Of course, the system is not limited to including the above modules, and other functional modules can also be set according to needs, and this application does not limit this.
[0064] According to the above modules, multi-task creation can be realized in the system. For example, as shown in Table 1 below, the following service deployment units can be included. Each service deployment unit serves user management, role management, menu management, resource management, scheduled task management, batch management, data dictionary management, system parameter management, and process management (process approval group management, process form management, flow chart design management, and advanced parameter management of process execution logic). Of course, the service deployment units in the system are not limited to the above. After demand analysis, the corresponding target process file nodes, i.e., process form and business process diagram nodes, can be directly created with the help of the above modules, and the execution can be released according to the nodes of the target process file.
[0065] Table 1 Service deployment units and their categories
[0066]
[0067] After the node of the target process file is published and executed, the target process file can be initiated. The initiation of the target process file requires the creation of a form page for the corresponding process template. At this time, the form configuration data is extracted from the local framework table, i.e., the form configuration table. The front-end process and form designer completes the rendering of the form and generates a process file compatible with the target process engine. The process file compatible with the target process engine is tested and run in the test environment. The process core module publishes the process file data package after the test run to the target process engine for execution. After the debugging run is successful, it is saved as the target process file. When running in the target process engine, the user information is supplemented, modified and improved. After the task center module records the relevant data, it calls the process core module to execute the creation of the target process file.
[0068] After the target process file is successfully created, the process begins to execute. The user fills in personal login information. At this time, the request message or query instruction and other information are received and forwarded by the task center module, and then the process is executed.
[0069] like Figure 8As shown, in order to achieve system security, the account service of the system can adopt a secure verification method. Specifically: 1) The account service uses the private key in the stored JWK key pair to create a JWT token, which contains encryption method, user basic information and signature information; the account service parses the public key JWK from the stored JWK key and opens it to other services through HTTP (especially gateway access).
[0070] 2) The gateway uses a filter to parse the Authorization attribute in the Header of all requests, and uses the Nimbus library to verify the signature of the parsed JWT token; parses the role of the current user from the token, and obtains the corresponding permissions from Redis through the role to verify whether the current request is compliant.
[0071] After the task center module successfully initiates the process, the process core module can generate to-do tasks based on many calculations. At this time, when viewing the to-do tasks on the page of the task center module, a request is made to query the data of the to-do task table from the task center module.
[0072] Enter the To-Do Task Management page or the To-Do Task Details page in the Task Center module to perform routine operations such as approval, rejection, urging, transfer, additional signature, and upgrade of tasks. Users with corresponding permissions can also perform operations such as withdrawal and termination. Furthermore, users with higher permissions in the Task Center module can also perform detailed process runtime management.
[0073] In this embodiment, the to-do tasks can be designed as a hot and cold table mode, that is, once the to-do tasks are completed, the tasks are moved to the completed table, rather than using the status field used in the market to identify them, so as to improve the performance of large tables with high-frequency access data.
[0074] like Fig. 9 As shown, in terms of system docking, other business systems are connected to the process engine platform of this application, i.e., the task center module, through channel services. All interfaces (startup, task completion, task rejection, etc.) are entered through synchronous interfaces, and the data of the process status is responded to synchronously. When the state data of the process engine platform, i.e., the task center module, changes, the event is put into the message queue (RabbitMQ) through the process core module, and the message queue is listened to in the push service, and the process status data notification is executed asynchronously. If there is an error in the business system, the corresponding interface is called again through the batch processing or message queue retry mechanism to achieve the robustness of synchronization.
[0075] In summary, in a process engine platform creation method and system based on the BPMN2.0 specification of the present invention, the method saves the data stored by the system management service into the process engine container according to the BPMN2.0 specification, and after the process and form designer node-represents the target process file according to the process requirements, the node information is directly searched from the process engine container according to the index, and a process file compatible with the target process engine is generated according to the configuration rules based on the node information, and the process file compatible with the target process engine is verified in a test environment. After successful verification, the process file data package is released to the target process engine for operation, and the successfully run file is saved as the created target process file. The method saves various types of node information required for the target process file according to the BPMN2.0 specification, which is convenient for quickly indexing the node information when creating the process, and does not require connections between various tables. The method has simple call links and transaction links, which can achieve rapid retrieval, and also reduces the pressure of system operation.
[0076] Furthermore, this method pre-processes the data stored in the system management service. The data is assembled with identification information before being called, and there is no need to join too many tables during actual query operation, which improves development efficiency and operation efficiency, and has a natural advantage in large-scale user and multi-transaction operations. This method is based on a distributed microservice architecture system and has the advantages of high concurrency and rapid scalability.
[0077] Furthermore, the method has an independent message notification system, which separates the time-consuming and non-essential message notification function from the core module of the process and executes it asynchronously, thus greatly avoiding the operation failure of the system caused by the delay of the associated system.
[0078] Although the content of the present invention has been described in detail through the above preferred embodiments, it should be appreciated that the above description should not be considered as a limitation of the present invention. After reading the above content, it will be apparent to those skilled in the art that various modifications and substitutions of the present invention will occur. Therefore, the protection scope of the present invention should be limited by the appended claims.
Claims
1. A method for creating a process engine platform based on BPMN2.0 specification, characterized in that: Include: Save the data stored in the system management service to the process engine container according to the BPMN2.0 specification; The process and form designer represents the target process file in nodes according to the process requirements; Call data from the process engine container based on node information; Generate a process file compatible with the target process engine based on the node information and configuration rules of the called data; Test and run the process files compatible with the target process engine; The process core module publishes the process file data package after the test run to the target process engine for running, and saves it as the target process file after the debugging run is successful; The process file data package after the test run includes: process files compatible with the target process engine and compatibility configuration data generated for different environments during the test run.
2. The method for creating a process engine platform based on the BPMN2.0 specification as claimed in claim 1, characterized in that: The process engine container contains multiple types of data, and each type of data is correspondingly saved in a local framework table that can be recognized by the framework of the process and form designer.
3. The method for creating a process engine platform based on the BPMN2.0 specification as claimed in claim 2, characterized in that: Parse and calculate the data stored in the system management service, convert it into a BpmnModel object according to the BPMN2.0 specification, and based on the custom configuration parameters, convert the BpmnModel object into file element structure data that can be recognized by the framework of the process and form designer. Call the original save interface of the local framework table to persist the file element structure data to the local framework table.
4. The method for creating a process engine platform based on the BPMN2.0 specification as claimed in claim 2, characterized in that: The framework of the process and form designer is the Flowable framework.
5. The method for creating a process engine platform based on the BPMN2.0 specification as claimed in claim 1, characterized in that: When the called data is generated into a process file compatible with the target process engine according to the node information and the configuration rules, the process engine core module obtains the processor configuration data required for the process file from the process definition file to generate a process file compatible with the target process engine, parses the processor account of the process file, creates to-do tasks for the corresponding processor based on this, and asynchronously pushes the status data of the current process to the business system through the message queue middleware.
6. The method for creating a process engine platform based on the BPMN2.0 specification as claimed in claim 5, characterized in that: The configuration rules include: self-selection by the initiator, designated link processor, designated link processing group, designated link approval organizational level, designated link continuous multi-level hierarchy, and designated link superior supervisor.
7. The method for creating a process engine platform based on the BPMN2.0 specification as claimed in claim 1, characterized in that: Also includes: The query module issues a query instruction, the task center module receives the query instruction, and retrieves the query information from the process engine container according to the index of the query instruction.
8. A system using the method for creating a process engine platform based on the BPMN2.0 specification as claimed in any one of claims 1 to 7, characterized in that: Include: The process engine container is used to store data stored by the system management service in accordance with the BPMN2.0 specification; Process and form designer, used to node target process files according to process requirements; The process core module is used to publish the process file data package after running the test to the target process engine for running, and save it as the target process file after the debugging run is successful; The task center module is connected with each module, and is used for receiving and forwarding the task instructions of the system.
9. The system using the process engine platform creation method based on BPMN2.0 specification as claimed in claim 8, characterized in that: Also includes: The process engine core module is used to obtain the processor configuration data required by the process file from the process definition file to generate a process file compatible with the target process engine; The query module is used to issue a query instruction. The task center module receives the query instruction and retrieves the query information from the process engine container according to the index of the query instruction.
Citation Information
Patent Citations
Workflow module based on Activiti and service interaction method
CN112445472A