Jahia Technology Overview
This topic presents a global overview the Jahia enterprise offering.
What is Jahia?
Jahia is content and data. At its core is jContent, our Content Management System (CMS). What makes Jahia more than just a CMS is jExperience, our embedded personalization engine powered by a Customer Data Platform (CDP). With jContent and jExperience together, you can personalize every aspect of your digital experience, tailored to a 360 degree data-driven view of your audience. The final layer is StackConnect, our integration hub that unifies content, data, and applications into a cohesive marketing stack. These components together make Jahia what it is—a Digital Experience Platform (DXP).
The following diagram illustrates the component parts of the Jahia DXP and how they work together to make digital experiences simpler.
Overview of Jahia components
The Jahia offering consists of following key pieces:
A DXP that enables you to deliver your content and data. Jahia enables you to deliver personalized, one-to-one experiences to your customers.
A fully-integrated CMS that enables you to deliver digital experiences to multiple channels. Content authors create, manage, and publish content using a headless approach or a Web Content Management (WCM) system.
A CDP integrated with jContent that you use to manage your customer data. jCustomer is powered by Apache Unomi.
A personalization engine that integrates with the CDP to combine content management with customer data. jExperience empowers marketers to test, evaluate, and optimize every digital interaction to deliver individualized customer experiences.
- Jahia StackConnect
Extends the integration of jExperience with the rest of your technology stack to connect to data in jCustomer.
Core features and capabilities
Jahia core features include a traditional and headless CMS and a traditional and headless CDP. These features enable you to manage your content lifecycle from creation to publication and deliver and reuse content across multiple channels.
Jahia also enables you to manage:
- Access rights to content (editors and visitors)
- Digital assets
- Multiple languages per site
- Multiple sites on the same platform
jExperience provides personalization and optimization features that enable you to:
- Deliver personalized experiences
- Test and optimize content
- Profile and segment customers
StackConnect enables you to:
- Integrate with external systems and aggregate content and customer data
The section shows examples of a single server architecture and clustered architectures. The single server scenario is suitable for a development environment and clustering is required for a production environment.
Single server architecture
This example shows how you can run Jahia on a single server. This setup would be suitable for a development environment. In this case, the application server is responsible for browsing, contribution, and processing. The database stores metadata and data and the additional optional database stores binary data on the file system.
This example shows how you can run Jahia in a clustered environment. A clustered environment provides high availability and load-balancing for both browsing and contribution environments. In the example, the web server load-balances the traffic between the browsing servers and contribution servers. You can scale out horizontally and add as many servers as you want to the cluster.
Only one server can be designated as a processing server. In the example, the processing server is on a node that is also serving as a contribution node.
Clustered architecture with jCustomer
This example shows a clustered environment that includes jCustomer, which is Jahia’s CDP. jCustomer is installed in a separate cluster as is Elasticsearch. The Elasticsearch cluster stores the jCustomer indexes and stores data that jCustomer collects.
Platform technology stack
Jahia uses a Java-based technology and many of the components in the stacks are also Java based. Jahia uses the following technologies:
- GraphQL API
- Docker containers (optional)
- OSGi Service Platform (Apache Karaf)
OSGI enables you to additional functionality or extend the platform in a modular fashion. You add new features and components into the system as you create and build your own modules.
- Servlets and filters
Jahia runs in a servlet container (by default Apache Tomcat). The platform includes a set of servlets and filters that handle HTTP requests.
- Customer Data Platform (jCustomer)
jCustomer powered by Apache Unomi delivers a headless Customer Data Platform (CDP).
- Java Content Repository (Apache Jackrabbit)
All content is stored in a Java Content Repository (JCR). Jahia uses Apache Jackrabbit.
- Clustering (Hazelcast, JGroups)
- Job Scheduler (Apache Quartz)
Apache Quartz is used for job scheduling and running background tasks with the Job Scheduler.
- Workflow Engine (JBoss BPM)
- Rules Engine (JBoss Drools)
- Search (Lucene, Elasticsearch)
Lucene and Elasticsearch are used to index the content that managed in the system.
- Caching (Ehcache)
Ehcache provides the caching framework.
For information on additional frameworks used by Jahia, see Jahia embedded frameworks.
For information on minimum and recommended requirements for Jahia, see the supported stack for Jahia 8.
For a technical overview of:
- Jahia see Introducing Jahia Technical Concepts, starting with About the Jahia web layer
- jExperience see jExperience architecture overview
- Forms see Forms architecture overview