Spring-based framework apache Cocoon is built by the concepts of separation of concerns. This is an component-based development of Apache. There are several component pipelines in Cocoon where each component in the pipeline is specializing on a particular operation. Cocoon framework is like a web glue that keeps concerns separate and allows parallel evolution of all aspects of a web application, improving development pace and reducing the chance of conflicts. It makes easier perform multiple output formats, offers continuation based web controller implementations.
Cocoon blocks is the unit of modularization in Cocoon which is packaged as a jar (Java Archive). Everything that goes beyond what Cocoon provides in its core modules like Spring integration is provided as block. Custom Cocoon applications are developed or maintained as blocks. A block usually provides following features:
-general servlet services (any servlet can be managed by the Cocoon servlet-service framework),
-special services that provide pipelines as services,
-component services (Spring beans, Avalon services/components),
-a container for classes and resources.
Features:
-component-based development
-several component pipelines
-Advanced Control Flow
-Cocoon does not duplicate efforts but tightly integrates many technologies.
Reference: Apache
Posted by Md. Shahjalal 
