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

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

In your example, when it comes to Application (cmdb_ci_app) and Software Product Model (cmdb_software_product_model), a specific instance of oracle db v.x is in the Application table, and oracle db v.x would be in the Software Product Model table?

Barry Kant
ServiceNow Employee
ServiceNow Employee

Hi, 
the DB instance is in an extend table of cmdb_ci_appl. and contains a model_id for software models. 
The DB itself is also in an extend table of cmdb_ci_appl and also contains a model_id reference for software model. 

If there is an entry in the Software Product Model table for the DB itself, what is the purpose of a similar entry for the DB in the cmdb_ci_app table?  Or perhaps another way to ask - why would both the DB and DB instance be recorded in the same cmdb_ci_app table AND the DB also recorded in the Software Product Model table?