This project has retired. For details please refer to its
Attic page
Cocoon Features
apache
cocoon
About
Index
Features
News
License
Documentation
Introduction
Tracks
Introduction
First steps
Web publishing
Installation
Intro
System requirements
Updating to version 2.1.5
Jars
Overview
User Guide
User Documentation
Concepts
Overview
Section Home
Example sitemap snippets
Views
Caching
Actions
Matchers and Selectors
Entity Catalogs
MRUMemoryStore
Persistence
StoreJanitor
XML Searching
XML Validation
Databases
Modules
Modules Reference
Redirection
Profiler
Error Handling
Sitemap Components
Generators
Overview
Default
File Generator
Core
Calendar Generator
Directory Generator
File Generator
Imagedirectory Generator
Jx Generator
Linkstatus Generator
MP3directory Generator
Notifying Generator
Request Generator
SessionAttribute Generator
Status Generator
Stream Generator
Xpathdirectory Generator
Optional
Fragment Extractor Generator
HTML Generator
JSP Generator
PHP Generator
Profile Generator
Script Generator
Search Generator
Server Pages Generator
Velocity Generator
Web Service Proxy Generator
XML:DB Collection Generator
XML:DB Generator
Transformers
Overview
Default
XSLT Transformer
Core
Fragment Extractor Transformer
I18n Transformer
JPath Transformer
Log Transformer
Filter Transformer
Read DOM Session Transformer
RoleFilter Transformer
SimpleForm Transformer
SimpleFormInstance Transformer
Write DOM Session Transformer
Xinclude Transformer
Cinclude Transformer
EncodeUrl Transformer
Sourcewriting Transformer
Augment Transformer
JX Template Transformer
XSLT Transformer
Optional
LDAP Transformer
Lexical Transformer
Parser Transformer
Pattern Transformer
Session Transformer
SQL Transformer
Serializers
Overview
Default
HTML Serializer
Core
HTML Serializer
XHTML Serializer
XML Serializer
Text Serializer
WAP/WML Serializer
SVG Serializer
SVG/XML Serializer
SVG/JPEG Serializer
SVG/PNG Serializer
SVG/TIFF Serializer
VRML Serializer
Link Serializer
Zip archive Serializer
Optional
PDF Serializer
PS Serializer
PCL Serializer
HSSF (XLS) Serializer
Matchers
Overview
Default
WildCard URI Matcher
Core
WildCard URI Matcher
WildCard Header Matcher
Optional
Template Matcher
Selectors
Overview
Default
Browser Selector
Core
Browser Selector
Host Selector
Parameter Selector
Request Attribute Selector
Request Method Selector
Request Parameter Selector
Resource Exists Selector
Regular-expression Header Selector
Scratchpad
Date Selector
Actions
Overview
Database
Optional
Sendmail Action
Session Action
Script Action
Readers
Overview
Default
Resource Reader
Core
Image Reader
Resource Reader
Optional
AxisRPC Reader
Database Reader
JSP Reader
Scratchpad
Directory ZIP Archiver
Flow
Introduction
Continuations
How does it work?
Usage
Tutorial
Flowscript
Calling Java
Views
JXTemplate
JPath
Velocity
Cocoon Forms
Basics
Introduction
Sample
Improving the sample
Widgets
form
field
multivaluefield
booleanfield
repeater
output
submit
action
repeater-action
row-action
aggregatefield
upload
messages
imagemap
tree
group/struct
union
class/new
Widget Concepts
Validation
Event Handling
Datatypes
Selection lists
Widget states
Form Publishing
Templating
Section Home
Template Generator
Template Transformer
Generator
XSLT
Binding Framework
Simple XML Binding
API
Javascript (Flowscript)
Java
Form libraries
Ajax
Forms @ Wiki
XSP
Overview
XSP
Section Home
XSP Guide
XSP Internals
XSP Logicsheets
Sessions
Logicsheets
Request
Session
ESQL
Forms
Sendmail
Offline
Overview
Command Line
CLI Configuration
Ant
Cocoon Bean
Developer's Guide
Index
Concepts
Internals
Extending
Avalon
Source Handling
Stores
Using Databases
Parent CM
DELI Quick Start
DELI
Developing Webapps
Overview
Sessions
Session Contexts
Authentication
Section Home
The Authentication Handler
Authenticating a User
User Management
Application Management
Module Management
User Administration
Configuration Summary
Pipeline Patterns
Simple Forms
Portal FW
Building a portal using the Portal Engine
Index
Portal Engine
Configuring Coplets
Section Home
The URICoplet
The CachingURICoplet
Layout and Skins
Event Handling
Profiles
WSRP Support
Authentication
Form handling
A Basket
Connect to SAP R/3
API (Javadoc)
Tutorials
Index
WebApp
Custom Generator
Tutorial screenshots
RMIServer
FAQ
Index
Install
Configure
CVS/SVN
Configure C2
Databases
XSP
XSLT
Debugging
Generators
Transformers
Serializers
Matchers
Selectors
Actions
Aggregators
How Tos
Index
Samples
Paginator
HTML-PDF
Web Syndication
Flow Debugger
Author How-To
Author FAQ
Author Snippet
Author Docs
Prepare patch
Bugzilla
Performance
Snippets
Index
XSLT Processor Options
Internal Pipeline
Wiki Docs
Status
Changes
To Do
Planning Notes
Overview
Planning Overview
Roadmap
Documentation
Overview
Fix broken links
Other Planning
Release Plan
Cocoon Samples
Proposed TOC
Updating Cocoon
Patch queue
Community
Cocoon Bylaws
Hall of Fame
Contributing
Mail Lists
Mail Archives
Project
Bug Database
Code Repository
Dev Snapshots
Other Releases
Cocoon 1.x
Cocoon 2.0
External
2005 Get Together
Cocoon Features
General information
Apache Cocoon is a web development framework built around the concepts of
component-based web development and separation of concerns, ensuring that people
can interact and collaborate on a project without stepping on each other toes.
Cocoon implements these concepts around the notion of
component
pipelines
, each component on the pipeline specializing in a particular
operation (usual pipeline uses a Generator, Transformers and a Serializer). This
makes it possible to use a Lego(tm)-like approach in building web solutions,
hooking together components into pipelines without requiring programming.
Advanced Control Flow
: continuation-based page flow hides
the complexity of request/response processing and is cleanly separated from the
view and data components.
Cocoon is open source software (based on the
Apache
Software License
).
Cocoon does not duplicate efforts but tightly integrates many technologies.
Cocoon is in use at many live sites and on many company networks.
Cocoon has a strong community, with many active developers and more than
plenty of active committers
There is free support from the thousands of people on our
mailing lists
and commercial support is available from various companies and consultants.
There are many Cocoon sessions at different conferences:
Cocoon GetTogether
ApacheCon
Austrian Cocoon Day
WJAX
JAX
To get started see the
"first steps" documentation
track
. Basically you only need to
Cocoon, unpack it and
follow the simple INSTALL.txt instructions. A minimal version of the Jetty
servlet container is included with Cocoon.
Usage scenarios
As you would expect, all of these scenarios can be combined.
Dynamic multi-channel web publishing (see below for the possible datasources
and output formats)
Create static content (automatically) by separating data from view
Offline generation modes with Cocoon's own
offline facilities
: command-line interface
(CLI), ant task, bean. Also with
Apache
Forrest
which utilises Cocoon.
Dynamic document preparation with
Apache Forrest
, the '
forrest
run
' mode. Use many different data input formats, see the transformed
result immediately in the browser.
Advanced web applications with J2EE integration (with separation of your
data, the view and the
flow logic
--> this really
means you can change one of the parts without touching another)
Develop your company portal using the Cocoon Portal framework
Support multiple clients, layouts and languages (i18n) without code
duplication
Integrate Cocoon with your existing web applications or use it to put a
better face on them (page scraping)
Add full-text search to any datasource that can be converted to XML (see
below)
Use Cocoon as the base for Enterprise Application Integration (EAI)
Use Cocoon as the base for your Content Management System (CMS) (see
Apache Lenya
for a Cocoon based
CMS)
Use Cocoon for producing mobile content (mobile phones, pdas)
Datawarehouse reporting across multiple formats (see xReporter)
Connect your datasources
Out of the box, the following data can be converted to XML to be processed by
Cocoon pipelines.
XML Files
XML based (Web) services
RDBMS (via
JDBC
, including
connection pooling)
XML databases
SAP (r) Systems by adding the SAP JavaConnector see
(accessible for all SAP (r) customers)
WebDAV
CVS (supported by the external project
CVSSource
Text-based file formats, either using the integrated
Chaperon
parser for a yacc-like
approach to parsing, or the "slop" component (Simple Line Oriented Parser).
Velocity templates
JXPath/Jexl templates
eXtensible Server Pages (XSP)
with wide range of
logicsheets (database, mailing, ...)
Python (Jython
) and generic
BSF support
JSP
Filesystem (traversing directory hierarchies)
Any information provided by environment (request, session)
Flash
XMidi
LDAP - Lightweight
Directory Access Protocol
Easily aggregate different datasources
Transform your XML based on standards
XSLT
(The default XSLT-Engine is
Apache Xalan, XSLTC is included in the Cocoon distribution, other XSLT-Engines
like Saxon can be easily integrated)
STX
(Streaming Transformations for XML)
XInclude
with
XPointer
framework support
Serialize your XML to various output formats
XML
HTML
XHTML
PDF
OpenOffice.org/StarOffice
MS Excel
RTF
Postscript
Charts (see external project
Fins
Flash
Plain text
Scalable Vector Graphics (SVG)
MIDI
ZIP archives
What else we can do for you
Coexist and interoperate side-by-side with your existing J2EE solutions
EJB
JMS
, ...)
Build your
Portals
based on Cocoon
Scheduler - Run background tasks for maintenance, etc.
Caching on many levels
Integrated search engine (using
Lucene
DELI
(detect client configuration)
Catalog Entity Resolver to map to local copies of DTDs and other resources
Publish your own WebServices (
Apache
Axis
is integrated)
Java Mail
support
Easy integration of object-relational frameworks
OJB
Hibernate
, ...)
I18n support (translation support)
Easily extensible by clear interfaces (write your own components following
Avalon
patterns)
Many, many examples and samples
Configurable build mechanism based on
Ant
(you decide which parts of Cocoon you
need)
Integration of Java data binding frameworks
Castor
Betwixt
Form handling frameworks
Enhanced form handling with strong validation through
Cocoon Forms
Easy integration of (future)
XForms
clients
Cocoon deployment and integration
Cocoon can be run in every servlet container or J2EE application server that
supports Java Servlets 2.2 and above, e.g.
Tomcat
Jetty
JBoss
JRun
Resin
Websphere
Weblogic
, ...
Command line execution, without requiring a servlet container
Embeddable in any Java application
Errors and Improvements?
If you see any errors or potential improvements in this document
please help us:
View, Edit or comment on
the latest development version (registration required).
Copyright ©
1999-2005
The Apache Software Foundation.
Send feedback about the website to:
dev@cocoon.apache.org
US