Integration between Workflow Manager and a third-party Work Management System (WMS) has been modified to support the Common Information Model (CIM). This greatly simplifies the steps necessary to integrate Workflow Manager with your WMS.
Using CIM, Workflow Manager can accept messaging for work requests and designs from the WMS and update the Workflow Manager database (e.g., WorkflowManager.mdb) accordingly.

Figure 1, CIM Messaging is used to integrate Workflow Manager with the work order and design portion of your WMS.
Workflow Manager uses subtasks to retrieve and process messages from the WMS. Two subtasks (Process CIM Message and Output CIM XML) access message processors that implement IMMPxCimMessaging and process CIM-compliant messages from the WMS. These subtasks have been assigned to tasks in the ArcFM sample data. Sample code for these message processors (subtasks) is provided in this section.
The following subtasks are helpful when debugging or testing your CIM message processing. These are included in the Designer installation. If you wish to create custom message processors refer to the Process Framework Customization Guide.
-
Process CIM Message: This processor looks at the request noun and verb and forwards it to the appropriate processor. This subtask has the following parameters:
- The input parameters indicate from where the message is received. If both parameters are left without values, the user will be prompted.
- Input Dictionary Key: Message is received from the task dictionary.
- Input XML Path: Message is received from an XML file stored locally.
- The output parameters indicate to where the message is saved. If both parameters are left without values, the user will be prompted.
- Output Dictionary Key: Stores the message in the task dictionary.
- Output XML Path: Stores the message in an XML file stored locally.
-
Output CIM XML: This subtask builds an XML for the selected node. Because Workflow Manager doesn’t know the type of message bus being utilized, it does not send the XML back to the WMS. A custom subtask is required to perform this (see Customize Process Framework). This subtask has the following parameters:
- New Verb: This parameter allows you to modify the verb.
- The input parameters indicate from where the message is received. If both parameters are left without values, the user will be prompted.
- Input Dictionary Key: Message is received from the task dictionary.
- Input XML Path: Message is received from an XML file stored locally.
- The output parameters indicate to where the message is saved. If both parameters are left without values, the user will be prompted.
- Output Dictionary Key: Stores the message in the task dictionary.
- Output XML Path: Stores the message in an XML file stored locally.
Task Dictionary: A task dictionary is used to store data that may be accessed by all subtasks assigned to the task (IMMPxTask2::Dictionary). One subtask may gather information required by a second subtask. The first subtask can place the data in the task dictionary, where the second subtask has access to it.
The following table lists the supported nouns and verbs.
Noun
|
Verb
|
Design
|
Changed
Created
Deleted
Get
|
Work (Work Request)
|
Changed
Created
Deleted
Get
|
- The CHANGED verb is used to publish the change of a document as a result of either an external request or an internal action within the master system of that document. This could be a generic change in the content of the document or a specific status change such as "approved", "issued", etc. This message type is usually subscribed by interested systems and could be used for mass updates. There is no need to reply to this message type.
- The CREATED verb is used to publish the creation of a document as a result of either an external request or an internal action within the master system of that document. This is the first time that data for this document reference code has been published as the result of internal or external request; in which case, it would use the same document reference as the CREATE message. This message type is usually subscribed by interested systems and could be used for mass updates. There is no need to reply to this message type.
- The DELETED verb is used to publish the deletion of a document as a result of either an external request or an internal action within the master system of that document. This message type is usually subscribed by interested systems and could be used for mass updates. There is no need to reply to this message type.
- The GET verb is used to publish a request to the master system to get the current data for a given document reference code or a set of documents. The master system may in turn publish the document using the SHOW verb, if the document is available, or use the verb REPLY to response to the GET request, indicating that the document is not available.