Apache Cocoon

Från Rilpedia

Hoppa till: navigering, sök
Wikipedia_letter_w.pngTexten från svenska WikipediaWikipedialogo_12pt.gif
rpsv.header.diskuteraikon2.gif

Apache Cocoon, oftast endast kallad Cocoon, är ett ramverk för webapplikationer byggt på koncepten pipelines, modularisering och komponentbaserad webutveckling. Ramverket fokuserar på XML och XSLT publicering och är skapat med programmeringsspråket Java. Genom att förlita sig på XML får man en stor flexibilitet och tillåter snabb publicering i ett antal olika format som HTML, PDF, och WML. CMS-verktygen Apache Lenya och Dasy har skapats med Cocoon som grund.

Innehåll

Sitemap

Sitemapen är kärnan i Cocoon. Det är här som utvecklaren konfigurerar Cocoons komponenter och definierar klient/server-interaktioner i vad Cocoon kallar för Pipeline.

Komponenter

Matchningar

Matchningar (Matchers) används för att matcha användarförfrågningar så som URL:er eller cookies mot delar av eller hela adresser. Varje förfrågan skickas genom pipelinen till dess att en matchning uppstår. Det är först då som förfrågningen blir behandlad.

Generatorer

Generatorer (Generators) skapar en ström av data för vidare behandling. Strömmen kan bli genererad från befintliga XML-dokument. Det finns också generatorer som kan skapa XML-dokument från grunden för att representera någonting på servern, så som mappstrukturer eller bilddata.

Transformatorer

Transformatorer (Transformers) använder en ström av data och förändrar den på något sätt. Den vanligaste transformationen är att förändra ett XML-format till ett annat mha XSLT. Men det finns också transformationer som använder annan typ av data så som tex SQL-frågor och -svar.

Serialisatorer

En serialisator (Serializers) använder en ström av data, utför önskade förändringar, och skickar resultatet till klienten. Det finns serialisatorer som tillåter att du skickar data i många olika format, så som tex HTML, XHTML, PDF, RTF, SVG, WML och enkel text.

Selektorer

Selektorer (Selectors) erbjuder samma funktionalitet som switch-uttrycket. De kan använda utvalda element av en fråga och utifrån den välja olika delar av pipelinen att använda för vidare behandling.

Granskare

Granskare (Views) används mest för testning. En granskning är en ändpunkt i en pipeline. Den kan visa XML-strömmen som har blivit producerad upp till nuvarande läge för att undersöka om applikationen fungerar som den ska.

Läsare

En läsare (Readers) publicerar innehållet utan att behandla det (ingen XML-behandling). Används för bilder och liknande.

Funktioner

Funktioner (Actions) är javaklasser som utför någon typ av logik eller sköter produktionen av nytt innehåll. En XSP-sida är ett Cocoon-specifikt XML-dokument som innehåller taggbaserade direktiv som specificerar hur dynamiskt innehåll ska genereras under drift. Dessa direktiv behandlas av Cocoon och byts ut mot genererat innehåll så att det resulterade XML-dokumentet lämpar sig för ytterligare behandling (normalt en XSL transformation). XSP-sidor transformeras till Cocoon-producenter (producers), vanligtvis Javaklasser, men godtyckligt scriptspråk som det finns en Javaprocessor till kan användas. Direktiven kan antingen vara inbyggda taggar i XSP:n eller användardefinierade taggar i ett bibliotek. Inbyggda taggar används till underliggande procedurell logik, byta ut uttryck och bygga XML-noder dynamiskt. Användardefinierade taggar fungerar som mallar att bestämma hur programkod genereras från information kodad i varje dynamisk tagg.

Pipelinen

Pipelinen används för att definiera hur Cocoon-komponenterna interagerar med olika förfrågningar för att producera ett gensvar.

Externa länkar

Personliga verktyg