"Composable" - Demystifying a Buzz Word

"Composable" - Demystifying a Buzz Word

It all started with an interesting article published by Gartner - Adopt a Composable DXP Strategy to Future-ProofYour Tech Stack - by the Analysts Irina Guseva , Yefim Natis , Mike Lowndes , Gene Phifer and John Field . The article, published on 16 December 2020 and refreshed 29 June 2022, explains that monolithic platforms must be replaced by a composable DXP.

Here is the humble, but powerful headline from Gartner:

Gartner 2020/2023 - Adopt a Composable DXP Strategy to Future-ProofYour Tech Stack

Gartner's article on composable platforms acted as a catalyst, unleashing a deluge of discussions and articles on the topic. However, while these numerous articles delve into the outcomes and benefits of composable platforms, they often fall short in adequately describing the journey to achieving such a state. This gap in content primarily focuses on the end results, neglecting the crucial processes and strategies involved in transitioning to or building a composable DXP.

So let us dig deeper into what Composable DXPs (Digital Experience Platforms) really are, what defines a composable DXP and how software vendors will build such platforms.

1. Why Now?

Composable concepts have been around for decades. In fact, Day Software's Communique (aka as "CQ", the predecessor of the Adobe Experience Manager AEM) was designed to be a "composable" solution! At that time though it was known as a modular CMS.

What Gartner really is pointing out is that monolithic platforms are just too expensive to maintain, too rigid and take too long to adapt to marketing requirements. To "future-proof" a solution stack, they recommend transforming from monolithic systems into composable DXPs instead.

What I see from the projects I am involved in, is the demand for a better business value vs. time/cost ratio. Project implementations require significant investments in time, resources and money. But the real challenges come after the go-live stage, when running and maintaining these solutions. Monolithic platforms, especially when integrating multiple systems, absorb exorbitant amount of resources and fundings, causing big challenges for new innovations.

Although these problems are known since decades, the desperation to attack them is obviously getting imminent.

Gartner correctly recommends to decompose monoliths by moving towards composable DXPs (or platforms).

But what is a composable DXP and what are the advantages over monolithic systems? It's time to demystify the buzzword "composable"!

2. Composable DXPs in a Nut Shell

A composable DXP is a modern approach to building digital experience platforms that emphasizes modularity and flexibility. Unlike traditional, monolithic solutions, which often bundle a wide range of functionalities into a single, integrated solution stack, a composable DXP is built around the concept of using best-of-breed, but also custom-built, interoperable/interchangeable components. The main objectives are to build such modules/components around content strategies and to reduce dependencies to a minimum.

A

The adoption of a module-based approach in digital experience platforms, exemplified by the composable DXP, is poised to revolutionize the industry, leading to markedly better solutions. This module-based framework facilitates unparalleled flexibility and customization, allowing organizations to handpick best-in-class components or, if needed, to custom-build them, for each functionality. This targeted selection process ensures that each aspect of the digital experience is optimized with the most advanced and suitable tools available. Moreover, the inherent adaptability of a composable DXP enables businesses to swiftly respond to evolving market demands and technological advancements, ensuring continuous improvement and innovation. In essence, this modular paradigm is a significant leap forward, offering enhanced performance, greater agility, and the potential for highly personalized user experiences that were previously unattainable with traditional, monolithic systems.

3. Categories of Composable Platforms

Before we dig into the characteristics of a true composable DXP, let's take a look of what options we have today.

We can define 3 categories of "composable platforms":

  1. "Masqueraded" monolithic platforms
  2. Semi-composable platforms
  3. True composable platforms

We will see that "composable" is not just a concept or strategy, but a significantly different technology framework, customized to build composable experiences.

3.1 "Masqueraded" Monolithic Platforms

Transforming a monolithic digital platform into a composable one is inherently challenging due to their fundamental architectural differences. Monolithic systems are integrated and unified software stacks, with tightly coupled layers, whereas composable platforms are modular, with each component operating independently. This structural disparity makes a direct transformation impractical.

However, monolithic platforms can be enhanced by building additional features around these systems that align with the MACH Alliance principles (Microservices, API-first, Cloud-native, and Headless). This approach involves layering new, more flexible functionalities around the existing monolithic system(s), such as adding microservices or using APIs for connectivity. While this doesn't convert the platform into a composable one, it does enhance its capabilities and can even introduce elements of agility and adaptability. Keep in mind though that this kind of "masquerading" a monolith creates the illusion of "ease of use" and "ease of launch" while in reality, compromising features, adding complexity and the need for more technical resources.

I assume that in their article, Gartner is referring to this form of composability, since there is no reference to a truly composable platform at that time.

3.2 Semi-Composable Platforms

Adobe's Experience Manager (AEM) possesses several attributes of a composable experience platform, making it a unique case in the realm of Digital Experience Platforms (DXPs). It aligns with many criteria of a truly composable DXP, yet it falls short in certain critical aspects, leading me to regard it as a "semi-composable DXP".

The primary limitation stems from its content repository, CRX, which lacks scalability. This issue dates back to 2000, when the Java Content Repository (JCR) was tightly integrated with the AEM instance, resulting in a system that cannot easily scale in response to changing needs. Whoever tried to manage the content repositories for e.g. 3 publish instances will know what I mean.

Furthermore, AEM exhibits interdependencies among its modules or components. While it strives towards a composable framework, these dependencies retain elements of a monolithic structure, impeding the full realization of a composable DXP's ideal of independent, interchangeable, modular components.

Despite these constraints, AEM stands as a leading choice for those seeking to adopt a composable DXP approach. Its blend of composable features and legacy architecture positions it as a semi-composable solution in the evolving landscape of digital experience platforms.

3.3 True Composable Platforms

In the current digital landscape, businesses are increasingly seeking platforms that are both flexible and scalable. However, a major challenge is that many organizations are still operating with traditional monolithic systems that date back decades. These legacy systems, with their inherent rigidity, cannot be easily or seamlessly transformed into composable platforms. Additionally, the high maintenance costs associated with these monolithic systems often drain resources that could otherwise be allocated to new projects. This financial burden further complicates the transition to more adaptable and efficient composable DXPs, underscoring the pressing need for a shift away from these outdated, resource-intensive monolithic architectures.

Addressing and overcoming these challenges necessitates a fresh perspective, embracing innovative thinking and the adoption of new technological concepts.

To effectively structure a true composable DXP, we categorize it into six distinct criteria, each essential for its successful implementation. Then in the following chapter, we'll delve into these criteria, illustrating them with practical examples to better understand their application and impact.

3.3.1 Characteristics of a Composable DXP

In the rapidly evolving digital landscape, the shift towards composable platforms represents a fundamental rethinking of how technology can better serve business agility, innovation, and visitor/customer-centricity. Unlike monolithic systems, which are often rigid, cumbersome to update, and can quickly become outdated, composable platforms offer a dynamic and scalable modular approach. This architecture allows businesses to select, combine, and recombine composable components to tailor solutions that meet their specific needs and adapt in real-time to changing market demands.

As we delve into the six key elements that define a true composable platform, it becomes evident why this approach is not just an alternative but a superior strategy in today’s digital-first world.

  1. Composable Components: These are independent, interchangeable software "modules" that form the essential building blocks of a Digital Experience Platform. Each composable component operates autonomously, offering a distinct capability or service to the overall objective of building an attractive digital experience. This modularity is akin to the "Plug'n'Play" concept, where components can be easily added, removed, or replaced without disrupting the functionality of the entire system. The architecture underpinning Composable Components is the foundation of the unparalleled flexibility, scalability, and capacity for rapid innovation that composable platforms offer. This approach enables businesses to meticulously tailor their digital experiences to meet specific needs with unprecedented ease and efficiency. Unlike traditional digital solutions built with monoliths, where distinct lines are drawn between various applications and systems—be it a Web Experience, eCommerce, Content Management Systems (CMS), Enterprise Resource Planning (ERP), or Customer Relationship Management (CRM)—the composable component architecture of a true composable DXP blurs these boundaries. It transcends conventional distinctions, allowing for the seamless integration and interaction of diverse functionalities within a unified digital ecosystem. For example, the composable platform DXPCommerce does not distinguish "digital experience" from "eCommerce".
  2. Minimal Dependency Modularity: In a composable DXP, components must have minimal or no dependencies on one another. This design philosophy prioritizes the independence of each component, allowing for updates, enhancements, or replacements to occur without the risk of cascading disruptions across the entire system. Unlike the tightly intertwined software stack of monolithic systems, which suffer from high and hard dependencies among their layers, composable DXPs champion a modular approach where each piece of functionality stands alone.
  3. Content-Centric Approach: Another core principle of a true composable DXP is its Content-Centric Approach. This methodology places the creation, management, and optimization of content at the heart of the digital experience, enabling marketers and businesses to define their marketing and content strategies in a way that is not constrained by the underlying technology. Unlike traditional systems, where content adaptability might be limited by the platform's structure, a composable DXP ensures that the components are built with the flexibility to transform these strategic visions into tangible digital marketing solutions. Whether the goal is to launch a regular website, an immersive commerce experience, or a dynamic fan engagement platform, the content-centric approach guarantees that the content drives the experience, not the other way around. This empowers organizations to remain agile and responsive to market changes, ensuring that they can quickly pivot or adapt their strategies without being bogged down by technical limitations. By prioritizing content, true composable DXPs facilitate a seamless alignment between business objectives and digital execution, making it possible to deliver highly personalized and effective digital experiences across any channel or touchpoint.
  4. Dynamic Content Creation: Among the six key principles essential for a true composable platform, dynamic content creation stands out as perhaps the most significant one. This element not only facilitates agility and scalability but also enables businesses to tailor experiences to meet evolving customer expectations by enabling authors/marketers to dynamically create and manage content objects. Dynamic content creation offers a stark contrast to the traditional RDBMS approach in handling data and content. In a traditional RDBMS, before any data can be stored or manipulated, there is a prerequisite to meticulously define schemas, create tables, and establish fields prior to managing data. This process not only demands a significant upfront investment in time and planning but also locks in a structure that may not easily accommodate future changes or the dynamic nature of digital experiences.Conversely, dynamic content creation, as facilitated by a true composable DXP, embraces a more agile and flexible approach. Content objects, including their properties and values, are created and managed at runtime. This method allows developers and content managers to introduce new types of content, modify existing structures, and tailor content to specific user interactions without the need for pre-defined database schemas. This runtime flexibility is particularly advantageous for digital platforms that must rapidly evolve and personalize content to enhance user experiences.In practice, the advantages of this approach are evident in scenarios requiring quick adaptation and personalization. For instance, a digital commerce platform, combined with a content-centric strategy, can instantly add new product attributes, adjust pricing in real time, based on demand, or personalize marketing messages to individual users—all without the need to modify the underlying content model. This capability not only reduces the overhead associated with database management but also significantly accelerates the deployment of new features and content updates, offering a competitive edge in the fast-paced digital landscape. Composable components are engineered to not just manage, but dynamically create and update content elements, offering flexibility in content manipulation, presentation and distribution to unlimited channels.
  5. Dependency-less Content Distribution: Another fundamental pillar of a true composable DXP is the Dependency-less Content Distribution, an innovative approach that extends and enhances the principles underlying the "headless" architecture. While headless content management systems (CMS) already decouple the back-end content repository from the front-end presentation layer, allowing for content to be delivered via APIs to various channels, the concept of dependency-less content distribution takes this a step further. By ensuring that composable components are entirely independent, this approach eliminates any residual dependencies that might limit how and where content can be distributed.This unparalleled level of independence means that content can be seamlessly and efficiently distributed to an unlimited number of channels and touch-points, from traditional web and mobile platforms to emerging digital interfaces like smart speakers, wearable devices, and even virtual reality environments. The key advantage here is the agility and flexibility it affords businesses in crafting and executing their digital strategies. With a dependency-less content distribution, organizations are no longer constrained by the capabilities or limitations of any single channel or technology. Instead, they can leverage a truly omni-channel strategy that ensures their content reaches the right audience, at the right time, and through the most engaging medium.In essence, dependency-less content distribution amplifies the power of a headless architecture by ensuring that each piece of content is not just decoupled from its presentation but is also free from any backend dependencies. This results in a more robust, scalable, and future-proof platform that empowers businesses to deliver dynamic, personalized content experiences across an ever-expanding landscape of digital touchpoints.
  6. Agility: Emphasizing agile development practices, a composable DXP allows businesses to swiftly adapt to market changes and customer needs. This agility is a vital attribute in the rapidly evolving digital landscape, enabling continuous innovation and responsiveness. The adoption of agile project methodologies has revolutionized the pace and approach to software development, emphasizing continuous release cycles, prioritizing product development over traditional project milestones, and fostering an iterative, feedback-driven process. In this dynamic environment, solutions built on a true composable platform emerge as a perfect match, significantly amplifying the inherent benefits of agility. True composable platforms, with their modular architecture, enable teams to rapidly prototype, iterate, and deploy digital solutions, aligning seamlessly with the agile ethos of quick adaptation and continuous improvement.The agility offered by composable platforms is not just about speed; it's about the capacity to respond to changing business needs, customer demands, and market trends with precision and efficiency. This architectural approach allows for the decoupling of composable components, ensuring that updates, enhancements, or even the introduction of new features can be carried out without disrupting the overall system. Such flexibility is crucial for maintaining a competitive edge in today's fast-paced digital landscape, where the ability to evolve quickly can make the difference between leading the market and playing catch-up.Moreover, composable platforms facilitate a more collaborative and cross-functional development environment, breaking down silos between departments and enabling a more integrated and holistic approach to product development. This not only aligns with the agile methodology's principles but also enhances the overall productivity and creativity of teams, paving the way for innovative solutions that truly meet user needs and exceed expectations. In essence, the agility afforded by composable platforms is a catalyst for transformative digital initiatives, ensuring that organizations can thrive in an era defined by continuous change and innovation.

4. Architecture of a True Composable DXP

What may seem like a futuristic wishlist for future DXPs is actually achievable with current technologies. During the last 8 years, we at Kleiber Digital and Kestros have defined and developed a true composable DXP, following the six key principles of a true composable DXP.

At the core of a true composable DXP, the pivotal elements are the composable components, which are meticulously designed to run within the OSGi (Open Service Gateway initiative) framework. This framework is renowned for its dynamic module (aka "bundles") system for Java, which significantly enhances the modularity, flexibility, and manageability of applications. By facilitating the runtime addition, removal, and updating of components without necessitating a system restart, the OSGi framework ensures that the DXP can adapt swiftly and efficiently to evolving business needs or user demands.

To augment this architectural foundation, a true composable DXP also incorporates Apache Sling , a web framework tailored for efficient content delivery and dynamic web application development. Apache Sling operates as a pivotal element within the DXP ecosystem, serving as the web framework that facilitates the seamless rendering and delivery of content not only to the end-user, but also between composable components. Sling is built on the principles of REST, making it exceptionally adept at handling HTTP requests and mapping them to the content stored in the JCR content repository.

Complementing the OSGi framework is the Content Repository API for Java Technology, also known as JCR or Jackrabbit Oak , which acts as the cornerstone for dynamic content creation, storage, and distribution within the DXP and to unlimited channels. The JCR is not just a data storage solution; it is a sophisticated content repository that adheres to the JCR standard (JSR-283), offering a uniform API for accessing and managing content data across different storage systems.

The (simplified) architecture of a true composable DXP

The combination of Apache Sling with the OSGi framework and the JCR content repository forms a highly potent trio for a composable DXP. OSGi provides the modularity and runtime flexibility for managing the components of the DXP, including those that are part of or interact with Sling. Meanwhile, Sling bridges the gap between the web layer and content storage, ensuring that content from the JCR can be dynamically created, fetched, rendered, and served in response to http requests.

This architecture empowers the DXP to deliver a highly personalized and responsive digital experience. Whether it's delivering personalized content, supporting multilingual websites, or powering complex web applications, the integration of Sling into the DXP architecture facilitates a more agile, efficient, and user-centric approach to digital experience management.

A Note on JCR Content Repository Scalability

In the realm of digital experience platforms, the Java Content Repository (JCR) stands as a cornerstone for content management, offering a standardized API for seamless content access and storage. However, a longstanding challenge within industry-leading platforms like Adobe's AEM has been the scalability of the JCR content repository. Traditionally, while it's been possible to scale AEM instances, this led to the creation of isolated JCR repositories for each instance, without a straightforward method to synchronize content across them. This limitation posed significant hurdles for organizations aiming to scale their digital experiences efficiently.

Our teams at Kleiber Digital and Kestros have achieved a groundbreaking advancement in overcoming this challenge. Through innovative engineering and strategic architecture design, we have successfully developed a method to scale the JCR content repository beyond the confines of single-instance limitations. This breakthrough not only enhances the scalability of DXPCommerce, a true composable platform, but also ensures that content synchronization across multiple instances is seamless and efficient.

5. Examples of the Six Key Principles of a True Composable DXP

In section 3.3.1 Characteristics of a Composable DXP, I have listed the six key factors that define a true composable DXP.

I will present some practical examples of the six key principles in action. These examples serve as a blueprint for what makes such a composable platform truly adaptable, scalable, and capable of meeting the rapidly evolving demands of the digital age.

These examples have been created with the true composable DXP "DXPCommerce". DXPCommerce is created by Kestros and Kleiber Digital, following the principles of a true composable DXP.

The following examples will not only showcase the implementation of the six key principles of a true composable DXP, but also demonstrate how digital experiences and eCommerce are embedded in one DXP. This ensures that readers can not only understand but also apply these concepts in their own contexts, leveraging DXPCommerce's architecture to explore the full potential of a true composable platform.

5.1 Key Principle "Composable Component"

A true composable DXP is a formation of Composable Components. A Composable Component is essentially an amalgamation of content and functionality. It is designed to provide specific services tailored to the content elements it handles. This functionality can range from straightforward tasks, such as formatting data, to more intricate operations like running a price calculator. Moreover, these components are not just standalone elements; they can be combined to form new, more complex composable components.

The overarching goal of a composable DXP is to enable rapid and cost-effective responses to business and marketing demands. The most efficient strategy to achieve this is through the flexible manipulation of composable components – adding, removing, or modifying them as needed to meet evolving requirements.

An example of this is the JCR-based eCommerce Framework JECIS, which exemplifies the integration of multiple components.

Example 1 - AEM Components

A prime example of composable components in action can be seen in Adobe Experience Manager (AEM), a leading semi-composable DXP. AEM's component framework is specifically designed to empower developers to build, manage, and optimize web experiences. These components are used by authors to populate distinct areas of a Web page.

AEM components typically consist of a dialog - an HTML form to create or edit content elements - and the rendering script. These components are content-centric, interchangeable and can also create content dynamically.

What sets AEM apart as a semi-composable platform is its ability to offer a structured yet flexible approach to web development.

Example 2 - Commerce Components

In the composable eCommerce framework JECIS , the complete commerce environment consists of composable components.

The Commerce Environment consists of true Composable (Commerce) Components

Each Composable Component is fully content-centric and consists of a content dialog and the component functionality.

Selecting a Commerce Component lists the previously created entries

Authors can create "unlimited" commerce content entries using the component's dialog.

Dialog of a composable Commerce Component

By following the principles of a true Composable DXP it's also possible to allow authors/marketers to create new composable Commerce Components, taking full advantage of dynamic content creation capabilities.

Authors/Marketers can create and edit complete new Commerce Components

5.2 Key Principle "No-dependency Modularity"

In the realm of digital solutions, the principle of Minimal Dependency Modularity stands as a beacon of efficiency and resilience, sharply contrasting with the traditional, tightly coupled solution stacks. In a conventional solution stack, each layer—ranging from the data storage to the presentation layer—is highly dependent on the functionalities and structures of the other layers. This interdependence can lead to significant challenges, such as increased complexity in updates, scalability issues, and a slower pace of innovation, as changes in one layer might necessitate extensive modifications across the stack.

To underscore the advantages of minimal dependency modularity, consider the architecture of a true composable platform, where components operate with little to no dependencies on each other. This approach allows each component to be updated, replaced, or scaled independently, significantly reducing the risk of cascading failures or disruptions to the overall system. Furthermore, it enables a more agile development environment, where new features can be developed and deployed rapidly without waiting for coordinated updates across other parts of the system.

Example - composable "Sales Promotions"

In the realm of digital commerce, the customization of pricing and promotions starkly illustrates the contrast between traditional monolithic systems and modern composable platforms. Within a monolithic architecture, adjusting the price engine to accommodate new promotional strategies often proves cumbersome, requiring extensive code modifications and testing due to the high degree of interdependency among engines. This rigidity hampers a business's ability to quickly adapt to market changes or launch timely promotions.

Conversely, JECIS , a composable commerce framework that runs inside an OSGi framework, exemplifies the agility and innovation possible with a composable approach. Through its use of independent composable components, JECIS enables the creation of distinct Promotions — each representing a specific promotional event, like a "Promotion for Thanksgiving", defined simply by eligibility dates. More so, Promotion Actions such as 'Discount' or 'Buy-1-get-1-free' are also composable components, capable of being freely linked to any promotion. The content-centric approach allow to assign individual products, categories or even customers to such promotions. This modular system allows for the rapid introduction of new promotional actions as separate, reusable components, significantly enhancing the platform's flexibility and responsiveness to marketing needs. Thus, JECIS's composable structure not only simplifies the customization of promotions but also drastically reduces the time and effort required to launch and manage diverse promotional strategies.

5.3 Key Principle "Content Centric Approach"

The Content-Centric Approach in composable platforms revolutionizes how content/marketing strategies are transformed into engaging digital experiences. By building composable components tailored to this approach, the platform not only streamlines the process of creating and managing digital content but also strategically delegates content responsibilities directly to those who know it best: the authors and marketers. This paradigm shift empowers content creators with the tools and autonomy needed to directly influence the digital presence of their brand, without the constant need for technical intervention. This approach shifts the focus from a traditional API-first mindset ("Here is my API, where is the content?") to a content-centric perspective ("This is my content, what functionality can I use?"). This content-first approach aligns perfectly with modern web experiences.

Example 1 - Hotel Resort Digital Experience

In envisioning a hotel resort's digital presence, the Content-Centric Approach becomes instrumental in weaving together diverse elements—rooms, pools, cabanas, restaurants with menus and tables, and even a boutique—into a seamless and engaging digital experience that also incorporates eCommerce capabilities. By adopting a composable platform, each aspect of a content/marketing strategy of the resort can be represented as an independent, composable component, allowing for unparalleled flexibility and personalization in how content and services are presented and managed online.

The compelling and engaging Digital Experience of a Hotel Resort

Break down the Content Strategy into Composable Components:

  • Rooms, Pools, and Cabanas: Each accommodation type can be a composable component with its own set of attributes, such as size, view, amenities, and pricing. Dynamic content creation enables real-time updates for availability, special offers, or seasonal themes, ensuring that potential guests receive the most current information and can make reservations directly through an intuitive interface.
  • Restaurant Menus and Tables: By treating menus and table reservations as distinct composable components, the resort can easily update dining options, special dietary menus, and table availability. Integration with an eCommerce system allows guests to book tables, order food online for in-room dining or poolside service, and even pre-pay for special dining experiences, all through a unified digital experience.
  • Boutique: The resort's boutique, offering souvenirs, apparel, and exclusive products, can be managed through composable eCommerce components that handle product listings, inventory management, and online transactions. This setup not only enhances the shopping experience for guests but also opens up opportunities for promotions, loyalty rewards, and personalized recommendations based on guest preferences and purchase history.

How a composable DXP merges Digital and Commerce into one Experience

By leveraging a content-centric approach, the hotel resort can craft a digital experience that not only meets the diverse needs and preferences of its guests but also dynamically adapts to changing content and market trends. Each composable component is designed to function independently yet integrates seamlessly with others, providing a cohesive and immersive online presence. This modular setup allows for easy updates and modifications, enabling the resort to continuously refine and enhance its digital offering without the need for comprehensive overhauls.

5.4 Key Principle "Dynamic Content Creation"

Among the six key factors that define a true composable platform, dynamic content creation stands out as perhaps the most significant one.

Contrary to the static and schema-bound nature of traditional Relational Database Management Systems (RDBMS), the dynamic content creation capabilities of a JCR (Java Content Repository) offer a fundamentally different and more flexible approach to managing digital content. Utilizing a JCR allows for the dynamic creation of nodes, properties, and values, enabling the seamless population of a hierarchical content model. This method stands in stark contrast to the rigidity of RDBMS, where changes to the database structure often require complex migrations and downtime.

Within the context of a JCR, content objects is stored as a node that can have its own set of properties and child nodes, thereby facilitating a naturally hierarchical and organically scalable structure. This flexibility is instrumental in adapting to the evolving needs of digital experiences, where content structures can vary widely and change rapidly. For instance, in a JCR, adding a new content type or modifying an existing structure is as simple as creating or updating nodes, without the need for altering table schemas or managing relational data constraints.

This dynamic content creation capability is especially powerful in scenarios requiring rapid deployment and updates of content, such as promotional campaigns, content personalization, or multi-lingual content management. By leveraging a JCR, businesses can quickly adapt their content strategies to meet market demands, user preferences, and regulatory requirements, all while maintaining a high level of organizational agility and operational efficiency.

Example 1 - Sling POST Servlet

The Sling POST Servlet is a powerful feature of Apache Sling, which, when combined with the JCR, enables the dynamic creation, modification, and deletion of content objects within a JCR-based application/platform. This servlet is particularly useful for developers working with composable platforms, as it facilitates the rapid and flexible manipulation of content structures directly through HTTP requests, bypassing the need for complex backend processes.

Utilizing the Sling POST Servlet, developers can make HTTP POST requests to create new nodes (content objects) in the JCR, specify properties for these nodes, and even upload files, all with simple form submissions or API calls. This approach significantly streamlines content management tasks, making it straightforward to adapt content in response to new requirements or user feedback.

Example 1a - Using an HTML Form

In this example we create a simple HTML form to add two fields to an existing product within the JCR content repository:

<form method="POST" action="https://localhost:38049/jecis/2bme/content/product/h/hyd/hydra20/hydra_20" enctype="multipart/form-data">
   <input type="text" name="demoTitle" value="" />
   <input type="text" name="demoText" value="" /> 
   <input type="Submit" />
</form>        

Load the HTML page with the above HTML form, enter "Demo Title" for the title field and "Some Demo Text" for the text field and submit.


Added two new properties using the Sling POST Servlet

Example 1b - Using cURL Command

A little more challenging, but nevertheless fascinating, is to use the cURL command:

% curl -u <user>:<password> -FdemoTitle="Demo Title" -FdemoText="Some Demo Text" https://localhost:38049/jecis/2bme/content/product/h/hyd/hydra20/hydra_20        

The result will be the same: two fields will be added to the product node.

Example 1c - Custom Servlets

While the Sling POST Servlet offers a powerful and straightforward method for creating and managing content dynamically, there are scenarios where the out-of-the-box functionality might not meet all the specific requirements of a project. Custom POST servlets come into play when there's a need for a higher degree of customization, such as input validation, custom formatting, or the introduction of additional business logic during the content creation or modification process.

The huge advantage of a true composable DXP over monoliths lies in its modular architecture, where each composable component can fully harness the power of dynamic content creation, thereby ensuring an adaptable and innovative digital ecosystem that effortlessly evolves in real-time with business needs and user expectations.

5.5 Key Principle "Dependency-less Content Distribution"

Another powerful feature of a true composable DXP is the concept of dependency-less content distribution (DCD) DCD stands out as a particularly intriguing characteristic in the realm of composable DXPs. This approach centers on the capability of a composable component to autonomously process content. A composable component receives any given content, selectively filters and utilizes what is necessary for its function, and then delivers the processed content.

While at first glance, this might seem akin to a "headless" approach, it's distinctly different. In a headless system, the content distribution responsibility typically lies within the system layer (e.g. CMS or APIs in a monolith) itself, separate from the components. However, in a dependency-less setup, this responsibility shifts to the individual composable component. By doing so, system (and other) dependencies are eliminated, granting each component greater autonomy and flexibility in content handling.

Example 1 - Sling GET Servlet

In the realm of composable DXPs, the principle of Dependency-less Content Distribution marks a significant evolution in how content is managed and served across various channels. This approach ensures that content can be distributed freely and efficiently, without being hindered by tight couplings or dependencies on specific presentation layers or delivery mechanisms. A quintessential example of this concept in action is the Apache Sling GET Servlet. Leveraging this powerful feature, Sling enables the retrieval and presentation of content stored within the Java Content Repository (JCR) in a manner that is both flexible and straightforward, demonstrating the platform's inherent capability for seamless and adaptable content distribution. Through the Sling GET Servlet, content can be dynamically fetched and rendered, supporting a myriad of formats and client needs, thereby embodying the essence of dependency-less content distribution.

Let's open a browser tab and request the node we used in the previous example. By adding the extension .json, the Sling GET servlet will return all properties/values of that requested node.

Sling GET Servlet returns all properties/values of a Node

Even the two new properties demoTitle and demoText have been returned.

The Sling GET servlet can return the properties/values also in an XML format. For that purpose simply replace the extension .json with .xml.

Furthermore you can add a request selector to get different variations of the result. E.g. "1", "2", etc. return the properties of a child node at the according hierarchy level, and "infinity" returns all properties/values of the requested Node and all child nodes.

Example 2 - Sling ValueMap

Due to Sling and JCR managing content in form of nodes and properties, following a "virtual" hierarchical content model, the Sling ValueMap feature comes in handy. ValueMaps are a powerful abstraction provided by Sling, designed to collect all the properties and values of a node into a single, easily accessible object. This feature simplifies the process of retrieving and handling data stored in the repository, allowing developers to interact with content properties in a straightforward and efficient manner.

In this example I use a Sling model class to access the ValueMap of a product node. These are the main properties of a product:

Standard node/properties view in a hierarchical content model

And here is a simple component that uses a ValueMap to retrieve all properties (except for the JCR system being filtered out) and display them.

A simple component uses a

Each property can of course be addressed directly and positioned wherever needed.

As next enjoy the power of dynamic content creation in conjunction with dependency-less content distribution. I will use our cURL example to add two new properties dynamically and then reload the Web page.

The cURL command:

% curl -u <user>:<password> -FdemoTitle="Demo Title" -FdemoText="Some Demo Text" https://localhost:38049/jecis/2bme/content/product/h/hyd/hydra20/hydra_20        

Let's refresh the Web page:

No code change required to dynamically add and retrieve new properties

No code change was required to retrieve the new properties.

By aggregating a node's properties into a ValueMap, Sling enables a more intuitive and code-efficient approach to accessing and utilizing content stored within the JCR, thereby enhancing the overall development experience and facilitating the rapid deployment of dynamic digital experiences.

Embracing a true composable DXP within an OSGi, Sling and JCR framework underscores a paradigm shift towards greater power, efficiency, and cost-effectiveness in digital solution development and management compared to monolithic systems. By leveraging the dynamic content creation capabilities of Sling and the hierarchical data management strengths of JCR, organizations can achieve a level of customization and responsiveness that monolithic systems simply cannot match. The result is a streamlined, user/content-centric digital experience that significantly reduces time-to-market and operational costs, while simultaneously enhancing the ability to deliver personalized content and services. In essence, a composable DXP represents the future of digital experiences, offering a compelling alternative that is both forward-thinking and pragmatic in addressing the challenges of today’s digital landscape.

6. Conclusion - true Composable DXP vs. Monolithic Systems

In the rapidly evolving digital landscape, the distinction between true composable Digital Experience Platforms (DXPs) and traditional monolithic systems has never been more critical. Composable DXPs, with their dynamic, modular architecture, offer an agility, flexibility, and scalability that monolithic systems simply cannot match. This approach enables organizations to rapidly adapt to changing market conditions, customer expectations, and technological advancements without the need for cumbersome and time-consuming overhauls.

True composable DXPs excel in delivering tailored experiences that can evolve over time. By leveraging independent, reusable components, businesses can easily introduce new functionalities, integrate with emerging technologies, and pivot strategies to stay ahead of the curve. This modularity also fosters innovation, as teams can experiment with new features or services without risking the stability of the entire system.

Moreover, the content-centric nature and dynamic content creation capabilities of true composable DXPs ensure that digital experiences remain relevant and engaging, enhancing customer satisfaction and loyalty. The ability to distribute content seamlessly across multiple channels, without dependency on a singular system, further solidifies the platform's role in a future-oriented digital strategy.

In contrast, monolithic systems, with their rigid structures and interdependencies, struggle to keep pace with the digital demands of today and tomorrow. The time, cost, and complexity associated with updating these systems can hinder an organization's ability to compete in a fast-moving digital world.

In conclusion, as businesses look towards building resilient, adaptive, and innovative digital experiences, the choice is clear. True composable DXPs not only offer a superior alternative to monolithic systems today but also provide a robust foundation for future growth and transformation. Embracing a composable DXP is not just a strategic advantage—it's a necessity for thriving in the digital age.


#DXP, #CMS, #composableDXP, #DigitalExperience, #DigitalTransformation, #FutureProofTechnology, #ModularArchitecture, #AgileDevelopment, #ContentCentric, #InnovationInTech, #TechTrends

要查看或添加评论,请登录

Giancarlo Berner的更多文章

社区洞察

其他会员也浏览了