Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

10.06.2004Stefan Metzlaff1 Cocoon Stefan Metzlaff 10.06.2004.

Ähnliche Präsentationen


Präsentation zum Thema: "10.06.2004Stefan Metzlaff1 Cocoon Stefan Metzlaff 10.06.2004."—  Präsentation transkript:

1 10.06.2004Stefan Metzlaff1 Cocoon Stefan Metzlaff 10.06.2004

2 Stefan Metzlaff2 Gliederung Geschichte Was ist Cocoon? Cocoon 1 vs. Cocoon 2 Sitemap und Komponenten XSP Fazit Quellen

3 10.06.2004Stefan Metzlaff3 Geschichte Jan. 1999 als Servlet zur Darstellung für XML Dateien von Stefano Mazzocchi Nov. 2001 Freigabe von Cocoon 2 als Teil des Apache XML Projekts z.Z. ca. 20 Kernentwicklern und unzähligen Nutzern

4 10.06.2004Stefan Metzlaff4 Was ist Cocoon (1) XML Publishing Framework Dynamische Visualisierung von Daten in verschiedenen Formaten –HTML –PDF –SVG

5 10.06.2004Stefan Metzlaff5 Was ist Cocoon (2) Servlet innerhalb eines Applikationsserver Trennung von Logik, Daten und Präsentation Pipeline - XML - XSL

6 10.06.2004Stefan Metzlaff6 Cocoon 1 basiert auf DOM –Aufbauen eines kompletten Baumes für jedes Dokument vor der Verarbeitung –schlechte Performance –hohe Speicherverbrauch nutzt Reactor Pattern –Ablauf der einzelnen Funktionen durch Processing Instructions innerhalb der XML-Datendatei bestimmt –Schwierigkeiten mit hoch dynamischen Dokumenten

7 10.06.2004Stefan Metzlaff7 Cocoon 2 Verwendung von SAX –Verarbeitung der Daten als XML SAX-Stream –ermöglicht Verarbeitung sehr großer Dokumente Sitemap Konzept –Funktionen und deren Komponenten werden in der globalen Sitemap beschrieben –Funktionen bestehen aus einer Kette von Komponenten (Pipeline)

8 10.06.2004Stefan Metzlaff8 Pipeline Einfache Pipeline Besteht aus Generator, Transformer und Serializer SAX sample1.html sample1.xsl sample1.xml GeneratorTransformerSerializer

9 10.06.2004Stefan Metzlaff9 Sitemap (1) XML Datei sitemap.xmap Deklariert Komponenten Definiert Funktionen Zuordnung von Anfragen zu Pipelines Erlaubt es Nichtprogrammierern Webseiten und Webapplikationen mittels XML und logischen Komponenten zu erstellen

10 10.06.2004Stefan Metzlaff10 Sitemap (2) Cocoon enthält viele vordefinierte Komponenten Komponenten werden im Bausteinprinzip zu Pipelines zusammengefügt Eigene Komponenten können ohne Modifikation von Cocoon integriert werden Komponentenimplementierungen sind Java- Klassen

11 10.06.2004Stefan Metzlaff11 Sitemap (3) Direkte Komponenten –unmittelbaren Einfluss auf XML-Stream –Generator, Transformer, Serializer und Reader Indirekte Komponenten –keinen Einfluss auf den XML-Stream –Matcher, Selector und Action

12 10.06.2004Stefan Metzlaff12 Sitemap (4)

13 10.06.2004Stefan Metzlaff13 Sitemap (5) Aus MatthewLangham - Introduction To Cocoon 18.11.2003

14 10.06.2004Stefan Metzlaff14 Generator (1) Erste Komponente in einer Pipeline Erzeugt XML Stream Nutzen Cache zur Performancesteigerung Typen von Generatoren –Datei Generator –Verzeichnis Generator –XSP Generator –JSP Generator –...

15 10.06.2004Stefan Metzlaff15 Generator (2) Deklaration von Generatoren: <map:generator name="file" src="org.apache.cocoon.generation.FileGenerator" label="content"/>...

16 10.06.2004Stefan Metzlaff16 Generator (2) Beispiel in der Pipeline: SAX sample1.html sample1.xsl sample1.xml GeneratorTransformerSerializer

17 10.06.2004Stefan Metzlaff17 Transformer (1) Eingabe und Ausgabe ist XML Stream Transformer verändert XML Struktur Meist direkt nach Generator in Pipeline Typen: –XSLT Transformer –LOG Transformer –SQL Transformer –I18N Transformer –...

18 10.06.2004Stefan Metzlaff18 Transformer (2) Deklaration von Transformern: false...

19 10.06.2004Stefan Metzlaff19 Transformer (3) Beispiel in der Pipeline: SAX sample1.html sample1.xsl sample1.xml GeneratorTransformerSerializer

20 10.06.2004Stefan Metzlaff20 Serializer (1) Umwandlung von XML Stream in ein anwendungsspezifisches Format Letzte Komponente der Pipeline Typen: –HTML Serializer –FOP Serializer –Text Serializer –XML Serializer –...

21 10.06.2004Stefan Metzlaff21 Serializer (2) Deklaration von Serializern:...

22 10.06.2004Stefan Metzlaff22 Serializer (3) Beispiel in der Pipeline: SAX sample1.html sample1.xsl sample1.xml GeneratorTransformerSerializer

23 10.06.2004Stefan Metzlaff23 Reader (1) Übermittelt Dokumente direkt, ohne XML Streams, an den Client Start und gleichzeitig Endpunkt einer Pipeline z.B. für Bilder, Binaries und CSS

24 10.06.2004Stefan Metzlaff24 Reader (2) Deklaration:... <map:reader name="image" src="org.apache.cocoon.reading.ImageReader" logger="sitemap.reader.image" pool-max="32" pool-min="1" pool-grow="4"/>... Beispiel: <map:read type="image" src="resources/images/{1}.jpg" mime-type="image/jpeg">

25 10.06.2004Stefan Metzlaff25 Matcher (1) Ordnet eine URI zu einem Pattern zu, um der Anfrage eine Pipeline zu zuordnen Ermöglichen Verarbeitung in einer Pipeline für Gruppen von URIs Typen: –Wildcard Matcher –Regexp Matcher –Weitere eigene Matcher möglich

26 10.06.2004Stefan Metzlaff26 Matcher (2) Deklaration von Matchern:

27 10.06.2004Stefan Metzlaff27 Matcher (3) Beispiel:

28 10.06.2004Stefan Metzlaff28 Selector (1) Zur Abbildung von Basislogik innerhalb der Sitemap Ähnlich zu Matcher Im Gegensatz zu Matcher nicht nur ja/nein sondern Multiple-Choice Abfragen möglich Typen: –BrowserSelector –ParameterSelector –HostSelector –...

29 10.06.2004Stefan Metzlaff29 Selector (2) Deklaration von Selectoren:

30 10.06.2004Stefan Metzlaff30 Selector (3) Beispiel:......

31 10.06.2004Stefan Metzlaff31 Action In Sitemap definierte spezielle Java Klassen Verändern nicht den XML Stream sondern setzen Parameter für die Pipeline z.B. für Logins verwendet

32 10.06.2004Stefan Metzlaff32 XSP eXtensible Server Pages Ermöglichen dynamische XML Erzeugung auf Generatorebene Programmierung im XML, durch Logic-Sheets Integration von Java Code Nicht sehr übersichtlich Schwierig zu debuggen

33 10.06.2004Stefan Metzlaff33 Komplexe Pipeline sample2.xml GeneratorTransformerSerializer formatier.xsl html-out.xsl SQL Transformer XSLSOAPXSL DB sample2.html

34 10.06.2004Stefan Metzlaff34 Fazit Vorteile –Basiert auf Java und XML (plattformunabhängig) –Modular & Erweiterbar –Open Source Nachteile –Lange Einarbeitungszeit, um alle Features nutzen zu können –Performance

35 10.06.2004Stefan Metzlaff35 Quellen Quellen –The Apache Cocoon Project, http://cocoon.apache.org/http://cocoon.apache.org/ –XML.COM, - Getting Started With Cocoon 2, Steve Punte –IX 3/2004: Cocoon 2.1: XML als HTML oder PDF dynamisch darstellen, S.: 48-51 –Das Apache XML Projekt, Seminarvortag von Markus Minnameier, 26.01.2001 –XML Framework: Cocoon, Seminar: XML für Fortgeschrittene, Katrin Apel –Publishing mit freier Apache-Software, COMPUTERWOCHE Nr. 06 vom 08.02.2002 –Introduction To Cocoon, Matthew Langham Download –http://cocoon.apache.org/mirror.cgihttp://cocoon.apache.org/mirror.cgi

36 10.06.2004Stefan Metzlaff36 Fragen ?!?


Herunterladen ppt "10.06.2004Stefan Metzlaff1 Cocoon Stefan Metzlaff 10.06.2004."

Ähnliche Präsentationen


Google-Anzeigen