
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-07-2023 09:39 PM - edited 05-07-2023 11:06 PM
Broad question: What is the impact I should be considering when setting up the CMDB according to the CSDM framework and ignoring (post-poning to build on later) the cmdb_ci_appl_xx table and relationships and use the cmdb_ci_service_discovered/calculated/query_based instead?
i.e., we would have an application service [cmdb_ci_service_calculated] "ServiceNow platform PROD" but not create an "ServiceNow platform PROD" record in the application table [cmdb_ci_appl_now_app].
Even the CSDM Data Model Examples slides provided by ServiceNow skips the Application layer.
Is it more at the DevOps level where the segregation is important?
Integrations/Interfacing
Objective: to understand the data flow between systems so if one is affected, the other that receives the data will be impacted/malfunctions given that we do not have the *interfaces* relationship type at the Business Application layer because we do not have APM.
Specific Question: If I were to forcefully create an Application Service sends data to Application Service (Workday sends data to ServiceNow--not application-->app service, but app service-->app service) or an Application Service sends data to Business Service Offering, are there long-term impacts I should be aware of?
I realize is that the framework is set up so data interfaces are modeled as: Application Sends data to Business/Technical/Application Service & Offerings.
I need a case to explain why we should register apps both at the App Service AND Application level. The application service is, of course, a logical representation and encompasses just more than the running program itself (application), however, it (application service) is used as a CI for incident, problem, and change so I see no immediate downside to treating application service records as an application.
Product Model
Even bundling to track versions and product family appears to me, could be done at the Application Service layer and not necessarily at the Application but am I missing something important?
Solved! Go to Solution.
- 9,341 Views

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-07-2023 11:08 PM
Good day Marie,
in CSDM concept the Business Application is a conceptual application level. Something that is bought, or (to be) build. A strategic level.
The Application level (cmdb_ci_app and all extends) are real applications. Middleware like Databases, webservers and real applications deployments.
The layer in between is the Application Service. This represents the deployment stack if the Business Application. It is still a logical representation where the Apps table is real. The Application Service table(s) are extended from the cmdb_ci_service table and will be output of the Impact Analysis in Incident and Change mgmt. It also links to Business Service Offerings (how do we offer the Application to consumers).
In practice the applications level supports 1 or multiple Application Services.
1 Application Service is supported by 1 or multiple Applications, eg:
1 oracle database instance and 1 tomcat web service supports and 1 Risk Management application supports 1 a Risk Management - PROD Application Services.
I hope the purpose of those tables is clear this way. In general it is not difficult to add this layer in between.
BR,
Barry

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-08-2023 12:39 AM
Ah, and for anyone who's just starting.. app service-->app service "sends data to" is apparently appropriate as demonstrated here: https://youtu.be/0ia-I5Kcuvg?t=293
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-08-2023 12:45 AM
The recommended relationships can also be found in the CSDM 4.0 whitepaper on page 31:
//Casper
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-08-2023 02:15 AM
I normally rename the Application (cmdb_ci_appl) to "Software Component".
I found this helps with users who often get confused between Service, Application Service and Application

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-08-2023 02:26 AM
Hi @Martin Grosskop , thank you for the advice! I may use that strategy/labeling for docs until it becomes second nature.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-09-2024 08:33 AM
I have the same question as Marie, or maybe I should say questions about how to use the Application table (cmdb_ci_appl) versus the Application Service table (cmdb_ci_service_auto). Here are my most direct questions.
1. What is the relationship between the Application table and anything. When I find the table in a document or on a slide the line from it to another table is never labeled. In Marie's image above there is an arrow from Application Service to Application with no label and then from Application to Product Model again with no label.
2. Which of theses tables (App Service vs App) should I connect to Technical Service Offering. In my image 1 showing O365, Exchange is linked to Tech Service Offering by the Application table. In Image 2, MS Dynamics is linked to Tech Service Offering by the Application Service Table. What does this difference mean?
3. Am I to understand that for all practical purposes every application we have needs to be entered in both the Business Application table and the Application table?
Thanks to anyone in advance that can help me keep my CMDB loading of applications moving.