The Workflow Management Coalition Specification

Workflow Management Coalition

Audit Data Specification

Document Number WFMC-TC-1015

1-November-1996

Version 1.0

Copyright 1996 The Workflow Management Coalition

All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording or otherwise, without the prior written permission of the Workflow Management Coalition except that reproduction, storage or transmission without permission is permitted if all copies of the publication (or portions thereof) produced thereby contain a notice that the Workflow Management Coalition and its members are the owners of the copyright therein.

This Specification has been authored by Workflow Management Coalition members.

Workflow Management Coalition

Avenue Marcel Thiry 204

1200 Brussels

Belgium

Tel: +32 2 774 96 33

Fax: +32 2 774 96 90

Email: 100113.1555@compuserve.com

or WfMC@eyam.be

www:http://www.aiai.ed.ac.uk/wfmc

or http://www.arms.ohio-state.edu/wfmc

The "WfMC" logo and "Workflow Management Coalition" name are service marks of the Workflow Management Coalition.

Neither the Workflow Management Coalition nor any of its members make any warranty of any kind whatsoever, express or implied, with respect to the Specification, including as to non-infringement, merchantability or fitness for a particular purpose. This Specification is provided "as is".

First printing, November 1996



Table of Contents



1. Purpose

The purpose of this document is to specify what information needs to be captured and recorded from the various events occurring during a workflow enactment. This document does not define how the data is stored, but what information is to be gathered and made available for analysis.

The information will be called Common Workflow Audit Data (CWAD).

This is an abstract specification from which it is intended that concrete bindings will be derived, such as SQL, C, or C++. By defining the semantics for this data, a cohesive analysis is possible when working with heterogeneous workflow products.

2. Audience

The intended audience of this document is the Workflow Management Coalition members as well as others who are interested in Common Workflow Audit Data.

3. Overview

The support of these specifications in workflow products allow analysis of consistent audit data across heterogeneous workflow products. During the initialization and execution of a process instance, multiple events occur which are of interest to a business, including WAPI events, internal WFM Engine operations and other system and application functions. With CWAD information, a business can determine what has occurred in the business operations managed by workflow.

We expect the audit information to be utilized for both analysis and derived status information. The workflow analysis tools will want the information presented in a consistent format, representing all events that occurred within a given set of criteria...such as, how long did process "x" take, what activities have been performed within a given process instance? The presentation of the audit data will be binding specific.

When it is necessary to know what the current status is of a given process instance, an inquiry can be made using the process instance ID. The current state (e.g. open.running) is returned. To understand where the process really is, the audit information measured against the process definition can provide an indication of the true state.

3.1 Design Assumptions

Incremental Set of Data Elements. It is assumed that as the WFM technology evolves, likewise the specifications defined in this document will evolve and will be added to in subsequent versions of this document.

· Individual workflow products will be responsible to define what information and data is recorded. However, all elements specified as required or mandatory for audit data must be implemented as defined.

· Audit data is expected to be used in conjunction with meta data, such as Process ID data or role data. Meaningful data would be available as you connect the various data elements, such as role and organizational data. Optional logging of organizational data could be recorded in either the suffix extension data or in the optional or private data records.

· It is the responsibility of the workflow user to collect audit data from heterogeneous workflow product repositories when consolidation of the data is desired. These specifications will not define a repository type for audit data, nor address archive requirements.

· These audit data specifications will allow for individual product extensions which may be written by homogeneous WFM products. Vendors are encouraged to register their extensions with the WFM Coalition in order to facilitate a higher level of knowledge for the analyst reviewing the information and for possible future inclusion in these specifications.

· The audit data for each process instance will have a `product ID' and the product will place information in the process instance audit data such that the set of information concerning the instance will be unique within the collection of audit data for that product.

· The audit data for an activity instance will have a unique ID within a process instance.

· Current Timestamp must be synchronized between process engines within a business domain and will be handled by the underlying systems.

· Code page information is required for both original and optional data.

· Restrictions in certain countries prohibit the keeping of individual's productivity records. This must be kept in mind when making decisions regarding conformance.

3.2 Defined Terms and Abbreviations

The terms in this document are derived from the following defined in the following documents:

· WfMC Reference Model

· WfMC Glossary

· WfMC WAPI Specification

· WfMC WAPI Naming Conventions

· WfMC Interoperability Specification

3.3 CWAD Naming Conventions

Naming will adhere to the standards described in the document WFM Coalition WAPI Naming Conventions. In addition, new naming conventions for the attributes are proposed to allow for abstract specifications of attributes.

3.4 Conformance

A vendor can not claim conformance to this or any other WfMC specification unless specifically authorized to make that claim by the WfMC. WfMC grants this permission only upon the verification of the particular vendor's implementation of the published specification, according to applicable test procedures defined by WfMC.

There are two types of conformance that relate to the audit information.

For a vendor claiming conformance to a specific conformance profile for a WfMC specification, the vendor will make available the audit information as specified in the conformance statement of the particular specification.

For a vendor claiming conformance exclusively to the audit information, such as one dealing only with metrics, the vendor must conform to the entire audit specification.

3.5 Future Considerations

This specification does not include role, user and security information, which will be handled within the scope of an administration specification, which will include the minimum organizational and security base needed for WfMC standards.

The current specification is concerned with data to be recorded as the result of a WfMC interface function event. In the future, review of process metrics will determine what derived data might be a useful extension of this specification.

4. CWAD Data Information

CWAD audit data consists of three kinds of information: Basic Data, Discretionary Data, and Private Data.

The Basic Data will be recorded and available for audit purposes. Within this information, certain defined elements are specified as mandatory or optional. The mandatory elements must be provided if the event is recorded. Because workflow vendor products operate differently, some audit information will not be applicable and will be considered Discretionary Data.

Except for the required information, contents of the Private Data information is not defined and is available for vendor and/or workflow user private use, which can include data in multiple formats, such as rich text, etc..

When audit information is requested, specific information for that particular event must be available. Depending on the type of audit information being recorded, different data elements will be required and their respective values. The initial process instance ID of the initial (root) process is the key by which all information of that instance is related.

The naming of the events recorded consist of verb-noun-verb-noun syntax. For example, when a request is sent start a process instance on a remote workflow engine, the event is "WMSentRequestStartProcessInstance." For those functions that have events recorded, the events are listed. Included are reference numbers, corresponding to the interfaces where the function is described, such as (2) = WAPI interface, (4) = Interoperability interface. Future events that have been identified, but are not part of the current specifications, are included in this specification and have no reference number ( ).

4.1 CWAD Data Types

This subsection contains definitions of the Workflow Management types that are operating system or platform dependent (see Naming Conventions).

typedef char WMTInt8;

typedef short WMTInt16;

typedef long WMTInt32;

typedef unsigned char WMTUInt8;

typedef unsigned short WMTUInt16;

typedef unsigned long WMTUInt32;

typedef WMTInt8 WMTText;

typedef WMTInt8 WMTBoolean;

#define WMFalse 0

#define WMTrue (!WMFalse)

Strings are defined as text arrays; the following defines the string sizes used:

#define NAME_STRING_SIZE 64

#define UNIQUE_ID_SIZE 64

#define TIME_STAMP_SIZE 25

4.2 Examples of Data Types

The following defines the generic types used to describe the CWAD records.

typedef { WMTInt16 information_length; } WMAInformationLength; //Information is either prefix or suffix info typedef { WMTText information_type; } WMAInformationType; typedef { WMTText object_id[UNIQUE_ID_SIZE]; } WMAObjectID; // Object is Process, Activity or Workitem typedef { WMTText object_state; } WMAObjectState; typedef { WMTText object_name[NAME_STRING_SIZE]; } WMAObjectName; typedef { WMTText resource_id[UNIQUE_ID_SIZE]; } WMAResourceID; // Resource is Person, Role or Network Resource typedef { WMTText resource_name[NAME_STRING_SIZE]; } WMAResourceName;

typedef { WMTText attribute_name[NAME_STRING_SIZE]; } WMAAttributeName; typedef { WMTInt32 attribute_type; } WMAAttributeType; typedef { WMTInt32 attribute_length; } WMAAttributeLength; typedef { WMTText attribute_value[NAME_STRING_SIZE]; } WMAAttributeValue; typedef { WMTText session_id[UNIQUE_ID_SIZE]; } WMASessionID; typedef { WMTInt16 code_page; } WMACodePage; typedef { WMTText timestamp[TIME_STAMP_SIZE]; } WMATimeStamp; /* Time zone (GMT + or - n), date, time, second, microsecond (microsecond is optional) */ typedef { WMTText event_code; } WMAEventCode;

4.3 CWAD Prefix Information

Attribute Name          Mandatory/  Abstract Data      Description                     
                        Optional    Type                                               
InitialProcessInstance  M           WMAObjectID        Unique ID of initial (root)     
ID                                                     process instance.               
CurrentProcessInstance  M           WMAObjectID        Unique ID of current process    
ID                                                     instance.                       
ActivityInstanceID      O           WMAObjectID        Unique ID of current activity   
                                                       instance                        
ProcessState            M           WMAObjectState     Current state of process        
                                                       instance                        
EventCode               M           WMAEventCode       Event code value (Appendix A)   
DomainID                M           WMAResourceID      ID of Domain of corresponding   
                                                       user                            
NodeID                  M           WMAResourceID      ID of Node of corresponding     
                                                       use                             
UserID                  M*          WMAResourceID      ID of user whom the business    
                                                       would consider the primary      
                                                       person involved with this       
                                                       event.  This could be a         
                                                       person or entity.               
RoleID                  M*          WMAResourceID      The role of the user involved   
                                                       in this event                   
Timestamp               M           WMATimestamp       Timestamp at the time the       
                                                       event was recorded.             
InformationID           M           WMAObjectID        Type of information, such as    
                                                       WfMC, Private                   
                                                                                       

INITIAL PROCESS INSTANCE ID: The unique identification of the initial (root) process instance. A business may wish to consolidate CWAD information from multiple locations. Each instance within the consolidated set should be uniquely identifiable.

Toward that end, the Process Instance Unique ID must be prefixed by a product ID, plus other information which would make it unique. A suggestion for the ID might contain the Source Vendor ID, Domain ID and Node ID and a unique Instance ID.

In the case where an activity initiates a subprocess, the Initial Process Instance ID would contain the original process of the activity. In a hierarchy of processes, the Initial Process Instance ID would contain the Process Instance ID of the immediately above (or calling) process.

CURRENT PROCESS INSTANCE ID: The unique identification of the current process instance. The current process instance ID may be different than that of the Initial Process Instance ID if the current process instance is a subprocess.

* For vendors stating conformance to the Audit Specification, it is mandatory to record either the UserID or the RoleID, which reflects the person or entity that has accomplished the work for this activity. Vendors must allow for modification of what will be recorded, allowing customers having legal or other contractual requirements to record values other than the true user/role information.

4.4 CWAD Suffix Information

The CWAD suffix information is a set of optional values which, if required by a business or vendor product, are added to multiple event audit information. This suffix information will contain the process relevant data that was specified for the particular completed process, and recorded with process or activity instance audit data.

· The suffix is required for the Process Instance and Activity Instance Audit Data information If there are no extensions, account code will be blank and the number of extensions set to zero.

· If extensions are included, the extension type and extension length will be required for each extension content.

· An extension code page will be included for each extension content. The assumption will be that all other data is recorded in the code page recorded in the prefix information.

Data Element        M/  Abstract Data Type     Description                        
                    O                                                             
AccountCode         O   WMAInformation Type    Accounting Code used for item of   
                                               work                               
ExtensionNumber     M   WMTInt16               Number of extensions in suffix     
                                               information                        
ExtensionType       M   WMAInformation Type    Type of extension                  
ExtensionLength     O   WMAInformationLength   Total length of extension values   
ExtensionCodePage   O   WMACodePage            Code Page used to record           
                                               extension data content.            
ExtensionContent    O   *                      Content, defined by Extension      
                                               Type and Length                    
                                                                                  

There may be multiple extensions for each event, generating multiple table entries for that event. The extension type, length, code page, and extension content attributes will need to be recorded for each event.

Notes: Examples of ExtensionTypes can be Data, Vendor Private, Business Private, and Text.

5. Process Instance Audit Information

5.1 Create/Start Process/Subprocess Instance Audit Data

Data Elements                 M/O    Data Type          Description                
Prefix                        M      ----               CWAD Prefix Information    
ProcessDefinitionID           M      WMAObjectID        Process Definition ID      
                                                        identifying the            
                                                        definition used for        
                                                        creating this process      
                                                        instance.                  
ProcessDefinitionBusinessNam  O      WMAObjectName      Business name of the       
e                                                       process definition         
                                                        relevant to the business.  
Suffix                        M      ----               CWAD Suffix Information    

Events Recorded:

Event Description When Created

WMCreatedProcessInstance (2,4) Process instance is created.

WMStartedProcessInstance (2,4) Process instance is started.

5.2 Change Process/Subprocess Instance State Audit Data

Data Elements               M/O     Data Type          Description                    
Prefix                      M       ----               CWAD Prefix Information        
PreviousProcessState        O       WMAObjectState     Mandatory for Change Process   
                                                       State                          
Suffix                      M       ----               CWAD Suffix Information        

Events Recorded:

Event Description When Created

WMChangedProcessInstanceState (2,4) Process state has changed by API or Internal event.

WMCompletedProcessInstance (2,4) Process instance has completed.

WMTerminatedProcessInstance (2,4) Process instance has been terminated.

WMAbortedProcessInstance (2,4) Process instance has been aborted.

WMWaitingOnEvent ( ) Process is waiting on event(s) to occur.

WMEventOccurred ( ) Event(s) on which a process was waiting has

occurred.

WMStartedSubprocess ( )

WMCompletedSubprocess ( )

5.3 Assign Process Instance Attributes Audit Data

Data Elements               M/O    Data Type            Description                
Prefix                      M      ----                 CWAD Prefix Information    
ChangedAttributeName        M      WMAAttributeName     Name of attribute to be    
                                                        changed                    
ChangedAttributeType        M      WMAAttributeType     Type of attribute to       
                                                        changed                    
ChangedAttributeLength      M      WMAAttributeLength   Length of attribute        
                                                        changed                    
ChangedAttributeValue       M      WMAAttributeValue    New Value                  
Suffix                      M      ----                 CWAD Suffix Information    

Events Recorded:

Event Description When Created

WMAssignedProcessInstanceAttributes (2,4) Process Instance Attributes have been changed.

6. Activity Instance Audit Information

6.1 Change Activity Instance State Audit Data

When certain events occur that change the activity instance state, this information will be recorded as Activity Instance Audit Data..

Data Elements                 M/O   Data Type         Description                 
Prefix                        M     ----              CWAD Prefix Information     
ActivityInstanceID            M     WMAObjectID       Unique ID for the current   
                                                      Activity Instance.          
ActivityDefinitionBusinessNa  O     WMAObjectName     Business name of the        
me                                                    Activity                    
ApplicationID                 O     WMAObjectID       ID of application           
                                                      associated with this        
                                                      activity                    
NewActivityState              M     WMAObjectState    New Activity State          
PreviousActivityState         O     WMAObjectState    Previous Activity State     
Suffix                        M     ----              CWAD Suffix Information     

Events Recorded

Event Description When Created

WMChangedActivityInstanceState (2) Activity state has changed by API or internal event.

This is also used to record the initial state of the

activity instance.

WMCompletedActivityInstance (2) Activity instance has completed.

WMTerminatedActivityInstance (2) Activity instance has been terminated.

WMAbortedActivityInstance (2) Activity instance has been aborted.

WMWaitingOnEvent ( ) Activity is waiting on event(s) to occur.

WMEventOccurred ( ) Event(s) on which an activity was waiting has

occurred.

6.2 Assign Activity Instance Attributes Audit Data

When the attributes to an activity instance are assigned, this information is recorded.

Data Elements               M/O     Data Type            Description                
Prefix                      M       ----                 CWAD Prefix Information    
ActivityInstanceID          M       WMAObjectID          Unique ID for Activity     
                                                         Instance                   
ActivityState               O       WMAObjectState       Current Activity State     
ChangedAttributeName        M       WMAAttributeName     Name of attribute to be    
                                                         changed                    
ChangedAttributeType        M       WMAAttributeType     Type of attribute to       
                                                         changed                    
ChangedAttributeLength      M       WMAAttributeLength   Length of attribute        
                                                         changed                    
ChangedAttributeValue       M       WMAAttributeValue    New Value                  
Suffix                      M       ----                 CWAD Suffix Information    

Events Recorded:

Event Description When Created

WMAssignedActivityInstanceAttributes (2) Activity Instance Attributes have been

changed.

7. WorkItem Audit Information

7.1 Change WorkItem State Audit Data

A work item has a state and when a change of state occurs, the event is written.

Data Elements              M/O    Data Type          Description                  
Prefix                     M      -----              CWAD Prefix Information      
ActivityInstanceID         M      WMAObjectID        Unique ID for the current    
                                                     Activity Instance.           
WorkItemID                 M      WMAObjectID        Unique ID for the work       
                                                     item.                        
WorkItemState              O      WMAObjectState     State of the work item       
Suffix                     M      ----               CWAD Suffix Information      

Events Recorded

Event Description When Created

WMChangedWorkItemState (2) Work item state has been changed by API or

internal event. This is also used to record the initial

state of the WorkItem.

WMStartedWorkItem ( ) Work item has been started.

WMCompletedWorkItem (2) Work item has been completed.

WMRejectedWorkItem ( ) Work item has been rejected.

WMSelectedWorkItem (2) User has selected work item off worklist.

This includes get, select, reserve, checkout.

7.2 Assign/Reassign WorkItem Audit Data

When a work item is assigned or reassigned, the audit information is written.

Data Elements              M/O   Data Type         Description                     
Prefix                     M     ----              CWAD Prefix Information         
ActivityInstanceID         M     WMAObjectID       Unique ID for current           
                                                   Activity Instance.              
WorkItemID                 M     WMAObjectID       Unique ID for work item.        
WorkItemState              M     WMAObjectState    State of work item              
TargetDomainID             M     WMAResourceID     Domain ID for user being        
                                                   assigned work item              
TargetNodeID               M     WMAResourceID     Node ID for user being          
                                                   assigned work item.             
TargetUserID               O     WMAResourceID     User ID for user being          
                                                   assigned work item.             
TargetRoleID               O     WMAResourceID     Role ID for user being          
                                                   assigned work item.             
Suffix                     M     ----              CWAD Suffix Information         

Events Recorded

Event Description When Created

WMAssignedWorkItem (2) Work item is placed on user's worklist

WMReassignedWorkItem (2) Work item has been reassigned to one or

more users.

WMReassignedWorklist (2) Entire worklist of a user has been

reassigned to one or more users.

Notes:

For a worklist to be reassigned, the assignment is by multiple work item assignments.

8. Remote Operations Information

8.1 Remote Process Operations Audit Data

The Remote Process Operations Data is written as the result of receiving information about a remote process which is linked to a process operating on the local WFM Engine. The local WFM Engine writes the record.
Data Elements               M/O    Data Type             Description                  
Prefix                      M      ----                  CWAD Prefix Information      
MessageID                   O      WMAObjectID           Message ID associated with   
                                                         event.                       
SourceActivityInstanceID    M      WMAObjectID           Original Activity Instance   
                                                         ID that is associated with   
                                                         this work item, which        
                                                         originated on the Source     
                                                         WFE.                         
RemoteNodeID                M      WMAResourceID         Node ID of remote WFE        
RemoteProcessInstanceID     M      WMAObjectID           Remote WFE Process           
                                                         Instance ID                  
RemoteActivityInstanceID    M      WMAObjectID           Remote WFE Activity          
                                                         Instance ID                  
RemoteTimestamp             M      WMATimestamp          Timestamp of data sent by    
                                                         remote WFE                   
RemoteProcessDefinition     O      WMAObjectName         Business name of the         
BusinessName                                             relevant process             
                                                         definition of Remote WFE     
RemoteActivityDefinition    O      WMAObjectName         Business Name for current    
BusinessName                                             activity from remote         
                                                         process/subprocess.          
AttributeName               O      WMAAttributeName      Name of Attribute            
AttributeType               O      WMAAttributeType      Type of Attribute            
AttributeLength             O      WMAAttributeLength    Length of Attribute          
AttributeValue              O      WMAAttributeValue     Value of Attribute           
Suffix                      M      ----                  CWAD Suffix Information      

Events Recorded:

Event Description When Created

WMStartedProcessInstance (4) Process Instance has been started

WMCreatedProcessInstance (4) Process Instance has been created

WMAbortedProcessInstance (4) Process Instance has been aborted

WMTerminatedProcessInstance (4) Process Instance has been terminated

WMChangedProcessInstanceState (4) Process Instance State has been changed

WMAssignedProcessInstanceAttribute (4) Process Instance Attributes values have been

assigned/changed.

WMCompletedProcessInstance (4) Process Instance has completed.

Notes: The ProcessInstanceID and the ActivityInstanceID of the original WFE must be recorded and passed to the remote WFE, in order to synchronize process/activity when the remote WFE has completed their processes.

8.2 Link-to-Remote Subprocess Audit Data

The Link-to-Remote Subprocess audit data is written when a WFM Engine starts a process on an Engine at a remote location. It is written by the local Engine.

Data Elements               M/O   Data Type             Description                 
Prefix                      M     ----                  CWAD Prefix Information     
MessageID                   O     WMAObjectID           Message ID associated       
                                                        with event.                 
SourceActivityDefinition    O     WMAObjectName         Business name of current    
BusinessName                                            activity on the source      
                                                        engine initiating the       
                                                        link.                       
TargetProcessDefinitionID   O     WMAObjectID           Process Definition ID of    
                                                        the process to be started   
                                                        on remote system            
TargetProcessInstanceID     M     WMAObjectID           Process instance on         
                                                        remote target WFE           
TargetProcessDefinition     O     WMAObjectName         Process to be started at    
BusinessName                                            remote WFE, probably a      
                                                        symbolic name known by      
                                                        remote WFE.                 
TargetNodeID                M     WMAResourceID         Node ID of remote target    
                                                        WFE                         
TargetUserID                O     WMAResourceID         ID of remote user           
                                                        requested to perform the    
                                                        process.                    
TargetRoleID                O     WMAResourceID         ID of remote role           
                                                        requested to perform the    
                                                        process.                    
TargetState                 O     WMAObjectState        Requested new state for     
                                                        the target activity.        
AttributeName               O     WMAAttributeName      Name of Attribute           
AttributeType               O     WMAAttributeType      Type of Attribute           
AttributeLength             O     WMAAttributeLength    Length of Attribute         
AttributeValue              O     WMAAttributeValue     Value of Attribute          
Suffix                      M     ----                  CWAD Suffix Information     

Events Recorded:

Event Description When Created

WMSentRequestStartProcessInstance (4) Request sent to start a process instance on a

remote WFM Engine

WMSentRequestAbortProcessInstance (4) Request sent to abort a process instance on

remote WFM Engine.

WMSentRequestTerminateProcessInstance (4) Request sent to terminate a process instance

on remote WFM Engine.

WMSentRequestChangeProcessInstanceAttribute(4) Request sent to change process instance on

remote WFM Engine.

WMSentRequestGetProcessInstanceAttribute (4) Request sent to get process instance attribute

on remote WFM Engine.

WMSentRequestChangeProcessInstanceState (4) Request sent to change process instance state

on remote WFM engine.

Response Events When Created

WMSentStartedProcessInstance (4) Response sent to remote WFM Engine when

process instance has started.

WMSentChangedProcessInstanceAttribute (4) Response sent to remote WFM Engine when

process instance attribute has been changed.

WMSentRetrievedProcessInstanceAttribute (4) Response sent to remote WFM Engine when

process instance attribute has been retrieved.

WMSentAbortedProcessInstance (4) Response sent to remote WFM Engine when

process instance has been aborted.

WMSentTerminatedProcessInstance (4) Response sent to remote WFM Engine when

process instance has been terminated.

WMSentChangedProcessInstanceState (4) Response sent to remote WFM Engine when

process instance state has changed.

WMSentCompletedProcessInstance (4) Response sent to remote WFM Engine when

process instance has completed.

8.3 Link-From-Remote Subprocess Audit Data

The Link-From-Remote Subprocess audit data is written when a `start process' is received from

a remote WFM Engine, and written by the receiving WFE. The information is used to link the requested subprocess to be started with the remote WFE process/subprocess.

Data Elements                 M/O    Data Type             Description               
Prefix                        M      ----                  CWAD Prefix Information   
MessageID                     O      WMAObjectID           Message ID associated     
                                                           with event.               
SourceInitialProcessInstance  M      WMAObjectID           Initial Process           
ID                                                         Instance ID of source     
                                                           WFE                       
SourceCurrentProcessInstance  M      WMAObjectID           Current Process           
ID                                                         Instance Id of source     
                                                           WFE                       
SourceActivityInstanceID      M      WMAObjectID           Activity Instance ID of   
                                                           the source WFE            
SourceTimestamp               M      WMATimestamp          Timestamp of source WFE   
                                                           event                     
SourceNodeID                  M      WMAResourceID         Node ID of remote WFE     
SourceUserID                  M      WMAResourceID         User ID associated with   
                                                           the remote WFE request    
SourceRoleID                  M      WMAResourceID         Role ID corresponding     
                                                           with User ID              
SourceProcessDefinitionID     O      WMAObjectID           Process Definition ID     
                                                           requested by Source       
                                                           engine                    
SourceProcessDefinition       O      WMAObjectName         Business name of remote   
BusinessName                                               WFE process that          
                                                           generated the request.    
SourceActivityDefinition      O      WMAObjectName         Business name of the      
BusinessName                                               remote WFE activity       
                                                           spawning the request      
SourceRequestedState          O      WMAObjectState        Request for state         
                                                           received from remote      
                                                           WFE.                      
AttributeName                 O      WMAAttributeName      Name of Attribute         
AttributeType                 O      WMAAttributeType      Type of Attribute         
AttributeLength               O      WMAAttributeLength    Length of Attribute       
AttributeValue                O      WMAAttributeValue     Value of Attribute        
Suffix                        M      ----                  CWAD Suffix Information   

Events Recorded:

Event Description When Created

WMReceivedRequestStartProcessInstance (4) Received request from remote WFM

Engine to start process instance.

WMReceivedRequestAbortProcessInstance (4) Request received from remote WFM

Engine to abort process instance.

WMReceivedRequestTerminateProcessInstance (4) Request received from remote

WFM Engine to terminate process

instance.

WMReceivedRequestChangeProcessInstanceState (4) Request received from remote WFM

engine to change process instance

state.

WMReceivedRequestChangeProcessInstanceAttribute (4) Request received from remote WFM

Engine to change process instance

attribute.

WMReceivedRequestGetProcessInstanceAttribute (4) Request received from remote WFM

to get process instance attribute.

Response Events Description When Created

WMReceivedStartedProcessInstance (4) Response received from remote

WFM Engine when process instance

has started.

WMReceivedChangedProcessInstanceAttribute (4) Response received from remote

WFM Engine when process instance

attribute has been changed.

WMReceivedRetrievedProcessInstanceAttribute (4) Response received from remote

WFM Engine when process instance

attribute has been retrieved.

WMReceivedAbortedProcessInstance (4) Response received from remote

WFM Engine when process instance

has been aborted.

WMReceivedTerminatedProcessInstance (4) Response received from remote

WFM Engine when process instance

has been terminated.

WMReceivedChangedProcessInstanceState (4) Response received from remote

WFM Engine when process instance

state has changed.

WMReceivedCompletedProcessInstance (4) Response received from remote

WFM Engine when process instance

has completed.

8.4 Session Management Audit Data

The Session Management information is written when a session is established between two WFM Engines. Both WFM Engines need to record this information at the time of session connection.

Data Elements                   M/O   Data Type         Description                  
Prefix                          M     ----              CWAD Prefix Information      
MessageID                       O     WMAObjectID       Message ID associated with   
                                                        event.                       
CorrespondentDomainID           M     WMAResourceID     DomainID of accepting the    
                                                        session request.             
CorrespondentNodeID             M     WMAResourceID     Node ID of accepting the     
                                                        session request.             
Suffix                          M     ----              CWAD Suffix Information      

Events Recorded:

Event Description When Created

WMStartedSession (4M*) Start a Session with a remote WFM Engine

WMStoppedSession (4M*) Stop a session with a remote WFM Engine.

* NOTE: 4M refers to the Interoperability interface MIME binding.

9. Process Definition Audit Information

9.1 Change Process Definition State Audit Data

When the state of the process definition is changed, the information is written to the audit data. A state change may occur as the result of a State Change API command or as the result of internal WFM Engine operations. This would correspond to the WMChangeProcessDefinitionState, which allows process definitions to be changed temporarily to a specific states, such as disabled or enabled.

Name                         M/O     Data Type         Description                     
Prefix                       M       ----              CWAD Prefix Information         
ProcessDefinitionID          M       WMAObjectID       Unique ID of the process        
                                                       definition                      
NewProcessDefinitionState    M       WMAObjectState    New state for the process       
                                                       definition                      
PreviousProcessDefinitionSt  M       WMAObjectState    Previous state for process      
ate                                                    definition                      
Suffix                       O       ----              CWAD Suffix Information         

Events Recorded:

Event Description When Created

WMChangedProcessDefinitionState (2) State of Process definition has been changed.

10. Discretionary Audit Information

Discretionary Audit Data information is information that are data elements agreed upon by two or more vendors to be recorded, yet are not required for WfMC conformance.

We will describe the data elements for the optional data. However, the items that might be considered are return codes, error messages, work item priorities, route assigned and taken, security, code page, and expected duration.

Data Elements                   M/O    Data       Description         
                                       Types                          
Prefix Information              M      ----       CWAD Prefix         
                                                                      
                                                                      
                                                                      
Suffix Information              M      ----       CWAD Suffix         

Notes: Future expansion

11. Private Audit Information

Private Audit Data information is data which is specific or private to a particular vendor's workflow product. They are not defined by the Coalition, only the format will be defined. Suggested data might include error messages, program specific data pointers...any data that is necessary for derived data for user, transaction, cost, trend, critical path, and/or optimization analysis.

Data Elements                  M/O    Data Types   Description                
Prefix Information             M      ----         CWAD Prefix                
                                                                              
                                                                              
                                                                              
Suffix Information             M      ----         CWAD Suffix                

Notes: Future Expansion

12. Appendix A: Event Codes

The following are the event codes and when they are created. The naming of the events recorded consist of verb-noun-verb-noun syntax. For example, when a request is sent start a process instance on a remote workflow engine, the event is "WMSentRequestStartProcessInstance." For those functions that have events recorded, the events are listed. Included are reference numbers, corresponding to the interfaces where the function is described, such as (2) = WAPI interface, (4) = Interoperability interface. Future events that have been identified, but are not part of the current specifications, are included in this specification and have no reference number ( ).

12.1 Process Instance Audit Information

Create/Start Process/Subprocess Instance Audit Data

WMCreatedProcessInstance (2,4) Process instance is created.

WMStartedProcessInstance (2,4) Process instance is started.

Change Process/Subprocess Instance State Audit Data

WMChangedProcessInstanceState (2,4) Process state has changed by API or internal event.

WMCompletedProcessInstance (2,4) Process instance has completed.

WMTerminatedProcessInstance (2,4) Process instance has been terminated.

WMAbortedProcessInstance (2,4) Process instance has been aborted.

WMWaitingOnEvent ( ) Process is waiting on event(s) to occur.

WMEventOccurred ( ) Event(s) on which a process was waiting has occurred.

WMStartedSubprocess ( )

WMCompletedSubprocess ( )

Assign Process Instance Attributes Audit Data

WMAssignedProcessInstanceAttributes (2,4) Process Instance Attributes have been changed.

12.2 Activity Instance Audit Information

Change Activity Instance State Audit Data

WMChangedActivityInstanceState (2) Activity state has changed by API or internal event.

This is also used to record the initial state of the

activity instance.

WMCompletedActivityInstance (2) Activity instance has completed.

WMTerminatedActivityInstance (2) Activity instance has been terminated.

WMAbortedActivityInstance (2) Activity instance has been aborted.

WMWaitingOnEvent ( ) Activity is waiting on event(s) to occur.

WMEventOccurred ( ) Event(s) on which an activity was waiting has

occurred.

Assign Activity Instance Attributes Audit Data

WMAssignActivityInstanceAttributes (2) Activity Instance Attributes have been changed.

12.3 Workitem Audit Information

Change Workitem State Audit Data

WMStartedWorkItem (2) Work item has been started.

WMCompletedWorkItem ( ) Work item has been completed.

WMRejectedWorkItem (2) Work item has been rejected.

WMSelectedWorkItem (2) User has selected work item off worklist.

This includes get, select, reserve, checkout.

WMChangedWorkItemState (2) Work item state has been changed by API or internal

event. This is also used to record the initial state of

the work item.

Assign/Reassign Workitem/Worklist Audit Data

WMAssignedWorkItem (2) Work item is placed on user's worklist

WMReassignedWorkItem (2) Work item has been reassigned to one or

more users.

WMReassignedWorklist (2) Entire worklist of a user has been

reassigned to one or more users.

12.4 Remote Operation Audit Information

Remote Process Operation Audit Data

WMStartedProcessInstance (4) Process Instance has been started

WMCreatedProcessInstance (4) Process Instance has been created

WMAbortedProcessInstance (4) Process Instance has been aborted

WMTerminatedProcessInstance (4) Process Instance has been terminated

WMChangedProcessInstanceState (4) Process Instance State has been changed

WMAssignedProcessInstanceAttribute (4) Process Instance Attributes values have been

assigned/changed.

WMCompletedProcessInstance (4) Process Instance has completed.

Link to Remote Subprocess Audit Data

WMSentRequestStartProcessInstance (4) Request sent to start a process instance on a

remote WFM Engine

WMSentRequestAbortProcessInstance (4) Request sent to abort a process instance on

remote WFM Engine.

WMSentRequestTerminateProcessInstance (4) Request sent to terminate a process instance

on remote WFM Engine.

WMSentRequestChangeProcessInstanceAttribute(4) Request sent to change process instance on

remote WFM Engine.

WMSentRequestGetProcessInstanceAttribute (4) Request sent to get process instance attribute

on remote WFM Engine.

WMSentRequestChangeProcessInstanceState (4) Request sent to change process instance state

on remote WFM engine.

Responses

WMSentStartedProcessInstance (4) Response sent to remote WFM Engine when

process instance has started.

WMSentChangedProcessInstanceAttribute (4) Response sent to remote WFM Engine when

process instance attribute has been changed.

WMSentRetrievedProcessInstanceAttribute (4) Response sent to remote WFM Engine when

process instance attribute has been retrieved.

WMSentAbortedProcessInstance (4) Response sent to remote WFM Engine when

process instance has been aborted.

WMSentTerminatedProcessInstance (4) Response sent to remote WFM Engine when

process instance has been terminated.

WMSentChangedProcessInstanceState (4) Response sent to remote WFM Engine when

process instance state has changed.

WMSentCompletedProcessInstance (4) Response sent to remote WFM Engine when

process instance has completed.

Link From Remote Subprocess Audit Data

WMReceivedRequestStartProcessInstance (4) Received request from remote WFM

Engine to start process instance.

WMReceivedRequestAbortProcessInstance (4) Request received from remote WFM

Engine to abort process instance.

WMReceivedRequestTerminateProcessInstance (4) Request received from remote

WFM Engine to terminate process

instance.

WMReceivedRequestChangeProcessInstanceState (4) Request received from remote WFM

Engine to change process instance

state.

WMReceivedRequestChangeProcessInstanceAttribute (4) Request received from remote WFM

Engine to change process instance

attribute.

WMReceivedRequestGetProcessInstanceAttribute (4) Request received from remote WFM

to get process instance attribute.

Responses

WMReceivedStartedProcessInstance (4) Response received from remote

WFM Engine when process instance

has started.

WMReceivedChangedProcessInstanceAttribute (4) Response received from remote

WFM Engine when process instance

attribute has been changed.

WMReceivedRetrievedProcessInstanceAttribute (4) Response received from remote

WFM Engine when process instance

attribute has been retrieved.

WMReceivedAbortedProcessInstance (4) Response received from remote

WFM Engine when process instance

has been aborted.

WMReceivedTerminatedProcessInstance (4) Response received from remote

WFM Engine when process instance

has been terminated.

WMReceivedChangedProcessInstanceState (4) Response received from remote

WFM Engine when process instance

state has changed.

WMReceivedCompletedProcessInstance (4) Response received from remote

WFM Engine when process instance

has completed.

Session Management Audit Data

WMStartedSession (4M* ) Start a Session with a remote WFM Engine

WMStoppedSession (4M* ) Stop a session with a remote WFM Engine.

* NOTE: 4M refers to the Interoperability interface MIME binding.

12.5 Process Definition Audit Information

Process Definition State Change Audit Data

WMChangedProcessDefinitionState (2) State of Process definition has been changed.