Apache Cocoon
Apache Cocoon est un cadriciel (framework) de développement web. Il s'agit d'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 non seulement d'envoyer à un client une page Web, mais aussi de l'envoyer au format PDF ou tout autre format.
Le logiciel est libre, distribué selon les termes de la licence Apache.
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.
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 et un sérialiseur.
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).
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
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.
Les readers
Un reader est un composant du pipeline qui lie une ressource et la transmet au client en flux d’octet. Il prend le rôle à la fois de générateurs et de sérialiseurs.
Liens externes
- (en) Site officiel
- (fr) Partie francophone
- « https://projects.apache.org/json/projects/cocoon.json » (consulté le )
- « https://cocoon.apache.org/1445_1_1.html » (consulté le )