Page 263 -
P. 263

9  The Runtime Environment                                      257
                           and values in the Engine’s process logs for later retrieval and analysis, so that all
                           descriptive data of a process can be stored in one place, without the need for special
                           handling by the Engine.
                              A special object called LogDataItem is available to custom services and applica-
                           tions to store a data item, its type and value. These objects may be passed with any
                           interface method that will eventuate in a log entry being written.



                           9.8 Summary


                           This chapter described the primary functions performed by the YAWL Engine at
                           runtime, with particular reference to its internal machinations and those details of
                           the runtime environment that have not been covered in other chapters.
                              The Engine is responsible for managing the control-flow and data perspectives of
                           processes. The resourcing perspective, and the actual performance of task instances,
                           is delegated to custom services, as discussed in the following chapters.




                           Exercises

                           Exercise 1. Why do you think it is important that the Engine remain “agnostic” to
                           both the resource perspective and the actual performance of task instances?
                           Exercise 2. What does it mean when it is said that a task instance is enabled by the
                           Engine? How does that meaning differ in relation to workflow net terminology?
                           Exercise 3. How many child instances of a task can have Enabled status? Why?

                           Exercise 4. For what purpose is a work item assigned a status of Deadlocked?

                           Exercise 5. What is the difference between a work item being canceled and it being
                           “failed”?

                           Exercise 6. What two steps are required for a Custom Service to successfully
                           connect to the Engine?

                           Exercise 7. Why is it important to persist currently executing cases?
   258   259   260   261   262   263   264   265   266   267   268