The Workflow Management Coalition Specification
Workflow Management Coalition
Workflow Standard - Interoperability
Internet e-mail MIME Binding
Document Number WFMC-TC-1018
20-October-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 October 1996
1.
Purpose
This document corresponds to the Workflow Management Workflow Standard -
Interoperability Abstract Specification [WfMC1012] which provides an abstract
specification defining the necessary functionality to achieve a defined level
of interoperability between two or more workflow engines. This document defines
a binding giving concrete type definitions and message formats for the
realization of the abstract specification using internet e-mail with MIME
encoding as a transport mechanism.
2.
Audience
The intended audience for this document is primarily vendor organisations who
seek to implement the MIME Binding of the Workflow Management Coalition
Standard - Interoperability. It may also be of interest to those preparing
binding specifications for other transports and for those seeking to assess the
conformance claims made by vendors for their products.
3.
Scope
The scope of this document is defined by the abstract specification of the
interoperability standard [WfMC1012].
4.
Overview
4.1
Design Assumptions
The goal of this document is to give concrete definitions of the messages that
flow between two workflow engines in order to effect interoperability as
defined in [WfMC1012]. The abstract definitions of the messages given in
[WfMC1012] are mapped onto a simple text interface that uses internet e-mail
as the transport method. There are two parts to this proposal:
1. Use of the MIME header to define interoperability request and response messages.
2. Use of the CGI style of formatting for encoding requests and responses in the body of a message.
4.1.1.
The MIME Header
An experimental MIME (Multipurpose Internet Mail Extension - RFC-1521) header
is used to identify a mail message containing WfMC interoperability requests or
responses in the body of a message.
The format of the MIME header for a request is:
Content-type: application/x-wfmc-if4-request
and the format of the MIME header for a response is:
Content-type: application/x-wfmc-if4-response
This would allow an automated mail application to validate the type of message and filter out any that are not explicitly a WfMC interoperability request or response message.
Each line of text starts with the operation name which is terminated by a ?
character. The parameters are defined as name-value pairs and are separated by
the & character. The line is terminated by a newline character.
To allow embedded special characters, spaces are replaced by the + character
and all other non alphanumeric characters are replaced by their hexadecimal
representation, preceded by a % character. This guarantees that any
intermediate mail processing software will not remove and/or interpret spaces
and special characters.
i.e.
SetProcessInstanceAttributes?time=1986 February 22 16:00:00
becomes
SetProcessInstanceAttributes?time=1986+February+22+16%3A00%3A00
Note that
a+b becomes a%2Bb
a + b becomes a+%2B+b
and
50% becomes 50%25
If the number of terms in the message is such that the line becomes unduly
long, the line can be broken by preceding the return character by two %
consecutive characters, e.g.
StopSession?SourceDomainID=WFCANADA&%%
SourceNodeID=Staffware@lenny.icl.co.uk&%%
RootPID=730&ProcessID=24&ActivityID=3&%%
Source_Session=123&%%
MessageID=23
Using this scheme it is a straight forward task to map each of the request and
response message formats.
4.1.2.
Message Body
The message body will contain one or more operation requests/responses with
appropriate parameters, encoded using the concepts defined by the CGI (Common
Gateway Interface) and the URL encoding scheme [RFC-1738].
An example of the contents of a .forward file might be:
\username,"|/export/home/wfmc/interop"
This would automatically invoke the application /export/home/wfmc/interop whenever a mail message is received. The application can interpret the requests and responses and make appropriate calls on the vendor's workflow engine.
To send a message to another workflow engine, the message can be written to a file and sendmail can be invoked using a system call to dispatch it.
I A I A
Workflow N P sendmail mailbox N P Workflow
Engine A T P T P Engine B
E L E L
R I mailbox sendmail R I
O C O C
P A P A
T T
A I B I
O O
N N
Figure 1: Architecture to effect mail based interoperability between two workflow engines
In this scheme of things, each workflow engine is uniquely identified by the mailbox it listens to (i.e. its mail address).
Each message sent from one workflow engine to the other is to be uniquely numbered. Each workflow engine will be able to uniquely identify a message by its class (request or response) and by its number. In full duplex style dialogues between workflow engines, where either engine can initiate a request to which the other may respond, there is the possibility that two messages sent in opposite directions could have the same class and message number. In order to avoid this problem, each workflow engine is required to establish a session with the other if it requires to send requests or notifications rather than just responding to received messages.
Each session has a two part session identifier. The initiating workflow engine
assigns a "Source Session ID" and the target workflow engine (the one that the
initiating workflow engine wishes to start a session with) assigns a "target
session ID". If the source engine alone sets the session ID, then there is the
possibility (albeit remote) that a target workflow engine working to multiple
source engines could receive the same session ID from more than one source.
Similarly, if the target engine alone sets the session ID, then a source
workflow engine, working to multiple targets, could receive back the same
session ID from more than one engine. To overcome this problem, a truly unique
session ID can be achieved by having both engines provide a session ID
component that is to each, unique. The combined source/target pairing of
session IDs is then guaranteed to be unique for both engines.
The concrete realization of the abstract data type WMAEngineID is a data
structure identifying a particular workflow engine by:
4.2
Data Types & Declaratives
* the ID of the workflow domain within which the interoperability is being effected
* the mail address[2] from which it will receive messages from other workflow engines operating within the given workflow domain
* the source session ID it has assigned to the interoperability dialogue it is conducting with a specified other workflow engine
* the target session ID assigned by the other workflow engine to the interoperability dialogue it is conducting with this workflow engine[3]
typedef
{
WMTResourceID domain_id;
WMTResourceID node_id;
WMTResourceID source_session;
WMTResourceID target_session;
} WMTEngineID;
The following types are derived from the audit data specification document [WfMC1015].
typedef { WMTText object_id[UNIQUE_ID_SIZE]; }WMTObjectID; //Object is Process, Activity or Workitem
typedef { WMTText resource_ID[UNIQUE_ID_SIZE]; }WMTResourceID;
//Resource is Person,Role or Network Resource
All other types and declaratives used in this binding specification are to be found in the specification of the Workflow Management API [WfMC1009]
Request and notification messages sent by one workflow engine to another are answered by a response message which tells the source workflow engine what happened on the target workflow engine as a result of the message being sent. There are four possible outcomes to such interactions:
* the request/notification message was not processed due to some preceeding error
* the request/notification message was not processed by the receiving workflow engine because the required functionality is not supported or not implemented
* the request/notification message was processed successfully
* some error occurred in the processing of the request/notification message
These four cases are identified to the source workflow engine via the ReturnCode field in the response message. The ReturnCode can have the following values:
Operation_not_performed 255
Operation_not_implemented 1
Success 0
Failure some other value
This scheme is designed to allow the target workflow engine the possibility of returning a meaningful value for the Failure state which might convey to the source workflow engine what went wrong rather than just the fact that something went wrong. The values for Failure may be workflow engine specific or the result of some agreement between the designers of the two interoperating workflow definitions.
.
4.3
Defined Terms and
Abbreviations
The terms used in this document are defined in the Workflow Management
Coalition Glossary [WfMC000].
In the descriptions of interoperability operations given in section 5 below,
the term source workflow engine is used to identify a workflow engine
that originates a request for a specified action or for information of another
workflow engine and the term target workflow engine is used to identify
the other workflow engine within the workflow domain that is the recipient of
such a request. The term source workflow engine is also applied to a
workflow engine that, of its own initiative, provides notification that some
event has occurred to another workflow engine. In this document the recipient
of such a notification is also referred to as the target workflow engine.
4.4
Conformance
A vendor cannot 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 to be defined by WfMC.
Any vendor of a workflow engine claiming conformance with this interface shall give clear indication of the mechanism/binding required to effect interoperability e.g.
* internet e-mail MIME;
the style of interoperability dialogue supported:
* atomic
* batched
* both
and of the style of dialogue supported:
* half duplex
or
* full duplex
in order that a potential user has a basis for judging which other workflow products a given workflow engine can interoperate with.
A conforming implementation of this Functional Area of the Workflow Management Coalition specification must be capable of supporting the implementation of the relevant portion of the Administration and Monitoring specification through capturing and maintaining the audit data specified. The audit data specified in this document is intended to indicate the information that a conforming workflow engine must be capable of presenting in relation to the status and past history of interoperations with other workflow engines relating to enactment of a process instance. It is not intended as a specification of how or where that information is stored and maintained.
5.
Specification of Operators for Effecting
Interoperation
In the following text, the function specifications define operations required
to effect interoperability between two (or more) workflow engines. The message
specifications define information that needs to be passed between two workflow
engines in order to effect the operations described. It is expected that the
specifications of message formats will apply to implementations that work
synchronously or work asynchronously.
The audit data specifications given below define the presentation of audit data that must be possible following interoperation between workflow engines using this binding. It is not intended that this part of the specification be taken as a literal description of how such data must be stored, rather it is included as an aid to implementors who subsequently go on to implement the Coalition's Audit and Management Interfaces.
5.1.
Connection Operations
5.1.1
Start Session
Specificatio WMTReturnCode WMRequestStart_Session ( n in engine_address WMTResourceID, in domain WMTResourceID, inout engine_identifier WMTEngineID );
Description Connect to the designated workflow engine, starting a new session. Both workflow engines create a session management record as defined in [WfMC015] to mark the start of the session.
Parameters engine_address the mail address of the target workflow engine
domain identifier for the set of workflow engines that interoperate
within the current context
engine_identifier a data structure containing the address of the target workflow engine and the source and target session IDs for the newly established session
Return Values Success | Failure
Rationale For full duplex dialogues effecting interoperation, it is necessary that a connection of some form be established between the interoperating workflow engines before any interoperation can take place.
Request Message Format
Field Value StartSession DomainID Domain ID for set of workflow engines interoperating within the current context SourceNodeID Mail address for source workflow engine RootPID PID of root workflow process instance ProcessID Process instance ID of process originating the session start request ActivityID Activity ID identifying the process step within the process instance that originated the session start request Source_Session Session ID allocated by source workflow engine or by the transport mechanism MessageID Message ID allocated by source workflow engine or by the transport mechanisme.g.
Content-type:application/x-wfmc-if4-request
StartSession?DomainID=WFCANADA&%%
SourceNodeID=Staffware@lenny.icl.co.uk&RootPID=730&%%
ProcessID=24&ActivityID=2&Source_Session=123&MessageID=1
Response Message Format
Field Value Response to StartSession ReturnCode Success | Failure | Operation_not_performed | Operation_not_implemented Source_Session Session ID allocated by source workflow engine or by the transport mechanism Target_Session Session ID allocated by target workflow engine or by the transport mechanism DomainID Domain ID for set of workflow engines interoperating within the current context TargetNodeID Mail address for target workflow engine Timestamp Time target workflow engine established session MessageID Message ID allocated by target workflow Engine or by the transport mechanism
e.g.
Content-type:application/x-wfmc-if4-response
StartSession?Source_Session=123&%%
Target_Session=456&DomainID=WFCANADA&TargetNodeID=FlowMark1@george.ibm.cm&%%
Timestamp=1996+February+28+16:30&MessageID=2
Note, if the value of Target_Session is null, then the operation failed.
Source Engine Audit Data
Name M/O Data Type Description Initial Process M WMTProcInstID Unique ID of initial Instance ID (root) process instance Current Process M WMTProcInstID Unique ID of current Instance ID process instance Activity ID O WMTActivityInstID Unique ID of current activity instance Process State M WMTProcInstState The state of the current process instance Event Code M WMTEventCode `WMStartedSession' Domain ID M WMTResourceID Domain ID for source workflow engine Node ID M WMTResourceID Node ID for source workflow engine User ID M WMTResourceID ID of user whom the business would consider the primary person involved with this event. This could be a person or entity. May be null. Role ID M WMTResourceID null | the role of the user involved in this event Current Timestamp M WMTTimestamp Time when event was recorded InformationID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. CorrespondentDomainID M WMAResourceID DomainID of Workflow Engine accepting the session request. CorrespondentNodeID M WMAResourceID Node ID of Workflow Engine accepting the session request. Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTResourceID As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTResourceID As supplied by target workflow engine or by the transport mechanism
Target Workflow Engine Audit Data
Name M/O Data Type Description Initial Process M WMTProcInstID Process Instance ID for Instance ID process instance on source workflow engine which caused the request for the session to be started Current Process M WMTProcInstID null Instance ID Activity ID O WMTActivityInstID null Process State M WMTProcInstState null Event Code M WMTEventCode `WMStartedSession' Domain ID M WMTResourceID Domain ID for target workflow engine Node ID M WMTResourceID Node ID for target workflow engine User ID M WMTResourceID ID of user whom the business would consider the primary person involved with this event. This could be a person or entity. May be null. Role ID M WMTResourceID null Current Timestamp M WMTTimestamp Time event was recorded InformationID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. CorrespondentDomainID M WMAResourceID DomainID of source workflow engine source session start. CorrespondentNodeID M WMAResourceID Node ID of source workflow engine source the session start. Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanism
Specificatio WMTReturnCode WMRequestStop_Session ( n in engine_identifier WMTEngine_ID );
Description Terminate the current session, disconnect from the interoperating workflow engine. This does not terminate any processes that have been started during the session, they continue unaffected. Both workflow engines create a session management record as defined in [WfMC015] to mark the end of the session.
Parameters engine_identifier a data structure containing the address of the target workflow engine and the source and target session IDs for the session to be terminated established session
Return Values Success | Failure
Rationale A session is not like a transaction in database terms. When two workflow engines are interoperating synchronously and a sub-process is started which may run over a significant period of time it will probably be impractical for the two workflow engines to remain connected the whole time. If the sub-process runs for some period of time its performance may be monitored from the invoking workflow engine over several sessions.
Request Message Format
Field Value StopSession DomainID Domain ID for set of workflow engines interoperating within the current context SourceNodeID Identifier for source workflow engine RootPID PID of root workflow process instance ProcessID Process instance ID of process originating the session stop request ActivityID Activity ID identifying the process step within the process instance that originated the session stop request Source_Session Session ID allocated by source workflow engine or by the transport mechanism MessageID Message ID allocated by source workflow engine or by the transport mechanism
e.g.
Content-type:application/x-wfmc-if4-request
StopSession?DomainID=WFCANADA&%%
SourceNodeID=Staffware@lenny.icl.co.uk&%%
RootPID=730&ProcessID=24&ActivityID=3&%%
Source_Session=123&%%
MessageID=23
Response Message Format
Field Value Response to StopSession ReturnCode Success | Failure | Operation_not_performed Source_Session Session ID allocated by source workflow engine or by the transport mechanism Target_Session Session ID allocated by target workflow engine or by the transport mechanism DomainID Domain ID for set of workflow engines interoperating within the current context TargetNodeID Identifier for target workflow engine Timestamp Time when Session ended MessageID Message ID allocated by target workflow Engine or by the transport mechanism
e.g.
Content-type:application/x-wfmc-if4-response
StopSession?ReturnCode=0&Source_Session=123&Target_Session=456&%%
DomainID=WFCANADA&TargetNodeID=FlowMark1@george.ibm.com&%%
Timestamp=1996+March+5+08:43&MessageID=24
Source Workflow Engine Audit Data
Name M/O Data Type Description Initial Process M WMTProcInstID Unique ID of initial Instance ID (root) process instance Current Process M WMTProcInstID Unique ID of current Instance ID process instance Activity ID O WMTActivityInstID Unique ID of current activity instance Process State M WMTProcInstState The state of the current process instance Event Code M WMTEventCode `WMStoppedSession' Domain ID M WMTResourceID Domain ID for source workflow engine Node ID M WMTResourceID Node ID for source workflow engine User ID M WMTResourceID ID of user whom the business would consider the primary person involved with this event. This could be a person or entity.May be null. Role ID M WMTResourceID null | the role of the user involved in this event Current Timestamp M WMTTimestamp Timestamp provided by target workflow engine InformationID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. CorrespondentDomainID M WMAResourceID DomainID of Workflow Engine accepting the session request. CorrespondentNodeID M WMAResourceID Node ID of Workflow Engine accepting the session request. Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanism
Target Workflow Engine Audit Data
Name M/O Data Type Description Initial Process M WMTProcInstID Process Instance ID for Instance ID process instance on source workflow engine which caused the request for the session to be started Current Process M WMTProcInstID Unique ID of current Instance ID process instance Activity ID O WMTActivityInstID Unique ID of current activity instance Process State M WMTProcInstState The state of the current process instance Event Code M WMTEventCode `WMStoppedSession' Domain ID M WMTResourceID Domain ID for target workflow engine Node ID M WMTResourceID Node ID for target workflow engine User ID M WMTResourceID ID of user whom the business would consider the primary person involved with this event. This could be a person or entity.May be null. Role ID M WMTResourceID null Current Timestamp M WMTTimestamp Timestamp event was recorded InformationID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. CorrespondentDomainID M WMAResourceID DomainID of Workflow Engine source the session stop. CorrespondentNodeID M WMAResourceID Node ID of Workflow Engine source the session stop. Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTResourceID As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTResourceID As supplied by target workflow engine or by the transport mechanism
5.2.
Process Control Interactions
5.2.1
Create Process
Instance
Specificatio WMTReturnCode WMRequestCreateProcessInstance ( n in engine_identifier WMTEngineID, in process_definition_id WMTObjectID, in return_flag WMTBool, in parent_pid WMTObjectID, in activity_id WMT_Activity_ID, out sub_process_id WMT_Process_instance_ID, out user_id WMTResourceID, out role_id WMTResourceID );
Description This operation identifies a process definition which the receiving workflow engine will be required to enact.
Parameters engine identifier identifies the target workflow engine
process_definition_id[4] the ID of the process definition that is to be enacted
return_flag indicates whether the target workflow engine is required to
communicate any return values (nested sub-process)
parent_pid the initial process instance unique ID (the ID of the process instance operating on the invoking (parent) workflow engine[5]
activity_id the ID of the activity in the parent process instance which is causing this request to create a sub-process
sub_process id the process instance unique ID of the process instance that has been created by the selection of the given process definition
user_id the ID of the primary user of the process instance to be created (may be null)
role_id the ID of the role assumed by the primary user (may be null)
Return Values Success | Failure | Operation_not_performed | Operation_not_implemented
Rationale It is necessary that a workflow engine be able to communicate the identity of a process definition to another workflow engine in order for the latter to enact it.
Request Message Format
Field Value CreateProcessInstance ProcessDefinitionID Identifier of the process definition that the target workflow engine is required to use to create the process instance ReturnFlag True => nested sub-process False => chained | independent sub-process ParentPID Identifier of initial (root) process on source workflow engine that requires the new process instance to be created ProcessID Identifier of process on source workflow engine that requires the new process instance to be created ActivityID Identifier of activity on source workflow engine that requires the new process instance to be created Timestamp Timestamp for when request was sent by source workflow engine DomainID ID of domain within which the workflow engines are interoperating SourceNodeID Identifier for source workflow engine SourceUserID User ID responsible for request (may be null) SourceRoleID Role ID responsible for request (may be null) TargetUserID User ID responsible for process instance on target workflow engine (may be null)6 TargetRoleID Role ID responsible for process instance on target workflow engine (may be null) SourceBusinessDefinitionProcessName Business Definition Process Name for source process instance (may be null) Source_Session Session ID allocated by source workflow engine or by the transport mechanism Target_Session Session ID allocated by target workflow engine or by the transport mechanism MessageID Message identifier assigned by the source workflow engine or by the transport mechanism
e.g.
Content-type:application/x-wfmc-if4-request
CreateProcessInstance?ProcessDefinitionID=Open_Account&ReturnFlag=True&%
ParentPID=730&ProcessID=24&ActivityID=2&%%
Timestamp=1996+February+28+16:20&%%
DomainID=WFCANADA&SourceNodeID=Staffware@lenny.icl.co.uk&%%
SourceUserID=NULL&SourceRoleID=NULL&TargetUsedID=NULL&TargetRoleID=NLL&%%
SourceBusinessDefinitionProcessName=NULL&%%
Source_Session=123&Target_Session=321&MessageID=3
Response Message Format
Field Value Response to CreateProcessInstance Return code Success | Failure | Operation_not_performed | Operation_not_implemented Timestamp Timestamp for when requested process instance was created ProcessID ID of newly created process instance [7]UserID User ID of primary user (may be null) RoleID Role assumed by primary user (may be null) TargetProcessBusinessDefinitionName may be null TargetState State of new process instance DomainID Identifier for workflow domain in which the workflow engines are interoperating TargetNodeID Node of target workflow engine Source_Session Session ID allocated by source workflow engine or by the transport mechanism Target_Session Session ID allocated by target workflow engine or by the transport mechanism MessageID Message identifier assigned by target workflow engine or by the transport mechanism
e.g.
Content-type:application/x-wfmc-if4-response
CreateProcessInstance?ReturnCode=0&Timestamp=1996+February+28+16:30&%%
TargetProcessBusinessDefinitionName=NULL&TargetState=open.not-running&%%p> DomainID=WFCANADA&TargetNodeID=FlowMark1@george.ibm.com&%%
Source_Session=123&Target_Session=321&MessageID=4
Source Workflow Engine Audit Data - Request
Name M/O Data Type Description Initial Process M WMTProcInstID Unique ID of initial Instance ID (root) process instance Current Process M WMTProcInstID Unique ID of current Instance ID process instance Activity Instance ID O WMTActivityInstID Unique ID of current activity instance Process State M WMTProcInstState `open.not-running' Event Code M WMTEventCode `WMSentStartProcessInstance ' Domain ID M WMTResourceID Domain ID for source workflow engine Node ID M WMTResourceID Node ID for source workflow engine User ID M WMTResourceID ID of user whom the business would consider the primary person involved with this event. This could be a person or entity.May be null. Role ID M WMTResourceID null | as supplied by target workflow engine Timestamp M WMTTimestamp Timestamp event was recorded Information ID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. SourceActivityDefinition O WMTObjectName Business name of current Busines Name activity on the source engine originating the request to create a new process instance TargetProcessDefinitionI M WMTObjectID as supplied to target D workflow engine Target Process Instance M WMTObjectID Process instance created ID on target workflow engine TargetProcessDefinitionB O WMTObjectName null | as supplied by usinessName target workflow engine TargetNodeID M WMTResourceID Node ID of Workflow Engine accepting the session request. TargetUserID O WMTResourceID ID of remote user requested to perform the process (may be null) TargetRoleID O WMTResourceID ID of remote role requested to perform the process (may be null) Target State O WMTProcInstState State of new process instance Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanismTarget Workflow Engine Audit Data - Request
Name M/O Data Type Description InitialProcessInstanceID M WMTProcInstID Process Instance ID for process instance on source workflow engine which caused the request for the sub-process to be created on the target workflow engine CurrentProcessInstanceID M WMTProcInstID Process Instance ID for sub-process created on the target workflow engine ActivityInstanceID O WMTActivityInstID null ProcessState M WMTProcInstState State of created process instance EventCode M WMTEventCode `WMReceivedRequestStartProcessInst ance' DomainID M WMTResourceID Domain ID for source workflow engine NodeID M WMTResourceID Node ID for target workflow engine UserID M WMTResourceID null or as instantiated RoleID M WMTResourceID null or as instantiated Timestamp M WMTTimestamp Timestamp for when request to create process instance was received InformationID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. SourceInitialProcessInst M WMTProcInstID Initial Process Instance ID of ance ID source workflow engine SourceCurrentProcessInst M WMTProcInstID Current Process Instance ID of anceID source workflow engine SourceActivityInstanceID M WMTActivityInstID Activity Instance ID of the source WFE SourceTimestamp M WMTTimestamp Timestamp of source WFE event SourceNodeID M WMTResourceID Node ID of source Workflow Engine SourceUserID O WMTResourceID User ID associated with the remote workflow engine request SourceRoleID O WMTResourceID Role ID associated with the remote workflow engine request SourceProcess M WMTObjectID as supplied by source workflow Definition ID engine SourceProcessDefinition O WMTText Business name of remote workflow BusinessName engine process that generated the start process request. SourceActivityDefinition O WMTText Business name of the remote WFE BusinessName activity spawning the request Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanism
Source Workflow Engine Audit Data - Operation
Name M/O Data Type Description Initial Process M WMTProcInstID Unique ID of initial Instance ID (root) process instance Current Process M WMTProcInstID Unique ID of current Instance ID process instance Activity Instance ID O WMTActivityInstID Unique ID of current activity instance Process State M WMTProcInstState `open.not-running' Event Code M WMTEventCode `WMCreatedProcessInstance' Domain ID M WMTResourceID Domain ID for source workflow engine Node ID M WMTResourceID Node ID for source workflow engine User ID M WMTResourceID ID of user whom the business would consider the primary person involved with this event. This could be a person or entity.May be null. Role ID M WMTResourceID null | as supplied by target workflow engine Timestamp M WMTTimestamp Timestamp event was recorded Information ID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. SourceActivityInstanceID M WMTObjectID Activity ID on source workflow engine RemoteNodeID M WMTResourceID NodeID of target WFE RemoteProcessInstanceID M WMTObjectID Process instance created on target workflow engine RemoteTimestamp M WMAObjectID Timestamp for when process instance created on target WFE RemoteProcessDefinitionB O WMTObjectName null | as supplied by usinessName target workflow engine Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanismTarget Workflow Engine Audit Data - Operation
Name M/O Data Type Description InitialProcessInstanceID M WMTProcInstID Process Instance ID for process instance on source workflow engine which caused the request for the sub-process to be created on the target workflow engine CurrentProcessInstanceID M WMTProcInstID Process Instance ID for sub-process created on the target workflow engine ActivityInstanceID O WMTActivityInstID null ProcessState M WMTProcInstState State of created process instance EventCode M WMTEventCode `WMCreatedProcessInstance' DomainID M WMTResourceID Domain ID for source workflow engine NodeID M WMTResourceID Node ID for target workflow engine UserID M WMTResourceID null or as instantiated RoleID M WMTResourceID null or as instantiated Timestamp M WMTTimestamp Timestamp for when request to create process instance was received InformationID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. ProcessDefinition ID M WMTObjectID Process Definition ID identifying the definition used to create this process instance ProcessDefinitionBusines O WMTText Business name of the sName process definition Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanism
Source Workflow Engine Audit Data - Response
Name M/O Data Type Description Initial Process M WMTProcInstID Unique ID of initial Instance ID (root) process instance Current Process M WMTProcInstID Unique ID of current Instance ID process instance Activity Instance ID O WMTActivityInstID Unique ID of current activity instance Process State M WMTProcInstState `open.not-running' Event Code M WMTEventCode `WMReceivedStartedProcessIn stance' Domain ID M WMTResourceID Domain ID for source workflow engine Node ID M WMTResourceID Node ID for source workflow engine User ID M WMTResourceID ID of user whom the business would consider the primary person involved with this event. This could be a person or entity.May be null. Role ID M WMTResourceID null | as supplied by target workflow engine Timestamp M WMTTimestamp Timestamp event was recorded Information ID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. SourceActivityDefinition O WMTObjectName Business name of current Busines Name activity on the source engine originating the request to create a new process instance TargetProcessDefinitionI M WMTObjectID as supplied to target D workflow engine Target Process Instance M WMTObjectID Process instance created ID on target workflow engine TargetProcessDefinitionB O WMTObjectName null | as supplied by usinessName target workflow engine TargetNodeID M WMTResourceID Node ID of Workflow Engine accepting the session request. TargetUserID O WMTResourceID ID of remote user requested to perform the process (may be null) TargetRoleID O WMTResourceID ID of remote role requested to perform the process (may be null) Target State O WMTProcInstState State of new process instance Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanismTarget Workflow Engine Audit Data - Response
Name M/O Data Type Description InitialProcessInstanceID M WMTProcInstID Process Instance ID for process instance on source workflow engine which caused the request for the sub-process to be created on the target workflow engine CurrentProcessInstanceID M WMTProcInstID Process Instance ID for sub-process created on the target workflow engine ActivityInstanceID O WMTActivityInstID null ProcessState M WMTProcInstState State of created process instance EventCode M WMTEventCode `WMSentStartedProcessInstan ce' DomainID M WMTResourceID Domain ID for source workflow engine NodeID M WMTResourceID Node ID for target workflow engine UserID M WMTResourceID null or as instantiated RoleID M WMTResourceID null or as instantiated Timestamp M WMTTimestamp Timestamp for when request to create process instance was received InformationID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. SourceInitialProcessInst M WMTProcInstID Initial Process Instance ance ID ID of source workflow engine SourceCurrentProcessInst M WMTProcInstID Current Process Instance anceID ID of source workflow engine SourceActivityInstanceID M WMTActivityInstID Activity Instance ID of the source WFE SourceTimestamp M WMTTimestamp Timestamp of source WFE event SourceNodeID M WMTResourceID Node ID of source Workflow Engine SourceUserID O WMTResourceID User ID associated with the remote workflow engine request SourceRoleID O WMTResourceID Role ID associated with the remote workflow engine request SourceProcess M WMTObjectID as supplied by source Definition ID workflow engine SourceProcessDefinition O WMTText Business name of remote BusinessName workflow engine process that generated the start process request. SourceActivityDefinition O WMTText Business name of the BusinessName remote WFE activity spawning the request Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanism
Specificatio WMTReturnCode WMRequestGetProcessInstanceState ( n in engine_identifier WMTEngineID, in process WMTObjectID, out state WMTObjectState );
Description Get the current status of a given process instance which is being enacted by another workflow engine.
Parameters engine identifier identifies the target workflow engine
process the ID of the process instance that is being enacted
state the returned state - prefixed by one of:
open.not-running
open.running
closed.completed
closed.terminated
closed.aborted
Return Values Success | Failure | Operation_not_performed | Operation_not_implemented
Rationale For long term sub-processes with a life beyond that of the session during which they were created, it is important that the invoking workflow engine be able to check as necessary that the invoked sub-process is alive and well or has completed.
Request Message Format
Field Value GetProcessInstanceState ProcessID Identifier of process on target workflow engine for which the state is being requested DomainID Identifier for workflow domain within which the workflow engines are interoperating SourceNodeID Identifier for source workflow engine Source_Session Session ID allocated by source workflow engine or by the transport mechanism Target_Session Session ID allocated by target workflow engine or by the transport mechanism MessageID Message identifier assigned by source workflow engine or by the transport mechanism
e.g.
Content-type:application/x-wfmc-if4-request
GetProcessInstanceState?ProcessID=42&%%
DomainID=WFCANADA&SourceNodeID=Staffware@lenny.icl.co.uk&%%
Source_Session=123&Target_Session=321&MessageID=7
Response Message Format
Field Value Response to GetProcessInstanceState ReturnCode Success | Failure | Operation_not_performed | Operation_not_implemented ProcessID Identifier of process on target workflow engine for which the state is being requested State State of process instance DomainID Identifier for workflow domain within which the workflow engines are interoperating TargetNodeID Identifier for target workflow engine Source_Session Session ID allocated by source workflow engine or by the transport mechanism Target_Session Session ID allocated by target workflow engine or by the transport mechanism MessageID Message identifier assigned by target workflow engine or by the transport mechanism
e.g.
Content-type:application/x-wfmc-if4-response
GetProcessInstanceState?ProcessID=42&ReturnCode=0&%%
State=open.running&%%
DomainID=WFCANADA&TargetNodeID=FlowMark1@george.ibm.com&%%
Source_Session=123&Target_Session=456&MessageID=8
Audit data
Not Specified.
5.2.3
Set Process Instance
Attributes
Specificatio WMTReturnCode WMRequestSetProcessInstance Attributes ( n in engine_identifier WMTEngineID, in root_pid WMTObjectID, in activity_id WMT_Activity_ID, in process_id WMTObjectID, out attributes WMTAttributeList );
Description Sets the value(s) of process instance attributes (process relevant data) in a selected process definition. The attribute list sent to target workflow engine will contain value specifications for one or more process instance attributes to be set. The target workflow engine will attempt to set attribute values in the order in which they occur in the list. It returns a response message containing a list of those attributes for which the set operation was successful. In the event that, part way through actioning a list of attribute values some error occurs, then the attribute for which it was unable to set a value will not be contained in the response message and the return code value will indicate that a failure occurred. The target workflow engine will not action a list of attribute values beyond the point at which a failure occurs.
Parameters engine_identifier identifies the target workflow engine
root_pid the initial process instance unique ID (the ID of the process instance operating on the invoking (parent) workflow engine
activity_id the ID of the activity in the parent process instance which is causing this request to set process instance attributes
process_id the ID of the process instance that owns the process relevant data being requested
attributes a list of attribute specifications giving for each attribute to be set:
the name of the attribute
the type of the attribute
the length of the attribute
the value to which the attribute is to be set
and returning:
the name of each attribute set
Return Values Success | Failure | Operation_not_performed | Operation_not_implemented
Rationale Process definitions are only partial and must be fully (or sufficiently) instantiated before enactment may commence.
Request Message Format
Field Value SetProcessInstanceAttributes RootPID PID of root workflow process instance ProcessID The PID of the process instance on the target workflow engine for which changes to attribute values are being requested. ActivityID Activity ID identifying the process step within the process instance that is requesting the setting of the specified attributes Number The number of Attributes for which value changes are required. Name8 attribute identifier Type attribute type Length new attribute length Value new attribute value ... ... DomainID Identifier for the workflow domain within which the workflow engines are interoperating SourceNodeID Identifier for source workflow engine Source_Session Session ID allocated by source workflow engine or by the transport mechanism Target_Session Session ID allocated by target workflow engine or by the transport mechanism MessageID Message identifier assigned by source workflow engine or by the transport mechanisme.g.
Content-type:application/x-wfmc-if4-request
SetProcessInstanceAttributes?RootPID=730&ProcessID=24&ActivityID=2&%
Number=1&Name=copies&Type=WMTINT8&Length=8&Value=3&%%
DomainID=WFCANADA&SourceNodeID=Staffware@lenny.icl.co.uk&%%
Source_Session =123&Target_Session=321&MessageID=5
Response Message Format
Field Value Response to Message identifier assigned by target SetProcessInstanceAttributes workflow engine or by the transport mechanism ReturnCode Success | Failure | Operation_not_performed | Operation_not_implemented ProcessID The PID of the process instance on the target workflow engine for which changes to attribute values were requested. Number The number of Attributes for which value changes have succeeded (should be equal to the number of attributes for which changes were requested). Name9 The name of an attribute that has had its value changed Timestamp Time when this attribute value was changed ... ... DomainID Identifier for the workflow domain within which the workflow engines are interoperating Target Node ID Identifier for target workflow engine Source_Session Session ID allocated by source workflow engine or by the transport mechanism Target Session Session ID allocated by target workflow engine or by the transport mechanism MessageID Message identifier assigned by target workflow engine or by the transport mechanisme.g.
Content-type:application/x-wfmc-if4-response
SetProcessInstanceAttributes?ReturnCode=0&ProcessID=24&%%
Number=1&Name=copies×tamp=1996+February+28+16:31&%%
DomainID=WFCANADA&TargetNodeID=FlowMark1@george.ibm.com&%%
Source_Session=123&Target_Session=456&MessageID=6
Audit data
The following audit data records would be created as a result of the target workflow engine successfully changing each attribute value at the behest of the source workflow engine.
Source Workflow Engine Audit Data - Request
Name M/O Data Type Description Initial Process M WMTProcInstID Unique ID of initial (root) process Instance ID instance Current Process M WMTProcInstID Unique ID of current process instance Instance ID Activity Instance ID O WMTActivityInstID Unique ID of current activity instance Process State M WMTProcInstState State of process instance on source workflow engine Event Code M WMTEventCode `WMSentRequestChangeProcessInstanceAttr ibute' Domain ID M WMTResourceID Domain ID for source workflow engine Node ID M WMTResourceID Node ID for source workflow engine User ID M WMTResourceID ID of user whom the business would consider the primary person involved with this event. This could be a person or entity.May be null. Role ID M WMTResourceID null | as supplied by target workflow engine Timestamp M WMTTimestamp Timestamp event was recorded Information ID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. SourceActivityDefinition O WMTObjectName Business name of current activity on Business Name the source engine originating the request to create a new process instance TargetProcessInstanceID M WMTObjectID Process instance created on target workflow engine TargetProcessDefinitionB O WMTObjectName null | as supplied by target workflow usiness Name engine TargetNodeID M WMTResourceID Node ID of Workflow Engine accepting the session request. TargetUserID O WMTResourceID ID of remote user requested to perform the process (may be null) TargetRoleID O WMTResourceID ID of remote role requested to perform the process (may be null) Target State O WMTProcInstState State of new process instance Attribute Name O WMTAttributeName Name of attribute changed Attribute Type O WMTAttributeType Type of attribute changed Attribute Length O WMTAttributeLength Changed length of attribute Attribute Value O WMTAttributeValue New value Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanismTarget Workflow Engine Audit Data - Request
Name M/O Data Type Description Initial Process M WMTProcInstID Process Instance ID for process instance Instance ID on Source workflow engine which caused the request for the sub-process to be created on the target workflow engine Current Process M WMTProcInstID Process Instance ID for sub-process Instance ID created on the target workflow engine Activity Instance ID O WMTActivityInstID null Process State M WMTProcInstState State of created process instance Event Code M WMTEventCode `WMReceivedRequestChangeProcessInstanceAttr ibute' Domain ID M WMTResourceID Domain ID for source workflow engine Node ID M WMTResourceID Node ID for target workflow engine User ID M WMTResourceID null or as instantiated Role ID M WMTResourceID null or as instantiated Timestamp M WMTTimestamp Timestamp for when request to create process instance was received Information ID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. SourceInitialProcessInst M WMTProcInstID Initial Process Instance ID of source ance ID workflow engine SourceCurrentProcess M WMTProcInstID Current Process Instance ID of source InstanceID workflow engine SourceActivityInstanceID M WMTActivityInstID Activity Instance ID of the source WFE SourceTimestamp M WMTTimestamp Timestamp of source WFE event SourceNodeID M WMTResourceID Node ID of source Workflow Engine SourceUserID O WMTResourceID User ID associated with the remote workflow engine request SourceRoleID O WMTResourceID Role ID associated with the remote workflow engine request SourceProcessDefinition O WMTText Business name of remote workflow engine BusinessName process that generated the start process request. SourceActivityDefinition O WMTText Business name of the remote WFE activity BusinessName spawning the request Attribute Name O WMTAttributeName Name of attribute changed Attribute Type O WMTAttributeType Type of attribute changed Attribute Length O WMTAttributeLength Changed length of attribute Attribute Value O WMTAttributeValue New value Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanismSource Workflow Engine Audit Data - Operation
Name M/O Data Type Description Initial Process M WMTProcInstID Unique ID of initial (root) Instance ID process instance Current Process M WMTProcInstID Unique ID of current process Instance ID instance Activity Instance ID O WMTActivityInstID Unique ID of current activity instance Process State M WMTProcInstState State of process instance on source workflow engine Event Code M WMTEventCode `WMAssignedProcessInstanceAttrib ute' Domain ID M WMTResourceID Domain ID for source workflow engine Node ID M WMTResourceID Node ID for source workflow engine User ID M WMTResourceID ID of user whom the business would consider the primary person involved with this event. This could be a person or entity.May be null. Role ID M WMTResourceID null | as supplied by target workflow engine Timestamp M WMTTimestamp Timestamp event was recorded Information ID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. SourceActivityInstanceID M WMTObjectID Activity ID on source workflow engine RemoteNodeID M WMTResourceID NodeID of target WFE RemoteProcessInstanceID M WMTObjectID Process instance on target workflow engine RemoteTimestamp M WMAObjectID Timestamp for when attribute value changed on remote workflow engine RemoteProcessDefinitionB O WMTObjectName null | as supplied by target usinessName workflow engine Attribute Name O WMTAttributeName Name of attribute changed Attribute Type O WMTAttributeType Type of attribute changed Attribute Length O WMTAttributeLength Changed length of attribute Attribute Value O WMTAttributeValue New value Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanismTarget Workflow Engine Audit Data - Operation
Name M/O Data Type Description Initial Process M WMTProcInstID Process Instance ID for Instance ID process instance on Source workflow engine which caused the request for the sub-process to be created on the target workflow engine Current Process M WMTProcInstID Process Instance ID for Instance ID sub-process created on the target workflow engine Activity Instance ID O WMTActivityInstID null Process State M WMTProcInstState State of created process instance Event Code M WMTEventCode `WMAssignedProcessInstanceAttri bute' Domain ID M WMTResourceID Domain ID for source workflow engine Node ID M WMTResourceID Node ID for target workflow engine User ID M WMTResourceID null or as instantiated Role ID M WMTResourceID null or as instantiated Timestamp M WMTTimestamp Timestamp for when request to create process instance was received Information ID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. Changed Attribute Name M WMTAttributeName Name of attribute changed Changed Attribute Type M WMTAttributeType Type of attribute changed Changed Attribute Length M WMTAttributeLength Changed length of attribute Changed Attribute Value M WMTAttributeValue New value Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanismSource Workflow Engine Audit Data - Response
Name M/O Data Type Description Initial Process M WMTProcInstID Process Instance ID for process Instance ID instance on Source workflow engine which caused the request for the sub-process to be created on the target workflow engine Current Process M WMTProcInstID Process Instance ID for sub-process Instance ID created on the target workflow engine Activity Instance ID O WMTActivityInstID null Process State M WMTProcInstState State of created process instance Event Code M WMTEventCode `WMReceivedChangedProcessInstanceAttri bute' Domain ID M WMTResourceID Domain ID for source workflow engine Node ID M WMTResourceID Node ID for target workflow engine User ID M WMTResourceID null or as instantiated Role ID M WMTResourceID null or as instantiated Timestamp M WMTTimestamp Timestamp for when request to create process instance was received Information ID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. SourceInitialProcessInst M WMTProcInstID Initial Process Instance ID of source ance ID workflow engine SourceCurrentProcess M WMTProcInstID Current Process Instance ID of source InstanceID workflow engine SourceActivityInstanceID M WMTActivityInstID Activity Instance ID of the source WFE SourceTimestamp M WMTTimestamp Timestamp of source WFE event SourceNodeID M WMTResourceID Node ID of source Workflow Engine SourceUserID O WMTResourceID User ID associated with the remote workflow engine request SourceRoleID O WMTResourceID Role ID associated with the remote workflow engine request SourceProcessDefinition O WMTText Business name of remote workflow BusinessName engine process that generated the start process request. SourceActivityDefinition O WMTText Business name of the remote WFE BusinessName activity spawning the request Attribute Name O WMTAttributeName Name of attribute changed Attribute Type O WMTAttributeType Type of attribute changed Attribute Length O WMTAttributeLength Changed length of attribute Attribute Value O WMTAttributeValue New value Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanismTarget Workflow Engine Audit Data - Response
Name M/O Data Type Description Initial Process M WMTProcInstID Unique ID of initial (root) Instance ID process instance Current Process M WMTProcInstID Unique ID of current process Instance ID instance Activity Instance ID O WMTActivityInstID Unique ID of current activity instance Process State M WMTProcInstState State of process instance on source workflow engine Event Code M WMTEventCode `WMSentChangedProcessInstanceAttri bute' Domain ID M WMTResourceID Domain ID for source workflow engine Node ID M WMTResourceID Node ID for source workflow engine User ID M WMTResourceID ID of user whom the business would consider the primary person involved with this event. This could be a person or entity.May be null. Role ID M WMTResourceID null | as supplied by target workflow engine Timestamp M WMTTimestamp Timestamp event was recorded Information ID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. SourceActivityDefinition O WMTObjectName Business name of current activity Business Name on the source engine originating the request to create a new process instance TargetProcessInstanceID M WMTObjectID Process instance created on target workflow engine TargetProcessDefinitionB O WMTObjectName null | as supplied by target usiness Name workflow engine TargetNodeID M WMTResourceID Node ID of Workflow Engine accepting the session request. TargetUserID O WMTResourceID ID of remote user requested to perform the process (may be null) TargetRoleID O WMTResourceID ID of remote role requested to perform the process (may be null) Attribute Name O WMTAttributeName Name of attribute changed Attribute Type O WMTAttributeType Type of attribute changed Attribute Length O WMTAttributeLength Changed length of attribute Attribute Value O WMTAttributeValue New value Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanism
Specificatio WMTReturnCode WMRequestGetProcessInstanceAttributes ( n in engine_identifier WMTEngineID, in process_id WMTObjectID, in root_pid WMTObjectID, in activity_id WMT_Activity_ID, out attributes WMTAttributeList );
Description Returns the value(s)[10] of the requested process instance attributes (process relevant data).
Parameters engine_identifier identifies the target workflow engine
process_id the ID of the process instance that owns the workflow relevant data being requested
root_pid the initial process instance unique ID (the ID of the process instance operating on the invoking (parent) workflow engine
activity id the ID of the activity in the parent process instance which is causing this request to retrieve process instance attributes
attributes a list of attribute names to be retrieved
Return Values Success | Failure | Operation_not_performed | Operation_not_implemented
Rationale Checking values of process relevant data is one way in which a workflow engine can check on the progress of a workflow being enacted on another workflow engine.
Request Message Format
Field Value Get Process Instance Attributes RootPID Identifier of initial (root) process on source workflow engine ProcessID The PID of the process instance on the target workflow engine from which attribute values are being requested. ActivityID Identifier of activity on source workflow engine Timestamp Timestamp for when request was sent by source workflow engine SourceUserID User ID responsible for request (maybe null) SourceRoleID Role ID responsible for request (may be null) TargetUserID User ID responsible for process instance on target workflow engine (may be null) TargetRoleID Role ID responsible for process instance on target workflow engine (may be null) SourceBusinessDefinitionProcessName Business Definition Process Name for source process instance (may be null) Number The number of Attributes for which values are being requested. Name11 ... attribute identifier ... DomainID ID of domain within which the workflow engines are interoperating SourceNodeID Identifier for source workflow engine Source_Session Session ID allocated by source workflow engine or by the transport mechanism Target_Session Session ID allocated by target workflow engine or by the transport mechanism MessageID Message identifier assigned by the source workflow engine or by the transport mechanism.e.g.
Content-type:application/x-wfmc-if4-request
GetProcessInstanceAttributes?RootPID=730&ProcessID=32&AID=0&%%
Timestamp=1996 February 28 16:30&%%
SourceUserID=NULL&SourceRoleID=NULL&SourceBusinessDefinitionProcessName=ULL&%%
Number=1&Name=copies&%%
DomainID=WFCANADA&SourceNodeID=FlowMark1@george.ibm.com&%%
Source_Session=456&Target_Session=123&MessageID=3
Response Message Format
Field Value Response to GetProcessInstanceAttributes ReturnCode Success | Failure | Operation_not_performed | Operation_not_implemented ProcessID The PID of the process instance on the source workflow engine for which attribute values were requested. Number The number of Attributes for which values have been supplied Name12 attribute identifier Type attribute type Length new attribute length Value new attribute value ... ... DomainID Identifier for the workflow domain within which the two workflow engines are interoperating TargetNodeID Identifier for target workflow engine Source_Session Session ID allocated by source workflow engine or by the transport mechanism Target_Session Session ID allocated by target workflow engine or by the transport mechanism MessageID Message identifier assigned by target workflow engine or by the transport mechanisme.g.
Content-type:application/x-wfmc-if4-response
GetProcessInstanceAttributes?ReturnCode=0&ProcessID=24&%%
Number=1&Name=copies&Type=WMTINT8&Length=8&Value=3&%%
DomainID=WFCANADA&TargetNodeID=Staffware@lenny.icl.co.uk&%%
Source_Session=123&Target_Session=456&MessageID=4
Audit data
The following audit data records would be created as a result of the target workflow engine successfully providing each requested attribute value at the behest of the source workflow engine.
Source Workflow Engine Audit Data - Request
Name M/O Data Type Description Initial Process M WMTProcInstID Unique ID of initial (root) process Instance ID instance Current Process M WMTProcInstID Unique ID of current process Instance ID instance Activity Instance ID O WMTActivityInstID Unique ID of current activity instance (may be null) Process State M WMTProcInstState State of process instance on source workflow engine Event Code M WMTEventCode `WMSentRequestGetProcessInstanceAttr ibute' Domain ID M WMTResourceID Domain ID for source workflow engine Node ID M WMTResourceID Node ID for source workflow engine User ID M WMTResourceID ID of user whom the business would consider the primary person involved with this event. This could be a person or entity.May be null. Role ID M WMTResourceID null | as instantiated Timestamp M WMTTimestamp Timestamp event was recorded Information ID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. Source Activity O WMTObjectName Business name of current activity Definition Business Name on the source engine (may be null) Target Process Instance M WMTObjectID Process instance on target workflow ID engine Target Process O WMTObjectName null | as declared in process Definition Business Name definition TargetNodeID M WMTResourceID Node ID of Workflow Engine accepting request for attribute value(s). TargetUserID O WMTResourceID ID of remote user requested to provide attribute value (may be null) TargetRoleID O WMTResourceID ID of remote role requested to provide attribute value (may be null) Attribute Name O WMTAttributeName Name of attribute requested Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanismTarget Workflow Engine Audit Data - Request
Name M/O Data Type Description Initial Process M WMTProcInstID Process Instance ID for process Instance ID instance on source workflow engine which caused the request for the sub-process to be created on the target workflow engine Current Process M WMTProcInstID Process Instance ID for sub-process Instance ID created on the target workflow engine Activity Instance ID O WMTActivityInstID null Process State M WMTProcInstState State of process instance Event Code M WMTEventCode `WMReceivedRequestGetProcessInstanceAtt ribute' Domain ID M WMTResourceID Domain ID for source workflow engine Node ID M WMTResourceID Node ID for target workflow engine User ID M WMTResourceID null or as instantiated Role ID M WMTResourceID null or as instantiated Current Timestamp M WMTTimestamp Timestamp for when attribute value was sent Information ID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. SourceInitialProcessInst M WMTProcInstID Initial Process Instance ID of source ance ID workflow engine SourceCurrentProcess M WMTProcInstID Current Process Instance ID of source InstanceID workflow engine SourceActivityInstanceID M WMTActivityInstID Activity Instance ID of the source WFE SourceTimestamp M WMTTimestamp Timestamp of source WFE event SourceNodeID M WMTResourceID Node ID of source Workflow Engine SourceUserID O WMTResourceID User ID associated with the remote workflow engine request SourceRoleID O WMTResourceID Role ID associated with the remote workflow engine request SourceProcessDefinition O WMTText Business name of remote workflow BusinessName engine process that generated the start process request. SourceActivityDefinition O WMTText Business name of the remote WFE BusinessName activity spawning the request Attribute Name O WMTAttributeName Name of attribute requested Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanismSource Workflow Engine Audit Data - Response
Name M/O Data Type Description Initial Process M WMTProcInstID Process Instance ID for process Instance ID instance on source workflow engine which caused the request for the sub-process to be created on the target workflow engine Current Process M WMTProcInstID Process Instance ID for sub-process Instance ID created on the target workflow engine Activity Instance ID O WMTActivityInstID null Process State M WMTProcInstState State of process instance Event Code M WMTEventCode `WMReceivedRetrievedProcessInstanceAttr ibute' Domain ID M WMTResourceID Domain ID for source workflow engine Node ID M WMTResourceID Node ID for target workflow engine User ID M WMTResourceID null or as instantiated Role ID M WMTResourceID null or as instantiated Current Timestamp M WMTTimestamp Timestamp for when attribute value was sent Information ID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. SourceInitialProcessInst M WMTProcInstID Initial Process Instance ID of source ance ID workflow engine SourceCurrentProcess M WMTProcInstID Current Process Instance ID of source InstanceID workflow engine SourceActivityInstanceID M WMTActivityInstID Activity Instance ID of the source WFE SourceTimestamp M WMTTimestamp Timestamp of source WFE event SourceNodeID M WMTResourceID Node ID of source Workflow Engine SourceUserID O WMTResourceID User ID associated with the remote workflow engine request SourceRoleID O WMTResourceID Role ID associated with the remote workflow engine request SourceProcessDefinition O WMTText Business name of remote workflow BusinessName engine process that generated the start process request. SourceActivityDefinition O WMTText Business name of the remote WFE BusinessName activity spawning the request Attribute Name O WMTAttributeName Name of attribute requested Attribute Type O WMTAttributeType Type of attribute requested Attribute Length O WMTAttributeLength Length of requested attribute Attribute Value O WMTAttributeValue Value Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanism
Name M/O Data Type Description Initial Process M WMTProcInstID Unique ID of initial (root) Instance ID process instance Current Process M WMTProcInstID Unique ID of current process Instance ID instance Activity Instance ID O WMTActivityInstID Unique ID of current activity instance (may be null) Process State M WMTProcInstState State of process instance on source workflow engine Event Code M WMTEventCode `WMSentRetrievedProcessInstanceAttr ibute' Domain ID M WMTResourceID Domain ID for source workflow engine Node ID M WMTResourceID Node ID for source workflow engine User ID M WMTResourceID ID of user whom the business would consider the primary person involved with this event. This could be a person or entity.May be null. Role ID M WMTResourceID null | as instantiated Timestamp M WMTTimestamp Timestamp event was recorded Information ID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. Source Activity O WMTObjectName Business name of current activity Definition Business Name on the source engine (may be null) Target Process Instance M WMTObjectID Process instance on target ID workflow engine Target Process O WMTObjectName null | as declared in process Definition Business Name definition TargetNodeID M WMTResourceID Node ID of Workflow Engine accepting request for attribute value(s). TargetUserID O WMTResourceID ID of remote user requested to provide attribute value (may be null) TargetRoleID O WMTResourceID ID of remote role requested to provide attribute value (may be null) Attribute Name O WMTAttributeName Name of attribute requested Attribute Type O WMTAttributeType Type of attribute requested Attribute Length O WMTAttributeLength Length of requested attribute Attribute Value O WMTAttributeValue Value Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanism
Specificatio WMTReturnCode WMRequestStartProcessInstance ( n in engine_identifier WMTEngineID, in process_id WMTObjectID );
Description Start the enactment of the identified workflow process instance. The receiving workflow engine creates a Process/Sub-process audit record as specified in [WfMC015] to record that enactment of the process instance has started.
Parameters engine_identifier identifies the target workflow engine
process_id the ID of the process instance for which enactment is to be started
Return Values Success | Failure | Operation_not_performed | Operation_not_implemented
Rationale It is an operational requirement of users of interoperating workflow systems that it be possible to initiate the enactment of sub-process workflows.
Request Message Format
Field Value StartProcessInstance ProcessID The PID of the Process Instance that the target workflow engine is being requested to enact DomainID Domain ID for set of workflow engines interoperating within the current context SourceNodeID Identifier for source workflow engine SourceUserID User ID responsible for request (maybe null) SourceRoleID Role ID responsible for request (may be null) TargetUserID User ID responsible for process instance on target workflow engine (may be null) TargetRoleID Role ID responsible for process instance on target workflow engine (may be null) Source_Session Session ID allocated by source workflow engine or by the transport mechanism Target_Session Session ID allocated by target workflow engine or by the transport mechanism MessageID Message identifier assigned by the source workflow engine or by the transport mechanism
e.g.
Content-type:application/x-wfmc-if4-request
StartProcessInstance?ProcessID=24&%%
DomainID=WFCANADA&SourceNodeID=Staffware@lenny.icl.co.uk&%%
SourceUserID=NULL&SourceRoleID=NULL&%%
TargetUserID=NULL&TargetRoleID=NULL&%%
Source_Session =123&Target_Session=456&MessageID=9
Response Message Format
Field Value Response to StartProcessInstance ReturnCode Success | Failure | Operation_not_performed | Operation_not_implemented TargetUserID User ID of primary user (may be null) TargetRoleID Role assumed by primary user (may be null) ProcessID The PID of the Process Instance that the target workflow engine was requested to enact Timestamp The time that enactment commenced. DomainID Domain ID for set of workflow engines interoperating within the current context TargetNodeID Identifier for target workflow engine Source_Session Session ID allocated by source workflow engine or by the transport mechanism Target_Session Session ID allocated by target workflow engine or by the transport mechanism MessageID Message identifier assigned by target workflow engine or by the transport mechanisme.g.
Content-type:application/x-wfmc-if4-response
StartProcessInstance?ReturnCode=0&%%
TargetUserID=George&TargetRoleID=PostClerk&%%
ProcessID=24&ActivityID=2&Timestamp=1996+February+28+16:30&%%
DomainID=WFCANADA&TargetNodeID=FlowMark1@george.ibm.com&%%
Source_Session=123&Target_Session=456&MessageID=10
Audit data
The following audit data records would be created as a result of the target workflow engine successfully commencing enactment of the designated process instance at the behest of the source workflow engine.
Source Workflow Engine Audit Data - Request
Source Workflow Engine Audit Data - Operation
Source Workflow Engine Audit Data - Response
Name M/O Data Type Description
Initial Process M WMTProcInstID Unique ID of initial (root)
Instance ID process instance
Current Process M WMTProcInstID Unique ID of current process
Instance ID instance
Activity Instance ID O WMTActivityInstID Unique ID of current activity
instance
Process State M WMTProcInstState `open.not-running'
Event Code M WMTEventCode `WMSentRequestStartProcessInst
ance
Domain ID M WMTResourceID Domain ID for source workflow
engine
Node ID M WMTResourceID Node ID for source workflow
engine
User ID M WMTResourceID ID of user whom the business
would consider the primary
person involved with this
event. This could be a
person or entity.May be null.
Role ID M WMTResourceID null | as supplied by target
workflow engine
Timestamp M WMTTimestamp Timestamp event was recorded
Information ID M WMTObjectID `WfMC'
MessageID O WMTObjectID Message ID associated with
event.
SourceActivityDefinition O WMTObjectName Business name of current
Busines Name activity on the source engine
originating the request to
start the process instance
TargetProcessDefinitionI M WMTObjectID as supplied to target
D workflow engine
Target Process Instance M WMTObjectID Process instance to be
ID started on target workflow
engine
TargetProcessDefinitionB O WMTObjectName null | as supplied by target
usiness Name workflow engine
TargetNodeID M WMTResourceID Node ID of Workflow Engine
accepting the session request.
TargetUserID O WMTResourceID ID of remote user requested
to perform the process (may
be null)
TargetRoleID O WMTResourceID ID of remote role requested
to perform the process (may
be null)
Target State O WMTProcInstState open.not-running
Extension Number M WMTInt16 `1'
Extension Type M WMTText `4MIME'
SourceSession ID M WMTINT8 As supplied by source
workflow engine or by the
transport mechanism
TargetSession ID M WMTINT8 As supplied by target
workflow engine or by the
transport mechanism
Target
Workflow Engine Audit Data - Request
Name M/O Data Type Description
InitialProcessInstanceID M WMTProcInstID Process Instance ID for process
instance on source workflow
engine which caused the request
for the sub-process to be started
on the target workflow engine
CurrentProcessInstanceID M WMTProcInstID Process Instance ID for
sub-process to be started on the
target workflow engine
ActivityInstanceID O WMTActivityInstID null
ProcessState M WMTProcInstState open.not-running
EventCode M WMTEventCode `WMReceivedRequestStartProcessInst
ance'
DomainID M WMTResourceID Domain ID for source workflow
engine
NodeID M WMTResourceID Node ID for target workflow engine
UserID M WMTResourceID null or as instantiated
RoleID M WMTResourceID null or as instantiated
Timestamp M WMTTimestamp Timestamp for when request to
start process instance was
received
InformationID M WMTObjectID `WfMC'
MessageID O WMTObjectID Message ID associated with event.
SourceInitialProcessInst M WMTProcInstID Initial Process Instance ID of
ance ID source workflow engine
SourceCurrentProcessInst M WMTProcInstID Current Process Instance ID of
anceID source workflow engine
SourceActivityInstanceID M WMTActivityInstID Activity Instance ID of the
source workflow engine
SourceTimestamp M WMTTimestamp Timestamp of source workflow
engine event
SourceNodeID M WMTResourceID Node ID of source Workflow Engine
SourceUserID O WMTResourceID User ID associated with the
remote workflow engine request
SourceRoleID O WMTResourceID Role ID associated with the
remote workflow engine request
SourceProcess M WMTObjectID as supplied by source workflow
Definition ID engine
SourceProcessDefinition O WMTText Business name of remote workflow
BusinessName engine process that generated the
start process request.
SourceActivityDefinition O WMTText Business name of the remote WFE
BusinessName activity spawning the request
Extension Number M WMTInt16 `1'
Extension Type M WMTText `4MIME'
SourceSession ID M WMTINT8 As supplied by source workflow
engine or by the transport
mechanism
TargetSession ID M WMTINT8 As supplied by target workflow
engine or by the transport
mechanism
Name M/O Data Type Description
Initial Process M WMTProcInstID Unique ID of initial
Instance ID (root) process instance
Current Process M WMTProcInstID Unique ID of current
Instance ID process instance
Activity Instance ID O WMTActivityInstID Unique ID of current
activity instance
Process State M WMTProcInstState `open. running'
Event Code M WMTEventCode `WMStartedProcessInstance'
Domain ID M WMTResourceID Domain ID for source
workflow engine
Node ID M WMTResourceID Node ID for source
workflow engine
User ID M WMTResourceID ID of user whom the
business would consider
the primary person
involved with this event.
This could be a person or
entity.May be null.
Role ID M WMTResourceID null | as supplied by
target workflow engine
Timestamp M WMTTimestamp Timestamp event was
recorded
Information ID M WMTObjectID `WfMC'
MessageID O WMTObjectID Message ID associated with
event.
SourceActivityInstanceID M WMTObjectID Activity ID on source
workflow engine
RemoteNodeID M WMTResourceID NodeID of target WFE
RemoteProcessInstanceID M WMTObjectID Process instance started
on target workflow engine
RemoteTimestamp M WMAObjectID Timestamp for when
enactment of the process
instance started on target
workflow engine
RemoteProcessDefinitionB O WMTObjectName null | as supplied by
usinessName target workflow engine
Extension Number M WMTInt16 `1'
Extension Type M WMTText `4MIME'
SourceSession ID M WMTINT8 As supplied by source
workflow engine or by the
transport mechanism
TargetSession ID M WMTINT8 As supplied by target
workflow engine or by the
transport mechanism
Target
Workflow Engine Audit Data - Operation
Name M/O Data Type Description
InitialProcessInstanceID M WMTProcInstID Process Instance ID for
process instance on source
workflow engine which
caused the request for the
sub-process to be started
on the target workflow
engine
CurrentProcessInstanceID M WMTProcInstID Process Instance ID for
sub-process started on
the target workflow engine
ActivityInstanceID O WMTActivityInstID null
ProcessState M WMTProcInstState open.running
EventCode M WMTEventCode `WMStartedProcessInstance'
DomainID M WMTResourceID Domain ID for source
workflow engine
NodeID M WMTResourceID Node ID for target
workflow engine
UserID M WMTResourceID null or as instantiated
RoleID M WMTResourceID null or as instantiated
Timestamp M WMTTimestamp Timestamp for when request
to start process instance
was received
InformationID M WMTObjectID `WfMC'
MessageID O WMTObjectID Message ID associated with
event.
ProcessDefinition ID M WMTObjectID Process Definition ID
identifying the definition
used to create this
process instance
ProcessDefinitionBusines O WMTText Business name of the
sName process definition
Extension Number M WMTInt16 `1'
Extension Type M WMTText `4MIME'
SourceSession ID M WMTINT8 As supplied by source
workflow engine or by the
transport mechanism
TargetSession ID M WMTINT8 As supplied by target
workflow engine or by the
transport mechanism
Name M/O Data Type Description
Initial Process M WMTProcInstID Unique ID of initial (root)
Instance ID process instance
Current Process M WMTProcInstID Unique ID of current process
Instance ID instance
Activity Instance ID O WMTActivityInstID Unique ID of current activity
instance
Process State M WMTProcInstState `open.running'
Event Code M WMTEventCode `WMReceivedStartedProcessInstan
ce'
Domain ID M WMTResourceID Domain ID for source workflow
engine
Node ID M WMTResourceID Node ID for source workflow
engine
User ID M WMTResourceID ID of user whom the business
would consider the primary
person involved with this
event. This could be a person
or entity.May be null.
Role ID M WMTResourceID null | as supplied by target
workflow engine
Timestamp M WMTTimestamp Timestamp event was recorded
Information ID M WMTObjectID `WfMC'
MessageID O WMTObjectID Message ID associated with
event.
SourceActivityDefinition O WMTObjectName Business name of current
Busines Name activity on the source engine
originating the request to
start the process instance
TargetProcessDefinitionI M WMTObjectID as supplied to target workflow
D engine
Target Process Instance M WMTObjectID Process instance started on
ID target workflow engine
TargetProcessDefinitionB O WMTObjectName null | as supplied by target
usinessName workflow engine
TargetNodeID M WMTResourceID Node ID of Workflow Engine
accepting the session request.
TargetUserID O WMTResourceID ID of remote user requested to
perform the process (may be
null)
TargetRoleID O WMTResourceID ID of remote role requested to
perform the process (may be
null)
Target State O WMTProcInstState State of new process instance
Extension Number M WMTInt16 `1'
Extension Type M WMTText `4MIME'
SourceSession ID M WMTINT8 As supplied by source workflow
engine or by the transport
mechanism
TargetSession ID M WMTINT8 As supplied by target workflow
engine or by the transport
mechanism
Target
Workflow Engine Audit Data - Response
Name M/O Data Type Description
InitialProcessInstanceID M WMTProcInstID Process Instance ID for
process instance on source
workflow engine which
caused the request for the
sub-process to be started
on the target workflow
engine
CurrentProcessInstanceID M WMTProcInstID Process Instance ID for
sub-process started on
the target workflow engine
ActivityInstanceID O WMTActivityInstID null
ProcessState M WMTProcInstState open.running
EventCode M WMTEventCode `WMSentStartedProcessInstan
ce'
DomainID M WMTResourceID Domain ID for source
workflow engine
NodeID M WMTResourceID Node ID for target
workflow engine
UserID M WMTResourceID null or as instantiated
RoleID M WMTResourceID null or as instantiated
Timestamp M WMTTimestamp Timestamp for when
notification that process
instance started was
received
InformationID M WMTObjectID `WfMC'
MessageID O WMTObjectID Message ID associated with
event.
SourceInitialProcessInst M WMTProcInstID Initial Process Instance
ance ID ID of source workflow
engine
SourceCurrentProcessInst M WMTProcInstID Current Process Instance
anceID ID of source workflow
engine
SourceActivityInstanceID M WMTActivityInstID Activity Instance ID of
the source WFE
SourceTimestamp M WMTTimestamp Timestamp of source WFE
event
SourceNodeID M WMTResourceID Node ID of source Workflow
Engine
SourceUserID O WMTResourceID User ID associated with
the remote workflow engine
request
SourceRoleID O WMTResourceID Role ID associated with
the remote workflow engine
request
SourceProcess M WMTObjectID as supplied by source
Definition ID workflow engine
SourceProcessDefinition O WMTText Business name of remote
BusinessName workflow engine process
that generated the start
process request.
SourceActivityDefinition O WMTText Business name of the
BusinessName remote WFE activity
spawning the request
Extension Number M WMTInt16 `1'
Extension Type M WMTText `4MIME'
SourceSession ID M WMTINT8 As supplied by source
workflow engine or by the
transport mechanism
TargetSession ID M WMTINT8 As supplied by target
workflow engine or by the
transport mechanism
5.2.6
Process Instance
Started
Specificatio WMTReturnCode WMNotifyProcessInstanceStarted ( n in engine_identifier WMTEngineID, in process_id WMTObjectID );
Description Notifies the invoking workflow engine that the enactment of the given workflow instance has started on the target workflow engine. This operation is necessary for situations where the process instance has been created on the host at the behest of another workflow engine, but not started. It may be that enactment of such a process instance would be started once certain pre-conditions have been satisfied. In such a circumstance, it would be appropriate for the host workflow engine to notify the other workflow engine when enactment of the process instance had started.
Parameters engine_identifier identifies the invoking workflow engine
process_id the ID of the process instance that has started
Return Values Success | Failure
Rationale In certain circumstances the invoking workflow engine may need to know when enactment of the given sub-process has begun on the target workflow engine.
Notification Message Format
Field Value ProcessInstanceStarted ProcessID The PID of the Process Instance on the source workflow engine that has started RemotePID The PID of the parent process instance on the target workflow engine RemoteAID The ID of the activity instance within the process instance on the remote workflow engine that is to be notified that the sub-process instance has started. SourceUserID User ID responsible for the process instance that caused the notification request (may be null) SourceRoleID Role ID responsible for the process instance that caused the notification request (may be null) TargetUserID User ID responsible for the process instance on the target workflow engine which caused the newly started process instance to be created (may be null) TargetRoleID Role ID responsible for the process instance on the target workflow engine which caused the newly started process instance to be created (may be null) Timestamp Time enactment of the process instance began DomainID Domain ID for set of workflow engines interoperating within the current context SourceNodeID Identifier for source workflow engine Source_Session Session ID allocated by source workflow engine or by the transport mechanism Target_Session Session ID allocated by target workflow engine or by the transport mechanism MessageID Message identifier assigned by the source workflow engine or by the transport mechanisme.g.
Content-type:application/x-wfmc-if4-request
ProcessInstanceStarted?ProcessID=32&RemotePID=24&RemoteAID=136%%
SourceUserID=NULL&SourceRoleID=NULL&%%
TargetUserID=NULL&TargetRoleID=NULL&%%
Timestamp=1996+February+28+16:30&%%
DomainID=WFCANADA&SourceNodeID=FlowMark1@george.ibm.com&%%
Source_Session=490&Target_Session=290&MessageID=5
Response Message Format
Field Value Response to ProcessInstanceStarted ReturnCode Success | Failure DomainID Domain ID for set of workflow engines interoperating within the current context TargetNodeID Identifier for target workflow engine Source_Session Session ID allocated by source workflow engine or by the transport mechanism Target Session Session ID allocated by target workflow engine or by the transport mechanism MessageID Message identifier assigned by the target workflow engine or by the transport mechanisme.g.
Content-type:application/x-wfmc-if4-response
ProcessInstanceStarted?ReturnCode=0%%
DomainID=WFCANADA&TargetNodeID=Staffware@lenny.icl.co.uk&%%
Source_Session=490&Target_Session=290&MessageID=6
Audit data
The following audit data records would be created as a result of the source workflow engine starting enactment of a sub-process on behalf of the target workflow engine.
Notifying Workflow Engine Audit Data - Actual Event
Name M/O Data Type Description InitialProcessInstanceID M WMTProcInstID Process Instance ID for process instance on source workflow engine which caused the request for the sub-process to be started on the target workflow engine CurrentProcessInstanceID M WMTProcInstID Process Instance ID for sub-process started on the target workflow engine ActivityInstanceID O WMTActivityInstID null ProcessState M WMTProcInstState open.running EventCode M WMTEventCode `WMStartedProcessInstance' DomainID M WMTResourceID Domain ID for source workflow engine NodeID M WMTResourceID Node ID for target workflow engine UserID M WMTResourceID null or as instantiated RoleID M WMTResourceID null or as instantiated Timestamp M WMTTimestamp Timestamp for when request to start process instance was received InformationID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. ProcessDefinition ID M WMTObjectID Process Definition ID identifying the definition used to create this process instance ProcessDefinitionBusines O WMTText Business name of the sName process definition Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanism
Notifying Workflow Engine - Notification
Name M/O Data Type Description InitialProcessInstanceID M WMTProcInstID Process Instance ID for process instance on source workflow engine which caused the request for the sub-process to be created on the target workflow engine CurrentProcessInstanceID M WMTProcInstID Process Instance ID for sub-process started on the target workflow engine ActivityInstanceID O WMTActivityInstID null ProcessState M WMTProcInstState open.running EventCode M WMTEventCode `WMSentStartedProcessInstan ce' DomainID M WMTResourceID Domain ID for source workflow engine NodeID M WMTResourceID Node ID for target workflow engine UserID M WMTResourceID null or as instantiated RoleID M WMTResourceID null or as instantiated Timestamp M WMTTimestamp Timestamp for process instance started InformationID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. SourceInitialProcessInst M WMTProcInstID Initial Process Instance ance ID ID of source workflow engine SourceCurrentProcessInst M WMTProcInstID Current Process Instance anceID ID of source workflow engine SourceActivityInstanceID M WMTActivityInstID Activity Instance ID of the source WFE SourceTimestamp M WMTTimestamp Timestamp of source WFE event SourceNodeID M WMTResourceID Node ID of source Workflow Engine SourceUserID O WMTResourceID User ID associated with the remote workflow engine request SourceRoleID O WMTResourceID Role ID associated with the remote workflow engine request SourceProcess M WMTObjectID as supplied by source Definition ID workflow engine SourceProcessDefinition O WMTText Business name of remote BusinessName workflow engine process that generated the start process request. SourceActivityDefinition O WMTText Business name of the BusinessName remote WFE activity spawning the request Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanism
Target Workflow Engine Audit Data
Name M/O Data Type Description Initial Process M WMTProcInstID Unique ID of initial Instance ID (root) process instance Current Process M WMTProcInstID Unique ID of current Instance ID process instance Activity Instance ID O WMTActivityInstID Unique ID of current activity instance Process State M WMTProcInstState `open.running' Event Code M WMTEventCode `WMReceivedStartedProcessIn stance' Domain ID M WMTResourceID Domain ID for source workflow engine Node ID M WMTResourceID Node ID for source workflow engine User ID M WMTResourceID ID of user whom the business would consider the primary person involved with this event. This could be a person or entity.May be null. Role ID M WMTResourceID null | as supplied by target workflow engine Timestamp M WMTTimestamp Timestamp event was recorded Information ID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. SourceActivityDefinition O WMTObjectName Business name of current Busines Name activity on the source engine originating the request to start the process instance TargetProcessDefinitionI M WMTObjectID as supplied to target D workflow engine Target Process Instance M WMTObjectID Process instance started ID on target workflow engine TargetProcessDefinitionB O WMTObjectName null | as supplied by usinessName target workflow engine TargetNodeID M WMTResourceID Node ID of Workflow Engine accepting the session request. TargetUserID O WMTResourceID ID of remote user requested to perform the process (may be null) TargetRoleID O WMTResourceID ID of remote role requested to perform the process (may be null) Target State O WMTProcInstState open.running Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanism
Specificatio WMTReturnCode WMRequestAbortProcessInstance ( n in engine_identifier WMTEngineID, in process_id WMTObjectID );
Description Abort the enactment of the identified workflow process instance. The receiving workflow engine creates a Process/Sub-process audit record as specified in [WfMC015] to record that enactment of the process instance has started.
Parameters engine_identifier identifies the target workflow engine
process_id the ID of the process instance for which enactment is to be aborted
Return Values Success | Failure | Operation_not_performed | Operation_not_implemented
Rationale It is an operational requirement of users of interoperating workflow systems that it be possible to initiate the enactment of sub-process workflows.
Request Message Format
Field Value AbortProcessInstance ProcessID The PID of the Process Instance that the target workflow engine is being requested to abort SourcePID The ID of the process instance that has caused the request to abort the sub-process instance (may be null) SourceAID The ID of the activity in the current process instance that has caused the request to abort the sub-process instance (may be null) DomainID Domain ID for set of workflow engines interoperating within the current context SourceNodeID Identifier for source workflow engine SourceUserID User ID responsible for request (maybe null) SourceRoleID Role ID responsible for request (may be null) TargetUserID User ID responsible for process instance on target workflow engine (may be null) TargetRoleID Role ID responsible for process instance on target workflow engine (may be null) Source_Session Session ID allocated by source workflow engine or by the transport mechanism Target_Session Session ID allocated by target workflow engine or by the transport mechanism MessageID Message identifier assigned by the source workflow engine or by the transport mechanisme.g.
Content-type:application/x-wfmc-if4-request
AbortProcessInstance?ProcessID=24&%%
SourcePID=32&SourceAID=3%%
DomainID=WFCANADA&SourceNodeID=Staffware@lenny.icl.co.uk&%%
SourceUsedID=NULL&SourceRoleID=NULL&%%
TargetUserID=Josh&TargetRoleID=financial+controller&%%
Source_Session=123&Target_Session=456&MessageID=9
Response Message Format
Field Value Response to AbortProcessInstance ReturnCode Success | Failure | Operation_not_performed | Operation_not_implemented TargetUserID User ID of primary user (may be null) TargetRoleID Role assumed by primary user (may be null) ProcessID The PID of the Process Instance that the target workflow engine was requested to abort ActivityID The ID of the current activity in the enacted process instance that has been aborted (may be null) Timestamp The time that enactment was aborted. DomainID Domain ID for set of workflow engines interoperating within the current context TargetNodeID Identifier for target workflow engine Source_Session Session ID allocated by source workflow engine or by the transport mechanism Target_Session Session ID allocated by target workflow engine or by the transport mechanism MessageID Message identifier assigned by target workflow engine or by the transport mechanisme.g.
Content-type:application/x-wfmc-if4-response
AbortProcessInstance?ReturnCode=0&TargetUserID=Josh&%%
TargetRoleID=financial+controller&%%
ProcessID=24&ActivityID=6&Timestamp=1996+February+28+16:30&%% DomainID=WFCANADA&TargetNodeID=FlowMark1@george.ibm.com&%%
Source_Session=123&Target_Session=456&MessageID=10
Audit data
The following audit data records would be created as a result of the target workflow engine successfully aborting enactment of the designated process instance at the behest of the source workflow engine.
Source Workflow Engine Audit Data - Request
Name M/O Data Type Description Initial Process M WMTProcInstID Unique ID of initial (root) Instance ID process instance Current Process M WMTProcInstID Unique ID of current Instance ID process instance Activity Instance ID O WMTActivityInstID Unique ID of current activity instance Process State M WMTProcInstState `open.not-running' Event Code M WMTEventCode `WMSentRequestAbortProcessIn stance' Domain ID M WMTResourceID Domain ID for source workflow engine Node ID M WMTResourceID Node ID for source workflow engine User ID M WMTResourceID ID of user whom the business would consider the primary person involved with this event. This could be a person or entity.May be null. Role ID M WMTResourceID null | as supplied by target workflow engine Timestamp M WMTTimestamp Timestamp event was recorded Information ID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. SourceActivityDefinition O WMTObjectName Business name of current Busines Name activity on the source engine originating the request to start the process instance TargetProcessDefinitionI M WMTObjectID as supplied to target D workflow engine Target Process Instance M WMTObjectID Process instance to be ID aborted on target workflow engine TargetProcessDefinitionB O WMTObjectName null | as supplied by usiness Name target workflow engine TargetNodeID M WMTResourceID Node ID of Workflow Engine accepting the session request. TargetUserID O WMTResourceID ID of remote user requested to perform the process (may be null) TargetRoleID O WMTResourceID ID of remote role requested to perform the process (may be null) Target State O WMTProcInstState State of new process instance Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanismTarget Workflow Engine Audit Data - Request
Name M/O Data Type Description InitialProcessInstanceID M WMTProcInstID Process Instance ID for process instance on source workflow engine which caused the request for the sub-process to be created on the target workflow engine CurrentProcessInstanceID M WMTProcInstID Process Instance ID for sub-process created on the target workflow engine ActivityInstanceID O WMTActivityInstID null ProcessState M WMTProcInstState current status of process instance EventCode M WMTEventCode `WMReceivedRequestAbortProcessIn stance' DomainID M WMTResourceID Domain ID for source workflow engine NodeID M WMTResourceID Node ID for target workflow engine UserID M WMTResourceID null or as instantiated RoleID M WMTResourceID null or as instantiated Timestamp M WMTTimestamp Timestamp for when request to create process instance was received InformationID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. SourceInitialProcessInst M WMTProcInstID Initial Process Instance ID of ance ID source workflow engine SourceCurrentProcessInst M WMTProcInstID Current Process Instance ID of anceID source workflow engine SourceActivityInstanceID M WMTActivityInstID Activity Instance ID of the source workflow engine SourceTimestamp M WMTTimestamp Timestamp of source workflow engine event SourceNodeID M WMTResourceID Node ID of source Workflow Engine SourceUserID O WMTResourceID User ID associated with the remote workflow engine request SourceRoleID O WMTResourceID Role ID associated with the remote workflow engine request SourceProcess M WMTObjectID as supplied by source workflow Definition ID engine SourceProcessDefinition O WMTText Business name of remote BusinessName workflow engine process that generated the abort process request. SourceActivityDefinition O WMTText Business name of the remote WFE BusinessName activity spawning the request Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanism
Source Workflow Engine Audit Data - Operation
Name M/O Data Type Description Initial Process M WMTProcInstID Unique ID of initial Instance ID (root) process instance Current Process M WMTProcInstID Unique ID of current Instance ID process instance Activity Instance ID O WMTActivityInstID Unique ID of current activity instance Process State M WMTProcInstState `closed.aborted' Event Code M WMTEventCode `WMAbortedProcessInstance' Domain ID M WMTResourceID Domain ID for source workflow engine Node ID M WMTResourceID Node ID for source workflow engine User ID M WMTResourceID ID of user whom the business would consider the primary person involved with this event. This could be a person or entity.May be null. Role ID M WMTResourceID null | as supplied by target workflow engine Timestamp M WMTTimestamp Timestamp event was recorded Information ID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. SourceActivityInstanceID M WMTObjectID Activity ID on source workflow engine RemoteNodeID M WMTResourceID NodeID of target WFE RemoteProcessInstanceID M WMTObjectID Process instance started on target workflow engine RemoteTimestamp M WMAObjectID Timestamp for when process instance created on target WFE RemoteProcessDefinitionB O WMTObjectName null | as supplied by usinessName target workflow engine Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanismTarget Workflow Engine Audit Data - Operation
Name M/O Data Type Description InitialProcessInstanceID M WMTProcInstID Process Instance ID for process instance on source workflow engine which caused the request for the sub-process to be started on the target workflow engine CurrentProcessInstanceID M WMTProcInstID Process Instance ID for sub-process created on the target workflow engine ActivityInstanceID O WMTActivityInstID null ProcessState M WMTProcInstState State of created process instance EventCode M WMTEventCode `WMAbortedProcessInstance' DomainID M WMTResourceID Domain ID for source workflow engine NodeID M WMTResourceID Node ID for target workflow engine UserID M WMTResourceID null or as instantiated RoleID M WMTResourceID null or as instantiated Timestamp M WMTTimestamp Timestamp for when request to abort process instance was received InformationID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. ProcessDefinition ID M WMTObjectID Process Definition ID identifying the definition used to create this process instance ProcessDefinitionBusines O WMTText Business name of the sName process definition Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanism
Source Workflow Engine Audit Data - Response
Name M/O Data Type Description Initial Process M WMTProcInstID Unique ID of initial Instance ID (root) process instance Current Process M WMTProcInstID Unique ID of current Instance ID process instance Activity Instance ID O WMTActivityInstID Unique ID of current activity instance Process State M WMTProcInstState `closed.aborted' Event Code M WMTEventCode `WMReceivedAbortedProcessIn stance' Domain ID M WMTResourceID Domain ID for source workflow engine Node ID M WMTResourceID Node ID for source workflow engine User ID M WMTResourceID ID of user whom the business would consider the primary person involved with this event. This could be a person or entity.May be null. Role ID M WMTResourceID null | as supplied by target workflow engine Timestamp M WMTTimestamp Timestamp event was recorded Information ID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. SourceActivityDefinition O WMTObjectName Business name of current Busines Name activity on the source engine originating the request to start the process instance TargetProcessDefinitionI M WMTObjectID as supplied to target D workflow engine Target Process Instance M WMTObjectID Process instance aborted ID on target workflow engine TargetProcessDefinitionB O WMTObjectName null | as supplied by usinessName target workflow engine TargetNodeID M WMTResourceID Node ID of Workflow Engine accepting the session request. TargetUserID O WMTResourceID ID of remote user requested to perform the process (may be null) TargetRoleID O WMTResourceID ID of remote role requested to perform the process (may be null) Target State O WMTProcInstState State of new process instance Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanismTarget Workflow Engine Audit Data - Response
Name M/O Data Type Description InitialProcessInstanceID M WMTProcInstID Process Instance ID for process instance on source workflow engine which caused the request for the sub-process to be aborted on the target workflow engine CurrentProcessInstanceID M WMTProcInstID Process Instance ID for sub-process aborted on the target workflow engine ActivityInstanceID O WMTActivityInstID null ProcessState M WMTProcInstState closed.aborted EventCode M WMTEventCode `WMSentAbortedProcessInstan ce' DomainID M WMTResourceID Domain ID for source workflow engine NodeID M WMTResourceID Node ID for target workflow engine UserID M WMTResourceID null or as instantiated RoleID M WMTResourceID null or as instantiated Timestamp M WMTTimestamp Timestamp for when notification that process instance aborted was received InformationID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. SourceInitialProcessInst M WMTProcInstID Initial Process Instance ance ID ID of source workflow engine SourceCurrentProcessInst M WMTProcInstID Current Process Instance anceID ID of source workflow engine SourceActivityInstanceID M WMTActivityInstID Activity Instance ID of the source WFE SourceTimestamp M WMTTimestamp Timestamp of source WFE event SourceNodeID M WMTResourceID Node ID of source Workflow Engine SourceUserID O WMTResourceID User ID associated with the remote workflow engine request SourceRoleID O WMTResourceID Role ID associated with the remote workflow engine request SourceProcess M WMTObjectID as supplied by source Definition ID workflow engine SourceProcessDefinition O WMTText Business name of remote BusinessName workflow engine process that generated the abort process request. SourceActivityDefinition O WMTText Business name of the BusinessName remote WFE activity spawning the request Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanism
Specificatio WMTReturnCode WMNotifyProcessInstanceAborted ( n in engine_identifier WMTEngineID, in process_id WMTObjectID );
Description Notifies the invoking workflow engine that the enactment of the given workflow instance has been aborted locally on the target workflow engine.
Parameters engine_identifier identifies the invoking workflow engine
process_id the ID of the process instance that has aborted
Return Values Success | Failure
Rationale In certain circumstances the invoking workflow engine may need to know when enactment of the given sub-process has been aborted locally on the target workflow engine.
Notification Message Format
Field Value ProcessInstanceAborted ProcessID The PID of the Process Instance on the source workflow engine that has aborted ActivityID The AID of the current activity instance in the process instance at the time it aborted RemotePID The PID of the parent process instance on the target workflow engine RemoteAID The ID of the activity instance within the process instance on the remote workflow engine that is to be notified that the sub-process instance has aborted. Timestamp Time enactment of the process instance was aborted DomainID Domain ID for set of workflow engines interoperating within the current context Source Node ID Identifier for source workflow engine SourceUserID User ID responsible for the process instance that caused the notification request (may be null) SourceRoleID Role ID responsible for the process instance that caused the notification request (may be null) TargetUserID User ID responsible for the process instance on the target workflow engine which caused the aborted process instance to be created (may be null) TargetRoleID Role ID responsible for the process instance on the target workflow engine which caused the aborted process instance to be created (may be null) Source_Session Session ID allocated by source workflow engine or by the transport mechanism Target_Session Session ID allocated by target workflow engine or by the transport mechanism MessageID Message identifier assigned by the source workflow engine or by the transport mechanisme.g.
Content-type:application/x-wfmc-if4-request
ProcessInstanceAborted?PID=32&RemotePID=24&AID=5&%%
Timestamp=1996+February+28+16:30&%%
DomainID=WFCANADA&SourceNodeID=FlowMark1@george.ibm.com&%%
SourceUsedID=NULL&SourceRoleID=NULL&%%
TargetUserID=Josh&TargetRoleID=financial+controller&%%
Source_Session=490&Target_Session=290&MessageID=5
Response Message Format
Field Value Response to ProcessInstanceAborted ReturnCode Success | Failure DomainID Domain ID for set of workflow engines interoperating within the current context TargetNodeID Identifier for target workflow engine Source_Session Session ID allocated by source workflow engine or by the transport mechanism Target_Session Session ID allocated by target workflow engine or by the transport mechanism MessageID Message identifier assigned by the target workflow engine or by the transport mechanisme.g.
Content-type:application/x-wfmc-if4-response
ProcessInstanceAborted?ReturnCode=0&%%
DomainID=WFCANADA&TargetNodeID=Staffware@lenny.icl.co.uk&%%
Source_Session=490&Target_Session=290&MessageID=6
Audit data
The following audit data records would be created as a result of the source workflow engine aborting enactment of a sub-process locally.
Notifying Workflow Engine Audit Data - Actual Event
Name M/O Data Type Description InitialProcessInstanceID M WMTProcInstID Process Instance ID for process instance on source workflow engine which caused the request for the sub-process to be started on the target workflow engine CurrentProcessInstanceID M WMTProcInstID Process Instance ID for sub-process created on the target workflow engine ActivityInstanceID O WMTActivityInstID null ProcessState M WMTProcInstState State of created process instance EventCode M WMTEventCode `WMAbortedProcessInstance' DomainID M WMTResourceID Domain ID for source workflow engine NodeID M WMTResourceID Node ID for target workflow engine UserID M WMTResourceID null or as instantiated RoleID M WMTResourceID null or as instantiated Timestamp M WMTTimestamp Timestamp for when request to abort process instance was received InformationID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. ProcessDefinition ID M WMTObjectID Process Definition ID identifying the definition used to create this process instance ProcessDefinitionBusines O WMTText Business name of the sName process definition Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanism
Notifying Workflow Engine Audit Datat - Notification
Name M/O Data Type Description InitialProcessInstanceID M WMTProcInstID Process Instance ID for process instance on source workflow engine which caused the request for the sub-process to be aborted on the target workflow engine CurrentProcessInstanceID M WMTProcInstID Process Instance ID for sub-process aborted on the target workflow engine ActivityInstanceID O WMTActivityInstID null ProcessState M WMTProcInstState closed.aborted EventCode M WMTEventCode `WMSentAbortedProcessInstan ce' DomainID M WMTResourceID Domain ID for source workflow engine NodeID M WMTResourceID Node ID for target workflow engine UserID M WMTResourceID null or as instantiated RoleID M WMTResourceID null or as instantiated Timestamp M WMTTimestamp Timestamp for when notification that process instance aborted was received InformationID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. SourceInitialProcessInst M WMTProcInstID Initial Process Instance ance ID ID of source workflow engine SourceCurrentProcessInst M WMTProcInstID Current Process Instance anceID ID of source workflow engine SourceActivityInstanceID M WMTActivityInstID Activity Instance ID of the source WFE SourceTimestamp M WMTTimestamp Timestamp of source WFE event SourceNodeID M WMTResourceID Node ID of source Workflow Engine SourceUserID O WMTResourceID User ID associated with the remote workflow engine request SourceRoleID O WMTResourceID Role ID associated with the remote workflow engine request SourceProcess M WMTObjectID as supplied by source Definition ID workflow engine SourceProcessDefinition O WMTText Business name of remote BusinessName workflow engine process that generated the abort process request. SourceActivityDefinition O WMTText Business name of the BusinessName remote WFE activity spawning the request Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanism
Target Workflow Engine Audit Data
Name M/O Data Type Description Initial Process M WMTProcInstID Unique ID of initial Instance ID (root) process instance Current Process M WMTProcInstID Unique ID of current Instance ID process instance Activity Instance ID O WMTActivityInstID Unique ID of current activity instance Process State M WMTProcInstState `closed.aborted' Event Code M WMTEventCode `WMReceivedAbortedProcessIn stance' Domain ID M WMTResourceID Domain ID for source workflow engine Node ID M WMTResourceID Node ID for source workflow engine User ID M WMTResourceID ID of user whom the business would consider the primary person involved with this event. This could be a person or entity.May be null. Role ID M WMTResourceID null | as supplied by target workflow engine Timestamp M WMTTimestamp Timestamp event was recorded Information ID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. SourceActivityDefinition O WMTObjectName Business name of current Busines Name activity on the source engine originating the request to start the process instance TargetProcessDefinitionI M WMTObjectID as supplied to target D workflow engine Target Process Instance M WMTObjectID Process instance aborted ID on target workflow engine TargetProcessDefinitionB O WMTObjectName null | as supplied by usinessName target workflow engine TargetNodeID M WMTResourceID Node ID of Workflow Engine accepting the session request. TargetUserID O WMTResourceID ID of remote user requested to perform the process (may be null) TargetRoleID O WMTResourceID ID of remote role requested to perform the process (may be null) Target State O WMTProcInstState State of new process instance Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanism
Specificatio WMTReturnCode WMRequestTerminateProcessInstance ( n in engine_identifier WMTEngineID, in process_id WMTObjectID );
Description Terminate the enactment of the identified workflow process instance. The receiving workflow engine creates a Process/Sub-process audit record as specified in [WfMC015] to record that enactment of the process instance has terminated.
Parameters engine_identifier identifies the target workflow engine
process_id the ID of the process instance for which enactment is to be terminated
Return Values Success | Failure | Operation_not_performed | Operation_not_implemented
Rationale It is an operational requirement of users of interoperating workflow systems that it be possible to terminate the enactment of sub-process workflows.
Request Message Format
Field Value TerminateProcessInstance ProcessID The PID of the Process Instance that the target workflow engine is being requested to terminate SourceAID The ID of the activity in the current process instance that has caused the request to terminate the sub-process instance (may be null) DomainID Domain ID for set of workflow engines interoperating within the current context Source Node ID Identifier for source workflow engine SourceUserID User ID responsible for request (maybe null) SourceRoleID Role ID responsible for request (may be null) TargetUserID User ID responsible for process instance on target workflow engine (may be null) TargetRoleID Role ID responsible for process instance on target workflow engine (may be null) Source_Session Session ID allocated by source workflow engine or by the transport mechanism Target_Session Session ID allocated by target workflow engine or by the transport mechanism MessageID Message identifier assigned by the source workflow engine or by the transport mechanisme.g.
Content-type:application/x-wfmc-if4-request
TerminateProcessInstance?ProcessID=24&%%
SourcePID=32&SourceAID=3%%
DomainID=WFCANADA&SourceNodeID=Staffware@lenny.icl.co.uk&%%
SourceUserID=NULL&SourceRoleID=NULL&%%
TargetUserID=NULL&TargetRoleID=NULL&%%
Source_Session=123&Target_Session=456&MessageID=9
Response Message Format
Field Value Response to TerminateProcessInstance ReturnCode Success | Failure | Operation_not_performed TargetUserID User ID of primary user (may be null) TargetRoleID Role assumed by primary user (may be null) ProcessID The PID of the Process Instance that the target workflow engine was requested to terminate ActivityID The ID of the current activity in the enacted process instance that has been terminated (may be null) Timestamp The time that enactment was terminated. DomainID Domain ID for set of workflow engines interoperating within the current context TargetNodeID Identifier for target workflow engine Source_Session Session ID allocated by source workflow engine or by the transport mechanism Target_Session Session ID allocated by target workflow engine or by the transport mechanism MessageID Message identifier assigned by target workflow engine or by the transport mechanisme.g.
Content-type:application/x-wfmc-if4-response
TerminateProcessInstance?ReturnCode=0&%%
TargetUserID=Gordon&TargetRoleID=process+controller&%%
ProcessID=24&ActivityID=6&Timestamp=1996+February+28+16:30&%% DomainID=WFCANADA&TargetNodeID=FlowMark1@george.ibm.com&%%
Source_Session=123&Target_Session=456&MessageID=10
Audit data
The following audit data records would be created as a result of the target workflow engine successfully terminating enactment of the designated process instance at the behest of the source workflow engine.
Source Workflow Engine Audit Data - Request
Name M/O Data Type Description Initial Process M WMTProcInstID Unique ID of initial (root) Instance ID process instance Current Process M WMTProcInstID Unique ID of current process Instance ID instance Activity Instance ID O WMTActivityInstID Unique ID of current activity instance Process State M WMTProcInstState `open.not-running' Event Code M WMTEventCode `WMSentRequestTerminateProcessI nstance' Domain ID M WMTResourceID Domain ID for source workflow engine Node ID M WMTResourceID Node ID for source workflow engine User ID M WMTResourceID ID of user whom the business would consider the primary person involved with this event. This could be a person or entity.May be null. Role ID M WMTResourceID null | as supplied by target workflow engine Timestamp M WMTTimestamp Timestamp event was recorded Information ID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. SourceActivityDefinition O WMTObjectName Business name of current Busines Name activity on the source engine originating the request to start the process instance TargetProcessDefinitionI M WMTObjectID as supplied to target workflow D engine Target Process Instance M WMTObjectID Process instance terminated on ID target workflow engine TargetProcessDefinitionB O WMTObjectName null | as supplied by target usiness Name workflow engine TargetNodeID M WMTResourceID Node ID of Workflow Engine accepting the session request. TargetUserID O WMTResourceID ID of remote user requested to perform the process (may be null) TargetRoleID O WMTResourceID ID of remote role requested to perform the process (may be null) Target State O WMTProcInstState current state of process instance to be terminated Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanismTarget Workflow Engine Audit Data - Request
Name M/O Data Type Description InitialProcessInstanceID M WMTProcInstID Process Instance ID for process instance on source workflow engine which caused the request for the sub-process to be terminated on the target workflow engine CurrentProcessInstanceID M WMTProcInstID Process Instance ID for sub-process to be terminated on the target workflow engine ActivityInstanceID O WMTActivityInstID null ProcessState M WMTProcInstState current status of process instance to be terminated EventCode M WMTEventCode `WMReceivedRequestTerminateProcessI nstance' DomainID M WMTResourceID Domain ID for source workflow engine NodeID M WMTResourceID Node ID for target workflow engine UserID M WMTResourceID null or as instantiated RoleID M WMTResourceID null or as instantiated Timestamp M WMTTimestamp Timestamp for when request to terminate process instance was received InformationID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. SourceInitialProcessInst M WMTProcInstID Initial Process Instance ID of ance ID source workflow engine SourceCurrentProcessInst M WMTProcInstID Current Process Instance ID of anceID source workflow engine SourceActivityInstanceID M WMTActivityInstID Activity Instance ID of the source workflow engine SourceTimestamp M WMTTimestamp Timestamp of source workflow engine event SourceNodeID M WMTResourceID Node ID of source Workflow Engine SourceUserID O WMTResourceID User ID associated with the remote workflow engine request SourceRoleID O WMTResourceID Role ID associated with the remote workflow engine request SourceProcess M WMTObjectID as supplied by source workflow Definition ID engine SourceProcessDefinition O WMTText Business name of remote workflow BusinessName engine process that generated the terminate process request. SourceActivityDefinition O WMTText Business name of the remote WFE BusinessName activity spawning the request Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanism
Source Workflow Engine Audit Data - Operation
Name M/O Data Type Description Initial Process M WMTProcInstID Unique ID of initial Instance ID (root) process instance Current Process M WMTProcInstID Unique ID of current Instance ID process instance Activity Instance ID O WMTActivityInstID Unique ID of current activity instance Process State M WMTProcInstState `closed.terminated' Event Code M WMTEventCode `WMTerminatedProcessInstanc e' Domain ID M WMTResourceID Domain ID for source workflow engine Node ID M WMTResourceID Node ID for source workflow engine User ID M WMTResourceID ID of user whom the business would consider the primary person involved with this event. This could be a person or entity.May be null. Role ID M WMTResourceID null | as supplied by target workflow engine Timestamp M WMTTimestamp Timestamp event was recorded Information ID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. SourceActivityInstanceID M WMTObjectID Activity ID on source workflow engine RemoteNodeID M WMTResourceID NodeID of target WFE RemoteProcessInstanceID M WMTObjectID Process instance started on target workflow engine RemoteTimestamp M WMAObjectID Timestamp for when enactment of the process instance terminated on target workflow engine RemoteProcessDefinitionB O WMTObjectName null | as supplied by usinessName target workflow engine Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanismTarget Workflow Engine Audit Data - Operation
Name M/O Data Type Description InitialProcessInstanceID M WMTProcInstID Process Instance ID for process instance on source workflow engine which caused the request for the sub-process to be terminated on the target workflow engine CurrentProcessInstanceID M WMTProcInstID Process Instance ID for sub-process terminated on the target workflow engine ActivityInstanceID O WMTActivityInstID null ProcessState M WMTProcInstState closed.terminated EventCode M WMTEventCode `WMTerminatedProcessInstanc e' DomainID M WMTResourceID Domain ID for source workflow engine NodeID M WMTResourceID Node ID for target workflow engine UserID M WMTResourceID null or as instantiated RoleID M WMTResourceID null or as instantiated Timestamp M WMTTimestamp Timestamp for when request to terminate process instance was received InformationID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. ProcessDefinition ID M WMTObjectID Process Definition ID identifying the definition used to create this process instance ProcessDefinitionBusines O WMTText Business name of the sName process definition Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanism
Source Workflow Engine Audit Data - Response
Name M/O Data Type Description Initial Process M WMTProcInstID Unique ID of initial (root) Instance ID process instance Current Process M WMTProcInstID Unique ID of current process Instance ID instance Activity Instance ID O WMTActivityInstID Unique ID of current activity instance Process State M WMTProcInstState `closed.terminated' Event Code M WMTEventCode `WMReceivedTerminatedProcessIn stance' Domain ID M WMTResourceID Domain ID for source workflow engine Node ID M WMTResourceID Node ID for source workflow engine User ID M WMTResourceID ID of user whom the business would consider the primary person involved with this event. This could be a person or entity.May be null. Role ID M WMTResourceID null | as supplied by target workflow engine Timestamp M WMTTimestamp Timestamp event was recorded Information ID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. SourceActivityDefinition O WMTObjectName Business name of current Busines Name activity on the source engine originating the request to terminate the process instance TargetProcessDefinitionI M WMTObjectID as supplied to target D workflow engine Target Process Instance M WMTObjectID Process instance terminated ID on target workflow engine TargetProcessDefinitionB O WMTObjectName null | as supplied by target usinessName workflow engine TargetNodeID M WMTResourceID Node ID of Workflow Engine accepting the session request. TargetUserID O WMTResourceID ID of remote user requested to perform the process (may be null) TargetRoleID O WMTResourceID ID of remote role requested to perform the process (may be null) Target State O WMTProcInstState closed.terminated Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanismTarget Workflow Engine Audit Data - Response
Name M/O Data Type Description InitialProcessInstanceID M WMTProcInstID Process Instance ID for process instance on source workflow engine which caused the request for the sub-process to be started on the target workflow engine CurrentProcessInstanceID M WMTProcInstID Process Instance ID for sub-process started on the target workflow engine ActivityInstanceID O WMTActivityInstID null ProcessState M WMTProcInstState open.running EventCode M WMTEventCode `WMSentTerminatedProcessIns tance' DomainID M WMTResourceID Domain ID for source workflow engine NodeID M WMTResourceID Node ID for target workflow engine UserID M WMTResourceID null or as instantiated RoleID M WMTResourceID null or as instantiated Timestamp M WMTTimestamp Timestamp for when notification that process instance terminated was received InformationID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. SourceInitialProcessInst M WMTProcInstID Initial Process Instance ance ID ID of source workflow engine SourceCurrentProcessInst M WMTProcInstID Current Process Instance anceID ID of source workflow engine SourceActivityInstanceID M WMTActivityInstID Activity Instance ID of the source WFE SourceTimestamp M WMTTimestamp Timestamp of source WFE event SourceNodeID M WMTResourceID Node ID of source Workflow Engine SourceUserID O WMTResourceID User ID associated with the remote workflow engine request SourceRoleID O WMTResourceID Role ID associated with the remote workflow engine request SourceProcess M WMTObjectID as supplied by source Definition ID workflow engine SourceProcessDefinition O WMTText Business name of remote BusinessName workflow engine process that generated the start process request. SourceActivityDefinition O WMTText Business name of the BusinessName remote WFE activity spawning the request Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanism
Specificatio WMTReturnCode WMNotifyProcessInstanceTerminated ( n in engine_identifier WMTEngineID, in process_id WMTObjectID );
Description Notifies the invoking workflow engine that the enactment of the given workflow instance has been terminated locally on the target workflow engine.
Parameters engine_identifier identifies the invoking workflow engine
process_id the ID of the process instance that has terminated
Return Values Success | Failure
Rationale In certain circumstances the invoking workflow engine may need to know when enactment of the given sub-process has been terminated locally on the target workflow engine.
Notification Message Format
Field Value Process Instance Terminated ProcessID The PID of the Process Instance on the source workflow engine that has terminated ActivityID The AID of the current activity instance in the process instance at the time it was terminated RemotePID The Process Instance ID of the parent process instance on the target workflow engine RemoteAID The ID of the activity instance within the process instance on the remote workflow engine that is to be notified that the sub-process instance has been terminated. Timestamp Time enactment of the process instance was terminated DomainID Domain ID for set of workflow engines interoperating within the current context Source Node ID Identifier for source workflow engine SourceUserID User ID responsible for the process instance that caused the notification request (may be null) SourceRoleID Role ID responsible for the process instance that caused the notification request (may be null) TargetUserID User ID responsible for the process instance on the target workflow engine which caused the newly started process instance to be created (may be null) TargetRoleID Role ID responsible for the process instance on the target workflow engine which caused the newly started process instance to be created (may be null) Source_Session Session ID allocated by source workflow engine or by the transport mechanism Target_Session Session ID allocated by target workflow engine or by the transport mechanism MessageID Message identifier assigned by the source workflow engine or by the transport mechanisme.g.
Content-type:application/x-wfmc-if4-request
ProcessInstanceTerminated?ProcessID=32&RemotePID=24&ActivityID=5&%%<> Timestamp=1996+February+28+16:30&%%
DomainID=WFCANADA&SourceNodeID=FlowMark1@george.ibm.com&%%
SourceUserID=NULL&SourceRoleID=NULL&%%
TargetUserID=NULL&TargetRoleID=NULL&%%
Source_Session=490&Target_Session=290&MessageID=5
Response Message Format
Field Value Response to ProcessInstanceTerminated ReturnCode Success | Failure DomainID Domain ID for set of workflow engines interoperating within the current context TargetNodeID Identifier for target workflow engine Source_Session Session ID allocated by source workflow engine or by the transport mechanism Target_Session Session ID allocated by target workflow engine or by the transport mechanism MessageID Message identifier assigned by the target workflow engine or by the transport mechanisme.g.
Content-type:application/x-wfmc-if4-response
ProcessInstanceTerminated?ReturnCode=0%%
DomainID=WFCANADA&TargetNodeID=Staffware@lenny.icl.co.uk&%%
Source_Session=490&Target_Session=290&MessageID=6
Audit data
The following audit data records would be created as a result of the source workflow engine terminating enactment of a sub-process locally.
Notifying Workflow Engine Audit Data - Actual Event
Name M/O Data Type Description InitialProcessInstanceID M WMTProcInstID Process Instance ID for process instance on source workflow engine which caused the request for the sub-process to be terminated on the target workflow engine CurrentProcessInstanceID M WMTProcInstID Process Instance ID for sub-process terminated on the target workflow engine ActivityInstanceID O WMTActivityInstID null ProcessState M WMTProcInstState closed.terminated EventCode M WMTEventCode `WMTerminatedProcessInstanc e' DomainID M WMTResourceID Domain ID for source workflow engine NodeID M WMTResourceID Node ID for target workflow engine UserID M WMTResourceID null or as instantiated RoleID M WMTResourceID null or as instantiated Timestamp M WMTTimestamp Timestamp for when request to terminate process instance was received InformationID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. ProcessDefinition ID M WMTObjectID Process Definition ID identifying the definition used to create this process instance ProcessDefinitionBusines O WMTText Business name of the sName process definition Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanism
Notifying Workflow Engine Audit Data - Notification
Name M/O Data Type Description InitialProcessInstanceID M WMTProcInstID Process Instance ID for process instance on source workflow engine which caused the request for the sub-process to be terminated on the target workflow engine CurrentProcessInstanceID M WMTProcInstID Process Instance ID for sub-process terminated on the target workflow engine ActivityInstanceID O WMTActivityInstID null ProcessState M WMTProcInstState closed.terminated EventCode M WMTEventCode `WMSentTerminatedProcess' DomainID M WMTResourceID Domain ID for source workflow engine NodeID M WMTResourceID Node ID for target workflow engine UserID M WMTResourceID null or as instantiated RoleID M WMTResourceID null or as instantiated Timestamp M WMTTimestamp Timestamp for process instance started InformationID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. SourceInitialProcessInst M WMTProcInstID Initial Process Instance ance ID ID of source workflow engine SourceCurrentProcessInst M WMTProcInstID Current Process Instance anceID ID of source workflow engine SourceActivityInstanceID M WMTActivityInstID Activity Instance ID of the source WFE SourceTimestamp M WMTTimestamp Timestamp of source WFE event SourceNodeID M WMTResourceID Node ID of source Workflow Engine SourceUserID O WMTResourceID User ID associated with the remote workflow engine request SourceRoleID O WMTResourceID Role ID associated with the remote workflow engine request SourceProcess M WMTObjectID as supplied by source Definition ID workflow engine SourceProcessDefinition O WMTText Business name of remote BusinessName workflow engine process that generated the start process request. SourceActivityDefinition O WMTText Business name of the BusinessName remote WFE activity spawning the request Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanism
Target Workflow Engine Audit Data
Name M/O Data Type Description Initial Process M WMTProcInstID Unique ID of initial (root) Instance ID process instance Current Process M WMTProcInstID Unique ID of current process Instance ID instance Activity Instance ID O WMTActivityInstID Unique ID of current activity instance Process State M WMTProcInstState `closed.terminated' Event Code M WMTEventCode `WMReceivedTerminatedProcessIns tance' Domain ID M WMTResourceID Domain ID for source workflow engine Node ID M WMTResourceID Node ID for source workflow engine User ID M WMTResourceID ID of user whom the business would consider the primary person involved with this event. This could be a person or entity.May be null. Role ID M WMTResourceID null | as supplied by target workflow engine Timestamp M WMTTimestamp Timestamp event was recorded Information ID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. SourceActivityDefinition O WMTObjectName Business name of current Busines Name activity on the source engine originating the request to start the process instance TargetProcessDefinitionI M WMTObjectID as supplied to target workflow D engine Target Process Instance M WMTObjectID Process instance terminated on ID target workflow engine TargetProcessDefinitionB O WMTObjectName null | as supplied by target usinessName workflow engine TargetNodeID M WMTResourceID Node ID of Workflow Engine accepting the session request. TargetUserID O WMTResourceID ID of remote user requested to perform the process (may be null) TargetRoleID O WMTResourceID ID of remote role requested to perform the process (may be null) Target State O WMTProcInstState closed.terminated Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanism
Specificatio WMTReturnCode WMRequestChangeProcessInstanceState ( n in engine_identifier WMTEngineID, in process_id WMTObjectID, in state WMTObjectState );
Description Change the state of the designated process instance, for example from suspended to resumed or vice versa. The receiving workflow engine creates a Process/Sub-process audit record as specified in [WfMC015] to record that enactment of the suspended process instance was resumed or vice versa.
Parameters engine_identifier identifies the target workflow engine
process_id the ID of the process instance that is to be resumed
state the new state to which the process instance is to be switched
Return Values Success | Failure | Operation_not_performed | Operation_not_implemented
Rationale It is an operational requirement of users of interoperating workflow systems that it be possible to suspend enactment of sub-process workflows and resume enactment of suspended sub-process workflows when this becomes necessary.
Request Message Format
Field Value Change Process Instance State ProcessID The PID of the Process Instance on the target workflow engine for which the state change is being requested NewState The state to which the designated process instance is to be changed SourcePID The ID of the process instance that has caused the request to change the state of the sub-process instance (may be null) SourceAID The ID of the activity in the current process instance that has caused the request to change the state of the sub-process instance (may be null) SourceUserID User ID responsible for request (maybe null) SourceRoleID Role ID responsible for request (may be null) DomainID Domain ID for set of workflow engines interoperating within the current context Source Node ID Identifier for source workflow engine SourceUserID User ID responsible for request (maybe null) SourceRoleID Role ID responsible for request (may be null) TargetUserID User ID responsible for process instance on target workflow engine (may be null) TargetRoleID Role ID responsible for process instance on target workflow engine (may be null) Source_Session Session ID allocated by source workflow engine or by the transport mechanism Target_Session Session ID allocated by target workflow engine or by the transport mechanism MessageID Message identifier assigned by the source workflow engine or by the transport mechanisme.g.
Content-type:application/x-wfmc-if4-request
ChangeProcessInstanceState?ProcessID=24&NewState=open.running%%
SourcePID=32&SourceAID=3%%
DomainID=WFCANADA&SourceNodeID=Staffware@lenny.icl.co.uk&%%
SourceUsedID=NULL&SourceRoleID=NULL&%%
TargetUserID=Josh&TargetRoleID=financial+controller&%%
Source_Session=123&Target_Session=456&MessageID=9
Response Message Format
Field Value Response to Change Process Instance State ReturnCode Success | Failure | Operation_not_performed | Operation_not_implemented TargetUserID User ID of primary user (may be null) TargetRoleID Role assumed by primary user (may be null) ProcessID The PID of the Process Instance that the target workflow engine for which the state change was requested ActivityID The ID of the current activity in the enacted process instance at the time the state change occurred (may be null) Timestamp The time that the state of the process instance was changed. DomainID Domain ID for set of workflow engines interoperating within the current context Target Node ID Identifier for target workflow engine Source_Session Session ID allocated by source workflow engine or by the transport mechanism Target_Session Session ID allocated by target workflow engine or by the transport mechanism MessageID Message identifier assigned by target workflow engine or by the transport mechanisme.g.
Content-type:application/x-wfmc-if4-response
ChangeProcessInstanceState?ReturnCode=0&%%
TargetUserID=Josh&TargetRoleID=financial+controller&%%
ProcessID=24&ActivityID=6&Timestamp=1996+February+28+16:30&%% DomainID=WFCANADA&TargetNodeID=FlowMark1@george.ibm.com&%%
Source_Session=123&Target_Session=456&MessageID=10
Audit data
The following audit data records would be created as a result of changing the state of a process instance being enacted on the source workflow engine on behalf of the target workflow engine.
Source Workflow Engine Audit Data - Request
Name M/O Data Type Description InitialProcessInstanceID M WMTProcInstID Unique ID of initial (root) process instance CurrentProcessInstanceID M WMTProcInstID Unique ID of current process instance ActivityInstanceID O WMTActivityInstID Unique ID of current activity instance ProcessState M WMTProcInstState state of current process instance EventCode M WMTEventCode `WMSentRequestChangeProcessInstanc eState' DomainID M WMTResourceID Domain ID for source workflow engine NodeID M WMTResourceID Node ID for source workflow engine UserID M WMTResourceID ID of user whom the business would consider the primary person involved with this event. This could be a person or entity.May be null. RoleID M WMTResourceID null | as supplied by target workflow engine Timestamp M WMTTimestamp Timestamp event was recorded Information ID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. Source Activity O WMTObjectName Business name of current activity Definition Business Name on the source engine originating the request to change process state Target Process O WMTObjectID as supplied to target workflow Definition ID engine Target Process Instance O WMTObjectID Process instance on target ID workflow engine Target Process O WMTObjectName null | as supplied by target Definition Business workflow engine Name TargetNodeID M WMTResourceID Node ID of Workflow Engine accepting change state request. TargetUserID O WMTResourceID ID of remote user currently performing the process (may be null) TargetRoleID O WMTResourceID ID of remote role currently performing the process (may be null) Target State O WMTProcInstState new state of process instance on remote engine Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanismTarget Workflow Engine Audit Data - Request
Name M/O Data Type Description Initial Process M WMTProcInstID Process Instance ID for process Instance ID instance on source workflow engine which caused the sub-process to be created on the target workflow engine Current Process M WMTProcInstID Process Instance ID for sub-process Instance ID created on the target workflow engine Activity Instance ID O WMTActivityInstID null Process State M WMTProcInstState new state of process instance Event Code M WMTEventCode `WMReceivedRequestChangeProcessInstanc eState' Domain ID M WMTResourceID Domain ID for source workflow engine Node ID M WMTResourceID Node ID for target workflow engine User ID M WMTResourceID null or as instantiated Role ID M WMTResourceID null or as instantiated Timestamp M WMTTimestamp Timestamp for when request to change process state was received Information ID M WMTObjectID `WfMC' MessageID M WMTObjectID Message ID associated with event. SourceInitialProcessInst M WMTProcInstID Initial Process Instance ID of source ance ID workflow engine SourceCurrentProcess M WMTProcInstID Current Process Instance ID of source InstanceID workflow engine SourceActivityInstanceID M WMTActivityInstID Activity Instance ID of the source WFE SourceTimestamp M WMTTimestamp Timestamp of source WFE event SourceNodeID M WMTResourceID Node ID of source Workflow Engine SourceUserID O WMTResourceID User ID associated with the remote workflow engine request SourceRoleID O WMTResourceID Role ID associated with the remote workflow engine request SourceProcessDefinition O WMTText Business name of remote workflow BusinessName engine process that initiated the process instance (may be null) SourceActivityDefinition O WMTText Business name of the remote WFE BusinessName activity spawning the request SourceProcess M WMTObjectID as supplied by source workflow engine Definition ID SourceRequestedState WMTProcInstState state process instance requested to change to Process Definition O WMTObjectName as supplied by source workflow engine Business ID - may be null Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanismSource Workflow Engine Audit Data - Operation
Name M/O Data Type Description Initial Process M WMTProcInstID Unique ID of initial Instance ID (root) process instance Current Process M WMTProcInstID Unique ID of current Instance ID process instance Activity Instance ID O WMTActivityInstID Unique ID of current activity instance Process State M WMTProcInstState new state of process instance Event Code M WMTEventCode `WMChangedProcessInstanceSt ate' Domain ID M WMTResourceID Domain ID for source workflow engine Node ID M WMTResourceID Node ID for source workflow engine User ID M WMTResourceID ID of user whom the business would consider the primary person involved with this event. This could be a person or entity.May be null. Role ID M WMTResourceID null | as supplied by target workflow engine Timestamp M WMTTimestamp Timestamp event was recorded Information ID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. SourceActivityInstanceID M WMTObjectID Activity ID on source workflow engine RemoteNodeID M WMTResourceID NodeID of target WFE RemoteProcessInstanceID M WMTObjectID Process instance on target workflow engine RemoteTimestamp M WMAObjectID Timestamp for when enactment of the process instance state changed on target workflow engine RemoteProcessDefinitionB O WMTObjectName null | as supplied by usinessName target workflow engine Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanism
Target Workflow Engine Audit Data - Operation
Name M/O Data Type Description Initial Process M WMTProcInstID Unique ID of initial Instance ID (root) process instance Current Process M WMTProcInstID Unique ID of current Instance ID process instance Activity Instance ID O WMTActivityInstID Unique ID of current activity instance Process State M WMTProcInstState new state of process instance Event Code M WMTEventCode `WMChangedProcessInstanceSt ate' Domain ID M WMTResourceID Domain ID for source workflow engine Node ID M WMTResourceID Node ID for source workflow engine User ID M WMTResourceID ID of user whom the business would consider the primary person involved with this event. This could be a person or entity.May be null. Role ID M WMTResourceID null | as supplied by target workflow engine Timestamp M WMTTimestamp Timestamp event was recorded Information ID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. PreviousProcessState M WMTProcInstState State of process instance prior to change Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanism
Source Workflow Engine Audit Data - Response
Name M/O Data Type Description Initial Process M WMTProcInstID Process Instance ID for Instance ID process instance on source workflow engine which caused the sub-process to be created on the target workflow engine Current Process M WMTProcInstID Process Instance ID for Instance ID sub-process created on the target workflow engine Activity Instance ID O WMTActivityInstID null Process State M WMTProcInstState new state of process instance Event Code M WMTEventCode `WMReceivedChangedProcessInstan ceState' Domain ID M WMTResourceID Domain ID for source workflow engine Node ID M WMTResourceID Node ID for target workflow engine User ID M WMTResourceID null or as instantiated Role ID M WMTResourceID null or as instantiated Timestamp M WMTTimestamp Timestamp for when notification that process state changed was received Information ID M WMTObjectID `WfMC' MessageID M WMTObjectID Message ID associated with event. SourceInitialProcessInst M WMTProcInstID Initial Process Instance ID of ance ID source workflow engine SourceCurrentProcess M WMTProcInstID Current Process Instance ID of InstanceID source workflow engine SourceActivityInstanceID M WMTActivityInstID Activity Instance ID of the source WFE SourceTimestamp M WMTTimestamp Timestamp of source WFE event SourceNodeID M WMTResourceID Node ID of source Workflow Engine SourceUserID O WMTResourceID User ID associated with the remote workflow engine request SourceRoleID O WMTResourceID Role ID associated with the remote workflow engine request SourceProcessDefinition O WMTText Business name of remote BusinessName workflow engine process that initiated the process instance (may be null) SourceActivityDefinition O WMTText Business name of the remote BusinessName WFE activity spawning the request SourceProcess M WMTObjectID as supplied by source workflow Definition ID engine SourceRequestedState WMTProcInstState state process instance requested to change to Process Definition O WMTObjectName as supplied by source workflow Business ID engine - may be null Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanism
Target Workflow Engine Audit Data - Response
Name M/O Data Type Description InitialProcessInstanceID M WMTProcInstID Unique ID of initial (root) process instance CurrentProcessInstanceID M WMTProcInstID Unique ID of current process instance ActivityInstance ID O WMTActivityInstID Unique ID of current activity instance ProcessState M WMTProcInstState state of current process instance EventCode M WMTEventCode `WMSentChangedProcessInstanc eState' Domain ID M WMTResourceID Domain ID for source workflow engine Node ID M WMTResourceID Node ID for source workflow engine User ID M WMTResourceID ID of user whom the business would consider the primary person involved with this event. This could be a person or entity.May be null. Role ID M WMTResourceID null | as supplied by target workflow engine Timestamp M WMTTimestamp Timestamp event was recorded Information ID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. Source Activity O WMTObjectName Business name of current Definition Business Name activity on the source engine originating the request to change process state Target Process O WMTObjectID as supplied to target Definition ID workflow engine Target Process Instance O WMTObjectID Process instance on target ID workflow engine Target Process O WMTObjectName null | as supplied by Definition Business target workflow engine Name TargetNodeID M WMTResourceID Node ID of Workflow Engine accepting change state request. TargetUserID O WMTResourceID ID of remote user currently performing the process (may be null) TargetRoleID O WMTResourceID ID of remote role currently performing the process (may be null) Target State O WMTProcInstState new state of process instance on remote engine Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanism
Specificatio WMTReturnCode WMNotifyProcessInstanceCompleted ( n in engine_identifier WMTEngineID, in process_id WMTObjectID );
Description Resume the enactment of the identified suspended workflow process instance. The receiving workflow engine creates a Process/Sub-process audit record as specified in [WfMC015] to record that enactment of the suspended process instance has completed.
Parameters engine_identifier identifies the invoking workflow engine
process_id the ID of the process instance that has completed
Return Values Success | Failure
Rationale In circumstances where the invoking process instance hangs, waiting for the enacted sub-process to complete, the workflow engine enacting the sub-process must have a means of communicating the completion to the invoking engine.
Notification Message Format
Field Value ProcessInstanceCompleted ProcessID The PID of the Process Instance on the source workflow engine that has completed ActivityID The AID of the current activity instance in the process instance at the time it completed RemotePID The PID of the parent process instance on the target workflow engine RemoteAID The ID of the activity instance within the process instance on the remote workflow engine that is to be notified that the sub-process instance completed. Timestamp Time enactment of the process instance completed DomainID Domain ID for set of workflow engines interoperating within the current context Source Node ID Identifier for source workflow engine SourceUserID User ID responsible for the process instance that caused the notification request (may be null) SourceRoleID Role ID responsible for the process instance that caused the notification request (may be null) TargetUserID User ID responsible for the process instance on the target workflow engine which caused the newly started process instance to be created (may be null) TargetRoleID Role ID responsible for the process instance on the target workflow engine which caused the newly started process instance to be created (may be null) Source_Session Session ID allocated by source workflow engine or by the transport mechanism Target_Session Session ID allocated by target workflow engine or by the transport mechanism MessageID Message identifier assigned by the source workflow engine or by the transport mechanisme.g.
Content-type:application/x-wfmc-if4-request
ProcessInstanceCompleted?ProcessID=32&RemotePID=24&ActivityID=5&%%
DomainID=WFCANADA&SourceNodeID=FlowMark1@george.ibm.com&%%
SourceUserID=NULL&SourceRoleID=NULL&%%
TargetUserID=NULL&TargetRoleID=NULL&%%
Source_Session=490&Target_Session=290&MessageID=5
Response Message Format
Field Value Response to Process Instance Completed ReturnCode Success | Failure DomainID Domain ID for set of workflow engines interoperating within the current context Target Node ID Identifier for target workflow engine Source_Session Session ID allocated by source workflow engine or by the transport mechanism Target_Session Session ID allocated by target workflow engine or by the transport mechanism MessageID Message identifier assigned by the target workflow engine or by the transport mechanisme.g.
Content-type:application/x-wfmc-if4-response
ProcessInstanceCompleted?ReturnCode=0&%%
DomainID=WFCANADA&TargetNodeID=Staffware@lenny.icl.co.uk&%%
Source_Session=490&Target_Session=290&MessageID=6
Audit data
The following audit data records would be created as a result of the completion of a process instance being enacted on the source workflow engine on behalf of the target workflow engine.
Notifying Workflow Engine Audit Data - Actual Event
Name M/O Data Type Description Initial Process M WMTProcInstID Unique ID of initial Instance ID (root) process instance Current Process M WMTProcInstID Unique ID of current Instance ID process instance Activity Instance ID O WMTActivityInstID Unique ID of current activity instance Process State M WMTProcInstState new state of process instance Event Code M WMTEventCode `WMCompletedProcessInstance ' Domain ID M WMTResourceID Domain ID for source workflow engine Node ID M WMTResourceID Node ID for source workflow engine User ID M WMTResourceID ID of user whom the business would consider the primary person involved with this event. This could be a person or entity.May be null. Role ID M WMTResourceID null | as supplied by target workflow engine Timestamp M WMTTimestamp Timestamp event was recorded Information ID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. PreviousProcessState M WMTProcInstState State of process instance prior to change Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanism
Notifying Workflow Engine Audit Data - Notification
Name M/O Data Type Description Initial Process M WMTProcInstID Unique ID of initial Instance ID (root) process instance Current Process M WMTProcInstID Unique ID of current Instance ID process instance Activity Instance ID O WMTActivityInstID Unique ID of current activity instance Process State M WMTProcInstState `closed.completed' Event Code M WMTEventCode `WMSentCompletedProcessInst ance' Domain ID M WMTResourceID Domain ID for source workflow engine Node ID M WMTResourceID Node ID for source workflow engine User ID M WMTResourceID ID of user whom the business would consider the primary person involved with this event. This could be a person or entity.May be null. Role ID M WMTResourceID null | as instantiated Current Timestamp M WMTTimestamp Timestamp event was recorded Information ID M WMTObjectID `WfMC' MessageID M WMTObjectID Message ID associated with event. Source Activity O WMTObjectName Business name of first Definition Business Name activity on the source engine Remote Process Instance M WMTObjectID Process instance created ID on target workflow engine Remote Activity M WMTActivityInstID Remote workflow engine Instance ID activity instance ID RemoteNodeID M WMTResourceID Node ID of Workflow Engine receiving the notification. RemoteTimestamp M WMTTimestamp Timestamp event was recorded Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanismTarget Workflow Engine Audit Data
Name M/O Data Type Description Initial Process M WMTProcInstID Unique ID of initial (root) Instance ID process instance Current Process M WMTProcInstID Unique ID of current process Instance ID instance Activity Instance ID O WMTActivityInstID Unique ID of current activity instanceRemoteAID=2 Process State M WMTProcInstState state of current process instance Event Code M WMTEventCode `WMReceivedCompletedProcessIns tance' Domain ID M WMTResourceID Domain ID for target workflow engine Node ID M WMTResourceID Node ID for target workflow engine User ID M WMTResourceID ID of user whom the business would consider the primary person involved with this event. This could be a person or entity.May be null. Role ID M WMTResourceID null | as instantiated Current Timestamp M WMTTimestamp Timestamp for when notification was received Information ID M WMTObjectID `WfMC' MessageID M WMTObjectID Message ID associated with event. Source Activity O WMTObjectName Business name of current Definition Business Name activity on the source engine when the process instance completed Remote Process Instance M WMTObjectID Process instance completed on ID source workflow engine Remote Activity M WMTActivityInstID Remote workflow engine Instance ID activity instance ID RemoteNodeID M WMTResourceID Node ID of Workflow Engine sending the notification. RemoteTimestamp M WMTTimestamp Timestamp event was recorded on remote engine Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanism
Specificatio WMTReturnCode WMNotifytProcessInstanceStateChange ( n in engine_identifier WMTEngineID, in process_id WMTObjectID, in new_state WMTObjectState );
Description Notify another workflow engine of a state change in a (sub) process in which it has a registered interest.
Parameters engine_identifier identifies the invoking workflow engine
process_id PID of the process instance that has undergone a state change
new State State the process instance has changed to
Return Values Success | Failure
Rationale In circumstances where the invoking process instance hangs, waiting for the enacted sub-process to complete, the workflow engine enacting the sub-process must have a means of communicating the completion to the invoking engine.
Notification Message Format
Field Value ProcessInstanceStateChange ProcessID The PID of the Process Instance on the source workflow engine ActivityID The AID of the current activity instance in the process instance at the time the state change occurred RemotePID The PID of the parent Process Instance on the target workflow engine RemoteAID The ID of the activity instance within the process instance on the remote workflow engine that is to be notified that the sub-process instance state has changed. Timestamp Time process instance underwent a state change State New state of process instance DomainID Domain ID for set of workflow engines interoperating within the current context Source Node ID Identifier for source workflow engine SourceUserID User ID responsible for request (maybe null) SourceRoleID Role ID responsible for request (may be null) TargetUserID User ID responsible for process instance on target workflow engine (may be null) TargetRoleID Role ID responsible for process instance on target workflow engine (may be null) Source_Session Session ID allocated by source workflow engine or by the transport mechanism Target_Session Session ID allocated by target workflow engine or by the transport mechanism MessageID Message identifier assigned by the source workflow engine or by the transport mechanism
e.g.
Content-type:application/x-wfmc-if4-request
ProcessInstanceStateChanged? ProcessID=32&RemotePID=24&ActivityID=5&%%
Timestamp=1996+February+28+16:30&%%
DomainID=WFCANADA&SourceNodeID=FlowMark1@george.ibm.com&%%
SourceUsedID=NULL&SourceRoleID=NULL&%%
TargetUserID=Josh&TargetRoleID=financial+controller&%%
Source_Session=490&Target_Session=290&MessageID=5
Response Message Format
Field Value Response to ProcessInstanceStateChanged ReturnCode Success | Failure DomainID Domain ID for set of workflow engines interoperating within the current context Target Node ID Identifier for target workflow engine Source_Session Session ID allocated by source workflow engine or by the transport mechanism Target Session Session ID allocated by target workflow engine or by the transport mechanism MessageID Message identifier assigned by the target workflow engine or by the transport mechanisme.g.
Content-type:application/x-wfmc-if4-response
ProcessInstanceStateChanged?ReturnCode=0%%
DomainID=WFCANADA&TargetNodeID=Staffware@lenny.icl.co.uk&%%
Source_Session=490&Target_Session=290&MessageID=6
Audit data
The following audit data records would be created as a result of the completion of a process instance being enacted on the source workflow engine on behalf of the target workflow engine.
Notifying Workflow Engine Audit Data - Actual Event
Name M/O Data Type Description Initial Process M WMTProcInstID Unique ID of initial Instance ID (root) process instance Current Process M WMTProcInstID Unique ID of current Instance ID process instance Activity Instance ID O WMTActivityInstID Unique ID of current activity instance Process State M WMTProcInstState new state of process instance Event Code M WMTEventCode `WMChangedProcessInstanceSt ate' Domain ID M WMTResourceID Domain ID for source workflow engine Node ID M WMTResourceID Node ID for source workflow engine User ID M WMTResourceID ID of user whom the business would consider the primary person involved with this event. This could be a person or entity.May be null. Role ID M WMTResourceID null | as supplied by target workflow engine Timestamp M WMTTimestamp Timestamp event was recorded Information ID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. PreviousProcessState M WMTProcInstState State of process instance prior to change Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanism
Notifying Workflow Engine Audit Data - Notification
Name M/O Data Type Description Initial Process M WMTProcInstID Unique ID of initial (root) Instance ID process instance Current Process M WMTProcInstID Unique ID of current Instance ID process instance Activity Instance ID O WMTActivityInstID Unique ID of current activity instance Process State M WMTProcInstState new state of process instance Event Code M WMTEventCode `WMSentChangedProcessInstanc eState' Domain ID M WMTResourceID Domain ID for source workflow engine Node ID M WMTResourceID Node ID for source workflow engine User ID M WMTResourceID ID of user whom the business would consider the primary person involved with this event. This could be a person or entity.May be null. Role ID M WMTResourceID null | as instantiated Current Timestamp M WMTTimestamp Timestamp event was recorded Information ID M WMTObjectID `WfMC' MessageID M WMTObjectID Message ID associated with event. Source Activity O WMTObjectName Business name of first Definition Business Name activity on the source engine Remote Process Instance M WMTObjectID Process instance created on ID target workflow engine Remote Activity M WMTActivityInstID Remote workflow engine Instance ID activity instance ID RemoteNodeID M WMTResourceID Node ID of Workflow Engine receiving the notification. RemoteTimestamp M WMTTimestamp Timestamp event was recorded Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanismTarget Workflow Engine Audit Data
Name M/O Data Type Description Initial Process M WMTProcInstID Unique ID of initial (root) Instance ID process instance Current Process M WMTProcInstID Unique ID of current process Instance ID instance Activity Instance ID O WMTActivityInstID Unique ID of current activity instanceRemoteAID=2 Process State M WMTProcInstState state of current process instance Event Code M WMTEventCode `WMReceivedChangedProcessInstan ceState' Domain ID M WMTResourceID Domain ID for target workflow engine Node ID M WMTResourceID Node ID for target workflow engine User ID M WMTResourceID ID of user whom the business would consider the primary person involved with this event. This could be a person or entity.May be null. Role ID M WMTResourceID null | as instantiated Current Timestamp M WMTTimestamp Timestamp for when notification was received Information ID M WMTObjectID `WfMC' MessageID M WMTObjectID Message ID associated with event. Source Activity O WMTObjectName Business name of current Definition Business Name activity on the source engine when the process instance state change occurred Remote Process Instance M WMTObjectID Process instance for which ID state change occurred on source workflow engine Remote Activity M WMTActivityInstID Remote workflow engine Instance ID activity instance ID RemoteNodeID M WMTResourceID Node ID of Workflow Engine sending the notification. RemoteTimestamp M WMTTimestamp Timestamp event was recorded on remote engine Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanism
Specificatio WMTReturnCode WMNotifyProcessAttributeValueChanged ( n in engine_identifier WMTEngineID, in process_id WMTObjectID, in attributes WMTAttributeList );
Description Sets the value(s) of process instance attributes (process relevant data) in a selected process definition.
Parameters engine_identifier identifies the target workflow engine
process_id the ID of the process instance that owns the process relevant data being requested
attributes a list of attribute data structures giving for each attribute
the name of the attribute
the type of the attribute
the length of the attribute
the value to which the attribute is to be set
Return Values Success | Failure
Rationale This operation is provided so that a workflow engine enacting a sub-process can notify the workflow engine enacting the parent process instance that the value of a particular element of workflow relevant data has been changed. This facility allows for tracking of milestones in the management of workflows enacted in a multi-engined domain.
Notification Message Format
Field Value ProcessInstanceAttributeChanged ProcessID The PID of the process instance on the source workflow engine for which the attribute value has changed ActivityID The AID of the current activity instance in the process instance at the time the attribute value changed RemotePID The PID of the parent Process Instance on the target workflow engine RemoteAID The ID of the activity instance within the process instance on the remote workflow engine that is to be notified that the sub-process instance completed. Timestamp The time when the attribute value changed DomainID Domain ID for set of workflow engines interoperating within the current context SourceNodeID Identifier for source workflow engine Name attribute identifier Type attribute type Length new attribute length Value new attribute value SourceUserID User ID responsible for the process instance that caused the notification request (may be null) SourceRoleID Role ID responsible for the process instance that caused the notification request (may be null) TargetUserID User ID responsible for the process instance on the target workflow engine which caused the newly started process instance to be created (may be null) TargetRoleID Role ID responsible for the process instance on the target workflow engine which caused the newly started process instance to be created (may be null) Source_Session Session ID allocated by source workflow engine or by the transport mechanism Target_Session Session ID allocated by target workflow engine or by the transport mechanism MessageID Message identifier assigned by the source workflow engine or by the transport mechanisme.g.
Content-type:application/x-wfmc-if4-request
ProcessInstanceAttributeChanged?ProcessID=32&RemotePID=24&ActivityID=5≈%%
Timestamp=1996+February+28+16:30&%%
DomainID=WFCANADA&SourceNodeID=FlowMark1@george.ibm.com&%%
Name=copies&Type=WMTINT8&Length=8&Value=3&%%
SourceUsedID=NULL&SourceRoleID=NULL&%%
TargetUserID=Josh&TargetRoleID=financial+controller&%%
Source_Session =456& Target_Session=290&MessageID=5
Response Message Format
Field Value Response to ProcessInstanceAttributeChanged ReturnCode Success | Failure DomainID Domain ID for set of workflow engines interoperating within the current context Target Node ID Identifier for target workflow engine Source_Session Session ID allocated by source workflow engine or by the transport mechanism Target Session Session ID allocated by target workflow engine or by the transport mechanism MessageID Message identifier assigned by the target workflow engine or by the transport mechanisme.g.
Content-type:application/x-wfmc-if4-response
ProcessInstanceAttributeChanged?ReturnCode=0&%%
DomainID=WFCANADA&TargetNodeID=Staffware@lenny.icl.co.uk&%%
Source_Session=490&Target_Session=290&MessageID=6
Audit data
The following audit data records would be created as a result of the source workflow engine having changed the value of a notifiable attribute.
Notifying Workflow Engine Audit Data - Actual Event
Name M/O Data Type Description Initial Process M WMTProcInstID Process Instance ID for Instance ID process instance on Source workflow engine which caused the request for the sub-process to be created on the target workflow engine Current Process M WMTProcInstID Process Instance ID for Instance ID sub-process created on the target workflow engine Activity Instance ID O WMTActivityInstID null Process State M WMTProcInstState State of created process instance Event Code M WMTEventCode `WMAssignedProcessInstanceAttri bute' Domain ID M WMTResourceID Domain ID for source workflow engine Node ID M WMTResourceID Node ID for target workflow engine User ID M WMTResourceID null or as instantiated Role ID M WMTResourceID null or as instantiated Timestamp M WMTTimestamp Timestamp for when request to create process instance was received Information ID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. Changed Attribute Name M WMTAttributeName Name of attribute changed Changed Attribute Type M WMTAttributeType Type of attribute changed Changed Attribute Length M WMTAttributeLength Changed length of attribute Changed Attribute Value M WMTAttributeValue New value Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanismNotifying Workflow Engine Audit Data - Notification
Name M/O Data Type Description Initial Process M WMTProcInstID Unique ID of initial (root) Instance ID process instance Current Process M WMTProcInstID Unique ID of current process Instance ID instance Activity Instance ID O WMTActivityInstID Unique ID of current activity instance Process State M WMTProcInstState state of process instance when event occurred EventCode M WMTEventCode `WMSentChangedProcessInstanceAt tribute' DomainID M WMTResourceID Domain ID for source workflow engine NodeID M WMTResourceID Node ID for source workflow engine UserID M WMTResourceID ID of user whom the business would consider the primary person involved with this event. This could be a person or entity.May be null. RoleID M WMTResourceID null | as instantiated CurrentTimestamp M WMTTimestamp Timestamp event was recorded InformationID M WMTObjectID `WfMC' MessageID O WMTObjectID Message ID associated with event. Source Activity O WMTObjectName Business name of current Definition Business Name activity on the source engine when attribute value changed Remote Process Instance M WMTObjectID Process instance created on ID target workflow engine Remote Activity M WMTActivityInstID Remote workflow engine Instance ID activity instance ID RemoteNodeID M WMTResourceID Node ID of Workflow Engine receiving the notification. RemoteTimestamp M WMTTimestamp Timestamp event was recorded Changed Attribute Name O WMTAttributeName Name of attribute changed Changed Attribute Type O WMTAttributeType Type of attribute changed Changed Attribute Length O WMTAttributeLength Changed length of attribute Changed Attribute Value O WMTAttributeValue New value Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanismTarget Workflow Engine Audit Data
Name M/O Data Type Description Initial Process M WMTProcInstID Unique ID of initial (root) Instance ID process instance Current Process M WMTProcInstID Unique ID of current process Instance ID instance Activity Instance ID O WMTActivityInstID Unique ID of current activity instanceRemoteAID=2 Process State M WMTProcInstState state of current process instance Event Code M WMTEventCode `WMReceivedChangedProcessInstanceA tribute' Domain ID M WMTResourceID Domain ID for target workflow engine Node ID M WMTResourceID Node ID for target workflow engine User ID M WMTResourceID ID of user whom the business would consider the primary person involved with this event. This could be a person or entity.May be null. Role ID M WMTResourceID null | as instantiated Current Timestamp M WMTTimestamp Timestamp for when notification was received Information ID M WMTObjectID `WfMC' MessageID M WMTObjectID Message ID associated with event. Source Activity O WMTObjectName Business name of current activity Definition Business Name on the source engine when the process attribute value changed Remote Process Instance M WMTObjectID Process instance ID on source ID workflow engine Remote Activity M WMTActivityInstID Remote workflow engine activity Instance ID instance ID RemoteNodeID M WMTResourceID Node ID of Workflow Engine sending the notification. RemoteTimestamp M WMTTimestamp Timestamp event was recorded on remote engine Changed Attribute Name O WMTAttributeName Name of attribute changed Changed Attribute Type O WMTAttributeType Type of attribute changed Changed Attribute Length O WMTAttributeLength Changed length of attribute Changed Attribute Value O WMTAttributeValue New value Extension Number M WMTInt16 `1' Extension Type M WMTText `4MIME' SourceSession ID M WMTINT8 As supplied by source workflow engine or by the transport mechanism TargetSession ID M WMTINT8 As supplied by target workflow engine or by the transport mechanism
Specificatio WMTReturnCode WMRelinquishProcessInstance ( n in engine_identifier WMTEngineID, in process_id WMTObjectID );
Description Notify another workflow engine that as far as this workflow engine is concerned, it may now release all memory containing data structures pertaining to the given process instance and/or not to send notification messages concerning the enactment of that process instance.
Parameters engine_identifier identifies the target workflow engine
process_id PID of the sub-process instance in which this workflow engine is no longer interested
Return Values Success | Failure
Rationale For certain dialogue structures it will be necessary that one workflow engine tells another that it is now safe to release all data structures it holds in memory relating to a given process instance and/or that it is no longer interested in receiving notification messages for that process instance.
There are two circumstances in which a WMRelinquishProcessInstance message is intended to be used. Workflow Engine B enacting a sub-process at the behest of Workflow Engine A will:
* send notification messages to the other workflow engine at appropriate points, e.g. on completion of the enactment of the enacted sub-process
* maintain the value of process instance attributes until it is told it may safely release them
The WMRelinquishProcessInstance operation is provided so that in the case of a chained model of interoperability in which Workflow Engine A initiates the enactment of a sub-process on Workflow Engine B but then takes no further interest in it, Workflow Engine B can be told not to send notification messages to Workflow Engine A and will then assume on completion of the enactment that it may safely release all associated data structures in memory.
The alternative use of the WMRelinquishProcessInstance operation is for nested sub-process models of interoperability in which Workflow Engine A initiates the enactment of a sub-process on Workflow Engine B and then waits for its completion in order to retrieve the value(s) of some process instance attribute(s). On receipt of notification that either the value of the designated process instance attribute(s) has changed or that the sub-process has reached completion, Workflow Engine A will
1. retrieve the value(s) of the attribute(s) from Workflow Engine A using WMRequestGetProcessInstanceAttributes
2. use WMRelinquishProcessInstance to tell Workflow Engine B it has no further interest in the sub-process.
Notification Message Format
Field Value Relinquish Process Instance ProcessID The PID of the Process Instance on the target workflow engine DomainID Identifier for the workflow domain within which the two workflow engines are interoperating SourceNodeID Identifier for source workflow engine SourceUserID User ID responsible for the process instance that caused the notification request (may be null) SourceRoleID Role ID responsible for the process instance that caused the notification request (may be null) TargetUserID User ID responsible for the process instance on the target workflow engine which caused the newly started process instance to be created (may be null) TargetRoleID Role ID responsible for the process instance on the target workflow engine which caused the newly started process instance to be created (may be null) Source_Session Session ID allocated by source workflow engine or by the transport mechanism Target _Session Session ID allocated by target workflow engine or by the transport mechanism MessageID Message identifier assigned by the source workflow engine or by the transport mechanisme.g.
Content-type:application/x-wfmc-if4-request
RelinquishProcessInstance?ProcesID=24&%%
DomainID=WFCANADA&SourceNodeID=Staffware@lenny.icl.co.uk&%%
SourceUsedID=NULL&SourceRoleID=NULL&%%
TargetUserID=Josh&TargetRoleID=financial+controller&%%
Source_Session=123&Target_Session=456&MessageID=11
Response Message Format
Field Value Response to RelinquishProcessInstance ReturnCode Success | Failure DomainID Identifier for the workflow domain within which the two workflow engines are interoperating Target Node ID Identifier for target workflow engine Source_Session Session ID allocated by source workflow engine or by the transport mechanism Target Session Session ID allocated by target workflow engine or by the transport mechanism MessageID Message identifier assigned by the target workflow engine or by the transport mechanisme.g.
Content-type:application/x-wfmc-if4-response
RelinquishProcessInstance?ReturnCode=0&%%
DomainID=WFCANADA&TargetNodeID=FlowMark1@george.ibm.com&%%
Source_Session=123&Target_Session=456&MessageID=12
Audit data
Not specified
6.
References
[OMG93] OMG 93.12.43 The Common Object Request Broker: Architecture and
Specification (1.2)
[WfMC000] Workflow Management Coalition Glossary
[WfMC1009] WFMC TC-1009 Workflow Management Coalition Interface 2 Application Programming Interface (WAPI) Specification, November 1995
[WfMC1012] WFMC TC - 1012 Workflow Management Coalition Workflow Standard - Interoperability Abstract Specification, October 1996
[WfMC1013] WFMC-TC-1013 Workflow Application Programmer's (WAPI) Interface 2
Naming Conventions
[WfMC1015] WFMC-TC-1015 Workflow Management Coalition Interface 5 Audit Data Specification, May 1996