Common Data Model advanced concepts
Advanced concepts for the Common Data Model (CDM) include the following:
Classes in the CDM are organized into a hierarchy. CDM has a common "base class" and all other classes are extensions of the base class. Moving down the hierarchy leads to more specific classes. This is comparable to the way organizations are structured. A typical example of this could be a manager under which you have several team leaders who in turn have team members under them.
For information about the difference between CDM classes and CIs, see the Overview of the Common Data Model .
A class having underlying classes is called a superclass. The underlying class is called subclass. CDM hierarchy also governs grouping classes that are similar, for example hardware components. The following instance diagram explains the CDM hierarchy with an example:
In the above diagram,
BMC_Processor(underlying class) is the subclass and
BMC_HardwareSystemComponentis the superclass.
BMC_Processor represents a CPU in a computer. It defines various attributes that are specific to processors, for example,
NumberOfCores. It is grouped together with BMC_NetworkPortclass, which is similar to BMC_Processor, in terms that both are hardware components. Hence, BMC_Processor and BMC_NetworkPort are grouped under the BMC_HardwareSystemComponentclass.
BMC_SystemComponentis a superclass used to define attributes that are common to all its subclasses. For example,
BMC_SystemComponentclass is a virtual machine (
BMC_Processoris used to represent the processors of both physical machines and virtual machines. In order to represent it as a virtual machines the
isVirtualattribute set to True). All the underlying subclasses of
Because the data model is object oriented, a class can have subclasses that inherit its attributes and the ability to participate in the same relationships. Subclasses are used to further classify a type of CI and give specific attributes to the more granular types. For example, BMC_ComputerSystem has subclasses to represent mainframes, printers, and virtual systems. These subclasses inherit HostName and Domain, and all the other attributes of BMC_ComputerSystem. Inheritance of attributes continues to the end of the tree, so the subclasses also inherit from BMC_System, the class above BMC_ComputerSystem, and from BMC_BaseElement, the base class above BMC_System. An example of attribute inheritance is shown in the following diagram:
CDM is structured in layers, wherein the top layer denotes services, middle layer denotes applications, and bottom layer represents servers. The services layer includes business and technical services. The application layer delivers the services in the services layer. The server layer, comprising physical and virtual infrastructure, delivers the application layer. An example of layered model is shown in the below diagram:
The following table describes CDM classes corresponding to each layer, along with examples:
Home banking, Help Desk, Web sites, E-mail
Custom Banking Application, Sharepoint 2010, Remedy Service Desk, Exchange
BMC_ApplicationSystem, BMC_ApplicationInfrastructure, BMC_ApplicationService
Action Request System, Tomcat Module
Tomcat, Apache webservers, MS SQL Server 2008, LDAP server
Virtual Computers, Compute, Storage and Network Infrastructure
Physical Computers, Compute, Storage and Network Infrastructure
Servers, desktops, laptops, iPads, routers, switches, firewalls, SAN and NAS storage, ESX servers
Subcomponents of Computer Systems
BMC_OperatingSystem, BMC_Product, BMC_IPEndpoint, BMC_LANEndpoint, BMC_HardwareSystemComponents and subclasses BMC_LogicalSystemComponent and subclasses
This structure is not reflected in every model built using the CDM. Some variation is likely depending on a specific scenario. For example, the virtual hardware layer may not exist. Also the number of application layers could vary depending on the complexity of the application being modeled.