by Damian Mac Randal
As part of the World Wide Web Consortiums Leverage Action project (W3C-LA), several small demonstrators were developed to promote European adoption of the Web and W3C protocols. At RAL, a pilot workflow system was developed to explore XML/RDF and their interaction with other client side protocols. The demonstrator focuses on delivery of the workflow steps from multiple servers to remote actors.
Business processes are now recognized as being key to thinking about organizations, their effectiveness, and their ability to cope with change. IT support for business process is provided by workflow management technology: typically, a workflow system will provide support for each of the activities in a process by offering the necessary work (and information needed to complete it) to those staff with the correct attributes to undertake that work. A server retains the information on the process specifications and the state of each process which is currently active. Major issues in workflow management include the portability, coping with the geographical distribution of users, relationships with organizational Intranets, and consistency of access.
All workflow management issues are addressable by Web server / browser technologies, by building on the W3C developments in HTML, DOM, XML and RDF (Metadata) in particular, together with the portability features offered by Java and the servlet API. Workflow is seen as a challenging application area that will explore many of the emerging Web technologies, such as push technology, security, client-side processing, etc.
The W3C Workflow demonstrator focuses on the delivery of activity information to the appropriate actors as required by the process, in a timely, secure and useful manner while minimizing network and server loads.
Activity information consists of instructions as to what has to be done, and parameters , that is data items required to carry out the activity and the data generated by the activity. Some of this can be sensitive, restricted to specific actors identified by the process. There is also a significant amount of content about the activity, such as the DueDate, containing process, status, etc. This metadata is useful to the actor independently of the activity itself. Since most actors will have many activities allocated to them, some sort of Intray is required, listing outstanding activities and allowing selection of the next. Access to metadata, such as DueDate, is clearly essential to prioritize selections. Equally clearly, the Intray has to be kept up-to-date.
The demonstrator uses a 3-tier architecture:
An Intray is a dedicated page (or desktop) displaying an up-to-date list of the activities allocated to the actor. The list provided by the Web server uses RDF to record the metadata about each of the activities. The Intray page, or more precisely, scripts in the page then use this RDF to display a scrollable list of the activities, highlighting overdue items. Further scripts allow the actor to sort and filter the list without going back to the Web server. By stopping the mouse pointer over a list item, the full metadata for that activity can be displayed in a popup window. Finally, so-called push technology (actually a scheduled check/refresh) is used to keep the list up-to-date.
Clicking on an activity in the intray indicates to the workflow engine that the actor intends to work on that activity. A new Activity page is created using an XML description of the activity sent by the Web server. (The Activities metadata is also sent as RDF embedded in the XML). The Activity page displays the Activity instructions and data, and if appropriate connects the Go button to the required application. When the actor is finished, clicking the done button causes the results form to popup. Clicking send on this sends the results back in XML to the workflow engine and closes the popup and activity window. The workflow engine saves the results, marks the activity as completed, identifies the next activity and pushes it to the appropriate Intrays.
Damian Mac Randal - CLRC
Tel: +44 1235 44 5403