Nuxeo 5 at a Glance

Nuxeo 5 is a standards-based, open source platform for building ECM applications. The corporate site details commercial offerings. Nuxeo has been offering an ECM solution since 2001.

Initially a Python/Zope offering, the CPS Platform, they announced plans to switch to Java in September 2006. They outline their reasoning in this switch FAQ and in more technologist-specific details here, e.g.:
For the last two years, our business has grown and our customers’ requirements too. Our software must fit seamlessly in their global information systems. They also need to deliver critical applications that can offer concurrently high-performances, high-availability and manage huge data volume (> 5 TB). To achieve these goals, we improved the Zope infrastructure a lot, but feel we reached its limit with CPS 4, to the point where two of its most critical components, the content repository and the search engine, are actually Java-based (respectively, Jackrabbit and Lucene).

JBoss JEMS is the leading open source Java EE application server in the corporate world today and the only one at this point to support all the recent Java EE features we need for the development of Nuxeo 5, mainly: EJB3 and JSF. Moreover JBoss Inc. (now a division of Red Hat) can provide support for the middleware infrastructure at the level we require so that we can offer an integrated high-level support to our customers.

Some JBoss third-party products, like Seam, JRules and jBPM are also key parts of our architecture. While they should be running on other J2EE platforms, we believe it to be more natural, in a first phase, to use them on top of JBoss AS.

To achieve application server independence and deep extensibility we wrote Nuxeo Runtime, a powerful component management framework running on top of a host platform. Nuxeo Runtime consumes OSGi bundles or XML descriptors and deploys them dynamically to the host platform (JBoss, OSGi, Objectweb's JOnAS, Apache's Geronimo, etc. — you just need to write another adapter to support a new platform). Nuxeo components are dynamically adapted to the native host platform components (like MBean, OSGi services, etc.) giving you the full benefits of the underlying platform's capabilities.
The first generally available 5.0 release shipped in February 2007 as announced here and also covered here (touching on OSGi use). The latest stable release is made available in February 2008.

Products integrated in Nuxeo 5:
  • JBoss AS as the target application server
  • JBoss Seam as web application framework (and AJAX support framework)
  • JBoss jBPM as business process management engine
  • JBoss Cache as cache system
  • Apache MyFaces as JSF engine
  • Apache Lucene as indexing engine
  • Apache Jackrabbit as content storage
  • PostgreSQL 8 and MySQL 5 as default target RDBMS
Nuxeo 5 is licensed under the business-friendly open source LGPL. Some jointly-developed components will use the Eclipse Public License and the Apache License. The software is developed and delivered using the open source model, with zero-cost licenses and a subscription model based around deployments, not numbers of users.

An online tour is available here and the latest user guide is available here.

Nuxeo 5 Projects

Nuxeo Runtime is the foundation of the Nuxeo 5 infrastructure. It handles deployment and extensibility of components to target platforms. This component allows the whole Nuxeo 5 infrastructure to be easily ported between Java platforms (Java EE, OSGi, etc.).

Nuxeo Core is an embeddable document management core, based on Nuxeo Runtime. It provides all necessary low-level services to define, store, manage, audit, request and search content. It is the kernel of Nuxeo 5 and can also be embedded in third-party applications to provide advanced content management features.

Nuxeo Enterprise Platform (EP), based on the above projects, provides a coherent set of components addressing the whole ECM scope. Nuxeo EP is built on two layers: Nuxeo Foundations and Nuxeo Enterprise Components.

Nuxeo Rich Client Platform (RCP) is described in the slides of the talk presented at the 2006 Eclipse Summit Europe. This project aims at building a framework to create ECM-oriented desktop applications, independent from vendor or technologies.

Rich Client Platform

While the Eclipse platform is designed to serve as an open tools platform, it is architected so that its components could be used to build just about any client application. The minimal set of plug-ins needed to build a rich client application is collectively known as the Rich Client Platform. See the RCP FAQ for more information.

Developer Information

The developer focused section has outgrown this article, and has moved to a separate post.

Operations Information

Nuxeo supports and certifies the following hardware and software likely to be used on this project.

  • Intel/AMD 32-bit & 64-bit
  • SPARC 32-bit & 64-bit
Operating Systems:
  • RedHat 3.x, 4.x, 5.x
  • Debian 4.0, Ubuntu Server 6.06 LTS and 7.04
  • Solaris 10


  • PostgreSQL 8.x
  • Oracle Database 9i, Oracle Database 10g

Java Runtime Environment:

  • 1.5.0 (update 11 recommended)

Java EE application servers:

  • JBoss AS 4.0.4 GA and 4.0.5 GA
  • JBoss AS 4.2.0 GA (in progress)

No comments: