Page 217 -
P. 217

210                                                     M. Adams et al.
                           data interchange formats. In addition to the core Engine, the Workflow Reference
                           Model identifies five major component types and their interfaces:
                             Interface 1 is for Process Definition Import and Export, through which process
                              definitions are loaded into, or unloaded from, the engine
                             Interface 2 is the Client Application interface, through which work items are
                              passed from the engine to an application (e.g., a worklist) for processing, and
                              passed back to the engine when processing is complete
                             Interface 3 is the Invoked Application interface, through which the engine may
                              directly activate an external application to process a work item
                             Interface 4 provides interoperability with other workflow enactment engines
                             Interface 5 is for Administration and Monitoring, through which an external
                              administrative tool may administrate processes running in the engine, and the
                              engine may pass administrative information to such tools
                              Unlike the YAWL System, the WRM is not structured as a service-oriented
                           architecture. Instead, the WRM is a more abstract description of a core enactment
                           engine and an interoperating set of components, which could be implemented using
                           a variety of architectures. The YAWL System provides a specific embodiment of
                           the WRM interfaces in the setting of a service-oriented architecture. Also, in many
                           respects, the YAWL interface extends and deviates from the WRM interfaces. Thus,
                           it cannot be said that the YAWL System complies with the WRM. It is merely
                           inspired by the WRM, but significantly differs from it in many respects.
                              The relations between the core services of the YAWL System and their interfaces
                           are captured in Fig. 7.3 and discussed one-by-one below.



                           7.3.1 Engine


                           Process specifications are loaded into the Engine and stored in a repository, from
                           where they may be instantiated to produce cases. The Engine manages the execu-
                           tion of cases by progressing each case according to its current state and control-flow
                           description, and by performing the specified data mappings between the case and
                           its tasks as required. In doing so, at each stage of a process, the Engine deter-
                           mines which work items should be offered for processing, and which events should
                           be announced to the environment. Each task in a process instance is associated at
                           design time with at least one YAWL Service (either explicitly or, if not specified, is
                           implicitly associated with the Resource Service).
                              An overarching design principle of the YAWL System was that the Enactment
                           Engine should be completely agnostic with regards to the services interacting with
                           it; that is, totally unaware of the operations of external services, so that each could be
                           served in a generic way. From an engine perspective, each service is a “black-box”
                           that avails itself to process data served by the engine through its interfaces. Thus, the
                           Engine needs no knowledge of its external environment. This principle is in contrast
                           to traditional workflow systems where, for example, the worklist handler is treated
   212   213   214   215   216   217   218   219   220   221   222