Page 260 -
P. 260

254                                                        M. Adams
                             Specs: The set of specifications currently loaded in the Engine
                             WorkItems: Stores a full set of internal descriptors for each active work item
                             WorkItemTimer: This table stores a record of each timer that has been started
                              for a work item, but has not yet expired
                             YIdentifiers: A YIdentifier object is essentially a token in a YAWL net, and
                              stores information identifying itself with its parent case instance
                              When a server restarts, case instances are reconstructed from the data held in
                           these tables by the Case Restorer component. Each case is rebuilt in a predefined
                           sequence to ensure that all necessary objects and data structures are available, so
                           that it can successfully start executing from the point of last persistence.


                           9.7 Logging

                           An important consideration for any workflow environment is the generation of pro-
                           cess logs, that is, the recording of data and events that describe the execution of
                           each process. Process logging plays two fundamental roles: (1) it provides an audit
                           trail of interactions between the workflow Engine and its environment; and (2) it
                           represents a historical archive of process executions, which may later be analyzed
                           for insights into the operation of specifications (cf. Chap. 17).
                              The Engine generates process logs that detail each executing case from com-
                           mencement to completion (or cancelation), the enabling of each work item and each
                           of its status changes through to completion (or cancelation), and all changes made
                           to work item and net data values. It also provides for configurable logging, that is,
                           the logging of user-defined data attributes, values, and descriptors associated with
                           certain parts of the process data that may prove of interest at a particular site or for
                           a particular process specification.
                              The process of writing data to the process logs is achieved via a Hibernate inter-
                           face, in the same manner as that used by the persistence tables. This means that the
                           process logs can be written to any data source that can be configured for the Hiber-
                           nate framework. Each log entry is formulated by creating a log object, populating it
                           with the appropriate data, and then passing the object to the framework for insertion
                           into the data source.
                              The physical structure of the process logs, and the methods made available for
                           its interrogation via Interface E, are built with a view towards both the requirements
                                                                 4
                           of log analysis by external tools such as ProM , and for ease of data retrieval by
                           custom services and applications.

                           9.7.1 Process Log Relational Schema

                           Figure 9.6 depicts a relational schema for the Engine’s process log, and shows
                           primary key fields as bolded text. The unique identifiers for the NetInstance and


                           4  www.processmining.org
   255   256   257   258   259   260   261   262   263   264   265