Apache Cocoon

Apache Cocoon on Apache-projektin tuottama ohjelmistokehys/middleware WWW-palvelujen toteuttamiseen (content management framework). Se on kirjoitettu Java-ohjelmointikielellä. Cocoonin päälle on kehitetty myös sisällönhallintajärjestelmiä kuten Apache Forrest ja Apache Lenya.

Perustana Cocoonissa on työjärjestysten (pipeline) luominen. Periaatteena on, että Cocoon tunnistaa tietyn tarvittavan sivun, ja päättelee sen pohjalta, mitä eri toimenpiteitä pitää tehdä, jotta tietty lähdedokumentti saataisiin halutussa muodossa. Pääasiassa Cocoon käsittelee XML-muodossa olevia lähdedokumentteja, joista erilaisten XSL-muunnosten avulla tuotetaan halutun tyyppinen dokumentti.

Cocoonin työjärjestyksien luomisessa määritellään esimerkiksi seuraavia komponentteja:

 Tunnistaja (Matcher): Tunnistaa määrätynlaisen HTTP-pyynnön, evästeen tai vastaavan.
 Tuottaja (Generator): Tuottaa tietynlaista XML-dataa, esimerkiksi tiedostosta tai dynaamisesti.
 Muuntaja (Transformer): Muuttaa XML:ää toiseen muotoon.
 Tallentaja (Serializer): Tallentaa tai lähettää XML-vuon verkkoon halutussa muodossa, esimerkiksi HTML:nä tai PDF:nä.
 Valitsija (Selector): Haarauttaa työjärjestyksen tietyn ehdon mukaan.
 Näkymä (View): Kehitystyökalu, jolla voidaan tarkastella XML:ää työjärjestyksen keskellä.
 Lukija (Reader): Lukee dataa muuttamatta sitä. Tarvitaan esim. binäärimuotoisten tiedostojen ja kuvien välittämiseen.
 Toiminto (Action): Java-ohjelmointikielellä toteutettu erillinen osa työjärjestystä. Useimmiten sisältää ohjelmalogiikkaa.

Lähteet

Aiheesta muualla 
 Cocoon-projektin kotisivu 

Apache Software Foundation
Web-ohjelmakehykset