Design

Contents

Introduction

Crafter rivet is open source Web application development middleware for building content-rich applications. It integrates with Web content management systems, like Alfresco, and is designed to integrate with other services and data sources that are typically needed for enterprise-grade Web sites and applications.

Key Features

  • Provides loose integration with Alfresco WCM
  • Provides for integration with other systems
    • RDBMS, RSS/ATOM feeds, Solr/Lucene/Endeca/Fast, Mark Logic, e-Commerce back ends...
    • Easily extensible to integrate with more systems
  • Integration with advertising servers/networks
    • (e.g., Ad channels may be managed in Alfresco)
  • Supports multiple presentation frameworks
    • Seam/Facelets
    • Grails
    • Alfresco Surf
    • Spring MVC
    • JavaScript, GWT, YUI, ... (using REST (JSON/XML))
  • High performance, reliability, scalability
  • Standards compliant (XHTML / CSS)
  • Horizontally Scalable
  • Excellent support for SEO
  • Decouples Web Content Management (authoring) from Web Content Delivery

Design Overview

Architecture

Core

Crafter is Java-based, and is built using proven open source technologies:

Name URL Used For
Spring Framework http://www.springframework.org Spring is used for all services and service wiring
JBoss Seam http://www.seamframework.org Seam is used to manage contexts (scopes), dependency bijection, [TODO:]
Tuckey URL Rewrite Filter http://tuckey.org/urlrewrite mod_rewrite-like URL rewrites
RESTEasy http://www.jboss.org/resteasy JAX-RS RESTful services
EhCache http://ehcache.sourceforge.net Cache engine

Crafter has been extended with additional services and presentation components using:

Name URL Used For
Hibernate http://www.hibernate.org Persistence
Quercus PHP http://www.caucho.com/resin-3.0/quercus PHP presentation layer (write PHP and run in on JVM in Crafter!)
ROME http://rome.dev.java.net RSS/ATOM feed consumption/generation
RichFaces http://www.jboss.org/jbossrichfaces JSF component library

Extensions

Design Details

Core Services

Basic Concepts

Understanding the Servlet Pipeline

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.