The Workflow Management Coalition Specification
Workflow Management Coalition
Draft Audit Specification
Document Number WFMC-TC-1015
Draft
14-August 1996
Authored by Workgroup 5
Send comments to phelfrich@vnet.ibm.com
This draft document is being circulated for wider comment for the purpose of improving it. It has not been adopted by the Workflow Management Coalition as an official standard. Reviewers of this document should understand that this document may go through significant changes in the future, and no commitment of any kind is made to the current form.
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 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.
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.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.
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.
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 { WMTInt16 event_code; } WMAEventCode;
4.3
CWAD Prefix
Information
This information is mandatory for each event.
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 B) 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 MessageID O WMAObjectID Message ID associated with event.
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. The ID should contain the Source Vendor ID, Domain ID and Node ID and a unique Instance ID.
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.
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, VendorPrivate, BusinessPrivate, 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 InitialProcessInstanceID CurrentProcessInstanceID ActivityInstanceID ProcessState EventCode DomainID NodeID UserID RoleID Timestamp InformationID MessageID 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 InitialProcessInstanceID CurrentProcessInstanceID ActivityInstanceID ProcessState EventCode DomainID NodeID UserID RoleID Timestamp InformationID MessageID 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 ( ) *
* NOTE: Do we want to keep "subprocess" in this specification?
5.3
Assign Process Instance Attributes
Audit
Data
Data Elements M/O Data Type Description Prefix M ---- CWAD Prefix Information InitialProcessInstanceID CurrentProcessInstanceID ActivityInstanceID ProcessState EventCode DomainID NodeID UserID RoleID Timestamp InformationID MessageID 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 InitialProcessInstanceID CurrentProcessInstanceID ActivityInstanceID ProcessState EventCode DomainID NodeID UserID RoleID Timestamp InformationID MessageID 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.
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 InitialProcessInstanceID CurrentProcessInstanceID ActivityInstanceID ProcessState EventCode DomainID NodeID UserID RoleID Timestamp InformationID MessageID ActivityInstanceID M WMAObjectID Unique ID for Activity Instance AcitivityState 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 InitialProcessInstanceID M ---- CWAD Prefix Information CurrentProcessInstanceID ActivityInstanceID ProcessState EventCode DomainID NodeID UserID RoleID Timestamp InformationID MessageID 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.
WMStartedWorkItem (2) Work item has been started.
WMCompletedWorkItem (2) Work item has been completed.
WMRejectedWorkItem ( ) Work item has been rejected.
WMSelectedWorkItem ( ) User has selected work item off worklist
(This included 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 InitialProcessInstanceID CurrentProcessInstanceID ActivityInstanceID ProcessState EventCode DomainID NodeID UserID RoleID Timestamp InformationID MessageID 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 InitialProcessInstanceID CurrentProcessInstanceID ActivityInstanceID ProcessState EventCode DomainID NodeID UserID RoleID Timestamp InformationID MessageID 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.
Data Elements M/O Data Type Description Prefix M ---- CWAD Prefix Information InitialProcessInstanceID CurrentProcessInstanceID ActivityInstanceID ProcessState EventCode DomainID NodeID UserID RoleID Timestamp InformationID MessageID 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) Reponse 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 InitialProcessInstanceID CurrentProcessInstanceID ActivityInstanceID ProcessState EventCode DomainID NodeID UserID RoleID Timestamp InformationID MessageID 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 receieved 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) Reponse 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 InitialProcessInstanceID CurrentProcessInstanceID ActivityInstanceID ProcessState EventCode DomainID NodeID UserID RoleID Timestamp InformationID MessageID 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 InitialProcessInstanceID CurrentProcessInstanceID ActivityInstanceID ProcessState EventCode DomainID NodeID UserID RoleID Timestamp InformationID MessageID 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 InitialProcessInstanceID CurrentProcessInstanceID ActivityInstanceID ProcessState EventCode DomainID NodeID UserID RoleID Timestamp InformationID MessageID 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 InitialProcessInstanceID CurrentProcessInstanceID ActivityInstanceID ProcessState EventCode DomainID NodeID UserID RoleID Timestamp InformationID MessageID 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 ( ).
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.
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 (2) Work item has been completed.
WMRejectedWorkItem (2) Work item has been rejected.
WMSelectedWorkItem (2) User has selected work item off worklist
(This included Select, reserve, checkout.)
WMChangedWorkItemState (2) Work item state has been changed by API or internal event.
ASSIGN/REASSIGN WORK ITEM/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) Reponse 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 receieved 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) Reponse 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.