Matching Rules for Service Bus Integration
Matching Rules
Matching Rules for the Service Bus can be defined in the Administration application by clicking the navigation item Integration/Enterprise Service Bus/Matching Rules.The matching criteria rules are required to prevent duplicated objects when systems provide updates to the same object via the Service Bus. If a system sends data which cannot identify an object by the provided matching rules it will create a new object by default.
Basic function:
- Each rule has a list of one or more keys for matching an object
- Keys are defined by one or more criteria separated by comma treated as logical AND.
- The keys are process by their order based on the priority.
- If no key matches a new object is generated.
The initial view shows the list of objects (Entities) with defined matching rule.
Additional matching criteria for other objects can be defined by clicking on “Add Matching Rule”.
Matching Properties
Each rule has next properties:
- Name: a user defined name. It is highly recommended to use a value which describes the schema name used in message;
- Type: the type of schema.
There are two possible values:
-
Configuration Item: is used for rules which process objects in message;
-
Data Definition: is used for rules to process multi fragments in message;
-
- Schema: name of the schema. The value of the schema property depends on value of the type property and should be unique;
- Description: additional info about matching rule;
Matching Keys
Each matching rule also contains list of matching keys used to process messages from the Service Bus.
The Key has the following properties:
- Name: is a user defined name of the matching key.
- Expression: provides a comma separated list (logical AND) of properties used to define the target object in the system. It is a unique key of the canonical model.
- An ! before the item states that is explicitly not set (NULL). This example matches if all but the architecture is provided to an entry which has no architecture set. Otherwise it would match the first Platform where all values are set regardless of the value for the architecture.
- UEMPlatformClassBase.Platform, UEMPlatformClassBase.OperatingSystem, UEMPlatformClassBase.Version, !UEMPlatformClassBase.Architecture, !UEMPlatformClassBase.Edition, !UEMPlatformClassBase.Language, UEMPlatformClassBase.Build
- An ! before the item states that is explicitly not set (NULL). This example matches if all but the architecture is provided to an entry which has no architecture set. Otherwise it would match the first Platform where all values are set regardless of the value for the architecture.
- Priority: provides a natural number for the key priority. Lowest number means highest priority.
- IsEnabled: is a status of key. A key with false value will be ignored during message processing.
Actions
In order to create new matching rule click 'Add Matching Rule'.
In order to update existing rule click 'Edit'.
In order to delete existing rule click 'Delete'.
Use the dialog to add or update the matching rules.
In the dialog panel it is enough to select type and name of schema for basic configuration.
The matching key is a mandatory value for each rule.
Each matching key contains a property or a list of properties divided by comma.
Each matching key property must satisfy one of the following patterns:
Pattern |
Schema Type |
Schema Name |
Example of matching key property |
<DataDefinitionName>.<PropertyName> | Configuration Item | SPSComputerType |
SPSAssetClassMobile. MDMSilverbackDeviceID |
<DataDefinitionName>.<RelationName>.<PropertyName> | Configuration Item | UEMAgentType |
UEMAgentClassBase. Computer. Name |
<DataDefinitionName>.<RelationName>.<T-Relation>.<PropertyName> | Configuration Item | UEMAgentType |
UEMAgentClassBase. Computer. T(SPSAssetClassMobile). MDMSilverbackDeviceID |
<PropertyName> | Data Definition | SPSComputerClassHardDisk | DeviceID |
Examples of matching keys
Type |
Schema Name |
Example of matching key |
Configuration Item | UEMObjectStatusInfoType |
UEMObjectStatusInfoClassBase.UEMObject.UEMObjectID, UEMObjectStatusInfoClassBase.SPSComputer.Name, UEMObjectStatusInfoClassBase.SPSComputer.PrimaryMACAddress, UEMObjectStatusInfoClassBase.SPSComputer.SystemSerialNumber |
Data Definition | SPSInventoryClassApplication |
Name, Version, Manufacturer |