In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc.

2025/09/2319:26:42 technology 1654

Introduction: This article will share the definition and architectural design of modern process engines for you.

In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews What is a process engine

Process engine is an underlying support platform developed and designed to provide process processing. The relationship between the process engine and process applications, as well as the application, is shown in the figure below.

In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

Common support scenarios include: Workflow, BPM, process orchestration, etc. This sharing mainly starts from the BPM process engine and introduces the architectural design methods of the process engine.

In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews.1 What is a process

Simply put, the process is a combination of a series of activities. For example, in the OA system used in corporate offices, there are a large number of application approval processes. In the production and manufacturing industry, there are a large number of production and sales processes from sales orders to production and manufacturing, and then to signing and collecting payments. In the field of machine learning , there are applications of big data processing and machine learning of Amazon AWS Sagemaker. In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. In terms of process implementation,

can be mainly divided into two implementation methods. One is to implement it with code. For example: use code to implement an overtime application, then you have to connect to SSO yourself for single sign-in, get the initiator and approver information through the interface, and save the form data at the same time.

Another way is to use a process engine to implement it. The process engine connects the data required for application scenarios, such as overtime application, process engine connects SSO, OU, approver configuration, permissions, etc. To achieve such a process, you only need to care about process configuration, process nodes and process forms. Process flow and process data processing are all completed through the process engine. The process engine can be quickly implemented in the process, which is also the value of the process engine.

In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews.2 What is engine

Generally speaking, the engine is a support part of a program or a system. Common program engines include game engines, search engines, antivirus engines, etc. An engine is a highly abstract and encapsulation of a certain type of business scenario that is separated from a specific business scenario.

For example, an OA company encapsulates a set of workflows for approval, and implementers only need to configure processes and forms to deliver projects. For example, a company in the United States made an AI engine to recommend NBA (Next Best Action), encapsulating common algorithms in the recommendation field, automatically selecting and combining multiple algorithms in different scenarios, and performing intelligent recommendations.

In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews.3 Process Designer

Process Designer is the link between the process and the engine. Through the process designer, the user solidifies a certain layout and rule into a certain process, and then uses the process engine to automatically execute it according to a certain solidified process through the data and data context. I divided the theoretical basis of the process designer I have seen so far into the following three categories: custom system; activity diagram system in UML; BPMN system.

In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews.3.1 Custom system

for Sagemaker and other scenarios AWS Step Function (custom process node)

In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews.3.2 UML Activity Diagram

Flowportal BPM process designer

In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews.3.3 BPMN system

activiti The process designer

In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

Yanhuangyingdong process designer

In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

Off-topic: Yanhuangyingying's process designer is almost the same as the process designer interface in processon, because it is essentially one.

 Application of process engine 
.1 Workflow

Workflow Management Coalition (WfMC) was established as a standardized organization for workflow management.

WfMC defines workflow as: a workflow refers to a type of business process that can be fully automatically executed. According to a series of process rules, documents, information or tasks are passed and executed between different executors.

Introduction: This article will share the definition and architectural design of modern process engines for you.

In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews What is a process engine

Process engine is an underlying support platform developed and designed to provide process processing. The relationship between the process engine and process applications, as well as the application, is shown in the figure below.

In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

Common support scenarios include: Workflow, BPM, process orchestration, etc. This sharing mainly starts from the BPM process engine and introduces the architectural design methods of the process engine.

In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews.1 What is a process

Simply put, the process is a combination of a series of activities. For example, in the OA system used in corporate offices, there are a large number of application approval processes. In the production and manufacturing industry, there are a large number of production and sales processes from sales orders to production and manufacturing, and then to signing and collecting payments. In the field of machine learning , there are applications of big data processing and machine learning of Amazon AWS Sagemaker. In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. In terms of process implementation,

can be mainly divided into two implementation methods. One is to implement it with code. For example: use code to implement an overtime application, then you have to connect to SSO yourself for single sign-in, get the initiator and approver information through the interface, and save the form data at the same time.

Another way is to use a process engine to implement it. The process engine connects the data required for application scenarios, such as overtime application, process engine connects SSO, OU, approver configuration, permissions, etc. To achieve such a process, you only need to care about process configuration, process nodes and process forms. Process flow and process data processing are all completed through the process engine. The process engine can be quickly implemented in the process, which is also the value of the process engine.

In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews.2 What is engine

Generally speaking, the engine is a support part of a program or a system. Common program engines include game engines, search engines, antivirus engines, etc. An engine is a highly abstract and encapsulation of a certain type of business scenario that is separated from a specific business scenario.

For example, an OA company encapsulates a set of workflows for approval, and implementers only need to configure processes and forms to deliver projects. For example, a company in the United States made an AI engine to recommend NBA (Next Best Action), encapsulating common algorithms in the recommendation field, automatically selecting and combining multiple algorithms in different scenarios, and performing intelligent recommendations.

In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews.3 Process Designer

Process Designer is the link between the process and the engine. Through the process designer, the user solidifies a certain layout and rule into a certain process, and then uses the process engine to automatically execute it according to a certain solidified process through the data and data context. I divided the theoretical basis of the process designer I have seen so far into the following three categories: custom system; activity diagram system in UML; BPMN system.

In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews.3.1 Custom system

for Sagemaker and other scenarios AWS Step Function (custom process node)

In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews.3.2 UML Activity Diagram

Flowportal BPM process designer

In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews.3.3 BPMN system

activiti The process designer

In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

Yanhuangyingdong process designer

In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

Off-topic: Yanhuangyingying's process designer is almost the same as the process designer interface in processon, because it is essentially one.

 Application of process engine 
.1 Workflow

Workflow Management Coalition (WfMC) was established as a standardized organization for workflow management.

WfMC defines workflow as: a workflow refers to a type of business process that can be fully automatically executed. According to a series of process rules, documents, information or tasks are passed and executed between different executors.

In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

In workflow, the process engine is mainly used to support process approval and data flow, and the application scenarios are very wide. Foreign products (open source or commercial use) usually have relatively simple requirements and operations, and are not as complicated as domestic demands. Domestic products have undergone the training of many customers and are currently relatively powerful. Generally speaking, the most commonly used scenarios of workflow are the OA products. In OA office, it contains a large number of elements in corporate offices, which are enough to form specific products, such as portal systems and mobile offices. During the implementation of OA projects, industry solutions and thematic solutions can be formed based on industry and business priorities. Here are some OA company products and solutions.

In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

.2 BPM (Business Process Management) 

Workflow mainly solves approval and data flow, while BPM mainly solves end-to-end, information islands and other problems. Most customers who use BPM products build systems based on BPM, such as OA, CRM, HR and other systems on BPM. The usage scenarios of

BPM are more extensive than Workflow. The BPM products include a large number of components that interact with third-party systems and custom SQL and code components.

For example, the file trigger in the BPM system can automatically trigger process instances by monitoring the files in on the FTP server in interactive scenarios such as customs; data synchronization can be performed automatically through the timer Timer, and the synchronization results are notified to relevant operation members through the Mail node. The applications of

In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

BPM can be divided into before, during and after execution.

In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

.3 Process Orchestration 

Process Orchestration is a higher level of abstraction separated from the process business field. Users can customize their business through the process orchestration system and combine their own business scenarios. For example, the relevant business code can be encapsulated into functions, and then the functions of different businesses can be associated and scheduled through the FAAS platform of the cloud vendor platform to complete a certain task.

Architecture design of process engine

Given that some friends may not have used or contacted the process engine, we will first introduce the components of the process engine, and then introduce how projects based on a certain BPM product are developed. Through BPM project development, we have a preliminary understanding of the role of process engines.

.1 The component unit of the BPM process engine
  • organization, role, users, and members organizational structure hosting;
    • process resource files configuration, verification, storage and execution, for different process nodes, the process engine automatically combines configuration and data to process the corresponding business logic, and the process data is automatically processed;
    • form configuration and data binding, and the form data is automatically processed according to the process configuration;
    • common data interface;
    .1.1 Organizational structure design

    In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

    .1.2 Process Designer

    Process Designer contains the list of grouped nodes on the left and the canvas on the right. The node on the left can be designed as follows.

    In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

    Question: How to parse a flowchart in XML or JSON format?

    Different nodes configure different configuration items according to different business scenarios. For example, for Human Node, you need to configure the approver, configure the display form for the approval process, which fields can be modified in the approval process, and which fields need to be modified in the approval process.

    .1.3 Form Designer

    In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

    In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

    This is to generate a form according to the form-related data table, and then configure and bind the form fields.

    In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

    In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

    This is the Drag&Drop control, and then configure the control's properties, such as binding fields, etc.

    In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

    This is a Drag&Drop control. The form

    In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

    is a Drag&Drop control. It does not need to associate the database table field. The summary process of generating a form in the data table is shown in the figure below.The summary process of dragging and dropping controls to bind data table fields is as follows.

    In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

    Drag and drop control without binding data table fields. It is more convenient to save using the Document record of NoSQL or using the JSON type provided by RDS.

    In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

    .1.4 Interface design

    combined with Activity interface design, as shown in the figure below

    In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

    When some systems create a process task, they must first create an application example according to the process template, then associate the initiator and notes, call RuntimeService, and execute it to StartNode. This type of design varies from person to person, and it is a bit cumbersome to do so.

    .2 Project development practice based on process engine .2.1 Process project practice process
  • determines organizational structure
    • determines process, including process layout, approver settings, permissions
    • determines form information (fields, types, data sources, verification rules) and form style
    • determines page layout, style, data fields, search, import, export
    • report
    .2.2 Organizational Structure

    Organizational Structure Implementation, there are two methods: one is to manage data according to dimensions, and the other is to manage under the same organizational structure tree.

    performs data management according to different dimensions such as group, company, department, user, etc. It is relatively common and will not be discussed here. The following figure is an example of maintaining data by dimensions.

    In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

    is maintained according to the same organizational structure tree, and the interface is generally displayed as the left tree and right table. Most commercial products will cache this organizational structure tree in memory to facilitate the reviewer to find and open windows to select OrgUnit, Role, User, Member and other scenarios. Member was introduced to solve scenarios such as multiple-person positions. Generally, when initiating the process, you need to bring out the Member list owned by the initiator, so that the subsequent nodes can obtain the appropriate approver.

    In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

    For organizational structure, it is necessary to consider that the system itself must have the ability to store OU. For users who do not have an organizational structure, they can directly create a new organizational structure in the system's organizational structure. At the same time, for customers with existing systems, data maintenance can be carried out automatically through organizational structure data synchronization. For customers who use internal control of AD domains, they need to have the ability to authenticate the identity of AD domains. For complex scenarios, such as the user is SaaS-based, the organizational structure also needs to be internal to the system to support the use of APIs to obtain organizational information.

    So when designing the organizational structure, you need to use plug-ins to do it. The specific plug-in can be configured in the configuration file. The following is an example of the organizational structure operation interface for a commercial product.

    In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

    Common organizational structure operations include organizational structure synchronization, such as process system synchronization WeChat enterprise account , Dingding , etc., which will not be expanded here.

    .2.3 Process Design

    The process we imagine may be to the following simple process.

    In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

    . The actual project encounters the process generally in the scenario shown in the figure below.

    In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

    Preliminary view of the model files of several processes looks like, and I will first have an impression.

    In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

    ?xml version="1.0" encoding="UTF-8" ?definitions id="definitions"targetNamespace="http://activiti.org/bpmn20"xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:activiti="http://activiti.org/bpmn"process id="vacationRequestt" name="Vacation request"startEvent id="request" activity:initiator="employeeName"extensionElementsactiviti:formProperty id="numberOfDays" name="Number of days" type="long" value="1" required="true"/activiti:formProperty id="startDate" name="First day of holiday (dd-MM-yyy)" datePattern="dd-MM-yyyy hh:mm" type="date" required="true" /activiti:formProperty id="vacationMotivation" name="Motivation" type="string" //extensionElements/startEventsequenceFlow id="flow1" sourceRef="requestt" targetRef="handleRequest" /userTask id="handleRequest" name="Handle vacation request" documentation${employeeName} would like to take ${numberOfDays} day(s) of vacation (Motivation: ${vacationMotivation})./documentationextensionElementsactiviti:formProperty id="vacationApproved" name="Do you approve this vacation" type="enum" required="true" activity:value id="true" name="Approve" /activiti:value id="false" name="Reject" //activiti:formProperty id="managerMotivation" name="Motivation" type="string" //extensionElementspotentialOwnerresourceAssignmentExpressionformalExpressionmanagement/formalExpression/resourceAssignmentExpression/potentialOwner/userTasksequenceFlow id="flow2" sourceRef="handleRequest" targetRef="requestApprovedDecision" /exclusiveGateway id="requestApprovedDecision" name="Request approved?" /sequenceFlow id="flow3" sourceRef="requestApprovedDecision" targetRef="sendApprovalMail" conditionExpression xsi:type="tFormalExpression"${vacationApproved == 'true'}/conditionExpression/sequenceFlowtask id="sendApprovalMail" name="Send confirmation e-mail" /sequenceFlow id="flow4" sourceRef="sendApprovalMail" targetRef="theEnd1" /endEvent id="theEnd1" /sequenceFlow id="flow5" sourceRef="requestApprovedDecision" targetRef="adjustVacationRequestTask" conditionExpression xsi:type="tFormalExpression"${vacationApproved == 'false'}/conditionExpression/sequenceFlowuserTask id="adjustVacationRequestTask" name="Adjust vacation request"documentationYour manager has disapproved your vacation request for ${numberOfDays} days.Reason: ${managerMotivation}/documentationextensionElementsactiviti:formProperty id="numberOfDays" name="Number of days" value="${numberOfDays}" type="long" required="true"/activiti:formProperty id="startDate" name="First day of holiday (dd-MM-yyyy)" value="${startDate}" datePattern="dd-MM-yyyy hh:mm" type="date" required="true" /activiti:formProperty id="vacationMotivation" name="Motivation" value="${vacationMotivation}" type="string" /activiti:formProperty id="resendRequest" name="Resend vacation request to manager?" type="enum" required="true" activiti:value id="true" name="Yes" /activiti:value id="false" name="No" //activiti:formProperty/extensionElementshumanPerformerresourceAssignmentExpressionformalExpression${employeeName}/formalExpression/resourceAssignmentExpression/humanPerformer/userTasksequenceFlow id="flow6" sourceRef="adjustVacationRequestTask" targetRef="resendRequestDecision" /exclusiveGateway id="resendRequestDecision" name="Resend request?" /sequenceFlow id="flow7" sourceRef="resendRequestDecision" targetRef="handleRequest"conditionExpression xsi:type="tFormalExpression"${resendRequest == 'true'}/conditionExpression/sequenceFlowsequenceFlow id="flow8" sourceRef="resendRequestDecision" targetRef="theEnd2" conditionExpression xsi:type="tFormalExpression"${resendRequest == 'false'}/conditionExpression/sequenceFlowendEvent id="theEnd2" //process/definitions

    A process that can’t be completed even with screenshots. If you use code to implement the entire process, the workload and efficiency can be imagined.When actually doing projects and using product based on process engines to do projects, you only need to determine nodes, node configurations, data configurations and permissions.

    Question: Generally, nodes with email notifications are all nodes. How to implement email notification nodes? Please consider the following scenarios. When the

    process flows and executes, you will encounter various errors, such as not being able to find the approver, etc. At this time, the process engine needs to rollback the data, and the business logic of the email notification node has been executed. In terms of permissions, for process resources, which departments can apply and which roles cannot be applied, process control should be done. During the process execution, process data and related persons who are not traveling should not see the process. Approvers who have processed the process cannot process the process any more. These are all issues that need to be considered in terms of authority.

    .2.4 Form design

    The form shown in the figure below can be analyzed. A process form has multiple main table information and multiple subtable information. Generally speaking, if non-process data processing is performed through the process engine, the sub-table is associated with the main table ID. If the process data processing is performed through the process engine, the sub-table and the main table are associated with the TaskId. The following is an example.

    In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

    process system requires a form designer. Different nodes of a process can attach different forms to facilitate people of different roles to pay attention to process information in different dimensions.

    .2.5 Page design

    Generally speaking, the initiation, approval, history, etc. of the process are all a general system interface. For some business scenarios, a list interface needs to be made separately for easy use. For customers who already have portal systems, they need to integrate their interface styles. The following are examples of projects that have been done before.

    In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

    In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

    .2.6 Report

    Since not all customers have a report system, the process system needs to have a basic report function. The following figure is an example.

    In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

    Customers with a report system can use their commercial version of the report system to obtain (directly fetch and count warehouse) data for display. Common reporting systems include FineReport, Tableau, PowerBI, etc.

    .3 BPM process engine architecture design .3.1 Process engine architecture design

    In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

    .3.2 Initiate the process

    In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

    Process engine processing process

    In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

    Execute node processing process

    In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

    Problem: During the process engine processing, if a node has multiple connections, how to find out that FromNodeId is a connection to a certain Node? During manual processing, specify the connection texttml7

    .4 Process engine architecture design

    In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

    .4.1 Business identification
  • identify configuration items in business scenarios, and use collection or grouping methods to enable business configuration
    • to support business process configurable
    • to support business process data, and automatically process
    .4.2 Implementation of process engine
  • resource-related services, resource loading, resource storage, resource encryption, etc.
    • configuration related services
    • PVM implementation, that is, through a certain node (the starting node is the starting node) as the initial node, the node is automatically executed according to the action of a certain connection.
    • data configuration, data permissions
    • process data and business data automatic processing
    Business Opportunities
  • Business Process Analysis (BPA) Process analysis helps enterprises to adjust and optimize the process asset library of
    • Process Assets Library (PAL) process asset library, knowledge-based precipitation of enterprise processes, and binding systems and processes to make the approver know the corresponding responsibilities in the process
    • Process Simulate process simulation, automated test
    • Process Forecast Process prediction
    • low-code platform
    • wider opportunities lie in business areas + process engines, such as: DevOps, RPA, application and service orchestration, data orchestration, FaaS orchestration, etc.
    • Author: Ma Rui

      Source: 21CTO

      Typesetting: Lao Li

      The summary process of dragging and dropping controls to bind data table fields is as follows.

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

      Drag and drop control without binding data table fields. It is more convenient to save using the Document record of NoSQL or using the JSON type provided by RDS.

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

      .1.4 Interface design

      combined with Activity interface design, as shown in the figure below

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

      When some systems create a process task, they must first create an application example according to the process template, then associate the initiator and notes, call RuntimeService, and execute it to StartNode. This type of design varies from person to person, and it is a bit cumbersome to do so.

      .2 Project development practice based on process engine .2.1 Process project practice process
    • determines organizational structure
      • determines process, including process layout, approver settings, permissions
      • determines form information (fields, types, data sources, verification rules) and form style
      • determines page layout, style, data fields, search, import, export
      • report
      .2.2 Organizational Structure

      Organizational Structure Implementation, there are two methods: one is to manage data according to dimensions, and the other is to manage under the same organizational structure tree.

      performs data management according to different dimensions such as group, company, department, user, etc. It is relatively common and will not be discussed here. The following figure is an example of maintaining data by dimensions.

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

      is maintained according to the same organizational structure tree, and the interface is generally displayed as the left tree and right table. Most commercial products will cache this organizational structure tree in memory to facilitate the reviewer to find and open windows to select OrgUnit, Role, User, Member and other scenarios. Member was introduced to solve scenarios such as multiple-person positions. Generally, when initiating the process, you need to bring out the Member list owned by the initiator, so that the subsequent nodes can obtain the appropriate approver.

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

      For organizational structure, it is necessary to consider that the system itself must have the ability to store OU. For users who do not have an organizational structure, they can directly create a new organizational structure in the system's organizational structure. At the same time, for customers with existing systems, data maintenance can be carried out automatically through organizational structure data synchronization. For customers who use internal control of AD domains, they need to have the ability to authenticate the identity of AD domains. For complex scenarios, such as the user is SaaS-based, the organizational structure also needs to be internal to the system to support the use of APIs to obtain organizational information.

      So when designing the organizational structure, you need to use plug-ins to do it. The specific plug-in can be configured in the configuration file. The following is an example of the organizational structure operation interface for a commercial product.

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

      Common organizational structure operations include organizational structure synchronization, such as process system synchronization WeChat enterprise account , Dingding , etc., which will not be expanded here.

      .2.3 Process Design

      The process we imagine may be to the following simple process.

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

      . The actual project encounters the process generally in the scenario shown in the figure below.

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

      Preliminary view of the model files of several processes looks like, and I will first have an impression.

      Introduction: This article will share the definition and architectural design of modern process engines for you.

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews What is a process engine

      Process engine is an underlying support platform developed and designed to provide process processing. The relationship between the process engine and process applications, as well as the application, is shown in the figure below.

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

      Common support scenarios include: Workflow, BPM, process orchestration, etc. This sharing mainly starts from the BPM process engine and introduces the architectural design methods of the process engine.

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews.1 What is a process

      Simply put, the process is a combination of a series of activities. For example, in the OA system used in corporate offices, there are a large number of application approval processes. In the production and manufacturing industry, there are a large number of production and sales processes from sales orders to production and manufacturing, and then to signing and collecting payments. In the field of machine learning , there are applications of big data processing and machine learning of Amazon AWS Sagemaker. In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. In terms of process implementation,

      can be mainly divided into two implementation methods. One is to implement it with code. For example: use code to implement an overtime application, then you have to connect to SSO yourself for single sign-in, get the initiator and approver information through the interface, and save the form data at the same time.

      Another way is to use a process engine to implement it. The process engine connects the data required for application scenarios, such as overtime application, process engine connects SSO, OU, approver configuration, permissions, etc. To achieve such a process, you only need to care about process configuration, process nodes and process forms. Process flow and process data processing are all completed through the process engine. The process engine can be quickly implemented in the process, which is also the value of the process engine.

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews.2 What is engine

      Generally speaking, the engine is a support part of a program or a system. Common program engines include game engines, search engines, antivirus engines, etc. An engine is a highly abstract and encapsulation of a certain type of business scenario that is separated from a specific business scenario.

      For example, an OA company encapsulates a set of workflows for approval, and implementers only need to configure processes and forms to deliver projects. For example, a company in the United States made an AI engine to recommend NBA (Next Best Action), encapsulating common algorithms in the recommendation field, automatically selecting and combining multiple algorithms in different scenarios, and performing intelligent recommendations.

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews.3 Process Designer

      Process Designer is the link between the process and the engine. Through the process designer, the user solidifies a certain layout and rule into a certain process, and then uses the process engine to automatically execute it according to a certain solidified process through the data and data context. I divided the theoretical basis of the process designer I have seen so far into the following three categories: custom system; activity diagram system in UML; BPMN system.

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews.3.1 Custom system

      for Sagemaker and other scenarios AWS Step Function (custom process node)

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews.3.2 UML Activity Diagram

      Flowportal BPM process designer

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews.3.3 BPMN system

      activiti The process designer

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

      Yanhuangyingdong process designer

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

      Off-topic: Yanhuangyingying's process designer is almost the same as the process designer interface in processon, because it is essentially one.

       Application of process engine 
      .1 Workflow

      Workflow Management Coalition (WfMC) was established as a standardized organization for workflow management.

      WfMC defines workflow as: a workflow refers to a type of business process that can be fully automatically executed. According to a series of process rules, documents, information or tasks are passed and executed between different executors.

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

      In workflow, the process engine is mainly used to support process approval and data flow, and the application scenarios are very wide. Foreign products (open source or commercial use) usually have relatively simple requirements and operations, and are not as complicated as domestic demands. Domestic products have undergone the training of many customers and are currently relatively powerful. Generally speaking, the most commonly used scenarios of workflow are the OA products. In OA office, it contains a large number of elements in corporate offices, which are enough to form specific products, such as portal systems and mobile offices. During the implementation of OA projects, industry solutions and thematic solutions can be formed based on industry and business priorities. Here are some OA company products and solutions.

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

      .2 BPM (Business Process Management) 

      Workflow mainly solves approval and data flow, while BPM mainly solves end-to-end, information islands and other problems. Most customers who use BPM products build systems based on BPM, such as OA, CRM, HR and other systems on BPM. The usage scenarios of

      BPM are more extensive than Workflow. The BPM products include a large number of components that interact with third-party systems and custom SQL and code components.

      For example, the file trigger in the BPM system can automatically trigger process instances by monitoring the files in on the FTP server in interactive scenarios such as customs; data synchronization can be performed automatically through the timer Timer, and the synchronization results are notified to relevant operation members through the Mail node. The applications of

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

      BPM can be divided into before, during and after execution.

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

      .3 Process Orchestration 

      Process Orchestration is a higher level of abstraction separated from the process business field. Users can customize their business through the process orchestration system and combine their own business scenarios. For example, the relevant business code can be encapsulated into functions, and then the functions of different businesses can be associated and scheduled through the FAAS platform of the cloud vendor platform to complete a certain task.

      Architecture design of process engine

      Given that some friends may not have used or contacted the process engine, we will first introduce the components of the process engine, and then introduce how projects based on a certain BPM product are developed. Through BPM project development, we have a preliminary understanding of the role of process engines.

      .1 The component unit of the BPM process engine
    • organization, role, users, and members organizational structure hosting;
      • process resource files configuration, verification, storage and execution, for different process nodes, the process engine automatically combines configuration and data to process the corresponding business logic, and the process data is automatically processed;
      • form configuration and data binding, and the form data is automatically processed according to the process configuration;
      • common data interface;
      .1.1 Organizational structure design

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

      .1.2 Process Designer

      Process Designer contains the list of grouped nodes on the left and the canvas on the right. The node on the left can be designed as follows.

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

      Question: How to parse a flowchart in XML or JSON format?

      Different nodes configure different configuration items according to different business scenarios. For example, for Human Node, you need to configure the approver, configure the display form for the approval process, which fields can be modified in the approval process, and which fields need to be modified in the approval process.

      .1.3 Form Designer

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

      This is to generate a form according to the form-related data table, and then configure and bind the form fields.

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

      This is the Drag&Drop control, and then configure the control's properties, such as binding fields, etc.

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

      This is a Drag&Drop control. The form

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

      is a Drag&Drop control. It does not need to associate the database table field. The summary process of generating a form in the data table is shown in the figure below.The summary process of dragging and dropping controls to bind data table fields is as follows.

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

      Drag and drop control without binding data table fields. It is more convenient to save using the Document record of NoSQL or using the JSON type provided by RDS.

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

      .1.4 Interface design

      combined with Activity interface design, as shown in the figure below

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

      When some systems create a process task, they must first create an application example according to the process template, then associate the initiator and notes, call RuntimeService, and execute it to StartNode. This type of design varies from person to person, and it is a bit cumbersome to do so.

      .2 Project development practice based on process engine .2.1 Process project practice process
    • determines organizational structure
      • determines process, including process layout, approver settings, permissions
      • determines form information (fields, types, data sources, verification rules) and form style
      • determines page layout, style, data fields, search, import, export
      • report
      .2.2 Organizational Structure

      Organizational Structure Implementation, there are two methods: one is to manage data according to dimensions, and the other is to manage under the same organizational structure tree.

      performs data management according to different dimensions such as group, company, department, user, etc. It is relatively common and will not be discussed here. The following figure is an example of maintaining data by dimensions.

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

      is maintained according to the same organizational structure tree, and the interface is generally displayed as the left tree and right table. Most commercial products will cache this organizational structure tree in memory to facilitate the reviewer to find and open windows to select OrgUnit, Role, User, Member and other scenarios. Member was introduced to solve scenarios such as multiple-person positions. Generally, when initiating the process, you need to bring out the Member list owned by the initiator, so that the subsequent nodes can obtain the appropriate approver.

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

      For organizational structure, it is necessary to consider that the system itself must have the ability to store OU. For users who do not have an organizational structure, they can directly create a new organizational structure in the system's organizational structure. At the same time, for customers with existing systems, data maintenance can be carried out automatically through organizational structure data synchronization. For customers who use internal control of AD domains, they need to have the ability to authenticate the identity of AD domains. For complex scenarios, such as the user is SaaS-based, the organizational structure also needs to be internal to the system to support the use of APIs to obtain organizational information.

      So when designing the organizational structure, you need to use plug-ins to do it. The specific plug-in can be configured in the configuration file. The following is an example of the organizational structure operation interface for a commercial product.

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

      Common organizational structure operations include organizational structure synchronization, such as process system synchronization WeChat enterprise account , Dingding , etc., which will not be expanded here.

      .2.3 Process Design

      The process we imagine may be to the following simple process.

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

      . The actual project encounters the process generally in the scenario shown in the figure below.

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

      Preliminary view of the model files of several processes looks like, and I will first have an impression.

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

      ?xml version="1.0" encoding="UTF-8" ?definitions id="definitions"targetNamespace="http://activiti.org/bpmn20"xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:activiti="http://activiti.org/bpmn"process id="vacationRequestt" name="Vacation request"startEvent id="request" activity:initiator="employeeName"extensionElementsactiviti:formProperty id="numberOfDays" name="Number of days" type="long" value="1" required="true"/activiti:formProperty id="startDate" name="First day of holiday (dd-MM-yyy)" datePattern="dd-MM-yyyy hh:mm" type="date" required="true" /activiti:formProperty id="vacationMotivation" name="Motivation" type="string" //extensionElements/startEventsequenceFlow id="flow1" sourceRef="requestt" targetRef="handleRequest" /userTask id="handleRequest" name="Handle vacation request" documentation${employeeName} would like to take ${numberOfDays} day(s) of vacation (Motivation: ${vacationMotivation})./documentationextensionElementsactiviti:formProperty id="vacationApproved" name="Do you approve this vacation" type="enum" required="true" activity:value id="true" name="Approve" /activiti:value id="false" name="Reject" //activiti:formProperty id="managerMotivation" name="Motivation" type="string" //extensionElementspotentialOwnerresourceAssignmentExpressionformalExpressionmanagement/formalExpression/resourceAssignmentExpression/potentialOwner/userTasksequenceFlow id="flow2" sourceRef="handleRequest" targetRef="requestApprovedDecision" /exclusiveGateway id="requestApprovedDecision" name="Request approved?" /sequenceFlow id="flow3" sourceRef="requestApprovedDecision" targetRef="sendApprovalMail" conditionExpression xsi:type="tFormalExpression"${vacationApproved == 'true'}/conditionExpression/sequenceFlowtask id="sendApprovalMail" name="Send confirmation e-mail" /sequenceFlow id="flow4" sourceRef="sendApprovalMail" targetRef="theEnd1" /endEvent id="theEnd1" /sequenceFlow id="flow5" sourceRef="requestApprovedDecision" targetRef="adjustVacationRequestTask" conditionExpression xsi:type="tFormalExpression"${vacationApproved == 'false'}/conditionExpression/sequenceFlowuserTask id="adjustVacationRequestTask" name="Adjust vacation request"documentationYour manager has disapproved your vacation request for ${numberOfDays} days.Reason: ${managerMotivation}/documentationextensionElementsactiviti:formProperty id="numberOfDays" name="Number of days" value="${numberOfDays}" type="long" required="true"/activiti:formProperty id="startDate" name="First day of holiday (dd-MM-yyyy)" value="${startDate}" datePattern="dd-MM-yyyy hh:mm" type="date" required="true" /activiti:formProperty id="vacationMotivation" name="Motivation" value="${vacationMotivation}" type="string" /activiti:formProperty id="resendRequest" name="Resend vacation request to manager?" type="enum" required="true" activiti:value id="true" name="Yes" /activiti:value id="false" name="No" //activiti:formProperty/extensionElementshumanPerformerresourceAssignmentExpressionformalExpression${employeeName}/formalExpression/resourceAssignmentExpression/humanPerformer/userTasksequenceFlow id="flow6" sourceRef="adjustVacationRequestTask" targetRef="resendRequestDecision" /exclusiveGateway id="resendRequestDecision" name="Resend request?" /sequenceFlow id="flow7" sourceRef="resendRequestDecision" targetRef="handleRequest"conditionExpression xsi:type="tFormalExpression"${resendRequest == 'true'}/conditionExpression/sequenceFlowsequenceFlow id="flow8" sourceRef="resendRequestDecision" targetRef="theEnd2" conditionExpression xsi:type="tFormalExpression"${resendRequest == 'false'}/conditionExpression/sequenceFlowendEvent id="theEnd2" //process/definitions

      A process that can’t be completed even with screenshots. If you use code to implement the entire process, the workload and efficiency can be imagined.When actually doing projects and using product based on process engines to do projects, you only need to determine nodes, node configurations, data configurations and permissions.

      Question: Generally, nodes with email notifications are all nodes. How to implement email notification nodes? Please consider the following scenarios. When the

      process flows and executes, you will encounter various errors, such as not being able to find the approver, etc. At this time, the process engine needs to rollback the data, and the business logic of the email notification node has been executed. In terms of permissions, for process resources, which departments can apply and which roles cannot be applied, process control should be done. During the process execution, process data and related persons who are not traveling should not see the process. Approvers who have processed the process cannot process the process any more. These are all issues that need to be considered in terms of authority.

      .2.4 Form design

      The form shown in the figure below can be analyzed. A process form has multiple main table information and multiple subtable information. Generally speaking, if non-process data processing is performed through the process engine, the sub-table is associated with the main table ID. If the process data processing is performed through the process engine, the sub-table and the main table are associated with the TaskId. The following is an example.

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

      process system requires a form designer. Different nodes of a process can attach different forms to facilitate people of different roles to pay attention to process information in different dimensions.

      .2.5 Page design

      Generally speaking, the initiation, approval, history, etc. of the process are all a general system interface. For some business scenarios, a list interface needs to be made separately for easy use. For customers who already have portal systems, they need to integrate their interface styles. The following are examples of projects that have been done before.

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

      .2.6 Report

      Since not all customers have a report system, the process system needs to have a basic report function. The following figure is an example.

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

      Customers with a report system can use their commercial version of the report system to obtain (directly fetch and count warehouse) data for display. Common reporting systems include FineReport, Tableau, PowerBI, etc.

      .3 BPM process engine architecture design .3.1 Process engine architecture design

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

      .3.2 Initiate the process

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

      Process engine processing process

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

      Execute node processing process

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

      Problem: During the process engine processing, if a node has multiple connections, how to find out that FromNodeId is a connection to a certain Node? During manual processing, specify the connection texttml7

      .4 Process engine architecture design

      In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

      .4.1 Business identification
    • identify configuration items in business scenarios, and use collection or grouping methods to enable business configuration
      • to support business process configurable
      • to support business process data, and automatically process
      .4.2 Implementation of process engine
    • resource-related services, resource loading, resource storage, resource encryption, etc.
      • configuration related services
      • PVM implementation, that is, through a certain node (the starting node is the starting node) as the initial node, the node is automatically executed according to the action of a certain connection.
      • data configuration, data permissions
      • process data and business data automatic processing
      Business Opportunities
    • Business Process Analysis (BPA) Process analysis helps enterprises to adjust and optimize the process asset library of
      • Process Assets Library (PAL) process asset library, knowledge-based precipitation of enterprise processes, and binding systems and processes to make the approver know the corresponding responsibilities in the process
      • Process Simulate process simulation, automated test
      • Process Forecast Process prediction
      • low-code platform
      • wider opportunities lie in business areas + process engines, such as: DevOps, RPA, application and service orchestration, data orchestration, FaaS orchestration, etc.
      • Author: Ma Rui

        Source: 21CTO

        Typesetting: Lao Li

        When actually doing projects and using product based on process engines to do projects, you only need to determine nodes, node configurations, data configurations and permissions.

        Question: Generally, nodes with email notifications are all nodes. How to implement email notification nodes? Please consider the following scenarios. When the

        process flows and executes, you will encounter various errors, such as not being able to find the approver, etc. At this time, the process engine needs to rollback the data, and the business logic of the email notification node has been executed. In terms of permissions, for process resources, which departments can apply and which roles cannot be applied, process control should be done. During the process execution, process data and related persons who are not traveling should not see the process. Approvers who have processed the process cannot process the process any more. These are all issues that need to be considered in terms of authority.

        .2.4 Form design

        The form shown in the figure below can be analyzed. A process form has multiple main table information and multiple subtable information. Generally speaking, if non-process data processing is performed through the process engine, the sub-table is associated with the main table ID. If the process data processing is performed through the process engine, the sub-table and the main table are associated with the TaskId. The following is an example.

        In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

        process system requires a form designer. Different nodes of a process can attach different forms to facilitate people of different roles to pay attention to process information in different dimensions.

        .2.5 Page design

        Generally speaking, the initiation, approval, history, etc. of the process are all a general system interface. For some business scenarios, a list interface needs to be made separately for easy use. For customers who already have portal systems, they need to integrate their interface styles. The following are examples of projects that have been done before.

        In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

        In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

        .2.6 Report

        Since not all customers have a report system, the process system needs to have a basic report function. The following figure is an example.

        In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

        Customers with a report system can use their commercial version of the report system to obtain (directly fetch and count warehouse) data for display. Common reporting systems include FineReport, Tableau, PowerBI, etc.

        .3 BPM process engine architecture design .3.1 Process engine architecture design

        In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

        .3.2 Initiate the process

        In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

        Process engine processing process

        In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

        Execute node processing process

        In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

        Problem: During the process engine processing, if a node has multiple connections, how to find out that FromNodeId is a connection to a certain Node? During manual processing, specify the connection texttml7

        .4 Process engine architecture design

        In summary, process is a concept. When combined with specific implementation, different process products are produced, such as DevOps, Spring Data Stream, etc. - DayDayNews

        .4.1 Business identification
      • identify configuration items in business scenarios, and use collection or grouping methods to enable business configuration
        • to support business process configurable
        • to support business process data, and automatically process
        .4.2 Implementation of process engine
      • resource-related services, resource loading, resource storage, resource encryption, etc.
        • configuration related services
        • PVM implementation, that is, through a certain node (the starting node is the starting node) as the initial node, the node is automatically executed according to the action of a certain connection.
        • data configuration, data permissions
        • process data and business data automatic processing
        Business Opportunities
      • Business Process Analysis (BPA) Process analysis helps enterprises to adjust and optimize the process asset library of
        • Process Assets Library (PAL) process asset library, knowledge-based precipitation of enterprise processes, and binding systems and processes to make the approver know the corresponding responsibilities in the process
        • Process Simulate process simulation, automated test
        • Process Forecast Process prediction
        • low-code platform
        • wider opportunities lie in business areas + process engines, such as: DevOps, RPA, application and service orchestration, data orchestration, FaaS orchestration, etc.
        • Author: Ma Rui

          Source: 21CTO

          Typesetting: Lao Li

    technology Category Latest News