Web (Site) Engineering (WebSE)

Web (Site) Engineering (WebSE) Vorlesung 9: Serverseitige dynamische Anwendungen am Beispiel von CMS, Boards, Wikis P. Reiß, B. Schiemann Lehrstuhl f...
5 downloads 1 Views 113KB Size
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