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 Stefan Metzlaff1 Cocoon Stefan Metzlaff

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

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

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

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

6 Stefan 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 Stefan 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 Stefan Metzlaff8 Pipeline Einfache Pipeline Besteht aus Generator, Transformer und Serializer SAX sample1.html sample1.xsl sample1.xml GeneratorTransformerSerializer

9 Stefan 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 Stefan 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 Stefan 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 Stefan Metzlaff12 Sitemap (4)

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

14 Stefan 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 Stefan Metzlaff15 Generator (2) Deklaration von Generatoren: ...

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

17 Stefan 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 Stefan Metzlaff18 Transformer (2) Deklaration von Transformern: false...

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

20 Stefan 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 Stefan Metzlaff21 Serializer (2) Deklaration von Serializern:...

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

23 Stefan 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 Stefan Metzlaff24 Reader (2) Deklaration:... ... Beispiel:

25 Stefan 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 Stefan Metzlaff26 Matcher (2) Deklaration von Matchern:

27 Stefan Metzlaff27 Matcher (3) Beispiel:

28 Stefan 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 Stefan Metzlaff29 Selector (2) Deklaration von Selectoren:

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

31 Stefan 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 Stefan 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 Stefan Metzlaff33 Komplexe Pipeline sample2.xml GeneratorTransformerSerializer formatier.xsl html-out.xsl SQL Transformer XSLSOAPXSL DB sample2.html

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

36 Stefan Metzlaff36 Fragen ?!?


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

Ähnliche Präsentationen


Google-Anzeigen