Bloomreach Content Application Architecture

Bloomreach Content is a Java-based digital experience platform. It uses modern web architectures, open standards, and open source components. Each layer provides open and extensible APIs for integrating Bloomreach Content with other systems.

The architecture is modular. This design supports integration, scalability, and content reuse. The following sections describe each module in the Bloomreach Content stack: Platform, Authoring Webapp, and Delivery Webapp.

High-Level Component Overview

Bloomreach Content consists of three main components:

  • Platform
  • Authoring webapp
  • Delivery webapp(s)

The platform includes two subcomponents:

  • Repository
  • Delivery core

The diagram below shows how these components interact.

High-level Bloomreach Content architecture with authoring, platform, delivery, and storage

Diagram: The diagram illustrates the high-level architecture. A web browser connects over HTTPS to the Authoring application and over HTTP/S to Delivery Webapp #1. Both web applications connect to the Platform layer: Authoring uses the Repository API, and the delivery webapp connects to both the Delivery API and the Repository API. The Platform contains the Repository and Delivery Core, exposed through their respective APIs. The Repository connects to an RDBMS via JDBC, and the Delivery Core connects to Elasticsearch over REST.

Platform

Repository

The repository stores all content, metadata, and configuration. It also provides core content management services, including metadata and workflow, content search, processing, scheduling, transformation, aggregation, and orchestration.

The repository is built on Apache JackRabbit, which implements the JSR-170 and JSR-283 Java Content Repository specifications. It uses Apache Lucene for indexing and search. All content management features are available through standard API interfaces. Applications can use these APIs to automate content creation, import, export, backup, restore, and publication, independent of the authoring webapp.

Bloomreach Content separates content and content management from its usage context. It does not store content in a page-oriented way. Instead, it manages context-dependent metadata separately. This approach enables content reuse, search, and filtering across different contexts, channels, and devices. This separation supports integration and interoperability, especially in large enterprise environments.

Delivery Core

The delivery core manages configuration for delivery channels. It provides delivery webapps with the information needed to map incoming requests to pages and to assemble those pages by aggregating content, components, and templates.

Authoring Webapp

The authoring webapp provides a web-based interface for teams to create and manage content and delivery channels. Users can create sub-sites, edit page templates, manage menu structures, and create templates for targeted personas—all within the same interface.

Role-based access and workflow systems control visibility and permissions for different user groups.

The authoring application offers predefined Open UI extension points for integrating external applications. It is customizable at the Java code level through a GUI plugin architecture based on the Apache Wicket web application framework.

Delivery Webapp(s)

One or more delivery web applications serve as the front end for delivery channels such as websites and REST endpoints. They provide page components and templates, and connect to the platform to access configuration and content stored in the repository. Delivery webapps use site configuration to map incoming requests to pages and content, and use page components and templates to render responses.

Developers can build delivery webapps by combining configuration and development. Features include:

  • A templating engine configurable through the authoring webapp interface
  • A tag library and expression language for JSP or Freemarker-based view layers
  • A REST API for building Single-Page Applications
  • Built-in caching and page diagnostics for performance optimization

Quality Attributes

Bloomreach Content’s architecture is designed to meet the following quality attributes:

  • Interoperability: Ability to work with other systems.
  • Extensibility: Ability to extend the system and the effort required to do so.
  • Scalability: Ability to handle increased workloads or scale to accommodate growth.
  • Performance: Amount of work accomplished relative to time and resources used.
  • Availability: Proportion of time the system is operational.
  • Security: Ability to control, monitor, and audit access, and to detect and recover from security failures.

Further Reading

Share Feedback
Page: /about/architecture/brxm-architecture
Section: About
Category *