Application Service vs. Application

marie_jp
Tera Contributor

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.

MarieT__1-1683520252146.png

 

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?

MarieT__2-1683520749106.png

 

1 ACCEPTED SOLUTION

Barry Kant
ServiceNow Employee
ServiceNow Employee

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

View solution in original post

19 REPLIES 19

marie_jp
Tera Contributor

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

In this CSDM example series videos, we discuss how the CSDM model supports a shared Technical Service (LDAP) and Client Compute scenario. We discuss the options you should consider when establishing your Offerings, how Locations & Product Models are leverage, and synergies between Service ...

The recommended relationships can also be found in the CSDM 4.0 whitepaper on page 31:

CasperJT_0-1683531894981.png

 

//Casper

Martin Grosskop
Tera Guru

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

marie_jp
Tera Contributor

Hi @Martin Grosskop , thank you for the advice! I may use that strategy/labeling for docs until it becomes second nature. 

Godbero
Tera Contributor

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.