Page 314 -
P. 314

310                                                        M. Adams
















                           Fig. 11.13 Workflow Specifications screen, Order Fulfillment instance running (detail)


                           ification is currently executing. The two buttons “Raise Exception” and “Reject
                           Worklet” are worklist extensions; the first appears only when the Exception Service
                           is configured as “enabled” and the second when the Worklet Service is loaded.
                              When the “Raise Exception” button is clicked, a Raise Case Level Exception
                           screen is displayed. This screen is a member of the Worklet Service’s Java Servlet
                           Pages (jsp). Before this screen is displayed, it directly calls a method of the Excep-
                           tion Service over HTTP and retrieves from the rule set for the selected case the list
                           of existing external exception triggers (if any) for the case’s specification. This list
                           contains all of the external exception “triggers” that were either conceived when the
                           specification was first designed or added later as new kinds of exceptional events
                           occurred and were added to the rule set. Notice that at the bottom of the list, the
                           option to add a New External Exception is provided – that option is explained in
                           detail in Sect. 11.10.2. For this example, we will assume that a client has requested
                           a change in the delivery date and time. Selecting that exception trigger passes it
                           as the trigger value to the specification’s CaseExternalException rule tree and the
                           conclusion for that trigger’s rule (i.e., the exlet) is invoked by the service as an
                           exception handling process for the current case.
                              After the selection is made, the user’s worklist will show that the parent case’s
                           active work items have been suspended and the first work item of the compen-
                           satory worklet, Update Delivery Appointment, has been enabled. Once the worklet
                           is completed, the parent case is continued (via the final primitive of the exlet).
                              Item-level external exceptions work in much the same way, and can be raised
                           from the worklist by selecting the relevant work item, and then clicking the Raise
                           Exception button (another extension to the worklist provided by the Exception Ser-
                           vice when “enabled”), which invokes the Raise Item Level Exception screen. From
                           there, the procedure is identical to that described for case-level exceptions, except
                           that the item-level external exception triggers, if any, will be displayed.
                              External exceptions can be raised at any time during the execution of a case –
                           the way they are handled may depend on how far the process has progressed via the
                           defining of the conditional expressions of the nodes in the appropriate rule tree or
                           trees that query changes in data values and/or state changes of work items within
                           the case instance.
   309   310   311   312   313   314   315   316   317   318   319