10.06.2004Stefan Metzlaff1 Cocoon Stefan Metzlaff 10.06.2004.

Slides:



Advertisements
Ähnliche Präsentationen
Martin Köllner XMLCompany XML-Datenbanken Xindice als Datenquelle einer Website im Zusammenspiel mit Cocoon und authentic TM.
Advertisements

Druck / Ausgaben unter LSF
1 Spezielle Packages des Java SDK (1.4) java.nio.
1 Prof. Dr. Andreas SchmietendorfWS06/07 – Labor C/S-Programmierung Übung 4 Mehrstufige Client/Server-Systeme mit JSPs, Servlets und JavaBeans (Web-Container)
Datenbankzugriff im WWW (Kommerzielle Systeme)
eXist Open Source Native XML Database
Bastian Cramer, Universität Paderborn Entwurfsmuster für Webanwendungen Projektgruppe: Generierung von Webanwendungen aus visuellen Spezifikationen.
Seminar: XML für Fortgeschrittene Referent: Katrin Apel
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
DOM (Document Object Model)
Web 3.0 – Programmierung – Semantic Web / CIDOC CRM
XINDICE The Apache XML Project Name: Jacqueline Langhorst
Information und Technik Nordrhein-Westfalen Das personalisierte Portal Düsseldorf, Das personalisierte Portal.
© 2002 Prof. Dr. G. Hellberg 1 XML-Seminar XML-Technologie: XML in Theorie und Praxis Prof. Dr. G. Hellberg XML-Technologie: XML in Theorie und Praxis.
Einführung XML XML Einführung Andreas Leicht.
Hassan Bidani Jallal Alami Rahmouni FH Wiesbaden
Tomcat (I) Ende 1999 Jakarta-Projekt von Apache, IBM und Sun gegründet
Das Build-Tool ANT ETIS SS05. ETIS SS05 - Nadine FröhlichANT 2 Gliederung Motivation Build - Datei –Allgemeiner Aufbau –Project –Target –Task –Properties.
Struts Seminar Javabasierte Webanwendungen. Tobias Kutzler2 Überblick Historie Was ist Struts? Model Controller View Zusammenfassung.
XDoclet ETIS SS05.
Technik Gestaltung Navigation Daten. Übersicht Client Webbrowser InternetServer.
EXtensible Server Pages von Belrhiti El mostafa. Inhalt Was ist XSP ? Wichtige XSP Tags Erstellungsmöglichkeiten Die Basis der XSP.
Proseminar Auszeichnungssprachen WS04/05 XML und Multimedia Referat von Benjamin Bornemann.
Praxis der Metadatenerfassung Markus Enders Goettingen State and University Library
-LABORPRAKTIKUM- SOMMERSEMESTER 2005
© data2type 2005, 1 Publishing mit XML Einsatz von XSL für das multimediale, automatisierte Publishing.
Tobias Högel & Dennis Böck,
Seite Common Gateway Interface. Konzepte. Übersicht 1Einleitung 2Was ist CGI? 3Wozu wird CGI verwendet? 4Geschichtlicher Überblick 5Grundvoraussetzungen.
1 Grundlagen und Anwendung der Extensible Markup Language (XML ) Peter Buxmann Institut für Wirtschaftsinformatik Johann Wolfgang Goethe-Universität Frankfurt.
M A P K I T Management eines J2EE basierten eCommerce Systems am Beispiel des ATG Dynamo Applikationsservers und BMC Patrol als Managementframework.
COCOON. Cocoon ist in erster Linie ein XML-Publishing System. eine oder mehreren XML-Dokument(en) & dem zugehörigen XSL- Dokument(en) ein beliebiges.
Systementwicklungsprojekt:
FH-Hof HTML - Einführung Richard Göbel. FH-Hof Komponenten des World Wide Webs WWW Browser HyperText Transfer Protocol (HTTP) via Internet WWW Server.
SEP Halgurt Mustafa Ali Can Önder Marius Morawski Matthias Seidl Themen: Integration von RDQL und OWQL innerhalb des Apache Cocoon Frameworks Semantische.
Coccon das Web-XML-Publishing System Thomas Haller.
Martin Köllner XMLCompany Cocoon XMLCompany Apache Cocoon Web Publishing Framework.
Einsatzgebiete und Anwendungen
Präsentation von Sonja Pathe
Aichinger Christian, Strasser Jürgen. Inhalt JSF EJB Praxis - Integration.
Proseminar: „Webtechnologien für Ecommerce“
Java für Fortgeschrittene
XML-Serverpages Vortrag im Rahmen des Seminars XML-Technologien Tobias Faessler.
Übersicht Was ist cocoon? Separation of Concerns Pipeline Modell
XML IV: Cocoon 2.
Vergleich verschiedener Konzepte für das Software Engineering Praktikum.
CGI (Common Gateway Interface)
Ausgabe vom Seite 1, XML Eine Einführung XML - Eine Einführung.
Java Server Pages Sergej Keterling
Oliver Spritzendorfer Thomas Fekete
Demolsky Markus Hiebler Thomas Pindhofer Walter
Gruppe 5. Einleitung ElzbietaChristofTommy SimonIngoMax.
XML (Extensible Markup Language)
Torque in Turbine Team 4 Josef Bohninger Thomas Lindenhofer
XSL in der Praxis Anwendungsbeispiele für die eXtensible Stylesheet Language Andreas Kühne XML One 2000.
Drucken mit XSL-FO DaimlerChrysler  Drucken von Webseiten
Content-Managment-System
© 2001 Sven Dammann1 Aufbau Integrierter Informationssysteme XML Bearbeitung und relationale Abbildung Sven Dammann Martin-Luther-Universität Halle-Wittenberg.
Parallele Programmierung im.NET Framework Darmstadt, Präsentation am Beispiel von C-Sharp (C#)  Wichtige Grundlagen  Generika, Delegate, Lambda,
Bern University of Applied Sciences Engineering and Information Technology Documentation generator for XML-based description standards Ausgangslage: Die.
Text Encoding Initiative Universität zu Köln Daten- und Metadatenstandards Seminarleitung: Patrick Sahle Seminarleitung: Patrick Sahle Referentin: Anna.
Java und XML Kurzvortrag von Tim Steffens und Andreas Klein Cocoon 2.
Java Server Pages Technologie zur Erzeugung dynamischer Webseiten basierend auf Java-Servlets Blockseminar Wintersemester 2001/2002Jochen Pfeiffer Seite.
Seminar Modellgetriebene Softwareentwicklung XMI - XML Metadata Interchange Vortrag im Rahmen des Seminar Modellgetriebene Softwareentwicklung Mirko Otto.
Das Build-Tool ANT ETIS SS04. ant 2 Gliederung Motivation Build-Datei build.xml Bestandteile build.xml –Properties Zusammenfassung.
Marcel Genzmehr 1 Javabasierte Webtechnologien Web Application Framework Turbine.
WINLearn Technische Umsetzung. Basistechnologie Oberfläche in HTML JSP (JavaServerPages) zur Datenauswertung Datenhaltung: Datenbank oder Filesystem JDBC.
XML Technologie für NOKIS Software Wassilios Kazakos, Andreas Schmidt, Alexei Valikov, Alexei Akhounov FZI Forschungszentrum Informatik Karlsruhe
29.Januar 2007 – 1Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon Architektur von Publikationssystemen — Cocoon — Anne Brüggemann-Klein.
1.
 Präsentation transkript:

Stefan Metzlaff1 Cocoon Stefan Metzlaff

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

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

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

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

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

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)

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

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

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

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

Stefan Metzlaff12 Sitemap (4)

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

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 –...

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

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

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 –...

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

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

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 –...

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

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

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

Stefan 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">

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

Stefan Metzlaff26 Matcher (2) Deklaration von Matchern:

Stefan Metzlaff27 Matcher (3) Beispiel:

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 –...

Stefan Metzlaff29 Selector (2) Deklaration von Selectoren:

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

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

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

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

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

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 –

Stefan Metzlaff36 Fragen ?!?