Architectural Overview
Which components constitute a CoreMedia system
Overview
Conceptually, a CoreMedia system can be divided into the Content Management Environment where editors create and manage the content and the Content Delivery Environment where the content is delivered to the customers. Some components are used in both environments, mostly to give you a realistic preview of your websites. The following image provides an overview of a CoreMedia system with most of the components installed:
CoreMedia System Overview
General Workflow
On the production side of the CoreMedia system, content is created and edited with CoreMedia Studio, with custom clients or imported by the Content Hub or importers. Once editing or import of contents is completed, they are approved and published via the CoreMedia Workflow Server. During the publication process, the content is put online onto the Master Live Server. If available, Replication Live Servers get noticed and reproduce the changes. Then the content is put online by the Replication Live Server. User generated content is produced via Elastic Social and is stored in MongoDB. Editors can use the Studio plugin to moderate this content.
Content Delivery
The CoreMedia CAE in combination with Adaptive Personalization and Elastic Social creates dynamic HTML pages or any other format (XML, PDF, etc.) from the internal and external content and CoreMedia templates.
Headless Server, on the other hand, delivers content from CoreMedia Content Cloud as JSON data via a GraphQL endpoint. This gives you you full flexibility in choosing your frontend technology. The Headless Server is fully integrated in CoreMedia Studio. Therefore, you can preview and edit all changes in Studio.
Content Personalization
CoreMedia contains the Personalization Hub which offers client-side and server-side personalization.
Client-side personalization allows to connect the CoreMedia system with third-party personalization systems like Kibo on client-side.
Server-side personalization enables enterprises to deliver the most appropriate content to users depending on the ‘context’ – the interaction between the user, the device, the environment and the content itself. Server-side personalization is a powerful personalization tool. Through a series of steps it can identify relevant content for individuals. It can draw on a user’s profile, commerce segment, preferences and even social network behavior. Use
The GUI of both variants is integrated into CoreMedia Studio for easy creation of personalized content.
Content Storage
The Content Servers store their content in relational database systems. Large blobs can also be stored in the file system. User generated content is stored in a MongoDB database.
Content Search
A CoreMedia CMS system comes with Apache Solr as the default search engine, which can be used from the editors on content management site and from the applications on content delivery site. The editor, for example, can perform a fast full text search in the complete repository. The pluggable search engine API allows you to use other search engines than Apache Solr for the website search.
Commerce Hub
For eCommerce use cases, the CoreMedia system can be connected with eCommerce systems through the Commerce Hub. Content from the commerce server is not copied into the CoreMedia system. Instead, references to the content are hold and are resolved when content is delivered.
User Management
CoreMedia Content Cloud has an integrated user management, but also supports an LDAP server for user management.
Communication of the Components
Communication between the individual components on both the production side and the Live Server is performed via CORBA and HTTP. MongoDB uses the Mongo Wire Protocol. The Production and Live Systems can be secured with a Firewall if the servers are located on different computers. The servers contact the databases over a JDBC interface,
CoreMedia Content Cloud and the commerce systems communicate over REST interfaces. The concrete communication differs slightly based on the selected deployment scenario which are the content-led scenario for HCL Commerce and the commerce-led scenario.
The following table lists all components, describes the purpose of a component and shows with which component a specific component communicates.
Application | Purpose | Multiple Instances | Communicates with |
---|---|---|---|
Content Management Server | Manages the content in the Management Environment and publishes content to the Master Live Server. | No |
|
Master Live Server | Manages the content in the Delivery Environment | Multiple instances when Multi-Master is used |
|
Replication Live Server | Serves content to the CAEs and Headless Server | Multiple instances can be attached to one Master Live Server |
|
Workflow Server | Executes workflows | No |
|
Site Manager | Management tool for workflows and users | Yes |
|
Studio Server | Content editing and management. Hosts management extensions for Elastic Social and Adaptive Personalization. | One web application |
|
Search Engine | Indexes content and provides searches functionality. | Yes |
|
CAE Feeder | Feeds content beans into the Search Engine | Multiple instances possible, for example when reindexing. |
|
Content Feeder | Serves content to the Search Engine | Multiple instances possible, for example when reindexing. |
|
Content Application Engine | Serves sites to the customer. Hosts Elastic Social and Adaptive Personalization extension. | Multiple instances can be attached to one Master Live Server or Replication Live Server |
|
Headless Server | Serves content to the customer. | Multiple instances can be attached to one Master Live Server or Replication Live Server |
|
Commerce Adapter | Connects external commerce systems with the CoreMedia system. | Multiple instances can connect multiple commerce systems. |
|
Importer | Imports content into the Content Management Server. | Yes |
|
Further Reading
- Get a more detailed overview in the Blueprint Developer Manual
- Learn how to monitor services in the Operations Basics Manual
- Learn how to start a CoreMedia system in Docker containers in the Quickstarts
- Learn more about the Content Servers and their database setup in the Content Server Manual