Process Model Analysis (3)
- Process divergence aggregation model
Third, the operation model of the process
3.1 Basic operation model
Serial (SEQUENCE)
Cycle
3.2 Dissive Working Model
Parallel
Exclusive Choice
Diaminator Choice
Cc model
Divergence model
3.3 aggregation operation model
Synchronization polymerization (Synchronize Merge)
Simple merge (SIMPLE MERGE)
Multiple Merge
DISCRIMINATOR MERGE
Third, the operation of the process will be the core place in this article, what is workflow, will also be embodied in its operational model. Anything is gradual, from simple to complex. Let's take a look at the most basic centralized operation model.
3.1 Basic operation model
Serial Serial Serial is the most simple and most likely to understand. According to the predetermined task list (Task A, Task B, Task C), ordered execution, as shown in the following figure (3-1).
Figure 3-1)
The self-circulating self-cycle model is mainly used to represent: the same task node, repeated execution multiple times.
Figure (3-2)
As shown in the figure. "Mode 2" is more than "Mode 1". DISCRIMINATOR NODE. These two modes are more extensive in reality, in which "Mode 1" is more biased towards human choice, that is, after the task is executed, whether the human decision continues to execute this task; "Mode 2" is more preferred to determine whether to repeat it according to the original rules.
3.2 Dissive Working Model
Parallel parallelism, involving the branch concept of the process. That is to say during the process of operation, due to different conditions or situations, or the processed service requires multiple sectoral (multi-tasking) separate processing, the process branch is generated. As shown below
Figure (3-3)
After the process is executed, two concurrently executed branches (A - B and A - C) are generated because of the need. Between these two branches are equal, but also in parallel. For these flow charts, you may see some similar graphics below in the future articles / documentation.
Figure (3-4)
Although there is more and a AND selector than the above, it actually, two figures, indicating the same meaning or model. So everyone can have a heart when applying or reading, and learn substantial analysis.
Exclusive Choice After a task is processed, it is found that it can allow multiple branch processes to be allowed later, but only one of the branches are allowed. This choice is human decision, and there is no rule selected in advance.
Figure (3-5)
DISCRIMINATOR Choice This is very similar to the previous "exclusive selection", the only difference, is a discriminator. When the task reaches this discriminator, the discriminator will automatically discriminate the flow of the next process according to the state of the current process, and automatically discriminate the flow direction of the next process, which is automatically based on the condition, selecting a branch that meets the condition. . Figure (3-6)
Identifier mode (some may be called the selector, etc., the meaning of expression is basically the same), which is more extensive in real application. For example, in the order application process, set a discriminator that is discriminating according to the amount, if the amount is greater than or equal to 5000, take the branch flow a, if the amount is less than 5000, take the branch process B.
Cc model Cc model, itself is not a standard workflow operation model, but in real-world applications, it is everywhere. It means (please refer to the figure below), there is a main proxidation (A - C), and after a task (a) is executed, the main proxidation will continue to perform a predetermined task (C), but will also activate Another task (b) (or additional procedure) is executed, but the subsequent flow of task B and task B will not affect the main proximity operation. Note that the A - B process in the figure is used along the line, and the gray dashed line is represented, and the task B is also expressed in gray.
Figure (3-7)
To give an electronic office system, you often encounter an example of the example: such as a text, when the Division will sign, you may copy a separate offer, this process or additional activation Do not affect the "Cc Task" of the Lord's Signature Process, such as Task B in the figure.
The divergence model is here, everyone can go back and see the parallel model (Section 3.2.1). Divency and parallel distinctive differences, all branches (BRANCH) process status (or process data): In the parallel model, the branch state (A-B) and the branch state (A-C) are in most cases. The "split" under certain conditions is performed by the status of the task A, and two branch (or multiple branch) flows are formed. These multiple branch processes are ultimately re-synthesizing a primary process to ensure the integrity of process information (of course, there may be some sub-flows due to specific reasons such as timeout.). In the divergent model, the branch state (A-B) is absolutely equal to the branch state (A-C). A plurality of branch processes generated due to divergence are ultimately not necessarily aggregated (may abandon one and multiple branch processes when polymerization because of various reasons.). This is said to "aggregate" concept, in the following introduction, will be described in detail
Figure (3-8)
3.3 Aggregate Operation Model We will enter the aggregation model. Because there is "divergent", "aggregation" problem will appear in subsequent operation of a process. Therefore, when the aggregation model is discussed later, most of the cases will be combined with the above divergence operation model. Synchronize merge is now necessary to explain, synchronous aggregate, not "simultaneously polymer" 噢.
Figure (3-9) Although Simple Merge is called simple aggregation, it is basically difficult than "synchronous polymerization" than the above "synchronous polymerization" in real-world applications. When multi-branch is aggregated, uses a "advanced first out" rule, which branch is reached, then the first activation process is activated. Subsequent branches will be terminated here.
Figure (3-10)
Multiple Merge multiple polymerization, some simply polymerization above. But it is more complicated than SIMPLE MERGE. So far, in reality, I have not encountered such a process implementation. When multi-branch is in polymerization, it is similar to "advanced first out" rule, but it is different from simple aggregation. Any branch will activate the follow-up process. This involves a problem. If a subsequent process instance is just activated, another branch arrives, is this branch to activate the subsequent process instance? There are different solutions in different workflow engines (Workflow Enginner), and some choose to be activated immediately, and some choose to wait for delay activation. In this regard, it is not the discussion topic of this article, interested friends, can achieve different ways in their own engine.
Figure (3-11)
DISCRIMINATOR MERGE This is more readily understood, and it is often encountered in the application, but the implementation of the application is relatively difficult, because there is a "rule engine" that generally cooperates, to define / process the aggregation rules.
Figure (3-12)
--------------------------- Author: Hu Wall (Silver Fox 999, james999) Email: james-fly@vip.sina.com