A headless CMS, i.e., a backend-only content management system, allows you to manage and re-use digital content from a single repository and publish it on different applications. The absence of a headless architecture can lead to several challenges, including siloed development, slower time-to-market, heavy IT dependency, difficulty in optimization, and more.
An integrated model like a headless CMS with a central Web Services layer can overcome such challenges. Using this approach with Adobe Experience Manager - AEM CaaS and Web Services layer (acting as a backend for business applications) makes it easy to create, manage, test, and deliver experiences across the customer journey. This approach majorly leverages AEM Content Fragments that allow users to create channel-neutral content with variations. They are designed and managed as page-independent assets.
In today’s competitive world, organizations need to adopt an integrated model to leverage best-in-class software systems. They need to act swiftly with market changes and provide a unified, engaging experience to customers across various channels such as web, mobile, business Apps, email, etc., which has propelled them to move towards a distributed architecture.
Here is how a sizable organization’s software infrastructure supporting its digital platform can be categorized.
Data Tier: This is the central hub where data or content resides. Usually, companies require a centralized data tier to manage content efficiently and avoid duplication. A central data tier makes it easier to enforce organization-wide content governance besides ensuring that the content is uniform and reflects a true sense of oneness for the company's overall brand image when used in different applications.
Web Services Tier: Web services are essential for an organization to encapsulate the business logic, integral to the company's core business model. There is a need to maintain a central Web Services layer agnostic of the underlying data/CMS layer.
Application Tier: This tier has the company's business applications used by its customers and drives its revenue. Typically, this tier depends on the Web Services tier, which exposes the data/content from the Data Tier.
Let us discuss how to implement an integrated solution, featuring the best software products in each tier, leading to an optimized IT infrastructure, and translating into higher revenues for companies. In this use case, we will use Adobe Experience Manager (AEM 6.3 or above) for the Data Tier. However, we will use AEM as a headless CMS, leveraging its CaaS feature. For the Web Services tier, we use a custom Spring application built outside AEM. Finally, for the Application tier, let us assume that the company has several business applications built on different technologies like React, Angular, Spring, .NET, etc.
Long Release Cycles
Business applications perform slow as they pass through a long IT release cycle, making it almost impossible to incorporate the content changes corresponding to the real-time happenings of the world. As a result, it takes longer to publish information about new products, offers, time-sensitive messages, etc., which leads to an increase in time-to-market.
Migrating these applications to the AEM platform is painstaking, mainly because these applications are transactional and require a Swift/agile publishing of changes for the content. While the business logic seldom changes, the content in the form of messages, labels, disclaimers/disclosures, etc., needs to be changed and published swiftly, necessitating the use of AEM as a headless CMS.
Duplication of Content
It is usual to find some overlap of content consumption across business applications. Content curated once could be used in several business applications. To avoid duplication of content and to allow efficient content governance, a company needs to have a central place from where content can be created and published to multiple business applications across various channels.
Business applications are often developed in silos and do not have a standard content structure and theme, which reflects poorly on the company's branding. This calls for a centralized platform to publish information about its products, offers, messages, etc., and create consistent branding across its business applications and customer touchpoints.
Poorly Connected Software Systems
The lack of a single, consolidated Web Services layer makes it difficult to regulate connectivity between the application and data tiers. The absence of systematic integration between these software systems hinders the ability to provide a dynamic, cognitive, and seamless experience.
The integrated solution comprises of the best-of-breed CMS, AEM, acting as the central hub for all content creation and management. Content created is exposed as JSON response through the CaaS feature in AEM to the Web Services layer. The Web Services layer is built on Spring Boot outside the AEM platform to ensure that the content/data messaging can be processed, business logic can be implemented, and the response can be cached. The separation of this layer from AEM also ensures a long-term stable Web Services layer, agnostic of changes in the underlying CMS.
This pluggable architecture makes it possible for the Web Services layer to continue relaying services seamlessly to several business applications, even if the underlying CMS is replaced with a different one. The Web Services layer uses Amazon S3 to serialize the cached response. In the event of a crash, the cache stored in the JVM (Java Virtual Machine) or memory gets wiped out. In such cases, the cache can be reinstated by deserializing from Amazon S3.
Alternatively, we can use packaged caching software like Redis. Redis provides Java APIs called Jedis to manipulate its cache, which is similar to Amazon S3 APIs. The Web Services layer is fronted with Apigee and uses OAuth2 protocol for the security of Web Services APIs. The business applications pull the content via Apigee. The architecture diagram below shows the process flow.
When new content is created or when an existing content is modified in AEM and published, it makes a call to an endpoint in the Web Services layer, signaling it to clear the cache corresponding to the item published. This ensures that stale content is not shown on business applications.
Configuration of Systems
Adobe Experience Manager
Web Services Layer
Utilizing the above-prescribed robust, integrated software solution, a company can improve its business operations dramatically. Here is how.
Shorter Release Cycles Lead to a Faster Time-to-Market
The use of the AEM platform allows for a very swift content creation-to-publishing pipeline, that reduces the time-to-market to mere hours from days or weeks. An efficient content governance model, streamlined deployments, automated workflows, and scheduled publishing allows for quick launches of new products and helps the company stay ahead in the competition.
Central Repository of Content for Consistent Branding
With features like CaaS, content fragment variation for channels and language copy for multiple languages is possible, that can help a company in expanding the business across geographies and channels rapidly. The dedicated caching mechanism results in impressive page load speed for a company’s business applications.
Standardize Content Structure to Make Quick Changes
Using CaaS features like Content Fragments, the existing business applications can continue to use their respective technologies like React, Angular, etc., and yet become smart and agile when pushing content changes rapidly. The dedicated Web Services layer ensures a long-standing, central layer to provision content as service seamlessly even if a company decides to switch to a different CMS later.
To conclude, implementing an integrated solution with AEM CaaS and web services can do wonders in business revenue generation. The ease of using the AEM content management system to author information and a swift publishing mechanism significantly decreases the time-to-market for new products.
Further, provisioning the content via web services eliminates the time and effort otherwise spent on migrating business applications onto the AEM platform. The company gets complete benefits of AEM for content management without incurring high costs while migrating these business applications.
Also, by configuring several applications to consume data from the central AEM repository via a single entry-point in the Web Services layer, the company can project a more unified brand image across all its business applications.