Web (Site) Engineering (WebSE) Vorlesung 9: Serverseitige dynamische Anwendungen am Beispiel von CMS, Boards, Wikis
P. Reiß, B. Schiemann Lehrstuhl für Informatik 8 Universität Erlangen-Nürnberg
11. 12. 2007
1 / 26
Übersicht
Application Server JBOSS Glassfish Content Management Systeme Lenya Plone Wikis
2 / 26
Application Server
JBOSS
JBOSS Open Source Application Server
I
JBOSS ist eine Firma (RedHat)
I
„Typisches“ Open Source Geschäftsmodell: Produkt frei erhältlich, aber Service & Support wird verkauft
I
Ärger wegen Markenrecht für Konkurrenten [jvi05]
I
Kooperation mit Microsoft
I
ABER Implementierung JBOSS-IDEs auf Eclipse und NetBeans Basis
3 / 26
Application Server
JBOSS
JBOSS Open Source Application Server II
I
JBOSS IDE 1.5 & JBOSS 4.2
I
J2EE 1.4
I
Direktes Debugging auf dem Server
I
Mehrere Versionen des Servers
I
Einfach entpacken und starten
I
Default Konfiguration mit JMX Konsole, HSQLDB, UltrasonicDB, ...
I
Einstellungen für den Produktiv-Betrieb notwendig
4 / 26
Application Server
JBOSS
JBOSS Vorteile nach [Wu03]
I
Vollständige J2EE 1.4 Implementierung
I
„Hot Deploy“, deploy und undeploy im laufenden Server
I
Große Anzahl aktiver Entwickler
I
JMX Architektur mit kleinem Memory-Footprint
I
Konfigurierbarer Container (Tomcat inkl.)
I
Performance: Bis zu 1250 Benutzer bei 30 Anfragen/sek. (1.2 GHz P4, 256 MB RAM, JBOSS AS 3)
5 / 26
Application Server
Glassfish
Glassfish Open Source Application Server [Com05]
I
JavaTM EE 5 Application Server (V2)
I
Open Source, aber Sun und Oracle involviert
I
Sun JavaTM System Application Server 9.1: Java EE 5 kompatibel, gleiche Codebasis wie GlassFish v2
I
V2 beinhaltet u.a.: JavaTM Authentication Service Provider Interface for Containers, JavaTM Business Integration (JBI) plus Reviews von JSF 1.2, JSP, Servlet, JAX-WS 2.0, JSR 109 (EWebSevices) und EJB3
→ neueste Java Technologien
6 / 26
Content Management Systeme
CMS: Einleitung
Definition: „Ein CMS ist ein Werkzeug, das vielen verschiedenen (zentralen) technischen und (dezentralen) nichttechnischen Mitarbeitern ermöglicht, eine Vielzahl von Inhalten (z.B. Text, Grafik, Video usw.) zu erstellen, zu bearbeiten, zu verwalten und schließlich zu veröffentlichen, und zwar unter zentralen Randbedingungen bzgl. Regeln, Prozessen und Workflow, die ein konsistentes und gültiges Aussehen im Web sicherstellen “ (Plone-Buch, S. 23, aus http://www.contentmanager.eu.com/history.htm)
7 / 26
Content Management Systeme
CMS II
[uu05]: „Die automatisierten Prozesse im Rahmen eines Content Managements werden durch Content Management Systems (CMS) unterstützt, die folgendes umfassen: I
Möglichkeit, unterschiedliche Rollen und Verantwortlichkeiten an verschiedene Nutzer und Content-Kategorien/Typen zu vergeben
I
Identifizierung der wichtigsten Nutzer und ihrer Rollen
I
Definition der Verarbeitungsprozesse als Workflow oder Möglichkeit, Nachrichten (z.B. per E-Mail) an Verantwortliche zu senden, sobald sich am Content bestimmter Unterlagen etwas ändert
8 / 26
Content Management Systeme
CMS III
I
Nachhalten und Verwalten verschiedener Versionen einer Unterlage
I
Veröffentlichen des Contents in einer Ablage (z.B. einer Datenbank)“
9 / 26
Content Management Systeme
CMS Matrix
I
Listet momentan 686 CMS
I
http://cmsmatrix.org/matrix/cms-matrix
I
Vergleiche von 143 Attributen in 10 Kategorien
I
Das passende für jeden Geschmack
I
Aktuelle Auswahl
I
Kritik: Kriteriendefinition unklar
10 / 26
Content Management Systeme
Lenya
Lenya I – Cocoon [Coc05]
I
Apache Lenya Projekt basiert auf Apache Cocoon (2.1.8)
I
Apaches (Pipelined) Publishing Framework
I
J2EE basierte XML Verarbeitung
I
Management zwischen Logik, Inhalt und Stil
I
Implementiert eXtensible Server Pages-Unterstützung (Servlet 2.2)
I
Basisklassen (Pipeline) für: Generierung, Transformation, Serialization, Aggregation
I
Benutzt wiederum Apache Tomcat, Jetty, . . .
11 / 26
Content Management Systeme
Lenya
Lenya II – [The05]
I I
Open Source Java/XML Content Management System Eingebaut: 1. (Web) Site Management (Archivieren, Reverse Proxies, Link Management) 2. automatische Revisionskontrolle 3. Security-Features (SSL, LDAP, IP Ranges) 4. Suchfunktionalitäten (Apache Lucene) 5. WYSIWYG Editoren, z.B. Kubu, BXE 6. Workflow (Definition, Kontrolle, Staging, . . . ) 7. Lokalisation und Layout (nested XHTML+CSS templating)
12 / 26
Content Management Systeme
Lenya
Beispiel Lenya-Pipeline I < map:transform t y p e = " x s l t " s r c = " t e s t 2 h t m l . x s l " / > < m a p : s e r i a l i z e type=" html " / > < / map:match> < / map:pipeline> I
Beispiel vereinfacht
I
Anfrage auf test.html (dynamisch)
I
Grundlage test.xml → XSLT-Processing mit test2html.xsl
I
Serialisiert durch eingebaute Ausgabefunktion
13 / 26
Content Management Systeme
Lenya
Lenya-Pipeline II
I
Matcher – „Parser u. Eventsystem“
I
Aggregator – Zusammenstellen der Einzelheiten
I
Transformer – XSLT: Ansteuerung mit Parametern
I
Selector – IF /ELSE
I
Serializer – ∗ → XML
I
Fin – Endzustand, Übergabe an Server/Client
14 / 26
Content Management Systeme
Plone
Plone [Plo]
I
Open Source (GPL-Lizenz)
I
Auf Zope basierend Out of the box verwendbar, aber auch
I
I I
I
Anpassbar (Skin) Erweiterbar (Python)
Bedienung und Administration TTW (Through The Web)
15 / 26
Content Management Systeme
Plone
Plone II
I
Unterstützt Workflows
I
Benutzeranmeldung mit E-Mail-Verifikation Rollenvergabe für Benutzer mit unterschiedlichen Rechten:
I
I I I I
„normaler“ Redakteur Administrator Selbstdefinierte
16 / 26
Content Management Systeme
Plone
Plone III
Content-Typen: I
Dokument (Erstellung WYSIWYG-TTW)
I
Nachricht
I
Link (zu internem oder externem Element, z.B. Web-Seite)
I
Bild
I
Termin
I
Ordner (zur Strukturierung)
I
Thema (Gruppierung anderer Contents)
I
Datei
17 / 26
Content Management Systeme
Plone
Plone IV - Workflow-Zustände
I
Sichtbar: Für alle einsehbar (Suchfunktion oder direkte URL-Eingabe), bearbeitbar durch Benutzer und Site-Manager
I
Offen: Zur Veröffentlichung eingereicht, Redakteure sollen veröffentlichen oder zurückweisen
I
Veröffentlicht: Für alle sichtbar. Erreichbar über Suche, URL-Eingabe und Navigationsbaum. Besitzer kann sie zurückziehen
I
Privat: Sicht- und bearbeitbar nur von Besitzer und Manager
18 / 26
Content Management Systeme
Plone
Plone V
Plone-Demo. . .
19 / 26
Wikis
Wikis
I
Hawaiianisch „Wikiwiki“: „schnell“
I
Ähnelt CMS Website, die
I
I I
I
gelesen online geändert werden kann
Jeder (auch ohne IT-Expertise) soll Redakteur sein −→ Einfache, schnell zu erlernende Syntax
20 / 26
Wikis
Wikis II
Syntax I
Je nach Software unterschiedlich, Beispiele aus Mediawiki
I
[[Link]]
I
’’kursiv’’
I
’’’fett’’’
I
’’’’’fett und kursiv’’’’’
I
== Ueberschrift ==
I
=== Unterueberschrift ===
21 / 26
Wikis
Wikis III Syntax: Listen I
: ∗ eins ∗ zwei ∗∗ U n te r p u n kt e i n s von zwei ∗∗ U n te r p u n kt zwei von zwei
I
: # eins # zwei ## U n t e r pu n k t e i n s von zwei ## U n t e r pu n k t zwei von zwei
22 / 26
Wikis
Wikis IV Architektur (Mediawiki)
23 / 26
Wikis
Wikis V I
Rechteverwaltung
I
History, Undo −→ Vandalismus (Wikipedia: nach durchschnittlich 3 Minuten ist eine zerstörte Seite wieder hergestellt)
Wiki-Implementierungen: I
Mediawiki
I
TikiWiki
I
pmwiki
I
moinmoin
I
...
24 / 26
Wikis
Zusammenfassung
Application Server JBOSS Glassfish Content Management Systeme Lenya Plone Wikis
25 / 26
Wikis
Vielen Dank
I
Für Ihre Aufmerksamkeit!
I
Fragen?
26 / 26
Wikis
Cocoon Developers. The Apache Cocoon Project. http://cocoon.apache.org, 2005. GlassFish Community. GlassFish Community. https://glassfish.dev.java.net, 2005. jd von iX. Ärger um Jboss’ Geschäftsmethoden [Update]. http://www.heise.de/newsticker/meldung/64762, 2005. Plone. Plone Website. http://www.plone.org. The Apache Software Foundation. Apache Lenya - Open Source Content Management (Java/XML). http://lenya.apache.org/, 2005. http://de.wikipedia.org/wiki/Benutzer:Stern u.a. 26 / 26
Wikis
Content-Management. http://de.wikipedia.org/wiki/Content-Management, 2005. Zhenyu Wu. Experimentelle Leistungsanalyse und -verbesserung eines Applikations-Server-Caches (Studienarbeit). http://www.ipd.uni-karlsruhe.de/~pfeifer/other/ studienarbeit_wu.doc, 2003.
26 / 26