Product Models & CSDM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
I've found the descriptions about Product Models (cmdb_model) quite confusing - since CSDM 5 there seems to be a much larger focus on this, but it's not quite clear if the intended purpose of the table is CI/Asset driven (Infrastructure components) or also relate to other layers of CSDM, e.g., Business Applications, Application Services & Service Offerings. I.e., is it intended that Product Models also store Technical/Platform Products?
E.g., Cf., CSDM 5:
In the ServiceNow AI Platform, products are recorded as Product Models (cmdb_model). Product Models enable you to identify a product owner, the status of a product within your organization, compatibility with other products, reference to product catalog, and reference to a list of objects that represent the details of various stages of a product’s life cycle. Additionally, you can identify the end-of-life details of your products as established by third-party providers and/or internal product owners. With product models, you can document bills of materials (BOMs) with other products as components to represent the set of products that your organization develops, sells, and/or consumes.
The product model tables are not CIs. CIs reference product models using the “Model ID” attribute available on all CMDB tables. For example, a Service Offering CI may reference a Service Offering Model, while a Windows Server may reference a Hardware Model.
E.g., Cf., ServiceNow docs:
A product is a type of good or service that your company sells and supports. Product models identify different types of products, such as service, hardware, software, or consumables.
A product model is a specific version or configuration of a product. Build hierarchical product models that represent the set of products that your organization offers to its customers and define relationships between different product models. Define whether a product is tracked as an asset, a CI, or both. Additionally, identify or create the CI and asset classes to capture configuration information for product models.
Product models provide customer service agents and customers with a common understanding of the products being used by a particular customer.
Question 1: What is an example of a Product Model referenced by a Service Offering or an Application Service?
Question 2: If e.g., you have a Platform Product = Azure Landing Zone, would this be modelled as a Product Model and related Application Services/Service Instances reference this Product Model via,. Model ID? Or should it be mapped as a Business Application (considering a stratification where AZL is modelled as a Digital Product in the Business Application table).
From a holistic point-of-view, I would lean towards keeping Product Models 'clean' and only populating based on discovered CI's and not create manual Product Models and keep Platform Products as Business Applications enabling mapping to Business Capabilities and Value Streams keeping in line with other industry frameworks where Products roll up to Value streams.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
The Model table covers a wide variety of objects - from an Application Model to a Facility or Offering Model - each of which has a different context based on the object.
Business Applications get an Application Model by default (I think there's a Business Rule that populates it). Other objects may need referential data or some form of process for the model to be populated, but (greatly generalising) a Model is the productisation of said object. So a Facility Model would be a specific class or type of facility (e.g. an office, or a warehouse perhaps), whereas a Business Application Model would be a specific application product used as the "product" in Agile Development when creating demands, epics, stories and defects, and as Business Application covers all instances of its implementation, it's much nicer to manage it here than (for example) at the Application Service or Application [cmdb_ci_appl] level.
A product model could be ServiceNow Incident Management - it has its own code, development stream and platform updates. It is related to the ServiceNow Business App with the same name, that is a Platform Application running on the ServiceNow Platform Host (which itself would have a ServiceNow product model).
If something executes by running code stored on some form of infrastructure (as opposed to a end user device like a PC) then it's almost certainly a Business Application. A great example of this is the ServiceNow MID Server. It is just a lightweight java app that runs as a service on the target host, yet it is definitely a Business Application and is referenced by ServiceNow in sample service maps.
It doesn't make sense to me to create objects at every level - as per your second question, I'd expect both the Business Application and the Application Service to reference the same Application Model. After all, an App Service is just the operational deployment of a Business Application in a given environment or geographic location.
I hope this helps!
Mat
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
Thank you for your perspective.
1. Business Applications get an Application Model by default (I think there's a Business Rule that populates it).
- What do you mean by this exactly? At least in my PDI, Business Applications don't automatically have Model ID populated.
2. A great example of this is the ServiceNow MID Server. It is just a lightweight java app that runs as a service on the target host, yet it is definitely a Business Application and is referenced by ServiceNow in sample service maps.
- I don't agree with this. I acknowledge that there are different approaches, but even according to the Data examples, the MID Server is depicted as an Application (cmdb_ci_appl) running on a Server.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2 weeks ago
With regards Business Applications they should be creating an Application Model by default but the Model ID field is not on the Business Application form by default, maybe just expose that field in the list view or review the XML on the record to confirm.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2 weeks ago
Hi Roberto,
Thank you. I am aware - in the list view no Business Application has it populated in the PDI. I can't find any configuration/logic which enforces this OOB. Should it be via., BR, IRE Rules or other config?