Open Source Frameworks

Jahia's core is a single, solid Composite Content Platform based on Enterprise-grade Open Source frameworks supported by more than 3,000 Committers from the Apache Foundation.

The main frameworks Jahia embeds are - click for more details:

lucene ehcache jackrabbit selenium apache-commons
hibernate apache apache-tika open-search apache-poi
spring apache-pluto jquery groovy
json quartz jbpm pluto apache-shiro
php google apache-camel sencha xwiki

 

Axis

Apache Axis is an implementation of the SOAP ("Simple Object Access Protocol") submission to W3C.
From the draft W3C specification:
SOAP is a lightweight protocol for exchanging structured information in a decentralized, distributed environment. It is an XML based protocol that consists of three parts: an envelope that defines a framework for describing what is in a message and how to process it, a set of encoding rules for expressing instances of application-defined datatypes, and a convention for representing remote procedure calls and responses.

Camel

Apache Camel is a powerful open source integration framework based on known Enterprise Integration Patterns with powerful Bean Integration.
Camel lets you create the Enterprise Integration Patterns to implement routing and mediation rules in either a Java based Domain Specific Language (or Fluent API), via Spring based Xml Configuration files or via the Scala DSL. This means you get smart completion of routing rules in your IDE whether in your Java, Scala or XML editor

Commons

The Commons is an Apache project focused on all aspects of reusable Java components

Derby

Apache Derby, an Apache DB subproject, is an open source relational database implemented entirely in Java and available under the Apache License.
Jahia version 6.6 supports Derby database version 10.

Drools

JBoss Rules is a JBoss Enterprise Framework that provides an open source and standards-based business rules engine for easy business policy access, change, and management.
JBoss Rules makes it easy for a business analyst or auditor to view your business rules as encoded in your IT application infrastructure, to verify that the encoded rules indeed implement the documented business policies. JBoss Rules also supports a variety of language and decision table inputs, making it easy to quickly modify your business policies to respond to opportunities and competitive threats.

EHcache

Ehcache is an open source, standards-based cache used to boost performance, offload the database and simplify scalability. Ehcache is robust, proven and full-featured, which has made it the most popular Java-based cache with 100,000’s of production deployments.

Ext JS

Ext JS is a cross-browser JavaScript library for building rich internet applications. Build rich, sustainable web applications faster than ever. It includes:
    •    High performance, customizable UI widgets
    •    Well designed and extensible Component model
    •    An intuitive, easy to use API

Groovy 

Groovy
  • is an agile and dynamic language for the Java Virtual Machine
  • builds upon the strengths of Java but has additional power features inspired by languages like Python, Ruby and Smalltalk
  • makes modern programming features available to Java developers with almost-zero learning curve
  • supports Domain-Specific Languages and other compact syntax so your code becomes easy to read and maintain
  • makes writing shell and build scripts easy with its powerful processing primitives, OO abilities and an Ant DSL
  • increases developer productivity by reducing scaffolding code when developing web, GUI, database or console applications
  • simplifies testing by supporting unit testing and mocking out-of-the-box
  • seamlessly integrates with all existing Java classes and libraries
  • compiles straight to Java bytecode so you can use it anywhere you can use Java

GWT

Google Web Toolkit (GWT) is a development toolkit for building and optimizing complex browser-based applications. GWT is used by many products at Google, including Google Wave and Google AdWords. It's open source, completely free, and used by thousands of developers around the world.
Using GWT, developers can quickly develop and debug AJAX applications in the Java language using the Java development tools of their choice. When the application is deployed, the GWT cross-compiler translates the Java application to standalone JavaScript files that are optionally obfuscated and deeply optimized. Jahia supports GWT2.03

 

Hibernate

Hibernate is an object-relational mapping (ORM) library for the Java language, providing a framework for mapping an object-oriented domain model to a traditional relational database. Hibernate solves object-relational impedance mismatch problems by replacing direct persistence-related database accesses with high-level object handling functions.

ICU4J

ICU4J is a set of Java libraries that provides more comprehensive support for Unicode, software globalization, and internationalization.

Jackrabbit

Apache Jackrabbit is a fully conforming implementation of the Content Repository for Java Technology API (JCR, specified in JSR 170 and 283).
A content repository is a hierarchical content store with support for structured and unstructured content, full text search, versioning, transactions, observation, and more. Apache Jackrabbit is a project of the Apache Software Foundation.
Jahia version 6.6 is using the latest release of Apache Jackrabbit 2.0. This release is a fully compliant implementation of the JCR 2.0 API, specified by the Java Specification Request 283 (JSR 283).

jBPM

jBPM is a flexible Business Process Management (BPM) Suite. It makes the bridge between business analysts and developers. Traditional BPM engines have a focus that is limited to non-technical people only. jBPM has a dual focus: it offers process management features in a way that both business users and developers like it.

jQuery

jQuery is a fast and concise JavaScript Library that simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development. jQuery is designed to change the way that you write JavaScript.

JSON

JSON (an acronym for JavaScript Object Notation) is a lightweight text-based open standard designed for human-readable data interchange. It is derived from the JavaScript programming language for representing simple data structures and associative arrays, called objects. Despite its relationship to JavaScript, it is language-independent, with parsers available for virtually every programming language.

Lucene

Apache Lucene is a high-performance, full-featured text search engine library written entirely in Java. It is a technology suitable for nearly any application that requires full-text search, especially cross-platform.

MySQL

Jahia version 6.6 supports MySQL database version 5. MySQL clustering support is planned for next release (please contact us for more information).

OpenSearch

OpenSearch is a collection of technologies that allow publishing of search results in a format suitable for syndication and aggregation.

 

 

Pluto

Pluto is the Reference Implementation of the Java Portlet Specification. The current version (2.0) of this specification is known as JSR-286. The previous specification version, JSR-168, covers version 1.0 of the specification. Pluto implements and is fully compliant with both the 1.0 and 2.0 specifications.
Jahia uses release 2.0.2 of Pluto.

POI

"The Apache POI Project's mission is to create and maintain Java APIs for manipulating various file formats based upon the Office Open XML standards (OOXML) and Microsoft's OLE 2 Compound Document format (OLE2). In short, you can read and write MS Excel files using Java. In addition, you can read and write MS Word and MS PowerPoint files using Java. Apache POI is your Java Excel solution (for Excel 97-2008). We have a complete API for porting other OOXML and OLE2 formats and welcome others to participate.

PostgreSQL

PostGreSQL is a powerful, open source object-relational database system. It has more than 15 years of active development and a proven architecture that has earned it a strong reputation for reliability, data integrity, and correctness. It runs on all major operating systems, including Linux, UNIX (AIX, BSD, HP-UX, SGI IRIX, Mac OS X, Solaris, Tru64), and Windows.

 

Jahia version 6.6 supports PostGres database version 8.x.

 

Quartz Scheduler

Quartz is a full-featured, open source job scheduling service that can be integrated with, or used alongside virtually any Java EE or Java SE application - from the smallest stand-alone application to the largest e-commerce system. Quartz can be used to create simple or complex schedules for executing tens, hundreds, or even tens-of-thousands of jobs; jobs whose tasks are defined as standard Java components that may executed virtually anything you may program them to do. The Quartz Scheduler includes many enterprise-class features, such as JTA transactions and clustering.

Quercus

Quercus is Caucho Technology's fast, open-source, 100% Java implementation of the PHP language. Implementing PHP in Java brings benefits to both PHP users and pure Java users. Java developers can use Quercus immediately to deploy PHP applications.

REST

REST stands for Representational State Transfer. (It is sometimes spelled "ReST".) It relies on a stateless, client-server, cacheable communications protocol -- and in virtually all cases, the HTTP protocol is used.
REST is an architecture style for designing networked applications. The idea is that, rather than using complex mechanisms such as CORBA, RPC or SOAP to connect between machines, simple HTTP is used to make calls between machines. In many ways, the World Wide Web itself, based on HTTP, can be viewed as a REST-based architecture.
RESTful applications use HTTP requests to post data (create and/or update), read data (e.g., make queries), and delete data. Thus, REST uses HTTP for all four CRUD (Create/Read/Update/Delete) operations.

Selenium

Selenium automates browsers. That's it. What you do with that power is entirely up to you. Primarily it is for automating web applications for testing purposes, but is certainly not limited to just that. Boring web-based administration tasks can (and should!) also be automated as well.
Selenium has the support of some of the largest browser vendors who have taken (or are taking) steps to make Selenium a native part of their browser. It is also the core technology in countless other browser automation tools, APIs and frameworks."

Shiro

Apache Shiro is a powerful and easy-to-use Java security framework that performs authentication, authorization, cryptography, and session management. With Shiro’s easy-to-understand API, you can quickly and easily secure any application – from the smallest mobile applications to the largest web and enterprise applications.

Spring

Spring is a popular and widely deployed open source framework that helps developers build high quality applications faster. Spring provides a consistent programming and configuration model that is well understood and used by millions of developers worldwide. Unlike the traditional Java EE platform, Spring provides a range of capabilities for creating enterprise Java, rich web, and enterprise integration applications that can be consumed in a lightweight, a-la-carte manner.

Spring MVC

Like Jakarta Struts web framework, Spring MVC (Model View Controller) is a request-based framework. The framework defines strategy interfaces for all of the responsibilities which must be handled by a modern request-based framework.
Jahia uses Spring 2.5.6 WebMVC.

Tika

Apache Tika is a toolkit for detecting and extracting metadata and structured text content from various documents using existing parser libraries.
Tika was formerly a subproject of Apache Lucene. Lucene is a project of the Apache Software Foundation.

Tomcat

Apache Tomcat is an open source software implementation of the Java Servlet and JavaServer Pages technologies, developed by the Apache Software Foundation. The Java Servlet and JavaServer Pages specifications are developed under the Java Community Process.
Apache Tomcat is developed in an open and participatory environment and released under the Apache License version 2. Apache Tomcat is intended to be a collaboration of the best-of-breed developers from around the world.
Jahia version 6.6 supports Tomcat application server release 6.

XWiki

The XWiki project offers both a generic platform for developing collaborative applications using the wiki paradigm and products developed on top of it. All XWiki software is developed in Java and under the LGPL open source license.