Apache Cocoon

Un article de Wikipédia, l'encyclopédie libre.

Apache Cocoon est un projet libre de la Fondation Apache. Cocoon met en œuvre un système de pipeline de composants pour le développement d'applications Web. Le principe est de partir de documents au format XML, qui subissent des transformations via les pipelines, pour être transformés dans d'autres formats (HTML, PDF, etc.).

Les composants des pipelines sont écrits en Java (langage). Les documents XML sont traités sous forme d'évènements SAX.

La force d'Apache Cocoon est de pouvoir créer n'importe quel type de document, du moment que l'on utilise les composants capables de le faire. Cela permet de pouvoir non seulement envoyer à un client une page Web, mais aussi cette même page au format PDF, ou tout autre format.

Le logiciel est libre, distribué selon les termes de la licence Apache.

Sommaire

[modifier] Le sitemap

Le sitemap est le cœur d'une application développée avec Apache Cocoon. Il décrit quelles transformations les documents XML devront subir pour répondre à une requête donnée. En effet, un document PDF et un document HTML ne seront pas générés de la même manière.

[modifier] Les pipelines

Un pipeline est constitué de plusieurs composants : un générateur, un ou plusieurs transformateurs, et un sérialiseur. Un pipeline minimal contient un générateur, un transformateur, et un sérialiseur.

[modifier] Les générateurs

Un générateur est un composant dont le rôle est de générer les évènements SAX à l'entrée du pipeline. L'exemple le plus simple est de lire un fichier XML sur le disque dur, et de générer les événements SAX correspondants, mais un générateur peut aussi par exemple utiliser comme source un flux (RSS).

[modifier] Les transformateurs

Les transformateurs sont les composants du pipeline chargés de transformer les évènements SAX qu'ils reçoivent en d'autres événements SAX. Pour cela, les transformateurs peuvent utiliser des feuilles de style XSLT

[modifier] Les sérialiseurs

Le sérialiseur est le dernier composant d'un pipeline Cocoon. Il transforme les événements SAX qu'il reçoit en un flux d'octets qui sera transmis au client.

[modifier] Liens externes