Advanced Model

From OneCMDB

The Advanced Model, called EmptyAdvancedModel in the Replace Model utility, contains a broad set of templates to describe a data center in detail. The word 'empty' means that it's not prepopulated with demo data (instances).



Model file name 

This model has been designed from a service centric view point. Basically you should be able to drill down from a high-level service (e.g. web server service) to very low-level devices and configurations. Starting from e.g. a Web Server service you can follow references to running applications, on running operating systems, on certain server hardware, with certain NICs and certain network configurations. At each configuration item in this chain you may see references to software being used, person responsible for maintenance, etc.

We have decided to put certain simple configuration in their own templates, typically IP address. Designing this way it becomes obvious in the GUI when e.g. two servers happens to use the same IP, you then see two references to the IP. This wouldn't have been possible if IP address was a string in the Server template.

Another important distinction in the model is that we differ between running Applications and the Software package/files that was used to install the Application. You can se an Application CI as a representation of the process running. Even an Operating System is an running Application and e.g. IP then becomes configuration of the software.

Template tree

Built-in templates have bold font. Built-in templates you don't find in the EmptyAdvancedModel.xml file.

The Root is the master template for all configuration items. A template inherits all the attributes up to the Root. E.g. Server has the attributes defined in Server, Computer System, Hardware Unit, Resource, Ci and Root.

        └─Hardware Unit
           └─Computer System
        └─Hardware Device
           ├─Hard Disk Drive
           └─Operating System
              ├─Red Hat Linux
              └─Microsoft Windows
           └─Server Application
               └─DHCP application
           └─Switch Application
           └─Software Package
              ├─Apache HTTP Server
              ├─Microsoft Windows NT Server
              ├─Microsoft Windows 2003 Server
              ├─Red Hat Feodora
              └─Red Hat Enterprise Linux           
           └─Software Configuration
              └─Software Configuration File
              └─Network Interface                       
           ├─Web Server
        ├─Advanced Data Center
        ├─Application Folder
        ├─Computer Folder
        ├─Hostname Folder
        ├─Hub Folder
        ├─IP Folder
        ├─Network Folder
        ├─Network Interfaces
        ├─NIC Folder
        ├─Service Folder
        ├─Software Folder
        └─Switch Folder
           └─Discover my Network
  └─OneCMDB Configuration

References between templates

The arrow shows the "From" (outbound) references of a template.
Between brackets we show which templates it inherits, this because a reference maybe defined on a higher template level.

Web Server[Service]

Apache[Server Application, Application]
  -(many)->Software Package
  -(many)->Software Configuration
  ->Operating System

Red Hat Feodora[Operating System, Application]
  -(many)->Software Package
  -(many)->Software Configuration
  ->Computer System
  -(many)->Network Interface

Network Interface[Software Configuration, Software]

Server[Computer System, Hardware Unit]
  ->Hard Disk
  ->CPU type

NIC[Hardware Device]

IP[Software Configuration, Software]

More to add...

It's hard to visulize references between templates without also include inheritance
Alternative we describe the templates via an instanciated model

Known problems

  • Desktop and Notebook contains some attributes that only are applicable for hardware that is supposed to be rack mounted.

The old DefaultModel

This model is depricated but many templates and references are the same as for the Advanced Model.

In the following illustration, the blue arrows show inheritance while the black arrows show a reference. An inheritance arrow points from a descendant to its parent.


Community and support