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
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 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.
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.
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;
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.
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.
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 InformationEvents 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
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.
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
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
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
I
nformation
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.