Fred Workflow
This example demonstrates one of the uses of the NOK output of a component. The goal is to produce a workflow to provision a high-speed Internet access service (such as DSL or cable modem) to a customer.
The workflow starts with two concurrent paths (Figure 58). The left path requests the installation of the customer premises equipment (CPE), such as a cable or DSL modem. It specifies the customer's home address for the installation and expects a MAC address to be returned, along with the option of IP address allocation. If the IPAddressingMode parameter is zero, a static IP address should be allocated. Otherwise, a dynamic method should be employed.
The right path requests the central office (CO) to do the wiring for the customer located at the specified address. It expects the ATM virtual circuit identifier (VCI) and the virtual path identifier (VPI) assigned for that customer to be returned in the response e-mail.
Both paths are joined by an AND, meaning that both must complete successfully. The Receive Email work item simply waits for the appropriate e-mail, and therefore always completes successfully.
The next component in the path, Token Value Checker, checks the e-mail content. It tests whether the IPAddressingMode parameter is zero, to determine whether an IP address should be allocated statically. If the parameter is zero, a proceed token is sent to the OK output, which leads to the left path. If the parameter is not zero, a proceed token is sent to the NOK output, which leads directly to the OR work item that joins the two paths. In the left path, a request for allocation of an IP address is made. The workflow uses an OR work item because the two paths are mutually exclusive, and therefore one of the paths must produce a not proceed token. The workflow is finished when the End State work item is reached.
In this example, the OK/NOK distinction was used to make a decision on the nature of the service. You can also use the distinction to handle errors if a work item fails in the same way. You can use a Token Value Checker work item to check for the existence of a parameter in the token or a special value, and then join the paths with an OR work item.
![]()
Table 71 describes the configuration for the Fredworkflow example.
The other properties are not shown because they depend on your environment.
The parameter list for this workflow contains only one input parameter, Address, and one output parameter, RadiusFramedIP (which stores the assigned IP address).