When researching content management systems (CMS) you need to be familiar with the different CMS implementation architectures:
- Traditional (or coupled/integrated) CMS
- Headless CMS
- Decoupled CMS
To better understand these different different CMS paradigms, it is helpful to understand some basic concepts and terms.
Presentation, Logic and Data
Many applications and websites can be broken down specific functional or logical layers. For our purposes we will focus on the following layers:
- Application/Business Logic
- The functional logic of the application. For example, the logic required to retrieve specific data, process that data, and return it as formatted data.
- The database or data store for the application. For example, in a CMS your content will be stored in the database.
These layers may be part of a single application or separated into multiple applications that communicate with each other. These layers can also run on separate infrastructure or physical servers (this is known as a multi-tier application).
Head and Body of a CMS
The Head refers to the front end or application where the content is delivered. The Body refers to the system where the content is managed.
Traditional, Headless and Decoupled CMS Overview
Traditional (coupled) CMS
Body and Head are the same application
In a traditional CMS, the presentation and application layers are not separated. A single web application is responsible for the business logic (back-end / server side code) as well as the presentation (front-end code and markup). This same web application is typically also responsible for serving the site’s admin/editing interface where content editors will be making their updates.
There is no Head
In a Headless CMS platform there is no presentation layer. The web application provides the content editing and management and delivers the data through API endpoints.
The body and head are separated
A decoupled CMS platform has separated the application layer from the presentation layer. This system has an application layer where the content is managed and business logic is handled. The application layer exposes the CMS data through API endpoints. However, there is also a separate presentation layer that is similar to the traditional model. The presentation layer retrieves the content from the exposed APIs.
In this model there is still a presentation layer. However, data can also be requested by directly calling an API endpoint provided by the application layer. This is like a hybrid of traditional and headless CMS platforms.