I dont know how many you out there have implemented the cmdb provided by remedy ? While they took a good stab of implementing the CMDB with reconilation, dataset , relationship etc I have one complaint and question. Every CI is inherited from a base element CI which is fine with me. But instead of defining this more like a template class they have defined it to be more like an IT asset which makes it hard while defining CIs, under which non IT assets like Services, Models etc need to be stored.

Does ITIL state anywhere spcificaly the structure of a CMDB ? More like a check list that has to be implemented to call an asset database a CMDB ?

A CMDB according to ITIL is a 'database' where are the Configuration Items details are stored. And where the relationship between CIs is also kept

As how each tool vendor builds a CMDB is dependent on their take and the underlying databases that is used and the current tool set by that vendor

The key to a well designed tool for a CMDB is that it should be flexible for use by your company without being forced to follow their method

For example

A tool vendor had a cmdb like tool which was perfect for Desktop and laptop management as it provided all the required (and not required) infor on desktop etc

But, if the company does not use the tool for the Internal IT environment but to provide the tool as part of the company providing managed hosting service. Lo and behold, the tool did not get used because it could not be used._________________John Hardesty
ITSM Manager's Certificate (Red Badge)

Does ITIL state anywhere spcificaly the structure of a CMDB ? More like a check list that has to be implemented to call an asset database a CMDB ?

This is a major problem of the ITIL market. As you do not have a formal way to certify products (ok, you have Pink Verified, but it is a company certification, rather than an industry one, not to mention the doubtful process of certification...), simply every single product claims to be ITIL Compliant !

If you say that in Remedy you cannot create a service CI, then Remedy is definitely not ITIL Compliant. Simple as that !

Also, take a look at the service support book, configuration management chapter. There you will find a list of what a configuration management system should have according to ITIL. Strangely, having the possibility to create a service CI is not mentioned, although it is written early in the same chapter that "...CIs may be hardware, software or documentation. Examples include services, servers, environments, equipment, network components, desktops, mobile units, applications, licences, telecommunication services, and facilities.".

I know customers who have found Remedy adequate for how they want to track assets, as well as represent the mapping of CIs such as software and services. The confusion caused by the term CMDB continues and I'll repeat the same message as John Hardesty - ITIL compliant is a meaningless term! Every service desk has to be customised to reflect the approach an organisation adopts for communicating and recording change, incident, risk etc. Some are easier to customise and maintain, others are so difficult you wouldn't bother. It does help to have a clear set of requirements before you start, but then again this is the IT world and few ever ask for professional help and are destined to fail.

On a more specific point, my experience is that you can't easily represent a service by just one CI type. I've found that it is often "good practice" to have a service CI supported by a number of service-elements / sub-service / service types to enable easier communication of change risk and incident reporting. In large environments this means you can restrict services to around 50-100 maximum, as well as split it down further.

For example we could have a service called HR, with supporting components of recruitment, permanent, temporary and post employment. Different bits of software and hardware will deliver the IT for the different aspects of HR, with some shared across function.

Every CI is inherited from a base element CI which is fine with me. But instead of defining this more like a template class they have defined it to be more like an IT asset which makes it hard while defining CIs, under which non IT assets like Services, Models etc need to be stored.

Uh, you've lost me.
I've got a fair bit of programing and modeling masturbation behind me and I do not understand what you mean by template class here.

As for modeling non IT assets like Services - there are quite a few depending on what exactly you want to describe. BMC_BusinessService, BMC_ApplicationService are two possible use cases for services - there are more.

If you do not understand their common data model perhaps you need to talk to them directly so that they can explain or maybe take one of their courses in CMDB administration.

We implemented the BMC Atrium CMDB closing on two years ago, so I'll share my experiences.

As to the Base Element vs CI specific classes: There are some attributes that are common to all types of CIs. The CI name, owners, and unique identifier are good examples of this. These attributes are stored in Base Element and viewable through all classes. Some attributes are specific to a type of CI. For example, IP address would not be relevant to all CI classes, so it is stored in only the classes where it is applicable like Computer System. This is really only important when you want to add attributes to CI types so that you can figure out where to add them.

As to non-asset CI types: We include a number of non-asset type CIs in our CMDB and the default BMC set of classes seems to handle them fine. Some are services (email, voice, conference services, etc)), locations (Trenton data center, home office), and organizations (human resources, information services, facilities, etc). We use Business Service, Physical Location, and Organization respectively for these. Part of the exercise in figuring this out is to identify which classes BMC intended for each use. They really to have most things covered. If there's really something your organization requres that is not included, you can add custom items. We try to follow BMC's guidance in this and look for any way to handle our needs within the out of the box classes and attributes before adding anything custom. To date the only thing we've needed to customize is the addition of some attributes.