Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

29.Januar 2007 – 1Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon Architektur von Publikationssystemen — Cocoon — Anne Brüggemann-Klein.

Ähnliche Präsentationen


Präsentation zum Thema: "29.Januar 2007 – 1Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon Architektur von Publikationssystemen — Cocoon — Anne Brüggemann-Klein."—  Präsentation transkript:

1 29.Januar 2007 – 1Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon Architektur von Publikationssystemen — Cocoon — Anne Brüggemann-Klein TU München

2 29.Januar 2007 – 2Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon Integration o Bisher kennengelernt: Einzelne Technologien rund um XML, um Publikationsanwendungen zu erstellen o Im letzten Teil der Vorlesung: Serverseitige Unterstützung für Integration einzelner Komponenten zu einer Publikationsanwendung durch ein Publikationssystem bzw. Publishing Framework (Cocoon)

3 29.Januar 2007 – 3Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon Anforderungen an Publishing Framework o Verwaltung aller Ressourcen einer Publikationsanwendung o Dynamisches Generieren angeforderter Ressourcen o Datenquellen integrieren und kombinieren o dynamische Bestandteile ausfüllen, z.B. aus Datenbank o in Präsentationsformate überführen und ausliefern Steuerbarkeit, Komponierbarkeit o Unterstützung der Authentifizierung und Modellierung von NutzerInnen (Personalisierung), Sitzungsverwaltung o Einsatz von Standard-Technologien zum Web-Publishing: XML, Parser mit Standard-APIs, XSLT, XSL-FO o Plattformunabhängigkeit, Flexibilität (online/offline)

4 29.Januar 2007 – 4Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon Web-Grundlagen … o HTTP = Hypertext Transfer Protocol o Das Protokoll zwischen Clients und Servern im Web o Request-Response-Zyklus o zustandslos (clientseitige Persistenz durch Cookies) o parametrisierbar (z.B. durch Formulardaten) o Request als Anforderung einer Ressource über URI [ Methode (http + Get, Post, Put), Server, lokaler Pfad] GET /intro.html HTTP/1.0 User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows 95) Accept: image/gif, image/jpeg, text/*, */* «Weitere Daten» o Response als Auslieferung der Ressource [mit Dokumentendaten und Metainformation]

5 29.Januar 2007 – 5Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon … Web-Grundlagen … Weiterentwicklung des Ping-Pong-Szenarios zu „Back-Web-Szenario“ (Serverseitige Dynamik) o Request als Anstoß einer serverseitigen Berechnung [parametrisiert durch Metadaten] o Response als Rückgabe der Ergebnisse der Berechnung  Three-Tier Architecture o Verschiedene Ansätze zur Realisierung: CGI, Servlets [vom Web-Server zum Application Server] o Erweiterung zu Multi-Tier Architecture o Typische Komponenten für „Back-Web“: Datenbanken, Content Management, Templates, Web Services  Framework für „Back-Web“: Cocoon

6 29.Januar 2007 – 6Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon … Web-Grundlagen Zwei Ansätze für serverseitige Dynamik o Von innen nach außen: Programm, das (mit print) Ausgabedokument erzeugt (CGI-Programm, Servlet) o gut für Request-Analyse, Berechnungsplan o umständlich für Dokumentgenerierung o Von außen nach innen: HTML-Seite mit eingebettetem Code (JSP, ASP, PHP) o umständlich für Request-Analyse, Berechnungsplan o gut für Dokumentgenerierung  Trennung  Architektur Model View Controler (MVC)

7 29.Januar 2007 – 7Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon Web-Grundlagen: Servlets … Servlet-basierter Web-Server Hauptprozess Request Servleta Request Servletb Request Servleta Servleta Servletb JVM Thread

8 29.Januar 2007 – 8Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon … Web-Grundlagen: Servlets … o Ausführung von Servlets als Threads im Prozessraum des Web-Servers (im Gegensatz zu CGI) o Reine Programmlösung (wie CGI) o Logik, um dynamische Teile zu erzeugen o statischer Inhalt der Antwortseite Generiert Markup aus dem Programm heraus o Java Servlet Development Kit (JSDK) von SUN mit Klassen javax.servlet und javax.servlet.http als Ergänzung des Java Development Kit (JDK) o Speichern des Servlets in bestimmtem Serververzeichnis Anforderung über URL mit Klassennamen

9 29.Januar 2007 – 9Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon … Web-Grundlagen: Servlets … Introductions What is your name?

10 29.Januar 2007 – 10Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon … Web-Grundlagen: Servlets import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloWorld extends HttpServlet { public void doGet(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException { String nm = req.getParameter( " userName " ); res.setContentType( " text/html " ); PrintWriter out = res.getWriter(); out.println( " " ); out.println( " Hello " + nm + " " ); out.println( " " ); out.println( " Hello World! " ); out.println( " " ); } }

11 29.Januar 2007 – 11Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon Klassisches MVC-Muster … o Aufgaben Model o Vorhalten der Anwendungsdaten o Bereitstellen der Anwendungsfunktionalität o Aufgaben View (Model-View-Verhältnis 1:n) o Präsentation von Sicht auf Daten o Anbieten von Interaktionsmöglichkeiten o Aufgaben Controller o Analyse der Interaktionsdaten o Koordination der Anwendungsfunktionalität o Aufruf des nächsten View

12 29.Januar 2007 – 12Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon … Klassisches MVC-Muster o Interaktion zwischen den Komponenten o Controller als Strategie der View-Komponente o Modell mit Observer dekoriert o Modell entkoppelt von View und Controller o „aktives“ Modell möglich o Motivation durch langlebige Anwendungskomponente und kurzlebige oder vielfältige GUIs

13 29.Januar 2007 – 13Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon Adaption von MVC für das Web: Model 2 o Controller realisiert durch Servlet o View realisiert durch JSP-Seite o Model (passiv) realisiert durch Datenbank o Controller selektiert View und instantiiert Java Bean mit Datenausschnitt aus Datenbank als Input o Frameworks für Model 2 existieren: z.B. Struts o XML-basierte Lösung für Publikationssysteme: Cocoon o Weitere Systeme: Zope, Enhydra, ColdFusion

14 29.Januar 2007 – 14Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon Cocoon … Was ist Cocoon? o Ein Publishing Framework auf Basis von XML-Technologie o Ein Produkt von Apache XML (Stefano Mazzocchi), inzwischen in Version 2.1 o Betreibbar als Java-Servlet o ansprechbar über "Einstiegsverzeichnis" in URL Three-Tier Architecture o Betreibbar als selbständige Applikation zur Bearbeitung von XML-Dokumenten o Mit MVC-Architektur verträglich

15 29.Januar 2007 – 15Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon … Cocoon … o Charakteristik o Webanwendungen durch Konfigurieren mit bekannten Komponenten statt durch Programmieren o auf Basis von XML und XSLT o Ziele: Trennung von o Management o Inhalt o Präsentation o Dynamik Separation of Concerns

16 29.Januar 2007 – 16Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon … Cocoon o Aufgabe: Data Mapping o Technologien o XML, XML Namespaces, SAX-Parser o XSLT-Transformationen o XSLT-Transformation nach HTML, WML, XML-FO (mit anschließender Formatierung nach PDF) o XSP (Extensible Server Pages): eingebettete Logik o Logicsheets für Anbindung von Datenquellen

17 29.Januar 2007 – 17Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon Architektur von Cocoon … Virtualisierung von URIs: Bearbeitung eines HTTP-Request in Pipe, bestehend aus vorgefertigten und konfigurierbaren Komponenten: Durchreichen von XML-Daten und Parametersetzungen o Generator (erzeugt XML-Struktur, z.B. aus Datei) o Transformern o gesteuert z.B. durch XSLT-Stylesheets o Dynamik durch Berücksichtigung von HTTP- Parametern und durch XSP o Aktionen (z.B. für Datenbankzugriff) o Serialisierer (HTTP-Response HTML, PDF, XML, WML)

18 29.Januar 2007 – 18Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon … Architektur von Cocoon …

19 29.Januar 2007 – 19Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon … Architektur von Cocoon (Karlheinz Toni) … 1.) receive user request 2.) select right source document 3.) transform source document 4.) serialize transformed document user request 1.) XML-documents XML … 2.) XSLT-documents XSLT XML 3.) html, wap, pdf, svg,… 4.)

20 29.Januar 2007 – 20Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon … Architektur von Cocoon … o Komponenten in Pipe o Generatoren: HTMLGenerator, FileGenerator, RequestGenerator, StatusGenerator, DirectoryGenerator, ServerPagesGenerator o Transformatoren: TraxTransformer, CInclude o Readers: ResourceReader o Actions: RequestParamAction, RequestParameterExistsAction, ResourceExistsAction, ServerPagesAction o Serialisierer: HTMLSerializer, XMLSerializer, FOPSerializer, SVGSerializer

21 29.Januar 2007 – 21Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon … Architektur von Cocoon o Konfigurationsdatei (Sitemap) mit verzweigtem System von Pipes (sitemap.xmap)sitemap.xmap o Auswahl von Pipe im Pipesystem für Request über Matcher, Selektoren und Aktionen in Konfigurationsdatei (Sitemap) o SAX-Events zur Repräsentation von XML-Strukturen o Effizienzsteigerung durch Caching o Steuerkomponenten in Pipeline o Matcher: Wildcard/RegExpURIMatcher, Wildcard/RegExpRequestParameterMatcher, Wildcard/RegExpParameterMatcher, CookieMatcher o Selektoren: BrowserSelector, ParameterSelector, RequestParameterSelector

22 29.Januar 2007 – 22Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon Sitemap … o Aufbau der Sitemap o Deklaration von Komponenten (mit globaler Konfiguration) o Definition von Views o Definition von Pipelines o Komponenten (mit lokaler Konfiguration) Verwendung deklarierter Komponenten über Namen o Markierungen von „Abgreifstellen“ für Views o Aggregationselemente o Pipeline für Error Handling

23 29.Januar 2007 – 23Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon … Sitemap … o Funktion der Sitemap o Mapping eines HTTP-Request mit URI, Query-String, Header-Daten, Cookies auf eine Pipe o Abarbeiten der Pipe bis zum Erzeugen eines HTTP-Response o Mapping … o Ausgangsdaten: HTTP-Request o während des Aufbaus der Pipe Definition von Sitemap- Parametern durch Aktionen (z.B. Verfügbarmachen von Request-Daten als Sitemap-Parameter durch Aktion RequestParamAction)

24 29.Januar 2007 – 24Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon … Sitemap o … Mapping o Auswertung von Matchern (if) und Selektoren (switch): Test von HTTP-Request und Sitemap-Parametern o Ausführung von Aktionen mit Belegung von Sitemap- Parametern (if) o Berücksichtigung des Query-String-Parameters cocoon-view=name Ohne Seiteneffekte auf XML-Strom! Ergebnis: Pipe der Form Generator Transformer* Serialisierer | Reader Spezialfall: Mehrere Eingänge bei Aggregatoren

25 29.Januar 2007 – 25Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon Folien von Karlheinz Toni: Sitemap (1/2) o in XML-file format: sitemap.xmap o control center of Cocoon o defines criteria for determining o which XML-documents o are how transformed o and how they are serialized o actual logic of matching certain conditions and reading, transforming or serializing files is defined in components user request Cocoon Sitemap page pipeline1pipeline2pipeline1 select transform serialize select transform serialize select transform serialize request response

26 29.Januar 2007 – 26Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon Sitemap (2/2) o Request Matching and Selection: o identify incoming request o SAX Generation: o generate SAX stream from XML-Source o Transformation: o transform input-SAX stream to another SAX stream via XSLT o Serialization: o serialize SAX stream into response as HTML, PDF, SVG, text, WML, XML,….

27 29.Januar 2007 – 27Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon Debugging o Definition eines Segments zum Error Handling pro Pipeline: o Logging-Transformator o Gabeln von SAX-Events o Views

28 29.Januar 2007 – 28Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon Komponenten von Interaktivität und Dynamik o Anforderung einer zu berechnenden Ressource: Virtualisierung von URIs o Parametrisierung des HTTP-Request, z.B. mit Daten aus HTML-Formular oder XForms o Sitemap-Parameter (zusätzlich zu XML-Daten in Pipe) o Wertezuweisung statisch, aus Request-Parametern und durch Aktionen o Verwendung zur Konfigurierung der Pipe und zur Parametrisierung von Komponenten (z.B. XSLT) o Ausführung von eingebettetem Kode (XSP, Logicsheets)

29 29.Januar 2007 – 29Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon XML Server Pages (XSP) Einbettung von Java-Code in XML-Daten o Interpretiert von ServerPages-Prozessor und kompiliert in Generator oder Action o XSP-Elemente: xsp:page, xsp:structure, xsp:include, xsp:logic, xsp:content, xsp:expr, xsp:element name=…, xsp:attribute name=…, xsp:pi target=…, xsp:comment=…, o Trennung von Content und Logic durch Logicsheets (XSLT-Programme), deren Auflösung von ServerPages- Prozessor gesteuert wird o Registrierung von Logicsheets in cocoon.xconf o Identifizierung von Logicsheets über URI / Präfix

30 29.Januar 2007 – 30Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon Multi-Tier-Architektur mit Cocoon Web-Brower Cocoon mit XSLT-Transformationen Server Pages Generator RequestResponse Template o Generierung XML-Daten o dynamisch o aus Datenquellen Separation of Concerns o Multi-Channel-, Cross- Media-Publishing mit XSLT aus XML-Daten Logic sheet SOAP-Service

31 29.Januar 2007 – 31Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon Tier 3 in Cocoon-Anwendungen Von Cocoon aus zugreifbar (über spezialisierte Logicsheets, compiliert nach XSP) o Relationale Datenbanken mit JDBC-Schnittstelle o Genuine XML-Datenbank (Xindice) o Web Services auf Basis von SOAP

32 29.Januar 2007 – 32Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon SOAP-Services mit Cocoon … o SOAP: Simple Object Access Protocol (W3C-Empfehlung) o für XML-kodierten Nachrichtenaustausch o insbesondere für entfernten Prozeduraufruf (RPC) o insbesondere über HTTP o kodiert Kontextinformation, Adressat, aufzurufende Methode mit Signatur und Argumenten bzw. Rückgabewerte in Element o unterstützt verschiedene Aufrufformate, dokumentiert in API-Kits der Serviceanbieter o Cocoon Logicsheet für SOAP mit Element o Zugreifbar derzeit Google, Amazon http://www.google.com/apis/

33 29.Januar 2007 – 33Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon … SOAP-Services mit Cocoon <soap:call url="http://api.google.com:80/search/beta2" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema"> Key.... 0 10

34 29.Januar 2007 – 34Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon Sitemap konzeptionell … o Sitemap konfiguriert Publishing-Anwendung mit Cocoon aus (programmierbaren) Komponenten, z.B. o XSLT-Transformatoren o XSP-Seiten (XML mit eingebettetem Java-Code) o Formatierern und Serialisierern o Sitemap besteht aus o Sektionen zur Deklaration (Konfiguration, Benennung) o von Komponenten, o Views und o Ressourcen o Sektionen zur Definition von Pipelines

35 29.Januar 2007 – 35Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon … Sitemap konzeptionell … o Pipelines legen fest, wie Request an die Publishing- Anwendung bearbeitet werden sollen o Pipeline besteht aus o Sequenz von Pipeline-Segmenten o einem optionalen Error-Handling-Segment o Pipeline-Segment besteht aus Sequenz von o XML-Verarbeitungskomponenten o Readern o Aggregatoren o Kontrollblöcken (mit weiteren Pipeline-Segmenten) o Resource call, Redirect

36 29.Januar 2007 – 36Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon … Sitemap konzeptionell … o Cocoon stellt aufgrund eines Requests und lokaler Information (z.B. aus Datenbank, lokaler Session- Information) aus den Pipelines eine Pipe zusammen, die dann abgearbeitet wird o Eine Pipe besteht aus einer Sequenz von XML- Verarbeitungskomponenten, nämlich o einem Generator o einer (eventuell leeren) Sequenz von Transformatoren o einem Serialisierer oder einem einzelnen Reader oder mehreren Anfangsstücken (G T*), gefolgt von einem Aggregator, gefolgt von einem Endstück (T* S )

37 29.Januar 2007 – 37Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon … Sitemap konzeptionell … o Bei der Ausführung der Pipe fließen zwischen den Komponenten XML-Daten in Form von SAX-Events o Generatoren erzeugen einen Strom von SAX-Events o Transformatoren lesen eine Strom von SAX-Events und schreiben einen transformierten Strom wieder aus o Serialisierer lesen einen Strom von SAX-Events und geben den Body eines HTTP-Response aus o Die Auswahl der Pipe aus der Pipeline erfolgt unter Auswertung von Kontrollkomponenten, Resource calls und Redirects aufgrund von Steuerdaten; Steuerdaten sind Eingabedaten für XML-Verarbeitungskomponenten, aber Ausführungsdaten (SAX-Events) beeinflussen St.d. nicht

38 29.Januar 2007 – 38Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon … Sitemap konzeptionell … o Steuerdaten sind o Request-Daten o URI o Request-Parameter (z.B. aus HTML-Formularen) o Header-Information o Protokoll, Client-, Server-, Servlet-Info o Session-ID o Cookies o Attribute (read-write-add-remove) o Sitemap-Attribute o Session-Info (aus Servlet-Container)

39 29.Januar 2007 – 39Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon … Sitemap konzeptionell … o Parametrisierung von Komponenten mit statisch (Deklaration) oder dynamisch (in Pipeline) o Kontrollkomponenten Matcher und Aktionen geben Parameter-Map zurück, wenn sie erfolgreich ausgeführt werden (Scope ist assoziiertes Pipeline-Segment). Parameter-Maps haben Ebenen, die der Schachtelungsebene der Kontrollkomponenten entsprechen. Referenzierung in Sitemap über {../name} o Jede Komponentenklasse hat (informelles) Interface von Konfigurationsparametern (Input), Return-Parametern (Output) und Request-Attributen (Input/Output)

40 29.Januar 2007 – 40Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon … Sitemap konzeptionell o Kontrollblöcke o Matcher-Komponente plus Pipeline-Segment für erfolgreichen Match (entspricht if) o Selektor-Komponente plus Pipeline-Segmente für verschiedene Werte eines Switch-Parameters plus optionales Catch-all-Pipeline-Segment (entspricht switch) o Action-Komponente plus Pipeline-Segment für erfolgreiche Ausführung der Action

41 29.Januar 2007 – 41Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon Umsetzung der MVC-Architektur mit Cocoon o Model o XML-Dokumente o Transformation von XML-Dokumenten in Pipes o Aktionen o Generierung von XML-Daten aus Datenquellen mit Logicsheets o View o Generierung von HTML-Seiten mit XForms-Kontrollelementen o Controller o Steuerkomponenten in der Sitemap o Möglichkeiten der Separierung: Modularisierung der SMap o Pipelines in der Rolle von Prozeduren o untergeordnete Sitemaps

42 29.Januar 2007 – 42Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon View Patterns (nach Fowler) o Template View: ASP, JSP, PHP, XSP, XSLT Pull o Translate View: XSLT Push, XSLT Rekursiv o Orthogonal dazu: Two Step View o im ersten Schritt für jeden physischen Bildschirm Generierung eines logischen Bildschirms o im zweiten Schritt mit gemeinsamer Komponente Generierung des physischen Bildschirms  Cross-Media-Fähigkeit durch medienspezifischen zweiten Schritt

43 29.Januar 2007 – 43Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon Controller Patterns (nach Fowler) o Page Controller: ein Controller pro Seite/Aktion o Einsatz von Helfer-Objekt o Front Controller: ein einziger Controller o zentrales HTTP-Handling o Änderungen in der Struktur der Aktionen erfordert keine Neu-Konfiguration des Web-Servers

44 29.Januar 2007 – 44Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon Modellierung der Sitemap o Modellierung der HTTP-Requests o URI-Schemata o Query-Strings o Header-Information o Auflisten der verwendeten Komponenten mit Parameterisierung o Modellierung des Pipesystems als UML-Zustandsdiagramm o Zustände für Komponenten o mit Parametrisierungen o mit Ausgängen bei Matchern, Selektoren, Aktionen

45 29.Januar 2007 – 45Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon Literatur … o Eric Freeman, Elisabeth Freeman: Head First Design Patterns. O‘Reilly 2004. o M. Fowler: Patterns of Enterprise Application Architecture. Addison-Wesley 2003. o A. Kemper, A. Eickler: Datenbanksysteme. Oldenbourg 2001. o St. Niedermeier: Cocoon 2 und Tomcat. Galileo Computing 2004. o Kapitel zu Cocoon in http://www.teialehrbuch.de/XML/ http://www.teialehrbuch.de/XML/ o MVC: http://msdn2.microsoft.com/en-us/library/ms978748(d=printer).aspx http://msdn2.microsoft.com/en-us/library/ms978748(d=printer).aspx

46 29.Januar 2007 – 46Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon … Literatur o M. Langham und C. Ziegeler: Cocoon: Building XML Applications. New Riders 2003. o L. Moczar, J. Aston: Cocoon Developer‘s Handbook. Sams Publishing 2003. o Online-Dokumentation zu Cocoon (http://cocoon.apache.org).http://cocoon.apache.org o http://wiki.apache.org/cocoon/. http://wiki.apache.org/cocoon/ o Cocoon Tutorial, Stefan Niedermeier http://cocoontutorial.logabit.com/ http://cocoontutorial.logabit.com/ o H. Wimmer: Unterstützung relationaler Datenbanken in Apache Cocoon. SEP TUM 2003.

47 29.Januar 2007 – 47Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon Leistungsbereich Cocoon Gestaltung des Request-Response-Zyklus o Abbildung eines Request auf Pipe von Komponenten Generator · Transformator* · Serialisierer (Virtualisierung des Request) o Abarbeitung der Pipe resultiert in Response, spezifisch für Kanal und Medium Konfigurierung in Sitemap o Generatoren erzeugen XML-Quelle, z.B. aus Datei, Request o Transformatoren bearbeiten XML-Strom, z.B. mit XSLT  Systemunterstützung für Multi-Channel, Cross-Media Publishing

48 29.Januar 2007 – 48Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon Einordnung zu Elektronischem Publizieren … o 1993: Das Web als Ping-Pong-Spiel gedächtnisloser Request-Response-Zyklus für Document Delivery (Cross-Media Publishing) o Bisher eingeführte Techniken unterstützen das Ping-Pong-Szenario: XML mit Namespaces, Zeichenkodierung, Schemasprachen, Transformation in Ausgabeformate, Verknüpfungen o Heute: Dynamische Generierung von Dokumenten o Parametrisierung von Requests über Formulare mit User-Interface (u.a. XForms) o Serverseitige Unterstützung der Dynamik über Publikationssystem (u.a. Cocoon)

49 29.Januar 2007 – 49Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon … Einordnung zu Elektronischem Publizieren o Morgen: Tiefergehende semantische Unterstützung für neue intelligente Anwendungen mit Semantic-Web-Technologie (auf XML-Basis): einfache Metadaten, RDF, OWL, Ontologien, Reasoning, Agenten, …

50 29.Januar 2007 – 50Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon Installation o Voraussetzung: Java SDK, aktuelle Version o Umgebungsvariable JAVA_HOME setzen o Download von Cocoon [http://cocoon.apache.org/mirror.cgi]http://cocoon.apache.org/mirror.cgi o Build von Cocoon (Batch-Datei) o Start von Servlet-Container Jetty mit Cocoon als Servlet: cocoon servlet (Batch-Datei) o Aufruf mit URI http://localhost:8888/ o Eigene Anwendungen in eigenem Verzeichnis in \build\webapps mit eigener Sitemap o Aufruf mit URI http://localhost:8888/ o Alternative: eigenen Servlet-Container, z.B. Tomcat


Herunterladen ppt "29.Januar 2007 – 1Vorlesung Elektronisches Publizieren: Publishing Framework Cocoon Architektur von Publikationssystemen — Cocoon — Anne Brüggemann-Klein."

Ähnliche Präsentationen


Google-Anzeigen