Type Ahead workflows

Two Type Ahead workflow scenarios are examined: a workflow without a need for a rollback, and a workflow with a need for a rollback.

Workflow where no rollback is necessary

Figure 1 shows how the different parts are working when type ahead mechanism is activated and there is no synchronization issue.


The diagram shows that the data entered by the user is buffered and sent only after the response for the initial field is received from the runtime engine. By this time, it is possible to have multiple fields and focus changes in the buffer. They are sent together, but still processed in the workflow order on the runtime system. The runtime engine compares the real focus to the current focus, and as long as there is no synchronization error, the data is processed.

Figure 1. No rollback workflow

Workflow when rollback is necessary

Figure 2 shows how the different parts are working when type ahead mechanism is activated and there is a rollback (in this example due to a NEXT FIELD instruction):


The diagram shows what happens when the client-side front end moves the focus from field 2 to field 3 to field 4, yet the runtime states that after field 2, it must be field 4. When there is a comparison of the real and the current focus, a synchronization error is detected. Field 2 data is sent back as validated, but focus on field 3, data for field 3, and focus on field 4 are invalidated and rolled back. The focus is returned to field 4.

Figure 2. Rollback workflow