Grouping patterns configuration
You can control the process of business application creation by using grouping patterns configuration. The configuration allows you to include or exclude chosen relations during data traversal and chosen classes from resulting business applications. You can also change the dependency direction for relations that are defined in Common Data Model, and assign tiers to business application elements.
Grouping patterns configuration is stored in an XML format in the database. You can export the configuration to the XML file, and import it from the XML file.
Grouping patterns can be assigned to the default configuration and a customized configuration. The default configuration applies to all grouping patterns and is loaded when TADDM is started, but the customized configuration has a higher priority. It means that when a grouping pattern is attached to an customized configuration, the default configuration applies in all cases that are not specified by the customized grouping pattern configuration. For more details about creating customized configurations, see Attaching a custom configuration to a grouping pattern.
- general
- contains configuration that defines additional logging level details and maximum hops number.
- compositionConfiguration
- defines these elements that are visible as business application
elements. The following subsections are available:
- includeInComposition
- excludeFromComposition
- traversalConfiguration
- allows you to exclude or include particular relations or dependencies
during creation process of business applications. The following subsections
are available:
- excludedRelationships
- includedRelationships
- tiers
- is used to create functional group names in business applications that are compatible with earlier versions.
- directions
- denotes dependency direction for relations that are defined in Common Data Model. It can be a part of the default configuration only.
<?xml version="1.0" encoding="UTF-8" ?>
<xml>
<tiers>
...
<tier>
<name>Computer Systems</name>
<rule>
<className>ComputerSystem</className>
</rule>
</tier>
...
</tiers>
<traversalConfiguration>
<excludedRelationships>
<exclude relation="{any}" source="customCollection.CustomCollection" target="{any}"/>
<exclude relation="{any}" source="customCollection.GroupingPattern" target="{any}"/>
<exclude relation="{any}" source="{any}" target="customCollection.GroupingPattern"/>
<exclude relation="{any}" source="customCollection.Path" target="{any}"/>
...
</excludedRelationships>
</traversalConfiguration>
<compositionConfiguration>
<includeInComposition>
<include type="simple.SComputerSystem"/>
<include type="simple.SDeployableComponent"/>
<include type="simple.SFunction"/>
<include type="simple.SGroup"/>
<include type="simple.SSoftwareServer"/>
</includeInComposition>
<excludeFromComposition>
<exclude type="customCollection.GroupingPattern" />
<exclude type="app.FunctionalGroup" />
</excludeFromComposition>
</compositionConfiguration>
<directions>
<forwardRelationships>
<forward relation="only relation.Provides" source="sys.blade.BladeCenterManagementModule" target="sys.blade.Alert"/>
<forward relation="only relation.Provides" source="sys.vmware.VMWareVirtualSwitch" target="sys.vmware.VMWarePortGroup"/>
<forward relation="only relation.Provides" source="app.AppServer" target="app.JVM"/>
...
</forwardRelationships>
<reverseRelationships>
<reverse relation="only app.dependencies.SwitchToDevice" source="{any}" target="{any}"/>
<reverse relation="only relation.ControlsAccess" source="{any}" target="{any}"/>
<reverse relation="only relation.Contains" source="{any}" target="{any}"/>
...
</reverseRelationships>
</directions>
</xml>- Any type (
"{any}") - it matches any class from Common Data Model. - Class name - it matches a particular class and all of its subclasses.
- Class name only (
only) - it matches a particular class only, without any of its subclasses.
Excludes from traversal all types of relations from ComputerSystem and all its subclasses to any target class from Common Data Model.<exclude relation="{any}" source="sys.ComputerSystem" target="{any}"/>
Excludes from traversal a relation InvokedThrough (but not its subclasses) between MQLocalQueue and MQChannel (and their subclasses).<exclude relation="only relation.InvokedThrough" source="app.messaging.mq.MQLocalQueue" target="app.messaging.mq.MQChannel"/>
You can provide a class name as a short class name or a fully qualified class name. For example,
you can use sys.linux.LinuxUnitaryComputerSystem instead of
com.collation.platform.model.topology.sys.linux.LinuxUnitaryComputerSystem.
Class name is not case-sensitive.