Professional Documents
Culture Documents
03
August 2010
www.bmc.com
Telephone
Fax
Fax
If you have comments or suggestions about this documentation, contact Information Development by email at
doc_feedback@bmc.com.
Customer Support
You can obtain technical support by using the Support page on the BMC Software website or by contacting Customer
Support by telephone or email. To expedite your inquiry, please see Before Contacting BMC Software.
Support website
You can obtain technical support from BMC Software 24 hours a day, 7 days a week at
http://www.bmc.com/support. From this website, you can:
Read overviews about support services and programs that BMC Software offers.
Find the most current information about BMC Software products.
Search a database for problems similar to yours and possible solutions.
Order or download product documentation.
Report a problem or ask a question.
Subscribe to receive email notices when new product versions are released.
Find worldwide BMC Software support center locations and contact information, including email addresses, fax
numbers, and telephone numbers.
Product information
Product name
Product version (release number)
License number and password (trial or permanent)
Machine type
Operating system type, version, and service pack
System hardware configuration
Serial numbers
Related software (database, application, and communication) including type, version, and service pack or
maintenance level
Messages received (and the time and date that you received them)
Product error messages
Messages from the operating system, such as file system full
Messages from related software
In the United States and Canada, call 800 537 1813. Outside the United States and Canada, contact your local support
center for assistance.
Contents
About this book
11
17
Contents
18
19
19
19
20
20
24
25
25
26
27
27
28
28
28
29
30
30
31
32
32
33
33
34
34
34
36
36
37
37
38
Chapter 2
Planning a CMDB
39
45
Chapter 4
67
68
68
70
71
72
72
72
75
75
77
81
82
83
84
84
89
89
90
90
92
92
Chapter 5
93
99
Identifying instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Comparing datasets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Merging datasets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using a single Merge activity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using independent Merge activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Other reconciliation activities. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Combining activities as a job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Qualification groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Contents
100
101
101
102
103
105
105
106
Chapter 7
107
117
Chapter 9
145
146
146
147
150
152
155
155
155
156
Glossary
157
Index
167
Contents
10
Chapters
11
Prerequisite documentation
Before planning your CMDB, read the Step-by-Step Guide to Building a CMDB,
published by BMC Software. Organized into stages, this guide provides practical
guidance for structuring a CMDB project and delivering a comprehensive and
useful CMDB. The stages are divided into steps, each with objectives that help you
meet the milestone for that stage. You can request this book from http://
www.bmc.com.
Also consider taking BMC Educational Services companion course ITIL V3:
Practical Steps to Building a CMDB, which shows how to build a CMDB based on
best practices from the IT Infrastructure Library (ITIL) Version 3.
Description
Audience
BMC Atrium CMDB 7.6.03 Information about setting permissions, configuring Configuration managers,
Administrator's Guide
federation, modifying the data model, configuring application administrators,
an impact model, and other administrative tasks in and asset analysts.
BMC Atrium CMDB.
BMC Atrium CMDB 7.6.03 Hierarchical diagram of all classes in the Common Configuration managers,
Common Data Model
Data Model (CDM) including unique attributes and application administrators,
Diagram
applicable relationships.
and asset analysts.
BMC Atrium CMDB
7.6.03 Data Model Help
Configuration managers,
application administrators,
and asset analysts.
12
Title
Description
Audience
BMC Atrium CMDB 7.6.03 Information about normalizing data in BMC Atrium Configuration managers,
Normalization and
CMDB and reconciling CIs from different data
application administrators,
providers into a single production dataset.
and asset analysts.
Reconciliation Guide
BMC Atrium CMDB
7.6.03 Online Help
Configuration managers,
application administrators,
asset analysts, and users
that work with CIs and need
to understand the
Note: This Help is provided in HTML and is available
relationships that exist
through the Help links in the BMC Atrium CMDB
within BMC Atrium CMDB.
user interface. It is not available on the BMC
Customer Support site.
BMC Atrium CMDB 7.6.03 Information about using BMC Atrium CMDB,
User's Guide
including searching for and comparing CIs and
relationships, relating CIs, viewing history, running
impact simulations, and viewing federated data.
Configuration managers,
application administrators,
and asset analysts.
Application administrators
and programmers.
Application administrators.
Application programmers.
13
Title
Description
Audience
Everyone.
Configuration managers,
application administrators,
and asset analysts.
Application administrators
Information about using BMC Atrium Core Web
and programmers.
Services, including how to publish and find
interfaces in the Web Services Registry, set versions,
disambiguate web services, configure security
policies and encryption, and use BMC Atrium Core
Web Services data structures and operations.
Note: This Help is provided in HTML and is available
BMC Atrium Integration Help for using and configuring BMC Atrium
Engine 7.6.03 Online Help Integration Engine.
14
Title
Description
Audience
Configuration managers,
application administrators,
and asset analysts.
15
16
Chapter
This section introduces and describes the components of BMC Atrium Core,
including BMC Atrium CMDB.
The following topics are provided:
17
18
19
20
Suite Rollup featureAllows you to define suites and their products and to
identify instances as a suite, a suite component, or a standalone application. This
allows more accurate management of suite and individual licenses.
With the Normalization Engine, you can define what is normalized and when. You
can select the BMC Atrium CMDB classes to normalize and the attributes for each
class. You can also choose which datasets are normalized. For more information
about normalization, see the BMC Atrium CMDB 7.6.03 Normalization and
Reconciliation Guide.
Identifying class instances that are the same entity in two or more datasets
Merging datasets
Additionally, the Reconciliation Engine has default reconciliation rules that
simplify the creation of reconciliation jobs and a continuous or near real-time
reconciliation mode to support dynamic changes in your environment. The
Reconciliation Engine provides other functionality with the following activities:
21
The BMC Atrium CMDB data model is object oriented, which means that it has a
hierarchical set of classes in which each class inherits attributes from its
superclassthe class above it in the hierarchyand then adds its own attributes to
create a more specific type of object, a subclass. The benefits of an object-oriented
data model include enforcement of common attributes among similar types of CIs
and the ability to search within not just a given class of CIs, but within any branch
of the hierarchy. From a base class from which all others are derived, you can
search for all CIs or all relationships.
The BMC Atrium CMDB data model is also extensible. Your infrastructure, and the
technology that comprises it, is constantly changing. That means the types of CIs
and relationships in your CMDB must also change, so you need a data model that
is extensible. You can add attributes to your classes, and even add classes.
Subclasses can have their own subclasses, extending the hierarchy to the level of
detail that you want to track.
The Common Data Model (CDM) is the set of CI and relationship classes that ships
with BMC Atrium CMDB. These classes are complete enough to model nearly
everything in your IT environments. All classes in the CDM reside in the BMC.CORE
namespace.
For consistency with industry standards developed to track and manage this type
of information, the CDM is based on the Common Information Model (CIM) from
the Distributed Management Task Force (DMTF) and Microsoft Windows
Management Instrumentation (WMI). The CDM adopted much of the basic design
of the CIM and WMI without detailing the internal workings of systems. For a
graphic of the CDM, see the BMC Atrium CMDB 7.6.03 Common Data Model
Diagram.
Best practices for modeling your environment in the CDM are available in the BMC
Atrium CMDB 7.6.03 Data Modeling Guide and BMC Atrium CMDB 7.6.03 Data
Model Help.
23
Any application (BMC or non-BMC) can use the Product Catalog to identify a
single name for a software application and its versions, which in turn supports
license compliance and provisioning. The Product Catalog is used to normalize
discovered data, both the name and categorization of software products.
You can also use the Product Catalog to manage the products in your environment,
specifying a product version as approved, unapproved, or blacklisted. The
Definitive Media Library (DML) is the set of software in the Product Catalog that
are approved for your organization to use.
The Product Catalog defines the files and suites associated with each software
product, and it enables you to specify the location of the master copies that are
used to install the products. For more information, see the BMC Atrium Core 7.6.03
Product Catalog and DML Guide and BMC Atrium Core 7.6.03 Web Services Help.
24
BMC Atrium
Integration Engine
Atrium Integrator
Import
datasets
Normalization
Engine
Reconciliation
Engine
BMC Atrium
CMDB
Production
dataset
Other
Consumers
BMC Remedy
Asset Mgmt
Sandbox
dataset
Federated
data
BMC Atrium
Product Catalog
At the center of BMC Atrium Core is BMC Atrium CMDB. BMC Atrium CMDB
uses a federated data model, featuring a centralized database linked to other data
stores, to share configuration data without the high setup and maintenance costs
associated with a pure centralized approach.
The Normalization Engine makes sure that data from different data providers is
consistent in BMC Atrium CMDB. After data is normalized, it can be reconciled
and saved to the BMC Atrium CMDB production dataset.
NOTE
It is a best practice to normalize data prior to reconciliation.
25
The Reconciliation Engine merges data from multiple import datasets into the
BMC Asset dataset. This consolidated view of your data is the production dataset
that data consumers should use and on which you should base business decisions.
BMC Remedy Asset Management displays data from the BMC Asset dataset by
default. If you manually edit data using BMC Remedy Asset Management, you
should save those changes to the BMC.ASSET.SANDBOX dataset rather than writing
them directly to the BMC Asset dataset, thereby enabling the changes to be
reconciled with those from all active import datasets.
26
Data partitioning
Partitioning is dividing your configuration data into subsets, each representing a
logical group of CIs and relationships. In BMC Atrium Core, these partitions are
called datasets. The same real-world object or relationship can be represented by
instances in more than one dataset. For example, different discovery applications
can create CI and relationship instances in different datasets. You can later merge
those instances into a single production dataset.
This is important for the goal of verifying and correcting configuration records
against the infrastructure. You can create one dataset representing your intended
configuration, then use a discovery application to create another dataset
representing your actual configuration, and verify the former against the latter.
Federation
BMC Atrium CMDB uses a federated data model, which means that you can keep
some data in managed data repositories in lieu of populating BMC Atrium CMDB
with all your data. The most common types of federated data are related
information and detailed attributes. Related information is information about a CI
that does not itself qualify as a CI and therefore should not be stored in a CMDB.
Detailed attributes are attributes of CIs stored in BMC Atrium CMDB, but they are
attributes that are not important enough to track at the level of a CMDB.
NOTE
For information about what qualifies as a CI, see Configuration items on
page 68.
For related information, your CI records for software instances might link to the
URL of an intranet page where the software license is posted, or each CI record
might link to information necessary to search a problem database for all problems
concerning that CI.
27
For detailed attributes, the CMDB record for an employee might have a Skills
attribute that contains a list of the employees skills and a Department attribute
that contains the employees department name. It might also link to an HR
database where additional attributes, like Salary, that are not really important
from a configuration perspective are stored.
Federated data might be stored in a discovery database, a Capacity Management
system, an Availability Management system, or other external data stores. You can
retrieve federated data and view it with Atrium Explorer, as if it were stored in
BMC Atrium CMDB. The BMC federated data model enables you to connect to
JDBC compliant databases, CMDBf-compliant CMDBs, and BMC Remedy
AR System forms.
The CMDB
The CMS DataRelated data and additional detail linked to or from the CMDB
The CMS EnvironmentApplications that interact with the other two layers
Figure 1-4 illustrates these layers.
Figure 1-4: CMS infrastructure
CMS Environment
Applications
Capacity
Management
SLA Management
Software Config.
Management
Change
Management
Application
Management
Discovery
Application 1
Service Impact
Management
Asset
Management
Identity
Management
Discovery
Application 2
Help Desk
Incident
Management
Provisioning
Problem
Management
Managed by
Requests
for
Configuration
Data
Requests
CMS Data
Additional
CI detail
Federated CI
Data
Contracts
Definitive
Media Library
Help Desk
Tickets
Service Level
Agreements
Other Data
Related to CIs
Links between
records
CMDB
Configuration
items and their
relationships
29
30
The CMDB can focus its functionality on CIs and their relationships. This
functionality includes partitions for data from multiple sources, reconciliation
of that separate data, and federated data.
You do not have to modify the CMDB to hold related data. With the boundary
drawn at CIs and their relationships, the question of whether to store some new
type of data in the CMDB is already answered. You store it instead as part of the
CMS Data layer, and save the trouble of changing the data model in the CMDB
to accommodate the new type of data. You also avoid pitfalls inherent in
trimming the data model if you later decided to move data out of the CMDB.
Data is provided more efficiently. Instead of getting all their data from the
CMDB, data consumers can get it from individual data stores that are optimized
to provide the specific type of data being requested.
The CMDB does not become a bottleneck. With requests for related data on its
own being handled by other databases, the CMDB does not have to
accommodate all such traffic in addition to CI-related requests. You can spread
the load across multiple systems.
Though your CMS Data layer can be a single data store, you do not have to store
the data this way. The different types of data in the CMS Data layer are not
necessarily linked to or related to each other. The only thing they must have in
common is a link to or from the CMDB.
CMS Environment
Where the CMS Data layer contains data, the CMS Environment is devoted to the
applications that provide and consume that data. These applications can access the
CMDB, the CMS Data, or both. For example, an Asset Management application
that views and modifies CI instances in the CMDB is part of the CMDB
Environment as a consumer, and a discovery application that creates CI instances
in the CMDB is part of the CMDB Environment as a provider.
These applications sometimes store their information in their own databases, but
the two are still considered to be part of different layers of the CMS infrastructure.
An application is part of the CMS Environment, whereas its configuration-related
data is part of the CMS Data. Of course, applications in the CMS Environment can
also access data unrelated to CIs. This data is not part of the CMS Data.
Chapter 1 About BMC Atrium Core
31
Web clients
Other API
programs
AR System APIs
CMDB APIs
AR System server
CMDB forms
(Console and
classes) and
workflow
Other forms
and workflow
Database
AR System data,
including CMDB data
32
CMDB engine
For more information about BMC Remedy AR System applications, forms, and
other concepts, see BMC Remedy Action Request System 7.6.03 Form and Application
Objects Guide.
33
Purpose of SACM
According to the ITIL Service Transition manual, the purpose of SACM is to:
Identify, control, record, report, audit, and verify service assets and
configuration items, including versions, baselines, constituent components,
their attributes, and relationships.
Account for, manage, and protect the integrity of service assets and
configuration items (and, where appropriate, those of its customers) through the
service lifecycle by ensuring that only authorized components are used and only
authorized changes are made.
Protect the integrity of service assets and configuration items (and, where
appropriate, those of its customers) through the service lifecycle.
Ensure the integrity of the assets and configurations required to control the
services and IT infrastructure by establishing and maintaining an accurate and
complete Configuration Management System (CMS).
Goals of SACM
According to the ITIL Service Transition manual, SACM pursues the following
goals:
Benefits of SACM
Achieving the goals of SACM can benefit your organization in significant,
measurable ways related to control, integration, and decision support.
Control
Verifying and correcting configuration records gives you a greater degree of
control over your infrastructure. For example, by controlling the versions of
configuration items, you reduce the complexity of your environment, and in turn
your support costs. Items that disappear or that appear without being paid for are
noticed, helping you control assets and avoid legal issues. Exercising greater
control over your environment also means that you can increase overall security.
34
Integration
When processes such as Incident Management, Problem Management, Change
Management, and Release and Deployment Management are based on a current
record of your configuration, they can be integrated, as shown in Figure 1-6 on
page 35. This reduces administrative costs and errors. For example, you might
integrate Incident Management and Change Management processes in the
following ways:
Service Level
Management
Release and
Deployment
Management
Change
Management
CMS
Service Asset
and
Configuration
Management
Capacity
and Demand
Management
Decision support
Your IT managers benefit from having accurate configuration information
mapped to your Service Management processes. Making decisions is easier when
you have complete and accurate data, resulting in better resource and performance
estimates. You can commit to service levels more confidently, and your risk
management improves, reducing unplanned downtime.
35
36
Description
Online banking
Discount equity
brokerage
Sales force
automation
Customer support
Mass Marketing
37
38
Chapter
Planning a CMDB
This section provides best practices for planning with BMC Atrium Core products.
This involves planning the BMC Atrium CMDB population and normalizing and
reconciling data.
The following topics are provided:
Chapter 2
Planning a CMDB
39
Chapter 2
Planning a CMDB
41
Challenges
Challenges to SACM include:
Persuading technical support staff to adopt a checking in/out policy, which can
be perceived as a hindrance to a fast and responsive support service. If the
positives of such a system are not conveyed adequately then staff might be
inclined to try to circumvent it.
Attracting and justifying funding for SACM, since it is typically out of sight to
the customer units empowered with funding control. In practice it is typically
funded as an invisible element of Change Management and other ITSM
processes with more business visibility.
Lack of commitment and support from management who do not understand the
key role it must play supporting other processes.
Setting a justified level of accuracy, that is, the correlation between the logical
model within SACM and the real world.
Making use of enabling technology to automate the CMS practices and enforce
SACM policies.
Risks
Risks to successful SACM include:
The temptation to consider it technically focused, rather than service and bsiness
focused, since technical competence is essential to its successful delivery.
The CMS becomes out of date due to the movement of hardware assets by nonauthorized staff. Half-yearly physical audits should be conducted with
discrepancies highlighted and investigated. Managers should be informed of
inconsistencies in their areas.
Chapter 2
Planning a CMDB
43
44
Chapter
This section explains the purpose and structure of the BMC Atrium CMDB data
model. It defines the Common Data Model (CDM) and offers best practices for
extending the model.
The following topics are provided:
45
Attribute inheritance
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 storage subsystems. 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. Figure 3-1 on page 47 shows some of the attributes inherited
along this part of the tree.
46
BMC_System
AccountID
ManufacturerName
isVirtual
BMC_ComputerSystem
AccountID
ManufacturerName
isVirtual
HostName
Domain
BMC_Printer
AccountID
ManufacturerName
isVirtual
HostName
Domain
AveragePagesPerMinute
PaperSizesSupported
47
Source acts as
Destination acts as
BMC_Dependency
Antecedent
Dependent. Depends on
antecedent.
BMC_HostedSystemComponents
Host
Relationship cardinality
Every relationship class has a cardinality that defines how many instances of the
source class can be related to each instance of the destination class and vice versa.
BMC Atrium CMDB enforces this cardinality.
One to oneEach instance of the source class can have this relationship with
one instance of the destination class.
One to manyEach instance of the source class can have this relationship
with multiple instances of the destination class.
Many to oneMultiple instances of the source class can have this relationship
with each instance of the destination class.
Many to manyEach instance of the source class can have this relationship
with multiple instances of the destination class, and vice versa.
Fulfilling a many cardinality means that multiple instances of the relationship
exist.
Weak relationships
If a relationship is a weak relationship, its destination member, called the weak
member, cannot exist without its source member, called the strong member. A
weak relationship creates a logical composite object consisting of both member CIs.
You can extend this composite object by adding more weak relationships either
from the source to other destinations or from the destination, acting as a source this
time, to destinations a level below.
You can choose to act on these composite objects during certain reconciliation
activities. For example, BMC_HostedSystemComponents is a weak relationship
commonly used to relate a computer system to its components. If you copy
instances of BMC_ComputerSystem from one dataset to another, you can choose
whether instances of BMC_Monitor and other components related to those
computer systems are copied automatically to preserve the composite objects,
even though BMC_Monitor was not specified as a class to be copied by the activity.
48
You can also propagate attributes from the strong side to the weak side of a weak
relationship. This means that an attribute from the source CI is mapped to an
attribute from the destination CI so that for every instance of the relationship,
whenever the value changes in that attribute of the source, that value is also
written to the corresponding attribute on the destination. This enables you to
search for an instance of a destination member, such as a disk drive, and get
information about the computer system in which it is installed without having to
follow the relationship and read the computer system instance.
For instructions about propagating attributes for weak relationships, see the BMC
Atrium CMDB 7.6.03 Administrator's Guide.
NOTE
Cascading delete does not work in reverse. When you unmark a CI that was
previously marked as deleted, only the CI on which you set MarkAsDeleted to
NULL or No (BMC recommends NULL) is restored. For example, if you unmark a
computer system, it is restored, but its components, such as disk drives and
memory, remain deleted. To restore the components as well, you must unmark
each of them.
Use cascading delete carefully, because it can have far-reaching effects. Deletions
are cascaded all the way down to destination CIs at the end of a relationship chain,
and this happens for every instance of a relationship class that has cascading delete
enabled.
49
Regular
Categorization
Abstract
Abstract with data replication
Regular classes
A regular class stores the data for its attributes in its own BMC Remedy AR System
form. If it is a subclass, that form is a join form that joins the attributes of the
superclass with the attributes unique to the subclass.
Figure 3-2 shows the forms for a new regular class, with the lines representing a
join between the superclass and the form containing the uninherited attributes of
the new class.
Figure 3-2: Regular class
Superclass (SupC) form
SupC_Attribute1
SupC_Attribute2
SupC_Attribute3
SupC_Instance1
[value]
[value]
[value]
NC_Instance1
[value]
[value]
[value]
NC_Instance2
[value]
[value]
[value]
NC_Attribute2
NC_Instance1
[value]
[value]
NC_Instance2
[value]
[value]
NC_Attribute1 NC_Attribute2
NC_Instance1
[value]
[value]
[value]
[value]
[value]
NC_Instance2
[value]
[value]
[value]
[value]
[value]
By searching in the superclass form, you can find instances of both the superclass
and the subclass. This is a useful way to search when you do not know which class
an instance is stored in. However, you must then go to the subclass form to see all
attributes of the instance.
An example of a regular class in the CDM is BMC_ComputerSystem.
50
Categorization classes
A categorization class does not have its own BMC Remedy AR System regular
form. Its uninherited attributes are added to the form of its superclass. Instances of
the superclass leave these subclass attribute fields blank, whereas instances of the
subclass use them. Because of this, no attributes of a categorization class can be
required attributes.
A categorization class does have its own join form, though this is only for the
purpose of providing a form (and SQL view) that uses the actual class name. The
join form is a join of the superclass form and a stub form with no records, and is
not part of the inheritance tree. Any subclasses of the categorization class are
joined to the superclass form, not the join form.
Figure 3-3 shows the forms for a new categorization class. The superclass form has
one column containing an attribute from the categorization class. The instance of
the superclass does not have a value in this column, whereas the instances of the
new class do.
Figure 3-3: Categorization class
Superclass (SupC) form
SupC_Attribute1
SupC_Attribute2
SupC_Attribute3
SupC_Instance1
[value]
[value]
[value]
NC_Attribute1
NC_Instance1
[value]
[value]
[value]
[value]
NC_Instance2
[value]
[value]
[value]
[value]
Stub form
[value]
[value]
[value]
[value]
NC_Instance2
[value]
[value]
[value]
[value]
This data storage method avoids adding a database join to its subclasses. A join
form is still created for the purpose of giving the categorization class a form (and
therefore a database view) that uses its name, but that form is joined to a stub form
and is not used by any subclasses.
Because the superclass holds the instance data for a categorization class, that
superclass cannot be an abstract class.
As with a regular class, you can search in the superclass form of a categorization
class and find instances of both the superclass and the subclass. But with a
categorization class, you have access to all the attributes of that subclass.
An example of a categorization class in the CDM is BMC_Memory.
51
Abstract classes
An abstract class does not have its own BMC Remedy AR System form and cannot
hold any instances. It exists only to organize subclasses, enabling you to add a
layer of organization without a database join.
NOTE
Abstract classes are not commonly used. They are intended for special cases.
Figure 3-4 shows the forms for a new abstract class with two regular subclasses.
The lines represent the joins between the superclass and the forms containing the
new subclasses attributes.
Figure 3-4: Abstract class
Superclass (SupC) form
SupC_Attribute1 SupC_Attribute2
SupC_Instance1
[value]
[value]
SubC1_Instance1 [value]
[value]
SubC2_Instance1 [value]
[value]
NC_Attribute2
Subclass 1
(SubC1) form
NC_Attribute1 NC_Attribute2
SubC1_Instance1 [value]
[value]
SubC1_Attribute1
[value]
[value]
NC_Attribute1 NC_Attribute2
SubC1_Attribute1
[value]
[value]
[value]
Subclass 2
(SubC2) form
NC_Attribute1 NC_Attribute2
SubC2_Instance1 [value]
[value]
SubC2_Attribute1
[value]
[value]
NC_Attribute1 NC_Attribute2
SubC2_Attribute1
[value]
[value]
[value]
52
[value]
[value]
SubC1_Instance1 [value]
[value]
SubC2_Instance1 [value]
[value]
NC_Attribute2
NC_Attribute2
SubC1_Instance1 [value]
SupC_Attribute1 SupC_Attribute2
[value]
[value]
[value]
SubC2_Instance1 [value]
[value]
[value]
[value]
Subclass 1
(SubC1) form
NC_Attribute1 NC_Attribute2
SubC1_Instance1 [value]
[value]
SubC1_Attribute1
[value]
[value]
NC_Attribute1 NC_Attribute2
SubC1_Attribute1
[value]
[value]
[value]
Subclass 2
(SubC2) form
NC_Attribute1 NC_Attribute2
SubC2_Instance1 [value]
[value]
SubC2_Attribute1
[value]
[value]
NC_Attribute1
NC_Attribute2
SubC2_Attribute1
[value]
[value]
[value]
There are no examples of an abstract class with data replication in the CDM.
Chapter 3 Planning the data model
53
54
Description
BMC_BaseElement
As the superclass for all other CI classes, BMC_BaseElement is key to the design
of the CDM. Though you are unlikely to create any instances of this class, you can
use its form as a single place to query for all configuration items. Attributes of this
class are inherited by all CI classes.
In addition to the attributes such as Name that you populate for all CIs,
BMC_BaseElement contains the core attributes such as InstanceId,
ReconciliationIdentity, and ClassId that are populated automatically by
BMC Atrium CMDB. It even includes several display-only attributes for which
values are set temporarily and then discarded.
BMC_AccessPoint
The BMC_AccessPoint class represents the ability to use or invoke a service. Its
subclasses include different types of endpoints, such as IP endpoints and LAN
endpoints.
BMC_Collection
The BMC_Collection class and its subclasses store information about physical
collections, such as subnets and LANs, and logical collections, such as roles and
user communities.
BMC_Document
BMC_Equipment
The BMC_Equipment class stores information about physical equipment that is not
related to computing. This can include buildings, vehicles, and other facilities
items.
BMC_LogicalEntity
BMC_Person
The BMC_Person class stores information about the people who manage and
depend on the other CIs in your environment.
BMC_Settings
The BMC_Settings class is an abstract class under which you can create
subclasses to provide detailed settings information about a managed element.
BMC_System
The BMC_System class is the superclass for systems such as computer systems,
mainframes, application systems, clusters, printers, virtual systems, and network
devices. These systems aggregate a set of managed components.
BMC_SystemComponent The BMC_SystemComponent class stores information about the components that
compose a system. This includes physical components like disk drives, monitors,
and so on; applications like MS Word; and other soft elements like network drivers
and file shares.
BMC_SystemService
55
Relationship classes
Table 3-3 describes the BMC_BaseRelationship relationship class and its
subclasses in the CDM. Most relationship classes have subclasses that help further
define a relationship. These subclasses, which are all categorization classes, can
have additional attributes, but most often they further define a relationship only
by using different CI classes as their members.
Table 3-3: Relationship classes in the Common Data Model
Class
Description
BMC_BaseRelationship
BMC_Component
BMC_Dependency
BMC_ElementLocation
relationship, instantiate any other relationship class and set the HasImpact
attribute to Yes. This strategy reflects the fact that members of any type of
relationship can impact each other.
BMC_Genealogy
56
Description
BMC_FederatedBaseElement
BMC_FederatedBaseRelationship
TIP
In version 7.6.03, the Normalization Engine now has the ability to set relationship
Name values according to the Relationship Normalization table. For more
information about this, see the BMC Atrium CMDB 7.6.03 Normalization and
Reconciliation Guide.
57
58
Perform the work using the Class Manager, an API program, or the cmdbdriver
program. Never make those changes directly on class forms using BMC Remedy
Developer Studio. Modifying the BMC Atrium CMDB data model requires
more than just editing a form, and you might break some functionality.
You can use BMC Remedy Developer Studio to modify field layout and labels.
Because a CMDB gets its value by sharing data among applications, make your
extensions as widely useful as possible, so that they can meet multiple needs.
Avoid extensions that narrowly cater to one application, even for high-volume
uses.
Do not create classes more than five database join levels deep. For information
about the classes that use joins, see BMC Atrium CMDB data storage methods
on page 50.
59
The CMDB should hold only common CIs and their relationships. Adding classes
and attributes for unimportant CIs taxes your CMDB. Also, creating too many
subclasses can leave you with classes so narrowly defined that they hold very few
instances. Balance the need for categorization with the need to store similar CIs
together.
How the Category, Type, and Item attributes extend the data model
To further categorize a CI class that has the specific attributes that you need,
consider using the existing Category, Type, and Item attributes instead of creating
attributes or subclasses. These attributes are part of the BMC_BaseElement class
and are thus inherited by all other CI classes. You can use them to provide levels
of categorization for instances of a class without the performance cost of a subclass.
For example, the class BMC_PointingDevice does not distinguish between a wired
mouse and a wireless mouse. To make this distinction in your data, you do not
need to create subclasses called YourModel_WiredPointingDevice and
YourModel_WirelessPointingDevice. Just populate the Item attribute with
Wired or Wireless when creating instances of BMC_PointingDevice.
NOTE
Because this categorization strategy uses a single class, the different categories,
types, and items cannot have relationships to different classes. To have different
relationships for each Category, Type, and Item, create subclasses for them
instead of using this strategy.
NOTE
When you add attributes to your data model, the new attributes are not
automatically picked up by BMC Software products that use BMC Atrium CMDB,
such as BMC Impact Solutions or BMC Remedy Asset Management. To use the
new attributes with one of these applications, you must customize the application.
For more information, see Making data model changes visible to applications on
page 64.
60
NOTE
When you add classes to your data model, the new classes are not automatically
picked up by BMC Software products that use BMC Atrium CMDB, such as BMC
Impact Solutions or BMC Remedy Asset Management. To use the new classes with
one of these applications, you must customize the application. For more
information, see Making data model changes visible to applications on page 64.
61
62
63
Name a new class with a prefix other than BMC_ to identify it as your own, and
make the name descriptive.
Give an attribute an Attribute Name that is unique across your entire data
model.
Give attributes a Field ID greater than 536870911 or leave this field blank to
automatically generate an ID. Specifying a value greater than 536870911 enables
you to create custom BMC Remedy AR System workflow on the field and share
the workflow between forms, because you can give the same ID to a field on
another form.
It is better to give attributes a Field ID that is unique across your entire data
model; therefore you should share workflow only between a BMC Atrium
CMDB form and a form that is not part of BMC Atrium CMDB. See the BMC
Remedy AR System documentation for information about sharing workflow
and other benefits of specifying a Field ID.
BMC Software reserves numbers 536870911 and lower.
64
65
66
Chapter
Chapter 4
67
Configuration items
CIs are the focal point of a CMDB. Without a clear definition of what qualifies as a
CI, you will constantly struggle with deciding whether to put certain kinds of data
into the CMDB. Simply put, a CI is an instance of an entity that is part of your
environment and has configurable attributes specific to that instance. These
entities can be physical (such as a computer system), logical (such as an installed
instance of a software program), or conceptual (such as a business service). But
they must be a direct part of your environment, rather than information about such
a part. Table 4-1 gives some examples to illustrate this boundary:
Table 4-1: Example CIs and non-CIs
Configuration items
A business service is part of your environment An incident ticket has configurable attributes but is
and has configurable attributes, such as criticality
not a direct part of your environment. It is
to the business and cost of interruption of service.
information about other entities (a computer system,
for example) that are part of your environment.
A computer system is part of your environment
and has configurable attributes, such as serial
A software package is not part of your
number, processor speed, and IP address.
environmentonly installed instances of it areand
is usually stored in the Definitive Media Library
A building is part of your environment and has
(DML).
configurable attributes, such as number of rooms,
climate control system, and alarm system.
An event does not have configurable attributes and is
not part of your environment.
An employee is part of your environment and has
configurable attributes, such as skills, hours, and
department.
A software instance installed on a computer
system is part of your environment and has
configurable attributes, such as license key, patch
level, and licenses available.
Of course, not everything that qualifies as a CI is worth tracking. For example, you
probably will not create records in the CMDB for all the office chairs in your
organization.
68
CI eligibility matrix
Consider creating a CI eligibility matrix to help you make decisions about which
items in your IT environment should be CIs. A CI eligibility matrix lists each CI
candidate, its CI type (such as infrastructure or service), and several eligibility
criteria to consider as part of your decision-making for CI candidates. Specific
eligibility criteria vary according to the needs of your business, but consider using
some of the following criteria:
Chapter 4
69
The CI candidate must also meet at least one of eligibility criteria A (under
change control), B (used for impact modeling), or C (used by the Support team).
After completing the CI eligibility matrix, the Calbro Services CMDB
implementation team decided to make CIs for all CI candidates except the Person
and Role candidates. Those candidates met the first requirement by meeting both
criteria D and E, but they failed the second requirement by not meeting any of
criteria A, B, or C.
Figure 4-1: Calbro Services example CI eligibility matrix
NOTE
The use of relationships is a critical feature that makes a CMDB a powerful tool,
and is a significant difference between a CMDB and an asset store.
Relationships can be simple, such as a disk drive being a component of a computer
system, or more complex, like those shown in Figure 4-2:
Figure 4-2: Example relationships
Dependency
Online store
(service)
Server group
(collection)
Dependency
Dependency
Shopping cart
(software)
Dependency
Orders database
(software)
Member of
Web server
(computer system)
Dependency
Component
Dependency
Disk drive 1
Disk drive 2
Relationships exist not only between physical CIs, but also between logical and
conceptual CIs, such as the software instances and service instance in Figure 4-2.
Two CIs can have more than one relationship with each other: for example, an
employee might own a server and also operate it.
Relationship data makes the CMDB a powerful decision support tool.
Understanding the dependencies and other relationships among your CIs can tell
you how upgrading Processor A would improve Server Bs performance or which
services would be affected if Router C failed. Most downtime is caused by
problems stemming from configuration changes. Accurate relationship
information can help you prevent those problems.
NOTE
Some of these types of data are considered CIs by ITIL.
You can federate related data to make it available through BMC Atrium CMDB.
For more information about federating data, see Planning to use federated data
on page 82.
Chapter 4
71
72
Best Practices
Consider these suggestions when working with discovery sources:
Do not load every discovered CI into the CMDB on every transfer. Transfer only
new CIs and CIs that have been modified since the previous transfer.
You do not have to populate each possible class with every one of your data
providers. Bring into the CMDB only the data that is used by a data consumer
to make key business decisions. If no application is consuming the data, there is
no value in maintaining and managing it in the CMDB.
If you are using more than one discovery source to populate an attribute and
those sources format the attributes value differentlyfor example, one uses
capital letters and the other does notthen you should not rely on those values
being formatted consistently in your production dataset. Though one discovery
dataset will take precedence over the other in reconciliation, there will be cases
where the production dataset receives its value from the lower-precedence
dataset. For example, a CI might not yet have been imported into the higherprecedence dataset or might have a NULL value for the attribute in that dataset.
Therefore, you should normalize the values of such attributes between datasets
before reconciliation. You can use the Normalization Engine to do this for
certain attributes. For others you would need to normalize before importing to
BMC Atrium CMDB.
When deciding how often to transfer data to the CMDB, ask yourself how often
the data changes and how important it is that you pick up those changes. You
might want to split your transfers into longer intervals for stable things like
facilities data and shorter intervals for volatile things like network data.
Network discovery applications are not the only type of discovery source that
you can use to update the CMDB. LDAP systems, Human Resources systems,
Facilities systems, third-party Asset Management databases, and others can
serve as discovery sources.
Chapter 4
73
74
What type of endpoints need to be accessed: servers, desktops, laptops, handheld devices, mainframes, or network devices?
Chapter 4
75
Create a new BMC_IPEndpoint CI, a new CI for the identified device, and the
appropriate relationship instance between those CIs. Set the IsUnqualified
attribute to NULL.
76
Chapter 4
77
A dataset can contain only one instance of a given CI. An instance of that CI might
also exist in other datasets to represent the CI in the contexts of those datasets.
Instances representing the same CI or relationship across datasets share the same
reconciliation identity, or reconciliation ID.
Each CI and relationship in BMC Atrium CMDB must reside in a dataset, meaning
that they have a DatasetId attribute that must contain a value.
Dataset name
Dataset ID
Purpose
BMC Asset
BMC.ASSET
BMC Sample
BMC.SAMPLE
BMC.ASSET.SANDBOX
BMC.ASSET.SANDBOX
BMC BladeLogic
Client Automation
BMC Atrium
Discovery and
Dependency
Mapping
(User-defined)
BMC.ADDM
78
Calbro Services also uses BMC Atrium Discovery and Dependency Mapping to
discover information about the servers, software, and other devices used to deliver
banking information to Calbro Services customers. This data is stored in the
BMC.ADDM dataset.
Lastly, Calbro Services uses a third-party discovery tool to collect information
about the equipment that supports the corporate payroll services. Calbro Services
uses BMC Atrium Integration Engine to bring relevant data from the payroll
database into BMC Atrium CMDB. The administrator creates a new dataset named
Calbro Payroll specifically for this information.
Because some of the instances in these different datasets might represent the same
real-world CIs, the administrator configures BMC Atrium CMDB reconciliation
jobs to compare those datasets against each other and put the preferred pieces of
information in the production BMC Asset dataset.
Overlay datasets
BMC Atrium CMDB offers overlay datasets, which enable you to:
WARNING
Overlay dataset functionality applies only to BMC Atrium CMDB API clients. If
you use the BMC Atrium Core Console or the class forms to view or modify
instances in an overlay dataset, you receive unpredictable results and can
compromise data integrity.
NOTE
Requests made to the underlying dataset always return instances from that
dataset, never from an overlay dataset.
Chapter 4
79
Figure 4-5 illustrates queries against an overlay dataset, one for a modified
instance and one for an unmodified instance. Notice that the modified instance
shares the same reconciliation ID with its unmodified counterpart, but not the
same instance ID.
Figure 4-5: Query to an overlay dataset
API Query
DatasetId: Sandbox
Qualification: 'Name' = "Computer A"
API Query
DatasetId: Sandbox
Qualification: 'Name' = "Computer B"
Results
System Type: Desktop
NumberOfSlots: 4
Results
System Type: Desktop
NumberOfSlots: 5
BMC_ComputerSystem
InstanceId: 3
ReconciliationIdentity: 8
Name: Computer B
SystemType: Desktop
NumberOfSlots: 5
Overlay dataset "Sandbox"
BMC_ComputerSystem
BMC_ComputerSystem
InstanceId: 1
ReconciliationIdentity: 7
Name: Computer A
SystemType: Desktop
NumberOfSlots: 4
InstanceId: 2
ReconciliationIdentity: 8
Name: Computer B
SystemType: Laptop
NumberOfSlots: 2
TIP
Use an overlay dataset to make changes during a day, and then reconcile it into
your production dataset at the end of the day when the change requests for them
are approved.
80
If the underlying instance has not yet been identified when it is modified in the
overlay dataset, the instance has no reconciliation identity in either dataset. This is
not a problem. When you eventually identify and merge the two datasets, your
Identify rules should be able to match these instances so that they receive the same
identity.
WARNING
For each modification that you make to an instance before it is identified, an
instance is created in the overlay dataset. You should identify instances before
modifying them a second time in the overlay dataset.
If you decide to keep the changes that you modeled in an overlay dataset, you can
merge them into the underlying regular dataset.
Chapter 4
81
Full DiscoveryRetrieves all the default information for hosts and complete
full inference
In the Configuration Settings, you can set the number of concurrent discovery
requests. As this number gets larger, performance could be negatively impacted,
especially in environments where the network is slow to respond. The default
value varies for each appliance, and is calculated to achieve maximum
performance. However, if you experience a situation where many discovery
commands are timing out, you can adjust the default value to between 30 and 150
(in increments of 30). Generally, the more discovery requests you enable to process
concurrently, the more you increase network traffic and the absolute time to
discover a single host. However, you can use different settings as part of an overall
approach to improve discovery processing throughput.
For more information about configuring discovery settings and recommended
performance factors, see the BMC Atrium Discovery 8.1 Deployment Guide at
http://www.tideway.com/confluence/display/81/Deployment+Guide.
From that page there is also a link that enables you to download a PDF version of
the guide.
82
In BMC Atrium CMDB, not only can you view federated data, you can retrieve that
data for use by a consuming application as if it were part of BMC Atrium CMDB.
This feature enables you to access outside data from central CMDB repository and
lets you use your existing data store infrastructure.
Figure 4-6 illustrates both types for a BMC_ComputerSystem instance named
Computer A. The instance can be linked to incident records about Computer A,
which are related information, and also linked to discovered attributes of
Computer A that were not imported into BMC Atrium CMDB.
Figure 4-6: Federated data
Incident DB
Incident
ID: 0001
Category: Performance
Machine: Computer A
BMC Atrium CMDB
BMC_ComputerSystem
Name: Computer A
SystemType: Desktop
NumberOfSlots: 4
Discovery DB
Computer System
Name: Computer A
Registry settings: XYZ
NOTE
Federated data is not bidirectional. BMC Atrium CMDB can establish links only
from its own data to an external source, not from the external source to itself.
Chapter 4
83
Linking to federated data from the CMDB does not mean that you must go
through the CMDB to access that data. You can still access the data directly from
its own application when you do not need the context provided by a CI.
Federating avoids rewriting applications to get their data from the CMDB
instead of their current data stores.
You might use multiple CMDBs in your company. For example, you might use
a different CMDB for each of several geographical regions. Use one CMDB as
the single source of truth about your IT environment, and federate the data on
your other CMDBs.
Federate attributes that rarely ever change, or that change more than once a day.
The former are not important enough to track in your CMDB, and the latter
(such as the current load on a server) are likely to be out of date in a CMDB.
84
External
source of
data
CI class
The federated data class represents a set of information on the external source of
data (such as a table on a database), so that data can be viewed within the context
of the data model. As part of the process of creating a federated data class, BMC
Atrium CMDB creates attributes to represent the fields from the external
repository. Federated data classes that you create are subclasses of the
BMC_FederatedBaseElement class.
The federated relationship class establishes a relationship between CIs stored in
BMC Atrium CMDB and external data. Federated relationship classes that you
create are added to the data model as subclasses of the
BMC_FederatedBaseRelationship class. The source class of the relationship must be
in the BMC_BaseElement hierarchy of classes, and the destination class of the
relationship must be a federated data class.
Chapter 4
85
CMDB
CI class
Launch link
Launch link
CI instance
Launch interface
External
source of
data
Federated
product link
Attribute substitution
Attribute substitution is the more straightforward method of federating data in
context. The information in a launch interface can include placeholders
representing attributes from the linked class. The values for those attributes are
substituted when a user or application launches the link, which enables it to access
a different set of federated data for each instance of the class.
Figure 4-9 shows an example of this. The value of the Name attribute is substituted
in the launch interface, so that the access string for Computer A queries for
incident records where Machine = Computer A and the access string for
Computer B queries for incident records where Machine = Computer B.
86
CMDB
BMC_ComputerSystem
BMC_ComputerSystem
Name: Computer A
SystemType: Desktop
NumberOfSlots: 4
Name: Computer B
SystemType: Laptop
NumberOfSlots: 2
Launch Interface
Incident DB
Incident DB
Incident
Incident
ID: 0001
Category: Performance
Machine: Computer A
ID: 0002
Category: Connectivity
Machine: Computer B
Chapter 4
87
CMDB
BMC_ComputerSystem
BMC_ComputerSystem
Name: Computer A
SystemType: Desktop
NumberOfSlots: 4
Name: Computer B
SystemType: Laptop
NumberOfSlots: 2
Key = 0002
Key = 0001
Launch Interface
Incident DB
Incident DB
Incident
Incident
ID: 0001
Category: Performance
ID: 0002
Category: Connectivity
NOTE
You can get the same functionality by adding an attribute to classes in the
Common Data Model and storing the key there, or by adding an attribute in your
federated data store and storing the instance ID or reconciliation ID of CIs there,
which enables you to use attribute substitution instead. This provides faster
performance when accessing federated data and eliminates the management of
federated key relationships. Add an attribute in BMC Atrium CMDB only if the
attribute will be populated for most instances of the class.
88
Overview of multitenancy
Multitenancy has long been a feature in the BMC Remedy IT Service Management
(BMC Remedy ITSM) product suite that enables you to control which records and
configuration data are exposed to a user, based on the users membership in a
company, business unit, or other group.
Although multitenancy is primarily used by consuming applications such as BMC
Remedy ITSM and Service Impact Manager, BMC Atrium CMDB provides the
mechanisms for a multitenancy permission model. BMC Atrium CMDB also
defines a base implementation for a multitenancy permission model. You can
extend this base implementation or develop a new implementation that is
consistent with the base implementation. The Product Catalog component also
leverages multitenancy. If you have not installed BMC Remedy ITSM, you can set
up multitenancy by using the Product Catalog and the AccountID default instance
permissions in BMC Atrium CMDB. If you do this, make sure that the AccountID
values match the company values in the Company form. AccountID is used to
control BMC Atrium CMDB multitenancy, while the company field is used to
control multitenancy in the Product Catalog and BMC Remedy ITSM applications.
You can use multitenancy to control access in a hosted environment. For example,
in a service provider environment, a single BMC Atrium CMDB application might
be used by multiple companies, with the data for each company hidden from the
other companies using the application. You can also use multitenancy to control
access in a single company, with the data for each business unit hidden from other
business units.
Multitenancy is used to segregate data and restrict access by the Company field, in
BMC Remedy ITSM, or the Company form in BMC Remedy AR System. Access
restrictions can be created so that a user with access to only one company cannot
see data for another company. To segregate data by business unit, you must record
each business unit as a separate company. In this scenario, a user with access to
only one business unit cannot see incidents for another business unit.
Chapter 4
89
NOTE
You can use BMC Remedy ITSM to set up multitenancy. However, if you have not
installed BMC Remedy ITSM, you can set up multitenancy by using the Product
Catalog component of BMC Atrium Core. For more information, see BMC Atrium
Core 7.6.03 Product Catalog and DML Guide.
90
NOTE
Membership in a business unit is not the same as access to a business unit.
Product Catalog entries do not restrict employee access to applications, but Allen
can run discovery reports about the applications installed on employee computers,
and then uninstall applications that are not approved for use according to the
Product Catalog.
Chapter 4
91
Sizing considerations
When planning for BMC Atrium CMDB population, you should consider sizing
factors, scalability, and hardware recommendations for the BMC Remedy
AR System environment. This includes the BMC Remedy AR System server,
server tier components such as Approval Server and the Assignment Engine, BMC
Atrium CMDB components, and the BMC Remedy Mid Tier. The same
consideration should be given to the discovery applications that you choose. For
detailed information about sizing, see the white paper titled Reference Architecture
for BMC Service Support Solutions.
92
Chapter
Chapter 5
93
94
Normalization
BMC Atrium
Integration Engine
Atrium Integrator
Import
datasets
Normalization
Engine
Reconciliation
Engine
BMC Atrium
CMDB
Production
dataset
Other
Consumers
BMC Remedy
Asset Mgmt
Sandbox
dataset
Federated
data
BMC Atrium
Product Catalog
Normalization
You can choose to normalize data before or after it is written to a dataset in BMC
Atrium CMDB.
Inline normalization mode normalizes CIs before they are written to BMC
Atrium CMDB datasets.
Best practice
When you initially load CIs from your data providers into BMC Atrium CMDB,
BMC recommends that you use the batch mode rather than inline or continuous
normalization. Batch mode runs a Normalization Engine job on un-normalized
data on demand or on schedule that meets your needs. If you are implementing
BMC Atrium CMDB for the first time, your current data will not be normalized.
After the initial loading of CIs, you can use the inline or continuous mode to
update CIs that exist in BMC Atrium CMDB but are not normalized.
To make sure that data is normalized initially and kept normalized, use
continuous mode to make sure that your dataset remains normalized.
Chapter 5
95
Inline mode is used mainly for integrations when a data source is writing to BMC
Atrium CMDB, and you might need to take action during the data population
process if an error occurs.
For more information about normalization, see the BMC Atrium CMDB 7.6.03
Normalization and Reconciliation Guide.
Product Catalog
The Product Catalog is a BMC Remedy AR System application that includes
several components to manage products for companies and organizations. It is a
library of all the products available to an organization, defining each product and
its attributes, such as name, manufacturer, version, and so on. The Product Catalog
contains characteristics of products that enhance the accuracy of BMC Discovery
products by uniquely identifying a package regardless of installed name or
location.
The main purpose of the Product Catalog is to enable you to manage the products
in your organization:
96
Product Catalog
Categorizations
Product categorization divides CIs into groups. Using the tiered structure of
product categorization, you can create successively smaller, more tightly defined
groups. You can create groups of CIs in Tier 1. In Tier 2, you can define smaller
groups of each of those groups. In Tier 3, you can create even smaller groups
within these groups.
For example, you might use Tier 1 to divide CIs into hardware and software
groups. Within the hardware group, you might define Tier 2 groups for disk
device, peripheral, processing unit, and virtual system. Within the processing unit
group, you might define Tier 3 groups for desktop, laptop, mainframe, personal
digital assistant, and server.
CIs in BMC Atrium CMDB store Product Catalog categorizations in the Category
(Tier 1), Type (Tier 2), and Item (Tier 3) attributes of the BMC_BaseElement CDM
class.
Chapter 5
97
Name
Product categorization attributes: Category, Type, and Item
ManufacturerName
Model (applicable to hardware)
VersionNumber (applicable to software)
PatchNumber (applicable to software)
Other attributes as defined by each class
For example, software CIs named Microsoft Visio and Visio 2007 are normalized
to the approved name Microsoft Office Visio 2007. Printer CIs are normalized to
the approved Category, Type, and Item values of Hardware, Printer/
Multifunction, and SystemPrinter, respectively.
98
Chapter
This section describes how to plan for the reconciliation of data from source
datasets to a production dataset. With multiple data providers loading data into
multiple datasets of BMC Atrium CMDB, you need a reconciliation process to
compare expected data against discovered data and create one complete and
correct production dataset. The BMC Atrium CMDB Reconciliation Engine
performs the main reconciliation tasks of identifying, merging, and comparing
datasets and also gives you other tools for working with datasets.
The following topics are provided:
Chapter 6
99
Identifying instances
Before you can compare or merge different versions of an entity, you must
determine that they indeed represent the same entity. You must identify each
instance.
The Identify activity accomplishes this matching by applying rules that you
specify against instances of the same class in different datasets. For example, a rule
to identify computer system instances might specify that the IP addresses of the
instances be equal.
When the rules find a match, both instances are tagged with the same
reconciliation identity, an extra attribute that shows that they each represent the
same item in their respective datasets.
You can also manually identify instances that were not identified by rules in an
Identify activity.
To identify instances, you must create an Identify group for each participating
dataset. In this group you must create Identify rules that attempt to match
instances of a particular class in that dataset against instances in all other
participating datasets. For example, to compare datasets A, B, and C you need the
following groups: one each to match A against B and C, B against A and C, and C
against A and B.
To identify data in different classes based on different criteria, you must create
more Identify groups. Because the subclasses of the specified class inherit the
groups, if your data is sufficiently normalized, you could specify groups only for
the base class BMC_BaseElement.
You then create an Identify activity and associate the Identify groups to it.
Designate one of the participating datasets as the master dataset, meaning that the
reconciliation identity of its instances is applied to matching instances in the other
datasets, which are known as auto-identify datasets. If the instance in the master
dataset does not have an identity, one is automatically generated.
TIP
If you identify a class between datasets that are poorly normalized and you cannot
find attributes of the class itself on which to match, you can match on an attribute
of a source CI if a weak relationship exists and has any propagated attributes. For
example, if you always give a disk drive a BMC_HostedSystemComponent
relationship to the computer system where it is installed, you can match two disk
drives because their source computer systems have the same name, because
BMC_HostedSystemComponent propagates the Name attribute from system to
component.
For more information about identifying, see the BMC Atrium CMDB 7.6.03
Normalization and Reconciliation Guide.
100
Comparing datasets
Comparing datasets
The Compare activity operates against instances in two datasets and either
produces a report or executes workflow based on the Compare results. The report
shows those instances that appear in only one of the datasets and details the
differences between instances that appear in both.
Compare lets you compare an expected configuration against an actual one, which
you could use for more than one purpose. You might use Compare to alert you that
something has changed in a configuration that you expected to remain static.
Alternatively, if you have a change request in progress, you might use Compare to
verify that the configuration reaches its expected new state.
Only instances that have been given a reconciliation identity can be compared, and
they are compared only against other instances with the same identity. If you
choose to execute workflow as a result of the comparison instead of creating a
report, that workflow can execute against instances from either dataset but not
both.
To compare instances, you must create a Compare activity and specify the two
datasets that you want to compare. From that activity you can choose to exclude
particular attributes from the comparison by creating Exclusion rules for them.
To execute workflow as a result of the comparison, you must also create a
Workflow Execution group to associate with the Compare activity and from that
group, create a Workflow Execution rule for each qualification that, if true, causes
workflow to execute. The qualification can evaluate attributes from both datasets.
You also must create one or more BMC Remedy AR System filters to perform the
workflow for each Workflow Execution rule.
For more information about comparing, see the BMC Atrium CMDB 7.6.03
Administrator's Guide.
Merging datasets
Merging takes data from multiple source datasets and creates a composite by
copying that data to a single target dataset according to precedence values that you
specify.
Merging is essential to produce a single, valid configuration when different
discovery applications provide overlapping data about the same items, or when
you need to commit changes that were made in an overlay dataset. Only instances
that have been given an identity can participate in a Merge. To take advantage of
the areas of strength in each dataset, you create precedence values that favor those
strengths. Merging the highest-precedence attribute values gives you one CI
instance with the best of all discovered data.
101
An overall precedence value is given to each dataset, with the ability to override it
for particular classes and attributes in each dataset. Whichever dataset has the
highest precedence value for a given attribute has its value for that attribute placed
in the target dataset. A precedence value specified for a class also applies to its
subclasses unless they override it with precedence values of their own.
You can merge data from multiple source datasets either by creating one Merge
activity that includes all the source datasets or by creating independent Merge
activities that each merge only the data from one source dataset.
TIP
No matter which of these strategies you choose, you can shorten the run time of a
Merge activity by setting Force Attribute Merge to No. This causes the activity to
perform an incremental merge, processing only the attribute values that have been
modified since the activity was last run. If an attribute value has not changed, there
is no need to merge it again.
102
Merging datasets
1
Dataset C (100)
Computer System
IPAddress: 10.20.30.40
SystemType: Desktop
Application System
Monitor
Dataset A (500)
Computer System
IPAddress (200): 10.20.30.50
SystemType: Laptop
2
Application System (200)
Monitor
Dataset C (100)
Computer System
IPAddress (300): 10.20.30.60
SystemType (500): Laptop
Dataset B (300)
Computer System
Monitor (500)
IPAddress: 10.20.30.60
SystemType: Desktop
Application System
Monitor
In this example, source Datasets A and B are merged into target Dataset C. Though
Dataset A has a higher precedence value (500) than Dataset B (300), Dataset A has
class and attribute precedence values for Application System and the
IPAddress attribute of Computer System (both 200) that are lower than Dataset B.
Dataset C has a precedence value (100) lower than either source, and as a result,
none of the data it contained in step 1 survives the merge.
In the Merge activity represented by step 2, Dataset C receives the Monitor and the
SystemType attribute of the Computer System from Dataset A, with a precedence
value that trumps Dataset Bs. But because the Application System and the
IPAddress attribute of the Computer System have lower precedence values in
Dataset A, Dataset C receives these from Dataset B.
103
Because the source dataset in any merge is always compared against the highest
precedence value from previous merges, it is as though precedence values from all
source datasets are compared in each merge. This frees you from having to design
a Merge activity for every combination of source datasets that might be merged
together, and enables you to add new source datasets in the future without
reworking all your Merge activities. Figure 6-2 on page 104 provides an example
of precedence values being applied when two datasets are merged with
independent Merge activities.
Figure 6-2: Independent Merge activities, each with one source dataset
1
Dataset C (100)
Computer System
IPAddress: 10.20.30.40
SystemType: Desktop
Application System
Monitor
2
Dataset A (500)
Dataset C (100)
Computer System
Computer System
IPAddress (200): 10.20.30.50
SystemType (500): Laptop
Monitor
Monitor (500)
Dataset B (300)
Computer System
IPAddress: 10.20.30.60
SystemType: Desktop
Dataset C (100)
Computer System
IPAddress (300): 10.20.30.60
SystemType (500): Laptop
Application System
Monitor
Monitor (500)
This example uses the same source and target datasets as the example in Figure 61 on page 103, and achieves the same end result. Step 1 again shows the data in the
target dataset before the merge.
In the Merge activity represented by step 2, Dataset A is merged into Dataset C.
Dataset As precedence values at every level are higher than Dataset Cs, so after
this step Dataset C contains all the data from Dataset A. You can also see that
though Dataset Cs precedence value is still 100, the precedence values of the data
in it have been adopted from Dataset A.
104
Copy Datasetcopies instances from one dataset to another. You can set
options to determine which relationships and related CIs are copied along with
the selected instances.
Delete Datasetdeletes instances from one or more datasets. It does not delete
the dataset itself.
Purge Datasetdeletes instances that have been marked as deleted from one or
more datasets. You can opt to have it verify that each instance has also been
marked as deleted in another dataset before deleting it. This option is useful
when you are purging data from a discovery dataset but want to purge only
instances that are marked as deleted in your production dataset.
105
When you use BMC Remedy AR System workflow or a BMC Atrium CMDB API
program to execute a job, you can dynamically specify datasets and qualifications
for the job to operate against, replacing those defined for the job. This enables you
to reuse reconciliation definitions with multiple overlay datasets and with subsets
of data.
Qualification groups
Most reconciliation activities enable you to specify a Qualification group to restrict
the instances that participate in an activity. Qualification groups, which are
reusable between activities, are sets of qualification rules that each select certain
attribute values. Any instance that matches at least one Qualification in a group
can participate in an activity that specifies the group.
For example, if your company just opened a Frankfurt office and you are
reconciling its discovered CIs for the first time, you might create a Qualification
group that selects instances that were discovered within the last 24 hours and have
the domain Frankfurt.
106
Chapter
107
For example, Calbro Services uses an online banking application that supports its
customers ability to access accounts and complete transactions. The relationship
between these two itemsthe online banking application and the actual banking
serviceis part of the service model.
108
109
Figure 7-2 on page 110 shows an example of a service model with business users,
services, and IT structure layers. The lines between the component instances
represent impact relationships.
Figure 7-2: Example of a service model
110
Best practices
When designing a service model, consider the following best practices:
Agree on a model blueprint that will apply to all service models. The model
blueprint acts as a template to the construction of the different service models,
and should define a hierarchical organization and the types of CIs that relate to
each other. The blueprint should allow some flexibility.
The most basic step involved in defining a service model is defining the specific
business goals that you hope to achieve with the model.
To do so, the IT group must engage the business managers in defining short-term,
mid-term, and long-term goals for the enterprise. These goals guide the design and
development of deliverables for all service model development phases and define
the amount of time and effort required for development and implementation.
111
112
Fund
transfers
VM
Host
Business
Service
VM
VM
IT
application
on VM
The fund-transfer service is only one business service provided by Calbro Services.
The service model created by Calbro Services is a collection of service components,
each of which represents a business service. Each component can contain several
functional applications, each of which can have multiple IT components. A service
model shows how the components are interconnected and shows how component
failures can impact other services. See Figure 7-2 on page 110.
Best practices
When decomposing a business service, consider the following best practices:
To find IT services and the components that support them, look at service level
agreements and operational level agreements.
Determine the entry point to each service model, the highest object in the model.
The entry point depends on who is consuming the model. Working from here
down to the bottom of a service model makes sure that you operate from the
perspective of the business.
113
Identifying IT services
To identify IT services, consult IT managers and staff. Disaster recovery plans, help
desk documents, and purchase orders might be useful in identifying IT
components and the business processes that they support.
The process involves identifying the list of IT assets (components). Interview the
IT management and staff, or use an asset database or CMDB as resources:
Create a list of IT services and discover what IT services are offered to business
units through use of IT assets. Examples of IT services include customer support
and customer call monitoring.
NOTE
The Service Catalog component of the BMC Atrium Core Console depicts IT
services as Technical Services.
For each IT service, identify the IT components that support the service.
Identify the interdependencies among IT components and formulate a topology
map. Consider the relationships and dependencies between IT components.
As you build your model, use whatever tools you have to depict the dependencies
between business services and IT services. Use graphical and spreadsheet software
if you do not have a solution such as BMC Impact Solutions. Table 7-1 shows a
portion of a spreadsheet depicting a few business services and their relationships.
Table 7-1: Portion of a sample business service model spreadsheet
Business service
IT component
24/7 online
banking
Transfer funds
Software applications,
application servers, virtual
machines, databases
Pay bills
Discount equity
services
Execute trades
Manage
customer
relations
Operational
efficiency
Administrative
software and
hardware
Response
management
FTP
Server: FTP
Sprint
Server: Walrus
Sales Logix
Database: SALLOG
Applications: Sales Logix
User group: Tech Support dept
Servers: Antelope
114
Defining the service model involves establishing a list of all the IT resources that
should be represented in the service model. This information should include:
115
116
Chapter
NOTE
For a video demonstration of the core pieces of this process, see BMC Atrium Core
7.6.03: Taking Your Data Into Production End to End, available on your
documentation media.
The following topics are provided:
117
6 Configure
reconciliation
2 Configure the
Product Catalog
7 Create the
service model
3 Configure the
data model
4 Create
datasets
5 Configure
normalization
9 Import data to
BMC Atrium CMDB
Some of these steps might not be relevant to your situation, and you can perform
some in a different order from that shown in this process.
Step 1 Configure permissions and multitenancy for access to BMC Atrium Core
hardware.
Step 3 Configure the data model as needed for imported data.
Step 4 Create datasets as needed for imported data.
Step 5 Configure BMC Atrium Integration Engine for importing data.
Step 6 Configure normalization for system defaults and individual datasets.
Step 7 Configure reconciliation.
Step 8 Create the service model that contains the services IT offers the business, and the
118
6 Configure
reconciliation
2 Configure the
Product Catalog
7 Create the
service model
3 Configure the
data model
4 Create
datasets
5 Configure
normalization
9 Import data to
BMC Atrium CMDB
To start the end-to-end process, set up permissions for users who need access to
BMC Atrium Core applications. After completing the configuration tasks, verify
that the roles and permissions have access to the data as planned.
For more information about configuring permissions, see the BMC Atrium CMDB
7.6.03 Administrator's Guide.
Configuring roles
To give people access to components of the BMC Atrium Core solution, you must
complete the following steps:
Step 1 Open the Group form and create a BMC Remedy AR System regular group for
each level of access that you need defined. For example, create a regular group
(CMDBAdmin) to use for all your BMC Atrium Core administrators. You can also
reuse regular groups that you have previously created.
For general information about working with groups, see the BMC Remedy Action
Request System 7.6.03 Form and Application Objects Guide.
For detailed information about groups in the BMC Atrium Core solution, see the
BMC Atrium CMDB 7.6.03 Administrator's Guide.
Step 2 Append your regular group to a computed group (for example, CMDB Console
Admin Group).
For example, your Group Definition would now read:
"Administrator" OR "CMDBAdmin"
Step 3 (optional) Open the Roles form and map a group that you created in step 1 to the
Production state of the BMC Atrium Core roles that you want associated with that
group.
Many roles already have groups mapped to them. For example, the CMDB
Console Admin role is mapped out-of-the-box to the CMDB Console Admin
Group in the Production state.
NOTE
If a group is already mapped to the role, add your group to that computed group
instead of modifying the mapping.
Chapter 8 Implementing BMC Atrium Core
119
For general information about working with roles, see the BMC Remedy Action
Request System 7.6.03 Form and Application Objects Guide.
For detailed information about roles in the BMC Atrium Core solution, see the
BMC Atrium CMDB 7.6.03 Administrator's Guide.
Step 4 Open the Users form and create BMC Remedy AR System users. In the Group List
field, select the regular groups associated with the access permissions needed by
each user.
NOTE
You cannot choose a computed group from the Group List field when creating a
user. This is why you had to create a regular group and then add it to the group
definition of the computed group.
For information about the BMC Remedy AR System license types to grant users of
BMC Atrium Core, see the BMC Atrium CMDB 7.6.03 Administrator's Guide. For
information about creating users, see the BMC Remedy Action Request System 7.6.03
Configuration Guide.
WARNING
Do not use BMC Remedy Developer Studio to change permissions on the class
forms and attribute fields. These permissions are overwritten the next time a
change is made to the class with the Class Manager.
Specify the following class permissions from the Permissions tab when viewing a
class (in the Class dialog box) from the Class Manager:
HiddenMembers of these groups and roles can access the class through
workflow, but cannot see its instances in the Atrium Explorer or open its form.
VisibleMembers of these groups and roles can see and access the class in all
ways: instances in the Atrium Explorer, the class form, and through workflow.
Specify the following attribute permissions from the Permissions tab when
viewing an attribute (in the Attributes dialog box) from the Class Manager:
ViewMembers of these groups and roles can view the attribute in the class
form, but cannot modify its value.
ChangeMembers of these groups and roles can view and modify the attribute
value.
You can also specify that a user without Change permissions can set the attributes
value when creating an instance. To do so, select the Allow Any User to Submit
option.
For more information about class and attribute permissions, see the BMC Atrium
CMDB 7.6.03 Administrator's Guide.
120
CMDBRowLevelSecurityUsers
permission to modify the instance if they also have row-level access and the
BMC Atrium Core CMDB Data Viewer role. This permission is useful for giving
someone write access to a specific instance without giving write access to all
instances with one of the BMC Atrium CoreCMDB Data Change roles.
To set permissions for an instance, when creating or modifying an instance, set the
value of the CMDBRowLevelSecurity or CMDBWriteSecurity attribute to a group name
or list of group names.
With default instance permissions, you can also define the BMC Atrium
CoreCMDBRowLevelSecurity and BMC Atrium CoreCMDBWriteSecurity values for an
entire class instead of specifying them every time you create an instance of the
class. To set default permissions for a class, use the
BMC.CORE.CONFIG:BMC_DefaultAccountPermissions form to assign groups to
the ASSIGNRowLevelSecurity and the ASSIGNWriteSecurity fields.
For more information about configuring instance permissions and examples, see
the BMC Atrium CMDB 7.6.03 Administrator's Guide.
In version 7.6.03, the Normalization Engine can now normalize instance
permissions. For instructions on configuring this, see the BMC Atrium CMDB
7.6.03 Normalization and Reconciliation Guide.
Configuring multitenancy
This section describes the high-level steps to configure multitenancy. You can
apply these steps to configure multitenancy in multiple ways, including:
Using the Product Catalog, as described in the BMC Atrium Core 7.6.03 Product
Catalog and DML Guide.
To configure multitenancy, complete the following high-level steps. For detailed
information about configuring multitenancy, see the BMC Atrium CMDB 7.6.03
Administrator's Guide.
121
NOTE
In BMC Atrium CMDB, the multitenancy feature is always available. Regardless
of the Tenancy Mode setting, data is segregated by company and access to data is
controlled by a users access to a company.
122
6 Configure
reconciliation
2 Configure the
Product Catalog
7 Create the
service model
3 Configure the
data model
4 Create
datasets
5 Configure
normalization
9 Import data to
BMC Atrium CMDB
To set up the Product Catalog, complete the following procedures. For more
information about Product Catalog concepts, see Product Catalog on page 96.
Step 1 Create Product Catalog entries.
To normalize CIs, you must have product entries in the Product Catalog. Import
or create these products as needed.
Step 2 (optional) Configure the best-practice categorizations.
Step 3 Approve products, versions, and patches for your organization.
You must approve products so that the Normalization Engine can normalize CIs.
Import data from external filesYou can import data from an external file or
from staging forms by using a browser. For more information, see the BMC
Atrium Core 7.6.03 Product Catalog and DML Guide.
Create entries manually from the Product Catalog Console. For more
information, see the BMC Atrium Core 7.6.03 Product Catalog and DML Guide.
Use the Normalization Engine to create entriesIf you have a dataset that is
trusted and contains CIs that were normalized before being imported, you can
configure the Normalization Engine to create Product Catalog entries from the
dataset. You must configure this option before normalizing the dataset. For
detailed instructions about creating Product Catalog entries, see the BMC
Atrium CMDB 7.6.03 Normalization and Reconciliation Guide.
TIP
The Normalization Engine is mainly for normalizing CIs, not populating the
Product Catalog with product entries. Because this option is set for a dataset, all
CIs in that dataset must be previously normalized by some other method before
you run a Normalization Engine job with this option enabled. Otherwise, you
could create non-normalized Product Catalog entries and result in duplicate
entries for the same product.
123
If you acquire duplicates in the Product Catalog, you must manually remove them.
A clue that indicates you have duplicates is that not all CIs for a specific product
have the same Name, ManufacturerName, Model, PatchNumber, VersionNumber,
Category, Type, and Item values.
Best practice
Implement the best-practice categorizations using the following methods:
WARNING
Before using the data wizard, back up your database.
To maintain data integrity while modifying the categorizations, disable
escalations, reconciliation jobs, discovery products, and the Distributed Server
Option (DSO) of BMC Remedy AR System. When you have completed modifying
the product categorizations, you can restart these components.
From the BMC Remedy ITSM Data Wizard, select to modify the product
categorization and map the current categorization values in the target fields and
the best-practice categorizations in the new value fields.
For more information about using the ITSM Data Wizard, see the BMC Remedy IT
Service Management 7.5.00 Data Management Administratorss Guide.
124
6 Configure
reconciliation
2 Configure the
Product Catalog
7 Create the
service model
3 Configure the
data model
4 Create
datasets
5 Configure
normalization
9 Import data to
BMC Atrium CMDB
This section aligns with Stage 4, Step 23, Task 2. Configure the CMDB, of the
Step-by-Step Guide to Building a CMDB.
The BMC Atrium CMDB data model unifies the representation of configuration
data. It is designed to store data about the most common CIs such as hardware,
software, and services, to provide a complete view of all elements of an IT
environment and how they affect each other.
125
The Common Data Model includes classes that describe a wide variety of IT
configuration items and their relationships, and some BMC Software products
install extensions that add more classes and attributes to the data model. But there
are still some IT infrastructures that do not completely map to this model.
If the classes and attributes that you require are not defined by the BMC Atrium
CMDB data model or the extensions, modify the data model.
For detailed information about what to consider before modifying the data model,
see Planning to extend the data model on page 59.
Creating datasets
Implementing BMC Atrium Core
1 Configure permissions
and multitenancy
6 Configure
reconciliation
2 Configure the
Product Catalog
7 Create the
service model
3 Configure the
data model
4 Create
datasets
5 Configure
normalization
9 Import data to
BMC Atrium CMDB
Creating datasets in BMC Atrium CMDB to store data provided by different data
providers is the first step when importing data. A dataset is a logical grouping of
data. It can represent data from a particular source, a snapshot from a particular
date, or other purpose.
Make sure that each data provider has its own import dataset.
Also, note which dataset is your production, or golden, dataset so that you can
plan your normalization and reconciliation jobs. By default, the BMC.ASSET dataset
is the production dataset. In reconciliation, the production dataset is used first to
identify duplicate CIs, matching attributes for the CI in the production dataset
with the CIs in the imported datasets. Second, it can be the target dataset in a
Merge activity so that the CIs are updated to keep the production dataset current
and accurate. Also, do not normalize the production dataset because you should
normalize CIs before identifying and merging them.
When you need to merge more than one dataset at time, you might want to create
an intermediate dataset for merging. For better performance and to minimize the
impact on users of the production dataset, BMC recommends that you merge one
import or discovered dataset at a time with the production dataset. You might
want to merge multiple source datasets in separate jobs to an intermediate dataset
and then merge the intermediate dataset with the production dataset.
For more information about planning your datasets, see Grouping CIs into
datasets on page 77.
For detailed instructions about creating a dataset, see the BMC Atrium CMDB
7.6.03 Normalization and Reconciliation Guide.
126
6 Configure
reconciliation
2 Configure the
Product Catalog
7 Create the
service model
3 Configure the
data model
4 Create
datasets
5 Configure
normalization
9 Import data to
BMC Atrium CMDB
Using BMC Atrium Integration Engine to import data into BMC Atrium CMDB
from a third-party source consists of the following tasks:
Step 1 Populate database field menus.
Step 2 Create data mappings.
Step 3 Create data exchanges.
TIP
To help you create exchanges, use the sample exchanges and data mappings that
are installed with the BMC Atrium Integration Engine.
Best practices
When configuring BMC Atrium Integration Engine, consider the following best
practices:
Transform your data on the way in so that all sources (BMC and third-party) are
normalized for commonly used attributes like Domain and those related to
memory and disk size.
For example, DriveSize for BMC_Media should be specified in GB. For more
information about attributes, see BMC Atrium CMDB 7.6.03 Data Model Help
and Class Manager.
Familiarize yourself with the Common Data Model prior to creating data
mappings so that you can select the appropriate classes and attributes. You can
also verify that data types match for the data mappings and plan unique
identifying fields.
127
Do not run more than one BMC Atrium Integration Engine, Normalization
Engine, or Reconciliation Engine job at the same time because they might query
or update the same data.
Map the attributes that the Normalization Engine uses to normalize CIs: Name,
ManufacturerName, Model, PatchNumber, and VersionNumber.
NOTE
Populating database field menus is necessary only if your external data store is a
database.
For detailed instructions about populating database field menus, see the BMC
Atrium Integration Engine 7.6.03 User's Guide.
128
You can create the data mapping for a relationship class based on attributes in the
CI classes or based on relationship data stored in an external data store. The
decision to use attributes in CI classes or relationship data in an external data store
is based on the structure of your source data.
For detailed instructions about creating data mappings for relationship classes, see
the BMC Atrium Integration Engine 7.6.03 User's Guide.
Best practices
Create one data exchange for a CI class that acts as the source member of several
relationships, such as BMC_ComputerSystem. Run this exchange on a schedule.
Create a secondary data exchange for each CI class that is related to the first CI
class, such as BMC_DiskDrive. Trigger each of these secondary data exchanges
to run simultaneously, using a different BMC Atrium Integration Engine
instance after the first data exchange finishes.
For each secondary data exchange, create another data exchange that transfers
relationships between the source and destination CI classes. Trigger the
relationship data exchange to run when the secondary data exchange finishes.
This approach transfers data in order so that each piece that is needed on the target
side by another exists at the correct time.
For detailed instructions about creating data exchanges, see the BMC Atrium
Integration Engine 7.6.03 User's Guide.
129
Configuring normalization
Implementing BMC Atrium Core
1 Configure permissions
and multitenancy
6 Configure
reconciliation
2 Configure the
Product Catalog
7 Create the
service model
3 Configure the
data model
4 Create
datasets
5 Configure
normalization
9 Import data to
BMC Atrium CMDB
normalization.
Normalization is not supported for classes that are not derived from
BMC_BaseElement.
Step 3 If you know that the product or manufacturer names for CIs in your dataset do not
match those in the Product Catalog, map the incorrect names to the correct ones
with the Product Name Alias form.
Step 4 Create categorization aliases with Catalog Mapping for the following conditions:
If the combination of values is in the Product Catalog but is not related to the
company for whom the CI is being submitted.
Step 5 Create a job, and specify when the job runs (continuous or batch).
WARNING
Do not run more than one BMC Atrium Integration Engine, Normalization Engine,
or Reconciliation Engine job at the same time. This could cause problems such as
multiple jobs querying or updating the same data.
130
Configuring reconciliation
Configuring reconciliation
Implementing BMC Atrium Core
1 Configure permissions
and multitenancy
6 Configure
reconciliation
2 Configure the
Product Catalog
7 Create the
service model
3 Configure the
data model
4 Create
datasets
5 Configure
normalization
9 Import data to
BMC Atrium CMDB
This section aligns with Stage 4, Step 23, Task 4. Code data import scripts and
reconciliation rules, of the Step-by-Step Guide to Building a CMDB. To configure
reconciliation, complete the following procedures. For detailed instructions, see
the BMC Atrium CMDB 7.6.03 Normalization and Reconciliation Guide.
Step 1 Verify standard Identify rules.
Check that the attributes used for identification have unique and consistent
values in the dataset to be reconciled.
If you created custom classes, add them to the standard Identify rules.
Step 2 Verify standard Merge rules.
Check that the dataset has the needed precedence value. By default, new
datasets have a precedence of 100.
If you created custom classes and attributes, add them to standard Merge rules.
Step 3 Create a standard identification and merge job.
Include a qualification.
Change Continue on Error and Sequence for the activity.
Change identification settings for Production Dataset, Generate IDs, and
Exclude Subclasses.
Change merge settings for the Source Dataset, Target Dataset, Precedence
Association Set, Include Unchanged CIs, and Merge Order.
To customize the Identify and Merge rules, see if you can modify the standard
rules. If modifying the standard rules is not possible, you can create a custom
reconciliation job with custom rules as needed.
Step 4 Specify when the job runs, either with a schedule or by using continuous mode.
131
WARNING
Do not run more than one BMC Atrium Integration Engine, Normalization Engine,
or Reconciliation Engine job at the same time. This could cause problems such as
multiple jobs querying or updating the same data.
Best practices
When you configure reconciliation, consider the following best practices:
Create all your reconciliation definitions at the highest class level possible to
take advantage of inheritance.
After the initial data load into BMC Atrium CMDB, perform an Identify activity
on the data, selecting the option to auto-identify the master dataset. This makes
sure that your production data has an identity the first time it is identified
against another dataset.
Reconcile discovered data into your production dataset immediately after your
discovery application loads data into BMC Atrium CMDB.
Do not create multiple jobs that merge data into the same target dataset, because
this creates the potential for one job to overwrite data that you want to keep. To
split a merge into multiple jobs, do it by classes so that the two jobs do not touch
the same parts of your data.
Regularly review your Identify rules to make sure that they are still appropriate
for your environment, and spot-check instances to confirm that they are being
identified properly.
132
6 Configure
reconciliation
2 Configure the
Product Catalog
7 Create the
service model
3 Configure the
data model
4 Create
datasets
5 Configure
normalization
9 Import data to
BMC Atrium CMDB
The service modeling process helps you identify your business services and how
those services are delivered and supported by your IT framework. While the
process of creating your service model enables you to view your business services
in the context of all your business processes, the service model is more useful if you
use it to manage the impacts of events on your business services. For example, you
can use the Atrium Impact Simulator to determine how business services would
be impacted by taking a server offline to upgrade software.
133
The business continuity and service availability strategy implements a businesscentric model in which business processes and services rely on a small number
of vital IT components to give a status overview of the underlying environment.
This type of implementation is driven from the top, ensuring that IT is
delivering their services as agreed. The driving force is business continuity and
availability. This strategy is similar to the BMC Software BSM strategy that is
called a Business Service Impact Model.
134
6 Configure
reconciliation
2 Configure the
Product Catalog
7 Create the
service model
3 Configure the
data model
4 Create
datasets
5 Configure
normalization
9 Import data to
BMC Atrium CMDB
Populating BMC Atrium CMDB includes activities such as importing and filtering
data and verifying that each data import is successful. To import data into BMC
Atrium CMDB, complete the following procedures:
Step 1 Create tests to validate your data population.
Step 2 Bring data into BMC Atrium CMDB using BMC Software discovery products.
Step 3 Import data using BMC Atrium Integration Engine.
Step 4 Add data manually.
Step 5 Validate the results of your data imports.
Step 6 Remove failed-import data from BMC Atrium CMDB.
Step 7 Normalize BMC Atrium CMDB data.
Step 8 Reconcile BMC Atrium CMDB data.
Best practices
As you prepare to migrate data from existing sources to BMC Atrium CMDB,
consider these best-practice recommendations:
Examine your data to make sure that data exists in each category of your current
classification scheme that is being mapped to a class in BMC Atrium CMDB. Do
not waste resources attempting to migrate something that does not exist.
Freeze your current classification scheme a few weeks prior to the migration.
Test the migration with a representative subset of all the classes you plan to use.
For example, import 1,000 computer systems and 1,000 application systems.
When testing, verify both that the contents of several CIs were migrated
correctly and that the correct number of CIs were migrated for each class.
For better performance, take advantage of the multithreaded nature of the BMC
Remedy AR System server when loading your initial data into BMC Atrium
CMDB. Either use a multithreaded process on your loading application or split
the data into pieces that can be loaded by separate instances of your application.
If your loading application will do any searching, create indexes on the fields it
searches.
Chapter 8 Implementing BMC Atrium Core
135
An easy way to load data from many sources is to create BMC Remedy
AR System view forms or vendor forms that point to those sources. You can
then use workflow, such as an escalation, to transfer the data from those forms
to the BMC Atrium CMDB forms.
If your source data does not include relationships or includes them only as
foreign keys on CI records, your loading application should analyze the data
and create relationships between appropriate CIs in BMC Atrium CMDB.
Your loading application is responsible for normalizing text in the data you
bring into BMC Atrium CMDB, such as enforcing capitalization and delimiting
rules. Data that has not been normalized is much harder to reconcile.
You want to add CIs that are not discovered. Some functions of BMC Remedy
Asset Management, such as creating a purchase requisition, create a CI, even if
the CI might later be discovered.
You want to update CIs with attributes that are not discovered.
You must manually add business services that are used in the Service Catalog.
You want to create relationships that are not discovered.
You want to enter additional Asset Management information.
Do not edit CIs directly in the BMC.ASSET dataset. Instead, use Atrium Explorer
and the sandbox dataset to add and modify CIs and relationships. This makes sure
that edits are reconciled and the production dataset accurately represents your
environment. These changes are ultimately used by consumers such as BMC
Remedy Asset Management.
137
directory.
For more information about logging, debugging, and job monitoring, see the BMC
Atrium Integration Engine 7.6.03 User's Guide.
138
Merging them into a new dataset based on precedence values that you have
defined for each source dataset
For details about reconciliation activities, see the BMC Atrium CMDB 7.6.03
Normalization and Reconciliation Guide.
Calbro Services will use BMC Atrium Discovery and Dependency Mapping to
build a topology of applications and infrastructure including switches, servers,
operating systems, software, configuration files and logs, business applications
and dependencies. Calbro Services will then use the CMDB Sync function of
BMC Atrium Discovery and Dependency Mapping to map the collected
information and transfer the CIs and their relationships to BMC Atrium CMDB.
139
140
Component
Tasks
BMC Atrium
Integration Engine
Product Catalog
Tasks
Normalization Engine
Tasks
BMC Atrium
Integration Engine
Check the log files and confirm that there are no errors,
especially data errors.
Product Catalog
Normalization Engine
141
142
Component
Tasks
BMC Atrium
Integration Engine
Not applicable
Product Catalog
Normalization Engine
Reconciliation Engine
Tasks
BMC Atrium
Integration Engine
Not applicable
Product Catalog
Normalization Engine
Reconciliation Engine
You can use the existing reconciliation job for the BMC Remedy
ITSM sandbox.
143
144
Chapter
This section describes the administrative tasks that help you manage your
implemented BMC Atrium Core solution.
The following topics are provided:
145
Best practices
Keep these considerations in mind when deciding which method to use for
tracking the changes to your CIs and relationships:
Audits give you access to information about changes to your data as soon as
they happen, whereas comparisons are usually run daily.
Audits take a small amount of processor and disk time at the moment a change
occurs, slightly slowing down real-time performance for users, whereas
comparisons concentrate that performance hit during a non-peak window.
If you have auditing enabled on your production dataset, it can increase the time
required for reconciliation because Merge activities that write to the dataset
trigger audits.
Comparisons are better when you need to track changes to multiple attributes
because this has a larger performance cost, and the cost can be absorbed during
a non-peak window.
146
Types of auditing
You can audit by creating a copy of the instance that was created, modified, or
deleted, or by writing the changes to a log.
You cannot use Log auditing above Copy auditing in the inheritance tree. This
means that if you already have Copy auditing enabled for a class you cannot
enable Log auditing for any of its superclasses, and if you already have Log
auditing enabled for a class you cannot enable Copy auditing for any of its
subclasses. This is due to the structure of audit forms.
Best practices
Keep these considerations in mind when deciding whether to use Copy or Log
auditing:
Copy audits degrade performance more than Log audits because their structure
matches that of the actual BMC Atrium CMDB class forms, which use database
joins. Also, because those join forms must be created when Copy auditing is
enabled, there is a bigger performance cost at that time and possibly more
disruption related to your change control procedure.
Copy audits provide a more powerful search capability than Log audits because
you can search on each attribute in a separate field.
Copy auditing
Copy auditing creates a copy of each audited instance. When you enable Copy
auditing for a class, each form pertaining to that class is duplicated to create audit
forms that hold audited instances. This includes forms from superclasses, because
they hold data for instances of their subclasses. The audit forms are automatically
named with the suffix :AUDIT. For example, if you enable auditing for the
BMC_Person class, which is a subclass of the BMC_BaseElement class, three audit
forms are created:
Table 9-1: Audit forms created for BMC_Person
Form type
Class form
Audit form
Regular
BMC.CORE:BMC_BaseElement BMC.CORE:BMC_BaseElement:AUDIT
Regular
BMC.CORE:BMC_Person_
BMC.CORE:BMC_Person_:AUDIT
Join
BMC.CORE:BMC_Person
BMC.CORE:BMC_Person:AUDIT
The audit forms have the same BMC Remedy AR System permissions as the class
itself. If you make a change to a class after these forms have been created, they are
automatically updated to match. When you delete a class, its associated audit
forms are also deleted.
Each audit of each instance results in an entry in the audit form, so multiple entries
can be related to a given instance.
The audit form mirrors the class form, containing a field for each attribute in the
class. When an audit occurs, values for the selected attributes are written to their
respective fields, creating a new copy of the instance.
Chapter 9 Managing BMC Atrium Core
147
In addition to the class attribute fields, each audit form also includes the following
fields:
Modify
Create
Delete
16
Merge
When an audit is triggered, the audited instance is copied from each class form to
the corresponding audit form.
NOTE
When auditing is enabled for a class, audits can be triggered by instances of either
the class or its subclasses, even if auditing is not enabled for the subclasses. This is
due to the hierarchical structure of class forms. When an audit is triggered by an
instance of a subclass, only the attributes of the audit-enabled superclass are
written to the audit form. You can avoid subclass instances triggering an audit by
using an audit qualification that matches the class ID of the superclass.
Copy auditing in BMC Atrium CMDB is implemented using BMC Remedy
AR System form-style auditing. For more information about form-style auditing,
see the BMC Remedy Action Request System 7.6.03 Form and Application Objects Guide.
Log auditing
Log auditing creates an entry in a log form that stores all attribute values from the
audited instance in one field. When you enable Log auditing for a class, you
specify the name of the log form to use. If this form does not already exist, it is
created automatically. You can use the same log form with multiple classes.
148
LogA list of the attribute values written for the audit, in the following format:
name1:value1
name2:value2
[name3:value3]
149
CopyChanges to this attribute do not trigger an audit, but the attribute value
is written to the audit form or log form when another attribute triggers an audit.
Audit and CopyChanges to this attribute trigger an audit. This attribute value
is written to the audit form or log form in any audit, regardless of whether its
value changed.
NOTE
As long as a class has at least one attribute with the Audit, Copy, or Audit and
Copy option specified, a Create or Delete operation triggers an audit regardless of
the values of the attributes. Audit, Copy, and Audit and Copy attributes are all
written during such an audit.
150
Operation
Attribute1
(Audit)
Attribute2
(Copy)
Attribute3
(Audit and
Copy)
Attribute4
(None)
Audit
triggered?
Attributes
written to
audit form
Create
NULL
Chicago
NULL
Compact
disc
Yes
Attribute1
Attribute2
Attribute3
Modify
Green
Chicago
NULL
Cassette
tape
Yes
Attribute1
Attribute2
Attribute3
Modify
Green
Dallas
NULL
8-track tape No
None
Modify
Green
Dallas
Bicycle
Attribute2
Attribute3
Delete
N/A
N/A
N/A
N/A
Attribute1
Attribute2
Attribute3
Yes
In this example, Audit attribute Attribute1 and Audit and Copy attribute
Attribute3 are the only attributes that can trigger an audit. However, when the
instance is created, an audit is triggered regardless of the fact that they are both
NULL.
When the instance is modified in Operation 2, the value of Attribute1 changes,
triggering an audit that writes that attribute. Attribute2 and Attribute3 are also
written, as they are in any audit. Both Attribute2 and Attribute4 change value
in Operation 3, but no audit is triggered.
In Operation 4, Attribute3 changes value and another audit is triggered. This
time Attribute1 is not written because its value did not change. And when the
instance is deleted in Operation 5, a final audit is triggered.
Best practices
This section gives you several best practices for working with auditing.
Enable auditing for only up to five classes, as high on the inheritance tree as
possible and preferably no more than five join levels deep. For each of those, use
only up to five Audit attributes.
Rather than auditing a lower-level class in your data model inheritance tree,
audit the highest-level class with attributes you want to keep and then use a
qualification on the ClassId attribute to control which classes instances are
audited. This improves performance by preventing join forms from being
involved.
151
When a component such as a disk drive disappears from the display of its parent
CI such as a computer system in BMC Remedy Asset Management, it is usually
caused by the connecting relationship being unintentionally soft-deleted while
the component CI still exists. To track this behavior, enable auditing on
BMC_BaseRelationship (with a qualification on source and destination class
IDs if you want), use MarkAsDeleted as an Audit attribute, and use the source
and destination instance IDs as Copy attributes.
You must restart your BMC Remedy AR System server for the change to take
effect.
For more information about this file, see the BMC Remedy Action Request System
7.6.03 Configuration Guide.
152
WARNING
The Event Channels feature uses the Filter API plug-in of BMC Remedy
AR System, and occasionally this use can interfere with Reconciliation Engine
processing. To avoid reconciliation jobs hanging, if you use Event Channels then
set your BMC Remedy AR System servers Filter API RPC Timeout to 240 seconds.
To make this setting, from the Home page choose AR System Administration >
AR System Administration Console > System > General > Server Information >
Timeouts.
Class configurations
You must configure a class for events before a subscription will deliver events for
the class. The following classes are preconfigured for events:
BMC_ComputerSystem
BMC_BusinessService
BMC_Application
BMC_SoftwareServer
BMC_IPEndPoint
These class configurations cannot be deleted. You can configure other classes for
events. For instructions, see the BMC Atrium CMDB 7.6.03 Javadoc Help.
Event subscriptions
When subscribed, your application receives events in near real time whenever an
instance of a CI or relationship class configured for events is created, updated, or
deleted.
If an instance is deleted, events indicate that the instance was deleted. If the
instance is marked for deletion (by setting the MarkAsDeleted attribute to Yes),
events indicate that the instance was modified.
Instructions for subscribing to events are in the BMC Atrium CMDB 7.6.03 Javadoc
Help. Events include the following information about the instance in question:
153
BMC Atrium Event Channels applies the following security checks before sending
events:
Row-level check to make sure that the subscriber has the permission to view the
relevant CI class
Multitenancy check to make sure that the event is being delivered to a subscriber
with the authority to view the relevant CI class
If a subscriber application disconnects, events are queued for delivery when it
reconnects. Events that are undelivered for a day are removed, and you would
then need to re-sync with BMC Atrium CMDB using the CMDB API.
NOTE
Each subscribed application must have a unique BMC Remedy AR System user ID
for the Event Channels feature to work correctly. In a case where multiple
instances of an application subscribe to events, each instance must use a different
user ID to receive events independently of the other instances.
Performance considerations
The event generation rate is limited by the combined throughput of the
Normalization Engine, Reconciliation Engine, and BMC Atrium CMDB engine.
When the BMC Atrium CMDB server is heavily loaded, change events might be
generated faster than the rate at which the server can send them. In such a case, the
events are queued. At times of intermittent load conditions (say for a few minutes),
the queue might provide sufficient buffering, but for a longer load period it might
not. When performing a bulk load of BMC Atrium CMDB, consider turning off
event generation or event delivery to avoid overflowing the queue.
You can improve the speed at which the server delivers events by increasing the
number of Alert threads on your BMC Remedy AR System server. To set the
number of threads, from the Home page choose AR System Administration >
AR System Administration Console > System > General > Server Information >
Ports and Queues. In the table row for the Alert queue, set Min Threads to 5 and
Max Threads to 10.
Permission roles
To subscribe to events, you must have the CMDB Console User role. To configure
classes for events, you must have the CMDB Console Admin role.
154
When instances have been soft deleted, you can exclude them from searches,
reconciliation, and other activities by using the MarkAsDeleted attribute in your
qualifications.
Custom workflow
Because BMC Atrium CMDB is built on the BMC Remedy AR System, you can
easily add custom workflow to the class forms to accomplish various tasks. For
information about creating BMC Remedy AR System workflow, see the BMC
Remedy Action Request System 7.6.03 Workflow Objects Guide.
155
Execution order 100Performs validation, sets the instance ID and class ID for
new instances, and for relationship instances also sets the reconciliation ID,
dataset ID, and class ID.
Execution order 600Performs hard and soft deletes, pushes attribute values to
subclass forms, handles weak relationship functionality, and for new instances
adds default instance permissions.
To create a filter on a class form, choose its execution order based on these filters.
In most cases, you should choose an execution order from 101 to 599. This enables
your filter to work with the class ID and instance ID that are created at execution
order 100 and to modify attribute values before they are pushed to subclass forms.
WARNING
If your workflow modifies attribute values after execution order 600, it can
compromise your data integrity.
You might choose an execution order of 99 or less to create your own instance ID
instead of letting the system create it automatically.
Best practices
When planning to add custom workflow to BMC Atrium CMDB, follow these
guidelines:
First, identify the scope of your customization. Should it apply to all subclasses,
all datasets, all data inputs, or a subset of these?
Do not modify any of the existing filters attached to the class forms. They are
typically attached to many forms, and your changes could ripple to unwanted
locations.
Add active links to an application that consumes BMC Atrium CMDB data
instead of to BMC Atrium CMDB itself. For example, if you have BMC Remedy
Asset Management, add your active links to the AST: forms. Add filters and
escalations to the BMC Atrium CMDB class forms.
Consider the subclasses of any class you touch. For example, workflow defined
on the BMC.CORE:BMC_BaseElement form applies to all CIs unless you restrict
it to particular subclasses with a Run If qualification.
156
Glossary
abstract class
AIE service
157
audit
base class
CDM
See destination.
CI
Glossary
CMDB Console
cmdbdriver
Glossary
159
CTI
160
Glossary
DMTF
federation
federated product
161
hard delete
162
instantiate
Glossary
normalize
See source.
Precedence group
Product Catalog
Glossary
163
reconciliation
See filter.
relationship key
A group of rules.
service level agreement
164
Glossary
snapshot
See normalize.
unqualified data
weak relationship
weak reference
165
166
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Index
A
about BMC Atrium CMDB 25
abstract classes
about 52
data replication 53, 62
extending 62
accessing
BMC Atrium CMDB 89
CMDB data 26
adding
attributes to existing classes 60
data manually 137
subclasses to the Common Data Model 61
workflow to BMC Atrium CMDB 155
application layer infrastructure 31
applications, using with extended data models 64
approving products 125
AR System
See BMC Remedy Action Request System (BMC
Remedy AR System)
architecture
AR System 32
BMC Atrium CMDB 29
BMC Atrium Core 25
assessing configuration data source environments 75
Atrium Explorer
about 22
relating CIs 109
Atrium Impact Simulator 22
attributes
about 46
adding to existing classes 60
Category 60
extending the Common Data Model 60
generating fields for AR System 64
Item 60
naming and numbering rules 64
substitution of 86
Type 60
updating manually 138
audit forms 147
B
benefits
BMC Remedy AR System 33
decision-making support 35
federated data 30
integration 35
Service Asset and Configuration
Management 34
best practices
adding workflow 156
auditing 151
categorizations 124
data exchanges 129
importing data to BMC Atrium CMDB 135
bidirectional data transfers, testing 136
BMC Asset dataset 78
BMC Atrium CMDB
See BMC Atrium Configuration Management
Database (BMC Atrium CMDB)
BMC Atrium Configuration Management Database
(BMC Atrium CMDB)
about 20
architecture 29
data model 46
production dataset 78
Index
167
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
BMC Atrium Core
architecture 25
implementing 117
managing 145
BMC Atrium Discovery and Dependency Mapping
configuration data discovered 74
dataset 78
discovering data 74
running and scheduling tasks 82
BMC Atrium Integration Engine
about 24
configuring 127
transferring data 74
BMC Atrium Product Catalog
about 23, 96
approving products 125
best-practice categorizations 124
relation to Normalization Engine 94
BMC BladeLogic Client Automation
running and scheduling tasks 82
BMC Configuration Import dataset 78
BMC Configuration Management
configuration data discovered 73
dataset 78
BMC Impact Solutions, using new classes 64
BMC Remedy Action Request System (BMC Remedy
AR System)
architecture 32
benefits 33
BMC Atrium CMDB and 32
using with extended data models 64
BMC Remedy AR System
See BMC Remedy Action Request System (BMC
Remedy AR System)
BMC Remedy Asset Management, dataset 78
BMC Sample dataset 78
BMC Software, contacting 2
BMC.ADDM dataset 78
BMC.ASSET.SANDBOX dataset 78
BMC_AccessPoint class 55
BMC_BaseElement class 55
BMC_BaseRelationship class 56
BMC_Collection class 55
BMC_Component class 56
BMC_Dependency class 56
BMC_Document class 55
BMC_ElementLocation class 56
BMC_Equipment class 55
BMC_FederatedBaseElement class 57
BMC_FederatedBaseRelationship class 57
BMC_Genealogy class 56
BMC_Impact class 56
168
BMC_LogicalEntity class 55
BMC_MemberOfCollection class 56
BMC_Person class 55
BMC_Settings class 55
BMC_System class 55
BMC_SystemComponent class 55
BMC_SystemService class 55
building CMDBs
phased implementation 42
Stage 1 40
Stage 2 40
Stage 3 41
Stage 4 41
Stage 5 42
bulk data, loading 27
business services
Calbro Services example 112
described 109
C
Calbro Services
about 37
adding custom workflow 155
auditing 149
business service 112
CI eligibility matrix 69
extending the data model 63
federating data 84
mapping CIs to data sources 74
multitenancy 90
normalizing data 98
populating BMC Atrium CMDB 139
reconciling datasets 78
service model 108
cardinality 48
cascading delete 49
categorization classes
about 51
extending 62
Category attributes 60
CDM
See Common Data Model (CDM)
challenges to SACM 42
changes, tracking instance data 146
changing attribute permissions 120
CI change events 152
CI eligibility matrix 69
CIM
See Common Information Model
CIs
See configuration items
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Class Manager, about 23
classes
about 46
abstract 52
abstract with data replication 53
adding attributes to existing 60
BMC Atrium CMDB 54
categorization 51
configuration item 46
data model 54
data storage methods 50
deleting instances of 49
extending 61
naming and numbering rules 64
regular 50
relationship 47
replicating subclasses 53
CM
See configuration management
CMDB Environment layer 31
CMDBRowLevelSecurity permission 121
CMDBs
BMC Atrium infrastructure layer 29
configuration items and 68
data types 68
implementing 42
integrating ITIL processes 35
CMDBWriteSecurity permission 121
CMS architecture 29
CMS Data layer 30
combining reconciliation activities 105
Common Data Model (CDM)
about 23, 46, 54
abstract classes 62
abstract classes with data replication 62
adding attributes 60
adding subclasses 61
BMC applications and 64
BMC Impact Solutions and 64
BMC products and 59
categorization classes 62
classes 61
configuration item classes 55
diagram 59
documenting 65
existing attributes 60
extending 59
final classes 62
naming and numbering rules 64
regular classes 61
relationship classes 56, 61
sample models 58
Index
169
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
copying dataset instances 105
custom workflow, adding 155
customer support 3
D
data
access 26
auditing 146
BMC Atrium CMDB model 46
bulk loading 27
configuration 46
federated 82
importing to BMC Atrium CMDB 135
migrating to BMC Atrium CMDB 135
open access 26
partitioning 27
programmatic access to 27
reconciling 99, 139
related to configuration items 71
replicating abstract class 53
replicating BMC Atrium CMDB 92
tracking changes 146
types stored in ITIL CMDBs 68
data exchanges, creating 129
data mappings, creating 128
data models
See also Common Data Model
about 22, 46
abstract 52
abstract with data replication 53
attributes 46
Calbro Services example 63
categorization 51
classes 46
data storage methods 50
extensibility 23, 46
industry standards 23, 54
inheritance 46
object-oriented 23
regular 50
synchronizing changes 54
data storage methods 50
datasets
about 77, 94
BMC Asset 78
BMC Configuration Import 78
BMC Sample 78
BMC.ADDM 78
Calbro Services example 78
comparing 101
copying instances 105
170
datasets (continued)
deleting instances 105
identifying 80
merging 101
production 78
purging instances 105
reconciling 99
renaming 105
Definitive Hardware Library (DHL), approving
products 125
Definitive Media Library (DML)
about 24
approving products 125
defined 97
See Also BMC Atrium Product Catalog
deleting
cascading 49
configuration items 155
dataset instances 105
instances 49
relationships 49
destination classes 47
DHL
See Definitive Hardware Library
diagram of the Common Data Model 59
discovery
BMC Atrium Discovery and Dependency
Mapping 74
data sources 75
deleting undiscovered CIs 155
tasks 74
Distributed Management Task Force 23, 54
DML
See Definitive Media Library
DMTF
See Distributed Management Task Force
documenting extensions 65
E
eligibility matrix 69
Event Channels
configuring classes for 153
interfaces to 154
overview 152
performance considerations 154
permission roles for 154
subscribing to 153
examples
configuration item 68
relationship 71
test cases for validation 136
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Extended Data layer 30
extending the Common Data Model
about 59
abstract classes 62
abstract classes with data replication 62
adding attributes 60
adding subclasses 61
BMC applications and 64
BMC Impact Solutions and 64
BMC products and 59
categorization classes 62
classes 61
diagram 59
documenting 65
existing attributes 60
final classes 62
naming and numbering rules 64
regular classes 61
relationship classes 61
singleton classes 62
extensible data models 23
F
federated classes 57
federated data
about 27, 82
as part of a CMS 29
attribute substitution 86
benefits 30
Calbro Services example 84
foreign key substitution 87
model 25, 27
using 83
federated data model, about 27
federated infrastructure 29
federation methods 84
final classes
extending 62
foreign key substitution 87
forms
audit 147
log 148
G
goals of SACM 34
groups 91
H
hidden class permissions 120
I
identifying
datasets 80
instances 100
implementing
BMC Atrium Core 117
CMDBs 42
import management module, purpose 73
importing data to BMC Atrium CMDB 135
incremental merge jobs 102, 132
industry standards, data model 23, 54
infrastructure
about 29
application layer 31
BMC Atrium CMDB 29
CMDB Environment layer 31
CMDB layer 29
CMS Data layer 30
federated 29
related data 30
inheritance 46
instances
audited 147
CMDBRowLevelSecurity permissions 121
CMDBWriteSecurity permissions 121
copying dataset 105
deleting dataset 105
deleting from overlay datasets 80
deleting relationship class 49
identifying in datasets 80, 100
purging dataset 105
replicating 53
sample audit 151
integrating IT processes 35
integration benefits 35
IT Infrastructure Library (ITIL)
about 33
data types 68
SACM 33
Item attributes 60
ITIL
See IT Infrastructure Library
J
jobs, combining reconciliation activities 105
Index
171
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
parent classes 47
partitioning
about 27
data 27
datasets and 77
pending changes 54
permissions
about 89
BMC Atrium CMDB 89
change attribute 120
configuring 119
groups 91
hidden class 120
roles 92
view attribute 120
visible class 120
phases of CMDB implementations 42
planning
bringing data into BMC Atrium CMDB 67
building CMDBs 41
CMDB requirements 40
data model 45
driving value 42
establishing management teams 40
normalization 93
reconciliation 99
service model 107
solutions and tools 41
processes, integrating IT 35
Product Catalog
See BMC Atrium Product Catalog
product support 3
production datasets, defined 78
programmatic access to data 27
purging dataset instances 105
M
managing BMC Atrium Core 145
manually updating attributes 138
mapping configuration items to discovery data
sources 72
members, relationship 47
merging datasets
about 101
incrementally 102, 132
independent activities 103
one activity 102
Microsoft Windows Management
Instrumentation 23, 54
migrating data to BMC Atrium CMDB 135
multitenancy
Calbro Services example 90
configuring 121
defined 89
N
naming rules for extensions 64
normalization
Calbro Services example 98
modes 95
Normalization Engine
about 20
example 94
relationship to Product Catalog 94
numbering rules for extensions 64
O
object-oriented data models 23
open access to data 26
overlay datasets
about 79
deleting instances 80
instance IDs 80
queries to 80
172
Q
qualifications, audit 150
queries, overlay dataset 80
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
R
reconciliation
about 139
combining activities 105
comparing datasets 101
copying dataset instances 105
data 99
deleting dataset instances 105
executing jobs 105
identifying instances 100
jobs 105
merging datasets 101
purging datasets 105
renaming datasets 105
Reconciliation Engine
about 21, 99
executing jobs 105
regular classes
about 50
extending 61
related data 30
relating CIs using Atrium Explorer 109
relationships
about 47
BMC_BaseRelationship 56
BMC_Component 56
BMC_Dependency 56
BMC_ElementLocation 56
BMC_Genealogy 56
BMC_Impact 56
BMC_MemberOfCollection 56
cardinality 48
cascading delete 49
Common Data Model 56
configuration item 70
datasets and 77, 94
deleting 49
deleting instances of 49
destination 47
examples 71
extending 61
extending classes 61
left-side 47
members 47
placement 47
right-side 47
source 47
weak 48
renaming datasets 105
replicating data 92
restricting audits 150
S
SACM
See Service Asset and Configuration
Management
samples
Common Data Model 58
instance audits 151
LAN computer system data models 58
typical computer system data models 58
Service Asset and Configuration Management
(SACM) 19, 33
benefits 34
challenges, success factors, and risks 42
data accuracy 36
data availability 36
goals 34
ITIL and 33
Service Catalog, about 24
service models
Calbro Services example 108
defined 108
structure 134
service oriented architecture (SOA) 28
singleton classes
extending 62
SOA
See service oriented architecture
source classes 47
subclasses
adding to the Common Data Model 61
creating 61
federated data 57
substitution
attribute 86
foreign key 87
success factors with SACM 42
support, customer 3
synchronizing data model changes 54
Index
173
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
T
teams, Configuration Management 40
technical support 3
test cases for validation 136
testing unidirectional and bidirectional data
transfers 136
tracking instance data changes 146
Type attributes 60
U
undiscovered relationship information, adding
manually 138
unidirectional data transfers, testing 136
V
validating data import using BMC Atrium
Integration Engine 138
virtual machines 56
virtualization management 28
visible class permissions 120
W
weak relationships 48
web services 28
WMI
See Microsoft Windows Management
Instrumentation
workflow
best practices for adding 156
Calbro Services example 155
174
*160635*
*160635*
*160635*
*160635*
*160635*