How to model an application with a N-tier architecture type?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-08-2025 04:35 AM
Hi,
Could somebody guide me in the right direction for the modelisation of an application with a N-tier architecture type? I don't seem to find any similar examples to lean on 😞
I have two fictive applications (XFO and XBO). They each have a an Angular frontend (deployed on AKS) and a Springboot backend (hosted on on-prem on K8s). Both frontends communicate with their respective backends via APIs. Both backends rely on the same database (XDB). Keycloak is used for authentication/authorization purposes.
I have added my attempt as attachment. Does it make any sense?
In which table would I include a platfrom/framework such as AKS and K8s? - cmdb_ci_appl?
Many thanks already for any help on this matter,
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-08-2025 05:54 AM
I'd go one level up on your diagram, XFO and XBO are the business apps I think. The service instances might be Prod and Dev based on your structure. The dependency's might be:
XFO Frontend depends on XFO backend (can the frontend run without the backend?). Remember that the service instances are logical representations.
For the platform/framework, there is a business application "architecture type" (platform app or platform host) that so I've always thought that is where the platforms go.
Joe
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-11-2025 12:00 AM
Thanks for your input, Joe!
I now have XFO and XBO as business applications and they have a 'consumes' relationship with their prod environment:
- XFO (business application)
- Consumes XFO prod (application service)
- XBO (business application)
- Consumes XBO prod (application service)
To show the relationship between front and back end I would do the following:
- XFO prod
- Depends on XFO backend (application service)
- Depends on XFO backend springboot app (application CI)
- Depends on XFO frontend (application service)
- Depends on XFO frontend angular app (application CI)
- Depends on keycloak (application service)
- Depends on keycloak (application CI)
- Depends on XFO backend (application service)
I don't seem to see the value of having a separate 'depends on' relationship between XFO front and backend. If either one fails, XFO won't work properly + it doesn't mean the basis of the other is faulty as well? It just won't show properly?
What do you - or anyone else - think?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-11-2025 06:34 AM
The Front End/Back End question depends how you use it.
In typical example, your Front End is the web interface (what users see) and the Backend is the data management (provides data to Front End).
As you are building out your CI relationships, each has as separate chain of CIs they depend on. With CSDM 5 you know have more nuance in your application services, you might have your backed be a "Data Service Instance".
Where the relationship might be helpful is in the troubleshooting side. Users will probably report errors from based on Front End "Getting broken index errors in XFO". Having that dependency might help analysis "Front End is not logging errors, check back end"