Apache Cocoon
De Viquipèdia
Apache Cocoon o Cocoon és un entorn de programació de pàgines web dinàmiques al voltant dels conceptes de procés de transformacions en seqüència (ang.: pipeline), separació d'aspectes i componentització.
L'entorn es basa en l'expressió dels elements en XML i la seva transformació mitjançant fulls d'estil XSLT.
Tot el procés es compila generant una Servlet Java per a ser emprada en un servidor Tomcat o altres servidors contenidors de Servlets.
Segons el model MVC (Modelització/Visualització/Controlador) la modelització (Accions) es fa en Java, el controlador en Flowscript (una extensió de Javascript) i la visualització és el resultat del procés de transformacions descrit anteriorment a partir de pàgines XSP (XML Server Pages) amb marcatge separador de contingut i llògica i també a partir de documents XML o de generadors d'esdeveniments SAX.
Taula de continguts |
[edita] El SiteMap
El sitemap és l'element base de la configuració de Cocoon. Descriu els components emprats i la seqüència de processos (pipeline) per a cadascun dels patrons de comanda http (URI) especificats.
[edita] La seqüència de procés (pipeline)
En un sitemap podem especificar diverses pipelines.
[edita] Els Matchers o Reconeixedors de patrons
Permeten especificar els patrons de comanda http als quals es respondrà amb la present pipeline. Cada pipeline té un únic component matcher. Els comodins dels patrons del matcher estàndard o els grups en un matcher d'expressions regulars permeten captar en variables les parts de la URI.
[edita] Les Accions
Les accions permeten executar codi Java per a les requestes que comportin la modificació de les dades de sessió o l'actualització de la base de dades.
Cada acció retorna un diccionari de variables utilitzable en la resta del procés. Si es retorna NULL la pipeline s'aborta.
Es poden concatenar diverses accions cadascuna de les quals fondrà el seu diccionari amb el diccionari precedent.
[edita] Els Generadors
Els generadors permeten generar dinàmicament documents XML com a origen de transformació, emprant entre altres paràmetres les claus dels diccionaris de les accions precedents.
[edita] Els Lectors
Els lectors permeten proporcionar documents o fitxers estàtics (ex. imatges) sense transformar. Són origen i final de la pipeline.
[edita] Els Agregadors
Els agregadors permeten agregar XML procedent de parts (subdocuments XML a incorporar) o subpipelines.
[edita] Els Selectors
Els selectors permeten establir alternatives de transformació a partir de les variables de la pipeline.
[edita] Els Transformadors
Transformen el resultat del pas anterior mitjançant un full d'estil XSLT.
[edita] Els Serialitzadors
Generen la sortida en el format especificat.
[edita] Les Vistes
Les vistes (views) s'utilitzen per a proves. Creen un punt de sortida a la pipeline.
[edita] El Controlador
El controlador en llenguatge Flowscript (extensió de Javascript) permet especificar el flux de treball de diverses pàgines en una rutina, mitjançant continuacions.
El mecanisme de continuacions permet continuar una rutina en un punt intermedi prèviament interromput, havent desat la pila de crides i l'entorn de variables, establint un punt d'entrada.
Les dades de continuació es desen amb les dades de sessió i el seu identificador pot ser utilitzat com a paràmetre ocult en un formulari.
[edita] Enllaços externs
- The Apache Cocoon Project (anglès)
- Cocoon 2.1 Documentation (anglès)
- The Apache Software Foundation (anglès)
- Mostres de programació Cocoon (anglès)

