Content Management Relies on the Choice of Programming Language
In order for you to easily work with our Bloomreach Experience Managers (brXM), we made sure to choose the right programming language: Java.
A Java CMS gives you a rich and powerful tool to develop the web content you need to create.
In all layers of its architecture, open and extensible APIs are available for integrating brXM into your existing application architecture.
Java CMS and Its Modularity
brXM consists of a clean and modular CMS architecture.
This allows your application or process to integrate with brXM for automatic creation, import, export, backup, restoring, and publication of content independently from the authoring webapp.
This architecture is layered in three components:
The foundation of our brXm is Java and allows you to integrate with the systems you need to drive results.
Our platform consists of two subcomponent:
The repository is based on Apache JackRabbit, an open source implementation of the JSR-170 and JSR-283 Java Content Repository specifications, and Apache Lucene indexing and searching technology.
This repository allows for the creation of domain-specific content types, enforcing data integrity when external systems push content into the repository. All content management functionality is exposed through a standard set of APIs.
An important feature of brXm is that it strictly separates content and content management from the context of its usage. Bloomreach Experience Manager does not maintain content in a “page-oriented" manner but stores it separately.
The delivery tier uses configuration for the delivery channels.
Through this configuration, it provides the delivery webapps with the required information to map incoming requests to actual pages and to construct those pages by aggregating content, page components, and templates.
From the same user interface, webmasters, marketers, editors, and authors can all perform tasks such as
- the creation of new sub-sites,
- editing of page templates,
- menu structures or content,
- creation of different page templates
for different targeted personas, and so on.
Depending on the role within the organization, certain functions or content can be hidden or made read-only for through centralized access management and workflow systems.
The authoring application provides predefined Open UI extensions points to integrate external apps and is customizable at Java code level through a GUI plugin architecture based on the Apache Wicket web application framework.
3. Delivery Webapp(s)
One or more delivery web applications provide the front-end for the delivery channel(s) such as websites and REST endpoints.
Developers can rapidly create delivery webapps through a combination of configuration and development. Features include
- a templating engine which is easily configurable through the authoring webapp's user interface,
- a tag library and expression language to accommodate the development of a JSP or Freemarker-based view layer,
- a REST API to accommodate the development of Single-Page Applications.
Bloomreach Experience Manager's delivery framework also has built-in caching and page diagnostics to help optimize performance.
How it Works
Delivery Webapp(s) provide page components and templates, and interface with the platform to access site configuration and content stored in the repository.
They use the site configuration to map incoming requests to pages and content and use the page components and templates to render the content as a response.