Written by The Jahia Team
   Estimated reading time:

Architecture Overview

Everything is Content

  • Jahia's main purpose is to manipulate content and present it in a particular context.
  • Each element stored in the Jahia content repository like text, images and PDF's are considered as a content item with standard properties.
  • Data elements are stored in the Java Content Repository (JCR) as content items with a set of standard properties
    • Examples of these elements would be text, images, or PDF's.
  • Content items are organized as a tree in the JCR but are independent from each other and can be freely moved and reordered.

What is Jahia?

Jahia can be used to solve a wide arrary of technical challenges. As such, it can mean different things to different poeple. For some, it's simply their Portal server or Web Content Management (WCM) solution. For others it's a web integration platform or fully-fledged content integration solution.

Strictly speaking, Jahia is client/server software that listens and responds to HTTP requests and maintains storage with a content repository. As well, the software enables users to buid and deploy custom business logic for operating on content and interfacing with third party systems. That’s the million-mile view.

For an introduction to Jahia Tutorials and using Jahia for the first time, please visit the Getting Started with Jahia Tutorial.

Technology Overview

  • Servlet container software with Apache Tomcat, JBoss or IBM WebSphere
  • Dependency injection and bean configuration using the Java Spring Framework
  • Modules for adding and extending new features
  • Apache Jackrabbit Java Content Repository for storage
  • Apache Pluto as a container for the portal
  • Scheduler with Quartz
  • JBoss jBPM and the workflow engine
  • Drools as the rules engine
  • Apache Lucene as the indexing/search engine
  • Apache Camel as an enterprise integration engine
  • Google Web Toolkit with Sencha GXT extensions for the UI in Edit mode and Studio mode
  • JQuery and extensions for the 'contribute' and 'live' modes
 
graphql_logo.png
React_logo.png
 
 
 
Apache_Karaf.png
JQuery_logo.png
jbpm_logo.png
 
 
 
logo-elastic.png
drools.png
 

Technical Architecture

Jahia's Architecture can be represented in the three tiered diagram shown below.

jahia-architecture.png

JCR Data Storage

Jahia stores all of its data in the JCR:

  • Two workspaces are used: "default" for staging content and "live" for live content.
  • Content is stored in an SQL database with node data in serialized form for increased performance.

JCR Data Storage

jcr-data-storage.png