Integration Framework Configuring Integration Controls to customize
your integration processing.
Introduction
The Integration Framework supports the use of Integration Controls and Processing Rules to allow customers to control and customize their integration transaction processing through Configuration. This document explains the configuration of Integration Controls.
Table of Contents
Overview............................................................................................................................. 2 Outbound processing ...................................................................................................... 3 Inbound processing ......................................................................................................... 4 Integration Control Definition ............................................................................................ 5 Defining Integration Controls ......................................................................................... 6 Defining a Value Control............................................................................................ 8 Defining a List Control ............................................................................................... 9 Defining a Boolean Control ...................................................................................... 10 Defining a Cross Reference (XRef) Control............................................................. 11 Enabling the Use of Controls............................................................................................ 12 Associate the control to a Publish Channel or Enterprise Service................................ 12
7/29/2013
Page 1
Integration Framework Configuring Integration Controls to customize
your integration processing.
Overview
The Maximo* Integration Framework (MIF) provides the capability to configure integration controls and processing rules to allow customers to customize their integration processing without (or in addition to) using custom Java User Exit code. Some the common uses of these features is to Set an XML tag value in an integration message or to filter integration messages such that only certain integration messages are sent to an external application. The example screen shots included in this document are from a Maximo 7.5.x environment, however, the majority of the functionality is also available in the Maximo 7.1.x versions as well. *NOTE: All capabilities provided in the Maximo application also apply the Smart Cloud Control Desk (SCCD) application
7/29/2013
Page 2
Integration Framework Configuring Integration Controls to customize
your integration processing.
Where are integration controls and processing rules leveraged within the flow of an integration message?
Outbound processing
External Application / Service
Customization - Optional
Processing Rules Processing Class
MXWO Object Structure
Work Order Approval
JMS Queue
User Exit
User Exit
End Point
XSL Map
For outbound processing, the processing rules are executed after the integration message (XML) is formed by the MIF based on the Object Structure definition. After the processing rules are executed, the integration message flows through the Java and XSL customization layers (if implemented). Integration controls can be implemented as part of processing rules or referenced by the java customization code.
7/29/2013
MAXIMO
Java
Processing Rules applied Processing Integration Rules Controls applied implemented
Page 3
Integration Framework Configuring Integration Controls to customize
your integration processing. Inbound processing
External Application / Service
Customization - Optional
Processing Class Processing Rules Integration Servlet
MXWO Object Structure
Work Order Status Update
User Exit
User Exit
XSL Map
For inbound processing, the processing rules are executed after the integration message flows through the Java and XSL customization layers (if implemented). The integration message (XML) must be in the format defined by the Object Structure when the message reaches the Processing Rules layer. Integration controls can be implemented as part of processing rules or referenced by the java customization code.
7/29/2013
MAXIMO
Java
Processing Rules applied Processing Integration Rules Controls applied implemented
Page 4
Integration Framework Configuring Integration Controls to customize
your integration processing.
Integration Control Definition
Integration controls are defined to support processing logic of an integration message. By using an integration control, this offers configurability so that customers can implement values that are specific to their Maximo implementation. A common use of an integration control is to define a list of values that are used to filter (configured in a processing rule) the sending of a transaction such as a work order or purchase order. So one implementation could set their list of Status values to filter on 'Approve' and 'Close' while another implementation could set their value to just 'Approve'. Another common use of an Integration Control is to set a field value in an integration message. There are four types of integration controls that you can define: 1. Value defines a single value for the control 2. List defines a list of values (1 or more) for the control 3. Boolean defines the control value as True or False 4. Cross Reference defines a pair of values (internal and external) that are used to map one value to the other. To use integration controls as part of a processing rule, you need to: 1. Define the control 2. Associate the control to a Publish Channel or Enterprise Service 3. Implement the Control as part of a Processing Rule 4. Assign values to the control for the External System using the Publish Channel/Enterprise Service.
7/29/2013
Page 5
Integration Framework Configuring Integration Controls to customize
your integration processing. Defining Integration Controls
The dialog to create integration controls is available from the Publish Channels and Enterprise Services applications.
7/29/2013
Page 6
Integration Framework Configuring Integration Controls to customize
your integration processing.
The dialog shows existing integration controls that can be maintained by selecting the Edit Details icon on the left side of each row. To create a new control, use the dropdown button and select the desired control type:
When you create control and assign one or more values, the values are considered the default values for that control. As you will see further down in this document, those default values will be copied to the external system level where they can be used and/or changed to values specific for an external system.
7/29/2013
Page 7
Integration Framework Configuring Integration Controls to customize
your integration processing.
Defining a Value Control
A Value Control will hold a single value. When defining the control, you need to assign a name, description and the value. You can also assign a domain to the control which limits the entry of values to be a value that exists in that domain. For instance, you are using an integration control to filter Asset transactions based on an asset type. Asset Types on the asset record are assigned using the ASSETTYPE domain, therefore you would want the integration control to only hold values that are valid asset types as defined in the domain. By assigning the domain to the integration control, this will limit the value entered in the control to be valid asset type.
Note: there is no selection capability for the Default Value field based on the domain list. However a validation is executed when you tab out of the field to ensure the value exists in the Domain.
7/29/2013
Page 8
Integration Framework Configuring Integration Controls to customize
your integration processing.
Defining a List Control
A List Control is similar to a value control except that it will hold multiple values. When defining the control, you need to assign a name, description and one or more values. As with the Value Control, you can also assign a domain to the control which limits the entry of values to be a value that exists in that domain. The example below shows the POSEND control which holds multiple values tied to the POSTATUS domain. This control is used in filtering outbound Purchase Order messages.
Note: there is no selection capability for the Default Value field based on the domain list. However a validation is executed when you tab out of the field to ensure the value exists in the Domain.
7/29/2013
Page 9
Integration Framework Configuring Integration Controls to customize
your integration processing.
Defining a Boolean Control
A Boolean Control holds a True or False value that can be used as part of an integration processing rule. This control could be used to compare against an object attribute that is a Boolean type and when there is a match the integration message would be processed (or skipped) When defining the control, you need to assign a name, description and select whether the default value will be true (checked) or false (unchecked).
7/29/2013
Page 10
Integration Framework Configuring Integration Controls to customize
your integration processing.
Defining a Cross Reference (XRef) Control
A Cross Reference Control allows you to map values from your Maximo data to a corresponding external value. For example, you may always map a Site value to a specific value recognized by the application you are integrating with. This control allows you to configure that mapping once and then use the same control across multiple integration points that results in a consistent mapping. When defining the control, you need to assign a name, description and one or more Default and External values. The Default value is the Maximo-known value. As with the Value and List Controls, you can also assign a domain to the control which limits the entry of default values to be a value that exists in that domain.
Note: there is no selection capability for the Default Value field based on the domain list. However a validation is executed when you tab out of the field to ensure the value exists in the Domain.
7/29/2013
Page 11
Integration Framework Configuring Integration Controls to customize
your integration processing.
Enabling the Use of Controls
Associate the control to a Publish Channel or Enterprise Service
An Integration Control may be used in Processing Rules on one or more Publish Channels and/or Enterprise Services. To associate an integration control to a Publish Channel, you need to select that channel in the Publish Channels application and then select Associate Integration Controls under the Select Action menu. NOTE: The description here uses a Publish Channel as an example. The same process applies to Enterprise Services.
7/29/2013
Page 12
Integration Framework Configuring Integration Controls to customize
your integration processing.
In the dialog above, you can select one or more controls to associate to the selected Publish Channel. Controls/Default values copied to External System When you associate a control to a Publish Channel, this will copy the control with its default values to any External System that has that Publish Channel configured (the publish channel does not need to be marked as enabled at the external system level). At the external system level is where the default values can be overridden, if needed, with values specific to that external system. If a control is used for multiple channels (or enterprise services), it is copied down to the external system only once. Values of the control at the external system level apply to all channels/services that are configured to use that control (values are not channel/servicespecific). Controls/Default values copied to External System (2) Another way controls can be copied to an external system is when the publish channel (with associated controls) is added to an external system (where that control was not already associated to the external system via another channel or service). Changing default values of Controls For a control that is already copied (with its default values) to an external system, if the default values are changed (adds/deletes) in the Publish Channels and/or Enterprise Services applications, those changes are not copied down to the external system.
7/29/2013
Page 13
Integration Framework Configuring Integration Controls to customize
your integration processing.
Assign values to the control for an External System Once a control is pushed down to the External system level, the default values can be updated using the Setup Integration Controls option under the Select Action menu within the External Systems application:
The values assigned to the control apply to any use of the control on all channels/services configured for the external system.
7/29/2013
Page 14
Integration Framework Configuring Integration Controls to customize
your integration processing.
In addition, there is an option to provide an override value based on the Site and/or Organization that the transaction is tied to. In the screen shot below, a value of WAPPR was selected for Site BEDFORD for the POSEND control. This allows you to have different values for the control based on the transactions Org or Site.
7/29/2013
Page 15