ITCAM for SOA 7.2 Fix Pack 1

Cyclic flows

It is possible to have cycles or loops occurring in service flows. In this situation, the status of the cycle is determined by applying the procedure that is described in Rules for calculating operation aggregate status to the aggregates in the cycle, disregarding any relationships among them. Then, the overall status for the cycle is considered, along with the status of the parts of the service flow that occur before and after the cycle, to determine the status for the entire service flow.

Figure 1 displays a simple example of a cyclic flow. The cycle occurs where B calls C and C, in turn, calls B.

Figure 1. An example of a service flow with a cyclic flow
This figure displays a drawing of a flow that includes a cyclic flow, with aggregate B calling aggregate C, which in turn calls aggregate B.
To illustrate how the overall status for this flow is determined, consider the following example:
  1. Suppose these aggregates each have the following aggregate level status:
    • The status forA is Normal.
    • The status for B is Warning.
    • The status for C is Critical.
    • The status for D is Fatal.
  2. Starting at the end of the flow, the status for the rightmost dependent pair, CD, is determined to be Fatal.
  3. Using the rules for calculating operation aggregate status, and ignoring the cyclical directed relationships between C and D, the combined status for B and CD is determined to be Fatal.
  4. Finally, the status for the dependent pair A and BCD is determined to be Warning.
It is possible for a cyclic flow to occur at the beginning of the service flow. In this case, there is no clear front-end service. However, the algorithm for determining status within a cycle still applies. Using the example flow in Figure 1, assume B, C, and D are in the service group but A is not. The status of the composite relationships for B, C, and D are determined as follows:
  1. Determine the status of the dependent pair, CD.
  2. Determine the combined status of B and CD.


Feedback