Lade Inhalt...

Analyse von J2EE-Web-Frameworks hinsichtlich Ihrer Eignung in einem WCMS

©2005 Diplomarbeit 147 Seiten

Zusammenfassung

Inhaltsangabe:Einleitung:
Das Hauptziel vieler kommerzieller Websites ist sicher unter anderem der Verkauf von Produkten. Um dieses zu realisieren, sollen neue Kunden geworben und die Möglichkeiten des Internets voll ausgeschöpft werden.
In den letzten Jahren sind die Ansprüche der Benutzer stark gewachsen und sie erwarten auf der Website zunehmend eine „individuelle“ Behandlung. Erfolgreiche E-Commerce-Sites gehen somit weit über die reine Präsentation des eigenen Angebots hinaus und verbinden die Shoppingangebote (Commerce) mit einem Angebot aus redaktionellen Inhalten zur Information und Unterhaltung des Kunden (Content) und verschiedensten Möglichkeiten der Kommunikation und Interaktion (Community). In dem E-Commerce Dreieck „Content–Community–Commerce“ wird der Content als der initiale Bestandteil der E-Business-Strategien angesehen. Und Content bedarf nicht nur eines Redaktionssystems für die Aktualisierung. Vielmehr wird die Website zunehmend in die Geschäftsprozesse der Unternehmen integriert, ein Content-Management-System wird somit fester Bestandteil der IT-Infrastruktur.
Content Management Anwendungen stellen für Unternehmen die Chance einer attraktiven und einfach zu pflegenden Präsenz im Internet dar. Web Content Management Systeme sind dabei die technologische Basis zum Aufbau dieser Anwendungen.
Das Content Management gewinnt durch die Flut an Informationen immer mehr an Bedeutung. Dabei geht es weniger um die bloße Bearbeitung, Darstellung und Veröffentlichung von Informationen, als vielmehr um die Zusammenführung von Inhalten unterschiedlichster Herkunft und Formate zur Ausgabe auf beliebigen Medien.
Ziel ist es, Inhalte beliebiger Art, welche mit den unterschiedlichsten Werkzeugen von einer Vielzahl von Mitarbeitern erstellt wurden, vom Arbeitsplatz „abzuholen“ und ihrer geplanten Verwendung zuzuführen.
Der Content soll dabei möglichst automatisch aufbereitet und, wenn erforderlich, über verschiedene Medien verteilt und nutzbar gemacht werden.
Content Mangement sollte daher nicht als Marketing-Hype, sondern eher als langfristige und essentielle Investition aufgefasst werden.
Ein Web Content Management System, meist eine Web-Anwendung mit komplexer HTML-Präsentationsschicht, muss aufgrund der beschriebenen Anforderungen großen Ansprüchen auf Benutzerseite gerecht werden.
Dadurch steigen die Anforderungen an die im Backend verwendete Systemarchitektur, und auch die Ansprüche der damit verbundenen Entwicklung von solchen […]

Leseprobe

Inhaltsverzeichnis


ID 8639
Inselmann, Lars:
Analyse von J2EE-Web-Frameworks hinsichtlich Ihrer Eignung in einem WCMS
Hamburg: Diplomica GmbH, 2005
Zugl.: Fachhochschule Flensburg, Diplomarbeit, 2005
Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte,
insbesondere die der Übersetzung, des Nachdrucks, des Vortrags, der Entnahme von
Abbildungen und Tabellen, der Funksendung, der Mikroverfilmung oder der
Vervielfältigung auf anderen Wegen und der Speicherung in Datenverarbeitungsanlagen,
bleiben, auch bei nur auszugsweiser Verwertung, vorbehalten. Eine Vervielfältigung
dieses Werkes oder von Teilen dieses Werkes ist auch im Einzelfall nur in den Grenzen
der gesetzlichen Bestimmungen des Urheberrechtsgesetzes der Bundesrepublik
Deutschland in der jeweils geltenden Fassung zulässig. Sie ist grundsätzlich
vergütungspflichtig. Zuwiderhandlungen unterliegen den Strafbestimmungen des
Urheberrechtes.
Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in
diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme,
dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei
zu betrachten wären und daher von jedermann benutzt werden dürften.
Die Informationen in diesem Werk wurden mit Sorgfalt erarbeitet. Dennoch können
Fehler nicht vollständig ausgeschlossen werden, und die Diplomarbeiten Agentur, die
Autoren oder Übersetzer übernehmen keine juristische Verantwortung oder irgendeine
Haftung für evtl. verbliebene fehlerhafte Angaben und deren Folgen.
Diplomica GmbH
http://www.diplom.de, Hamburg 2005
Printed in Germany

1.
Einleitung...1
1.1.
Motivation ...2
1.2.
Umfeld und Aufbau der Arbeit...3
1.2.1.
Das Unternehmen Web-Arts ...3
1.2.2.
Aufbau der Arbeit ...3
2.
Grundlagen des Webpublishing ...5
2.1.
Konzepte des Webpublishing ...5
2.2.
Content Management...6
2.3.
Herkömmliches Webpublishing...8
2.4.
Web Content Management ...10
2.4.1.
Grundanforderungen an ein WCMS...11
2.4.2.
Nutzen und Leistungen eines WCMS...11
3.
Technologien und Konzepte für Web-Applikationen...19
3.1.
Content Repository ...19
3.2.
Serverkonzepte...20
3.2.1.
J2EE Web-Application-Server ...21
3.3.
J2EE Web-Application...24
3.4.
XML basiertes Web Development ...25
3.5.
Java und XML ...26
3.5.1.
Content Management und XML ...27
3.5.2.
Serverside XML...29
3.6.
Web-Frameworks und das MVC Model 2 ...33
3.7.
Three-Tier-Anwendungen ...36
4.
Analyse ...39
4.1.
Ist-Analyse ...39
4.2.
Soll-Analyse...41
4.3.
Die Entwicklung mit einem Framework ...44
4.4.
Framework-Architekturen für Web-Applikationen ...46
4.4.1.
View Technologie...48
4.4.2.
XML-Pipelines ...48
4.4.3.
Aktionsgesteuerte Frameworks ...49
4.4.4.
Event- und Listener gesteuerte Frameworks...50
4.4.5.
Komponententechnologien bei Web-Frameworks ...50
4.5.
Analyse der Web-Frameworks...51
4.6.
Cocoon ...52
4.6.1.
Die Architektur von Cocoon ...53
4.6.2.
Untersuchung der Anforderungen...67
4.6.3.
Bewertung Cocoon...70
4.7.
JavaServer Faces ...71
4.7.1.
Die Architektur von JSF ...73
4.7.2.
Untersuchung der Anforderungen...83
4.7.3.
Bewertung JavaServer Faces...86
4.8.
StrutsCX...88
4.8.1.
Die Architektur von Struts und StrutsCX...89
4.8.2.
Untersuchung der Anforderungen... 101
4.8.3.
Bewertung von Struts und StrutsCX... 104
4.9.
Fazit der Untersuchung ... 106

5.
Erstellen einer Web-Applikation mit JSF und XML... 108
5.1.
Die ideale Architektur ... 109
5.2.
Konstruktion... 110
5.2.1.
Erstellung der Custom Components ... 112
5.2.2.
Erstellung der Custom Renderer... 118
5.2.3.
Sax-Events und XSLT ... 122
5.2.4.
Ergebnis und Ausblick ... 128
6.
Fazit ... 130

Einleitung
Seite 1
1. Einleitung
Das Hauptziel vieler kommerzieller Websites ist sicher unter anderem der Verkauf von
Produkten. Um dieses zu realisieren, sollen neue Kunden geworben und die Möglichkeiten
des Internets voll ausgeschöpft werden.
In den letzten Jahren sind die Ansprüche der Benutzer stark gewachsen und sie erwarten auf
der Website zunehmend eine ,,individuelle" Behandlung. Erfolgreiche E-Commerce-Sites
gehen somit weit über die reine Präsentation des eigenen Angebots hinaus und verbinden
die Shoppingangebote (Commerce) mit einem Angebot aus redaktionellen Inhalten zur
Information und Unterhaltung des Kunden (Content) und verschiedensten Möglichkeiten der
Kommunikation und Interaktion (Community). In dem E-Commerce Dreieck ,,Content­
Community­Commerce" wird der Content als der initiale Bestandteil der E-Business-
Strategien angesehen. Und Content bedarf nicht nur eines Redaktionssystems für die
Aktualisierung. Vielmehr wird die Website zunehmend in die Geschäftsprozesse der
Unternehmen integriert, ein Content-Management-System wird somit fester Bestandteil der
IT-Infrastruktur.
Content Management Anwendungen stellen für Unternehmen die Chance einer attraktiven
und einfach zu pflegenden Präsenz im Internet dar. Web Content Management Systeme sind
dabei die technologische Basis zum Aufbau dieser Anwendungen.
Das Content Management gewinnt durch die Flut an Informationen immer mehr an
Bedeutung. Dabei geht es weniger um die bloße Bearbeitung, Darstellung und
Veröffentlichung von Informationen, als vielmehr um die Zusammenführung von Inhalten
unterschiedlichster Herkunft und Formate zur Ausgabe auf beliebigen Medien.
Ziel ist es, Inhalte beliebiger Art, welche mit den unterschiedlichsten Werkzeugen von einer
Vielzahl von Mitarbeitern erstellt wurden, vom Arbeitsplatz "abzuholen" und ihrer geplanten
Verwendung zuzuführen.
Der Content soll dabei möglichst automatisch aufbereitet und, wenn erforderlich, über
verschiedene Medien verteilt und nutzbar gemacht werden.
Content Mangement sollte daher nicht als Marketing-Hype, sondern eher als langfristige und
essentielle Investition aufgefasst werden.
Ein Web Content Management System, meist eine Web-Anwendung mit komplexer HTML-
Präsentationsschicht, muss aufgrund der beschriebenen Anforderungen großen Ansprüchen
auf Benutzerseite gerecht werden.
Dadurch steigen die Anforderungen an die im Backend verwendete Systemarchitektur, und
auch die Ansprüche der damit verbundenen Entwicklung von solchen Enterprise Web
Anwendungen verändern sich damit grundlegend.
Für die Entwicklung ist daher eine Software-Architektur hilfreich, die bereits eine robuste und
skalierbare Basis bereitstellt, um mehrschichtige Applikation zu implementieren.
Durch die ständig steigende Konkurrenz spielt auch der Zeitfaktor eine wesentliche Rolle.
Deshalb ist es wichtig, neue Applikationen allgemein schneller zu produzieren. Darüber
hinaus sollen diese neuen Applikationen leicht erweitert und verbessert werden können.
Aktuell stehen den Entwicklern eine Vielzahl verschiedener Konzepte und Techniken für die
Realisierung einer Enterprise Web-Anwendung zur Verfügung.
Die J2EE-Spezifikation schlägt hierbei Wege vor, wie man die Applikationsfunktionalität
unterteilen kann. Das Ziel dieser Vorgehensweise ist es, eine mehrschichtige Applikation zu
erzeugen, dessen Einzelkomponenten besser handhabbar sind. Ein weiterer Vorteil ist, dass
die Einzelkomponenten dadurch besser wartbar und erweiterbar werden.

Einleitung
Seite 2
Die Firma Web Arts vertreibt ein WCMS, welches einige architekturbedingte, also das
Backend betreffende, Schwächen aufweist. Ziel ist es eine Basis zu finden die vorhandenen
Mängel durch Einsatz neuer Konzepte zu beheben.
Es macht hierbei jedoch nur wenig Sinn, bereits vorhandene Funktionalitäten neu zu
entwickeln.
Es existieren eine Reihe von Open-Source-Web-Frameworks auf J2EE-Basis, die den
Entwickler beim strukturierten Aufbau und bei der Entwicklung von komplexen Web-
Applikationen mit einem robusten Rahmenwerk unterstützen.
Das Ziel dieser Arbeit ist es zu untersuchen, ob sich Web-Frameworks als Basis für ein WCMS
eignen. Es wird untersucht, ob sich mit dessen Vorgaben komplexe Web-Anwendungen wie
etwa die eines Web Content Management Systems entwickeln lassen.
Dabei wird auch analysiert, inwieweit das Framework spezielle Merkmale eines WCMS
unterstützt.
Neben der J2EE-Technologie hat sich XML im Web etabliert und ist zu einer der Kern-
Technologien mit vielen Vorteilen geworden.
Es ist daher aus vielen Gründen sinnvoll eine Architektur anzustreben, die XML-Technologien
grundlegend unterstützt.
Der Einsatz von XML rechtfertigt sich jedoch nicht aus sich selbst heraus. Die Arbeit zeigt,
dass XML für viele Bereiche die Rolle eines Integrators übernimmt, um bestehende
Techniken und Ideen in einem Integrationsprozess zum wirtschaftlichen und technischen
Erfolg zu führen.
Vor allem für WCMS ist XML daher eine Kerntechnologie, die sich immer weiter in Richtung
Integrations-Portale weiterentwickelt.
1.1.
Motivation
In dieser Arbeit werden Web-Frameworks betrachtet, die auf den Webtechnologien Java und
XML basieren. Da ich mich ­ etwa durch eine GUI-Programmierung ­ nicht auf eine Plattform
festlegen möchte, habe ich mich entschieden, bei der Firma Web Arts eine praxisorientierte,
komplexe Aufgabe im Web-Umfeld zu bearbeiten.
Mit Java als Plattform für Enterprise Web-Anwendungen begibt man sich, im Gegensatz zu
anderen Programmiersprachen, nicht in die Abhängigkeit eines einzigen Herstellers. Ganz im
Gedanken von XML und offenen Standards sollte eine Bindung an ein bestimmtes Produkt
oder einen Hersteller vermieden werden.
Java hat sich in den letzten Jahren zur beherrschenden Programmiersprache für die
serverseitige Programmierung entwickelt.
Die, neben Microsofts ASP
1
-Lösungen, im Internet-Umfeld häufig anzutreffende Konstellation
eines LAMP-Systems
2
hat ihre Daseinsberechtigung, doch kommt man mit ihr schnell an die
Grenzen, wenn komplexe Systeme mit OO-Programmierung und beispielsweise effizientem
Caching, MVC-Architektur oder effizienter XML-Verarbeitung implementiert werden sollen.
Ich sehe das Internet als faszinierendes Medium mit sich extrem schnell entwickelnden
Technologien an, welchem allgemeinhin eine sehr wichtige Rolle in der Informations-
Technologie beigemessen wird. Den schnellen Wandel und die stattfindenden
Veränderungen im Web-Umfeld begreife ich als Anreiz, mich kontinuierlich mit der Materie zu
beschäftigen. Meine Faszination für dieses Medium möchte ich mit dieser Arbeit zum
Ausdruck bringen.
1
Active Server Pages, [@MS_ASP]
2
Linux, Apache, MySql, PHP

Einleitung
Seite 3
Danken möchte ich dem gesamten Web-Arts Team, insbesondere Tobias und Thorsten Barth
sowie Jens Volgmann für die Unterstützung und die konstruktive Zusammenarbeit. Ebenso
bedanke ich mich bei Herrn Prof. Dr. Knorr für die Betreuung der Arbeit.
Außerdem danke ich Sven Haiges für seine fachliche Hilfe bei der Erstellung der Arbeit und
meinen Eltern für die Finanzierung des Studiums.
1.2.
Umfeld und Aufbau der Arbeit
Dieses Kapitel gibt Auskunft über den Aufbau und die Struktur der Arbeit, wobei zunächst
das Umfeld beschrieben wird, in der die Arbeit verfasst wurde.
1.2.1.
Das Unternehmen Web-Arts
Die vorliegende Diplomarbeit wurde für und in Zusammenarbeit mit der Firma Web-Arts
3
verfasst. Web-Arts ist ein mittelständisches Unternehmen mit etwa 15 Mitarbeitern, die sich
als Kombination einer Internetagentur, IT-Dienstleister und Unternehmensberatung
verstehen. Kompetenzfelder liegen neben Usability-Engineering und E-Commerce vor allem
im Content Management.
So entwickelt Web-Arts seit 1996 Content Management Lösungen, wobei in der aktuellen
Version ein Enterprise-Content-Management-System auf Java-Basis vorliegt, welches speziell
auf die Bedürfnisse mittelständischer Unternehmen zugeschnitten ist.
Web-Arts beschäftigt erfahrene IT-Berater und Software-Entwickler, die ausschließlich
individuelle Tools und Anwendungen im Kundenauftrag erstellen.
1.2.2.
Aufbau der Arbeit
Die Arbeit ist in sechs Kapitel gegliedert, wobei die Kapitel eins bis drei die notwendigen
Grundlagen vermitteln. Die Kapitel vier und fünf bauen auf diesen auf und setzen die
vorangegangenen Grundlagen voraus, um die dann folgende Analyse und die Erstellung
einer Web-Applikation auf Basis von J2EE nachvollziehen zu können.
Kapitel 2, Grundlagen des Webpublishing
Das zweite Kapitel beginnt mit einem einführenden und eher theoretischen Teil, der technik-
neutral einen Überblick über die Grundlagen und die Konzepte des Webpublishing gibt. Es
wurde versucht die ersten Kapitel frei von technischen Details und konkreten
Implementierungen zu schreiben.
Das Thema Web Content-Management ist dabei jedoch zu komplex, um alle relevanten
Aspekte zu erläutern. Aus diesem Grund werden einige Teilbereiche wie beispielsweise die
Refinanzierung der Content-Kosten oder die Lizenzkosten eines WCMS nicht behandelt. Auch
auf rechtliche Aspekte in Zusammenhang mit WCM-Systemen wird in dieser Arbeit nicht
weiter eingegangen.
Es soll noch einmal darauf hingewiesen werden, dass die eigentliche Problemstellung erst in
Kapitel vier beschrieben wird. Dieses etwas ungewöhnliche Konzept wurde bewusst so
gewählt, um einen ausführlichen Einstieg in die komplexe Thematik zu ermöglichen.
Kapitel 3, Technologien und Konzepte für Web-Applikationen
Kapitel drei schließt dann mit einer Beschreibung der aktuellen Webtechnologien im Java-
Umfeld an, die für ein professionelles Webpublishing eingesetzt werden können. Hier werden
vor allem Konzepte und Technologien aufgezeigt, die auf Java oder XML basieren. Es wird
versucht einen Überblick und Verständnis für die jeweiligen Technologien zu geben, ohne
3
[@Warts]

Einleitung
Seite 4
dabei zu viele technischen Details zu verwenden. Da auf ein Glossar verzichtet wurde, ist ein
gewisses Wissen über Java und begleitende Standards wie Servlets oder JSP strotz der
einleitenden Kapitel dennoch hilfreich.
Kapitel 4, Analyse
Kapitel vier nimmt die eigentliche Problem-Analyse vor und legt darin die Anforderungen an
die benötigte Software-Architektur fest. Aufgrund dieser Anforderungen werden dann drei
verschiedene Web-Frameworks untersucht, wobei das Framework, welches am besten den
Bedürfnissen von Web Arts gerecht werden kann, im folgenden Kapitel näher untersucht
wird.
Kapitel 5, Erstellen einer Web-Applikation mit JSF und XML
Das fünfte Kapitel beschäftigt sich schließlich mit der Konstruktion einer Web-Applikation auf
Basis des modifizierten Web-Frameworks JavaServer Faves, um zu beweisen, dass auf Basis
dieser Architektur ein WCMS entwickelt werden kann.
Kapitel 6, Fazit
Die Arbeit schließt mit einem Ausblick über die weitere Entwicklung des Systems und einem
Resümee zu den untersuchten Frameworks und der Erstellung des Prototypen.

Grundlagen des Webpublishing
Seite 5
2. Grundlagen des Webpublishing
Dieses Kapitel beschreibt die Konzepte und Grundlagen des Webpublishing und zeigt auf,
welche Vorteile der Einsatz aktueller WCMS bietet.
Weiterhin werden die Ansprüche der Benutzer an ein WCMS aufgezeigt und untersucht in
wie weit die WCMS diesen Ansprüchen gerecht werden können. Auch wird in diesem Sinne
die Frage geklärt, wann es sinnvoll oder sogar notwendig ist ein WCMS einzusetzen.
2.1.
Konzepte des Webpublishing
Mittlerweile ist der große Internethype vorüber und Unternehmen, die ohne ein fundiertes
Geschäftskonzept gegründet wurden, kämpfen oftmals mit Existenzproblemen
4
.
Die Zukunft des Geschäftserfolgs im Internet orientiert sich daher wieder häufiger an der
Professionalität der ,,Old Economy", die sich unter anderem durch Werte wie Effektivität,
Zuverlässigkeit und Struktur auszeichnet
5
.
Um diese Werte auf einen Firmenauftritt im Internet zu übertragen, ist der Einsatz von Web-
Content-Management-Systemen ein sinnvoller Weg, da sie Struktur und eine hohe
Verfügbarkeit der essentiell wichtigen Informationen versprechen
6
.
Der Erfolg einer Webseite hängt unter anderem von der Menge des qualitativ hochwertigen
Contents ab, der jedoch zum einen auch stets präzise aktualisiert und zum anderen zur
rechten Zeit wieder aus dem Angebot genommen werden muss.
Der Content einer Webseite kann dabei aus den verschiedensten Elementen bestehen, im
einfachsten Fall aus Text. Da viele Webseiten nicht mehr nur informieren, sondern auch
multimedial unterhalten möchten, nehmen Rich Content und interaktive Elemente eine
wichtigere Rolle bei der Konzeption und Gestaltung von Websites ein.
Die Elemente haben jedoch teilweise gänzlich unterschiedliche Bedeutungen und
Konsequenzen für das Web Content Management. So muss beispielsweise mancher Content
nie, anderer wiederum eine in sehr kurzen Zeitintervallen aktualisiert werden. Eine
Klassifizierung der Inhalte hat Einfluss darauf wie ein WCMS den Content technisch
speichern und managen soll.
Die verschiedenen Elemente des Contents können in so genannte Assets kategorisiert
werden, die zusammengesetzt das Gesamtbild einer Webseite ergeben. Im Bereich des E-
Commerce spricht man von abstrakteren Assets wie Warenkörben, Sessions oder Trackings.
Ziel ist es diese Assets möglichst effizient durch das WCMS verwalten zu lassen um diese so
auf der Webseite zu platzieren und auch mehrfach verwenden zu können.
Die Assets können statischen, dynamischen oder auch semidynamischen Inhalt haben.
Statische Informationen besitzen einen unveränderbaren Zustand und haben daher eher
dokumentarischen Charakter, wie beispielsweise die Publikation historischer Ereignisse.
Dynamische Informationen erfordern eine Aktualisierung in regel- oder aber auch in
unregelmäßigen Abständen. Sie stellen einen erhöhten Anspruch an die Verarbeitung und
Verwaltung. Hierunter fallen zum Beispiel die Börsenkurse, Bestandsdaten aus einer
Lagerverwaltung oder Preise einer Online-Auktion.
Die semidynamischen Informationen haben eher statischen Charakter, müssen jedoch unter
bestimmten Umständen verändert werden. Als Beispiel sind hier die Preislisten für
Verbrauchsgüter zu nennen.
4
[@Content1]
5
[Cont2], Seite 13
6
[Cont2], Seite 13

Grundlagen des Webpublishing
Seite 6
Abbildung 1 ­ Website mit statischen und dynamischen Inhalten
7
Die unterschiedlichen Assets erfordern Autoren mit unterschiedlichen Qualifikationen und
anderen Tools. Der in Kapitel 2.3 behandelte Content-Lebenszyklus bleibt jedoch im Prinzip
immer gleich
8
.
2.2.
Content Management
Dieser Abschnitt nimmt eine Abgrenzung von allgemeinen Content Management Systemen
vor und geht auf die strategische Bedeutung von Content Mangement im Allgemeinen ein.
Content ist in unserer zunehmend auf die Verarbeitung von Informationen basierenden
Ökonomie extrem wichtig. Wir sprechen heute von Informationsgesellschaft und
Informationszeitalter, viele sehen sich mit einer massiven Informationsüberflutung
konfrontiert. Diese Entwicklung ist erst durch den technischen Fortschritt der IuK
9
-Systeme
möglich geworden. Um die Informationsüberflutung zu bekämpfen, rät Carsten Lienemann,
Herausgeber des Werkes Informationslogistik eine ,,Bekämpfung mit den gleichen Waffen"
10
.
Es werden Systeme benötigt, die dem Nutzer genau die Informationen liefern, welche er
nachfragt.
Die Informationsüberflutung kann folglich mit einer wirksamen Filterung eingedämmt
werden, also durch Einbringung von Strukturinformation und einer gezielten Selektion.
,,Content" ist heute beinahe überall und in den verschiedensten Behältnissen anzutreffen.
Angefangen bei den traditionellen Printmedien über Radio und Fernsehen bis natürlich zu
den digitalen Medien.
Sämtliche Informationen eines Unternehmens zählen heute zum Content und stellen damit
das intellektuelle und ökonomische Kapital einer großen Anzahl von Unternehmen dar. Das
Managen, Auffindung oder Bereitstellen in optimalerweise den unterschiedlichsten
7
Abbildung modifiziert nach [Cont1], Seite 52
8
[Cont1], Seite 39
9
Informations- und Kommunikationssysteme
10
[@InfoFlut]

Grundlagen des Webpublishing
Seite 7
Zielformaten kann über den Unternehmenserfolg entscheidend sein. Auch der Austausch mit
anderen Systemen oder Applikationen ist extrem wichtig. Dieses haben auch die Anbieter im
Content-Management-Markt erkannt, und werben mit den Vorzügen ihrer Systeme. Viele
Hersteller haben bereits erste Software-Lösungen veröffentlicht, lange bevor der Internet-
Hype aufkam. Diese Produkte wurden daher oftmals nicht als WCM-Systeme vermarktet und
sind teilweise bis heute historisch gewachsen. So unterschiedlich die einzelnen Systeme auch
sein mögen, allen ist gemein, dass sie der Informationsflut mit einem mehr oder weniger
intelligenten Management Herr werden wollen. Grundlegend versteht man unter einem CMS
ein System, das es dem Anwender ermöglicht, Dokumente zu erstellen und zu managen.
Content Management ist als Begriff etwas verwirrend und anstatt der vollständigen
Bezeichnung Web-Content-Management-System wird auch oft nur die Bezeichnung Content-
Management verwendet.
Content Management allein beschreibt jedoch nicht die Funktionalität die ein Web Content
Management bietet, sondern bildet vielmehr eine Überkategorie zu verschiedenen
Weiterentwicklungen des Dokumentenmanagement
11
. Die Grenzen zum Wissens- und
Dokumentenmanagement sind zunehmend schwerer auszumachen.
Eine der zentralen Eigenschaften eines CMS ist jedoch die Aufteilung von Dokumenten in
einzelne Inhaltsobjekte
12
.
Der Hauptunterschied von einem CMS zu einem klassischen DMS
13
, welches sich auf
strukturierte Dokumente bezieht, ist, dass unter einem Dokument nicht mehr ein beliebiges
binäres Dokument verstanden wird, sondern ein Dokument, dessen interne Struktur dem
System mehr oder weniger bekannt ist. Auch haben CMS immer eine Generator- (vgl. Kapitel
4.6, Cocoon) und Serverkomponente, mit der Dokumente erzeugt und dem User präsentiert
werden können. Auch können daher Suchfunktionen oder ähnliches integriert werden.
Aufbauend auf dem generellen Content-Management-Gedanken haben sich das WCM und
beispielsweise das MAM
14
weiterentwickelt. Bei beiden Arten von Systemen steht das
Verwalten von Objekten zu einem besonderen Zweck im Vordergrund
15
.
Eine zweite Richtung, aus der man den Begriff Content Management mittlerweile versteht, ist
die des Enterprise Content Management. Damit werden deutlich mehr Inhalte als nur Web
Content adressiert, sondern beispielsweise auch Inhalte in Form von Dokumenten oder auch
Rich Media Assets. Somit enthält das Enterprise Content Management auch
Dokumentenmanagement- und Media Asset Management- Funktionalitäten. Auch werden in
dieser Produktkategorie Portale unterstützt. Außerdem bieten Enterprise CM-Suiten meist
erweiterte Workflowfähigkeiten und weitreichende XML-Unterstützung, so dass sich diese
Produkte darüber hinaus für sehr große und dynamische Web-Applikationen eignen
16
.
Aus dieser Entwicklung heraus entsteht momentan ein Bedürfnis der Content Management
System Anbieter, DMS- und MAM-Funktionen in ihr CMS zu integrieren. Dies belegen
Firmenzukäufe oder entsprechende Kooperationen von CMS-Anbietern mit entsprechend
spezialisierten Unternehmen
17
.
11
[Cont2], Seite 55
12
[Cont2], Seite 55
13
Document Management System
14
Media Asset Management
15
[Cont2], Seite 56
16
[XML-Mag], Seite 21
17
[@InetManagement]

Grundlagen des Webpublishing
Seite 8
2.3.
Herkömmliches Webpublishing
Der Prozess des herkömmlichen Webpublishings wird in der Abbildung 2 durch das
theoretische Modell des Content-Lebenszyklus dargestellt.
Der Lebenszyklus beschreibt alle Zustände, die ein bestimmtes Asset durchläuft, bevor dieser
auf der Webseite angezeigt wird.
Der erste Abschnitt des Content-Lebenszyklus beginnt mit einer Idee und damit der
Erstellung des Contents
18
. Der folgende Schritt ist typischerweise die Vorlage der Inhalte zur
Kontrolle und Freigabe an eine höhere Instanz. Es folgen die Freigabe oder aber die
Wiedervorlage an den Autor, der etwaige unkorrekte Inhalte vor der Veröffentlichung
überarbeiten kann. Kann der Inhalt veröffentlicht werden, folgt am Ende die Publikation.
Eine abschließende Archivierung bietet die Möglichkeit bei Bedarf alte Stände der Webseite
einzusehen oder wiederherzustellen. Die Art der Archivierung kann in interne und öffentliche
Archive mit Recherche-Möglichkeiten unterschieden werden.
Abbildung 2 ­ Der Content-Lebenszyklus
19
An dem eben beschriebenen Prozess sind typischerweise eine Vielzahl von verschiedenen
Mitarbeitern beteiligt. So gibt es Texter, die Texte konzipieren und schreiben, Graphiker die
Konzepte graphisch umsetzen oder Verantwortliche, die Inhalte kontrollieren und freigeben.
Die Webmaster haben jedoch die Hauptlast im althergebrachten Webpublishing zu tragen,
sie administrieren unter anderem die Webserver und sind auch zumeist für die Publikation
von Content im Web verantwortlich.
Somit ist der Webmaster in diesem Szenario die letzte Instanz, da er die Inhalte nicht nur
online stellen, sondern diese oftmals auch vorher in HTML aufbereiten muss.
Die Mehrzahl der am Webpublishing-Prozess beteiligten Personen verfügen nicht über das
hierzu notwendige Know-how.
Daraus folgt, dass die Inhalte nicht von denjenigen publiziert werden, die diese erstellt,
kontrolliert oder auch freigegeben haben. Der Webmaster oder das Webteam sind oftmals
überfordert und der Webpublishing-Prozess wird verlangsamt, da eine parallele Verteilung
der Aufgaben auf die Ressourcen nur schwer zu realisieren ist.
18
Abbildung erweitert nach [Cont1], Seite 54
19
Abbildung erweitert nach [Cont1], Seite 56

Grundlagen des Webpublishing
Seite 9
Die Konsequenz ist, dass wichtige Erfolgsfaktoren wie Qualität und die Aktualität der zu
publizierenden Inhalte vernachlässigt werden
20
.
Abbildung 3 ­ Herkömmliches Webpublishing
21
Um die Effizienz zu steigern gibt es verschiedene Ansätze wie etwa die Verwendung von
WYSIWYG-Editoren
22
, die sich jedoch bei komplexen Webseiten nur sehr bedingt als
praxistauglich erweisen.
Es wurden bereits frühzeitig, durch Speicherung des Contents in einer Datenbank, erste
Schritte unternommen um den Inhalt vom Design zu trennen und somit mehreren Autoren
die Bearbeitung an der gleichen Webseite zu ermöglichen
23
. Dennoch erwies sich auch dieses
Prinzip aufgrund der geringen Flexibilität als nicht praxistauglich
24
.
Eine aktuelle Studie belegt, dass Unternehmen, die noch kein CMS nutzen, oftmals das
Management und die Aktualisierung von Webseiten unterschätzen.
Mehr als 70% der befragten Unternehmen beschäftigen mehr als zwei Mitarbeiter, die mit
der Pflege der Web-Site beschäftigt sind. 7% gaben an, dass sie Teams mit mehr als 20
Mitarbeitern für diese Aufgabe angestellt haben
25
.
Zusammenfassend kann gesagt werden, dass der herkömmliche Weg des Webpublishing mit
seinem zentralisierten Prozess für komplexe Websites nicht tragfähig ist.
Da die Anforderungen von Nutzern an Funktionalität und Services von Web-Präsenzen, sowie
die Aktualität und Qualität von abgebildeten Inhalten sehr hoch sind und weiterhin steigen,
sind neue Konzepte erforderlich.
20
[Cont1], Seite 57
21
Abbildung erweitert nach [Cont1], Seite 58
22
What you see is what you get
23
[Cont1], Seite 54
24
[Cont1], Seite 58
25
http://www.tridion.com

Grundlagen des Webpublishing
Seite 10
Es wird daher eine Unterstützung für eine dezentralisierte und koordinierte Arbeit von
Mitarbeitern mit gänzlich unterschiedlichen Qualifikationen benötigt, die über die Methoden
des herkömmlichen Webpublishing-Prozesses weit hinausgehen.
2.4.
Web Content Management
Das Content Management ist ein Prozess und aus IT-Sicht gesehen eine funktional
bestimmbare Aufgabe.
Bei WCM Systemen hingegen handelt es sich um Software, die die im vorigen Kapitel
beschriebenen Probleme des herkömmlichen Webpublishings in einer bestimmten Weise mit
programmtechnischen Mitteln zu lösen hilft.
Generell versuchen WCM Systeme das Modell des Content Lebenszyklus (vgl. Kapitel 2.3,
Herkömmliches Webpublishing) zu automatisieren und so einen Mehrwert für Unternehmen
und die Webprojekte zu schaffen.
WCMS sind jedoch keine einfachen Softwareprodukte, sondern durch ihre verschiedensten
Aufgaben meist sehr komplexe Systeme.
Es ist daher nicht verwunderlich, dass es keine offizielle Definition von WMCS gibt und auch
die Hersteller mit sehr unterschiedlichen Merkmalen für ihre Systeme werben.
Abbildung 4 ­ WCMS Begriffsbestimmung
26
Wie die obige Abbildung veranschaulicht, setzt sich ein WCMS rein begrifflich aus drei
Bausteinen zusammen.
Das Web beinhaltet alle drei möglichen Anwendungsformen, Internet, Intranet und Extranet,
da überall Content verwaltet werden muss.
Der Content einer Website besteht aus der Gesamtheit aller digitalen Assets (vgl. Kapitel 2.1,
Konzepte des Webpublishing). Dabei werden die Assets, wie bereits beschrieben, nicht nur
gesammelt, sondern vom WCMS auch strukturiert und dargestellt.
Mit Management wird die Verwaltung und Abbildung des Workflows (vgl. Kapitel 2.4.2.2,
WCMS-Workflow und Prozesse) bezeichnet, wodurch die einzelnen Arbeitsschritte und
Berechtigungskonzepte für einzelne Benutzer oder Benutzergruppen abgebildet werden.
Eine einheitliche Definition zu finden ist auch deshalb so schwer, weil der Begriff ,,Web
Content Management" mit den Ansprüchen der Benutzer gewachsen ist. Viele Produkte sind
aus einem Projekt entstanden und bedienen aus diesem Grund die unterschiedlichsten
Anforderungen.
Dennoch gibt es einige minimale Anforderungen, die ein WCMS erfüllen sollte.
26
Abbildung erweitert nach [Cont1], Seite 70

Grundlagen des Webpublishing
Seite 11
2.4.1.
Grundanforderungen an ein WCMS
In diesem und den nachfolgenden Kapiteln werden die Grundanforderungen an ein WCMS
ermittelt, wobei bewusst zwischen den Anforderungen aus Benutzersicht und den
Anforderungen aus Entwicklersicht
27
getrennt wird. Im Folgenden werden ausschließlich die
Ansprüche des Benutzers berücksichtigt.
Die minimale Anforderung, die ein WCMS erfüllen sollte, ist die Trennung des Inhalts von
Design und Logik. Im besten Fall sind auch Design und Logik autonom, so dass jeder der
drei Bestandteile geändert werden kann, ohne die anderen zu beeinflussen.
Die Umfrage, die in der folgenden Abbildung dargestellt ist, zeigt grundlegende Erwartungen
an ein WCMS.
Abbildung 5 ­ Erwartungen an ein WCMS ( META Group)
Das folgende Kapitel soll die Frage beantworten, ob ein WCMS diese Erwartungen erfüllen
kann.
2.4.2.
Nutzen und Leistungen eines WCMS
Die bereits angesprochene Trennung von Inhalt und Layout bietet den Vorteil, dass der
Prozess der Contenterstellung unabhängig von der Website-Programmierung ist.
So kann auch ein gleich bleibendes Design eingehalten werden, da durchgängig mit vorab
definierten Templates (vgl. Kapitel 2.4.2.1, Templates) gearbeitet wird.
Durch Trennung von Inhalt und Design wird eine Abstraktion der eigentlichen Information
von ihrer Darstellung erreicht. Erst dieses grundlegende Prinzip ermöglicht die Einführung
eines Workflows (vgl. Kapitel 2.4.2.2, WCMS-Workflow und Prozesse) und die Cross-Media
Nutzung der Inhalte, so dass bereits angelegter Content in den verschiedensten
Ausgabeformaten wiederverwendet werden kann.
WCMS sind darauf ausgelegt, vor allem technisch weniger versierten Anwendern einen
einfachen Einstieg zum Publishing-Prozess zu ermöglichen und die zu erledigenden Aufgaben
auf die vorhandenen Ressourcen zu verteilen.
27
Die Anforderungen an die Software-Architektur eines WCMS stellen den Kern dieser Arbeit dar und
werden ab Kapitel 4 aufgezeigt

Grundlagen des Webpublishing
Seite 12
Der Content kann beispielsweise direkt von dem zuständigen Redakteur ins Netz gestellt
werden. Eine Vielzahl von Mitarbeitern kann Zugang zum System erhalten, so dass der
Content beispielsweise direkt von den Autoren publiziert werden kann, ohne dass der
Webmaster hier eingreifen muss.
Weiterhin bieten WCMS Authoring-Möglichkeiten um sich immer wiederholende Tasks zu
automatisieren. Das System kann so leidige Routineaufgaben wie das interne Linkchecking
oder Pflegen der Navigation übernehmen. Aufwändige Testphasen können so reduziert
werden.
Um sehr weit reichend automatisierte Websites zu erstellen, bieten die meisten WCMS die
Möglichkeit, Meta-Informationen zu erfassen und zu speichern. Dadurch kann der Content
klassifiziert und einem Autor zugeordnet oder es können auch Publikationszeiträume
verwaltet werden. Die Klassifizierung des Inhalts ist unerlässlich für ein effizientes
Informationsmanagement.
Ein WCMS unterstützt die dezentrale Bearbeitung der Website, indem mit einem Client auf
die Funktionen des WCMS zugegriffen und diese ausgeführt werden können.
Ein zentral angelegtes Repository (vgl. Kapitel 3.1, Content Repository) kann den Content
speichern und managen, wodurch ein gemeinsamer Zugriff mehrerer Personen auf die
gleichen Daten gewährleistet wird.
Weiterhin ermöglicht ein WCMS die Vergabe von Benutzerrechten, was in Kapitel 2.4.2.2,
Workflow und Prozesse erläutert wird.
Abbildung 6 ­ Webpublishing mit einem WCMS
28
Zusammenfassend kann festgestellt werden, dass WCMS mit ihren angesprochenen
Funktionen die technische Unterstützung liefern Content schneller zu veröffentlichen, als
dieses im herkömmlichen Publishing-Prozess möglich ist. Die Aktualisierungszeiträume
werden kürzer, die Webseiten damit effektiver aktuell gehalten.
28
Abbildung erweitert nach [Cont1], Seite 60

Grundlagen des Webpublishing
Seite 13
Die Haupterwartung an ein WCMS (vgl. Abbildung 5), also das schnellere Updaten von
Informationen kann bei professionellem und gut geplantem Einsatz einer solchen Umgebung
umfassend erfüllt werden.
Die Erwartungen an ein WCMS, welche aus der Abbildung 5 ersichtlich sind, werden trotz der
Vorzüge, nicht allein durch den Einsatz eines solchen Systems erfüllt, und sollten daher nicht
als ,,Allheilmittel des Internet" verstanden werden.
So können beispielsweise die Erwartungen an ein WCMS, dass der eigene Webauftritt stets
aktuell oder qualitativ hochwertig ist, nicht allein durch das WCMS gelöst werden, sondern ist
letztendlich immer Aufgabe derjenigen, die die Site betreuen.
Abbildung 7 ­ Die Komponenten eines WCMS
29
Zum erfolgreichen Betrieb einer funktionsfähigen Website ist jedoch nicht zwangsläufig ein
WCMS notwendig. Eine Site kann ohne Probleme, ein gewisses Maß an Fachwissen und
Professionalität vorausgesetzt, leicht implementiert und auch gewartet werden
30
. Einige
Situationen machen den Einsatz eines WCMS jedoch erforderlich.
Hier sind zum einen Sites zu nennen bei denen der Content sehr oft aktualisiert wird. So sind
etwa Newsticker
31
oder Nachrichtenseiten gute Beispiele für den sinnvollen Einsatz eines
WCMS. Durch eine manuelle Verarbeitung ohne ein WCMS würden wichtige Vorteile verloren
gehen, die das Internet bietet. So erfordern diese Sites die zentrale Einstellung und spätere
Modifizierung des Contents. Auch müssen die Übersichtsseiten bei jedem neuen News-
Eintrag automatisch geändert werden.
Ebenfalls ist es mit einem WCMS einfach, interessierten Benutzern automatisch über neu
eingestellte News-Beträge zu informieren.
Größere Webseiten erfordern häufig die Wiederherstellung von älteren Zuständen der Site.
Nach einem Update mit fehlerhaftem Content soll wieder die alte, funktionsfähige Website
dargestellt werden. Dieses, verbunden mit Staging
32
-Mechanismen und der Möglichkeit mit
Inhalten zu experimentieren, bieten die meisten WCMS
33
.
29
Abbildung nach [Cont1], Seite 201
30
Vorausgesetzt, die Site verfügt nur über wenige Seiten
31
etwa der bekannte Heise-Online-Ticker, [@heise]
32
[@Staging]
33
[Cont2], Seite 34

Grundlagen des Webpublishing
Seite 14
Sollten große Mengen an Content bereitgestellt werden, kann dieses ebenfalls den Einsatz
eines WCMS erforderlich machen. Das ist dadurch begründet, dass mit einem WCMS die
allgemeine Wartung, aber auch die Indexierung, Verlinkung oder die Speicherung von sehr
großen Informationsbeständen durch eine fast vollständige Automatisierung stark erleichtert
wird. Der Prozess könnte in etwa so aussehen, dass der Autor beim Einstellen eines neuen
Betrags diesen einer Kategorie zuordnen muss. Das WCMS stellt den Artikel daraufhin in die
entsprechende Kategorie ein, aktualisiert das Inhaltsverzeichnis und übergibt der
Suchfunktion die passenden Schlagworte. Auch könnte ein WCMS den neu eingestellten
Beitrag an ein vorgegebenes Design mittels eines Templates (vgl. Kapitel 2.4.2.1, Templates)
anpassen.
Sollten ein große Anzahl von Autoren an einem oder mehreren Dokumenten arbeiten, stellt
das WCMS nach außen die letzte fertige Version dar. Innerhalb des Systems stellt eine
Versionskontrolle sicher, dass ein Dokument gleichzeitig nur von einem Autor bearbeitet
werden kann. Die meisten WCMS bringen ein für Webseiten spezialisiertes
Dokumentenmanagement mit eben diesen Funktionalitäten mit
34
.
Ein typisches Szenario für den Einsatz eines WCMS ist eine unterschiedliche Sicht auf den
gleichen Datenbestand. Bei komplexen Preislisten kann es beispielsweise erforderlich sein,
dem Endkunden andere Preise zu präsentieren als Großkunden. Das Management hingegen
möchte eine Statistik mit den Verkaufszahlen bekommen.
Dieses lässt sich recht einfach mit einem WCMS umsetzen, da jedem Kunden spezifische
Rechte zugeordnet werden können (vgl. Kapitel 2.4.2.2, WCMS-Workflow und Prozesse).
Dadurch, dass sich der User an der Webseite anmeldet und dadurch dem System bekannt
wird, bekommt er genau die für ihn bestimmten Informationen zu sehen. Besonders für
Autoren ist eine intelligente Rechtevergabe mittels des WCMS wichtig, da beispielsweise ein
normaler FTP-Server keine spezialisierten Zugriffsrechte vergeben kann. Häufig geht die
Vergabe von Zugriffsrechten so weit, dass eine weitgehende Personalisierung erreicht wird.
Ebenso stellt die bereits im Rahmen des Web-Publishing-Prozesses erläuterte, oftmals nur
geringe Fachkenntnis der Autoren einen der wichtigsten Gründe für die Implementierung
eines WCMS dar. So können Formulare Autoren mit geringen IT-Kenntnissen viele
Entscheidungen abnehmen, da das System das Layout oder die Formatierungen anhand von
Templates zuordnet. Bilder oder Graphiken können aus einer vom System verwalteten
Datenbank gewählt werden, welche durch die Bildredaktion betreut wird. So kann auch etwa
der Verwendung von urheberrechtlich geschützten Bildern vorgebeugt werden.
Grundsätzlich können alle hier vorgestellten Szenarien auch ohne ein WCMS gelöst werden.
Doch der daraus resultierende Aufwand ist im Verhältnis zum Nutzen oftmals zu groß.
Manuelle Arbeitsprozesse sind sehr viel fehleranfälliger und können, im Gegensatz zu den
automatisierten Abläufen eines WCMS, später nicht mehr nachvollzogen werden.
2.4.2.1.
Templates
Werden Webapplikationen ohne WCMS und ohne Templates mit serverseitigen
Skriptsprachen wie beispielsweise JSP, ASP oder PHP erstellt, so wird typischerweise der
Inhalt mit der Darstellung vermischt. Eine Arbeitsteilung ist dementsprechend nur schwer zu
realisieren, da der Arbeitsprozess Redakteure, Designer und Programmierer mit einbezieht,
die alle an dem gleichen Dokument arbeiten. Das Dokument besteht meist aus den
statischen Texten, den HTML-Tags und beispielsweise den JSP-Tags. Der Inhalt, das Layout
und die Programmlogik sind daher stark miteinander verschmolzen.
34
[Cont2], Seite 30

Grundlagen des Webpublishing
Seite 15
Hieraus resultieren Probleme bei der Wartung, da sich statische Texte auf den JSP-Seiten
befinden, kann der Redakteur nicht mehr seine Aufgaben ausführen. Denn es gehört nicht zu
seinem Arbeitsgebiet, solche Änderungen auf den dynamischen Seiten durchzuführen.
Der Designer hat das Problem, dass die entstandenen JSP
35
-Seiten nur von wenigen
grafischen Tools unterstützt werden, weil JSPs neben HTML Scriptingelemente, Direktiven
und Aktionen beinhalten
36
. Bei dem jetzigen Prozessablauf, würde der Designer seine
Änderungen in HTML-Templates, das er als letztes dem Entwickler geliefert hat, einarbeiten
und diesem wieder zusenden.
Die Template-Erstellung und -Verwaltung mit einem WCMS bietet Möglichkeiten die eben
beschriebenen Probleme grundlegend zu umgehen.
Generell kann mit einem Template das gesamte Erscheinungsbild einer Webseite durch
auswechseln einer einzigen Vorlage geändert werden. Hierbei werden weder die
Funktionalität der Seite beeinflusst noch müssen Inhalte neu verfasst werden. In Templates
wird die Struktur des Contents und die Darstellung festgelegt und von einander getrennt.
Ein WCMS sollte die Möglichkeit bieten eine einzelne Webseite aus mehreren Templates zu
generieren, mehrere Webseiten bilden dann die gesamte Website. Eine zentrale Verwaltung
und Änderung von immer wiederkehrenden Bestandteilen einer Site wie Header oder Footer
kann so realisiert werden.
Abbildung 8 ­ Zusammensetzung einer Seite aus einzelnen Templates und Inhalten
37
Die Templates sollten eine große Flexibilität des Layouts erlauben. Bei den Systemen der
meisten Hersteller können die Templates daher in HTML verfasst, und meist ohne die an
Anfang dieses Kapitels genannten Tags der Skriptsprachen, sondern mit speziellen Tags des
WCMS versehen werden. Die Tags werden von der Engine des WCMS geparst und
verarbeitet.
Dieses bietet den Vorteil, dass das Layout der Templates von Designern entwickelt werden
kann, welche sich nicht mit dem WCMS auskennen müssen. In den Bereichen der Site,
welche Funktionalität erfordern, können die entsprechenden Tags eingefügt werden.
35
[@JSP]
36
[Servlets], Seite 229
37
Abbildung nach [Cont2], Seite 22

Grundlagen des Webpublishing
Seite 16
Ist ein funktionierendes Template erstellt, so muss dieses mit Inhalten gefüllt werden, da in
dem Template lediglich der strukturelle Aufbau der Seite definiert ist. Die Inhalte können
meist über Webformulare eingegeben werden.
Mit Templates ist es möglich an zentraler Stelle im System das Design der Site zu
modifizieren, so dass auch ein Site-Relaunch mit Templates einfach zu realisieren ist.
2.4.2.2.
WCMS-Workflow und Prozesse
Ein WCMS bietet oftmals viele Mechanismen und unterstützende Funktionen zur
Automatisierung des Workflows über den kompletten Publishing-Prozess, von der Planung
des Inhalts bis hin zur Veröffentlichung.
Dieser Abschnitt geht ausführlicher auf die Workflowkomponente eines WCMS ein arbeitet
seine Stärken heraus.
Die bereits beschriebene Trennung von Layout und Inhalt bringt auch für den Workflow
innerhalb eines WCMS entscheidende Vorteile. Der Content wird separiert in seine einzelnen
Assets im Content Repository (vgl. Kapitel 3.1, Content Repository) gespeichert, auf die
dadurch einzeln über den Workflow zugegriffen werden kann
38
.
Enthält eine Website beispielsweise zwei Texte, zwei Graphiken und das Template, welches
für die Darstellung der Bestandteile zuständig ist, so kann für jede einzelne Komponente ein
Workflow definiert werden
39
. Die Texte werden etwa von einem Redakteur und das Template
von einem Webdesigner betreut. Die Graphiken stammen beispielsweise aus einem
Bildarchiv.
Bei der herkömmlichen Methode des Webpublishing sind alle Komponenten fest miteinander
verbunden und die Site müsste an jeden einzelnen Mitarbeiter seriell zur Bearbeitung
weitergereicht werden. Ein Workflow, der nach Zuständigkeiten separiert wird, ist so nicht zu
realisieren.
Die Workflowkomponente eines WCMS automatisiert die Arbeitsschritte nicht nur, sie werden
überdies überwacht und an die für den jeweils nächsten Arbeitsschritt zuständigen
Mitarbeiter werden Nachrichten versendet. Der Workflow ist Voraussetzungen für
dezentrales, aufgabenbezogenes Arbeiten in großen Teams an einer Website.
Um einzelne Prozesse effektiv zu gestalten, benötigt jeder am Prozess beteiligte Mitarbeiter
einen abgegrenzten Aufgabenbereich. Dieses kann auf den ersten Blick schwierig scheinen,
da beispielsweise die Aufgaben eines Graphikers sehr weitgehend aufgegliedert werden
können. Dementsprechend kann zwischen Shopdesignern, Webdesignern oder Designern für
Bildelemente des Contents unterschieden werden. Um diese Fülle an Aufgaben in einem
WCMS abzubilden, greifen die meisten Lösungen auf ein Rechtekonzept zurück. Einige
WCMS verfügen über eine sehr detaillierte Rechteverwaltung und können für jedes Objekt
einer Website, also für jedes Bild oder jeden Text einzelne Rechte vergeben. Diese komplexe
Rechtevergabe ist zwar sehr mächtig, zeigt aber durch die hohe Wartungsintensität
Nachteile.
Die meisten WCMS unterstützen ein Rechtekonzept auf Nutzerebene, welches der einfachste
Weg ist, um alle Benutzer zu erfassen und die jeweils benötigten Berechtigungen zu
verteilen. Doch dieses Konzept wird sehr schnell unflexibel und ist bei größeren Teams nicht
mehr praktikabel, da sich dann die Aufgabenbereiche bereits überlappen können. Jeder
Benutzer muss hier manuell registriert und mit Rechten versehen werden. Da der Workflow
38
Auf die Assets kann meist auch über die Oberfläche des WCMS zugegriffen werden
39
[Cont1], Seite 223

Grundlagen des Webpublishing
Seite 17
nur einen Mitarbeiter ansprechen kann, kann es sein, dass bei Abwesenheit einige
Aufgabenbereiche nicht bearbeitet werden.
Mehr Flexibilität bietet ein Workflow, bei dem Gruppen gebildet werden können. Es können
so nämlich alle Redakteure zu einer Gruppe mit den gleichen Lese- oder Schreibrechten
zusammengefasst werden. Einer Gruppe werden einzelne Personen zugeordnet, die somit
zunächst alle Rechte der Gruppe bekommen. Auf Nutzerebene können diese Rechte
verfeinert bzw. abgestuft werden. Ein auf Gruppen und Nutzern basierendes Rechtekonzept
hat den großen Vorteil, dass im Workflow nun eine komplette Gruppe adressiert werden
kann. Ist ein Mitarbeiter hier nicht anwesend, wird die Benachrichtigung trotzdem
weitergeleitet.
Als dritte Möglichkeit erlaubt ein WCMS die Zuordnung von Rollen mit dem Vorteil, dass so
die Rechte innerhalb einer Gruppe festgelegt werden können. Es ist denkbar, dass
beispielsweise der Leiter der Kreativ-Abteilung die gleichen Aufgaben hat wie der Leiter der
Entwicklungsabteilung. Beide haben die gleiche Rolle und damit die gleichen Rechte, jedoch
einmal bezogen auf die Graphiken und Templates und einmal auf Skripte und Server, die
vom WCMS verwaltet werden. Über eine Gruppe können die Zuständigkeitsbereiche
zugeordnet werden, über die Rolle die Aufgaben und Rechte innerhalb der Gruppe.
Eine Automatisierung des Webpublishing-Prozesses und damit ein Workflow kann bei
größeren Projekten nur erreicht werden, wenn eine durchdachte Nutzerverwaltung mit
Gruppen und Rollen eingesetzt wird.
Sobald in größeren Teams an einer Website gearbeitet wird, sind neben dem Rechtekonzept
Freigabeverfahren notwendig um den Workflow aufrecht zu erhalten und die inhaltliche
Qualität der Website zu sichern. Der Freigabezyklus setzt den Content-Lebenszyklus (vgl.
Kapitel 2.3, Herkömmliches Webpublishing) um.
Den einzelnen Phasen von der Kontrolle bis zur Publikation werden hier den entsprechenden
Instanzen zugeordnet. Zusätzlich wird auf das Rechtekonzept zugegriffen, um die
Verantwortlichkeiten einzubeziehen.
Durch das Freigabeverfahren ist es beispielsweise möglich, dass eingestellter Content durch
einen ,,Chefredakteur" freigegeben werden muss, mit dem Ziel eine Qualitätssicherung und
Überprüfung der zu veröffentlichten Inhalte zu gewährleisten. Das WCMS startet dazu einen
Prozess, in dem die nächste Instanz ermittelt wird und informiert diese über die Vorlage
eines neuen Assets. Der nun zuständige Mitarbeiter muss den Asset jetzt freigeben.
Nachdem dieses erfolgt ist, erhält der Autor eine Nachricht, und das WCMS publiziert den
neuen Content.
Der Ablauf des Freigabezyklus ist von dem WCMS abhängig. Ideal wäre es einen Workflow
mit mehreren Instanzen durchzuführen, beispielsweise eine zweite Qualitätssicherung einer
übergeordneten Instanz.
Es kann eine Einteilung in eine lineare und eine parallele Freigaben erfolgen. Bei einer
linearen Freigabe wird eine Kette von Personen nacheinander befragt, ob ein bestimmtes
Dokument freigegeben werden darf. Die Reihenfolge ist fest definiert, sollte hier ein
Freigabeberechtigter nicht anwesend sein bleibt der Prozess so lange stehen, bis die Person
wieder zur Verfügung steht. Um diesen Problemen vorzubeugen bieten einige Systeme die
Möglichkeit eine maximale Zeitdauer für die Freigabe festzulegen, ist diese abgelaufen wird
ein Ereignis ausgelöst, also zum Beispiel der Freigabeberechtigte wird übersprungen. Auch
ist es denkbar eine Vertretung mit der Freigabe zu betrauen. Bei diesen Aktivitäten besteht
jedoch die Gefahr, dass Eingriffe von außen notwendig werden und der Workflow so
unterbrochen wird.

Grundlagen des Webpublishing
Seite 18
Eine flexiblere Lösung sind parallele Freigaben, bei der verschiedene Routen erstellt werden
können, welche zur Erfüllung einer Freigabe notwendig sind
40
. Bei diesem Konzept ist es
etwa möglich mehrere verschiedene Freigabeberechtigte anzugeben, wobei dann die
Freigabe eines Berechtigten reicht, um diese abzuschließen.
Abschließend sollen die verschiedenen Arten des Workflows aufgegriffen werden. So gibt es
einen objektorientierten, statischen und einen frei definierbaren Workflow
41
.
Im objektorientierten, statischen Workflow existieren zu jeder Webseite Meta-Informationen
über den Autor und die Instanz der Freigabe. Dieser Workflow eignet sich für eine Freigabe,
in der lediglich eine einzige Person das Dokument überprüft. Es können hier keine neuen
Phasen des Workflow definiert werden. Vielmehr ist nur die vom WCMS vorgegebene
Variante verwendbar, mit dem Vorteil, dass ein klar überschaubarer Freigabemechanismus
vorliegt.
In umfassenderen Projekten ist oft ein Ablauf der Freigabe über mehrere Instanzen
notwendig. Ein freidefinierbarer Workflow erfüllt die Anforderung, es können sogar
komplette Gruppen als Freigabeinstanz festgelegt werden. Die Definition sollte unabhängig
von einzelnen Objekten geschehen. Viele WCMS bieten die Möglichkeit über ein grafisches
Tool den Workflow frei zu definieren.
Da ein Workflow kein statischer Prozess ist, werden flexible Rechte- und Freigabekonzepte
benötigt, um den hier beschriebenen Ansprüchen gerecht zu werden.
40
[Cont2], Seite 44
41
[Cont1], Seite 77

Technologien und Konzepte für Web-Applikationen
Seite 19
3. Technologien und Konzepte für Web-Applikationen
Die folgenden Kapitel geben einen Überblick über aktuelle Technologien, die benötigt werden
um auf Java-basierend komplexe Web-Applikationen zu implementieren. Damit bilden diese
Kapitel die Grundlage für die Analyse und die weitere Untersuchung der Web-Frameworks
(vgl. Kapitel 4, Analyse).
3.1.
Content Repository
Als Content Repository wird die zentrale Speicherung des Contents innerhalb eines WCMS
bezeichnet, wobei jedoch nicht spezifiziert wird, in welcher Form der Content abgelegt und
gespeichert wird
42
.
Der Vorteil einer zentralen Speicherung liegt im konsistenten Datenstamm, der von allen
Mitarbeitern genutzt werden kann. Auch die Datensicherung und die Administration des
Systems werden durch die zentrale Speicherung stark vereinfacht.
Generell ist zwischen zwei Modellen der Speicherung zu unterscheiden. Zum einen können
die Dateien im Dateisystem des Applikations-Servers (vgl. Kapitel 3.2.1, J2EE Application-
Server) oder des Web-Servers abgelegt werden, der sich dann um die Verwaltung des
Contents kümmert. Jede Seite, die über das Web abgerufen wird, hat ihre eigene URL,
welche im Prinzip den Pfad auf dem Webserver angibt, auf dem sie gespeichert ist. Ein
Vorteil dieser Methode ist, dass die Dateien in einem Dateisystem einfach editiert werden
können.
Dieses Vorgehen ist für komplexe Web-Anwendungen jedoch nur bedingt geeignet, da die
Informationen innerhalb der Dateien unstrukturiert sind. Die fehlende inhaltliche
Strukturierung erschwert einen direkten Zugriff auf bestimmte Informationen wie etwa die
Abfrage nach einer Überschrift. Um dieses dennoch bei Flatfile-basierter Speicherung zu
ermöglichen, müssten diese Daten über Meta-Informationen als Platzhalter in die Dokumente
eingefügt werden. Ebenso ist im Dateisystem keine effiziente Suche möglich
43
.
Eine andere Möglichkeit um Informationen zu Strukturieren, ist die Speicherung der Contents
in einer Datenbank. Dadurch wird erreicht, dass der Content teilweise oder vollständig
mehrfach auf einer Seite verwendet werden kann. Durch die Datenbank-basierte
Speicherung kann auf einzelne Content-Bestandteile wie Überschrift, Teaser oder etwa
Fließtext zurückgegriffen werden, welche an unterschiedlichen Stellen der Site benötigt
werden. Auch ist so eine Suche über die Strukturelemente möglich
44
.
Damit bei der dynamische Generierung von Webseiten aus Templates und dem Content nicht
für jeden Abruf einer Seite ein dynamischer Prozess abläuft, der die Performance belastet,
wurden Mechanismen wie das Caching entwickelt.
Web-Applikationen greifen jedoch häufig nicht direkt auf Datenbanken zu, sondern sind von
diesen durch eine Persistenzschicht
45
getrennt. Greifen die Objekte der Web-Applikation
direkt auf die Datenbank zu, so müssen sie schon bei kleinsten Änderungen, wie zum
Beispiel der Umbenennung von Spalten oder Tabellen, angepasst werden. Zudem gestaltet
sich das Austauschen der verwendeten Datenbank als schwierig, da in unterschiedlichen
Klassen Quellcode angepasst werden muss.
42
[Cont1], Seite 204
43
[Cont1], Seite 206
44
[Cont1], Seite 207
45
[@Persistenz]

Technologien und Konzepte für Web-Applikationen
Seite 20
In der Persistenzschicht, zwischen Web-Applikation und Datenbank eingefügt, werden alle
datenbankrelevanten Details durch eine oder mehrere Klassen gegenüber der Web-
Applikation gekapselt.
Bei der Entwicklung einer Web-Applikation kommt man somit nicht mehr mit der Datenbank
in Berührung, sondern programmiert nun gegen die jeweilige Persistenzschicht, die
beispielsweise aus EJBs
46
bestehen kann.
Ziel eines jeden Modells ist es, den Content zentral und getrennt von ihrer endgültigen
Darstellung im Web zu verwalten und über einen Workflow dezentral den Mitarbeitern
rechteabhängig nutzbar zu machen.
3.2.
Serverkonzepte
Technologisch gesehen basieren alle WCMS auf dem Client-Server-Modell. Die Skalierbarkeit
und Verteilbarkeit eines WCMS richtet sich dabei nach dem gewählten Serverkonzept.
In Bezug auf WCM-Systeme gibt es verschiedene Möglichkeiten zur Umsetzung, die sich vor
allem hinsichtlich der auszuführenden Web-Anwendung unterscheiden.
Das Ein-Server-Konzept ist eher für Low-End-WCMS
47
geeignet, da sich hier die WCMS-
Anwendung sowie alle WCMS-Funktionsbereiche auf einem Web-Server befinden
48
.
Die auf einem solchem Server ablaufenden WCM-Systeme bieten oftmals keine
workflowunterstützenden Mechanismen wie diese auf High-End-Systemen verfügbar sind.
Der Zugriff der Redakteure auf das WCMS erfolgt hier im Produktivsystem, welches durch
einen Authentifizierungs-Mechanismus geschützt wird, was ein gewisses Sicherheitsrisiko
darstellt. Die Redakteure arbeiten somit direkt auf der Produktivdatenbank, welche auch für
die Generierung der Seite benutzt wird, was sich bei intensiven Bearbeitungsprozessen
negativ auf die Performance des gesamten Systems auswirken kann.
Viele professionelle
49
WCM-Systeme trennen bestimmte Funktionsbereiche physisch auf dem
Web-Server. Es findet eine Unterteilung in einen internen und einen externen Bereich statt,
wobei im internen Bereich zusätzlich zur Anwendungskomponente weitere Bereiche wie
Qualitätssicherung und Freigabe realisiert sind.
Der externe Bereich wird durch den Produktionsbereich dargestellt, der typischerweise auf
einem weiteren Webserver liegt
50
.
Weiterhin ist es sinnvoll, getrennte Datenbanken für den Verwaltungs- und
Produktionsbereich einzusetzen, um so eine erhöhte Ausfallsicherheit und Performance zu
garantieren.
Bei komplexeren Webanwendungen sollte nicht auf eine die Trennung von Webserver und
Anwendungen verzichten werden, wobei diese Anwendungen meist auf einem Web-
Applikation-Server ausgeführt werden (vgl. Kapitel 3.2.1, J2EE-Web-Application-Server).
46
[@EJB]
47
Beispielsweise Typo3, PHP-Nuke, Postnuke, Mambo, ...
48
[@ServerKonz]
49
Oftmals High-End WCMS wie Vignette, Documentum, Interwoven ...
50
[@ServerKonz]

Technologien und Konzepte für Web-Applikationen
Seite 21
3.2.1.
J2EE Web-Application-Server
Web Application Server sind Plattformen, auf denen E-Business-Anwendungen installiert
51
werden. Das Wort "Application" soll verdeutlichen, dass der Server nicht mehr nur HTML-
Seiten verwaltet, sondern auch unternehmenskritische Anwendungen ablaufen lassen kann.
Im Gegensatz zu normalen Webservern
52
kann ein Web-Applikations-Server logische
Zusammenhänge abbilden und bietet somit die Möglichkeit zur Erstellung individueller Web-
Applikationen.
Ein J2EE Web-Application-Server kann in zwei Komponenten eingeteilt werden, einen
eigentlichen Java Application-Server, der die Servlet Container
53
und möglicherweise die
EJB
54
Container-Funktionalität umfasst, sowie einen Web-Server.
Der Web-Server ist dafür zuständig, die Requests mit statischen HTML-Seiten aus dem
HTML-Speicher zu beantworten. Als Web-Server werden meist die Komponenten eingesetzt,
die auch freistehend benutzt
55
und oftmals gegen andere ausgewechselt werden können.
Abbildung 9 ­ Web-Application-Server
56
Der Web-Server leitet außerdem die serverseitigen Includes an einen Servlet-Container
57
weiter. Ein Servlet Container ist ein Programm, das Requests für Servlets und JavaServer
Pages behandelt und somit die Laufzeit-Umgebung für die Servlets
58
darstellt.
51
Deployment
52
Beispielsweise dem Apache HTTP-Server
53
Servlet Engine
54
Enterprise Java Beans, Für unternehmenskritische Anwendungen fehlen den ,,normalen" Java Beans
Schlüsseleigenschaften wie etwa Transaktionsdienste, Namensdienste und Sicherheitsdienste. Werden
Java Beans hiermit angereichert, spricht man von Enterprise Java Beans, [@EJB]
56
Abbildung nach [@J2EE-Server], Seite 24
57
er wird auch oftmals als Servlet Engine bezeichnet
58
[@Servlet]

Technologien und Konzepte für Web-Applikationen
Seite 22
In Verbindung mit einem J2EE Application Server übersetzt der Servlet Container die
Protokolle des Internet in Objekte, die das Servlet versteht. Außerdem ermöglicht es dem
Servlet, eine Antwort zu senden. Der Servlet Container verwaltet die Servlets während ihres
gesamten Lebens-Zyklus
59
.
Servlet Container verbessern unter anderem die Servlet Ausführungszeit, da der Container
alle seine Servlets innerhalb einer einzigen Java Virtuellen Maschine
60
ausführt. Dadurch
können die Servlets auf gemeinsam genutzte Daten zugreifen, während die JVM private
Daten effektiv voreinander schützt. Im Gegensatz dazu wird bei herkömmlichen CGI
61
für
jede HTTP-Anfrage ein neuer Prozess gestartet. Ist ein CGI-Programm mit der Behandlung
einer Anfrage fertig, so endet das Programm. Hingegen bleiben die Servlets auch nach
Abschluss der Antwort im Speicher, so dass sich leicht beliebig komplexe Daten zwischen
mehreren Anfragen speichern lassen
62
.
Viele Web Application Server unterstützen neben einem Servlet Container noch einen
weiteren Container für die Aufnahme von Enterprise Java Beans. Enterprise Java Beans sind
Java Beans mit erweiterter Funktionalität, besonders Transaktionseigenschaften, Persistenz
und Sicherheit. Diese Funktionalität wird von dem EJB Container zur Verfügung gestellt.
EJBs werden häufig eingesetzt, um die Backend-Logik zu entwickeln. Auch können mit
Enterprise JavaBeans Prozesse und Geschäftsobjekte zur Verfügung gestellt werden.
Für die Erstellung von Web-Applikationen sieht J2EE eine Drei-Schichten-Architektur (vgl.
Kapitel 3.7, Three-Tier-Anwendungen) vor, wobei der Schwerpunkt auf der Spezifikation des
mittleren Tier und der in ihr enthaltenen Container liegt.
Ein Java-basierter Application-Server kann daher, unter Verwendung der J2EE
63
, als Middle-
Tier, also als Anwendungsschicht im Three-Tier Modell verstanden werden.
Als Kern des Systems, losgelöst von der Speicherung und der Präsentation, enthält die
Middle-Tier somit die komplette Anwendungslogik, welche durch den Web-Application-Server
umgesetzt wird.
59
[@J2EE-Server]
60
[@Java_VM]
61
Common Gateway Interface, [@CGI]
62
[Servlets], Seite 29
63
Java-2-Plattform Enterprise Edition J2EE

Technologien und Konzepte für Web-Applikationen
Seite 23
Abbildung 10 ­ Aufbau des Three-Tier Modelles
64
Auf Grundlage der J2EE Spezifikation konkurrieren unterschiedliche Firmen, die ihre Produkte
nach J2EE bei Sun lizenziert haben, wobei IBM und BEA im Bereich der Application-Server als
Marktführer gelten
65
.
Als Basis für ein WCMS sind Web-Application-Server vor allem wegen der
Integrationsmöglichkeiten von Applikations-Servern gut geeignet.
Das WCMS kann die vorhandenen Schnittstellen nutzen und auch selber einheitliche
Interfaces zu anderen Applikationen und deren Daten bereitstellen
66
. Über diese
Schnittstellen kann auch das Management von Transaktionen realisiert werden, welches
jedoch nicht zwingend Bestandteil eines WCMS ist.
Web-Applikationsserver sind als Basis für ein WCMS vor allem dann sinnvoll, wenn
beispielsweise Legacy-Systeme in das WCMS integriert werden sollen. Viele kommerzielle
WCMS-Hersteller setzen daher als Basis einen Applikations-Server voraus
67
.
64
[@J2EE-Server], Seite 12
65
[@StrutsOra], Seite 19
66
[Cont1], Seite 248
67
[Cont1], Seite 73

Technologien und Konzepte für Web-Applikationen
Seite 24
Abschließend ist festzuhalten, dass die Application-Server ein Ausführungsumfeld für
Geschäftslogik im Three-Tier-Modell der Middle-Tier zur Verfügung stellen und die
Komplexität der verteilten Umgebung verbergen. Da so eine Zentralisierung der
Geschäftslogik erreicht wird, ist die Web-Applikation einfach zu administrieren. Der Einsatz
eines Web-Application-Servers hat weiterhin den Vorteil, dass unterschiedliche Frontends
68
gemeinsam dieselbe Geschäftslogik nutzen können.
Für die Aufrechterhaltung der Performance bieten Application-Server oftmals unter anderem
Load-Balancing und Clustering, um bei einer großen Last kurze Antwortzeiten sicher zu
stellen.
3.3.
J2EE Web-Application
Eine Webanwendung ist nicht ein einzelnes Servlet, das HTML Text ausgibt, oder eine
einzelne JSP Seite. Eine Web-Applikation ist vielmehr eine interaktive Applikation, auf die
über das Internet zugegriffen werden kann und die auf einem Web-Application-Server (vgl.
Kapitel 3.2.1, J2EE-Web-Application-Server) betrieben werden kann.
Generell ist eine Web-Applikation eine verteilte Mehrbenutzer-Anwendung mit der Aufgabe
den Benutzern Informationen, die von Servern zur Verfügung gestellt werden, innerhalb
einer einheitlichen Oberfläche in einem Browser über das WWW zur Verfügung zu stellen
69
.
Eine Web-Applikation behandelt daher eingehende Anfragen, ruft Methoden auf und stellt
die Daten für die HTML Darstellung zur Verfügung.
Web-Applikationen bestehen typischerweise aus mehreren statischen und dynamischen
Seiten. In ihr kommen jedoch oft Daten ganz verschiedener Quellen zusammen. Sie
beinhaltet also HTML-Seiten sowie dynamische Elemente wie beispielsweise JSPs, Servlets
sowie eventuell .jar-Files, die die kompilierten Java-Klassen enthalten. Auch Graphiken,
Plugin-Elemente wie Flash, Java-Applets oder auch Active-X-Elementen
70
sind in aktuellen
Web-Applikationen oftmals enthalten (vgl. Kapitel 2.4, Web Content Management).
Die J2EE-Spezifikation legt fest, dass eine Web-Applikation eine vorgegebene
Verzeichnisstruktur besitzen muss
71
. So müssen beispielsweise alle Applikationen
beispielsweise standardmäßig im Verzeichnis ,,webapps" abgelegt werden
72
.
Zu den beiden Basistechnologien Servlet und EJB ist in der J2EE, wie bereits im vorigen
Kapitel beschrieben, ein so genannter Container spezifiziert. Die J2EE-Architektur basiert
daher auf einem ,,Component-Container" Ansatz, wobei die Container einen Schutzwall um
die Komponenten bilden und Systemabhängigkeiten durch Programmierschnittstellen
verbergen. Generell wird die Komplexität verteilter Anwendungen aufgrund des Container
Konzepts versteckt, so dass die Entwickler sich auf die eigentliche Problemstellung der
Applikation konzentrieren können
73
.
Dieser Ansatz macht es einfacher, komplexe J2EE-Anwendungen zu entwickeln, weil die
Geschäftslogik in wiederverwendbaren Komponenten je Container aufgeteilt ist. Diese
68
Applets, Java-Anwendungen
69
[@StrutsOra]
70
[Ja-Mag2], Seite 70
71
[Cocoon], Seite 186
72
[Cocoon], Seite 186
73
[@J2EE_CMS]

Technologien und Konzepte für Web-Applikationen
Seite 25
Container werden in einem J2EE-Application-Server (vgl. Kapitel 3.2.1, J2EE Web-
Application-Server) verwaltet.
Ein Vorteil der J2EE-Architektur liegt darin, dass J2EE-Anwendungen durch die Vorgaben der
Spezifikation auf jedem J2EE-zertifizierten Applikationsserver lauffähig sind, wodurch die
J2EE-Anwendungen damit die Anforderung der Plattformunabhängigkeit erfüllen.
Durch ihr Vorhandensein auf einem Application-Server sind J2EE-Web-Applikationen zentral
konfigurierbar. Zusätzlich können Informationen über das Benutzerverhalten gesammelt
werden, was etwa bei Web-Shops einen großen Mehrwert darstellen kann.
In Hinblick auf CM Systeme bietet die J2EE Plattform weitere Vorteile, da sie umfangreiche
Integrationsmöglichgkeiten mit anderen Systemen aufgrund der Vielzahl an verwendeten
Technologien unterstützt. Wie bereits beschrieben sind solche Integrationsmöglichkeiten mit
bestehenden Systemen für das Content Management sehr wichtig, um sämtlichen in der
Unternehmung existierenden Content zu verwalten
74
.
3.4.
XML basiertes Web Development
Dieses und die folgenden Kapitel sind nicht als Einleitung in die XML-Technoligie
75
zu
verstehen. Ebenso werden keine technischen Details vermittelt, vielmehr werden Konzepte
und die Vorteile im Umgang mit XML und der Webentwicklung aufgezeigt.
XML
76
ist ein vom W3C definierter Standard, um Markup Sprachen zu definieren. HTML kennt
nur eine fest definierte und damit begrenzte Anzahl von Elementen, die von den Browsern
oftmals unterschiedlich oder auch unvollständig interpretiert werden. Demgegenüber
definieren XML-Dokumente ihre eigenen Tags durch eine DTD
77
oder ein XML-Schema,
wodurch die Flexibilität von XML begründet wird.
Anders als in HTML gibt XML-Markup somit lediglich eine Struktur vor, ohne das Aussehen
von Seiten zu bestimmen.
Die Idee hinter XML basiertem Web-Development ist der Einsatz von offenen XML Standards
und die klare Trennung von Inhalt und Layout
78
.
Der Inhalt wird in einer strukturierten Form abgelegt oder aus Datenbankabfragen
dynamisch gewonnen. Ein nachfolgender Prozess wandelt die Daten aus den XML-Quellen in
ein Web Format wie etwa HTML um (vgl. Kapitel 3.5.2, Serverside XML) und ist dadurch
Cross-Browser-fähig. Selbst Formulare können on-the-fly aus XML Beschreibungen
gewonnen werden (vgl. Kapitel 4.6, Cocoon).
XSP
79
(vgl. Kapitel 4.6.1.6, XSP und Logicsheets) ist beispielsweise ein XML-Dialekt, der die
Möglichkeit bietet, Java-Code in XML-Dokumente einzubinden und diese so dynamisch zu
gestalten. In der XSP-Seite kann anstatt von HTML Markup eine Abstraktion in Form von
selbstdefinierten Tags verwendet werden. Diese Tags können später an zentraler Stelle in
HTML, WML oder PDF umgewandelt werden.
Ein weiterer Vorteil von XML-basiertem Webdevelopment ist, dass eine Aufteilung der
Arbeiten im Team ermöglicht wird, da XML den Inhalt von der Präsentation trennt.
74
[@J2EE_CMS]
75
Hierzu empfiehlt sich weiterführende Literatur wie [XML2]
76
eXtensible Mark-up Language
77
Document Type Definition
78
[@XML_Web_Vorteil]
79
eXtensible Server Pages

Technologien und Konzepte für Web-Applikationen
Seite 26
Mit XML können überdies einige typische Probleme des Web-Publishings wie etwa ein starres
Layout und der daraus resultierende Änderungsaufwand, adressiert werden. Ein weiterer
Vorteil ist das Multichanneling, also die intelligente Verzahnung aller Vertriebskanäle. Beim
Content Management wird XML mittlerweile als Schlüsseltechnologie angesehen, was im
Kapitel 3.5.1 beschrieben wird.
Auch die Probleme der Web-Entwicklung wie unübersichtliche ServerPage-Anwendungen und
problematische Kompetenzabgrenzungen können mit dem Einsatz von XML gelöst werden.
XML ist letztendlich deshalb so wichtig, weil es zu einem verlässlichen Teil der Web-
Anwendung wird. Das ist dadurch zu begründen, dass sich XML sich im Hintergrund um die
zugewiesenen Aufgaben kümmert, wodurch dem Entwickler Freiraum für wichtige Dinge, wie
etwa der komplexen Businesslogik geschaffen wird
80
.
Ein Nachteil der XML basierten Web-Entwicklung ist, dass durch XML relativ viel Overhead an
Daten entsteht, da mit XML im ASCII-Format vorliegt. Dieses kann jedoch durch
Kompression umgangen werden, was jedoch im Gegenzug dann wieder Rechenleistung
benötigt.
Zusammenfassend bietet XML im Zusammenhang mit webbasierter Entwicklung viele
Vorteile, da es ein einfaches Format darstellt, welches leicht zu implementieren ist. Dieses
resultiert unter anderem daraus, dass XML selbstbeschreibend und erweiterbar ist.
Das folgende Kapitel zeigt, weshalb Java und XML zusammen eine ideale Lösung darstellen
um webbasierte Enterprise-Anwendungen zu erstellen.
3.5.
Java und XML
Das MVC-Pattern (vgl. Kapitel 3.6, Web-Frameworks und das MVC Model 2) führt eine klare
Trennung zwischen Präsentation und Anwendung ein, was aber auch die Möglichkeit
eröffnet, die einzelnen Bestandteile in unterschiedlichen Technologien zu implementieren.
Teile der Anwendung können so beispielsweise in XML beschrieben werden, wogegen andere
in einer Programmiersprache wie Java erstellt werden.
Der gemischte Einsatz von Java und XML kann die Vorteile beider Technologien miteinander
kombinieren. Die Symbiose von Java und XML bietet für XML die Möglichkeiten, die eine
statische Auszeichnungssprache wie beispielsweise HTML
81
selbst nicht leisten kann. So sind
in Verbindung mit Java dynamische Veränderungen, Kommunikation und Austausch, sowie
die Anbindung von unterschiedlichen Ressourcen leicht zu verwirklichen.
Servlets oder JavaServer Pages können zusammen mit XML Parser und XSLT Prozessoren zu
einem Framework kombiniert werden, mit dem anschließend Web Anwendungen erstellt
werden können.
Ein fertiges Framework stellt Apache Cocoon (vgl. Kapitel 4.6, Cocoon) dar, welches auf
XML-Basis als Java-Servlet realisiert ist.
Cocoon basiert daher vollkommen auf Java und XML Standards und bietet unter anderem die
Möglichkeit, beliebige Inhalte, die im XML-Format vorliegen als HTML oder als PDF zu
publishen.
Cocoon nutzt weiterhin XSP
82
(vgl. Kapitel 4.6.1.6, XSP und Logicsheets), was analog zu JSP
eine Technologie ist, um mit Java dynamisch erzeugte Teile in ein Dokument einzufügen.
Auch in anderen Bereichen ergänzen sich XML und Java, denn beide sind portierbar. So stellt
XML plattformunabhängige Daten zur Verfügung und Java ermöglicht eine
plattformunabhängige Verarbeitung.
80
[JavaXML1], Seiten 4-5
81
[@HTML]
82
[@XSP]

Technologien und Konzepte für Web-Applikationen
Seite 27
Mit XML und Java lässt sich Enterprise Software mit offenen Standards erstellen, womit eine
Interoperabilität der unterschiedlichen Daten aus unterschiedlichen Geschäftsprozessen
gewährleistet werden kann.
Sowohl Java als auch XML eignen sich hervorragend um Web-Applikationen zu erstellen, da
Java bereits seit Jahren eine Unterstützung für Sockets, HTTP und beispielsweise HTML
liefert
83
.
Laut David Brownell, dem Entwickler von Sax, liefern Java und XML zusammen die besten
Werkzeuge zur Erstellung von Three-Tier-Anwendungen (vgl. Kapitel 3.7, Three-Tier-
Anwendungen), wobei XML in der mittleren Schicht meist zum Austausch oder zur
Serialisierung von Daten verwendet wird
84
.
Die Integration von XML in Software-Anwendungen wird dadurch erleichtert, dass
Standardkomponenten, beispielsweise XML-Parser, zur Verfügung stehen und nicht erst neu
entwickelt werden müssen. Auch sind die Mehrheit der XML-Tools in Java geschrieben
85
.
Zusammenfassend kann gesagt werden, dass Java der XML-Basis die Erweiterungen der
Transformationsfunktionalität und die Serverfunktionalität zur Netzkommunikation bietet.
Java bietet XML weiterhin die Intergration in eine umfassende Infrastruktur wie J2EE und
deren Ressourcen sowie eine Dynamik mittels JSP oder Template-Engines (vgl. Kapitel 4.4.1,
View Technologie).
3.5.1.
Content Management und XML
Der Markt für Content Management Lösungen ist eines der wichtigsten Anwendungsfelder
für XML-Technologien, viele Produkte nutzen die format- und plattformunabhängigen
Ausgabemöglichkeiten, die XML, als allgemein akzeptierter Standard bietet
86
.
Die in Kapitel 2.4.2 beschriebenen Leistungen eines WCMS werden nun noch einmal
aufgegriffen und es wird geprüft, welche Möglichkeiten diesbezüglich der Einsatz von XML
bringt
87
.
Wie bereits in Kapitel 2.4.1 erläutert, ist eine der Grundanforderungen an ein WCMS die
Trennung von Inhalt, Design und Logik. Dieses ist ein Konzept, das von XML voll unterstützt
wird (vgl. Kapitel 3.4, XML basiertes Web Development).
Durch den Einsatz von XML kann der Inhalt zusätzlich mit Metadaten oder mit Semantiken
verbunden und in eine für den Menschen lesbare Form in XML gebracht werden. Das
Verknüpfen von Inhalten mit Metadaten ermöglicht eine bessere Verwaltung von
Informationen.
Die Darstellung dieser Inhalte kann beispielsweise durch Extensible Stylesheets formuliert
werden.
Für die Trennung der Logik gibt es verschiedene Ansätze, beispielsweise XSP (vgl. Kapitel
4.6, Cocoon).
Ein weiterer Vorteil der auf XML basierenden WCM-Systeme ist, dass diese leicht einen
flexiblen Im- und Export von Inhalten gewährleisten können. XML hat den Datenaustausch
zwischen Applikationen standardisiert und es lassen sich daher flexible Import- oder
Exportfilter programmieren. Unter der Voraussetzng, das die Anwendungen über ein XML-
Interface verfügen, ist es ohne Bedeutung für welche Applikation Daten aufbereitet werden
oder aus welcher Quelle Inhalte übernommen werden sollen.
83
[@XML_Technologien]
84
[JavaXML2]
85
[@XML_Standard]
86
[XML-Mag], Seite 17
87
Die hier aufgeführten Aspekte sind als generelle Angaben zu verstehen und beziehen sich nicht auf
spezielle WCM Systeme, die auf einem XML-Framework basieren.

Details

Seiten
Erscheinungsform
Originalausgabe
Jahr
2005
ISBN (eBook)
9783832486396
ISBN (Paperback)
9783838686394
DOI
10.3239/9783832486396
Dateigröße
3.2 MB
Sprache
Deutsch
Institution / Hochschule
Fachhochschule Flensburg – Wirtschaftsinformatik
Erscheinungsdatum
2005 (März)
Note
1,0
Schlagworte
java content management sax-events data-binding struts cocoon
Zurück

Titel: Analyse von J2EE-Web-Frameworks hinsichtlich Ihrer Eignung in einem WCMS
book preview page numper 1
book preview page numper 2
book preview page numper 3
book preview page numper 4
book preview page numper 5
book preview page numper 6
book preview page numper 7
book preview page numper 8
book preview page numper 9
book preview page numper 10
book preview page numper 11
book preview page numper 12
book preview page numper 13
book preview page numper 14
book preview page numper 15
book preview page numper 16
book preview page numper 17
book preview page numper 18
book preview page numper 19
book preview page numper 20
book preview page numper 21
book preview page numper 22
book preview page numper 23
book preview page numper 24
book preview page numper 25
book preview page numper 26
book preview page numper 27
book preview page numper 28
book preview page numper 29
book preview page numper 30
book preview page numper 31
147 Seiten
Cookie-Einstellungen