Browse Prior Art Database

Analyze/Trace activities in Workflow Management Systems

IP.com Disclosure Number: IPCOM000020710D
Original Publication Date: 2003-Dec-10
Included in the Prior Art Database: 2003-Dec-10
Document File: 2 page(s) / 42K

Publishing Venue

IBM

Abstract

Workflow Management Systems support the definition and execution of business processes. A business process consists of a set of activities whose execution sequence is prescribed via control links that connect the individual activities. A typical activity is the invocation of a Web Service. Quite often it is required to collect information from a business process. The obvious approach is to define an own Web Service for collecting the information. This solution has severe performance drawbacks as the workflow management system needs to treat the activity as any other activity and can not perform any optimization. It is proposed to add special activities to the set of supported activities: an analyze activity to collect data and to write it to some destination. This analyze activity in a very special form could be also used as a trace activity.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 60% of the total text.

Page 1 of 2

Analyze/Trace activities in Workflow Management Systems

A business process consists of a set of activities that are executed according to a prescription, typically control links that specify which activity follows which. An activity is typically the invocation of some executable, for example a Web Service. Activities typically consumes data produced by a previous activity and generates data that is consumed by subsequent activities. Furthermore, the business process as a whole consumes data provided by the requestor of the business process and generates data that is returned to the requestor. The total amount of data that is maintained by the process is called the process context.

    Business analysts are very often interested in the context information that is associated with the business processes. This information can be used, for example, for determining the process behavior based on the appropriate context information. Data mining tools are typically used for carrying out the analysis. This requires that the context information is collected at particular points in the process graph. The simplest approach is to define an executable that accepts some or all context data as input and writes that information to a pre-defined destination, such as a table maintained by a relational database management system. The major disadvantage of this approach is the overhead that is needed: data must be collected and made ready for passing to the executable, calling the executable, and checking the return code handed back by the executable.

    It is proposed to add a special analyze activity to the set of activities supported by workflow management systems. The Business Process Execution Language for Web Services (BPELWS), jointly authored by BEA, Microsoft*, IBM**, and Siebel and submitted by the companies to OASIS for standardization is used herin, as the means for illustrating the proposal. It should be noted that the notation used is for illustration of the concepts only; any other language can be used to illustrate the concept. Furthermore other syntactical constructs could be used for representing the concept.

    The analyze activity is identified via an analyze element. Enclosed elements associated with the analyze activity specify properties such as the destination the context data should be written to and the data that is written. The following code snippet illustrates this :

<variables>

<variable name="Var1" element="xsd:string"/>

</variables>

<analyze name="DumpVar1">

<destination type="Table">

<DBName>ProcContextDB</Table>

<TableName>Process1</TableName>

</destination>

<data>

<variable>Var1</variable>

</data>

</analyze>

    The variables element defines the variables that are maintained as part of the process; this is the process context. The individual variables are defined via the

Page 2 of 2

variable element. The name of the variable is defined via the name attribute; the type is defined via the element attribute.

    The analyze activity is...