Apache Cocoon
Utvecklare | Apache Software Foundation |
---|---|
Stabil frisättning | 2.2.0 / 15 maj 2008
|
Förvar | |
Skrivet i | Java , XML |
Operativ system | Cross-plattform |
Typ | Webbapplikationsramverk |
Licens | Apache-licens 2.0 |
Hemsida |
Apache Cocoon , vanligtvis förkortat som Cocoon , är ett ramverk för webbapplikationer byggt kring koncepten Pipeline , separation av bekymmer och komponentbaserad webbutveckling. Ramverket fokuserar på XML- och XSLT- publicering och är byggt med hjälp av programmeringsspråket Java . Cocoons användning av XML är avsett att förbättra kompatibiliteten för publiceringsformat, som HTML och PDF . Innehållshanteringssystemen Apache Lenya och Daisy har skapats ovanpå ramverket . Cocoon används också ofta som ett ETL- verktyg för datalagring eller som mellanprogram för att transportera data mellan system.
Webbplatskarta
Apache Cocoon använder webbplatskartor för att tillåta användare att styra en mängd olika komponenter i Cocoon-mjukvaran, samt definiera klient-server- interaktionerna i det som Cocoon refererar till som Pipelines .
Komponenter
Komponenterna inom Cocoon är grupperade efter funktion.
Matchare
Matchare används för att matcha användarförfrågningar som webbadresser eller cookies mot jokertecken eller reguljära uttrycksmönster . Varje användarförfrågan testas mot matchare i webbplatskartan tills en matchning görs. Det är inom en matchare som svaret på en viss begäran specificeras.
Generatorer
Generatorer skapar en dataström för vidare bearbetning. Denna ström kan genereras från ett befintligt XML-dokument eller så finns det generatorer som kan skapa XML från början för att representera något på servern, till exempel en katalogstruktur eller bilddata.
XSP
En typ av generator är en XML Server Page ( XSP ), ett XML-dokument som innehåller taggbaserade direktiv som anger hur dynamiskt innehåll ska genereras vid begäran. Vid Cocoon-bearbetning ersätts dessa direktiv med genererat innehåll så att det resulterande, utökade XML-dokumentet kan bli föremål för ytterligare bearbetning (vanligtvis en XSLT-transformation). XSP:er omvandlas till Cocoon-producenter, vanligtvis som Java-klasser, men alla skriptspråk som det finns en Java-baserad processor för kan också användas.
Direktiv kan antingen vara inbyggda ("XSP") eller användardefinierade bearbetningstaggar, som båda definieras i logikblad . Taggar definieras med XSLT-mallar som beskriver hur taggarna (representerade som XML-noder) omvandlas till andra XML-noder eller till procedurkod som Java. Taggarna används för att bädda in procedurlogik, ersätta uttryck, hämta information från webbservermiljön och andra operationer.
Observera att XSP är föråldrat i de senaste utgåvorna av Cocoon. [ citat behövs ]
Transformatorer
Transformatorer tar en ström av data och ändrar den på något sätt. De vanligaste transformationerna utförs med XSLT för att ändra ett XML- format till ett annat. Men det finns också transformatorer som tar andra former av data ( SQL- kommandon till exempel).
Serialiserare
En serializer förvandlar en XML-händelseström till en sekvens av byte (som HTML) som kan returneras till klienten. Vissa serialiserare låter dig skicka data i många olika format inklusive HTML , XHTML , PDF , RTF , SVG , WML och vanlig text , till exempel.
Väljare
Väljare erbjuder samma möjligheter som en switch-sats . De kan välja särskilda delar av en begäran och välja rätt pipelinedel att använda.
Visningar
Vyer används främst för testning. En vy är en utgångspunkt i en pipeline. Du kan lägga ut XML-Stream som produceras till denna punkt. Så du kan se om applikationen fungerar som den ska.
Läsare
Publicera innehåll utan att analysera det (ingen XML -bearbetning). Används till bilder och sånt.
Handlingar
Actions är Java-klasser som exekverar viss affärslogik eller hanterar ny innehållsproduktion.
Pipeline
En pipeline används för att specificera hur de olika Cocoon-komponenterna interagerar med en given begäran för att producera ett svar . En typisk pipeline består av en generator, följt av noll eller fler transformatorer, och slutligen en serialiserare.
Se även
- Reaktormönster - designmönstret som Cocoon bygger på.
- XPoc - en W3C-standard för modellering av XML-pipeline.