iOS Architecture Patterns for Large-Scale Development, part 1: Modular architecture
Aug 26, 2020 • 7 min read
Aug 26, 2020 • 7 min read
For almost all industries the digital experience has become a primary importance. And ongoing rapid technology advancements mean that many companies need to reconsider the technology choices around their Content Management System (CMS). CMSs have changed a lot in the last ten years and are now far more complex than they were in the past.
For companies looking to modernize their systems, it’s helpful to have a good understanding of recent history and the current state of the industry. It also helps to be aware of the currently available technology stack and vendors in order to make the best technology choices.
We have therefore put together this guide to provide an overview of the history of the CMS, how the technology works, as well as an analysis of the leading vendors. It will additionally provide a set of recommendations on what choices your company should make depending on your needs.
To understand how the CMS has evolved, it helps to consider how the whole web industry has changed over time. The following section highlights the most crucial moments in web development including how these changes influenced the web in general and the CMS market in particular.
The period was characterized by Flat HTML text files. 1993 saw the first support for images. By 1995 the World Wide Web Consortium (W3C) was up and running. 1996 saw the first introduction of the Internet Explorer browser, which was the first to support CSS.
A major turning point came in 1997 as dynamic content came into its own with the introduction of the Document Object Model (DOM). The DOM defines the logical structure that lets you identify and programmatically control parts of a document.
Many enterprise CMS platforms began to appear around this time including Interwoven (1995), Documentum (1996), FatWire (1996), FutureTense (1996), Inso (1996), and EPiServer (1997).
The CMS of the early to mid-2000s started to cater to enterprise and business needs in a larger and more professional manner. Simultaneously, the period saw the advent of open-source CMS platforms like Drupal, WordPress, and Joomla. Most of these contained both the back-end and front-end technology of a website and could handle text, images, and other files to store, display, and download.
In 2010 smart tablets came on the scene. REST APIs and the JSON data-format were vital to delivering content to mobile devices. This megatrend of delivering content to mobile devices ushered in the mobile web era. This era became known as Web 3.0, to identify the shift from computers and laptops to mobile content delivery. By the beginning of 2014, mobile internet use exceeded desktop use in the U.S.
A Digital Experience Platform (DXP) is a software platform that enables you to build and deliver integrated, optimized user experiences across all digital channels, all audiences (though with the customer at the center), and all stages of the user/customer lifecycle.
The Importance of Personalization
Personalization is key to building an effective Digital Experience Platform. Personalization means understanding your visitors’ interests and tailoring content to fit their needs and preferences, providing them with an experience that they find relevant.
Artificial Intelligence and Machine Learning
AI and machine learning are already having a significant impact on content management. Integrating your content hub with AI and machine learning tools and services can help you discover hidden opportunities, speed up processes, and most importantly, offer relevant digital experiences to customers.
On the timeline we introduced a new definition, DXP, and we also saw the important role that JSON and CSS played in significantly influencing the entire web industry. We will now progress to looking at modern trends in more detail in order to further explore DXPs.
When talking about content management systems we often use the CMS abbreviation but in the modern world, it's not really relevant anymore. This is because businesses in general have more complex requirements than simply managing content on web channels. Instead, modern solutions are able provide business with a whole range of capabilities including handling orders, creating marketing campaigns, and providing rich analytics and reports. This type of systems is called Digital Experience Platform (DXP).
The first and most crucial difference is that DXPs always include or are built around a CMS. In other words, the CMS is only a functional module of the DXP along with other important modules that can be built-in or connected as a third-party service. While the CMS is responsible for working with content and its delivery to the channels, DXPs are used to manage the full business lifecycle including analytics, reports, media data, customer relationships, finances, etc.
Let’s highlight the key difference to provide a clearer picture.
There are two diagrams on the Figure 1. The left diagram describes the basic CMS architecture while the right diagram includes the CMS as just a part of the overall DXP along with other modules, which will be described in more detail below.
Let's now take a look at the key differences from another angle. There is a detailed set of features on Figure 2 that can be found in modern CMS/DXP solutions. We can now evaluate the system from the users’ perspective, which helps us to understand the type of system we are ultimately looking for.
Figure 2 divides all the features into two categories. Those highlighted with a green background include functionalities that are supposed to be included in a CMS, while those with a pink background include functional modules that are part of a DXP or a third-party service.
DXP modules and their role can be considered as a group of specific standalone services, such as the Cognitive module. Under the hood, the Cognitive module exposes the data to different algorithms and as a result can generate informative live dashboards, charts, notify users about main trends, provide recommendations, and even predict the future using AI and machine learning.
As another example, let’s review the Digital Assets Management module. This module gives users rich functionality for working with a range of different media types. It includes an online editor, a powerful search engine, version control, as well as many other useful features. Examples of other major module types that can be included in a DXP include order management, customer management, reporting, and inventory management.
Hopefully it is now clear that the CMS is just one component of the broader DXP, which is a complex, scalable system consisting of many independent modules. The DXP is highly adaptable to specific customer requirements and should have the capability to expand across new areas of responsibility where required.
As a next step, let’s dig deeper into CMS architecture.
During the evolution of CMS systems, three main architectural approaches were developed. These were Monolithic (Coupled) CMS, Headless (API-first) CMS, and Decoupled (Hybrid) CMS. We will now take a closer look at the meaning of each type and compare and evaluate each one according to current needs.
Monolithic CMS components:
Monolithic CMS doesn't give developers much freedom in terms of content representation. As a rule, developers have to work within tight borders that the CMS sets. In addition, integration with third-party services can be problematic.
Headless CMS components:
Headless CMS is a fully API-first system. The user is able to change content using the admin panel. Content is stored in a database and can be accessed from API. This type of system essentially doesn’t care about content representation at all, i.e. the content is fully separated from the user visual experience.
Decoupled (Hybrid) CMS: Decoupled systems have all the functionality of headless CMS but provide the representation layer the ability to support websites or templates out-of-the-box.
Looking at the above three architectural approaches of the CMS, it is possible to define one crucial aspect - in an omnichannel world we can't relay data coupled with the visual experience. What is needed for representation is only clear, error-free data. Only with pure data (JSON) and unified transport (REST API) can we achieve the goal of omnichannel delivery (web, mobile apps, IoT devices, etc). As a result, the Monolithic CMS is completely outdated if the goal is to be able to support multiple channels.
At this stage, we have covered a few important points. We’ve discussed the difference between a CMS and a DXP and the range of functionalities present in each and taken a look at the current CMS architectural types. This fundamental knowledge now allows us to make a deeper analysis of the current market and its major players.
As a next step, let’s assess the current state of the market and its leading players. We have developed the list of leaders based on Gartner and Forrester analytic reports.
The current top vendors are: Adobe, Acquia, Sitecore, Episerver, Oracle, OpenText, Progress, Kentico, Crownpeak, e-Spirit (FirstSpirit), Coremedia, Bloomreach, Magnolia, SDL, WP Engine, and eZ.
Each of the vendors can be evaluated based on the following categories - technology stack, CMS type, and presence of AI-powered functionalities (Table 1).
|Vendor||Technology||CMS type||AI presence|
|Acquia||PHP, Cloud||Headless||AI (Personalization)|
|Sitecore||.Net, Cloud||Headless||AI (Personalization)|
|Episerver||ASP.Net, Cloud||N/A||AI (Personalization)|
|OpenText||.NET, Cloud||N/A||AI (Analytic)|
|Progress||ASP.NET, Cloud||Hybrid||AI (Third-party integration for machine translation)|
|Kentico||.NET, Cloud||Headless||AI (Recommendations)|
|Crownpeak||Java, JS, Cloud (AWS)||Headless||N/A|
|e-Spirit(FirstSpirit)||Java, Cloud||Hybrid||AI (Personalization)|
|Coremedia||Java, Cloud||Hybrid||AI (Intelligent Image Tagging, Assisted Landingpage Creation, Smart Product Recommendations for Shoppers)|
|Bloomreach||Java, Cloud||Headless||AI (Site search, SEO and product merchandising tools)|
|Magnolia||Java, Cloud||Headless||AI (Image tagging)|
|SDL||Java, Cloud||N/A||AI (Translation service)|
|WP Engine||PHP, Python, Ruby, Cloud||Decoupled (WordPress' REST API)||AI (Recommendations, text quality)|
|eZ||PHP, Cloud||Decoupled||AI (Third-party plugins)|
Information from Table 1 allows us to produce the following three pie charts, which show which technologies are preferred by the leading vendors.
This absence of NodeJS use is worthy of further research and we will undertake a separate investigation into NodeJS-based CMS platforms and share the results in a separate blog article.
Figure 4 demonstrates two important points. Firstly, Monolithic CMS is in the past due to its inability to support omnichannel content delivery. Secondly, Decoupled (Hybrid) CMS has become more and more popular and it appears that the increasing trend towards this type of system will continue in the near future.
Artificial Intelligence, one of the most prominent technology trends of recent years, has also had a significant influence on the CMS/DXP market. We determined that around 80 percent of the top vendors use some form of AI in their products. Not all of these AI features are built directly by the vendors however, with around 20 percent of vendors using third-party solutions that are connected to their systems.
CMS solutions are essentially evolving into DXPs. Many vendors in the CMS market now offer a CMS alongside a separate DXP product. While CMS remains at the heart of the technology stacks that support customer experience initiatives, native CMS capabilities are expanding beyond their traditional boundaries. The “omni experience” mandate and integrations with adjacent technologies are driving expansion into the area of DXPs.
The cloud extends beyond infrastructure. Demand for continued innovation leads organizations to remove themselves from basic IaaS/hosted-service-related discussions about whether a CMS offering resides in a particular cloud. The driving force is now innovation, rather than customization. Customers are increasingly looking for more modern WCM technologies that are built on mesh app and service architectures such as MASA, microservices, and serverless and containerized architectures.
Hybrid is the new headless. Although “headless content management” has become something of a buzzword, global organizations are increasingly seeking systems that are not only purely headless but that can also provide head-on and head-optional capabilities from the same platform.
Artificial Intelligence (AI) and machine learning are already making a significant impact on content management. Integrating your content hub with AI and machine learning tools and services can help you discover hidden opportunities, speed up processes, and most importantly, offer relevant digital experiences to customers. Personalization engines are using AI and machine learning to deliver smarter, customized, and predictive customer experiences. In addition to the personalization services mentioned in the previous section, some examples of using content management with AI and machine language services and tools include SEO optimization with CanIRank, MarketBrew, and BrightEdge; content creation and text analysis with MonkeyLearn, Acrolinx, Automated Insights, and Narrative Science; and translation services with KantanMT, and SYSTRAN.
So which CMS/DXP is the best choice for you? The question doesn't have a simple answer, a better approach being to undertake a research campaign to help you better understand your company’s unique circumstances. To help this process, we have developed some key factors that you should take into consideration.
You first need to consider the groups of people that will be affected by the choice of CMS/DXP. There are broadly speaking three groups of people that should be considered. These are business and decision-makers, marketing and web editors, and developers and IT. Each of the groups plays an important role in the lifecycle of your product so they should all be comfortable with the chosen CMS/DXP.
Figure 6 above shows the most important areas of interest for each stakeholder group. For instance, if your developer department consists mostly of .NET developers then it probably makes sense to consider CMS systems that are built with .NET. Similarly, the marketing and business departments will have their own preferred set of tools.
It’s important to recognize that it’s very unlikely that you’ll be able to find a CMS on the market that will satisfy the requirements of every group of stakeholders. Instead it is better to take the approach of finding the vendor that satisfies the largest number of people without having to make too many compromises.
Below we have mapped out in detail each of the highest priority functionalities you should consider as you make your assessment of which vendor is likely to be the best match for your company’s circumstances.
Functionality that needs to be present at any modern CMS/DXP solution:
Functionality that should be present in a modern CMS/DXP solution:
Hopefully this article has given you a better understanding of the history of the CMS and an overview of the current state of the technology and vendor landscape. It should also have provided you with an overview of the clear segmentations that exist among the available options and made it clear when a DXP/headless solution is necessary. This should enable you to make a far more informed technology decision for your business.
If you have any questions about CMS/DXP systems or about the research or methodologies used in this analysis, feel free to reach out directly or leave a comment below.