Page 225 -
P. 225

218                                                     M. Adams et al.
                           7.3.6 Other Custom Services


                           As previously mentioned, the YAWL System can be extended by implementing cus-
                           tom services. These services may be designed, for example, to handle specific types
                           of work items (e.g., to display work items with geo-referenced attributes in a map)
                           or to add monitoring functionality on top of the Engine. Each of the component
                           services described earlier is in fact an example of a custom service. The following
                           custom services are also included in the current distribution of the YAWL System:

                             Declare Service. Declare is an approach to business process modeling that is
                              intended for use for the specification and enactment of loosely structured pro-
                              cesses. Rather than explicitly modeling the control-flow, Declare models define
                              constraints over the activities of a process, so that the control-flow is specified
                              implicitly, and any execution path that does not violate the specified constraints
                              is valid. The Declare Service receives notifications of registered enabled work
                              items via Interface B and lists them in an administration tool, from which an
                              administrator may choose an appropriate, loosely structured Declare subprocess
                              to execute in its place.The Declare Service is described in more detail in Chap. 12
                             SMS Service. The SMS service uses a properly configured SMS Gateway web
                              service to send and receive SMS messages and pass the data into and out of the
                              Engine (again via Interface B). In this way, participants can view, update, and
                              complete work items via mobile phones and other SMS capable devices
                             Digital Signature Service. The purpose of this service is to ensure the authenticity
                              of the information entered on a submitted custom form. It is composed of two
                              parts: first, it passes the web form through the service to capture and append
                              the digital signature as XML, then it checks the validity of the signature before
                              passing the form back to the worklist handler, where its contents are mapped to
                              the work item’s output parameters for checking back into the Engine
                             Email Sender Service. A task registered with this service will create a work item
                              at runtime that presents the user with a custom form for the composing and
                              sending of an email


                           7.4 Summary


                           This chapter introduced the YAWL System and its service-oriented architecture.
                           The key building block of the system, namely the Engine, provides a number of
                           interfaces that are used and enhanced in various ways by task-related services. These
                           interfaces also allow workflow specifications to be deployed into the Engine by the
                           YAWL default Editor or other custom-made designers such as the one provided
                           by the Declare service. Additionally, using these interfaces, the execution of tasks
                           can be monitored, controlled, or channeled by custom services, such as the SMS
                           sender service or the WS-Invoker service. The Custom Service approach provides a
                           powerful point of extensibility, allowing developers to customize the Engine to their
                           requirements.
   220   221   222   223   224   225   226   227   228   229   230