Innovative Content Management Systeme im Betrachtungsfeld von Java 2 Enterprise Edition Diplomarbeit an der Technischen Universität Graz vorgelegt von Peter Glantschnig Institut für Informationssysteme und Computer Medien (IICM) Technische Universität Graz A-8010 Graz, Österreich 9. Jänner 2004 © Copyright 2004, Peter Glantschnig Diese Arbeit ist in deutscher Sprache verfasst. Begutachter: o.Univ-Prof. Dr. Dr.h.c.mult. Hermann Maurer Betreuer: Dipl.-Ing. Dr.techn. Christian Gütl Innovative Content Management Systems within the scope of Java 2 Enterprise Edition Master’s Thesis at Graz University of Technology submitted by Peter Glantschnig Institute for Information Systems and Computer Media (IICM) Graz University of Technology A-8010 Graz, Austria 9. January 2004 © Copyright 2004 by Peter Glantschnig This thesis is written in German language. Advisor: Supervisor: o.Univ-Prof. Dr. Dr.h.c.mult. Hermann Maurer Dipl.-Ing. Dr.techn. Christian Gütl Kurzfassung Das enorme Informationsaufkommen sowie die zunehmende Wichtigkeit von Informationen bzw. das damit verbundene Wissen als Produktionsfaktor im heutigen Wirtschaftsleben verlangen eine effiziente Verwaltung von Inhalten. Content Management Systeme (CMS) sollen die systematische Verwaltung sämtlicher Informationen, wie Texte, Bilder, Grafiken, Video- oder Audiosequenzen – einfach gesagt den gesamtem Content – ermöglichen und zugleich eine optimierte, bedarfsgerechte Publikation für unterschiedliche Distributionskanäle (z.B. Website, Printmedien, CD-ROM, WAP-Device usw.) gewährleisten. Das Identifizieren sämtlicher Funktionen eines CMS, um den Anforderungen der modernen Informationsgesellschaft gerecht zu werden, sowie Aspekte der Implementierung dieser Funktionen bilden den Schwerpunkt der nachfolgenden Arbeit. Im Untersuchungsbereich werden in zwei Schritten die Funktionen eines CMS erarbeitet. Zunächst sind notwendige Kernfunktionen zu erörtern, welche ein innovatives CMS in jedem Fall implementieren sollte. Danach folgt eine Darstellung möglicher Erweiterungen für ein CMS (Digital Right Management, Digital Asset Management, barrierefreier Informationszugang usw.), welche eine zweckmäßige Bereicherung für den Funktionsumfang eines CMS implizieren. Auf Basis der identifizierten Funktionen bzw. Anforderungen erfolgt eine Darstellung der Entwicklungsumgebung Java 2 Platform, Enterprise Edition (J2EE) und deren Eignung zur Implementierung eines innovativen CMS. Den Abschluss des Untersuchungsbereiches bildet ein Überblick über existierende, J2EE-basierte CMS Lösung aus dem kommerziellen sowie Open Source Bereich, welche ebenfalls anhand der zuvor aufgezeigten Funktionen evaluiert werden. Aufgrund der im Untersuchungsbereich gewonnenen Erkenntnisse wird im Gestaltungsbereich auf konzeptioneller Ebene eine mögliche Architektur eines innovativen CMS modelliert, welche sämtliche identifizierten Anforderungen erfüllt. Ausgewählte Aspekte der aufgezeigten Architektur aus den Bereichen Content Syndication sowie Import und Export wurden vom Autor implementiert und deren Realisierung ebenfalls im Gestaltungsbereich erläutert. Die Implementierungen erfolgten aufbauend auf dem Open Source Projekt OpenCms, welches sich aufgrund der detaillierten Evaluierung als besonders vorteilhaft für diesen Zweck erwiesen hat. Abstract The enormous rise in the amount of information, as well as the increasing business value of the knowledge associated to it, has led into new requirements around efficient information management. Content Management Systems (CMS) allow on one hand systematic management of information, like text, pictures, diagrams, video or audio sequences and on the other hand they distribute this information through different distribution channels (e.g. website, printed media, CD-ROM, WAP-device). Identification of necessary functions of a CMS, in order to cope with the requirements of the modern information society, as well as aspects of the development of functions to fulfil these requirements with Java technology form the emphasis of this work. This work consists of a theoretical and a practical section. The theoretical section presents the functional requirements of a CMS in two steps. First the core functions of an innovative CMS are discussed. Secondly possible extensions for a CMS, (e.g. Digital Right Management, Digital Asset Management, barrier-free information access) which imply an appropriate enrichment for the core functional range of a CMS, are presented. On basis of the identified functional requirements in these two sections, the development environment Java 2 Platform, Enterprise Edition (J2EE), and its applicability for the development of an innovative CMS will be examined. In the last part of the theoretical section an overview of existing J2EE based CMS solutions from the commercial as well as open source range is presented, and these solutions will be evaluated on the basis of the functional requirements discussed before. The results of the theoretical section will be used in the practical one to model a possible architecture for an innovative CMS on a conceptional level. Selected aspects of the presented architecture concerning content syndication as well as import and export were developed by the author and their realisation is depicted in the practical section. The development took place on basis of the open source project OpenCms, which proved due to the detailed evaluation as particularly favourable for the development of a comprehensive CMS. Ich versichere hiermit, diese Arbeit selbständig verfasst, andere als die angegebenen Quellen und Hilfsmittel nicht benutzt und mich auch sonst keiner unerlaubten Hilfsmittel bedient zu haben. I hereby certify that the work presented in this thesis is my own and that work performed by others is appropriately cited. Danksagung An dieser Stelle möchte ich mich bei all jenen bedanken, die mir beim Erstellen dieser Arbeit mit Rat und Tat zur Seite standen. Dies waren vor allem die Mitarbeiter des IICM um Professor Hermann Maurer, insbesondere mein Betreuer Dr. Christian Gütl, welcher mir stets durch gewissenhaftes Korrekturlesen und mit zahlreichen Anregungen beim Erstellen dieser Diplomarbeit behilflich war. Ein besonderes Anliegen ist es mir, mich auch bei meinen Eltern, Hartmann und Marianne Glantschnig zu bedanken, die mir meine Ausbildung ermöglicht und mich beim Erreichen meiner Ziele immer unterstützt haben. Ich danke aber auch meinen beiden Geschwistern Elisabeth und Georg, welche mir im Laufe meines Studiums immer mit Rat zur Seite standen und mich auch bei der Korrektur dieser Diplomarbeit unterstützt haben. Ein herzliches Dankeschön auch an meine Freundin Eva für die liebevolle Unterstützung und die vielen Aufmunterungen während meines Studiums. Peter Glantschnig Graz, Jänner 2004 Inhaltsverzeichnis 1 Einleitung................................................................................................................. 1 1.1 Motivation und Ausgangssituation ................................................................... 1 1.2 Strukturierung der Arbeit .................................................................................. 2 TEIL I Untersuchungsbereich 2 Grundkonzepte........................................................................................................ 7 2.1 Bedarf an Content Management ....................................................................... 7 2.1.1 Informationsüberladene Welt ................................................................... 7 2.1.2 Entwicklung des Publikationsprozesses ................................................... 9 2.2 Begriffsbestimmung........................................................................................ 10 2.2.1 Content .................................................................................................... 11 2.2.2 Content Management .............................................................................. 13 2.2.3 Content Management Systeme ............................................................... 14 2.3 Charakteristische Aspekte von Content Management Systemen ................... 18 2.3.1 Anatomie des Content ............................................................................. 18 2.3.2 Content Life Cycle .................................................................................. 20 2.3.3 Ziele von Content Management Systemen ............................................. 21 2.3.4 Grenzen von Content Management Systemen ........................................ 22 2.4 3 Schlussbemerkung .......................................................................................... 23 Funktionen von Content Management Systemen .............................................. 25 3.1 Allgemeines .................................................................................................... 25 3.2 Kernfunktionen ............................................................................................... 29 3.2.1 Content Organisation .............................................................................. 29 3.2.2 Erzeugung ............................................................................................... 32 3.2.3 Publikation .............................................................................................. 33 3.2.4 Content Kontrolle ................................................................................... 34 3.2.5 Information Retrieval .............................................................................. 37 3.2.6 Collaboration .......................................................................................... 38 3.2.7 Integration ............................................................................................... 40 3.2.8 Administration ........................................................................................ 42 3.2.9 Internationalisierung ............................................................................... 43 4 3.3 Anforderungsprofil Kernfunktionen ............................................................... 43 3.4 Schlussbemerkung .......................................................................................... 44 Zweckmäßige Erweiterungen von Content Management Systemen ............... 46 4.1 Unterstützende Funktionen ............................................................................. 46 4.1.1 Extensible Markup Language ................................................................. 47 4.1.2 Barrierefreier Informationszugang ......................................................... 50 4.2 Funktionale Erweiterungen ............................................................................. 53 4.2.1 Digital Right Management...................................................................... 53 4.2.2 Portal-Funktionalität ............................................................................... 55 4.2.3 Digital Asset Management...................................................................... 57 5 4.3 Anforderungsprofil ......................................................................................... 59 4.4 Schlussbemerkung .......................................................................................... 60 Java 2 Platform Enterprise Edition .................................................................... 62 5.1 Grundlagen...................................................................................................... 62 5.1.1 Allgemeines ............................................................................................ 63 5.1.2 Mehrschichtige Architektur .................................................................... 64 5.1.3 Container und Komponenten .................................................................. 66 5.1.4 Rollen und deren Aufgabenverteilung .................................................... 68 6 5.2 Web Services .................................................................................................. 70 5.3 Relevante Technologien ................................................................................. 72 5.4 Schlussbemerkung .......................................................................................... 74 Implementierungen von Content Management Systemen ................................ 77 6.1 Kommerzielle CMS Lösungen ....................................................................... 77 6.1.1 VIP Enterprise 8...................................................................................... 78 6.1.2 Vignette V7 ............................................................................................. 80 6.1.3 DB2 Content Manager 8.2 ...................................................................... 81 6.1.4 FileNet P8 ............................................................................................... 82 6.1.5 Zusammenfassung .................................................................................. 83 6.2 Open Source CMS Lösungen ......................................................................... 85 6.2.1 OpenCms 5.0 .......................................................................................... 85 6.2.2 Jahia 4.0 .................................................................................................. 88 6.2.3 Ion 0.8 ..................................................................................................... 90 6.2.4 Red Hat CMS 5.0 .................................................................................... 92 6.2.5 Zusammenfassung .................................................................................. 94 6.3 Funktionsumfang ............................................................................................ 95 6.4 Schlussbemerkung .......................................................................................... 98 TEIL II Gestaltungsbereich 7 Gestaltungsmodell ............................................................................................... 100 7.1 Allgemeines .................................................................................................. 100 7.1.1 Funktionaler Umfang ............................................................................ 100 7.1.2 Basisarchitektur .................................................................................... 102 7.2 Architektur Layer .......................................................................................... 103 7.2.1 Abstraktion............................................................................................ 104 7.2.2 Daten ..................................................................................................... 105 7.2.3 Funktionalität ........................................................................................ 106 7.2.4 Front-End .............................................................................................. 110 8 7.3 Gesamtarchitektur ......................................................................................... 112 7.4 Praxisorientierte Anwendung ....................................................................... 113 7.5 Schlussbemerkung ........................................................................................ 114 Implementierung ausgewählter Aspekte eines innovativen Content Management Systems ..................................................... 116 8.1 OpenCms im Kontext des Gestaltungsmodells ............................................ 117 8.1.1 Allgemeines .......................................................................................... 117 8.1.2 Gegenüberstellung mit der Architektur eines innovativen CMS .......... 118 8.2 Content Syndication und Providing .............................................................. 121 8.2.1 Integration von externem Content ........................................................ 121 8.2.2 Bereitstellen von strukturiertem Content .............................................. 125 9 8.3 Import und Export im Kontext von XML ..................................................... 130 8.4 Schlussbemerkung ........................................................................................ 135 Zusammenfassung und Ausblick ....................................................................... 137 Abbildungsverzeichnis................................................................................................ 141 Tabellenverzeichnis .................................................................................................... 143 Literaturverzeichnis ................................................................................................... 144 1 Einleitung 1.1 Motivation und Ausgangssituation Content Management ist ein modernes Schlagwort der heutigen Zeit, zugleich ist es jedoch nur ein weiterer Begriff, um ein uraltes Thema zu umschreiben. Unsere Kultur und Gesellschaft basiert auf der Übermittlung von Erfahrung und Wissen. Dies begann bereits vor tausenden von Jahren mit der mündlichen Überlieferung von Informationen. Mit der Erfindung von Symbolen und Zeichen wurde es möglich, Informationen aufzuzeichnen und dies führte in weiterer Folge zu Dokumenten. Das Dokument ermöglichte es nicht nur sich leichter an Informationen zu erinnern, sondern erlaubte es, aufgezeichnete Informationen auch an Dritte weiterzugeben, womit die Informationsübermittlung nicht mehr an die direkte mündliche Kommunikation gekoppelt war. Doch mit dem Aufkommen zahlreicher Dokumente entstand zugleich das Bedürfnis, Dokumente systematisch zu verwalten. Auch wenn es sich bei frühen Ordnungssystematiken vor 5000 Jahren um Tontafelarchive mit Keilschriftdokumenten gehandelt hat, so hat sich die Notwendigkeit der systematischen Aufbewahrung von Dokumenten bis heute nicht geändert. Die rasante technologische Entwicklung der letzten Jahre und der damit verbundene Übergang physisch greifbarere Dokumente in eine virtuelle elektronische Welt hat zwar die Möglichkeiten der Verwaltung drastisch verändert, aber der Grundgedanke ist im Wesentlichen derselbe geblieben. [Kampffmeyer 2003b] Bis vor wenigen Jahren wurde für die angesprochene Problematik in erster Linie der Begriff Dokumenten Management verwendet, um die Technologien und Produkte zu umschreiben, welche eine systematische Verwaltung von Dokumenten ermöglichen sollen. In der jüngsten Zeit spricht man jedoch zunehmend von Content anstatt von Dokument und dementsprechend von Content Management anstatt von Dokumenten Management. Das Aufkommen des Begriffes Content Management geht einher mit der Entstehung einer Vielzahl an weiteren Begriffen, welche alle in einem gewissen Bezug zu Content Management stehen. Beispielhaft seien die Begriffe Web Content Management (WCM), Enterprise Content Management (ECM), Digital Asset Management (DAM) oder Digital Right Management (DRM) genannt. Es ist ein wesentliches Ziel der vorliegenden Arbeit, die unterschiedlichen Schwerpunktsetzungen Einleitung 2 dieser zuletzt genannten Begriffe und ihre Funktion bzw. Notwendigkeit im Kontext von Content Management aufzuzeigen. Hinter dem Content-Begriff verbirgt sich jedoch weit mehr als nur eine Namensänderung, auch wenn aus marktstrategischen Überlegungen viele Hersteller den Begriff falsch verwenden. Durch die Einführung des Content-Begriffes geht in erster Linie der geschlossene Charakter von Dokumenten verloren. Content wird nicht mehr mit einer bestimmten Darstellung bzw. Präsentation assoziiert, sondern passt sich idealerweise den spezifischen Anforderungen unterschiedlicher Publikationskanäle an ohne dabei redundante Informationen zu speichern. Dazu notwendige Aspekte, wie die getrennte Erfassung von Struktur, Inhalt und Darstellung sowie die unter anderem in diesem Zusammenhang oft genannte Extensible Markup Language (XML), sind weitere Schwerpunkte in der vorliegenden Arbeit. In der gleichen Weise, wie die rasante technologische Entwicklung der letzten Jahre neue Wege für eine effiziente Verwaltung von Informationen ermöglicht hat, haben sich auch die Möglichkeiten der Informationserstellungen bzw. der Informationsverbreitung noch mehr vereinfacht und damit die Informationsflut der heutigen Zeit ausgelöst. Es ist daher wichtiger denn je, sinnvolle Wege der Informationstechnologie zu identifizieren, um die riesigen Informationsmengen für den Menschen noch überschaubar zu machen. Darüber hinaus stellen Informationen bzw. das damit verbundene Wissen einen wesentlichen Produktionsfaktor im heutigen Wirtschaftsleben dar, welcher zumindest den gleichen Stellenwert wie die klassischen Produktionsfaktoren Arbeit, Boden und Kapital einnimmt. [Rollett 2000] Wege und Möglichkeiten eines effizienten Umgangs mit sämtlichen Informationen in einer Unternehmung sind daher in der heutigen Informationsgesellschaft ein wettbewerbsentscheidender Faktor. Content Management Systeme sollen für die aufgezeigte Problematik eine Lösung bieten, indem sie in einem ganzheitlichen Ansatz die Erfassung, Verwaltung und Publikation sämtlicher relevanter Informationen in einem kohärenten System ermöglichen. Der Schwerpunkt der vorliegenden Arbeit liegt dabei in erster Linie auf dem Identifizieren sämtlicher Funktionen eines Content Management Systems, um den heutigen Anforderungen der Informationsgesellschaft gerecht zu werden und nicht auf dem Aufzeigen notwendiger Prozesse für ein effizientes Umgehen mit der Ressource Information bzw. Wissen. Letzteres ist unter anderem der Schwerpunkt von Wissensmanagement. 1.2 Strukturierung der Arbeit Die vorliegende Arbeit unterteilt sich in zwei Bereiche, den Untersuchungsbereich sowie den Gestaltungsbereich. Im Untersuchungsbereich werden aufbauend auf einer Darstellung der Grundkonzepte von Content Management Systemen (CMS), sämtliche notwendige bzw. mögliche Funktionen eines CMS erörtert. Des Weiteren wird eine interessante Auswahl an bereits existierenden Implementierungen von Content Manage- Einleitung 3 ment Systemen aus dem kommerziellen sowie Open Source1 Bereich dargestellt. Um die große Auswahl an möglichen Implementierungen etwas einzugrenzen, wurde im Rahmen der vorliegenden Arbeit hinsichtlich der Programmierumgebung eine Einschränkung auf die Java 2 Platform, Enterprise Edition (J2EE) vorgenommen. Aus diesem Grund werden kurz die wesentlichen Konzepte von J2EE sowie deren Eignung für eine Implementierung eines CMS ebenfalls im Untersuchungsbereich behandelt. Im Gestaltungsbereich wird aufgrund der Erkenntnisse aus dem Untersuchungsbereich auf konzeptioneller Ebene eine mögliche Architektur eines innovativen CMS modelliert, welche sämtliche im Untersuchungsbereich identifizierte Funktionen vereint. Interessante Aspekte der aufgezeigten Architektur wurden vom Autor der vorliegenden Arbeit implementiert und werden ebenfalls im Gestaltungsbereich präsentiert. In Kapitel 2 wird die theoretische Grundlage geschaffen, um eine sinnvolle Diskussion der Funktionen eines Content Management Systems zu ermöglichen. Am Beispiel aktueller Problemfelder wird die Notwendigkeit für den Einsatz von Content Management Systemen dargestellt. Des Weiteren werden der Begriff Content Management System sowie damit im Zusammenhang stehende Begriffe einer ausführlichen Diskussion unterzogen. Abschließend werden charakteristische Aspekte aufgezeigt, welche für sämtliche Content Management Systeme gleichermaßen zutreffen. Kapitel 3 beschreibt die Kernfunktionen eines Content Management Systems, welche der Autor der vorliegenden Arbeit für einen effektiven Einsatz eines CMS als notwendig erachtet. Zu diesem Zweck wird zunächst eine Systematik identifiziert, um sämtliche notwendige Funktionen eines CMS durch aussagekräftige Überbegriffe zu erfassen und zugleich die Grundlage für eine strukturierte Diskussion der Kernfunktion zu schaffen. Sämtliche identifizierten Anforderungen werden im Anschluss in einem Anforderungsprofil, zur übersichtlichen Weiterverwendung in den nachfolgenden Kapiteln, zusammengefasst. Die Darstellungen aus dem vorherigen Abschnitt werden in Kapitel 4 fortgeführt, indem neben den notwendigen Kernfunktionen noch weitere Aspekte erläutert werden, welche zweckmäßige funktionale Erweiterungen für ein CMS darstellen bzw. eine effiziente Implementierung geforderter Funktionen unterstützen. Aus diesem Grund werden zum einen die XML Technologie sowie Aspekte eines barrierefreien Informationszugangs erläutert, deren Berücksichtigung die Effizienz bzw. Qualität des CMS deutlich verbessern kann. Zum anderen werden Funktionen erörtert, welche aufgrund ihrer Komplexität bereits eigenständige Disziplinen der Informationstechnologie darstellen, deren Integration in das CMS jedoch eine sinnvolle funktionale Erweiterung des CMS aufzeigt. Hierzu zählen unter anderem das Digital Right Management, das Digital Asset Management sowie die Portale. Im Anschluss werden, wie im vorherigen Kapitel, die identifizierten Anforderungen in einem Anforderungsprofil zusammengefasst. 1 Unter Open Source werden Implementierungen verstanden, deren Programm-Code im Gegensatz zu den meisten kommerziellen Produkten offen vorliegt. Open Source Produkte entstehen zumeist in einer öffentlichen Zusammenarbeit und können ohne Lizenzgebühren benutzt werden. [Open Source 2003] Einleitung 4 Die in Kapitel 3 und 4 erstellten Anforderungsprofile werden im weiteren Verlauf der vorliegenden Arbeit dazu verwendet, existierende Implementierungen von Content Management Systemen hinsichtlich der Erfüllung der identifizierten Funktionen zu evaluieren. Wie bereits erwähnt wurde, wird in der vorliegenden Arbeit der Schwerpunkt bei der Implementierung eines CMS auf die Programmierumgebung Java 2 Platform, Enterprise Edition gelegt. Aus diesem Grund werden in Kapitel 5 die wesentlichen Konzepte und Technologien von J2EE erläutert und deren Eignung zur Realisierung eines CMS ebenfalls anhand der zuvor identifizierten Anforderungsprofile evaluiert. Die Darstellungen in Kapitel 5 sind bewusst sehr einfach gehalten, da eine detaillierte Darstellung von J2EE den Rahmen der vorliegenden Arbeit sprengen würde. Es sollen aber auf konzeptioneller Ebene die Vorzüge von J2EE aufgezeigt werden. In Kapitel 6 wird ein Überblick über Implementierungen von Content Management Systemen, einerseits im kommerziellen und andererseits im Open Source Bereich, gegeben. Sämtliche erörterten Systeme basieren dabei auf der Programmierumgebung J2EE. Die Darstellungen einer Auswahl an konkreten CMS Lösungen soll aufzeigen, welchen Funktionsumfang existierende Systeme bieten und inwiefern die bisher in der vorliegenden Arbeit identifizierten Anforderungen eines Content Management Systems Berücksichtigung finden. Zu diesem Zweck werden sämtliche erörterten Systeme zum Abschluss des Kapitels den in Kapitel 3 und 4 erstellten Anforderungsprofilen gegenübergestellt, um die Systeme auf die Erfüllung bzw. Nichterfüllung der diversen Funktionen zu evaluieren. Aufgrund der in den bisherigen Kapiteln des Untersuchungsbereiches gewonnenen Erkenntnissen soll in Kapitel 7 die Architektur eines innovativen Content Management Systems modelliert werden, welche sämtliche, in den vorhergehenden Kapiteln erörterten Aspekte bzw. Funktionen eines CMS systematisch in die aufgezeigte Architektur integriert. Im ersten Schritt wird eine vereinfachte Basisarchitektur modelliert, wodurch verschiedene Layer identifiziert werden, welche als Grundlage der weiteren Diskussionen in diesem Kapitel dienen sollen. Sämtliche Darstellungen werden zum Abschluss des Kapitels in einer Gesamtarchitektur zusammengeführt. Die im vorherigen Kapitel modellierte Architektur eines innovativen CMS soll die Idealvorstellung eines CMS aufzeigen, deren vollständige Implementierung jedoch ein äußerst komplexes und umfangreiches Projekt darstellen würde. Es wurde daher vom Autor der vorliegenden Arbeit nur eine interessante Auswahl an Funktionen der identifizierten Architektur des innovativen CMS implementiert. In diesem Zusammenhang hat es sich angeboten, das Open Source System OpenCms als Ausgangsbasis für die Implementierungen zu nutzen. OpenCms ist aufgrund einer bereits mehrjährigen Entwicklung und einer sehr aktiven Community ein durchaus professionelles Open Source Projekt und zeigt in den Grundzügen eine gute Übereinstimmung mit der in Kapitel 7 aufgezeigten Architektur. Diese Übereinstimmung sowie die vom Autor der vorliegenden Arbeit erstellten Funktionalitäten werden in Kapitel 8 ausführlich dargestellt. Schlussendlich werden in Kapitel 9 die wesentlichen Aspekte der vorliegenden Einleitung 5 Arbeit nochmals zusammengefasst und ein Ausblick auf mögliche weitere Entwicklungen gegeben. TEIL I Untersuchungsbereich 2 Grundkonzepte Mit diesem Kapitel soll die Grundlage geschaffen werden, um in den folgenden Kapiteln eine sinnvolle Diskussion über die Funktionalitäten von Content Management Systemen zu ermöglichen und in weiterer Folge die Entwicklungsumgebung Java 2 Platform, Enterprise Edition im Hinblick auf ihre Eignung zur Implementierung eines Content Management Systems zu untersuchen. Zu diesem Zweck wird in diesem Kapitel zunächst die Notwendigkeit für den Einsatz von Content Management Systemen am Beispiel aktueller Problemfelder dargestellt. Im Anschluss wird eine ausführliche Diskussion zur Begriffsbestimmung sowie Abgrenzung rund um den Begriff Content Management System aufgezeigt. Den Abschluss des Kapitels bildet eine detaillierte Betrachtung relevanter Aspekte von Content Management Systemen. 2.1 Bedarf an Content Management Ziel dieses Abschnittes ist es, auf Entwicklungen einzugehen, aus denen sich der Handlungsbedarf für Content Management identifizieren lässt. Zu diesem Zweck werden die Veränderungen der Publiziermechanismen im Zeitalter der Informationstechnologie sowie die sich daraus ergebenden Auswirkungen der Informationsflut in der heutigen Zeit dargestellt. 2.1.1 Informationsüberladene Welt Unzählige Zahlen und Fakten, welche die Informationsflut der heutigen Welt dokumentieren und die damit einhergehende Informationsüberladenheit belegen, sind in der Literatur verschiedenster Wissenschaftsdisziplinen zu finden. Davon soll in diesem Abschnitt eine Auswahl an interessanten Aspekten erörtert werden. Grundsätzlich wird unter Informationsüberladenheit das Unvermögen verstanden, aus einer immensen Menge an Informationen das benötigte Wissen zu extrahieren. Konkret kann dies bei einer Person auftreten, wenn sie [Nelson 2001]: sich von der aufzunehmenden Informationsmenge überwältigt fühlt. nicht weiß, wo man die Information findet. nicht weiß, ob eine bestimmte Information existiert. Grundkonzepte 8 die vorhandene Information nicht versteht. Die Autoren McGovern et al. erläutern in ihrer Arbeit folgende Beispiele, um auf den rasanten Anstiege der Informationsmengen hinzuweisen [McGovern et al. 2001]: Jede Ausgabe der New York Times beinhaltet mehr Information als ein Mensch im 17. Jahrhundert in seinem gesamten Leben gelesen hätte. In den letzten 30 Jahren wurden mehr Informationen produziert als in den letzten 5000 Jahren. Die Menge an niedergeschriebenem wissenschaftlichem Wissen verdoppelt sich im Allgemeinen alle 15 bis 20 Jahre. Über 1000 Bücher werden täglich auf der ganzen Welt publiziert. Bemerkenswert in diesem Zusammenhang ist das Ergebnis einer Studie der University of California, Berkeley, welches besagt, dass nur 0.003 Prozent der jährlich publizierten Inhalte auf Papier gedruckt werden. Dieses Ergebnis lässt die Schlussfolgerung zu, dass für jede gedruckte Zeile 30.000 Zeilen am Computer publiziert werden, was in Anbetracht der bereits großen Mengen an Büchern und Zeitschriften auf die noch größere – kaum mehr erfassbare – Menge an digitalen Informationen schließen lässt. [McGovern et al. 2001] Der rasante Anstieg an Informationen geht einher mit fast grenzenlosen Möglichkeiten der Verbreitung digitaler Daten – einerseits können digitale Daten beliebig oft vervielfältig werden, andererseits ermöglicht die schnell steigende Verbreitung des Internets, jeden Menschen direkt für Informationen empfänglich zu machen. Der Autor Gütl erläutert in seiner Arbeit die Entwicklung des Internets und weist auf ein annähernd exponentielles Wachstum des Internet hin, was beispielsweise anhand der weltweiten Entwicklung von Hosts belegt werden kann. Aussagekräftig ist die Erkenntnis, dass das Internet innerhalb dieses Jahrhunderts von nahezu allen Menschen – das sind einige Milliarden – genutzt werden wird. [Gütl 2002] In der Arbeit von Lesk finden sich interessante Aspekte, wie man die gesamten in der Welt vorhandenen Informationen in Bezug auf das Speichervermögen elektronischer Speichermedien abbilden kann. Zu diesem Zweck trifft der Autor die Annahme, man digitalisiert alles was in unserer Welt an Information anfällt – Bücher, Bilder, Filme, TV Sendungen oder Telefongespräche. Man würde dadurch auf tausende von Petabytes1 an Daten kommen. Betrachtet man allerdings die Verkaufszahlen von elektronischen Speichermedien, multipliziert diese mit der entsprechenden Speicherkapazität und schließt daraus auf das theoretisch vorhandene weltweite Speichervolumen, so kommt Lesk zur Feststellung, dass ab dem Jahr 2000 die oben beschriebene Datenmenge auf Computern abgelegt werden könnte. [Lesk 1997] 1 1 Gigabyte (GByte) = 1.000 Megabytes = 109 Bytes 1 Terabyte (TByte) = 1.000 Gigabytes 1 Petabyte (PByte) = 1.000 Terabytes Grundkonzepte 9 Die theoretische Schlussfolgerung daraus ist, dass es somit heutzutage möglich ist, sämtliche Informationen zu speichern – keine Information müsste mehr verworfen werden. Lesk stellt auch einen interessanten Bezug zwischen dem Gehirn als „menschlichen Speicher“ und elektronischen Speichermedien her. Ausgehend von Erkenntnissen nach Tom Landauer kann das menschliche Gehirn eine Informationsmenge von 200 Megabytes aufnehmen. Bei einer Weltbevölkerung von 6 Milliarden Menschen erhält man als Speichervermögen aller menschlichen Gedächtnisse 1.200 Petabytes, eine Größendimension, die es theoretisch möglich macht, das gesamte menschliche Wissen digital zu speichern. [Lesk 1997] Der enorme Anstieg an Informationen, die fast unbegrenzten Möglichkeiten, sämtliche Informationen zu speichern und die Möglichkeiten der rasanten Informationsverbreitung mittels des Internets haben sich in einer Informationsflut niedergeschlagen. In der Arbeit des Autors Krcmar wird darauf hingewiesen, dass der Mensch in etwa nur 300 Worte pro Minute lesend verarbeiten kann und der sich daraus ergebende Engpass der menschlichen Informationsverarbeitungskapazität riesige Informationsberge nur schwer bezwingbar macht [Krcmar 2000]. Der Autor der vorliegenden Arbeit stimmt daher mit Krcmar überein, dass es die zentrale Aufgabe der Informationstechnologie ist, riesige Informationsmengen für den Menschen zugänglich zu machen. 2.1.2 Entwicklung des Publikationsprozesses Unter Publizieren wird im Allgemeinen das Erfassen und Recherchieren von Informationen durch Redakteure, die professionelle grafische Aufbereitung der Informationen durch Layouter und danach der Druck auf Papier in Form eines Buches verstanden. Diesem Schema entsprechende Vorgehensweisen kann man als klassisches oder traditionelles Publizieren bezeichnen, jedoch zeichnen sich in diesem Umfeld drastische Veränderung ab, welche einerseits durch den Innovationsdruck neuer Technologien, andererseits durch die im obigen Abschnitt beschriebene Informationsflut hervorgerufen werden. Typisch für das traditionelle Publizieren ist, dass der gesamte Prozess auf das Endprodukt hin optimiert wird, welches ausschließlich für den Menschen bestimmt ist. Dementsprechend steht die Gestaltung und grafische Aufbereitung der Publikation an erster Stelle, was zumeist auf Kosten von strukturellen oder inhaltlichen Auszeichnungen geht. Die Folge ist ein Endprodukt, welches zwar für den Menschen einen professionellen Eindruck macht, aber in keiner Weise maschinell erfassbar oder weiterverarbeitbar ist. [Rothfuss et al. 2001] Das neue, moderne Publizieren muss mit zahlreichen neuen Anforderungen umgehen. Publizieren wird nicht mehr einzig und alleine mit dem Druck auf Papier assoziiert, vielmehr müssen nun eine breite Palette von Zielmedien bedient werden, wie das Internet oder CD-ROM. Bisher galten Verlage oder Werbeagenturen als typische Akteure des Publizierens, nun kommen beispielsweise Unternehmen hinzu, die große Mengen an Informationen publizieren, sei es für ihre Kunden, Partner oder Mitarbeiter. Viele Informationen, welche besonders im Internet publiziert werden, sind nicht mehr Grundkonzepte 10 von Hand gestaltet, sondern werden dynamisch aus Datenbankinhalten generiert und automatisiert aufbereitet. Die automatisierte Gestaltung von Inhalten sowie das Publizieren für unterschiedliche Medien machen es notwendig, Inhalte strukturiert zu erfassen und die Generierung von Halbfertigprodukten zu erlauben, welche an verschiedene Umgebungen angepasst werden können. [Rothfuss et al. 2001] Schlussendlich muss das Publikationsergebnis gar nicht mehr – zumindest nicht ausschließlich – für den menschlichen Gebrauch bestimmt sein, sondern kann Teil einer maschinellen Verarbeitung sein. Beispielhaft seien an dieser Stelle die Visionen des Semantic Web genannt, die Weiterentwicklung des heutigen Web, wobei allerdings sämtliche Inhalte mit Strukturelementen versehen werden, die auch für den Computer in einen semantischen Zusammenhang gebracht werden können und damit ein besseres Zusammenarbeiten von Computer und Menschen ermöglichen. [Berners-Lee 2001] Die Autoren McGovern et al. beschreiben modernes Publizieren als die Bereitstellung der richtigen Inhalte, für die richtige Person, zum richtigen Zeitpunkt [McGovern et al. 2001]. Die Autoren weisen damit auf den wirtschaftlichen Faktor des Publizierens – im Blickwinkel der Informationsflut – hin. Um Informationen möglichst gut kommerziell nutzen zu können, ist es bei einem Überangebot von Informationen entscheidend, möglichst schnell aktuelle Inhalte anbieten zu können und infolgedessen muss der Publikationsprozess entsprechend effizient ablaufen. Ebenfalls im Sinne einer besseren Vermarktung von Inhalten wird es immer mehr von Bedeutung, die Publikationsergebnisse speziell auf die zu erreichenden Zielgruppen inhaltlich abzustimmen, um so bereits im Vorhinein für potentielle Kunden eine Selektion der relevanten Informationen vorzunehmen und damit dem Gefühl der Informationsüberladenheit entgegenzuwirken. [McGovern et al. 2001] Diese Vorteile für den Kunden wirken natürlich auch auf die Reputation des Informationsanbieters und stärken die Beziehung zwischen Kunden und Anbietern. Damit unterstützt ein moderner Publikationsprozess ein effektives Customer Relationship Management (CRM), welches in Zeiten zunehmender Markttransparenz, enger werdender Märkte und abnehmender Kundenloyalität immer mehr an Bedeutung gewinnt. Zugleich impliziert aber diese Notwendigkeit für CRM die Adaption des Publikationsprozesses an die Anforderungen der heutigen Zeit. [Scholz 2003] Die in diesem Abschnitt beschriebene Entwicklung des Publizierens und der damit verbundenen Anforderungen im Umfeld einer informationsüberladenen Welt verlangen nach einer praktischen Lösung. Die im nachfolgenden Teil der vorliegenden Arbeit dargestellten Content Management Systeme verdeutlichen einen möglichen Lösungsansatz der Informationstechnologie, um auf die erörterten Anforderungen zu reagieren. 2.2 Begriffsbestimmung Um sich dem Thema Content Management Systeme zu nähern, werden in diesem Abschnitt die im Zusammenhang stehenden Begriffe erörtert. In einer hierarchischen Grundkonzepte 11 Vorgehensweise wird der zentrale Begriff der vorliegenden Arbeit – Content Management Systeme – über die zugrunde liegenden Begriffe Content und Content Management erarbeitet. Des Weiteren werden die oben genannten Begriffe von ähnlichen oder im Zusammenhang verwendeten Begriffen abgegrenzt. 2.2.1 Content Ziel dieses Abschnittes ist es, jenen Begriff detailliert zu betrachten, welcher die Grundlage für alle weiteren Ausführungen in der vorliegenden Arbeit bildet. Der Begriff Content wird hierfür zuerst über die Begriffe Daten, Information und Wissen erklärt und von selbigen abgegrenzt und anschließend im Kontext von Content Management näher erörtert. Den Abschluss dieser Ausführungen bildet eine kurze Gegenüberstellung bzw. Abgrenzung der Begriffe Content und Dokument. Die Autoren Koop et al. verwenden die in der Literatur häufig anzutreffende Konzeption der Begriffe Daten, Information und Wissen, um den Content-Begriff zu definieren. Unter Daten wird eine Kette von elementaren Symbolen, die einer bestimmten, vereinbarten Syntax folgen, verstanden. Wird durch Daten eine Zustandsänderung in einem Empfängersystem (Computer, Mensch, usw.) hervorgerufen, so spricht man von Informationen. Als wichtige, mit dieser Definition verbundene Eigenschaft, sei die Kontextabhängigkeit erwähnt – was für eine Person Information darstellt, muss noch lange nicht für eine andere Person gelten. Mit dem Begriff Wissen wird die in einem System (Computer, Mensch, Bibliothek, usw.) gespeicherte Information verstanden. Wissen wird allgemein für wahr gehalten – wenn es jedoch durch falsche oder irreführende Informationen entstanden ist, kann Wissen auch falsch sein oder Widersprüche enthalten. Weitere Definitionen erklären den Begriff Wissen als interpretierte Information oder Information mit Bedeutung. [Koop et al. 2001] [Reif 2000] [Rollett 2000] Ausgehend von der im obigen Absatz beschriebenen hierarchischen Konzeption lässt sich der Begriff Content zwischen Information und Wissen einordnen. In diesem Zusammenhang versteht man unter Content eine Information als Austauschgegenstand. Content lässt sich als ein Informationspaket beschreiben, dass man mittels eines Mediums (Papier, elektronisch, usw.) weitergeben kann und für andere nutzbar ist. Demzufolge kann man beispielsweise Texte, Bilder, Grafiken, Video- oder Audiosequenzen als Content auffassen. Es sei noch erwähnt, dass diese Definition von Content keine Aussage über den tatsächlichen Nutzwert des Content darstellt – der Wert eines Content ist geprägt durch die subjektiven Merkmale bzw. Interessen eines potentiellen Nutzers und nicht durch den Content an sich. Der Begriff Asset knüpft an diese Charakteristik von Content an und beschreibt jenen Content, welcher für einen gewissen Nutzer einen Nutzwert darstellt, für den er gegebenenfalls bereit ist, finanzielle Mittel zu dessen Beschaffung aufzuwenden. [Koop et al. 2001] In der Arbeit von Ashenden et. al wird eine der im obigen Absatz ähnliche Definition von Content dargestellt, welche jedoch bereits auf eine Verknüpfung zu Content Grundkonzepte 12 Management hinweist. Demzufolge entspricht Content all dem „[…] was elektronisch verwaltet werden kann oder auf Papier ausgedruckt werden kann.2“ [Ashenden et. al 2002a] Diese Definition beschreibt wie jene im obigen Absatz, dass Content auf einem Medium existieren muss und drückt durch die beschriebene Tätigkeit des Verwaltens bereits einen Bezug zu Content Management aus. Als Beispiele für Content nennen die zuletzt genannten Autoren eine zweizeilige Kurzmeldung mit einer Lebensdauer von zwei Stunden, oder ein kompletter Satz von Anleitungen, wie man eine Boing 777 baut, welcher ständig aktualisiert werden muss und eine Lebensdauer von mehreren Jahrzehnten haben kann. Diese beiden Beispiele verdeutlichen aussagekräftig, welche Größenunterschiede in Bezug auf Umfang oder Aktualität sich hinter dem Begriff Content verbergen können. Als weiteres Merkmal von Content beschreiben die Autoren Ashenden et. al eine gewisse Dynamik von Content, welche sich beispielsweise dadurch äußert, dass ein und derselbe Content verschieden visualisiert werden kann, z.B. auf einem WAP (Wireless Application Protocol) Handy oder einem Computerbildschirm. Content kann auch entstehen, indem mehrere Komponenten verlinkt werden, wobei sich diese Komponenten nach dem Zusammenstellen ändern können (z.B. ein Echtzeit Aktienkurs), womit der Content bei jeder neuen Betrachtung anders aussieht. [Ashenden et. al 2002a] Es sei darauf verwiesen, dass diese Aspekte der Verlinkung von Content und der damit möglichen mehrmaligen Verwendung eines Content-Objekts, nicht erstmals im Umfeld einer Diskussion rund um den Begriff Content erwähnt wurden, sondern bereits seit langem in der Literatur zu finden sind. In diesem Zusammenhang sei das Konzept der Transclusions – erstmals 1960 von Ted Nelson dargestellt – erwähnt. Transclusions sollen es ermöglichen, in einem neu erstellten Dokument einen genau definierten Bereich eines anderen Dokuments zu referenzieren. Die innovativen Gedanken hinter diesem Konzept sind, dass einerseits nicht das ganze Dokument referenziert werden muss, sonder auch nur Teile davon und andererseits sollen die Referenzen bidirektional sein, sodass auch der Besitzer des referenzierten Objekts weiß, wo Teile seines Dokuments wieder verwendet werden. [Krottmaier 2002] Die zuletzt erörterten Aspekte der Dynamik von Content sind ein wesentliches Differenzierungsmerkmal zwischen dem Begriff Content und Dokument. Die Autoren Rothfuss et al. beschreiben ein Dokument als eine geschlossene Inhaltsmenge – es hat einen Anfang, eine Reihenfolge und ein Ende und ist in dieser Form dauerhaft vorhanden [Rothfuss et al. 2001]. Dieser statische Charakter grenzt ein Dokument deutlich von Content ab, welcher aufgrund von Aktualisierungen oder Anpassungen sich ständig ändern kann. Koop et. al definieren den Begriff Dokument überhaupt nur als hinsichtlich des Medienformats spezifizierte Informationen, was durch Bezeichnungen wie „Word-Dokument“ oder „HTML-Dokument“ belegt wird. [Koop et al. 2001] „[…] anything that can be managed electronically or printed on a piece of paper.” [Ashenden et. al 2002a] 2 Grundkonzepte 2.2.2 13 Content Management Bei der Darstellung des Begriffes Content im vorherigen Abschnitt wurde bereits eine Definition von Content Management, als das Verwalten von Content, aufgezeigt. Ausgehend von dieser doch sehr knappen und kaum aussagekräftigen Darstellung soll in diesem Abschnitt der Begriff Content Management (CM) detailliert betrachtet werden. Die Autoren Rothfuss et. al geben in ihrer Arbeit eine sehr umfassend und allgemein gehaltene Definition von Content Management: „Unter Content Management verstehen wir die systematische und strukturierte Beschaffung, Erzeugung, Aufbereitung, Verwaltung, Präsentation, Verarbeitung, Publikation und Wiederverwendung von Inhalten. 3 “ [Rothfuss et al. 2001] Man sieht aus dieser Definition, dass es sich bei Content Management um weit mehr als nur die Verwaltung von Content handelt und erkennt, dass Content Management einen Vorgang darstellt, welcher aus einer Kette von intentionalen Handlungen besteht und damit den Prozesscharakter von Content Management verdeutlicht. Rothfuss et al. weisen darauf hin, dass die beschriebenen Vorgänge in dieser Definition an sich nicht die Verwendung von elektronischen Hilfsmitteln voraussetzen und nennen als ein Beispiel dafür einen traditionellen karteibasierten Schlagwortkatalog der wissenschaftlichen Bibliotheken. Diese Überlegungen sind allerdings eher theoretischer Natur, da heutzutage professionelles Content Management im Sinne eines flexiblen und ökonomischen Umgangs mit Content ohne Softwareunterstützung nicht mehr denkbar wäre. Dennoch sei darauf hingewiesen, dass der Erfolg eines solch komplexen Prozesses, welcher von der Beschaffung von Content bis hin zu dessen Publikation oder Wiederverwendung reicht, wesentlich durch Faktoren wie Planung, Implementation sowie Qualitätskontrolle bestimmt wird und daher der Software zwar eine wichtige operative Rolle zukommt, aber letztendlich nur das Mittel zum Zweck darstellt. [Rothfuss et al. 2001] Der Autor Wilhelm liefert eine Definition von Content Management, welche spezieller auf die Aufgaben von professionellem Content Management eingeht: „Content Management ist Handling digitaler Informationen in allen Prozessen bzw. Prozessschritten von der Entstehung bis zur Distribution und Verwendung. Planung, Steuerung und Produktion von digitalen Inhalten und Inhaltselementen erfolgt dabei in der Form, dass eine bedarfs- und benutzergerechte Aufbereitung von Informationen aus unterschiedlichen Quellen für unterschiedliche Medien erfolgen kann.“ [Wilhelm 2001] Diese Begriffsbestimmung weist unmissverständlich auf eine Softwareunterstützung von Content Management hin, indem von digitaler Information gesprochen wird und hebt wiederum den Prozesscharakter von Content Management hervor. Zusätzlich betont diese Definition als Anforderung von Content Management einerseits möglichst viele unterschiedliche Quellen bei der Content-Erfassung zu berücksichtigen und 3 Der Begriff „Inhalte“ kann in dieser Definition gleichbedeutend als Content verstanden werden. Grundkonzepte 14 andererseits Möglichkeiten zur Publikation von Content auf unterschiedlichsten Medien bereitzustellen, und dies unter der Prämisse, Content entsprechend den Benutzeranforderungen aufzubereiten. Nach dieser Darstellung präsentiert sich Content Management als eine Lösung für die am Anfang dieses Kapitels identifizierten Problemfelder (siehe Kapitel 2.1). Die Publikation für unterschiedliche Medien entspricht der zentralen Anforderung eines modernen Publikationsprozesses und die bedarfs- und benutzergerechte Aufbereitung des Content zeigt eine Vorgehensweise auf, welche es dem Informationssuchenden erleichtern soll, aus großen Mengen an Informationen das Wesentliche herauszufiltern. Der Prozesscharakter von Content Management erfordert eine Unterstützung durch alle Beteiligenten am Gesamtprozess, welche in keiner Weise als selbstverständlich erachtet werden kann. Um zum Beispiel die Distribution von Content auf unterschiedlichen Medien zu gewährleisten, ist eine strukturierte Beschaffung von Content notwendig, welche sich durchaus in einem Mehraufwand in der Erstellung, verglichen zu herkömmlichen Vorgehensweisen, niederschlagen kann. Prozessorientiertes Vorgehen verlangt jedoch eine Einhaltungen aller Zielsetzungen jedes einzelnen Prozessschrittes sowie ein Grundverständnis der Zusammenhänge aller Schritte, um den Erfolg des Gesamtprozesses zu garantieren. [Rothfuss et al. 2001] [Wilhelm 2001] Es ist daher von Bedeutung, nicht nur die technischen Aspekte von Content Management zu betrachten, sondern auch die beteiligten Menschen als wesentliches Kriterium für eine erfolgreiche Umsetzung von Content Management zu sehen. Die beteiligten Menschen, als das ausführende Organ der Prozesskette, müssen mögliche Änderungen durch die Implementation von Content Management verstehen, vom eventuell entstehenden Mehraufwand überzeugt sein, sowie die Ergebnisse der einzelnen Schritte gutheißen, um den Gesamtprozess zum Erfolg zu führen. [Rothfuss et al. 2001] [Wilhelm 2001] 2.2.3 Content Management Systeme In diesem Abschnitt wird der im Zusammenhang der vorliegenden Arbeit wichtigste Begriff Content Management System (CMS) erörtert. Im Anschluss an die Begriffsbestimmung erfolgt eine Darstellung einiger im Kontext von Content Management Systemen häufig genannter Begriffe. Im vorherigen Abschnitt wurde auf die Wichtigkeit, Content Management als menschenzentrierten Prozess zu sehen, hingewiesen. Um jedoch das Vorhaben von Content Management ökonomisch sinnvoll umzusetzen, ist eine Software Unterstützung nicht wegzudenken (siehe Kapitel 2.2.2). An dieser Stelle wird der Begriff Content Management System relevant. Die Autoren Koop et. al definieren den Begriff wie folgt: „Ein Content Management System ist ein IT-basiertes System zur Organisation, Verwaltung und Durchführung des Content Managements, letztendlich also nichts anderes als ein (elektronisches) Tool für Content Management.“ [Koop et al. 2001] Durch die Implementierung eines Content Management Systems soll die Einhaltung der Grundkonzepte 15 Zielsetzungen von Content Management sowie deren effiziente Umsetzung gewährleistet werden. Die logische Konsequenz aus diesen Anforderungen ist, dass der Aufwand für Content Management durch die Unterstützungen eines Content Management Systems im Vergleich zur Realisierung ohne Content Management System nachhaltig – nach eventuellen hohen Anfangsaufwendungen der Einführungsphase – gesenkt wird. [Koop et al. 2001] Die Autoren Rothfuss et. al bekräftigen in ihrer Arbeit, den Begriff Content Management System nicht mit Content Management zu verwechseln. CMS definieren die Autoren Rothfuss et al. als „[…] ein fertiges Stück Software, das die abstrakte Content Management Aufgabe in einer ganz bestimmten Weise mit programmtechnischen Mitteln zu lösen hilft.“ [Rothfuss et al. 2001] Ein Content Management System läuft in der Regel auf einem oder mehreren definierten Betriebssystemen, es hat eine Methodik, ein Leistungsspektrum und einen Zielmarkt. Da die abstrakte Content Management Aufgabe enorm viele Freiheitsgrade hat, sind Content Management Systeme für spezialisierte Aufgaben meist grundverschieden und da sich viele Parameter nicht gleichzeitig optimieren lassen, ist es kaum möglich, ein allumfassendes Universal-CMS zu finden. Ein Beispiel für Parameter, die nicht gleichzeitig optimiert werden können, sind einfache Erlernbarkeit versus hohe Leistungsfähigkeit. Häufig besteht ein CMS Gesamtsystem aus einer Reihe von optimierten Einzelprodukten, die gut zusammenarbeiten. [Rothfuss et al. 2001] Aufgrund der unterschiedlichen Ausprägungen von Content Management Systemen nehmen die Autoren Ashenden et al. eine funktionale Unterteilung in zwei Gruppen von Systemen vor, in Front-Office und Back-Office Systeme. Von einem Back-Office System spricht man, wenn der zu verwaltende Content innerhalb einer Organisation4 erzeugt wird und auch nur für diese eine Organisation relevant ist. Der Schwerpunkt solcher Systeme liegt auf einem einfachen transparenten Zugang zum Content, auf einer effektiven Content-Ablage und auf umfangreichen und leistungsfähigen Suchmöglichkeiten, um so die täglichen Arbeiten in der Organisation zu unterstützen und effizienter zu gestalten. [Ashenden et. al 2002a] Front-Office Systeme sind dagegen auf die professionelle Distribution des Content außerhalb der Organisation spezialisiert. Solche Systeme umfassen natürlich auch die systematische Verwaltung von Content innerhalb der Organisation, jedoch liegt der Schwerpunk am Publizieren des Content, um so ein möglichst großes Publikum außerhalb der Organisation anzusprechen. Beispielhafte Schwerpunktsetzungen wären das effektive Managen professioneller Websites zu ermöglichen oder eine Aufbereitung des Content für verschiedene Endgeräte zu gewährleisten. Diese Zweiteilung der Aufgabenschwerpunkte von Content Management Systemen lässt sich auf die am Anfang dieses Kapitels (siehe Kapitel 2.1) dargestellten Problembereiche abbilden. So wirken Back-Office Systeme in erster Linie der Informationsflut in Organisationen 4 Organisation steht hier allgemein für eine geschlossene Einheit, sei es eine Unternehmung, eine Gruppe oder eine Arbeitsgemeinschaft. Grundkonzepte 16 entgegen, indem sie Content verwalten und wiederauffindbar machen und Front-Office Systeme präsentieren sich als Lösung auf die Anforderungen eines modernen Publikationsprozesses. Ein ideales Content Management System sollte sowohl den Back-Office als auch den Front-Office Bereich abdecken. [Ashenden et. al 2002a] Die Recherchen zur vorliegenden Arbeit haben gezeigt, dass gewisse Begriffe immer wieder im Zusammenhang mit Content Management Systemen genannt werden, wobei oftmals die Abgrenzungen der einzelnen Begriffe nicht eindeutig zu erkennen sind. Um hier für Klarheit zu sorgen, werden im folgenden Abschnitt einige dieser Begriffe aufgelistet und im Kontext von Content Management Systemen erörtert. Es sei allerdings erwähnt, dass insbesondere die ersten drei Begriffe, noch in mehreren Abschnitten der vorliegenden Arbeit, im Kontext der Diskussion des Funktionsumfangs eines CMS, erörtert werden (siehe auch 6.4 oder 7.1.1). Dokument Management Systeme Bei Dokument Management Systemen (DMS) handelt es sich trivial ausgedrückt um die Vorläufer von Content Management Systemen. DMS sind bereits seit Jahrzehnten am Markt und erfüllen die Aufgabe, Dokumente zentral zu verwalten und zugänglich zu machen und sind grundsätzlich dem Back-Office Bereich zuzuordnen. Viele Content Management Systeme haben sich aus Dokument Management Systemen entwickelt, welche im Laufe der Zeit in ihrer Funktionalität gewachsen sind und auch bedingt durch aktuelle Marketingstrategien eine Namensänderungen von Dokument zu Content erfahren haben. Das Charakteristische am klassischen Dokument Management ist, dass die zu verwaltenden Dokumente im Wesentlichen als Black Box behandelt werden. Das DMS hat keinen Einfluss auf die innere Struktur oder Formatierung der Dokumente und nimmt auch keinerlei Einfluss auf die einzelnen im Dokument vorkommenden Inhalte (siehe Kapitel 2.2.1). Zu den wichtigen Aufgaben des klassischen Dokument Managements gehören auch das Erfassen von in Papierform vorliegenden Dokumenten und deren Langzeitarchivierung auf elektronischen Speichermedien. [Pelz-Sharp et. al 2002a] [Gulbins et al. 1999] [Krüger et al. 2002] Web Content Management Systeme Systeme, welche sich auf das professionelle Publizieren von Content auf Websites spezialisiert haben, werden auch als Web Content Management Systeme (WCMS) bezeichnet und sind demzufolge dem Front-Office Bereich zuzuordnen. Unachtsamkeit, aber zum Teil auch bewusst gesteuerte Marketinginitiativen sorgen im Umfeld dieses Begriffes oftmals für Missverständnisse. An Stellen, wo der Begriff Web Content Management System angebracht wäre, wird häufig nur mehr von Content Management Systemen gesprochen. Damit geht allerdings der deutliche Hinweis auf den Aufgabenschwerpunkt dieser Systeme verloren und man würde durchaus mehr Funktionalität von dem System erwarten, als es tatsächlich zu bieten hat. Es sei grundsätzlich darauf verwiesen, dass der Begriff Content Management System für sich alleine aufgrund der Komplexität des dahinter stehenden Prozesses kaum Grundkonzepte 17 Aufschluss auf den zu erwartenden Funktionalitätsumfang erlaubt, er sollte daher immer genauer erläutert werden. Allerdings sei auch erwähnt, dass gerade der Begriff Web Content Management System aufgrund des großen Internethypes und beeinflusst von Marketingüberlegungen, oftmals verwendet wird, um beispielsweise einem relativ simplen System ein professionelles Image zu geben. Ein System, welches kaum mehr als simple HTML Editiermöglichkeiten bietet, kann vielleicht dem Web-Bereich zugeordnet werden, aber bestimmt nicht als Web Content Management System bezeichnet werden. [Gersdorf 2000] [Krüger et al. 2002] [Rothfuss et al. 2001] Enterprise Content Management Systeme Als Enterprise Content Management Systeme (ECMS) werden Systeme bezeichnet, welche in großen Organisationen bzw. Großunternehmen imstande sind, sämtliche Anforderungen von Content Management zu erfüllen. Ein ECMS hat praktisch keinen spezifischen Schwerpunkt mehr, sondern bietet Lösungen im Back-Office sowie im Front-Office Bereich. Enterprise Content Management Systeme sollen den gesamten in einer Organisation vorhandenen Content erfassen und damit umgehen können, womit solchen Systemen in der Praxis ein wesentlicher Aspekt der Integration zukommt. Das Erschließen sämtlicher Content-Quellen verlangt oft die Kommunikation mit bereits bestehenden Altsystemen unterschiedlicher Hersteller, womit Enterprise CMS in erster Linie auf offene Standards und Plattformunabhängigkeit achten sollten. Wie auch schon beim vorherigen Begriff Web Content Management Systeme erwähnt, soll wiederum auf die mögliche ungerechtfertige Verwendung des Begriffes ECMS aufgrund von Marketingstrategien hingewiesen werden. Gerade diese sehr allgemeine Definition von ECMS, welche im Grunde besagt, dass ein solches System einfach alles kann oder können sollte, gibt in der Praxis sehr viele Freiheitsgrade und grenzt in keiner Weise den zu erwartenden Funktionsumfang ein. [Pelz-Sharp et. al 2002a] [Zschau 2001] Wissensmanagement Alle bisher im Kontext der Begriffsbestimmung von Content Management Systemen genannten Begriffe befinden sich mehr oder weniger auf einer Ebene. Sie sind alle der Informationstechnologie zuzuordnen und verfolgen Lösungsansätze zur Eindämmung der Informationsflut oder zur Effizienzsteigerung des Publizierens. Unter Wissensmanagement wird jedoch jene Disziplin verstanden, welche als primäres Ziel versucht, Wissen zugänglich und wieder verwendbar zu machen und bedient sich zu diesem Zweck auch der Informationstechnologie. [Rollett 2000] Der Autor Rollett weist jedoch in seiner Arbeit darauf hin, dass es bei Wissensmanagement nicht primär um Technologie geht. Ein Grund liegt darin, dass ohne entsprechende organisatorische Rahmenbedingungen, etwa dem Vorhandensein von einer Kultur des Zusammenarbeitens und von Prozessen des Wissenstransfers, jeder noch so aufwendige Technologieeinsatz erfolglos bleiben wird. Folglich besteht die Aufgabe von Wissensmanagement vor allem darin, eine Organisation für das Thema Grundkonzepte 18 Wissen zu sensibilisieren. Das soll natürlich nicht bedeuten, dass Technologie keine Rolle spielt. Die neuen Informations- und Kommunikationstechnologien haben Wissensmanagement in seiner heutigen Form erst möglich gemacht und ihr Potenzial ist noch nicht annähernd ausgeschöpft. [Rollett 2000] Wissensmanagement ist aber auch keine neue Disziplin, welche erst durch die Informationstechnologie möglich wurde. Wissen wurde schon immer in Organisationen weitergegeben, beispielsweise durch Ausbildungs- und Fortbildungsprogramme, Geschäftsroutinen, Berichte oder Handbücher. [Rollett 2000] Allerdings würde ein Wissensmanagement, das nur auf diesen oder ähnlichen Kommunikationswegen basiert, schnell ineffizient werden. Es kann festgehalten werden, dass die Informationstechnologie respektive die entsprechenden Techniken gleichzeitig Basis als auch Tool für Wissensmanagement sind. Eine mangelnde Systematik und Nichtbeachtung der Ziele von Wissensmanagement kann jedoch nicht durch eine IT-Unterstützung kompensiert werden, genauso wie eine schlechte IT-Unterstützung das Konzept eines guten Wissensmanagement-Ansatzes zum Scheitern bringt, erläutert der Autor Wildemann. Weniger auf Konzept- sondern auf Anwendungsebene erscheinen durch den Einsatz von Informationstechnologie zur Unterstützung des Wissensmanagement auch manche Problemfelder. Der Einsatz von IT-Systemen erleichtert die Produktion von Datenmüll, also nicht mehr genutzten Daten, oder den Aufbau von Redundanzen. Insbesondere die heutzutage zur Verfügung stehenden hohen Speicherkapazitäten (siehe Kapitel 2.1.1) erscheinen den Mitarbeitern einer Organisation unendlich groß und werden daher oft verschwendet. [Wildemann 2003] 2.3 Charakteristische Aspekte von Content Management Systemen Um die grundlegenden Betrachtungen in diesem Kapitel um das Thema Content Management Systeme abzuschließen, soll es das Ziel dieses Abschnittes sein, charakteristische Aspekte, wie Ziele, Grenzen oder die Anatomie des Content aufzuzeigen, welche für sämtliche Content Management Systeme gleichermaßen zutreffen. 2.3.1 Anatomie des Content Ein innovatives Content Management System behandelt Content als Summe von wesentlichen Einzelinformationen. Diese sind Struktur, Darstellungsform und Inhalt. Die bisher erörterten Anforderungen an Content Management wie Content auf unterschiedlichen Medien zu publizieren, Content benutzer- und bedarfsgerecht aufzubereiten oder Content für eine automatisierte Weiterverarbeitung zugänglich zu machen, erzwingen praktisch eine Zerlegung und getrennte Verwaltung dieser drei wesentlichen Bestandteile. Grundsätzlich weist jeder Content diese Dreiteilung auf, eine Grundkonzepte 19 Analyse dieser Anatomie des Content ist jedoch in vielen Fällen nur mit dem Auge des Betrachters möglich. Dies trifft beispielsweise genau dann zu, wenn Inhalte und Layoutanweisungen in einer Art und Weise vermischt werden, in der sie maschinell nicht mehr trennbar sind. [Schuster et al. 2000] Eine Trennung der drei Bestandteile von Content in einer Art wie sie auch maschinell nachvollzogen werden kann, gilt jedoch als Grundkonzept eines Content Management Systems und macht sinnvolles Content Management erst möglich. [Jablonski et. al 2002] Struktur Darstellung Dokument Templates, Typ Stylesheets Definitionen Rohdaten Inhalt Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..1: Trennung von Struktur, Inhalt und Darstellung [Schuster et al. 2000] Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..1 soll die Trennung von Struktur, Inhalt und Darstellung veranschaulichen. Die Struktur ist eine inhaltliche Definition der Einzelinformationen und ihrer Abfolge bzw. Verschachtelung. Eine Presseinformation besteht z.B. aus einer Überschrift, einem Publikationsdatum, einem Fließtext und einem Autor. Die Information Autor kann dabei wieder eine Struktur darstellen, die zum Beispiel aus Vor- und Nachnamen und Email Adresse besteht. Der Inhalt füllt die einzelnen Datenelemente der Strukturdefinition. Die Darstellung schließlich ist eine formale Beschreibung, mit deren Hilfe die Repräsentation auf einem Ausgabemedium realisiert wird. [Schuster et al. 2000] Ist diese Dreiteilung in maschinenlesbarer Form von Content gegeben, so ist es einfach möglich, die Darstellungskomponente zu ersetzen, um so verschiedene Visualisierungen des Content zu erhalten. Aufgrund des genauen Wissens über die Struktur des Inhalts ist es möglich, bei verschiedenen Visualisierungen nur eine bestimmte Teilmenge des Inhalts zu berücksichtigen5. Diese Überlegungen zur Trennung von Darstellung und Inhalt sind jedoch keine neuen Ansätze der Informationstechnologie. So wird bereits in der Arbeit von [Gamma et al. 5 Es sei an dieser Stelle u.a. auf Techniken wie XML und XSLT verwiese (siehe auch Kapitel 4.1.1). Grundkonzepte 20 1995] das in Smalltalk-80 verwendete Model-View-Controller-Paradigma zur Konstruktion von Benutzerschnittstellen beschrieben, welches ebenfalls auf den in diesem Abschnitt aufgezeigten Überlegungen basiert. Bei diesem Paradigma werden die eigentlichen Applikationsdaten in einem Model-Objekt gehalten und mehrere ViewObjekte übernehmen die Aufgabe, ein und dieselben Daten unterschiedliche zu präsentieren. Das Controller-Objekt übernimmt in diesem Zusammenhang die Funktion, den Benutzerdialog zu steuern. 2.3.2 Content Life Cycle Ein Content Management System verwaltet den Content idealerweise von der Generierung bis hin zu dessen Archivierung oder Entfernung aus dem System. In dieser Zeit durchläuft der Content in der Regel unzählige Arbeitsschritte, er wird erstellt, überarbeitet, kontrolliert oder publiziert [Ashenden et. al 2002a]. Zur übersichtlichen Darstellung dieser prozessorientierten Sachverhalte haben sich im Rahmen von Content Management Systemen Life Cycle Modelle etabliert, welche die einzelnen Arbeitsschritte in einem Content Management System verdeutlichen. Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..2 zeigt einen möglichen Content Life Cycle. Der Content wird von einem Autor bzw. Redakteur recherchiert und erstellt. Vor der Freigabe des Content bedarf es der Kontrolle durch andere Mitarbeiter, die sich über mehrere Stufen erstrecken kann. Ist die Kontrolle positive verlaufen, kann die Freigabe erfolgen und der Content zur Publikation weitergeleitet werden. Ist der Content nicht mehr aktuell, wird er zur Archivierung übermittelt. [Jablonski et. al 2002] Archivierung Recherche Publikation Erstellung Freigabe Kontrolle Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..2: Content Life Cycle [Jablonski et. al 2002] Diese Darstellung eines Content Life Cycle lässt bereits Benutzerrollen, wie Content Autor oder Content Begutachter erkennen, welche ein Content Management System im Sinne einer effektiven Implementierung eines Content Life Cycle unterscheiden und berücksichtigen soll. In diesem Zusammenhang wird im Whitepaper [Red Hat 2003] Grundkonzepte 21 eine grundsätzliche Unterscheidung in drei Gruppen von Benutzerrollen dargestellt. Die nicht-technischen Benutzer, dafür verantwortlich den Content einzugeben und qualitativ zu überprüfen, die technischen Benutzer, verantwortlich für die richtige Präsentation des Content ohne sich inhaltliche Gedanken machen zu müssen und die Manager oder Administratoren, deren wesentliche Aufgabe es ist, das CMS im Betrieb zu halten bzw. unternehmensspezifische Anpassungen vorzunehmen. Ein innovatives Content Management System sollte es ermöglichen, dass alle Benutzer ungestört am System arbeiten und die ihnen zugewiesenen Aufgaben erledigen können und dabei die Transparenz des Gesamtprozesses erhalten bleibt. 2.3.3 Ziele von Content Management Systemen Grundsätzlich lassen sich bereits aus den Erkenntnissen der vorangegangenen Abschnitte dieses Kapitels erste Zielsetzungen formulieren. Als Grundziel sollte jedes CMS die Anforderungen des Content Management erfüllen (siehe Kapitel 2.2.2), um so riesige Contentmengen übersichtlich zu organisieren sowie eine effektive Distribution bzw. Publikation von Content zu ermöglichen. Viele in der Literatur zu findenden Zielsetzungen beruhen auf diesem Grundziel, doch werden diese meistens noch durch ökonomische Überlegungen sowie Qualitätsaspekte erweitert. Ökonomische Zielsetzungen werden in der Arbeit von [Koop et al. 2001] dargestellt. Das heutige Wirtschaftsleben erfordert Geschwindigkeit in den diversen Abläufen und zugreifbare, nutzbare Information als Rohstoff. Letzteres ist davon abhängig, wie umfassend und integrativ in einer Organisation Content behandelt wird. Ziel einer Organisation ist es, Produktionsvorteile durch einen effizienten Umgang mit Content zu erzielen. Content Management ist die Basis für ein effektives Arbeiten mit Ausprägungen und Repräsentationen von Informationen bzw. Wissenszusammenhängen, und genau diese sind die Quelle jeder Entwicklung und damit jedes Umsatzes. Man möchte aber auch direkten Nutzen aus dem Content ziehen. Content kann vermarktet werden, er kann einen Preis haben. Der Preis könnte sich aus Faktoren wie Aktualität, Nutzwert, Relevanz oder der Reputation des Herausgebers ableiten. Um den Wert dieser Assets (siehe Kapitel 2.2.1) bestmöglich auszuschöpfen, sollte die Distribution der Assets möglichst schnell und zielgerichtet erfolgen, um für Aktualität und Relevanz zu sorgen. Die digitale Distribution, wie sie durch Content Management Systeme ermöglicht wird, ist daher ideal, da sie kostengünstiger und schneller ist als physische Logistik. [Koop et al. 2001] Die Autoren Jablonski et. al beschreiben die Ziele von Content Management Systemen als Optimierung des Publikationsprozesses sowie einer Effizienzsteigerung bei der Verwaltung von Content und stimmen somit im Wesentlichen mit dem am Anfang dieses Abschnittes formulierten Grundziels überein. Darüber hinaus verweisen selbige Autoren auf die Qualitätssicherung bzw. Qualitätssteigerung von Content, beispielsweise durch das strikte Einhalten des Content Life Cycle (siehe Kapitel 2.3.2) Grundkonzepte 22 und darüber hinaus soll natürlich durch die Realisierung sämtlicher Ziele eine Kosteneinsparung verwirklicht werden. [Jablonski et. al 2002] Im Whitepaper [Red Hat 2003] wird ein Beispiel dargestellt, wie durch ein CMS eine Verbesserung des Publikationsprozesses erreicht wird und so Kosten gesenkt werden können. Mittels eines CMS können verschiedene Content-Bearbeiter effizienter miteinander arbeiten und dies zumeist unabhängig von Ort und Zeit. Idealerweise hat jeder Beteiligte am CMS einen eigenen Rechner mit Netzwerkanschluss und bekommt die für ihn relevanten Aufgaben und Abgabetermine direkt zugewiesen. Durch diese übersichtliche Aufgabenverteilung soll den Beteiligten wertvolle Zeit eingespart werden. Die Autoren Ashenden et. al erörtern in ihrer Arbeit ebenfalls als wichtiges Ziel durch den Einsatz eines CMS die Kostenreduktion, betonen jedoch als weiteres wichtiges Ziel die Risikominimierung. Ein Content Management System soll Content nicht nur verwalten sondern auch Schutz vor unautorisiertem Zugriff oder Datenverlust bieten. Eine Einhaltung des Content Life Cycle soll sich nicht nur in einer Qualitätssteigerung bemerkbar machen, sondern auch garantieren, dass immer mit dem aktuellsten Content gearbeitet wird, sowie kein fehlerhafter, unvollständiger oder veralteter Content publiziert wird, wodurch möglicherweise Fehlentscheidungen initiiert werden können. [Ashenden et. al 2002a] Ein nicht unbedeutendes Ziel beim Einsatz von Content Management Systemen im Front-Office Bereich (siehe Kapitel 2.2.3) ist eine einheitliche und professionelle Visualisierung des Content. Wird der Content einer Organisation auf einer Website nach außen hin angeboten, so entsteht bereits durch die optische Aufbereitung der Website eine Kommunikationswirkung. Im Rahmen von Unternehmungen spricht man in diesem Zusammenhang von der Corporate Identity6. Viele Unternehmungen haben klare Vorgaben über die Corporate Identity, welche natürlich durch den Einsatz eines Content Management Systems gleich miterfüllt werden soll. Der Außenwirkung durch den Einsatz eines Content Management Systems kann im Unternehmensbereich eine durchaus bedeutende Rolle zukommen. Kunden, Lieferanten und Geschäftspartner erkennen die Vorteile, wenn ein Unternehmen einen umfassenden Ansatz im Umgang mit Content betreibt. Diverse Abläufe beschleunigen sich, Rückfragen werden seltener, die Geschäftsprozesse werden einfacher und effizienter. Die gewonnene Zuverlässigkeit und Kompetenz wird honoriert und äußert sich in einer verbesserten Wettbewerbsfähigkeit der Unternehmung. [Koop et al. 2001] 2.3.4 Grenzen von Content Management Systemen Wenn eine Organisation ein Content Management System einführen will, geht sie natürlich davon aus, dass sich dadurch mittel- oder langfristig neue Potenziale und 6 Kann sinngemäß übersetzt werden als "Identität eines Unternehmens", Unternehmenskultur oder Erscheinungsbild Grundkonzepte 23 Chancen ergeben. Man sollte aber immer kritisch hinterfragen, welche dieser neuen Potenziale und Chancen die Organisation wirklich nutzen kann bzw. welche Risiken entstehen können. Schlussendlich wirkt sich die Einführung eines Content Management Systems auf sämtliche Bereich einer Organisation aus. [Koop et al. 2001] Die Einführung eines Content Management Systems kann schnell sein Ziel verfehlen, wenn es beispielsweise so unflexibel ist, dass es nicht auf die Organisation oder seine spezifischen Anforderungen passt. Bringt ein CMS nur noch eine weitere Insellösung oder ein zusätzliches Organisationssystem mit sich, oder sprengt es den kostenmäßigen Rahmen, wird sich die Lösung auf Dauer nicht halten. Ein grundsätzliches Problem beim Einsatz von Content Management Systemen stellt die monetäre Bewertung des Erfolges durch den Einsatz des Systems dar, um etwa die Investition in diesem Bereich zu rechtfertigen. So lässt sich zum Beispiel eine Effizienzsteigerung durch verbesserte Suchmöglichkeiten schwer durch monetäre Größen abbilden. [Koop et al. 2001] Content Management Systeme bedeuten grundsätzlich keine sofortige Einsparung von monetären Mitteln. Gerade in der Anfangsphase können die Kosten für die Anschaffung von Software, Server und mögliche Anpassungen sehr hoch ausfallen. Man sollte ein Content Management System nie einzig und alleine unter dem Gesichtspunkt der sofortigen Kostenersparnis bewerten, schlagen die Autoren in [Krüger et al. 2002] vor7. Die Autoren Krüger et al. betonen in ihrer Arbeit ebenfalls, ein CMS nicht als die Universallösung sämtlicher Probleme anzusehen. Eine halbherzige Umsetzung eines CMS kann sich durch schlechte Akzeptanz und Performanceprobleme eher negative auswirken. Der Einsatz eines Content Management Systems bedeutet auch nicht, dass der Content jetzt automatisch aktuell ist und die Bedürfnisse der Benutzer genau trifft. Es bleibt letzten Endes immer die Aufgabe von Menschen, für Aktualität zu sorgen. So kann beispielsweise die Qualität eines Webauftritts technisch betrachtet durch ein CMS sehr wohl verbessert werden – ändert sich aber wochenlang kein Inhalt, kommt es zu Irritationen bei den Interessenten. Es kann durchaus vorteilhaft sein, eine strukturierte und aufwendig gestaltete Website zu betreiben, aber Erfolg ergibt sich in erster Linie aus aktuellen und interessanten Informationen kombiniert mit schnellem Zugriff. Content Management Systeme schaffen die Grundlage, sämtlichen Content erfolgreich zu managen und durch Automatisierungsfunktionen erheblich Personalkosten im technischen Bereich einzusparen. Diese Einsparung sollte man aber nutzen, um mehr Ressourcen für die inhaltliche Gestaltung einzusetzen, was den Erfolg des Gesamtsystems nur unterstützen kann. [Krüger et al. 2002] 7 Längerfristig muss sich natürlich eine Kostenersparnis ergeben, welche sich durch effizientere und kostengünstigere Arbeitsabläufe ergeben sollte. Grundkonzepte 2.4 24 Schlussbemerkung Ausgehend von einer Bedarfsanalyse für Content Management wurden in diesem Kapitel Content Management Systeme als eine informationstechnologische Möglichkeit identifiziert, mit der Informationsflut der modernen Welt umzugehen. Content Management Systeme kommen überall dort zum Einsatz, wo Content erzeugt, verwaltet oder publiziert wird, wobei in den bisherigen Darstellungen zumeist die Organisation als Einsatzort genannt wurde. Der Autor der vorliegenden Arbeit hat bewusst den Begriff Organisation gewählt um nicht, wie es meistens in der Literatur vorzufinden ist, Content Management Systeme sofort im Umfeld von Unternehmen zu platzieren. Vielmehr soll darauf hingewiesen werden, dass ein CMS überall dort, wo digitale Informationen organisiert werden müssen, zum Einsatz kommen kann, sei es eine Interessensgemeinschaft, ein Verein oder überhaupt nur zum Zwecke der persönlichen Datenorganisation. In den nachfolgenden Betrachtungen werden Content Management Systeme jedoch auf den Kontext von Unternehmungen eingeschränkt. Content Management Systeme im Unternehmensbereich haben nicht nur komplexe Anforderungen zu bewältigen, sondern auch entscheidenden Einfluss auf den Erfolg und die Konkurrenzfähigkeit der Unternehmung. Innovative Content Management Systeme sind keine Garant aber eine wichtige Grundlage für erfolgreiches Wissensmanagement und ermöglichen so den Unternehmungen, den für die Zukunft entscheidenden Produktionsfaktor Information bzw. Wissen effizient und zielgerichtet zu nutzen (siehe Kapitel 2.2.3). Mit welchen Anforderungen Content Management Systeme im Unternehmensbereich konfrontiert werden, verdeutlichen folgende Beispiele [Wildemann 2003] [Rothfuss et al. 2001] [Ashenden et. al 2002a]: Der Datenbestand eines Großunternehmens würde ohne Bereinigung täglich um etwa 3% steigen. Content Management Systeme müssen eine Trennung von wichtigen und unwichtigen Daten vornehmen. Unstrukturierte Inhalte machen bis zu 90% der Unternehmensdokumente aus. Unternehmungen verdoppeln fast alle zwei Jahre die Anzahl an produziertem Content. Dabei handelt es sich nicht nur um Rechnungen und Bestellungen sondern auch Emails, Handbücher, Marketingunterlagen, Datenblätter, Bilder, Internet- oder Intranet-Content. 3 Funktionen von Content Management Systemen Die Darstellungen im vorherigen Kapitel sind teilweise zu abstrakt, um Rückschlüsse auf die benötigten Funktionen für Content Management Systeme zu ziehen. Sie sind dennoch aus systematischen Gründen ausgesprochen nützlich, um die Funktionen von Content Management Systemen nicht nur auf technischer Ebene, sondern auch die Hintergründe zu verstehen, warum diese Funktionen zur Anwendung kommen. Ziel dieses Kapitels ist es, die oben genannten Funktionen von Content Management Systemen zu erörtern. Dabei soll der Schwerpunkt in diesem Kapitel auf die Kernfunktionen gelegt werden, ohne die ein sinnvoller Einsatz von Content Management Systemen nicht möglich wäre. Nach einer Identifikation und einer detaillierten Diskussion der Kernfunktionen wird ein Anforderungsprofil erstellt, um die wesentlichen Aspekte der einzelnen Kernfunktionen in einer kompakten Form zu veranschaulichen. Dieses Anforderungsprofil wird im Kapitel 5 der vorliegenden Arbeit dazu verwendet, die Entwicklungsumgebung Java 2 Platform, Enterprise Edition hinsichtlich der Möglichkeiten einer Umsetzung des identifizierten Anforderungsprofils zu erörtern sowie konkrete Implementierungen eines CMS basierend auf Java 2 Platform, Enterprise Edition zu evaluieren. 3.1 Allgemeines Zunächst ist es notwendig, eine Systematik zu identifizieren, welche die wesentlichen Funktionen eines CMS darstellt und als Basis einer Diskussion selbiger Funktionen verwendet werden kann. Zu diesem Zweck werden in diesem Abschnitt Erörterungen unterschiedlicher Autoren über die Funktionen eines CMS aufgezeigt. Eine detaillierte Auflistung aller möglichen Einzelfunktionen ist dabei nicht das Ziel, es sollen vielmehr die Hauptfunktionen durch Überbegriffe erfasst werden, welche die Menge der möglichen Funktionalitäten eines CMS in kompakter Form veranschaulichen. In der Arbeit von [Schuster et al. 2000] werden die wesentlichen Kernfunktionen, die ein CMS unterstützen sollte, in folgender Systematik erfasst: Erstellung von neuem Content (Definition der inhaltlichen Struktur des Content) Funktionen von Content Management Systemen 26 Editieren von bestehendem Content Entwicklung von Templates (unterschiedliche Visualisierung des Content) Benutzerverwaltung Qualitätssicherung und Freigabe (Workflow zwischen den einzelnen Berechtigungsgruppen) Steuerung (Release- und Verfallsdatenüberwachung inkl. Versionierung und eventueller Archivierung) Diese Darstellung lässt sich mit den im vorherigen Kapitel erarbeiteten Erkenntnissen in Verbindung bringen. Die drei zuerst dargestellten Funktionen, das Erstellen, das Editieren sowie die Möglichkeiten einer vielfältigen Distribution des Content durch das Entwickeln verschiedener Templates, verdeutlichen die einzelnen Prozessschritte des Content Management (siehe Kapitel 2.2.2). Die drei folgenden Funktionen, Benutzerverwaltungen, Qualitätssicherung und Steuerung realisieren die Einhaltung und Durchführung des Content Life Cycle (siehe Kapitel 2.3.2). Ähnlich ist auch die in der Arbeit [Pelz-Sharp et. al 2002b] dargestellte Gliederung der Funktionen eines CMS zu bewerten, wobei sich die folgende Systematik nicht nur auf essentielle Funktionen im Kontext von Content Management beschränkt, sondern auch notwendige Supportfunktionen mit einbezieht. Die Kernfunktionen eines CMS nach [Pelz-Sharp et. al 2002b] sind: Content Organisation (fundamentale Funktionen der Content-Ablage, um den weiteren Funktionen ein effektives Arbeiten mit dem Content zu ermöglichen) Content Erzeugung Content Publikation Content Kontrolle (Einhaltung des Content Life Cycle, Versionierung, Bearbeitungskonflikte, Zugriffssteuerung) Knowledge Management (Collaboration, Workflow, Suchmöglichkeiten) Integration (Anpassung an die Einsatzumgebung und Integration in bestehende Systeme) Administration Internationalisierung Die erste Funktion aus obiger Darstellung, Content Organisation, ist in der Darstellung der Arbeit [Schuster et al. 2000] nicht zu finden. Dies lässt sich dadurch begründen, dass diese Funktion nicht direkt für den Endbenutzer bestimmt ist, sondern fundamentale Anforderungen beschreibt, die in Hinblick auf die Funktionsweise des Content Management Systems relevant sind, um die effektive Implementierung der restlichen Funktionen zu gewährleisten. Die folgenden vier Hauptfunktionen von PelzSharp et. al umfassen im Wesentlichen die Funktionen aus der Sichtweise in [Schuster et al. 2000], wobei die ersten zwei Hauptfunktionen von Pelz-Sharp et. al, Content Erzeugung und Publikation, die ersten drei Funktionen von Schuster et al. Funktionen von Content Management Systemen 27 zusammenfassen und die letzten zwei Hauptfunktionen, Content Kontrolle und Knowledge Management, die letzten drei Funktionen der Sichtweise von Schuster et al. darstellen. Die letzten drei Hauptfunktionen der oben dargestellten Systematik aus der Arbeit [Pelz-Sharp et. al 2002b], Integration, Administration und Internationalisierung, sind wiederum in dieser Form nicht in der Darstellung von Schuster et al. zu finden. Dies lässt sich dadurch erklären, dass auf die Notwendigkeit dieser Funktionen nicht direkt aus der Definition von Content Management geschlossen werden kann, sondern der Einsatz eines CMS in einer großen internationalen Unternehmung eine Schwerpunktsetzung auf die drei zuletzt erläuterten Funktionen notwendig macht. Im Rahmen der vorliegenden Arbeit sollen auch diese Funktionen den Kernfunktionen zugeordnet werden. Mehrplatzfähigkeit Check-In Check-Out Bearbeitung Verifikation Anfragefunktionen Protokollfunktionen Verarbeitung Verwaltung strukturierte Speicherung von typisiertem Inhalt Metainformationen Zugangskontrolle Workflow Fremdformate Datensicherung Rollback Mehrsprachigkeit Massenoperationen Aggregierung Beziehungen Gestaltung Versionsverwaltung Aufzeichnung atomarer Änderungen Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..1: Funktion von Content Management [Rothfuss et al. 2001] Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..1 stellt die Funktionen eines CMS aus der Arbeit [Rothfuss et al. 2001] dar. Diese Sichtweise der Autoren folgt dabei nicht dem Weg, die Funktionen in einer kompakten Form zu gruppieren, sondern verdeutlicht sämtliche Einzelfunktionen, welche alle auf einer strukturierten Speicherung von typisiertem Inhalt aufbauen. Diese strukturierte Speicherung ist vergleichbar mit der postulierten Funktion Content Organisation aus der Sichtweise von Pelz-Sharp et. al, womit auf die Notwendigkeit verwiesen wird, fundamentale Funktionen für eine strukturierte Speicherung zur Verfügung zu stellen. Das Modell von Rothfuss et. al betont zugleich einen wichtigen Aspekt im Kontext einer strukturierten Speicherung, nämlich die zusätzliche Anreicherung des Content mit Metainformationen. Eine detaillierte Diskussion der dar- Funktionen von Content Management Systemen 28 gestellten Funktionen der Autoren Rothfuss et. al ist Schwerpunkt des nachfolgenden Abschnittes (siehe Kapitel 3.2) und soll daher an dieser Stelle unterlassen werden. Der detaillierte Überblick, den dieses Modell über den Funktionsumfang eines CMS gibt, dient jedoch als Basis für die nachfolgende Darstellung. Aufgrund der in diesem Abschnitt dargestellten Sichtweisen soll eine Systematik aufgezeigt werden, um sämtliche Funktionen eines CMS einer strukturierten Diskussion zu unterziehen. Tabelle Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..1 veranschaulicht diese Systematik und zeigt die identifizierten Kernfunktionen eines CMS. Diese identifizierten Kernfunktionen beruhen in erster Linie auf der Sichtweise der Autoren Pelz-Sharp et al., welche der Autor der vorliegenden Arbeit als äußerst kompakt und umfangreich erachtet. Nur die Funktion Knowledge Management soll in zwei Funktionen aufgespaltet werden, Information Retrieval und Collaboration, um eine mögliche Verwechslung mit der eigentlichen Bedeutung des Begriffs Knowledge Management (siehe Kapitel 2.2.3) vorzubeugen. Mit Information Retrieval soll das effiziente Suchen in Content berücksichtigt werden und mit Collaboration sollen Aspekte des gemeinsamen Arbeitens erfasst werden. Die Autoren Pelz-Sharp et al. verwenden den Begriff Knowledge Management in ihrer Systematik nur, um gewisse Funktionen eines CMS zu gruppieren, welche unter anderem im Hinblick auf ein effektives Knowledge Management relevant sein können. Kernfunktion [Schuster et al. 2000] Content Organisation Erzeugung Publikation Content Kontrolle Erstellung von neuem Content Editieren von bestehendem Content Entwicklung von Templates Internationalisierung Aggregierung und Beziehungen Verwaltung Bearbeitung und Verifikation Verarbeitung Gestaltung Versionsverwaltung Aufzeichnung atomarer Änderungen Datensicherung und Rollback Check-In und Check-Out Zugangskontrolle Anfragefunktionen Qualitätssicherung und Freigabe Workflow Mehrplatzfähigkeit Fremdformate Benutzerverwaltung Massenoperationen Protokollfunktionen Mehrsprachigkeit Integration Administration Steuerung Information Retrieval Collaboration [Rothfuss et al. 2001] Tabelle Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..1: Kernfunktionen eines CMS Funktionen von Content Management Systemen 29 Die Darstellungen in den Arbeiten [Schuster et al. 2000] sowie [Rothfuss et al. 2001] lassen sich auf die identifizierten Kernfunktionen abbilden, womit die Vollständigkeit der erarbeiteten Systematik belegt werden soll. Die Gegenüberstellung der Funktionen der Modelle und eine geeignete Zuordnung wird ebenfalls in Tabelle Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..1 dargestellt. Die Funktionen des Modells in [Rothfuss et al. 2001] lassen sich auf alle Kernfunktionen übertragen, während die Systematik von [Schuster et al. 2000] nicht sämtliche Kernfunktionen abdeckt (siehe auch die oben geführte Diskussion zwischen der Systematik von Schuster et al. und Pelz-Sharp et. al). 3.2 Kernfunktionen Das Ziel dieses Abschnittes ist es, die in Tabelle Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..1 dargestellten Kernfunktionen im Detail zu erörtern, um so die Identifikation des nachfolgenden Anforderungsprofils zu ermöglichen. 3.2.1 Content Organisation Mit Content Organisation werden sämtliche Funktionen der Content-Speicherung umfasst, die es den restlichen Funktionen eines Content Management Systems ermöglichen sollen, effektiv und zielgerichtet mit dem Content arbeiten zu können. Zunächst wird jene Funktion erörtert, deren Wichtigkeit bereits in der Erläuterung der Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..1 zum Ausdruck kam (siehe Kapitel 3.1), die Verknüpfung des Content mit zusätzlichen Attributen bzw. Metadaten. Im Anschluss werden noch Aspekte der Verlinkung von Content-Komponenten diskutiert, sowie Grundlagen der Datenhaltung erörtert. Attribute Eine der wesentlichsten Merkmale eines CMS ist seine Fähigkeit zur Anreicherung der verwalteten Content-Objekte mit zusätzlicher Information. Diese Information wird Attribut bzw. Metainformation genannt, weil sie Information über Informationen repräsentiert. [Rothfuss et al. 2001] Die Verwendungen von Content-Attributen lassen sich in drei Kategorien einteilen [Pelz-Sharp et. al 2002b]: Content effektiver durchsuchen zu können Den Content mit Regeln zu versehen im Sinn einer Kontrolle über den Content, z.B. Zugriffsrechte Den Content mit Status-Informationen zu versehen Attribute finden sich grundsätzlich in jedem innovativen Content Management System, es gibt jedoch entscheidende Unterschiede in der Erweiterbarkeit und Flexibilität, mit der Attribute vom CMS behandelt werden. Grundsätzlich wird zwischen zwei Arten Funktionen von Content Management Systemen 30 von Metainformationen unterschieden, vordefinierte Metainformationen, die schon vom Hersteller in das CMS eingebaut sind und benutzerdefinierte Metainformationen, die der Benutzer des Systems wahlfrei nach seinen Bedürfnissen einrichten kann. [Rothfuss et al. 2001] Vordefinierte Attribute stellen sich in zwei großen Gruppen, nämlich in Klassifizierungsinformationen und in Verwaltungsinformationen, dar. Zu den Klassifizierungsinformationen zählen unter anderem Objekttypen, Thema, Zweck oder zugehörige Schlagwörter. Verwaltungsinformationen sind beispielsweise Bearbeiter, Eigner, Tag der letzten Änderung oder Status und sind meistens durch eine starke Verknüpfung mit dem Content Life Cycle charakterisiert, wodurch sie im Regelfall untrennbar in die Funktionsweise des CMS integriert sind. Die benutzerdefinierten Attribute können hingegen eine so vielfältige Struktur bzw. Funktion haben, dass man keine generellen Aussagen über sie treffen kann. Ein leistungsfähiges CMS sollte möglichst flexibel in der Gestaltung benutzerdefinierter Attribute sein, indem beispielsweise der Wertebereich eines Attributs eingeschränkt werden kann oder das Vorhandensein eines Attributes als optional oder verpflichtend definiert werden kann. [Pelz-Sharp et. al 2002b] Innovative CMS erlauben auch die Definition von Typen, womit ein ganzer Satz von Attributen verstanden wird, welcher auf Content-Objekte eines bestimmten Typs angewendet werden kann. Man kann wiederum eine Unterscheidung in vom System vorgegebene Typen und vom Benutzer selbst spezifizierte Typen vornehmen, wobei leistungsstarke CMS zusätzlich noch die Möglichkeit bieten, Typen hierarchisch zu verwalten, womit Vererbungskonzepte, wie sie aus der objektorientierten Programmierung bekannt sind, umgesetzt werden. [Pelz-Sharp et. al 2002b] Komponenten und Linkmanagement In der Begriffsbestimmung von Content (siehe Kapitel 2.2.1) wurde bereits jene Charakteristik erläutert, dass Content aus mehreren Einzelinformationen bzw. Komponenten zusammengesetzt sein kann. Dieses Konzept lässt sich beispielsweise anhand einer HTML-Seite verdeutlichen. Die HTML-Seite kann als eine zusammengesetzte Komponente aufgefasst werden und beinhaltet im nichttrivialen Fall mehrere Bilder, Tabellen, eine Anzahl von Textblöcken oder ein Java-Applet, welche man wiederum als einzelne Content-Komponenten bezeichnen kann. Eine zusammengesetzte Komponente, wie die HTML-Seite aus dem eben dargestellten Beispiel, wird auch als ein Container Objekt bezeichnet. Bei Content-Komponenten hingegen, welche vom CMS nicht mehr weiter aufgespaltet werden können und daher als Black Box behandelt werden, spricht man von Inhaltsatomen. [Pelz-Sharp et. al 2002b] [Rothfuss et al. 2001] Funktionen von Content Management Systemen 31 Folgende Charakteristiken beschreiben das Komponenten-Konzept innerhalb eines CMS [Rothfuss et al. 2001]: Ein Container Objekt kann aus Inhaltsatomen, aber auch aus weiteren Containern zusammengesetzt sein. Komponenten können daher rekursiv ineinander verschachtelt sein. Ihre Bestandteile speichert die ideale Komponente nicht in sich selbst, vielmehr verwaltet sie nur Referenzen auf die eigentlichen Objekte. Die Unterscheidung zwischen Container Objekt und Inhaltsatom ist rein funktional. Strukturelle Informationen einer Komponente, welche für das CMS unmittelbar nicht zugänglich sind, können durchaus von einer externen Applikation verstanden und interpretiert werden. Die Effektivität dieses Konzepts ist maßgebend von der Leistungsfähigkeit der Formulierung von Beziehungen zwischen den Komponenten determiniert. Hyperlinks, wie sie auf HTML-Seiten zum Einsatz kommen, sind das klassische Beispiel zur Formulierung solcher Beziehungen und verdeutlichen, wie zusammengesetzte Komponenten entstehen. Hyperlinks an sich sind jedoch sehr unflexibel in ihrer Anwendungen, da das Konzept der Hyperlinks beispielsweise beim Löschen eines Objekts ein Aktualisieren entsprechender Links auf dieses Objekt nicht vorsieht, mit der Konsequenz, dass Hyperlinks auf nicht mehr existierende Objekte verweisen können. Es ist jedoch die Aufgabe eines innovativen CMS, ein effektives Linkmanagement zu implementieren, welches auch beim Verschieben und Löschen von Content-Objekten die Konsistenz der Links bzw. Beziehungen gewährleistet. [Pelz-Sharp et. al 2002b] [Rothfuss et al. 2001] Ein vollständiges und konsequentes Linkmanagement ist natürlich nur dann möglich, wenn das CMS die Kontrolle über den Content hat und ist daher nur innerhalb des Systems durchgängig realisierbar. Referenzen zu externen Quellen können jedoch durch regelmäßige automatisierte Überprüfungen auf Gültigkeit getestet werden und helfen so den Administratoren des Systems, für die Aktualität sämtlicher Links zu sorgen. [PelzSharp et. al 2002b] Datenhaltung Die Datenhaltung bei Content Management Systemen kann zum Teil sehr komplexe Formen annehmen, um die in diesem Abschnitt diskutierten Konzepte wie Attribute und Komponenten zu implementieren. Aufgrund dieser Komplexität und aus Gründen einer sicheren und dauerhaften Datenablage ist die Verwendung eines Datenbankmanagement-Systems (DBMS 1 ) anzuraten. Konzepte wie Systemsicherheit, Datensicherheit oder Skalierbarkeit sind in solchen Systemen zumeist integriert und fallen so nicht in den Aufgabenbereich von CMS. Beim Einsatz der Datenbank hat der Entwickler die Wahl, entweder auf größtmögliche Flexibilität und Unabhängigkeit zu setzten oder aber 1 Database Management System Funktionen von Content Management Systemen 32 eine spezielle Plattform zu bevorzugen und möglichst viele ihrer Funktionen auszunutzen. Es ist jedoch ratsam, bei der Anbindung eines CMS an eine Datenbank auf die Verwendung offener Standards zu achten, um so die Programmierung und den Einsatz des CMS möglichst unabhängig von dem schlussendlich verwendeten DBMS zu gestalten. Das Ausnutzen spezifischer Funktionen der DBMS kann zwar Performance Vorteile mit sich bringen, Unabhängigkeit und offene Standards erleichtern jedoch die Integration des Systems an den unterschiedlichen Einsatzorten. [Krüger et al. 2002] Die meisten Systeme legen den Content in relationalen Datenbanken ab, vereinzelt kommen auch objektorientierte Datenbanken zum Einsatz. Letztere leiden noch immer unter dem entscheidenden Nachteil der Performance, haben aber den Vorteil, dass sich der Gedanke der Objektorientierung auch in der Datenbank fortsetzt, was bei der Programmierung von Content Management Systemen ein Vorteil sein kann. Diese Aspekte sind jedoch hauptsächlich für die Entwickler bzw. Administratoren des CMS von Bedeutung und bleiben dem Endwender zumeist verborgen. [Krüger et al. 2002] [Jablonski et. al 2002] In diesem Zusammenhang sei auch auf die Entwicklung neuer XML Datenbanken verwiesen, deren Bedeutung durch die innovativen Möglichkeiten beim Einsatz von XML im Kontext von Content Management Systemen immer wichtiger wird (siehe Kapitel 4.1.1). Problematisch, insbesondere bei Datenbankmanagement-Systemen, erweist sich das Ablegen von großen Objekten, wie Bilder, Töne und Videos. Deswegen haben sich auch Hybridformen etabliert, welche aus einer Kombination von Datenbank und dateisystembasierten externen Dateien bestehen. Die Datenbank kontrolliert dabei den Zugriff auf die zumeist multimedialen externen Dateien. Es sei jedoch darauf verwiesen, dass durch diese Vorgehensweise die zu Anfang dieses Abschnittes bereits erläuterten Vorteile eines DBMS, wie Datensicherheit oder Skalierbarkeit, durch das Einbeziehen externer Dateien zum Teil verloren gehen. Das Ablegen sämtlicher Daten in einem Datenbankmanagement-System ist daher vorzuziehen, was von modernen DBMS bereits unterstützt wird, wobei allerdings mit einem deutlich höheren Ressourcenbedarf zu rechnen ist. [Rothfuss et al. 2001] 3.2.2 Erzeugung Ein Content Management System soll den Anwendern komfortable Möglichkeiten bieten, neuen Content in das System einzubringen bzw. Content zu bearbeiten, wobei das CMS zwangsläufig die Anatomie des Content (siehe Kapitel 2.3.1) berücksichtigen sollte. Neuer Content soll in einer Form in das System eingebrachte werden, in der ein maschinelles Unterscheiden der drei wesentlichen Einzelinformation von Content – Struktur, Darstellungsform und Inhalt – möglich ist. Die Struktur liegt beispielsweise in Form einer Document Type Definition oder eines Datenbankschemas vor und ein Editiertool greift darauf zu, um ein entsprechendes Formular aufzubauen und so das Ändern, Neuerstellen und Löschen von Content zu ermöglichen. [Jablonski et. al 2002] Funktionen von Content Management Systemen 33 Die Publikation von Content erfolgt idealerweise über Templates, welche die anwendungsspezifische Visualisierung des Content ermöglichen, sofern die maschinelle Erfassbarkeit der Anatomie des Content gegeben ist. In der Arbeit von [Gruhn et al. 2000] wird jedoch darauf hingewiesen, dass durch Templates leider allzu oft eine Vermischung von Struktur und Darstellung erfolgt. Dies äußert sich meist dadurch, dass der Content in derselben Darstellungsform eingebracht und gepflegt wird, wie er auch publiziert wird. Eine fortschrittliche Form der Contentpflege bedeutet allerdings, dass die Inhalte völlig unabhängig von ihrem Layout verändert werden können. Das Template soll nur für ein gewisses Ausgabemedium festlegen, welche Informationen dargestellt werden sollen und wie sie formatiert werden. Diese klaren Grenzen werden jedoch nicht von allen Content Management Systemen eingehalten und äußern sich dadurch, indem man um strukturelle Änderungen vorzunehmen, ein Template modifizieren muss. [Gruhn et al. 2000] Es lassen sich zwei Klassen von Werkzeugen zum Editieren des Content unterscheiden, nämlich browserbasierte und anwendungsspezifische Clients. Ersteres ist zu bevorzugen, da es die Administrationskosten für die Clientrechner senkt und den Zugriff von beliebigen Rechnern mit Internetanbindung ermöglicht. [Jablonski et. al 2002] Grundsätzlich kann ein CMS zur Bearbeitung von Content auch ein externes Bearbeitungsprogramm integrieren. Dabei verliert aber meistens das CMS die Kontrolle über die Bearbeitungsschritte und Funktionalitäten wie Protokollierung oder Roll Back gehen verloren. Die Alternative ist die Implementierung eines eigenen Editors, was allerdings bei einer Unterstützung mehrere Datenformate nicht immer zielführend ist. Als Brücke zwischen den Applikationen wird häufig ein gemeinsames Datenformat benutzt, beispielsweise XML, RTF oder PDF. Das CMS übergibt bei dieser Vorgehensweise die Inhalte an den externen Editor und erhält sie nach Bearbeitung wieder zurück. Anschließend analysiert es die Änderungen und sorgt für die Konsistenz innerhalb des CMS. [Rothfuss et al. 2001] 3.2.3 Publikation Für die Publikation eines Content Management Systems ist es wichtig, ein und denselben Content in möglichst unterschiedlichen Formen für unterschiedliche Medien aufzubereiten. Dies geschieht in der Regel durch die Definition verschiedener Templates, die den Content je nach Anforderung unterschiedlich visualisieren (siehe auch Kapitel 3.2.2). In der heutigen Zeit überwiegen die elektronischen Medien, wobei die Publikation im Internet bzw. Intranet eine sehr bedeutende Rolle einnimmt. Die Bedienung des Mediums Papier ist aber immer noch von Relevanz und verlangt eine Aufbereitung des Content, sodass er auch für den Druck geeignet ist [Pelz-Sharp et. al 2002b]. Die Anforderungen an eine Publikation auf Websites sind durch eine zunehmend individualisierte Darstellung für die Benutzer charakterisiert, wodurch sich die Notwendigkeit ergibt, dies durch eine eigene Personalisierungsfunktion innerhalb des CMS zu berücksichtigen. Funktionen von Content Management Systemen 34 Eine Personalisierung auf Websites ist insbesondere im Front-Office Bereich von Bedeutung, um den präsentierten Content den Präferenzen der Benutzer anzupassen. Der Vorgang der Personalisierung kann in die drei Bestandteile „Profiling und Tracking“, „Matchmaking“ und „Channeling“ unterteilt werden. Unter Profiling versteht man das Sammeln von Nutzerdaten, wobei eine Identifikation des Benutzers gegeben sein muss. Interessante Nutzerdaten wären zum Beispiel, welche Bereiche der Website besonders oft betrachtet wurden oder nach welchen Begriffen innerhalb der Site gesucht wurde. Die so gesammelten Daten bilden das Profil des Benutzers und werden anschließend mit dem vorhandenen Content verglichen („Matchmaking“). Schließlich kann dem Benutzer passender Content präsentiert werden, sofern der Benutzer vom System authentifiziert ist. Idealerweise biete ein CMS auch Möglichkeiten zur manuellen Pflege und Betreuung der identifizierten Nutzerprofile. [Jablonski et. al 2002] [Gruhn et al. 2000] 3.2.4 Content Kontrolle Um beispielsweise Workflow oder Collaboration zu ermöglichen, bedarf es Funktionen, die es erlauben, Content kontrolliert zu behandeln. Diese benötigten Funktionen sollen im folgenden Abschnitt erörtert werden. Zugriffskontrolle Durch eine Zugriffskontrolle soll der Content innerhalb des CMS einerseits vor einem unerlaubten Zugriff geschützt und andererseits soll für registrierte Benutzer des Systems geregelt werden, wer mit dem Content was machen darf. Die Zugriffskontrolle innerhalb eines Content Management Systems ist zumeist wesentlich feiner, als sie beispielsweise durch ein Betriebssystem gegeben ist. Dies begründet sich wie folgt [Pelz-Sharp et. al 2002b]: Ein innovatives CMS vergibt auch Rechte auf Funktionen, wie zum Beispiel Versionierung oder Check-Out. Das Rechtesystem unterscheidet zumeist auch zwischen Attributen und dem eigentlichen Content. Zusammengesetzte Content-Komponenten können durch verschiedene Zugriffsrechte der einzelnen Komponenten charakterisiert sein. Die Implementierung einer Zugriffskontrolle setzt natürlich eine Benutzerverwaltung voraus, um die Benutzerrollen (z.B. Ersteller), Benutzergruppen und Benutzer anzulegen und mit den entsprechenden Rechten zu assoziieren. Das CMS sollte, um seine Benutzer nicht mit unnötigen Informationen zu konfrontieren, einem Benutzer immer nur jenen Content und Funktionen anbieten, die mit den bestehenden Benutzerrechten tatsächlich zugänglich sind. Content Management Systeme sollten grundsätzlich möglichst intuitiv und flexibel in der Vergabe der Rechte sein. Die Rechte sollten zum einen in jeder möglichen Kombination anwendbar sein, aber es macht beispielsweise auch keinen Sinn, einen Content löschen zu dürfen, wenn man ihn nicht Funktionen von Content Management Systemen 35 einmal ansehen darf. Das Rechtesystem eines CMS sollte aber nicht in einer Komplexität ausarten, in der die Nachvollziehbarkeit für den Anwender zur Herausforderung wird. [Pelz-Sharp et. al 2002b] [Rothfuss et al. 2001] Die Zugriffskontrolle eines CMS ist natürlich immer nur so gut wie die Authentifikation der Benutzer gegenüber dem System, womit sich die Notwendigkeit für entsprechend sichere Mechanismen der Authentifikation ergibt. Innovative CMS sollten auch weitere Sicherheitsaspekte, wie Möglichkeiten zur verschlüsselten Übertragung oder eine Einschränkung des Benutzerkreises anhand von zulässigen IP Adressen implementieren. Innerhalb einer Unternehmung müssen sich die Mitarbeiter neben dem CMS zumeist an weiteren Systemen anmelden. Um unnötige doppelte Anmeldungen zu vermeiden und somit ein „Single Sign-on“ zu ermöglichen, sollte es eine Unterstützung für Directory Services gegeben. Das Lightweight Directory Access Protocol (LDAP) ist in diesem Zusammenhang ein verbreiteter Standard und sollte von innovativen CMS unterstützt werden. [Jablonski et. al 2002] Check-In und Check-Out Unter dem Aspekt der Mehrplatzfähigkeit sind Mechanismen nötig, welche den Content vor einer gleichzeitigen Bearbeitung von mehreren Personen schützen. Dazu ist ein Check-In und Check-Out Mechanismus notwendig, der es erlaubt, einen bestimmten Content zur Bearbeitung zu reservieren. Der Content wird durch ein Check-Out markiert und kann weiterhin von jedem Benutzer, mit den entsprechenden Rechten, betrachtet werden, er ist jedoch vor jeder Modifikation geschützt, außer durch jenen Benutzer, welcher den Check-Out initiiert hat. Ist der Benutzer mit seinen Veränderungen fertig, wird der Content durch ein Check-In wieder freigegeben. [Jablonski et. al 2002] Alternativ dazu könnte ein bestimmter Content auch temporär gesperrt werden. Der Vorteil von Check-In und Check-Out ist allerdings die Asynchronität des Verfahrens. Ein ausgecheckter Content kann unabhängig vom CMS bearbeitet werden. Dagegen ist Sperren ein synchroner Prozess, der Benutzer muss also während der Dauer des Bearbeitens am System angemeldet sein. [Rothfuss et al. 2001] Manche Content Management Systeme erlauben auch ein mehrfaches Check-Out, was jedoch mehrfache Veränderungen unterschiedlicher Autoren an ein und demselben Content zur Folge haben kann. In diesem Fall muss das System umfangreiche Vergleichs- und Vereinigungsfunktionen bereitstellen, um mit eventuellen parallelen Veränderungen richtig umgehen zu können. [Pelz-Sharp et. al 2002b] Versionierung Wie im Rahmen der Diskussion des Content Life Cycle (siehe Kapitel 2.3.2) gezeigt wurde, durchlaufen die Inhalte eine Entwicklung bei der sie veraltern, überarbeitet und schließlich archiviert werden. Ein CMS muss daher Content in verschiedenen Versionen verwalten können, wobei das Anlegen einer neuen Version zumeist mit einem CheckIn verbunden ist. Content Management Systeme unterscheiden sich jedoch in der Funktionen von Content Management Systemen 36 Strenge mit der Versionen angelegt werden. In der striktesten Variante gibt es kein Überschreiben bestehender Versionen, jede Änderung impliziert eine neue Version. Es soll auch die Möglichkeit einer Roll-Back Funktion geben – ein Zurückschalten auf vorausgegangenen Content. Ein Rollback kann dabei mehr oder weniger granular implementiert sein, vom globalen Zurückdrehen aller Änderungen zu einem bestimmten Zeitpunkt der Bearbeitung bis hin zu atomaren Änderungen an genau bestimmten Teilobjekten. Die Granularität ist aber höchstens so groß wie die verfügbaren Protokolldaten. Im Extremfall müsste eine Protokollierung jeder atomaren Interaktion mit der Datenhaltung, zusammen mit Datum, Zeit und Benutzer, erfolgen. [Rothfuss et al. 2001] [Jablonski et. al 2002] Verschiedene Funktionalitäten haben sich im Bereich der Versionierung bereits etabliert, welche sich in einem CMS sinnvoll einsetzen lassen. Dies wäre zum Beispiel der im vorherigen Abschnitt bereits erläuterte Check-In und Check-Out Mechanismus, welcher für die Arbeit im Team nahezu unerlässlich ist. Ein weiteres Konzept wären Labels, worunter eine logische Gruppierung verstanden wird, die Versionsstände unterschiedlicher Dateien zusammenführen soll. Dies ist beispielsweise von Relevanz, wenn nicht immer die aktuellsten Versionen des Content publiziert werden sollen, sondern auch alternative Varianten angeboten werden sollen, welche sich aus ContentKomponenten unterschiedlicher, teilweise bereits überarbeiteter Versionen, zusammensetzten.[Pelz-Sharp et. al 2002b] Hilfreich kann auch das Branching sein, worunter die Möglichkeit verstanden wird, aus einer Ursprungsversion mehrere unterschiedliche Entwicklungszweige zu eröffnen. Dementsprechend macht das Branching auch Mechanismen zum Zusammenführen der in den einzelnen Zweigen erstellten Änderungen notwendig. Sinnvoll wäre auch eine Schnittstelle der Versionisierungskomponente nach außen hin. In diesem Zusammenhang sei beispielsweise das Web-based Distributed Authoring and Versioning2 (WebDAV) Protokoll erwähnt, eine standardisierte Erweiterung des HTTP Protokoll, mit dem Ziel, das gemeinschaftliche Editieren und Verwalten von Dokumenten auf einem Web Server zu ermöglichen. [Voigt 2001] Archivierung Im Rahmen der Diskussion des Content Life Cycle (siehe Kapitel 2.3.2) sowie der Versionierung im obigen Abschnitt, wurde bereits der Begriff Archivierung erwähnt. Die Anforderungen an eine effektive digitale Archivierung sind jedoch weitaus komplexer, als das man Archivierung als Teilfunktion einer Versionierungskomponente abhandeln könnte. Grundsätzlich dient die digitale Archivierung der langfristigen, sicheren und authentischen Speicherung von Daten, Informationen, Dokumenten oder Content. Unter langfristig versteht man in diesem Zusammenhang zumindest einen Zeitraum von 10 Jahren. Der wesentliche Aspekt am Archivieren ist, das wichtiger Content in einer Form abgelegt wird, in der es sichergestellt ist, dass der langfristige 2 Siehe http://www.webdav.org/ Funktionen von Content Management Systemen 37 Zugriff auch in Zeiten ständiger Technologiewechsel und Weiterentwicklungen gewährleistet ist. [Prenn et al. 2002] [Kampffmeyer 2003] Diese Anforderungen bedeutet weit mehr, als nur eine weitere Version eines Content innerhalb des CMS anzulegen. Archivierter Content liegt idealerweise in einer Form vor, in der ein langfristiger Zugriff auf den originalgetreuen Inhalt und dessen Formatierung, auch ohne den Einsatz eines speziellen CMS möglich ist. Eine Archivierung muss eine möglichst gute Interoperabilität aufweisen, um mit existierenden und zukünftigen Technologien möglichst gut zusammenarbeiten zu können. [Prenn et al. 2002] [Kampffmeyer 2003] Bedingt wird eine anspruchsvolle Archivierung nicht nur durch ökonomische Überlegungen, um Content, welcher zum Teil mit erheblichen Kostenaufwand erstellt wurde, für die Unternehmung in einer sichern Art und Weise abzulegen, sondern auch immer mehr durch gesetzliche Verpflichtungen. Das Archivieren und Bereitstellen steuerrelevanter Informationen beispielsweise, wird in Deutschland durch die „Grundsätze zum Datenzugriff und zur Prüfbarkeit digitaler Unterlagen 3 “ (GDPdU) geregelt [Prenn et al. 2002]. Die Implementierungstiefe einer Archivierungsfunktion innerhalb des CMS kann unterschiedlich gestaltet sein, beispielsweise in der Frage, ob archivierter Content überhaupt noch durch das CMS zugänglich bzw. auffindbar ist oder komplett getrennt vom CMS archiviert wird. Aufgrund der Komplexität dieser Funktion könnte es auch zweckmäßig sein, diese Funktion in eine eigene Komponente auszulagern oder sogar durch die Integration eines zusätzlichen externen Systems abzudecken. 3.2.5 Information Retrieval Entscheidend für die Effizienz eines Content Management Systems ist nicht nur, in welchem Umfang das CMS seinen Content strukturieren und kontrollieren kann, sondern in welchem Ausmaß der verwaltete Content auch wieder auffindbar ist. Innovative CMS sollen effektive Suchalgorithmen auf der Basis des Content, seiner Attribute und Struktur bieten und dabei dem Endanwender eine möglichst große Flexibilität anbieten [Koop et al. 2001] [Pelz-Sharp et. al 2002b]. Die Betrachtungen in diesem Abschnitt konzentrieren sich ausschließlich auf textuelle Suchen. Heutige CMS müssen jedoch in immer größerem Umfang mit multimedialen Content umgehen, wodurch sich auch weitaus umfassendere Ansprüche an die Suchalgorithmen ergeben (siehe Kapitel 4.2.3). Bereits eine reine Textsuche kann zu durchaus komplexen Problemstellungen führen. So sind beispielsweise Inhalte in verschiedenen Sprachen oder das Problem der Mehrdeutigkeit vieler Begriffe oft der Grund, warum ein passender Content nicht gefunden wird. Ein sogenannter Stemmer kann für die genannte Problemstellung einen Lösungsansatz bieten, indem für eine Sprache jede deklinierte oder konjugierte 3 Siehe http://www.bundesfinanzministerium.de/Anlage8440/BMF-Schreiben-vom-16.07.01.pdf Funktionen von Content Management Systemen 38 Wortform auf ihren Ursprung zurückgeführt wird (aus „gefeuert“ würde z.B. „feuern“). Für Englisch gibt es gut funktionierende Stemmer Algorithmen, für Deutsch und viele andere Sprachen ist jedoch aufgrund der teilweise sehr komplexen Grammatik der einzelnen Sprachen ein einwandfreies Umsetzen dieser Problemstellung nicht leicht möglich. [Koop et al. 2001] [Pelz-Sharp et. al 2002b] Hingegen könnte man ein Synonymverzeichnis für jede Sprache anlegen um so beispielsweise Wörter zu definieren, welche in einem bestimmten Zusammenhang die gleiche Bedeutung haben. Eine Suche könnte dadurch auf gewisse Wörter ausgeweitet werden (z.B. „senkrecht“ – „vertikal“ oder „Fahrstuhl“ – „Lift“). Ein Übersetzungsverzeichnis für zwei oder mehrere Sprachen kann auch sinnvoll sein, um zum Beispiel festzulegen, dass „Kanada“ und „Canada“ dasselbe bedeuten. Bei Textsuchen kommen auch öfters Stop-Listen zum Einsatz, also Wörter, die übergangen werden, weil sie in der Regel nur wenig brauchbare Informationen beinhalten. Im Deutschen sind das Wörter wie „der, die, das, als, aber, eben, war, nicht“. Es ist allerdings wichtig, diese Listen für jede Sprache getrennt zu erstellen, sonst gibt es zum Beispiel im englischen Text keinen Krieg mehr („war“). Kommen in einem CMS eine oder mehrere der eben genannten Methoden zum Einsatz, so sollte darauf geachtet werden, dass die zugrunde liegenden Listen bzw. Verzeichnisse im Nachhinein vom Endanwender modifiziert bzw. erweitert werden können. [Koop et al. 2001] [Pelz-Sharp et. al 2002b] Erfolgreiches Suchen hat auch viel mit den Erwartungen und Erfahrungen des Benutzers zu tun und dies sollte sich im Suchformular des Systems widerspiegeln. Es ist daher oftmals zielführend, dem Endanwender eine einfache und eine erweiterte Suche anzubieten. Letzteres ist zumeist dadurch charakterisiert, dass die Möglichkeit von booleschen Verknüpfungen geboten wird oder ein gezieltes Suchen in Attributen unterstützt wird. Die Präsentation der Suchergebnisse sollte sich ebenfalls an den Erwartungen des Benutzers richten. Gerade bei einer strukturierten ContentSpeicherung könnte man die gefundenen Inhalte mittels Attribute gleich besser auszeichnen oder Filtermöglichkeiten zur Verfügung stellen, um das gefundene Resultat nach weiteren Kriterien einzuschränken. [Rosenfeld et al. 1998] Die Zugriffskontrolle eines CMS soll natürlich auch von der Suche berücksichtigt werden und daher keinen Content als Suchergebnis liefern, den der Benutzer nach dem vorliegenden Rechteschema nicht einmal betrachten darf. [Pelz-Sharp et. al 2002b] 3.2.6 Collaboration Die einzelnen Prozessschritte des Content Management verlangen ein Zusammenarbeiten unterschiedlicher Personen in unterschiedlichen Rollen. Um eine zielgerichtete Ausführung der Prozessschritte zu gewährleisten, kann die Planung sowie Kontrolle der Prozesse durch eine Workflow Komponente als essentielle Funktion eines Content Management Systems angesehen werden. Möglichkeiten der Kommunikation zwischen den beteiligten Anwendern des CMS erleichtern zudem das gemeinsame Arbeiten. Funktionen von Content Management Systemen 39 Diese beiden Aspekte, Workflow und Kommunikation, sollen im folgenden Abschnitt erörtert werden. Workflow Die Workflow Komponente unterstützt die Abwicklung der Anwendungsprozesse und damit die Einhaltung des Content Life Cycle, welche dem Content Management zu Grunde liegen. Aus Sicht des Workflow Management lassen sich keine neuen Ansätze gewinnen, es bedarf eher einer konsequenten Umsetzung vorhandener Workflow Konzepte innerhalb des CMS. Idealerweise bildet eine vollständige Abbildung der Organisationstruktur innerhalb einer Unternehmung die Basis für eine vernünftige und effektive Steuerung der Prozesse durch eine Workflow Komponente. Der einfachste Ansatz wäre, alle Mitarbeiter mit ihren Aufgaben und Rechten einzeln zu erfassen. Bei größeren Projekten würde dies allerdings zu einem unüberschaubaren Datenverwaltungsaufwand führen, weshalb in der Praxis die Konzepte Gruppe und Rolle zum Einsatz kommen, welche abstrakte Aufgabenträger darstellen. Unter einer Rollenbasierung wird die funktionale Beschreibung des Profils durch Angabe von Aufgaben verstanden, Gruppen dienen der Zusammenfassung von Benutzern mit ähnlichem Profil. [Jablonski et. al 2002] Die identifizierten Anwendungsprozesse müssen in Workflow Schemata überführt werden, welche von der Workflow Komponente des CMS ausgeführt werden können. Die Definition von Workflow Schemata äußert sich bei verschiedenen CMS mit unterschiedlicher Flexibilität. Die einfachste Möglichkeit ist ein starres Schema, welches direkt in die Applikation integriert ist. Solch ein Workflow Management, wenn man es überhaupt als solches bezeichnen kann, äußert sich zumeist nur in einer Zustandsänderung des Content durch eine vorgegebene Manipulation entsprechender Attribute. [Jablonski et. al 2002] Gibt es keine Möglichkeit, Workflows zu manipulieren, geschieht eher eine Anpassung der Geschäftsprozesse an das System, wovon jedoch in der Arbeit [Koop et al. 2001] entschieden abgeraten wird, da so nur das kreative Potenzial innerhalb der Unternehmung brach liegt. Wesentlich sinnvoller ist es, wenn die Möglichkeit besteht, mit einfachen grafischen Werkzeugen neue Workflows zu definieren. Am Monitor modelliert man, wer den Content produziert und wer den Content in welcher Aufbereitung benötigt. Die Workflow Komponente innerhalb des CMS gewährleistet, dass der richtige Content beim richtigen Anwender auch zur richtigen Zeit verfügbar ist. Die Synchronisation aller Teilnehmer im gesamten Prozess ermöglicht zielgerichtetes und autonomes Handeln. [Dreyer 2000] Ein Beispiel, welches den Bedarf an flexiblen Modellierungswerkzeugen gut verdeutlicht, wären unterschiedliche Freigabeverfahren. Kontroll- und Freigabeverfahren beeinflussen die Qualität des Content und so sollten sich je nach angestrebtem Qualitätslevel unterschiedliche Vorgehensweisen modellieren lassen. In der Arbeit [Krüger et al. 2002] wird ein lineares und ein paralleles Freigabeverfahren erläutert. Bei einer linearen Freigabe wird eine Kette von Personen befragt, ob ein Funktionen von Content Management Systemen 40 Content freigegeben werden kann, beim parallelen Verfahren werden zwei oder mehrere Begutachter definiert, wobei zur Freigabe die Bestätigung beispielsweise eines Begutachters ausreichen kann. Bei der Modellierung von Prozessen sollte man auch festlegen können, welche Aktivitäten gleich automatisch vom System erledigt werden, zum Beispiel eine Versionierung nach der Freigabe oder eine Archivierung nach einer Veröffentlichung. [Koop et al. 2001] Kommunikation Content Management Systeme, welche sämtliche in diesem Kapitel identifizierten Kernfunktionen erfüllen, bieten zugleich eine Grundlage für gemeinschaftliches Arbeiten. Dies wird beispielsweise ermöglicht durch eine durchgängige Content Kontrolle mittels Check-In und Check-Out oder Versionisierungsmechanismen. Interessant für ein effektives Zusammenarbeiten bzw. die Bewältigung prozessorientierter, arbeitsteiliger Aufgaben sind jedoch auch Möglichkeiten des Informationsaustausches bzw. der Kommunikation aller Beteiligten, zu welchem Zweck sich bereits mehrere Konzepte etabliert haben, wie Diskussionsforen, Chat, Email oder FAQ (Frequently Asked Questions). Diese komplexeren Ansätze, ein Umfeld für das Zusammenarbeiten zu schaffen, werden jedoch eher den Portal-Lösungen zugeschrieben (siehe Kapitel 4.2.2), sollten aber auch von innovativen Content Management Systemen unterstützt werden. Eine Integration von Email Systemen in das CMS sei jedoch an dieser Stelle als besonders zweckmäßig hervorgehoben. Das CMS kann die Emails als weitere ContentObjekte in einem Ausmaß verwalten und archivieren, wie es Standard Email Clients zumeist nicht unterstützen. Bedingt durch die zunehmende Bedeutung von Emails, nicht nur als Kommunikationsmittel zwischen Arbeitskollegen sondern auch zwischen Kunden oder Geschäftspartner, wird es immer bedeutsamer, die zum Teil äußerst wichtigen und verbindlichen Inhalte der gesendeten und empfangenen Emails auf längere Zeit zu archivieren. Des Weiteren kann das CMS das Email System nutzen, um Beteiligte von anstehenden Aufgaben, wie sie sich beispielsweise aus dem Workflow ableiten lassen, zu informieren. Sinnvollerweise geben solche Emails nicht nur einen Hinweis auf eine anstehende Arbeit, sondern beinhalten zugleich einen Link, um den Benutzer direkt zum betroffenen Content innerhalb des CMS zu verweisen. [Pelz-Sharp et. al 2002b] 3.2.7 Integration Kaum ein CMS kann „Out-of-the-box“ an seinem Einsatzort installiert und verwendet werden. Um den komplexen Ansprüchen der Unternehmungen gerecht zu werden, sind zumeist spezifische Anpassungen notwendig, wobei zwischen zwei Aspekten unterschieden werden kann. Einerseits können Anpassungen direkt am Content Management System notwendig sein, andererseits muss das CMS in bestehende Systeme integriert oder an Datenquellen angepasst werden. Funktionen von Content Management Systemen 41 Der erste Aspekt, Anpassungen am CMS selbst, kann in Umfang und Implementierungstiefe durchaus variieren, wobei natürlich eine größtmögliche Flexibilität wünschenswert wäre. Allerdings sei darauf verwiesen, dass umfangreiche Anpassungsmöglichkeiten zumeist mit einer entsprechenden Komplexität verbunden sind, welche sich in einer kosten- und zeitintensiveren Einführungsphase auswirken können. Grundsätzlich sollte es immer möglich sein, die Benutzeroberfläche des Systems individuell zu gestalten, um so beispielsweise das Vokabular der Dialoge an den Sprachgebrauch der Unternehmung anzupassen. Innovative CMS sollten bereits dokumentierte Entwicklungsrichtlinien anbieten, die es Administratoren bzw. Programmierern erlauben, die Funktionalität des CMS der spezifischen Umgebung anzupassen bzw. zu erweitern. Idealerweise stellt der Hersteller des CMS auch Application Programming Interfaces (APIs) zur Verfügung, welche Routinen und Objekte bereitstellen, die durch unterschiedliche Programmiersprachen genutzt werden können und es ermöglichen, sämtliche Funktionen des CMS zu nutzen, wie sie auch über alternative Wege nutzbar wären. [Rothfuss et al. 2001] [Jablonski et. al 2002] Entscheidet sich eine Unternehmung für den Einsatz eines Content Management Systems, so existieren häufig schon große Mengen an Daten, welche in das neue System importiert oder integriert werden sollen. Im Falle eines Imports sollen die Daten vollständig in die Kontrolle des CMS übergeben werden und nur mehr vom CMS verwaltet werden. Die Leistungsfähigkeit eines Imports ist in erster Linie davon abhängig, ob sich in den Importdaten eine klare Trennung von Struktur, Inhalt und Darstellung erkennen lässt und diese Trennung vom CMS übernommen werden kann 4. Da kein CMS mit allen Datenformaten umgehen kann, muss auch eine Fremdformatwandlung möglich sein. Der Import erfolgt dann mittels eines sogenannten Parser, welcher das Fremdformat in eine Form umwandelt, wie sie vom CMS bestmöglich interpretiert werden kann. [Rothfuss et al. 2001] [Jablonski et. al 2002] Ein CMS soll natürlich auch Exportmöglichkeiten zur Verfügung stellen, zu welchem Zweck zumeist Transformationssprachen verwendet werden, welche eine relativ flexible Umwandlung von Content in eine Auszeichnungssprache ermöglichen. Entscheidend für die Leistungsfähigkeit eines Imports bzw. Exports ist, ob die Zielsprache alle Eigenheiten der Quellsprache wiedergeben kann. Im Falle des Imports muss also das interne Format des CMS die Eigenheiten des Importformats wiedergeben können, im Falle des Exports das Exportformat die Eigenheiten des CMS. [Rothfuss et al. 2001] [Jablonski et. al 2002] Bei der Installation von Content Management Systemen müssen diese oft in bestehende IT Umgebungen integriert werden. Nicht immer ist es möglich, alte Datenbestände einfach in das CMS zu importieren und die alten Systeme durch das CMS zu ersetzten. Vorliegende Anforderungen verlangen auch oft einen Parallelbetrieb zwischen Altsystemen und dem Content Management System. Existierende Altsysteme müssen 4 An dieser Stelle sei auf XML und dessen gute Eignung als Import und Export Format verwiesen (siehe Kapitel 4.1.1). Funktionen von Content Management Systemen 42 zumeist über Schnittstellen in das CMS integriert bzw. angebunden werden. Solche Schnittstellen können in der Regel sehr komplex werden und verlangen fast immer eine individuelle Anpassung an die Gegebenheiten im Einsatzbereich. [Koop et al. 2001] Um aktuellen Content anbieten zu können, sind neben den manuellen Importmöglichkeiten Verfahren gefragt, die einen automatisierten Austausch von Content erlauben. Dieser Prozess der Mehrfachverwendung von Inhalten wird als Content Syndication bezeichnet. Ziel dabei ist die Verwendung von Inhalten, die vom Herausgeber nicht selbst redaktionell erarbeitet, sondern zugekauft werden. [Jablonski et. al 2002] Information Content Exchange 5 (ICE) ist ein Protokoll, das den kontrollierten Austausch und das Management elektronischer Assets zwischen vernetzten Partner erleichtert. Möchte man mit dem CMS Content Providing oder Content Syndication betreiben, so sollte das CMS mit ICE umgehen könne, betonen die Autoren in [Koop et al. 2001]. Die Wichtigkeit dieses Themas wird auch durch zahlreiche Entwicklungen weiterer Standards verdeutlicht, wie beispielsweise Open Content Syndication6 (OCS), RDF Site Summary7 (RSS) oder Internet Open Trading Protocol8 (IOTP). [Leisi 2000] 3.2.8 Administration Die Produktivität eines CMS wird auch entscheidend durch seine Möglichkeiten der Administration bzw. Wartung beeinflusst. Eine umfangreiche und komfortable Administration sollte folgende Funktionen bieten [Krüger et al. 2002] [Pelz-Sharp et. al 2002b] [Rothfuss et al. 2001] [Jablonski et. al 2002]: Backup: Ein entscheidender Faktor von Content Management Systemen ist den Content gegen Datenverlust zu schützen. Methoden für ein effektives Backup sind daher essentiell. Ein Backup soll den gesamten Content mitsamt allen Attributen in einem konsistenten Zustand sichern, wobei viele Systeme während des Vorgangs des Sicherns Offline gehen müssen, um die Konsistenz zu gewährleisten. Gerade bei Content Management Systemen, welche im intensiven Einsatz sind, soll ein Backup auch während des Online Betriebs möglich sein. Bei sehr komplexen Systemen wäre es auch vorteilhaft, die Möglichkeit zu haben, nicht immer den gesamten Bestand sichern zu müssen, sondern nur ausgewählte Bereiche. Verteilte Administration: Bei sehr umfangreichen Content Management Systemen mit vielen Benutzern sollte es die Möglichkeit der Subadministration geben, sodass die Wartung einzelner Bereiche aufgeteilt werden kann und diese nicht mehr von einem Administrator alleine abhängig sind. 5 Siehe http://www.icestandard.org/ 6 Siehe http://internetalchemy.org/ocs/ 7 Siehe http://web.resource.org/rss/1.0/ 8 Siehe http://www.ietf.org/html.charters/trade-charter.html Funktionen von Content Management Systemen 43 Protokollierung: Das Mitprotokollieren sämtlicher Interaktionen mit dem System kann bedeutsam sein, um zum Beispiel mögliche Problemstellen im System zu identifizieren aber auch als Grundlage für Analysen der Nutzung des Systems dienen. Gerade bei einer Publikation auf Websites kann eine Analyse der Zugriffshäufigkeit auf den angebotenen Content durchaus von Interesse sein. Automatische Benachrichtigung bei kritischen Situation: Das CMS sollte selbstständig kritische Situationen, wie Speicherfehler oder ausgehender Speicherplatz, erkennen und die Administratoren benachrichtigen. Benutzer Verwaltung: Sämtliche Benutzer, Gruppen und Rollen müssen vom Administrator angelegt und verwaltet werden können. Viele Benutzernamen existieren allerdings auch außerhalb des CMS und daher soll es auch Möglichkeiten einer Synchronisation mit Directory Services geben. Ein reibungsloser Betrieb eines CMS ist allerdings nicht ausschließlich durch umfangreiche Möglichkeiten der Administration gegeben. Besonders die Performance des Systems stellt öfters ein Problem im Betrieb des CMS dar, worauf ein innovatives CMS mit Möglichkeiten der Skalierung reagieren sollte. Die Skalierungsaspekte eines CMS betreffen: eine große Anzahl an Clients, die zugleich am System arbeiten. eine große Anzahl von Benutzern, die vom System verwaltet werden. große Mengen an Content, die ein CMS effektiv verwalten soll. Neben dem trivialen Ansatz einer Performance Verbesserung bei Skalierungsproblemen durch einen Umstieg auf leistungsfähigere Hardware soll ein CMS innovativere Ansätze bieten, wie beispielsweise verteilte Serverkonzepte, wodurch die Last untereinander ausbalanciert wird oder Caching Mechanismen, um durch Zwischenspeicherung von häufig angefragten Content die Performance zu erhöhen. [Pelz-Sharp et. al 2002b] [Jablonski et. al 2002]: 3.2.9 Internationalisierung Ein innovatives CMS sollte mehrsprachenfähig sein, um so das parallele Verwalten desselben Content in mehr als einer Sprache zu ermöglichen. Man kann dabei zwischen verschiedenen Implementierungstiefen unterscheiden. Es könnte beispielsweise möglich sein, verschiedene Sprachversionen eines Inhalts verschieden zu strukturieren oder den Übersetzungsvorgang in Statusverwaltung und Workflow einzubinden. Gerade der zuletzt dargestellte Aspekt ist selten in Content Management Systemen realisiert, ist aber bei einer Notwendigkeit für mehrsprachigen Content durchaus wünschenswert. Schließlich soll ein leistungsfähiges CMS Unicode9 unterstützen, damit zum Beispiel auch fernöstliche Sprachen, wie Chinesisch oder Japanisch, aufgrund der großen 9 Siehe http://www.unicode.org/ Funktionen von Content Management Systemen 44 Zeichenvielfalt mit vernünftigem Aufwand unterstützt werden können. [Rothfuss et al. 2001] [Pelz-Sharp et. al 2002b] 3.3 Anforderungsprofil Kernfunktionen Die Erörterungen der Kernfunktionen aus Kapitel 3.2 werden in diesem Abschnitt in einem Anforderungsprofil zusammengefasst, welches in Tabelle Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..2 dargestellt ist. Das Anforderungsprofil dient im weiteren Verlauf der vorliegenden Arbeit als Grundlage der Evaluierung der Entwicklungsumgebung Java 2 Platform, Enterprise Edition und darauf basierter Implementation eines CMS sowie dem in Kapitel 7 aufgezeigten Gestaltungsmodell. Das in diesem Abschnitt dargestellte Profil ist allerdings noch unvollständig und wird im folgenden Kapitel um über die Kernfunktionen hinausgehende Aspekt erweitert. Funktionen von Content Management Systemen Kernfunktion Content Organisation Erzeugung Publikation Content Kontrolle Information Retrieval Collaboration Integration Administration Internationalisierung 45 Anforderungen Anlegen von benutzerdefinierten Attributen Link Management Unterstützung unterschiedlicher DBMS Einhaltung der Anatomie des Content Browserbasierte Content-Eingabe Integration externer Applikationen zur Content-Bearbeitung Unterschiedliche Visualisierungen von Content Personalisierung des Content auf Websites Zugriffskontrolle Check-In und Check-Out Mechanismus Versionierung Archivierung Suchmöglichkeiten Workflow Integration von Email Unterstützung für Collaboration (Diskussionsforen, FAQ oder Chat) Systemspezifische Anpassungsmöglichkeiten des CMS Import und Export von Content Integrationsmöglichkeiten mit Datenbeständen anderer Systeme Content Syndication und Providing Backup Möglichkeiten Protokollierungs- und Analyse-Funktionen Automatisches Erkennen kritischer Situationen Benutzerverwaltung Synchronisation der Benutzerverwaltung mit Directory Services Skalierbarkeit Paralleles verwalten mehrere Sprachen Tabelle Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..2: Anforderungsprofil der Kernfunktionen 3.4 Schlussbemerkung Die Darstellung der Kernfunktionen eines Content Management Systems zeigt in vielen Bereichen Funktionen, welche bereits vor dem Aufkommen des Begriffes Content Management im Bereich der Informationstechnologie bekannt waren. Ein CMS stellt schließlich nach Meinung des Autors der vorliegenden Arbeit keine Neuerfindung dar, sondern eine Weiterentwicklung etablierter Technologien (siehe Kapitel 2.2.3 Dokument Management Systeme). Charakteristisch für ein Content Management System ist jedoch eine strukturierte Erfassung von Content, um so die deutliche Trennung der Anatomie des Content maschinell erfassbar zu machen und eine bedarfsgerechte Publikation des Content zu ermöglichen. Die Effizienz eines CMS wird wesentlich durch die Funktionen Information Retrieval und Collaboration determiniert, welche maßgeblich Einfluss darauf nehmen, wie Funktionen von Content Management Systemen 46 erfolgreich gespeicherter Content wieder gefunden werden kann bzw. wie effektiv ein CMS einen anwendungsspezifischen Content Life Cycle umsetzen kann. Diese erwähnten Funktionen sind bereits seit Jahren aus anderen Systemen der Informationstechnologie bekannt, womit ein CMS durch das Einbeziehen jahrelanger Erfahrungen nur profitieren kann. Wesentlich für die Akzeptanz eines Content Management Systems sind administrative Funktionen, wie Backup Möglichkeiten, Skalierbarkeit, Benutzerverwaltung oder Integrationsmöglichkeiten mit Altsystemen, wobei es sich wiederum um keine ausschließlich CMS-spezifischen Funktionen handelt, deren effektive Umsetzung dafür aber umso wichtiger ist. Im nächsten Kapitel wird das in Tabelle Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..2 identifizierte Anforderungsprofil um einige Aspekte erweitert. Zu diesem Zweck werden Funktionen, die nicht direkt dem Content Management zuzurechnen sind, aber eine sinnvolle Ergänzung darstellen oder so komplex sind, dass sie bereits eine eigene Kategorie von Softwaresystemen implizieren, welche jedoch in sinnvoller Art und Weise mit Content Management Systemen verknüpft werden können, betrachtet. Nach dieser Vervollständigung des Anforderungsprofils erfolgt eine Evaluierung der Entwicklungsumgebung Java 2 Platform, Enterprise Edition hinsichtlich der Realisierungsmöglichkeiten der identifizierten Anforderungen. 4 Zweckmäßige Erweiterungen von Content Management Systemen In diesem Kapitel werden die Darstellungen aus dem vorherigen Kapitel, über die Funktionen eines Content Management Systems, fortgeführt. Während im vorherigen Kapitel der Schwerpunkt auf den Kernfunktionen eines CMS lag, sollen in diesem Kapitel Aspekte betrachtet werden, welche für die Funktionalität eines CMS geeignete Erweiterungen darstellen bzw. eine effiziente Implementierung geforderter Funktionen unterstützen. Die erörterten Aspekte repräsentieren keine Kriterien, welche notwendigerweise von einem CMS erfüllt werden müssen, um von einer vollständigen Implementierung eines CMS zu sprechen. In dieser Einschränkung liegt der wesentliche Unterschied zum vorherigen Kapitel, welches sich ausschließlich auf essentielle Funktionen eines Content Management Systems konzentriert. Gerade im Hinblick auf die Akzeptanz oder die Einsatzfähigkeit eines CMS erweist sich jedoch ein Berücksichtigen der diskutierten Aspekte in diesem Kapitel als zweckdienlich. Es können sich dadurch nicht nur Vorteile für den Endanwender sondern auch entscheidende strategische Vorteile für den Anbieter des CMS ergeben. Als Abschluss dieses Kapitels werden die aus den dargestellten Aspekten identifizierten Anforderungen, in gleicher Weise wie im vorherigen Kapitel, in einem Anforderungsprofil zusammengefasst. 4.1 Unterstützende Funktionen Die folgenden zwei Abschnitte betrachten Aspekte, welche grundsätzlich keine neuen Funktionen für ein CMS darstellen, jedoch die Effizienz bzw. Qualität des CMS beeinflussen können. Zuerst wird die XML Technologie betrachtet, um auf die sehr zweckmäßigen Einsatzmöglichkeiten dieser Technologie, im Kontext einer effizienten Implementierung der Grundkonzepte eines Content Management Systems, hinzuweisen. Danach folgt eine Darstellung von Initiativen im Bereich des barrierefreien Informationszugangs, welche auch für Content Management Systeme Konsequenzen haben und eventuell ein Überdenken der Publikationskomponente nötig machen. Zweckmäßige Erweiterungen von Content Management Systemen 4.1.1 48 Extensible Markup Language Es gibt kaum einen anderen Standard, welcher in der Literatur so oft im Kontext von Content Management Systemen genannt wird, wie die Extensible Markup Language (XML). Dabei bedeutet die Verwendung von XML grundsätzlich keine Erweiterung der Funktionen eines Content Management Systems, sondern eine sehr effektive und zielführende Umsetzung der Anforderungen bzw. Funktionen eines CMS. Es ist das Ziel dieses Abschnittes aufzuzeigen, inwiefern das Konzept von XML mit den Grundkonzepten eines CMS konform geht und worin die Vorteile beim Einsatz von XML liegen. Grundsätzlich kommt XML im Kontext eines CMS in zwei Bereichen zum Einsatz. Auf der einen Seite beim Import bzw. Export von Content und auf der anderen Seite als Format zur Content-Speicherung und Publikation in verschiedenen Ausgabeformaten. [Jablonski et. al 2002] XML gehört in die Familie der Auszeichnungssprachen, wobei XML den generalisierten Auszeichnungssprachen zugeordnet wird, weil es nicht wie beispielsweise HTML aus einem feststehenden Satz von vordefinierten Tags besteht1, sondern erlaubt, die Grammatik der Sprache anwendungsspezifisch zu gestalten. Abgeleitet wurde XML von SGML (Standard Generalized Markup Language), wobei XML wesentlich schlanker und modularer als die sehr umfassende SGML gestaltet wurde 2. [Rothfuss et al. 2001] Der XML Standard umfasst eine Reihe weiterer Standards, welche bei der Implementierung eines CMS angewendet werden bzw. von Interesse sein können. Es würde bei weitem den Rahmen dieses Abschnittes sprengen, auf sämtliche Standards und deren Vorteile sowie Anwendungen einzugehen. Um jedoch einen Überblick zu geben, sollen die wesentlichen Standards und deren Verwendungsbereich für Content Management Systeme kurz aufgelistet werden [Rothfuss et al. 2001]: 1 XML und XML Namespaces, um die Inhalte zu speichern. XQL (XML Query Language) als Anfragesprache für den Datenbestand. XML Schema3 oder DTD (Document Type Definition) für die Struktur und eine leistungsfähige Typisierung. XSLT (Extensible Style Language Transformations) für die unterschiedliche Gestaltung der Inhalte. XPOINTER, XPATH und XLINK für Hypermedia. HTML wird demnach als einfache Auszeichnungssprache bezeichnet. 2 Für eine detaillierte Darstellung der Unterschiede von XML und SGML siehe http://www.w3. org/TR/NOTE-sgml-xml-971215. 3 XML Schema ersetzt die DTD und beinhaltet umfangreiche Erweiterungen im Vergleich zu einer DTD. So bietet XML Schema bereits die Möglichkeiten Wertebereiche oder Datentypen zu definieren. Wenn im folgenden Abschnitt von einer DTD die Rede ist, könnte an dieser Stelle ebenso gut XML Schema genannt werden bzw. zum Einsatz kommen. Zweckmäßige Erweiterungen von Content Management Systemen 49 DOM (Document Object Model) bzw. SAX (Simple API for XML) für eine standardisierte Programmierschnittstelle, um auf die XML Inhalte zuzugreifen, in ihnen zu navigieren und sie zu verändern. Die zentralen Vorteile von XML im Einsatz für Content Management Systeme werden in der Arbeit [Gruhn et al. 2000] wie folgt erläutert: Natürliche Trennung von Layout, Struktur und Inhalt: Das für ein CMS grundlegende Paradigma der Trennung von Struktur, Darstellungsform und Inhalt (siehe auch Kapitel 2.3.1) ist integraler Bestandteil von XML. Die Speicherung der Inhalte geschieht innerhalb der XML Dateien, die Struktur wird in der DTD abgelegt und die Darstellungsinformationen befinden sich innerhalb von XSLT Styles. Einfache Erweiterbarkeit: Da Strukturinformationen leicht zugänglich und klar abgegrenzt in der DTD vorliegen, bedürfen strukturelle Anpassungen lediglich einer Modifikation der DTD und verlangen grundsätzlich keine Interaktion mit dem CMS selbst. Einfacher Datenaustausch: Ein CMS speichert seinen Content zumeist in einer DBMS (siehe Kapitel 3.2.1). Das Problem bei Datenbankmanagement-Systemen liegt jedoch darin, dass die Struktur der Daten normalerweise in einem proprietären Datenbankschema vorliegt und daher zumeist nur im Kontext einer entsprechenden DBMS interpretiert werden kann. Um die Inhalte der Datenbank zu exportieren, müssen sie daher in ein Format konvertiert werden, welches die strukturellen Informationen des Datenbankschemas wiedergeben kann, damit die exportierten Inhalte bei einem eventuellen Import richtig interpretiert werden können. XML Dateien (XML-, DTD-, und XSLT Dateien) tragen jedoch sämtliche, für den Export relevanten Information (Struktur und Inhalte) in sich selbst und sind daher ohne zusätzlichen Konvertierungsschritt bereits für einen Export geeignet. Unterstützung mehrerer Präsentationskanäle: Durch die inhärente Trennung von Darstellung und Inhalt ist es ohne weiteres möglich, über die Erstellung verschiedener XSLT Style Sheets unterschiedliche Präsentationskanäle zu bedienen. Dieser Vorteil wird sich noch einmal deutlich verstärken, wenn die Endgeräte selbst XML-fähig werden und der zurzeit noch notwendige Transformationsschritt (z.B. nach HTML für Websites) damit entfällt. Theoretisch könnten XML Dateien das zur Datenhaltung notwendige DBMS eines Content Management Systems ersetzen. XML Schema bietet bereits anspruchsvolle Möglichkeiten der Datenstrukturierung und mit Hilfe von XQL lassen sich Anfragen über die Inhalte in den XML Datenbeständen durchführen 4 . Aufgrund der hohen Akzeptanz, Stabilität und Performance ist aber auf den Verzicht eines DBMS abzuraten. 4 Vergleichbar mit SQL für relationale Datenbanken. Zweckmäßige Erweiterungen von Content Management Systemen 50 Es haben sich jedoch bereits Konzepte entwickelt, wie beispielsweise XML Daten in den häufig anzutreffenden relationalen Datenbanken abgelegt werden können. Zum einem gibt es die elementbasierte Speicherung, bei der die Elemente und Attribute der XML Datei entsprechenden Attributen einer Datenbanktabelle zugeordnet werden. Je nach Verschachtelung der XML Daten sind eventuell mehrere Tabellen notwendig, um den gesamten Inhalt in der Datenbank abzulegen. Der Vorteil dieser Methode liegt darin, dass sämtliche Elemente der XML Datei über eine Datenbankabfragesprache (z.B. SQL) zugänglich sind und die Struktur der Daten durch die Abbildung auf das Datenbankschema im Wesentlichen erhalten bleibt. Die Daten sind daher grundsätzlich für eine flexible Weiterverwendung gut geeignet. Zugleich entsteht aber durch die Verteilung der Daten über mehrere Tabellen ein erhöhter Aufwand und damit eventuell einhergehende Performanceverluste. [Jablonski et. al 2002] [Lochbrunner 2002] Aufgrund dieser Nachteile hat sich ein zweites Konzept entwickelt, welches weit weniger differenziert vorgeht, die dokumentbasierte Speicherung. Bei diesem Ansatz wird das komplette XML Dokument in einem Attribut einer Datenbanktabelle abgelegt. Diese sehr einfache und effiziente Vorgehensweise erweist sich jedoch in der Regel als eine zu starke Vereinfachung komplexer Sachverhalte, womit als Konsequenz ein hybrider Ansatz denkbar wäre, welcher die Vorteile der zwei zuletzt erwähnten Aspekte zu vereinigen versucht. Bei einem hybriden Ansatz könnten beispielsweise Attribute, nach denen eine Suche oder Sortierung erfolgen soll, elementbasiert abgelegt werden, ansonsten erfolgt eine dokumentorientierte Speicherung. [Jablonski et. al 2002] [Lochbrunner 2002] Die dargestellten Aspekte in diesem Abschnitt zeigen, dass XML eine innovative Möglichkeit aufzeigt, Content im Hinblick auf die Anforderungen eines CMS effizient zu speichern. Der tatsächliche Einsatz von XML als Format zur Content-Speicherung wird wesentlich davon determiniert, wie gut die zugrunde liegende DBMS die Verwendung von XML unterstützt. Die im vorherigen Absatz erörterten Aspekte der Speicherung von XML Daten in relationalen Datenbanken werden bereits durch diverse Mapping-Tools weitestgehend automatisiert und ermöglichen ein komfortables Speichern von XML Objekten in bewährten relationalen Datenbanksystemen. Nachteilig wirkt sich jedoch die Tatsache aus, dass es zwischen den flachen relationalen und den hierarchischen XML-Strukturen keine eindeutige Abbildung gibt und es notwendig macht, Mapping Informationen manuell festzulegen. Mapping-Tools sind dann am besten geeignet, wenn eine Applikation hauptsächlich nur mit einer beschränkten Menge bereits im Vorhinein festgelegter XML Strukturen umgehen muss. [Lochbrunner 2002] [Mittermeier 2003] Aufgrund dieser immer wichtiger werdenden Anforderung an Datenbanken mit XML umgehen zu können, entwickelt sich bereits eine neue Generation von XML Datenbanken (XDBMS), welche XML nicht mehr in ein anderes Format umwandeln, sondern gleich nativ abspeichern. Solche Datenbanken ermöglichen es, XML Dokumente beliebiger Struktur effizient zu speichern und komplexe Suchoperationen Zweckmäßige Erweiterungen von Content Management Systemen 51 darauf auszuführen. Es sei allerdings darauf verwiesen, dass es bei XML Datenbanken aufgrund der Neuartigkeit dieser Systeme sowie der damit verbundenen Standards momentan noch an jahrelangen praktischen Erfahrungen mangelt. Aufgrund der Wichtigkeit dieser Komponente, wird zurzeit noch eher auf etablierte relationale Datenbanken zurückgegriffen. [Lochbrunner 2002] [Mittermeier 2003] Aufgrund der Vorteile von XML sollte dennoch der Einsatz im Bereich von Content Management Systemen forciert werden. XML basierte Protokolle haben hingegen im Bereich der Integration von Content bereits eine hohe Bedeutung. Beispielhaft sei das bereits im vorherigen Kapitel genannte Information Content Exchange Protokoll (siehe Kapitel 3.2.7) erwähnt oder die Protokolle der Web Service Technologie (siehe Kapitel 5.2), welche aufgrund ihrer Flexibilität vermehrt in Integrationsvorhaben von Unternehmungen Anwendung finden [Orf 2003]. Ein innovatives Content Management System sollte daher auf jeden Fall XML Technologien im Integrationsbereich berücksichtigen. 4.1.2 Barrierefreier Informationszugang „Der Erfolg des Internets liegt in der Universalität. Zugriff für jeden unabhängig von körperlichen Einschränkungen ist ein essentieller Aspekt. 5“ [Berners-Lee 2003] Mit der Entwicklung des Internets wurden sämtliche Kommunikationsbarrieren, die sich aus Inkompatibilitäten unterschiedlicher Computer Systeme ergeben, überwunden. Die Lösung dieser technischen Barriere hat allerdings in keinster Weise dazu beigetragen, die Probleme der Mensch zu Mensch Kommunikation, welche sich aus körperlichen und geistigen Einschränkungen ergeben, zu lösen. Schätzungen zu Folg sind 90 % aller Websites für behinderte Menschen nicht zugänglich. [Boldyreff 2002] Websites sind ein wesentlicher Publikationskanal, welcher von Content Management Systemen entsprechend berücksichtigt werden muss. Die Publikationskomponente eines CMS ist daher in die dargestellte Problematik unzureichend zugänglicher Websites involviert. In diesem Abschnitt soll zum einen die Web Accessibility Initiative 6 (WAI) des W3C erörtert werden, welche im Bereich der barrierefreien Webgestaltung sehr engagiert ist, und zum anderen sollen die sich ergebenden Konsequenzen für Content Management Systeme aufgezeigt werden. Die Web Accessibility Initiative erläutert verschiedene Richtlinien, Checklisten, Techniken usw., wie der im Web publiziert Content für behinderte Menschen zugänglich gemacht werden kann. Jene Richtlinien, welche besonders im Kontext von Content Management Systemen interessant sind, sind die Authoring Tool Accessibility „The power of the Web is in its universality. Access by everyone regardless of disability is an essential aspect.“ [Berners-Lee 2003] 5 6 Siehe http://www.w3.org/WAI/ Zweckmäßige Erweiterungen von Content Management Systemen 52 Guidelines 7 . Diese Guidelines beziehen sich auf alle Werkzeuge, die Web-Inhalte produzieren oder in der Lage sind, Inhalte im Webformat zu speichern oder zu transformieren. Diese Begriffsbestimmung umfasst natürlich auch die Content Management Systeme. Konkret werden durch diese Richtlinien drei Zielsetzungen verfolgt [Abel et. al 2002]: standardmäßig barrierefreie Inhalte zu generieren die Erstellung von barrierefreien Inhalten zu unterstützen und zu fördern den Content-Autoren einen barrierefreien Zugang zum Publikations-Werkzeug zu bieten Die zuletzt genannte Zielsetzung verdeutlicht den Umfang der oben erwähnten Richtlinien. Nicht nur die Distribution des Content soll für jeden zugänglich sein, sondern auch die dazu notwendigen Systeme, wie beispielsweise das CMS, sollen für jeden zugänglich bzw. bedienbar sein. Eine detaillierte Darstellung der Möglichkeiten einen barrierefreien Zugang für Websites zu realisieren, wird in den Web Content Accessibility Guidelines8, ebenfalls Teil der WAI, verdeutlicht. Es wäre nicht zielführend an dieser Stelle einen Überblick über sämtliche Richtlinien zu geben, jedoch soll beispielhaft die erste Richtlinie kurz erläutert werden. Demzufolge sollen äquivalente Alternativen für Audioinhalte und visuelle Inhalte bereitgestellt werden. Ein Beispiel dafür ist die Verwendung eines TextÄquivalents, welches die Bedeutung oder den Zweck eines Bildes beschreibt. Dieser Text kann dem Benutzer als synthetisierte Sprache, Blindenschrift oder visuell aufbereitet dargestellt werden. Jeder dieser Mechanismen verwendet einen anderen Sinn, Ohren für synthetisierte Sprache, Tastsinn für Blindenschrift sowie Augen für visuell dargestellten Text. Auf diese Weise wird die Information zugänglich für Gruppen, die eine breite Palette von sensorischen und anderen Behinderungen repräsentieren. [Chrisholm et. al 2002] Ein wichtiger Aspekt im Kontext dieser dargestellten Richtlinien ist jedoch, dass Content-Autoren nicht entmutigt werden sollen, multimedialen Content, wie Bilder, Video, usw. einzusetzen. Durch das Einhalten dieser Richtlinien soll vielmehr erläutert werden, wie multimedialer Content besser für ein breites Publikum zugänglich gemacht werden kann, wobei sich Verbesserungen für alle Benutzer des Webs ergeben sollten. Aus diesem Grund berücksichtigt die WAI auch Situationen, wie das Fehlen einer Tastatur oder einer Maus, die Verwendung eines Textbildschirms oder eines kleinen Bildschirms oder eine langsame Internetverbindung. Auf diese Weise erfasst man nicht nur spezielle Anforderungen behinderter Menschen, sondern auch jene Anforderungen, welche beispielsweise durch den Einsatz gewisser Endgeräte impliziert werden. [Chrisholm et. al 2002] [Abel et. al 2002] 7 Siehe http://www.w3.org/TR/ATAG10/ 8 Siehe http://www.w3.org/TR/WCAG10/ Zweckmäßige Erweiterungen von Content Management Systemen 53 Ein anschauliches Beispiel sind mobile Endgeräte, welche zurzeit über meist kleine textbasierte Displays, unhandliche Tastaturen und eine eher langsame Internetverbindung verfügen. Ein weiteres Beispiel für die breite Wirkung durch die Einhaltung der WAI Richtlinien wäre eine Verbesserung der Suchmöglichkeiten von Web-Inhalten. Sinnvolle Text-Äquivalente von multimedialem Content sind zumeist besser für eine effiziente Suche, als der multimediale Content selbst, geeignet. Dieser Vorteil kommt allen Web-Nutzern zu gute. [Chrisholm et. al 2002] [Abel et. al 2002] Eine sinnvolle und vollständige Umsetzung der Richtlinien der WAI durch ein Content Management System wäre am ehesten dadurch gegeben, wenn bei der Erstellung von Templates bzw. bei der Content-Eingabe durch die Autoren die WAI Richtlinien derart in das System integriert sind, dass eine WAI konforme Ausgabe, ohne detailliertes WAI Wissen der beteiligten Benutzer, erreicht wird. Dies würde den Aufwand zur Erstellung barrierefreier Seiten mindern und so die Verbreitung dieser Standards beschleunigen. Vorteilhaft wäre auch eine Integration von Validatoren, welche den Benutzern des CMS eine automatisierte Prüfung auf WAI Konformität erlaubt. [Abel et. al 2002] Es existieren bereits Implementierungen der zuletzt erwähnten Validatoren, welche teilweise auch schon die Möglichkeit bieten, Websites automatisch im Hinblick auf WAI Richtlinien zu korrigieren. In der Arbeit von [Kirchner 2002] wird ein Überblick über vorhandene Validatoren aufgezeigt, wobei jedoch die Untersuchung der einzelnen Validatoren gezeigt hat, dass die Resultate bei ein und derselben Website recht unterschiedlich ausfallen. Dieses Ergebnis lässt den Rückschluss zu, dass diese Technologien noch eher in der Entwicklungsphase stehen und noch nicht zur Gänze zum produktiven Einsatz geeignet sind. Es wird aber auch darauf verwiesen, dass die Möglichkeiten einer automatischen Umsetzung der WAI Regeln grundsätzlich beschränkt sind. Die Sinnhaftigkeit einer alternativen textuellen Beschreibung eines Bildes kann maschinell schwer überprüft werden und eine fehlende textuelle Beschreibung kann kaum automatisiert hinzugefügt werden, da eine semantisch äquivalente Beschreibung zumeist nur durch den Autor selbst erstellt werden kann. Es liegt daher zum Grossteil an den Autoren selbst, wirklich barrierefreie Seiten zu gestalten. [Kirchner 2002] Neben Gründen der sozialen Verantwortung wird die Anwendung der WAI Richtlinien auch immer mehr durch rechtliche Aspekte bestimmt. In Deutschland wurde bereits ein Gesetz erlassen, welches öffentliche Einrichtungen verpflichtet, neu erstellte Websites barrierefrei zu gestalten und bereits bestehende Internetseiten entsprechend zu ändern („Bundesgleichstellungsgesetz für Behinderte“). Es handelt sich dabei um das erste Gesetz dieser Art in Europa, andere Länder wie beispielsweise die Schweiz und Frankreich arbeiten allerdings bereits an ähnlichen Regelungen. [Mattick 2002] Eine Berücksichtigung der WAI Richtlinien bei Content Management Systemen bedeutet grundsätzlich keine weitere Funktion eines CMS. Es müssen vielmehr bereits vorhandene Funktionen auf WAI Konformität geprüft und eventuell erweitert werden. Innovative CMS sollten einen barrierefreien Informationszugang bieten, um damit einer Zweckmäßige Erweiterungen von Content Management Systemen 54 sozialen Verantwortung Ausdruck zu verleihen, aber auch von qualitativen Vorteilen zu profitieren, welche sich durch ein konsequentes Umsetzen barrierefreier Richtlinien einstellen. Ideal wäre eine Integration der Richtlinien in die Prozessschritte des Content Management, sodass eine barrierefreie Distribution ohne bewusstes Einwirken der beteiligten Anwender des CMS erreicht wird. Zumindest sollte eine Integration von WAI Validatoren möglich sein, um so weit es möglich ist, ein automatisiertes Überprüfen auf Konformität zu bieten. 4.2 Funktionale Erweiterungen Die drei folgenden Abschnitte erörtern Funktionen, welche aufgrund ihrer Komplexität bereits eigenständige Disziplinen der Informationstechnologie darstellen, deren Integration in das CMS jedoch eine sinnvolle funktionale Erweiterung des CMS aufzeigt. Als erstes wird das Digital Right Management dargestellt und aufgezeigt, wie mittels solcher Systeme der eventuelle Wert des Content auch nach der Distribution durch das CMS geschützt werden kann. Im Anschluss folgen Erläuterungen zu PortalSystemen und welche Konsequenzen sich daraus für Content Management Systeme ergeben. Im letzten Abschnitt wird die Disziplin des Digital Asset Management erörtert, welche sich hauptsächlich mit den komplexen Anforderungen von multimedialem Content auseinandersetzt. 4.2.1 Digital Right Management Bei der Begriffsbestimmung von Content wurde bereits erläutert, dass Content einen Nutzwert haben kann (siehe Kapitel 2.2.1) und als ein Ziel von Content Management Systemen wurde aufgezeigt, diese ökonomische Komponente von Content bestmöglich mittels zielgerichteter und schneller Distribution (siehe Kapitel 2.3.3) zu unterstützen bzw. auszuschöpfen. Diese Zielsetzung eines CMS ist allerdings beschränkt auf die Prozessschritte im Verantwortungsbereich des CMS. Es liegt jedoch besonders im Interesse der Content-Autoren, den Wert der Assets auch nach der Distribution durch das CMS zu bewahren, indem der Content nur für jene Benutzer zugänglich ist, welche den Content auf legalem Weg erworben haben. Eine Bereitstellung von Funktionen, welche es ermöglichen, den Wert der Assets auch außerhalb des Content Management Systems zu schützen bzw. zu gewährleisten, stellen daher eine sinnvolle Ergänzung für innovative Content Management Systeme dar. Es ist das Ziel dieses Abschnittes, jene Disziplin zu erörtern, welche mit den dargestellten Anforderungen verknüpft wird, das Digital Right Management (DRM). Im Whitepaper [Sun 2002] wird Digital Right Management als der entscheidende Faktor bei der Verbreitung von digitalem Content bezeichnet. DRM soll in erster Linie die Rechte der Autoren schützen und Möglichkeiten der illegalen Verbreitung von digitalem Content unterdrücken. Der Schutz von Autorenrechten ist seit jeher ein relevantes Thema. Ursprüngliche Schutzmechanismen profitierten jedoch von gewissen Charakteristiken physikalischer Objekte. Als Content bzw. Informationen noch Zweckmäßige Erweiterungen von Content Management Systemen 55 ausschließlich in Form von Büchern oder auch CDs verbreitet wurde, war die illegale Vervielfältigung noch mit einem gewissen Aufwand verbunden, welcher zugleich einen Schutzmechanismus implizierte. Die heutige digitale Zeit ist allerdings geprägt durch eine rasante Verbreitung des Internet, die Entwicklung effizienter Kompressionsverfahren sowie nahezu unbegrenzter Möglichkeiten der Datenspeicherung (siehe Kapitel 2.1.1). Das Kopieren, Speichern oder Modifizieren von digitalem Content ist daher nicht mehr begrenzt durch die Einschränkungen der physikalischen Welt und damit stehen illegalen Vorgehensweisen eine Vielfalt von Möglichkeiten offen. Eine Benutzerauthentifizierung alleine reicht nicht aus, um die unerlaubte Vervielfältigung von digitalem Content zu unterdrücken. Ein DRM muss weitaus effizientere Kontrollmechanismen implementieren, um die Rechte der Autoren zu schützen und den, mit dem Content assoziierten Wert, zu bewahren. [Sun 2002] [Serrão et. al 2002] Im Wesentlichen kann man Digital Right Management in drei Bereich gliedern: AssetErstellung, -Management und -Verwendung. Bei der Asset-Erstellung wird der Content mit Rechten verknüpft, womit die Möglichkeiten der Nutzung des Content für unterschiedliche Benutzer geregelt wird. Der mit den Rechten angereicherte Content wird danach verschlüsselt, um ein illegales Verändern der Zugriffsrechte zu verhindern. Das Asset-Management soll das Handeln mit den Assets ermöglichen. Dafür ist es notwendig, Lizenzen zu generieren und bereitzustellen, mit denen der Käufer der Assets die Rechte erhält, auf die Assets, in seiner registrierten Umgebung, zuzugreifen. Die Lizenzen enthalten den Code, um die Assets zu entschlüsseln und den eigentlichen Content, basierend auf den erworbenen Rechten, zugänglich zu machen. Die Assets und die Lizenzen werden grundsätzlich getrennt erworben, womit es dem Käufer freisteht, die Assets weiterzugeben, da sie ohne entsprechende Lizenz nicht nutzbar sind. [Iannella 2001] [Sun 2002] Der letzte Bereich, die Asset-Verwendung, umfasst die Möglichkeiten, die gehandelten Assets für den Käufer zugänglich zu machen. Zu diesem Zweck muss eine gesicherte Umgebung geschaffen werden, welche die Einhaltung der verknüpften Rechte gewährleistet. Konkret handelt es sich dabei um eine Software in der Client Umgebung, welche die Entschlüsselung und den Zugriff auf den Content kontrolliert und gegebenenfalls mit einem Lizenz-Server Verbindung aufnimmt, um für den Käufer die nötigen Rechte zu erwerben. Abschließend sei noch auf die Wichtigkeit der Verwendung von offenen Standards im Bereich des Digital Asset Management verwiesen, um die Interoperabilität der Assets zwischen DRM Systemen unterschiedlicher Anbieter zu gewährleisten. [Iannella 2001] [Sun 2002] Der Autor der vorliegenden Arbeit erachtet Digital Right Management als keine Kernfunktion von Content Management Systemen, da sich die Notwendigkeit dieser Funktion nicht unmittelbar aus der Begriffbestimmung von Content Management ableiten lässt. Die Verknüpfung von DRM und CMS ist aber durchaus sinnvoll, da die Aspekte des Digital Right Management auf einer strukturierten Content-Ablage Zweckmäßige Erweiterungen von Content Management Systemen 56 basieren [Sun 2002]. Ein innovatives CMS sollte daher um eine DRM Komponente erweiterbar sein, zumal dem DRM Markt für die nächsten Jahre ein starkes Wachstum prognostiziert wird. Digital Right Management wird ein zentraler Bestandteil kommender Applikation werden und sich neben bereits existierenden Software Lösungen, immer mehr durch eine Integration in Hardware Komponenten bemerkbar machen. [Duhl et. al 2001] 4.2.2 Portal-Funktionalität In diesem Abschnitt soll der Begriff Portal im Kontext von Content Management Systemen erörtert werden. Es werden zuerst die Grundprinzipien eines Portals dargestellt und in weiterer Folge die Einflüsse des Portal-Konzepts auf Content Management Systeme aufgezeigt. Von den Autoren Ashenden et. al wird ein Portal wie folgt definiert: „Ein Portal bietet einen personalisierten Zugang zu einer adäquaten Menge an Informationen für einen gewissen Zweck. 9 “ [Ashenden et. al 2002b] Portale, wie sie dieser Definition entsprechen, wurden erstmals mit dem aufkommen bekannter Websites wie Yahoo!, Excite oder Infoseek bekannt und der Begriff Portal wurde zum Schlagwort. Diese Websites bieten dem Web-Benutzer einen einfachen Zugriff auf eine große Menge an Informationen im Internet durch Bereitstellen von Suchmöglichkeiten oder einer Kategorisierung bekannter Websites. Vervollständigt wird dieses Angebot noch durch diverse Serviceleistungen wie Diskussionsforen, Wetterberichte oder aktuelle Schlagzeilen und Möglichkeiten einer einfachen Personalisierung. Portale solcher Art fanden eine schnelle Verbreitung, nicht nur durch die umfangreichen Serviceleistungen, welche sie den Benutzern bieten, sondern auch durch die Möglichkeiten der kommerziellen Nutzung durch die Betreiber, beispielsweise durch Werbeeinblendungen. [Dewan et. al 1999] Der große Erfolg solcher Portale im Internet hat dazu angeregt, die Idee eines Portals auch in Unternehmungen zu etablieren, um in gleicher Weise Ordnung in die großen Informationsmengen einer Unternehmung zu bringen. Diese Portale, von den Autoren Ashenden et. al als Enterprise Portale bezeichnet, sollen innerhalb einer Unternehmung den Mitarbeitern einen zentralen und kohärenten Zugriff auf alle unternehmensrelevanten Daten geben, um so die Mitarbeiter mit sämtlichen Informationen zu versorgen, welche benötigt werden, um die Arbeit effizient erledigen zu können [Ashenden et. al 2002b]. Die wesentlichen Kriterien eines solchen Portals sind [Ashenden et. al 2002b]: Usability: Einfache Verwendbarkeit sowie Möglichkeiten der Personalisierung. „A portal provides personalised access to an appropriate range of information for a particular purpose.” [Ashenden et. al 2002b] 9 Zweckmäßige Erweiterungen von Content Management Systemen 57 Workplace: Das Bereitstellen verschiedener Möglichkeiten, um effizient mit Arbeitskollegen zusammenarbeiten zu können, z.B. Diskussionsforen, Filesharing oder Email. Information Access: Ein Portal sollte den Zugriff auf alle benötigten Informationen ermöglichen. Integration: Das Portal sollte sämtliche Informationsquellen integrieren und dabei noch Verbindungen zwischen den integrierten Quellen herstellen können. Management: Die Möglichkeit das Portal anzupassen, neue Informationsquellen hinzuzufügen oder administrative Tätigkeiten durchzuführen. Die Autoren Ashenden et. al weisen darauf hin, dass die Technologien hinter einem Portal, wie Personalisierung, Integration oder Suche, nicht neu sind und der Erfolg dieses Begriffes eher durch die Erwartungshaltungen der Endanwender, als durch technische Innovationen angetrieben wurde. Die vielen Erwartungen, welche mit dem Begriff Portal assoziiert werden, haben dazu geführt, dass aufgrund von Marketingüberlegung der Begriff Portal ungerechtfertig angewendet wird, um beispielsweise ein simples Web-Interface zu einer Applikation zu beschreiben. Auch der Begriff Integration wird im Kontext von Portalen oft missinterpretiert, indem Integration oftmals mit Aggregation verwechselt wird. Aggregation bedeutet, dass unterschiedliche Informationsquellen in einem gemeinsamen Portal zwar zugänglich sind, jedoch jede Informationsquelle nur isoliert abgefragt werden kann. Integration bedeutet hingegen, dass es beispielsweise möglich ist, durch die Eingabe einer Kundennummer sämtliche kundenrelevanten Informationen präsentiert zu bekommen, unabhängig von der Distribution der angeforderten Informationen über mehrere Informationsquellen. [Ashenden et. al 2002b] Die bisher dargestellten Aspekte von Portalen zeigen, dass es sich hier um Funktionen handelt, welche zum Großteil auch in das Spektrum von Content Management Systemen fallen. Der grundsätzliche konzeptionelle Unterschied liegt darin, dass Portale in erster Linie existierende Daten integrieren und zentral zugänglich machen, Content Management System hingegen den gesamten Prozess von der Beschaffung bis zur Distribution des Content abdecken [FatWire 2002]. Jedoch lassen sich bei beiden Lösungen gemeinsame Funktionen erkennen, wie die Integration, effizienter Informationszugriff oder Personalisierung. Es sei allerdings erwähnt, dass diese Funktionen im Vergleich zwischen einem Portal und einem CMS unterschiedlich effizient realisiert sein können, da ein CMS grundsätzlich eine wesentlich bessere Kontrolle über seinen Content zulässt als ein Portal. So kann das CMS beispielsweise den Content mit weiteren Metadaten versehen, um im Hinblick auf eine Personalisierung den Content noch besser auszuzeichnen. Lediglich im Bereich der Collaboration – dem Ermöglichen gemeinsamen Arbeitens – bieten Portale Funktionen, welche generell nicht den Kernfunktionen eines CMS zugerechnet werden. Diese Funktionen für Collaboration, wie beispielsweise Diskussionsforen, FAQ, Chat oder Email, bedeuten jedoch eine sinnvolle Ergänzung für ein CMS (siehe Kapitel 3.2.6) und Zweckmäßige Erweiterungen von Content Management Systemen 58 dies verdeutlicht die für die Zukunft erwartete Vereinigung von CMS und PortalSystemen. [Ashenden 2003] Zurzeit existieren allerdings noch einige Portal-Systeme, welche in Unternehmungen zum Einsatz kommen, um einen zentralen Einstieg in die Informationsbestände der Unternehmung zu bieten. Aus diesem Grund erweist sich eine leichte Integrationsmöglichkeit von Content Management Systemen in bekannte Portal-Lösungen als durchaus sinnvoll und erhöht die Akzeptanz des CMS. [Ashenden 2003] [FatWire 2002] Ungeachtet dessen, sollten jedoch innovative CMS vermehrt die Grundkonzepte erfolgreicher Portale eigenständig realisieren bzw. unterstützen. 4.2.3 Digital Asset Management Sämtliche Betrachtungen über Content Management Systeme wurden bisher in der vorliegenden Arbeit zumeist auf der Basis von textbasiertem Content dargestellt. Konzepte wie die Anatomie des Content (siehe Kapitel 2.3.1) lassen sich auch nur vernünftig auf textbasierten Content anwenden, da beispielsweise ein Video kaum eine Trennung von Struktur, Inhalt und Darstellung ermöglicht. Dieses Beispiel verdeutlicht einen gewissen konzeptionellen Unterschied zwischen einerseits textbasiertem Content und andererseits multimedialem Content, wie Bilder, Audio oder Video. In der Definition von Content wurde jedoch keine Einschränkung hinsichtlich multimedialem Content getroffen, jedoch sind Content Management Systeme per se nicht die ideale Lösung zum Verwalten von multimedialem Content. Jene Technologie, welche auf die komplexen Anforderungen des Verwaltens von multimedialem Content spezialisiert ist, ist das Digital Asset Management (DAM). In diesem Abschnitt soll das Digital Asset Management kurz erörtert werden und der Bezug zu Content Management Systemen aufgezeigt werden. Des Weiteren soll im Speziellen die Suchfunktionalität als eine wesentliche Funktion eins CMS im Hinblick unterschiedlicher Anforderungen verschiedener Content-Typen untersucht werden. Ein CMS behandelt multimedialen Content zumeist als ein Inhaltsatom (siehe Kapitel 3.2.1). Das bedeutet, ein CMS kann zwar multimedialen Content verwalten und auch mit Metadaten zur besseren Auszeichnung versehen, jedoch nimmt das CMS keinen direkten Einfluss auf den Inhalt des multimedialen Content. Diese Einschränkungen gelten jedoch nicht für das Digital Asset Management. Unter dem Begriff DAM versteht man die Prozesse und Technologien der Digitalisierung, Speicherung, Verwaltung und Distribution von multimedialem Content über verschiedene Distributionskanäle. Ein DAM System sollte [Pelz-Sharp 2002] [Landers 2002] mit den zumeist sehr großen Datenmengen an multimedialen Content effizient umgehen. multimedialen Content in verschiedenen Qualitätsstufen und Auflösungen wiedergeben können. Streaming Video oder Audio bereitstellen. Zweckmäßige Erweiterungen von Content Management Systemen 59 innovative Suchmöglichkeiten, welche an die Charakteristiken von multimedialen Content angepasst sind, anbieten. Besonders der zuletzt dargestellte Aspekt des Suchens zeigt die weitaus komplexeren Anforderungen von multimedialem Content. Es gibt grundsätzlich zwei Vorgehensweisen beim Suchen. Einerseits kann man im Content direkt suchen, andererseits kann man Content über Metadaten auszeichnen und dadurch den Content kategorisieren und auffindbar machen. Direktes Suchen ist meistens ein automatisierter Prozess, die Suche über Metadaten hingegen verlangt im ersten Schritt eine Metadatenanreicherung, welche zumeist manuell erfolgen muss, um die Sinnhaftigkeit der Metadaten zu gewährleisten. Direktes Suchen ist daher aufgrund der Automatisierung wesentlich effizienter in der Implementierung als eine Metadaten Suche. [Pelz-Sharp 2002] Für textbasierten Content existieren bereits sehr ausgereifte Suchalgorithmen, um direkt in den textuellen Daten erfolgreich relevante Informationen zu finden, ohne auf Metadaten angewiesen zu sein. Ein direktes Suchen in multimedialen Daten ist jedoch weitaus diffiziler, weshalb ein CMS diesen Content fast ausschließlich über Metadaten auszeichnet und auffindbar macht. Dies verlangt jedoch aufwendige manuelle Eingriffe und begründet einen Bedarf an effektiven Suchmöglichkeiten für multimedialen Content. [Pelz-Sharp 2002] Die Problematik beim direkten Suchen in multimedialem Content liegt in der Schwierigkeit, automatisiert Semantik zu extrahieren. Haas et al. beschreiben in diesem Zusammenhang drei Levels von Charakteristiken, um beispielsweise in Bildern zu suchen [Haas et. al 2001]: Level 1 Primitive Merkmale: Es handelt sich hier um Charakteristiken, welche direkt aus dem Bild abgeleitet werden können, ohne sich auf externes Wissen beziehen zu müssen. Beispiele wären Farben, Oberflächenstruktur oder Umrisse identifizierbarer Objekte. Level 2 Abgeleitete Merkmale: Identifizierbare Objekte können über ihren Namen gesucht werden, zum Beispiel „Eifelturm“. Zu diesem Zweck ist externes Wissen notwendig, um die Objekte entsprechend auszuweisen, jedoch ist die Zuordnung noch verhältnismäßig objektiv. Level 3 Abstrakte Merkmale: Es ist möglich, nach Bedeutungen oder Zweck des zugrunde liegenden Bildes zu suchen. Ein möglicher Suchbegriff wäre „Freude“, womit die Subjektivität diese Levels verdeutlicht sein sollte. Level 2 und 3 werden als semantische Abfragen bezeichnet, womit ein semantischer Spalt10 zwischen Level 1 und 2 einhergeht. Die Autoren Haas et. al stellen fest, dass beinahe alle Suchverfahren für Bilder, sei es im kommerziellen Einsatz oder zu experimentellen Forschungszwecken, nur am Level 1 operieren [Haas et. al 2001]. Die derzeitigen Suchmöglichkeiten zeigen daher noch ein deutliches Verbesserungs- 10 Im englischen als „semantic gap“ bezeichnet. Zweckmäßige Erweiterungen von Content Management Systemen 60 potenzial, da Suchanfragen auf Level 2 und 3 deutlich näher dem menschlichen Bedürfnissen für zielführendes Suchen in Bildern kommen. Dieses Defizit wird zurzeit durch die bereits in diesem Abschnitt erwähnte Metadatenanreicherung kompensiert, jedoch mit der Konsequenz aufwendiger manueller Bearbeitungen. Es sei allerdings erwähnt, dass sich durchaus hilfreiche Metadaten zum Teil auch automatisiert dem multimedialen Content hinzufügen lassen, beispielsweise Beschaffungsattribute wie Autor oder Erstellungszeitpunkt. Es sind jedoch sehr rege Forschungsaktivitäten in diesem Bereich zu beobachten, welche bemüht sind, den beschriebenen Spalt zwischen Level 1 und 2 zu schließen, um Suchanfragen auf einem sehr hohen semantischen Niveau zu ermöglichen. Die in diesem Abschnitt aufgezeigte Problematik lässt sich auch auf Videos übertragen, da Videos im Grunde nur aneinander gereihte Bilder sind, jedoch noch eine Stufe komplexer, da sich Semantik nicht nur im Bild, sondern auch im Ton oder Bewegungsabläufen widerspiegelt. [Haas et. al 2001] [Lew et. al 2002] Die in diesem Abschnitt aufgezeigten Aspekte verdeutlichen, dass multimedialer und textbasierter Content unterschiedlich zu behandeln sind. Multimedialer Content stellt jedoch im Kontext eines CMS prinzipiell ähnliche Anforderungen wie textbasierter Content. Bilder oder Videos sollen effizient verwaltet, in unterschiedlicher Form – bezüglich Qualität oder Auflösung – publiziert werden und effizient widerauffindbar sein. Die dahinter stehenden Technologien sind jedoch oft grundverschieden im Vergleich zur Realisierung selbiger Funktionalität für textbasierten Content. Da jedoch innovative Content Management Systeme alle Content-Typen gleich effizient behandeln sollten, wäre eine Integration von DAM Technologien in das CMS durchaus sinnvoll. Zumindest der Aspekt des Suchens in einem CMS sollte grundsätzlich sämtliche Charakteristiken unterschiedlicher Content-Typen – von Text bis hin zu Videos – berücksichtigen. Denkbar wäre auch die Kapselung leistungsstarker Suchalgorithmen für multimedialen Content in eine eigene Komponente, um die das CMS im Bedarfsfall erweitert werden kann und womit zugleich die Möglichkeit verbunden ist, die geforderte Funktionalität durch unterschiedliche Implementierungen zu ersetzen. 4.3 Anforderungsprofil In gleicher Weise wie im vorherigen Kapitel (siehe Kapitel 3.3) sollen die aus den Darstellungen in diesem Kapitel identifizierten Anforderungen in einem Anforderungsprofil erfasst werden. Tabelle Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..1 stellt für jeden in diesem Kapitel diskutierten Bereich die wichtigsten Anforderungen aufgelistet dar. Zweckmäßige Erweiterungen von Content Management Systemen Bereich XML Barrierefreier Informationszugang Digital Right Management Portal-Funktionalität Digital Asset Management 61 Anforderungen Anwendung der XML Technologie (XML Schema, XSLT, …) XML basierter Import und Export XML basierte Content Austausch Protokolle Berücksichtigung der Richtlinien der Web Accessibility Initiative (WAI) Integration der WAI Richtlinien in die Prozessschritte des CMS Automatisiertes Überprüfen auf WAI Konformität (Validatoren) Bereitstellen von DRM Funktionalitäten oder Integration mit DRM Systemen Einfache Integrationsmöglichkeiten in Portal-Systeme Bereitstellen eigenständiger Portal-Funktionalitäten (z.B. Collaboration) Bereitstellen von DAM Funktionalitäten oder Integration mit DAM Systemen Innovative Suchmöglichkeiten auch für multimedialen Content Tabelle Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..1: Anforderungsprofil für zweckmäßige Erweiterungen eines CMS 4.4 Schlussbemerkung Die in diesem Kapitel erörterten Aspekte zeigen die Vielfalt an möglichen Erweiterungen für Content Management Systeme. Idealerweise sollte ein innovatives Content Management System alle dargestellten Aspekte berücksichtigen bzw. implementieren, wobei allerdings zu hinterfragen ist, ob ein derart umfangreiches System in der Praxis überhaupt gefordert ist. Schlussendlich ist es für eine Unternehmung nicht relevant, wie viele Funktionen ein CMS anbieten kann, sondern ob es jene Funktionen bietet, die gefordert sind. Zusätzliche Funktionen, welche über das Anforderungsprofil einer Unternehmung hinausgehen, stellen nur eine zusätzliche finanzielle Belastung dar. [Silver 2003] Es wäre daher zweckmäßig, sämtliche in diesem Kapitel diskutierten Funktionalitäten, wie WAI Validatoren, Collaboration Tools, multimediale Suchalgorithmen oder ein Digital Right Management in verschiedenen Komponenten zu kapseln, welche in beliebiger Kombination genutzt werden können. So sollte es möglich sein, dem Endanwender ein CMS zu bieten, welches in seinem Funktionsumfang möglichst genau den spezifischen Anforderungen angepasst werden kann und nicht entweder alles oder gar nichts bietet. Der Autor der vorliegenden Arbeit erachtet diese Möglichkeit einer Konfiguration der Funktionen, gerade bei derart vielfältigen Möglichkeiten zweckmäßiger Erweiterungen, als äußerst wichtig. Darüber hinaus würde eine funktionale Trennung in Komponenten, welche sich in einer einfachen Art und Weise kombinieren lassen, grundsätzlich die Möglichkeit bieten, dass unterschiedliche Komponenten auch von unterschiedlichen Anbietern implementiert werden. Dies würde den Anbietern von Content Management Systemen den Vorteil bieten, sich auf gewisse Kernkompetenzen zu konzentrieren und Zweckmäßige Erweiterungen von Content Management Systemen 62 es den Endanwendern erlauben, die Komponenten bei unterschiedlichen Anbietern einzukaufen. Des Weiteren ergibt sich auch die Möglichkeit, ein Content Management System im Nachhinein um notwendige Funktionen zu erweitern. Im weiteren Verlauf der vorliegenden Arbeit sollen konkrete Implementierungen von Content Management Systemen erörtert werden (siehe Kapitel 6) und hinsichtlich der Erfüllung der bisher identifizierten Anforderungen (siehe Tabelle Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..2 bzw. Tabelle Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..1) untersucht werden. Um die Auswahl möglicher CMS Implementierungen einzuschränken, soll im Rahmen der vorliegenden Arbeit als ein Auswahlkriterium die Entwicklungsumgebung für das CMS vorgegeben werden, zu welchem Zweck die Java 2 Platform, Enterprise Edition gewählt wurde. Im nachfolgenden Kapitel soll eine kurze Einführung in die wesentlichen Konzepte und Technologien der Java 2 Platform, Enterprise Edition gegeben werden und zugleich die Eignung zur Implementierung von Content Management Systemen untersucht werden. 5 Java 2 Platform Enterprise Edition Nach der detaillierten Erörterung sämtlicher Funktionen eines Content Management Systems in Kapitel 3 und 4 sollen im weiteren Verlauf der vorliegenden Arbeit konkrete Implementierungen eines CMS hinsichtlich der Erfüllung der identifizierten Anforderungen evaluiert werden. Um die große Anzahl an CMS Implementierungen einzuschränken, soll im Rahmen der vorliegenden Arbeit die Auswahl relevanter Implementierungen hinsichtlich der verwendeten Programmierumgebung eingegrenzt werden, zu welchem Zweck die Java 2 Platform, Enterprise Edition (J2EE) gewählt wurde. Bevor allerdings in Kapitel 6 konkrete CMS Implementierung erörtert werden, soll in diesem Kapitel ein kurzer Überblick über die Konzepte und Technologien der J2EE Plattform gegeben werden. Zugleich werden die erläuterten Aspekte in diesem Kapitel hinsichtlich ihrer Eignung zur Realisierung eines CMS diskutiert. Die dargestellten Aspekte sind bewusst sehr einfach gehalten, da es im Rahmen der vorliegenden Arbeit nicht möglich ist, aufgrund des Umfangs der zahlreichen Dokumentationen, Spezifikationen oder Handbücher der J2EE Plattform tiefer ins Detail zu gehen. Es ist allerdings auch nicht das Ziel dieses Kapitels, eine konkrete Programmieranleitung zu geben, sondern auf konzeptioneller Ebene die Eignung der J2EE Plattform hinsichtlich der Entwicklung eines CMS zu untersuchen. Die Darstellungen in diesem Kapitel basieren auf J2EE in der Version 1.4. Für detaillierte Informationen über die J2EE Plattform sowie sämtliche unterstützte Technologien sei auf die Homepage von Sun verwiesen [Sun 2003]. Das vorliegende Kapitel beginnt zunächst mit einer Darstellung der Grundlagen der J2EE Plattform. Im Anschluss erfolgt eine Erörterung von Web Services sowie weiterer relevanter Technologien der J2EE Plattform, welche im Kontext von Content Management Systemen interessant sind. 5.1 Grundlagen In diesem Abschnitt soll eine kurze Einführung über die Java 2 Platform, Enterprise Edition gegeben werden und zugleich sollen die erörterten Aspekte auf ihre Relevanz im Hinblick auf die Implementierung eines Content Management Systems diskutiert werden. Zu diesem Zweck soll zunächst eine grundsätzliche Motivation für die Ent- Java 2 Platform Enterprise Edition 64 wicklung der Java 2 Platform, Enterprise Edition, durch eine Erörterung unternehmensspezifischer Anforderungen an Softwareanwendungen gegeben werden. Anschließend folgt eine Darstellung des Lösungsansatzes der J2EE Plattform auf die identifizierten Anforderungen durch eine komponentenorientierte mehrschichtige Architektur. Abschließend wird noch das Rollenkonzept der J2EE Plattform erläutert, um die klar definierte Arbeitsteilung im Rahmen des Entwicklungsprozesses von J2EE Applikationen zu verdeutlichen. 5.1.1 Allgemeines Softwareanwendungen im Unternehmensbereich müssen heutzutage, unabhängig von ihren spezifischen Anwendungsgebieten, eine Reihe an Anforderungen bewältigen. Die gebotenen Funktionen sollen Kosten optimieren, Abläufe verbessern und dabei für die Endanwender, seien es Kunden, Lieferanten oder Mitarbeiter, einfach und anwenderfreundlich in ihrer Verwendung sein. Darüber hinaus sind folgende Aspekte von Bedeutung [Sun 1999]: Hohe Verfügbarkeit: Die gebotenen Funktionen sollen immer verfügbar sein. Sicherheit: Sensible Daten vor unberechtigten Zugriff schützen sowie die Integrität der Daten sicherstellen. Verlässlichkeit: Die Konsistenz der Daten muss gewährleistet sein. Skalierbarkeit: Mit steigender Benutzeranzahl darf die Performance nicht sinken. Während die zuletzt dargestellten Anforderungen sich eher auf die Nutzung von Unternehmensanwendungen beziehen, stellen solche Anwendungen auch Anforderungen bezüglich der Entwicklung [Ide 2002]: Eine Wiederverwendung von vorhandenen Komponenten. Die Unterstützung einer parallelen Entwicklung durch mehrere Entwickler, durch klare Schnittstellendefinitionen. Eine Trennung zwischen der eigentlichen Applikationslogik und allgemein erforderlichen Systemdiensten (Benutzer Authentifizierung, TransaktionsKontrolle usw.), welche idealerweise bereits durch ein Framework bereitgestellt werden. Einfache Kommunikationsmöglichkeiten mit unterschiedlichen Systemen. Mit der Java 2 Platform, Enterprise Edition wird von Sun eine Entwicklungsumgebung bereitgestellt, welche sämtliche in diesem Abschnitt erläuterten Anforderungen berücksichtigt. J2EE unterstützt die Implementierung mehrschichtiger Unternehmensanwendungen, basierend auf einer Komponententechnologie und einem Bereitstellen diverser Systemdienste für diese Komponenten, wodurch die Komplexität der Entwicklung verteilter Anwendungen weitestgehend automatisiert wird und es dem Entwickler ermöglicht wird, sich auf die eigentliche Anwendungslogik zu konzentrieren. [Sun 2003] Java 2 Platform Enterprise Edition 5.1.2 65 Mehrschichtige Architektur Anwendungen basierend auf J2EE werden grundsätzlich in einer mehrschichtigen Architektur implementiert. Das bedeutet, die Applikationslogik wird nach funktionalen Kriterien in unterschiedliche Komponenten aufgeteilt und diese Komponenten werden auf unterschiedlichen Rechnern bzw. Servern, je nach dem, welcher Schicht sie angehören, ausgeführt. Im Kontext einer mehrschichtigen Architektur unterscheidet man grundsätzlich zwischen vier Schichten [Pawlan 2001] [Ide 2002]: Client Layer1: Bildet das User Interface zum Endanwender. Web Layer: Bereitstellen dynamischer HTML-Seiten für Web-basierte Anwendung. Business Layer: Beinhaltet die spezifische Applikationslogik. Data Layer2: Repräsentiert sämtliche Datenspeicher bzw. Informationssysteme. J2EE Applikation 1 J2EE Applikation 2 ApplikationsClient Dynamische HTML Seiten Client Layer JSP Seiten Web Layer Enterprise Beans Enterprise Beans Business Layer Datenbank Datenbank Data Layer Client Rechner J2EE Server Datenbanken Server Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..1: Mehrschichtige Architektur [Pawlan 2001] Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..1 veranschaulicht die zuletzt genannten Schichten und zeigt zwei typische J2EE Applikationen und die Zuordnung ihrer Komponenten zu den vier Schichten. J2EE Anwendungen können Web-basiert oder nicht Web-basiert sein. J2EE Applikation 1 verdeutlicht eine nicht Web-basierte Applikation. In diesem Fall wird eine Client Applikation direkt am Client Rechner ausgeführt, welche zumeist direkt mit den Komponenten des Business Layer kommuniziert. Die Applikation ist daher nur auf drei Schichten verteilt, da der Web Layer übergangen wurde. Ein Beispiel für eine Web1 Aufgrund der Häufigkeit dieser Begriffe sollen die englischen Bezeichnungen übernommen werden. 2 Oder auch als Enterprise Information System (EIS) Layer bezeichnet. Java 2 Platform Enterprise Edition 66 basierte Applikation ist J2EE Applikation 2. Dem Client werden nur mehr dynamisch generierte HTML-Seiten gesendet, welche am Client zumeist in einem Internet Browser visualisiert werden. Die HTML-Seiten werden im Web Layer generiert, beispielsweise mittels JavaServer Pages (JSP) Technologie. Im Web Layer wird allerdings keine Applikationslogik implementiert, diese befindet sich im Business Layer. Bei beiden in Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..1 veranschaulichten Beispielen kommunizieren im letzten Schritt die Komponenten des Business Layer mit den unterschiedlichen Informationssystemen im Data Layer. [Sun 1999] [Pawlan 2001] Die beiden in Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..1 gezeigten Beispiele verdeutlichen einmal eine dreiund einmal eine vierschichtige Architektur. Mehrschichtige Architekturen werden jedoch im Kontext von J2EE grundsätzlich als dreischichtig bezeichnet, da ihre Komponenten auf drei Systeme verteilt sind. Diese sind, wie ebenfalls in Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..1 dargestellt, der Client Rechner, der J2EE Server und der Datenbank-Server. Diese Konstruktion verdeutlicht die Erweiterung gegenüber der klassischen zweischichtigen Client und Server Architektur, welche im Wesentlichen dadurch charakterisiert ist, dass die Applikationslogik nicht auf einen eigenen Server ausgeführt wird, sondern auch am Client Rechner. Die dreischichtige J2EE Architektur erweitert diese zweischichtige Architektur um eine dritte Mittelschicht, welche die Applikationslogik kapselt und diese auf die Serverseite verlagert. [Sun 1999] [Pawlan 2001] Die Client Komponenten dieser mehrschichtigen Architektur werden ganz allgemein als Thin 3 Clients bezeichnet, da sie nur mehr als Interface zur eigentlichen Applikation dienen. Der Vorteil dieser Vorgehensweise liegt darin, dass die Applikationslogik nicht mehr auf viele Client Rechner verteilt ist und gewartet werden muss, sondern auf einem zentralen Server zu finden ist. Dadurch vereinfacht sich die Administration der gesamten Anwendungen und darüber hinaus hat man den Vorteil, dass man sich beim Ausführen der Applikationslogik auf einen stabilen, schnellen und sicheren Server verlassen kann. [Sun 1999] [Pawlan 2001] Die dargestellte, dreischichtige Architektur einer J2EE Applikation erweist sich als durchaus zweckmäßig zur Implementierung eines CMS. Das Modell einer Webbasierten Applikation ist ideal für den Einsatz eines CMS in einer Unternehmung. So können sämtliche Endanwender, seien es Content-Autoren oder Content-Nutzer, über jeden Rechner mit Internetzugang auf das CMS zugreifen. Die Trennung zwischen J2EE Server und Datenbankserver ist ebenfalls vorteilhaft, um grundsätzlich die Applikationslogik von dem Datenbankmanagement-System zu trennen und in dieser Weise eine Unterstützung unterschiedlicher DBMS zu gewährleisten. 3 engl. „dünn“ Java 2 Platform Enterprise Edition 67 Durch den Einsatz von Thin Clients werden einfache anwendungsspezifische Anpassungen des User Interface ermöglicht, da diese Änderungen unabhängig von der eigentlichen Applikationslogik durchgeführt werden können. Damit werden systemspezifische Anpassungen des CMS unterstützt. Schlussendlich bedeutet eine dreischichtige Architektur, wie im vorherigen Absatz bereits erwähnt, eine Reduzierung des Administrationsaufwands, was im Hinblick auf eine durchaus große Anzahl an zu erwartenden Clients eines CMS, die Effizienz des Gesamtsystems merklich verbessern kann. 5.1.3 Container und Komponenten Im vorherigen Abschnitt wurde bereits öfters der Begriff Komponente verwendet. Da dieser Begriff und die damit zusammenhängenden Container ebenfalls ein wesentlicher Aspekt der J2EE Plattform sind, sollen diese Begriffe kurz erläutert werden. Unter einer J2EE Komponente wird eine funktionale Software-Einheit verstanden, welche aus verschiedenen Java Klassen und zugehörigen Dateien besteht. Eine J2EE Komponente ist Teil einer J2EE Applikation und kommuniziert innerhalb dieser Applikation mit anderen Komponenten. Man unterscheidet im Wesentlichen zwischen drei Typen von Komponenten [Pawlan 2001] [Singh et al. 2002]: Client Komponenten: Werden im Gegensatz zu den zwei verbleibenden Komponenten Typen direkt am Client Rechner ausgeführt. Web Komponenten: Basierend auf Java Servlet 4 oder JavaServer Pages 5 (JSP) Technologie dienen Web Komponenten dazu, das User Interface für Webbasierte J2EE Anwendungen zu generieren. Business Komponenten: Die eigentliche Funktionalität, welche die anwendungsspezifische Problemstellungen lösen soll, ist in den Business Komponenten gekapselt. Diese Komponenten basieren auf Enterprise JavaBeans6 (EJB) Technologie. Web und Business Komponenten werden dementsprechend serverseitig am J2EE Server ausgeführt. Das Anwenden serverseitiger Technologien macht allerdings das Berücksichtigen vieler komplexer Details notwendig, wie Ressourcen Pooling oder Multithreading, welche jedoch bereits vom J2EE Server implementiert werden und in der Form eines Containers für die Komponenten zur Verfügung stehen. Ein Container kann praktisch als Interface zwischen den Komponenten und den systemspezifischen Details einer verteilten mehrschichtigen Architektur aufgefasst werden. Ein Container bietet seine Komponenten Services an, welche die gesamte Komplexität der verteilten Anwendung verstecken und es ermöglichen, sich bei der Entwicklung der Komponenten rein auf die Applikationslogik zu konzentrieren. Komponenten können im Kontext einer 4 Siehe http://java.sun.com/products/servlet/ 5 Siehe http://java.sun.com/products/jsp/ 6 Siehe http://java.sun.com/products/ejb/ Java 2 Platform Enterprise Edition 68 J2EE Applikation überhaupt nur dann angewendet werden, wenn sie zuvor in dem entsprechenden Container installiert7 wurden. [Pawlan 2001] Die angebotenen Services eines Containers, wie Transaktionskontrolle oder Sicherheitsaspekte, können teilweise für jede einzelne Komponente unterschiedlich konfiguriert werden. Jede J2EE Komponente enthält einen sogenannten Deployment Descriptor, welcher die komponentenspezifischen Eigenschaften definiert, welche bei der Installation der Komponente in einen Container übernommen werden sollen. Das Verhalten einer Komponente kann daher in vielen Aspekten durch seinen Deployment Descriptor bestimmt werden, ohne in den Programmcode selbst eingreifen zu müssen. [Pawlan 2001] Browser ApplikationsClient ApplikationsClient Container Client Rechner Servlet JSP Seite Web Container Datenbank Enterprise Bean Enterprise Bean EJB Container J2EE Server Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..2: J2EE Server und Containers [Pawlan 2001] Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..2 verdeutlicht das Container Konzept von J2EE. Es zeigt die unterschiedlichen Komponenten und ihre Zuordnung zu den entsprechenden Containern. Die Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..2 veranschaulicht wiederum die Dreischichtigkeit einer J2EE Applikation, wobei der J2EE Server den Web und Business Layer abbildet. Am Client Rechner sind zwei unterschiedliche Client Typen angedeutet. Einerseits der Web-basierte-Client, wobei dynamische HTML-Seiten in einem Browser visualisiert werden und andererseits ein Applikations-Client, welcher als Komponente ebenfalls in In der englischen Literatur wird zumeist der Ausdruck „deployed“ verwendet, welcher nicht unbedingt mit „installiert“ zu übersetzen ist. Sinngemäß wäre „zum Einsatz bringen“ eine bessere Übersetzung, der Einfachheit halber soll allerdings „installiert“ verwendet werden. 7 Java 2 Platform Enterprise Edition 69 einem Container läuft und je nach Anwendung entweder über den Web Container kommuniziert oder direkt mit dem EJB Container (siehe Kapitel 5.1.2). Das Container Konzept bietet einen sehr innovativen Ansatz zur Implementierung von Content Management Systemen, da die Applikation innerhalb des Containers ohne größeren Aufwand skalierbar wird. Da ein CMS auch in großen Unternehmen mit tausenden Mitarbeitern eine akzeptable Performance bieten muss, ist die Skalierbarkeit ein wesentlicher Faktor. Viele Aspekte, welche auf die Performance des Systems Einfluss nehmen, wie Transaktionskontrolle, Datenbankverbindungen oder Life Cycle Management werden den Komponenten durch den Container zur Verfügung gestellt, welcher die Skalierbarkeit in diesen Bereichen gewährleistet. Es können auch mehrere Container auf mehreren Rechnern parallel laufen, womit es möglich ist, dass beispielsweise Clientanfragen auf mehrere Web Container verteilt werden, um eine gleichmäßige Verteilung der Last zu erzielen. Des Weiteren werden durch die Container auch gewisse Sicherheitsaspekte implementiert und den Komponenten zur Verfügung gestellt. Die Web Container der J2EE Plattform unterstützen beispielsweise eine User Authentifizierung und implementieren das Secure Socket Layer (SSL) Protokoll, um die Kommunikation über das Internet zu sichern. Da bei einem CMS viele Client-Zugriffe über das Internet zu erwarten sind und der verwaltete Content für eine Unternehmung durchaus wertvoll sein kann, ist die Unterstützung diverser Sicherheitsmassnahmen der J2EE Plattform sehr vorteilhaft. [Singh et al. 2002] Die komponentenorientierte Softwareentwicklung, wie sie durch die J2EE Plattform unterstützt wird, kann ebenfalls zur Implementierung eines CMS sehr zweckdienlich sein. Die Darstellungen der Kernfunktionen sowie zweckmäßiger Erweiterungen eines CMS haben gezeigt, dass ein CMS unter Umständen sehr umfangreiche Funktionalitäten bieten kann. Die Möglichkeit, hier nach funktionalen Kriterien eine Trennung in Komponenten vorzunehmen, kann die Implementierung des CMS wesentlich erleichtern. Es ist dadurch möglich, eine sinnvolle Arbeitsteilung vorzunehmen und sich voll und ganz auf die Entwicklung gewisser Komponenten zu konzentrieren. Des Weiteren müssen sämtliche Komponenten gar nicht selbst entwickelt werden, sondern könnten auch zugekauft werden. Schlussendlich wird die gesamte Applikation leichter wartbar bzw. erweiterbar, da neue Funktionalität durch weitere Komponenten hinzugefügt werden kann bzw. einzelne Komponenten gezielt durch verbesserte Versionen ausgetauscht werden können. [Singh et al. 2002] 5.1.4 Rollen und deren Aufgabenverteilung Die J2EE Plattform spezifiziert detailliert die Schnittstellen der komponentenorientierten mehrschichtigen Entwicklung von Applikationen. Darunter fallen beispielsweise die angebotenen Services der Container, der Umfang der zu unterstützenden APIs oder die Struktur der unterschiedlichen Komponenten. Aufgrund dieser genauen Richtlinien lassen sich unterschiedliche Rollen ableiten, welche eine sinnvolle Java 2 Platform Enterprise Edition 70 Arbeitsteilung im gesamten Entwicklungsprozess einer J2EE Applikation ermöglichen. Jede Rolle definiert bestimmte Arbeitsschritte, welche unabhängig von den anderen beteiligten Rollen ausgeführt werden können. Folgende Rollen werden von der J2EE Plattform unter anderem definiert [Singh et al. 2002] [Pawlan 2001]: J2EE Produkt Anbieter: Implementiert die J2EE Plattform nach den Richtlinien der J2EE Spezifikationen. Der J2EE Produkt Anbieter stellt die Container bereit, die APIs sowie sämtliche Features der J2EE Platform. Applikations-Komponenten Anbieter: Implementiert die einzelnen Komponenten, welche als Bausteine einer J2EE Applikation dienen. Die Expertise der Applikations-Komponenten Anbieter liegt dabei in erster Linie auf dem anwendungsspezifischen Wissen zur Lösung der geforderten Applikationslogik. Applikations-Assembler: Fügt eine Menge an Komponenten, welche vom Applikations-Komponenten Anbieter implementiert wurden, zu einer J2EE Applikation zusammen, um für einen anwendungsspezifischen Zweck eine Lösung zu bieten. Der Applikations-Assembler nimmt in der Regel keinen Einfluss mehr auf den Programmcode der Komponenten, sondern nimmt alle notwendigen Konfigurationen anhand des Deployment Descriptor (siehe 5.1.3) vor und erstellt des Weiteren genaue Richtlinien, wie die Applikation zu konfigurieren ist. Deployer: Der Deployer ist dafür verantwortlich, eine J2EE Applikation auf einer J2EE Plattform zu installieren bzw. verfügbar zu machen. Er folgt dabei den genauen Angaben des Applikations-Assemblers, um sämtliche Konfigurationen richtig vorzunehmen. Typische Aufgaben in dieser Rolle wären das Konfigurieren der Sicherheitsrichtlinien oder unterschiedlicher Datenbankanbindungen. In weiterer Folge übernimmt der Deployer die Rolle des Administrators und überwacht und kontrolliert die Ausführung der J2EE Applikation. Tool Anbieter: Während sämtliche bisher dargestellten Rollen in ihrer Reihenfolge in etwa dem tatsächlichen Verlauf des Entwicklungsprozesses einer J2EE Applikation entsprechen, ist die Rolle des Tool Anbieters eher außerhalb des Entwicklungsprozesses zu sehen und dafür verantwortlich, Tools zu liefern, welche für die bisher erörterten Rollen eine Hilfestellung bieten. Ein mögliches Tool wäre beispielsweise eine grafische Unterstützung bei der Erstellung des Deployment Descriptor. Ein sehr wesentlicher Aspekt der J2EE Plattform ist die klare Trennung zwischen den J2EE Produkt Anbietern und den Applikations-Komponenten Anbietern. Dadurch kann der Entwicklungsaufwand für mehrschichtige, verteilte Applikationen klar in zwei große Aufgabengebiete aufgeteilt werden. Einerseits in das Bereitstellen einer Infrastruktur für verteilte Applikationen und andererseits in die Implementierung der eigentlichen Applikationslogik. Dies verdeutlicht den Vorteil einer Implementierung eines CMS basierend auf J2EE, da man sich hauptsächlich auf die eigentliche Java 2 Platform Enterprise Edition 71 Applikationslogik konzentrieren kann und von diversen angebotenen Services der J2EE Plattform profitieren kann. Des Weiteren impliziert die klar definierte Rollenverteilung, dass verschiedene Rollen von verschiedenen Anbietern erfüllt werden können. So kann beispielsweise die J2EE Plattform von verschiedenen J2EE Produkt Anbietern implementiert werden und damit können die Komponenten-Entwickler zwischen verschiedenen Implementierungen wählen. Zugleich ist dadurch gewährleistet, dass bei Ausfall eines Anbieters dieser Aufgabenbereich durch einen gleichwertigen Anbieter ersetzt werden kann und man dadurch in keine technologische Abhängigkeit durch einen bestimmten Anbieter gerät. Da Unternehmungsanwendungen, wie eben beispielsweise ein CMS, zumeist große Investitionen darstellen, ist der zuletzt dargestellte Aspekt durchaus von Bedeutung. 5.2 Web Services Web Services sind eine relativ neue Technologie zur Kopplung verteilter Applikationen über das Internet, unabhängig von Plattform oder Programmiersprache und werden von der J2EE Plattform durch diverse APIs unterstützt. Aufgrund der Relevanz von Web Services innerhalb der J2EE Plattform sowie zahlreicher möglicher Anwendungen für Content Management Systeme sollen Web Services in diesem Abschnitt etwas detaillierter erörtert werden. Der Einsatz von verteilten Applikationen mit Clients, welche mit der Darstellung von HTML-Seiten nur ein Minimum an eigener Logik implementieren (siehe Kapitel 5.1.2), hat sich spätestens nach der schnellen Ausbreitung des WWW als besonders zweckmäßig erwiesen, unabhängig von der Entwicklung von J2EE. Die Möglichkeiten der Darstellung von HTML-Seiten im Browser des Endanwenders sind durchaus ausreichend, um anspruchsvolle User Interfaces bereitzustellen, jedoch bietet HTML nicht genügend strukturierte Informationen, um es als sinnvolle Kopplung von Rechnersystemen nutzen zu können. Angebotene Dienste oder Serviceleistungen über das Internet sind daher in erster Linie nur für den Menschen nutzbar und sind zur automatisierten Nutzung durch Applikationen nur bedingt zugänglich. [Hein et. al 2003] Diese Einschränkung soll allerdings durch Web Services aufgehoben werden. Web Services verwenden grundsätzlich die gleiche Technologie wie sie auch die WWW Entwicklung mit sich gebracht hat, nur ist das XML basierte Austauschformat so strukturiert und mit den notwendigen Informationen über die übertragenen Daten angereichert, dass Applikationen damit effizient umgehen können. Das Besondere an diesem Szenario ist, dass Web Services plattformunabhängig sind und grundsätzlich sämtliche Applikationen, unabhängig davon in welcher Programmiersprache sie implementiert wurden, miteinander kommunizieren können. Dieser Ansatz ist natürlich nicht neu, beispielsweise sei auf die Common Object Request Broker Architecture 8 8 Siehe http://www.corba.org/ Java 2 Platform Enterprise Edition 72 (CORBA) verwiesen, welche im Grunde dieselben Zielsetzungen wie Web Services verfolgt, aber nie wirklich eine breite Anwendung gefunden hat. [Hein et. al 2003] Web Services bieten jedoch entscheidende Vorteile gegenüber ähnlichen Technologien, wodurch sich eine schnelle Verbreitung der Web Service Technologie einstellen könnte. Web Services basieren auf bereits eingesetzten und bewährten Technologien wie XML oder HTTP und erleichtern daher das Anwenden sowie das Erlernen von Web Services. Durch den Einsatz eines textbasierten Austauschprotokolls mittels XML wird die gesamte Kommunikation transparent und kann einfacher implementiert bzw. auf mögliche Fehler durchsucht werden. [Hein et. al 2003] Web Services setzen sich im Wesentlichen aus drei Standards zusammen, welche alle auf XML basieren. Diese sind [Wolter 2001]: Simple Object Access Protocol 9 (SOAP): SOAP ist das KommunikationsProtokoll von Web Services. Es definiert wie Nachrichten im XML Format zwischen kommunizierenden Applikationen aussehen sollen. Web Service Description Language10 (WSDL): Mit WSDL wird das Interface zu einem Web Service festgelegt. Der Anbieter eines Web Service definiert damit, wie ein Client der das Web Service nützen möchte, es auch richtig ansprechen kann. Universal Description, Discovery and Integration11 (UDDI): UDDI beschreibt eine Infrastruktur, die es ermöglicht, Web Services zu registrieren und damit für eine Vielzahl von Interessenten leicht auffindbar zu machen. Um ein Web Service anzubieten, muss es grundsätzlich nicht mit UDDI registriert werden, wenn jedoch eine breite Anwendung des Web Service angestrebt wird, sollte eine Registrierung auf jeden Fall vorgenommen werden. Die J2EE Plattform bietet eine sehr umfangreiche Unterstützung zur Implementierung von Web Services. Neben einer Unterstützung durch entsprechende APIs sind Aspekte wie Skalierbarkeit, Sicherheit und Performance ebenso für einen effektiven Einsatz von Web Services relevant. Diese Anforderungen werden jedoch aufgrund der Architektur der J2EE Plattform berücksichtigt. Folgende Technologien bzw. APIs der J2EE Plattform kommen im Kontext von Web Services zum Einsatz [Armstrong et al. 2003]: 9 Java API for XML Processing12 (JAXP): Zum effizienten Bearbeiten von XML Daten innerhalb einer Java Applikation (siehe Kapitel 5.3). SOAP with Attachments API for Java 13 (SAAJ): Bietet die Möglichkeit XML Dokumente in Form von SOAP Nachrichten zu verschicken. Siehe http://www.w3.org/TR/SOAP/ 10 Siehe http://www.w3.org/TR/wsdl/ 11 Siehe http://www.uddi.org/ 12 Siehe http://java.sun.com/xml/jaxp/ 13 Siehe http://java.sun.com/xml/saaj/ Java 2 Platform Enterprise Edition 73 Java API for XML-based RPC 14 (JAX-RPC): Diese Technologie bietet eine Infrastruktur um Remote Procedure Calls15 (RPC) sehr einfach durchzuführen. Diese Technologie basiert auf SOAP und WSDL, um die Kommunikation durchzuführen sowie sämtliche benötigten Klassen 16 zu generieren. Sehr vereinfacht ausgedrückt würde es genügen, eine Java Klasse nach den Richtlinien von JAX-RPC zu erstellen, diese in Form einer Komponenten im Web Container zu installieren und damit wären die Methoden der Klasse als Web Service zugänglich. Java API for XML Registries17 (JAXR): Bietet eine komfortable Möglichkeit auf Web Service Register basierend auf UDDI zuzugreifen. Web Services bieten für die Implementierung von Content Management Systemen sehr innovative Verwendungsmöglichkeiten. Aufgrund der möglichen Kopplung von unterschiedlichsten Applikationen ergeben sich Anwendungsmöglichkeiten in der Integration. Web Services könnten beispielsweise als Schnittstelle benutzt werden, um Content aus unterschiedlichen Altsystemen in einer Unternehmung zu integrieren. Mit Web Services könnte aber auch ein Content Syndication betrieben werden, indem Content einerseits über ein Web Service angeboten wird und andererseits relevanter Content von einem externen Anbieter in das CMS einbezogen wird. Des Weiteren ergibt sich durch Remote Procedure Calls die Möglichkeit, das CMS um Funktionen zu erweitern, welche im Kontext von CMS interessant sind. Wird zum Beispiel ein WAI Validator als Web Service angeboten, könnte ein CMS diese Funktion integrieren. Denkbar wäre auch ein Web Service, welches aus Bildern automatisiert eine semantisch äquivalente textuelle Beschreibung extrahieren kann. Ein CMS könnte dieses Service nutzen, um beim Einfügen eines neuen Bildes in das CMS das Bild mit sinnvollen Metainformationen zu versehen, womit es leichter auffindbar wird. Grundsätzlich können durch Web Services sämtliche denkbaren Funktionalitäten in ein CMS einbezogen werden. Der große Vorteil ist, dass Funktionalitäten von Applikationen genutzt werden können, welche nicht ausschließlich auf Java Technologien basieren. Der Nachteil ist, dass Funktionalitäten, welche man integrieren möchte, natürlich als Web Services zur Verfügung stehen müssen. 5.3 Relevante Technologien Die J2EE Plattform bietet noch weitere Technologien bzw. APIs, welche im Bezug auf die Implementierung eines CMS durchaus vorteilhaft sein können. In diesem Abschnitt 14 Siehe http://java.sun.com/xml/jaxrpc/ 15 Ein RPC ist der Aufruf einer Funktion auf einem entfernten Rechner. 16 Man spricht zumeist von stubs und ties. 17 Siehe http://java.sun.com/xml/jaxr/ Java 2 Platform Enterprise Edition 74 soll eine Auswahl an relevanten Technologien aufgezeigt werden und deren Bezug zu Content Management Systemen erläutert werden. Die J2EE Plattform ist besonders durch sehr umfassende Möglichkeiten der Integration unterschiedlicher Systeme gekennzeichnet, wie beispielsweise die bereits erörterte Web Service Technologie (siehe Kapitel 5.2). Eine weitere in diesem Kontext interessante Technologie ist die J2EE Connector Architecture18. Durch diese Technologie berücksichtigt die J2EE Plattform das Integrieren unterschiedlichster bereits existierender Informationssysteme innerhalb einer Unternehmung, wie beispielsweise Enterprise Resource Planning (ERP) oder Customer Relationship Management (CRM). [Rodoni 2001] Weitere Technologien, welche J2EE Applikationen zur Verfügung stehen und Integrationsaspekte berücksichtigen, sind [Singh et al. 2002]: Java Database Connectivity (JDBC) API 19 : Die JDBC API bietet eine datenbank-unabhängige Verbindung zwischen der J2EE Plattform und einer Vielzahl relationaler Datenquellen. Java Transaction API 20 (JTA): Ermöglicht eine Transaktionskontrolle über mehrere in eine J2EE Applikation integrierte, heterogene Informationssysteme. Java Interface Definition Language (IDL) 21 : Unterstützt die Integration von CORBA Services. Die Integration sämtlicher Datenbestände innerhalb einer Unternehmung in das CMS ist ein wichtiger Aspekt für den erfolgreichen Einsatz eines CMS. Aufgrund der Vielfalt an Integrationstechnologien erweist sich die J2EE Plattform als sehr gut geeignet für die Implementierung sämtlicher Integrationsvorhaben eines CMS. Es sei aber auch darauf verwiesen, dass natürlich die Effizienz bzw. Einfachheit der Integration auch dadurch determiniert wird, inwieweit die vorgegebenen Standards eingehalten bzw. unterstützt werden, wie beispielsweise bei der J2EE Connector Architecture. Weitere relevante Technologien, welche durch die J2EE Plattform angeboten werden, sind [Armstrong et al. 2003] [Singh et al. 2002]: Java API for XML Processing (JAXP): Durch diese Technologie wird ein komfortabler Umgang mit XML Daten innerhalb einer Java Applikation gewährleistet. JAXP unterstützt die Parser Standards SAX und DOM um XML Daten als eine Folge von Events einzulesen oder sie in einer Baumstruktur abzubilden. Weiters bietet JAXP eine Unterstützung für XML Schema sowie für XSLT, um beliebige XML Transformationen durchzuführen (siehe Kapitel 4.1.1). Des Weiteren wurde JAXP derart konzipiert, dass die eigentliche Implementierung der XML Verarbeitung ausgetauscht werden kann, um nach 18 Siehe http://java.sun.com/j2ee/connector/ 19 Siehe http://java.sun.com/products/jdbc/ 20 Siehe http://java.sun.com/products/jta/ 21 Siehe http://java.sun.com/products/jdk/idl/ Java 2 Platform Enterprise Edition 75 unterschiedlichen Kriterien (z.B. Performance oder Speicherbedarf) die geeignete Implementierung zu wählen. JAXP zeigt eine Unterstützung der wesentlichen Standards im Bereich von XML und bietet daher komfortable Möglichkeiten, XML Daten innerhalb einer CMS Applikation effizient einzubeziehen. Java Naming and Directory Interface22 (JNDI): Mit JNDI wird unter anderem ein Zugriff auf Directory Services geboten, womit beispielsweise eine Unterstützung für Standards wie LDAP gegeben wird (siehe Kapitel 3.2.4 Zugriffskontrolle). Für die Implementierung eines CMS wird damit die Möglichkeit geboten, auf bereits existierende Benutzerdaten innerhalb einer Unternehmung zuzugreifen. JavaMail API23: Mit dieser Technologie wird das Versenden von Emails aus einer Java Applikation unterstützt. Die möglichen Verwendungen von Emails innerhalb eines CMS wurden bereits erörtert (siehe 3.2.6), womit sich die JavaMail API als durchaus vorteilhaft zur Implementierung eines CMS erweist. Java Internationalisation APIs: Durch verschiedene APIs wird die Internationalisierung einer J2EE Applikation unterstützt. Aspekte wie das Auslagern sprachabhängiger Texte aus dem eigentlichen Programmcode oder die richtige Formatierung von Zahlen-, Währungs-, Datums- und Zeitangaben werden damit berücksichtigt. Die Java Programmierumgebung codiert Texte intern als Unicode, womit die Java Plattform grundsätzlich mit sämtlichen existierenden Sprachen umgehen kann. Die Internationalisierung eines CMS ist ein wichtiger Aspekt, womit eine Unterstützung in diesem Bereich bei der Implementierung sehr wichtig ist. Es sei allerdings erwähnt, dass die genannten Java APIs eher auf die Internationalisierung der Applikation bzw. des User Interfaces ausgerichtet sind und nicht automatisch Internationalisierungsaspekte des Content innerhalb des CMS berücksichtigen. 5.4 Schlussbemerkung Die in diesem Kapitel dargestellten Konzepte und Technologien zeigen, dass sich die J2EE Plattform sehr gut als Basis zur Implementierung eines Content Management Systems eignet. Grundsätzlich lassen sich keine APIs bzw. Technologien der J2EE Plattform identifizieren, welche eine direkte Unterstützung für die Funktionen eines CMS darstellen, jedoch bietet die J2EE Plattform viele Services, welche eine effiziente und komfortable Implementierung eines CMS ermöglichen. Die wesentlichsten in diesem Kapitel diskutierten Vorteile der J2EE Plattform sind in Tabelle Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..1 zusammengefasst. Um eine grobe Gliederung der J2EE Konzepte bzw. Technologien 22 Siehe http://java.sun.com/products/jndi/ 23 Siehe http://java.sun.com/products/javamail Java 2 Platform Enterprise Edition 76 vorzunehmen, werden diese in Tabelle Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..1 den erörterten Funktionen eines CMS aus Kapitel 3 und 4 zugeordnet. Es sei allerdings darauf verwiesen, dass diese Zuordnung nicht bedeutet, dass dadurch gewisse Funktionen eines CMS vollständig realisiert werden können. Die Zuordnung verdeutlicht mehr eine mögliche Unterstützung bei der Implementierung dieser Funktionen des CMS. CMS Funktion Architektur (Kap. 5.1.2) Content Organisation Trennung zwischen Data und Business Layer Erzeugung Web-basierte Architektur Container Konzept (Kap. 5.1.3) Komponenten Konzept (Kap. 5.1.3) Web Services (Kap. 5.2) Weitere Technologien (Kap. 5.3) Publikation User Authentifizierung sowie gesicherte Kommunikation mittels SSL Content Kontrolle Information Retrieval JavaMail API Collaboration Integration Administration J2EE Connector Architecture Thin Clients erleichtern systemspezifische Anpassungen Erleichterung der Administration aufgrund serverseitiger Applikationslogik Unterstützung der Skalierbarkeit Erleichterung der Implementierung sämtlicher Funktionalitäten eines CMS durch die Komponentenorientierung Möglichkeit der Integration von Content sowie sämtlicher Funktionalitäten unterschiedlichster Systeme, unabhängig von Plattform und Programmiersprache JDBC API Java Transaction API Java IDL Java Naming and Directory Interface Internationalisierung Java Internationalisation APIs XML Java API for XML Processing Barrierefreier Informationszugang Digital Right Management PortalFunktionalität Digital Asset Management Tabelle Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..1: Vorteile der J2EE Plattform für ein CMS Java 2 Platform Enterprise Edition 77 Ein wesentlicher Vorteil der J2EE Plattform im Hinblick auf die Umsetzung eines Content Management Systems ist die einfache Skalierbarkeit von J2EE Applikationen. Aufgrund des Container Konzepts wird die Komplexität verteilter Anwendung versteckt und man kann sich bei der Implementierung voll und ganz auf die eigentliche Problemstellung der Applikation konzentrieren. Ein zweiter wesentlicher Aspekt ist die Berücksichtigung vieler Integrationsmöglichkeiten der J2EE Platform. Durch eine Vielzahl an Technologien wird eine Kommunikation bzw. Integration mit anderen Systemen unterstützt. Integrationsmöglichkeiten mit bestehenden Informationssystemen innerhalb einer Unternehmung sind im Kontext eines CMS sehr wichtig, um sämtlichen in der Unternehmung existierenden Content zu verwalten. Sehr vorteilhaft für die Implementierung eines CMS sind auch die diversen Möglichkeiten der J2EE Plattform, funktionale Erweiterungen vorzunehmen. Dies ist einerseits durch das Komponenten-Konzept möglich, wobei man allerdings auf die J2EE Plattform beschränkt ist oder andererseits durch Web Services, welche eine Programmiersprachen unabhängige Kommunikation zwischen Applikationen ermöglichen. Die zu erwartende Bedeutung von Web Services in der Zukunft wird in der J2EE Plattform durch eine umfangreiche Unterstützung dieser Technologie verdeutlicht. Die Unterstützung einer mehrschichtigen Web-basierten Architektur sowie weitere relevante Technologien für die Umsetzung eines CMS vervollständigen die Vorzüge der J2EE Plattform und machen sie zu einer gut geeigneten Entwicklungsumgebung für effiziente und zielführende Content Management Systeme. Nach dieser grundsätzlichen Evaluierung der J2EE Plattform werden nun im nächsten Kapitel konkrete Implementierungen von Content Management Systemen basierend auf J2EE untersucht. 6 Implementierungen von Content Management Systemen In diesem Kapitel soll ein Überblick über Implementierungen von Content Management Systemen gegeben werden. Die folgenden Darstellungen unterteilen sich zu diesem Zweck in zwei Bereiche, einerseits CMS Lösungen im kommerziellen Bereich und andererseits im Open Source Bereich. Sämtliche erörterten Systeme basieren dabei auf der im vorherigen Kapitel erläuterten Entwicklungsumgebung Java 2 Platform, Enterprise Edition. Die Darstellung einer Auswahl an konkreten CMS Lösungen soll aufzeigen, welchen Funktionsumfang existierende Systeme bieten und inwiefern die bisher in der vorliegenden Arbeit identifizierten Anforderungen eines Content Management Systems (siehe Kapitel 3 und 4) Berücksichtigung finden. Zu diesem Zweck werden die gewonnenen Erkenntnisse aus den Erörterungen der kommerziellen sowie Open Source Lösungen jeweils im Anschluss an die Darstellungen der konkreten Systeme kurz zusammengefasst. Als Abschluss des Kapitels werden sämtliche in den Kapiteln 3 und 4 identifizierten Anforderungen eines CMS den aus diesem Kapitel vorgestellten CMS Implementierungen gegenübergestellt, um auf eine Erfüllung bzw. Nichterfüllung der Anforderungen zu schließen. 6.1 Kommerzielle CMS Lösungen Es ist das Ziel dieses Abschnittes, einen Überblick über kommerzielle CMS Implementierungen mit einer Unterstützung für J2EE Technologien zu geben. Es ist im Rahmen der vorliegenden Arbeit nicht möglich, den gesamten CMS Markt zu berücksichtigen, da es weltweit bereits unzählige Anbieter gibt. In der Produktdatenbank einer bekannten deutschen Website rund um das Thema Content Management findet man derzeit beispielsweise 299 Einträge im Bereich Enterprise Content Management1 [CMS Produktfinder 2003]. Der Autor der vorliegenden Arbeit möchte mit den folgenden Erörterungen einen Überblick über Produkte führender Anbieter geben, um damit einen Eindruck zu vermitteln, welcher Funktionalitätsumfang im kommerziellen Bereich zu erwarten ist. Die Auswahl dieser Produkte erfolgt anhand 1 Diese Zahl berücksichtigt nicht eine Unterstützung von J2EE. Implementierungen von Content Management Systemen 79 von Auflistungen bekannter bzw. führender CMS Implementierungen bei namhaften Analysten wie Ovum2 oder Forrester Research3. Sämtliche dargestellten Produkte ordnen sich selbst dem Enterprise Content Management zu und bieten dementsprechend anspruchsvolle Lösungen, um sämtlichen Anforderungen an Content Management in großen Unternehmungen nachzukommen. Es würde den Rahmen der vorliegenden Arbeit bei weitem sprengen, eine genaue Evaluierung sämtlicher Funktionen vorzunehmen, deswegen beschränken sich die Darstellungen auf einen groben Überblick. Es erweist sich auch oft sehr mühselig, aus den Produktbeschreibungen der einzelnen, kommerziellen Anbieter ein objektives Bild der gebotenen Funktionen der einzelnen Systeme zu extrahieren. Es sei jedoch noch darauf verwiesen, dass es bereits eine Vielzahl an professionellen Analysten gibt, welche zum Teil sehr detaillierte Evaluierungen von bekannten Content Management Systemen anbieten, wie beispielsweise Forrester Research, Contentmanager.de 4 , NewMediaSales.com 5 oder Ovum. Leider sind qualitativ hochwertige Informationen zumeist kostenpflichtig. Die folgenden Darstellungen beziehen sich fast ausschließlich auf die Produktbeschreibungen der einzelnen Anbieter auf ihren Websites. 6.1.1 VIP Enterprise 8 Die Gauss Interprise AG 6 bietet mit ihrem Produkt VIP Enterprise 8 ein Enterprise Content Management System für große, verteilte Unternehmungen. VIP Enterprise setzt sich aus unterschiedlichen Softwaremodulen zusammen, welche aufbauend auf einem gemeinsamen Content Repository die Erstellung, Verwaltung, Personalisierung, Optimierung und Bereitstellung unternehmensweiter Inhalte und Geschäftsprozesse ermöglichen sollen. Die wesentlichen Softwaremodule sind: VIP ContentManager: Ermöglicht das effiziente Erstellen, Verwalten und Ausliefern von Inhalten jedweder Art, sowie die Verwaltung von Websites. VIP PortalManager: Bietet einen personalisierten Zugang auf den Content der gesamten Unternehmung. VIP DocManager: Unterstützt klassisches Dokument Management, d. h. Erfassen und Verwalten auch von papierbasierten Dokumenten. VIP WorkflowManager: Ermöglicht die Organisation, Automatisierung und Optimierung von Geschäftsprozessen. Darüber hinaus definiert VIP Enterprise Objects einen integralen Layer, welcher für sämtliche kommunikative Aufgaben sowohl innerhalb als auch außerhalb VIP 2 Siehe http://www.ovum.com/ 3 Siehe http://www.forrester.com/ 4 Siehe http://www.contentmanager.de/ 5 Siehe http://www.newmediasales.com/ 6 Siehe http://www.gaussvip.com/ Implementierungen von Content Management Systemen 80 Enterprise 8 verantwortlich ist und somit als Bindeglied zwischen den einzelnen VIP Komponenten fungiert. Die wesentlichen Elemente und deren Aufgaben der VIP Enterprise Objects sind: VIP Connectors: Ermöglichen beispielsweise die Integration diverser ERP, CRM oder Datenbanken namhafter Hersteller. VIP WebServices: Bieten eine Unterstützung der Web Service Technologie, um Dienste von VIP Enterprise bereitzustellen, Content Syndication zu ermöglichen oder externe Applikationen und Dienstleistungen einzubeziehen. VIP APIs: Programmierschnittstellen zur Implementierung unternehmensspezifischer Anpassungen. In Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..1 werden die bisher erläuterten Module und deren Beziehung zueinander grafisch dargestellt. Aufgrund des modularen Aufbaus von VIP Enterprise kann es Schritt für Schritt erweitert werden, um so den Anforderungen einer Unternehmung gerecht zu werden. Es stehen noch eine Vielzahl weiterer Module zur Auswahl, wie zum Beispiel der VIP ContentMiner zur Integration innovativer Suchmöglichkeiten. Der VIP ContentMiner findet die semantischen Zusammenhänge einzelner Worte und führt darauf basierend eine intelligente Suche aus. [VIP Enterprise 2003] Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..1: Architektur von VIP Enterprise 8 VIP Enterprise 8 präsentiert sich als ein sehr umfassender Ansatz für ein effektives Content Management und unterstützt klassisches Dokument Management ebenso wie die Erfassung von strukturiertem Content für eine optimierte Darstellung des Content auf unterschiedlichen Kanälen. Damit soll es möglich sein, sämtliche Content-Typen Implementierungen von Content Management Systemen 81 gleich effizient in einem kohärenten System zu verwalten. Das Content Management Modul ist Web-basiert und zeigt im Wesentlichen eine volle Abdeckung sämtlicher Kernfunktionen und bietet durch die VIP Enterprise Objects sehr gute Integrationsmöglichkeiten. 6.1.2 Vignette V7 Die Plattform Vignette V7 der gleichnamigen Firma Vignette 7 stellt einen Lösungsansatz für die Bereiche Content Management sowie Portale dar. Vignette V7 steht für eine Vielzahl an Einzelprodukten, welche je nach den Anforderungen der Unternehmungen individuell zusammengestellt werden können. Mit dem Einzelprodukt Vignette Content Management wird das effiziente Erzeugen, Verwalten und Publizieren von Content unterstützt, wobei der Schwerpunkt beim Publikationsmedium am Web liegt. Der Zugriff auf den Content sowie sämtliche Managementaufgaben können über ein einheitliches Web Interface vorgenommen werden, welches im Kontext von Vignette V7 als Command Center bezeichnet wird. Das Command Center greift über ein so genanntes Virtual Repository auf den zu verwaltenden Content zu. Dieses Virtual Repository soll sämtlichen in einer Unternehmung vorhandenen Content von strukturierten XML Dateien bis hin zu unstrukturierten multimedialen Content über eine einheitliche Schnittstelle verfügbar machen, um so den gesamten Content für Web Sites bzw. Portale zu nutzen. Existierender Content innerhalb der Unternehmung kann dabei in den entsprechenden bereits vorhandenen Informationssystemen liegen bleiben und wird über das Virtual Repository einfach integriert. Diese Integration wird ermöglicht durch Vignette Business Integration Studio. Das zuletzt genannte Tool bietet eine grafische Oberfläche zur Erstellung von Content-Adaptern zwischen existierenden Systemen und der Vignette V7 Plattform. Natürlich werden bereits Adapter zu bekannten ERP oder CRM Systemen angeboten. Für die Bearbeitung des von Vignette verwalteten Content werden diverse Eingabewerkzeuge unterstützt, wie zum Beispiel Microsoft Office, Web Browser oder XML Erstellungswerkzeuge, um den Content-Autoren weiterhin ein Arbeiten mit bereits im Einsatz befindlichen Tools zu erlauben. Die Vignette Content Management Applikation bietet allerdings auch einen so genannten Content Type Modeller, um neue ContentTypen zu definieren und zu verwalten wie News, Artikel oder Produktbeschreibungen. Weitere interessante Produkte der Vignette V7 Plattform sind: 7 Vignette Analysis & Reporting: Ermöglicht es, die Zugriffe auf eine Website zu messen, analysieren und darzustellen. Vignette Process Workflow Modeler: Unterstützt die grafische Modellierung von Workflows. Siehe http://www.vignette.com/ Implementierungen von Content Management Systemen 82 Vignette Application Portal: Bietet die Möglichkeit eines personalisierten Zugangs auf den gesamten Content der Unternehmung und unterstützt durch mitgelieferte und einsatzfertige Portlets, Services wie Collaboration, Terminplanung, News oder Email. Vignette V7 unterstützt XML sowie Web Services um basierend auf bekannten Standards einfache Integrationsmöglichkeiten zu bieten sowie den verwalteten Content auch außerhalb der Vignette Plattform zugreifbar zu machen. [Vignette 2003] Die einzelnen Produkte der Vignette V7 Plattform verdeutlichen einen sehr umfassenden und professionellen Ansatz für Content Management, stellen jedoch auch eine sehr große Investition dar. Der durchschnittliche Verkaufspreis bei Vignette liegt bei US$ 321.000. [TechRankings 2003] 6.1.3 DB2 Content Manager 8.2 Mit DB2 Content Management bezeichnet IBM8 ihre gesamte Plattform für Lösungen im Bereich Enterprise Content Management, um ein effizientes Verwalten von digitalem Content in jeder Form zu ermöglichen. Der IBM DB2 Content Manager ist das Kernprodukt der gesamten Plattform, welcher in erster Linie den gesamten Content von einfachen Text Dateien bis hin zu komplexen multimedialem Content organisieren soll. Interessant ist der Aspekt, dass die Architektur des DB2 Content Managers eine Trennung zwischen der Speicherung des eigentlichen Content und der Speicherung sämtlicher organisatorischer Informationen vorsieht. Die Architektur besteht im Wesentlichen aus den folgenden fünf Elementen [IBM DB2 2003a]: 8 Library Server: Der Library Server ist die zentrale Stelle, um die Metadaten des verwalteten Content zu speichern. Aufgaben wie Zugriffskontrolle oder das lokalisieren des tatsächlichen Speicherorts des Content werden hier behandelt. Resource Manager: Bei dem Resource Manager handelt spezialisierten Content-Speicher, welcher den eigentlichen Während es grundsätzlich nur einen Library Server gibt, mehrere Resource Manager in einer typischen DB2 Architektur. Mid-tier Server: Stellt die Verbindung zwischen Library Server und den Webbasierten Clients dar. eClient: Ein Web-basierter Client, welcher ein einheitliches Interface zur gesamten Content Management Applikation darstellt. Content-Anfragen des Client gehen über den Mid-tier Server an den Library Server und werden dort behandelt. Darf der Client den entsprechenden Content abrufen, so läuft dies im Wesentlichen über eine direkte Verbindung mit dem entsprechenden Resource Manager. Siehe http://www.ibm.com/ es sich um einen Content speichert. existieren zumeist Content Manager Implementierungen von Content Management Systemen 83 Client for Windows: Ein Desktop Client für Windows Systeme, welcher funktional mit dem eClient vergleichbar ist. Mit dieser Architektur begründet IBM eine skalierbare und leicht erweiterbare Plattform für ein effektives Content Management. Mit den diversen Erweiterungen der IBM Content Management Plattform ist es beispielsweise möglich, große multimediale Dateien effizient zu verwalten sowie Streaming Video oder Audio zur Verfügung zu stellen. Es gibt aber auch Komponenten für das Verwalten von papierbasierten Dokumenten in digitalisierter Form. Des Weiteren gibt es eine eigene Komponente, um Digital Right Management Funktionalitäten zur Verfügung zu stellen. Die Aufbereitung und Publikation des gesamten von DB2 Content Manager verwalteten Content für Websites wird ebenfalls in einer eigenen Web Content Management Komponente angeboten. Integrationsaspekte werden ebenfalls entsprechend berücksichtigt und erlauben es, diverse bereits vorhandene Content-Speicher in einer Art und Weise zu integrieren, als ob sie Teil von IBM Content Manager wären. Mit den zahlreichen Komponenten des IBM Content Manager umfasst IBM Dokument-, Web Content-, Asset- sowie Right Management und begründet damit einen effektiven Ansatz, sämtlichen Content einer Unternehmung zu verwalten. [IBM DB2 2003] IBM Content Management stellt den wohl umfassendsten Ansatz von den in diesem Abschnitt vorgestellten kommerziellen CMS Lösungen dar. Es sei allerdings nochmals erwähnt, dass es im Rahmen der Recherchearbeiten für dieses Produkt aufgrund der Vielzahl an unterschiedlichen IBM Lösungen sowie Dokumentationen, welche eher auf einem abstrakten Niveau die Hauptmerkmale der IBM Produkte beschreiben, ein tatsächlicher Einblick in den Funktionsumfang von IBM Content Manager relativ schwer fällt. Aufgrund der Komplexität der IBM Produkte muss man auch mit entsprechend hohen Kosten rechnen, wobei der durchschnittliche Verkaufspreis bei IBM Content Manager bei US$ 350.000 liegt. [TechRankings 2003] 6.1.4 FileNet P8 Mit FileNet P8 bietet die gleichnamige Firma FileNet9 eine Vielzahl an Produkten für Enterprise Content Management, welche sich wiederum in beliebiger Kombination zusammenstellen lassen. Die wesentlichen Komponenten sind: 9 FileNet Content Manager: Ermöglicht das Organisieren und Verwalten von Content von der Erzeugung bis hin zur Archivierung. FileNet Web Content Manager: Dient zum Erstellen und Verwalten von komplexen Websites in unterschiedlichen Sprachen. Unterstützt die Aufbereitung von Content zur Darstellung in unterschiedlichen Formaten. FileNet Image Manager: Unterstützt die Speicherung und Verwaltung von papierbasierten Dokumenten in digitalisierter Form. Siehe http://www.filenet.com/ Implementierungen von Content Management Systemen 84 FileNet Business Process Manager: Dient zur Erstellung und Verwaltung komplexer Geschäftsprozesse innerhalb einer Unternehmung. FileNet P8 bietet eine Reihe weiterer Module bzw. Adapter, welche eine Integration von Datenquellen namhafter Hersteller erlauben. Sämtliche Komponenten der FileNet P8 Plattform greifen wiederum über eine einheitliche Schnittstelle auf den Content zu, unabhängig ob sich der Content in einem von FileNet verwalteten oder externen Datenspeicher befindet. FileNet P8 setzt bei Integrationsaspekten ebenfalls auf offene Standards wie XML und Web Services, um in diesem Bereich möglichst flexibel zu sein. Portal-Funktionalitäten werden von FileNet P8 kaum berücksichtigt, dafür gibt es jedoch eine Unterstützung einer leichten Integration in Portal-Lösungen namhafter Anbieter. Erwähnenswert ist der Aspekt, dass FileNet einen barrierefreien Informationszugang unterstützt und sich derzeit im Prozess der Evaluierung sämtlicher FileNet Produkte hinsichtlich eines barrierefreien Zugangs befindet. FileNet P8 präsentiert sich als eine sehr umfangreiche Plattform, um einerseits klassischem Dokument Management nachzukommen und andererseits die Erzeugung von hochstrukturiertem Content zu ermöglichen sowie eine professionelle Gestaltung von Websites zu gewährleisten. [FileNet 2003] Die Investitionskosten in ein derartiges System sind allerdings wiederum erheblich, der durchschnittliche Verkaufspreis bei FileNet liegt bei US$ 125.000. [TechRankings 2003] 6.1.5 Zusammenfassung Aus den Darstellungen einiger CMS Implementierungen führender Anbieter lassen sich einige interessante Aspekte ableiten. Beispielsweise zeigen alle Systeme eine sehr modulare Architektur. Einzelne Funktionen werden in unterschiedlichen Modulen angeboten und lassen sich individuell kombinieren. Dies entspricht der identifizierten Konsequenz aus den zahlreichen erörterten Erweiterungen eines CMS in Kapitel 4 (siehe Kapitel 4.4). Es zeigt sich auch, dass manche Aspekte aus Kapitel 4 durchaus Berücksichtigung in anspruchsvollen Enterprise CMS Lösungen finden. Hinsichtlich der Ausführungen aus Kapitel 3 lässt sich bei sämtlichen Produkten grundsätzlich eine breite Abdeckung der identifizierten Anforderungen erkennen. Interessant ist, dass die meisten Systeme Wert darauf legen, bei der Content-Erzeugung eine Unterstützung für häufig verwendete Autoren Werkzeuge, wie beispielsweise Microsoft Word, zu bieten. Autoren soll es ermöglicht werden, weiterhin in ihrer gewohnten Umgebung zu arbeiten und das CMS übernimmt im Hintergrund sämtliche Managementaufgaben. Des Weiteren fällt auf, dass die Integration mit bestehenden Datenquellen innerhalb der Unternehmung ein wichtiger und oft betonter Punkt bei CMS Anbietern ist. In diesem Zusammenhang lässt sich bei den meisten Systemen ein Layer erkennen, welcher auf der einen Seite durch diverse Adapter unterschiedliche Datenquellen integriert und auf der anderen Seite eine Plattform darstellt, auf der die unterschiedlichen Module eines Anbieters aufbauen um über eine einheitliche Schnittstelle Zugriff auf sämtlichen Implementierungen von Content Management Systemen 85 Content zu haben, unabhängig wo sich der Content tatsächlich befindet. Die meisten CMS Anbieter unterstützen bereits die Integration von Informationssystemen namhafter Hersteller durch eine Vielzahl von Adaptern. Allerdings lässt sich hier kein einheitlicher Ansatz erkennen, sodass jeder CMS Anbieter seine nativen Adapter für gewisse zu integrierende Systeme anbietet. Zu bemerken wäre noch, dass im Kontext der Integration externer Content-Quellen fast bei allen Systemen Web Services (siehe Kapitel 5.2) sowie XML (siehe Kapitel 4.1.1) eine bedeutende Rolle zukommt. Sämtliche betrachteten Systeme stellen Lösungen für ein Enterprise Content Management System dar und man erkennt deutlich das Bestreben der diversen Anbieter, auf die Möglichkeiten der Verwaltung sämtlicher in einer Unternehmung vorkommender Content-Typen hinzuweisen. Die dargestellten Systeme machen jedoch eher den Eindruck einer Dokument Management Lösung, da schwerpunktmäßig die Erfassung von sämtlichem in der Unternehmung vorhandenen Content in zumeist unstrukturierter Form im Vordergrund steht, und nicht ein durchgängiges Einhalten der Anatomie des Content (siehe Kapitel 2.3.1). Nach Meinung des Autors der vorliegenden Arbeit erkennt man dadurch, dass sich anspruchsvolle Content Management Systeme aus bewährten Dokument Management Systemen entwickelt haben und die Verwendung bzw. Einführung des ContentBegriffes auch aus Marketinggründen stattgefunden hat, um auf die Innovativität des entsprechenden Produkts hinzuweisen (siehe Kapitel 2.2.3). Allerdings muss man auch festhalten, dass Content Management grundsätzlich sämtlichen Content effizient verwalten soll (siehe Kapitel 2.2.2). Da in einer Unternehmung zumeist Unmengen an unstrukturiertem Content bereits existieren – wie z.B. multimediale Dateien oder Dokumente in proprietären Formaten – kann nicht zu einem bestimmten Zeitpunkt verlangt werden, dass für ein CMS die Anatomie sämtlichen Contents vollständig offen liegt. Der Autor der vorliegenden Arbeit stimmt mit der Meinung der Autoren Wilkoff et. al überein, welche die Entwicklung eines ECMS als eine Vermischung diverser Technologien sehen, nämlich Web Content-, Dokument- und Asset Management (siehe Kapitel 2.2.3 sowie 4.2.3). Während in den vergangenen Jahren für diese drei Bereiche zumeist drei getrennte Management Systeme implementiert wurden, entwickeln sich heute so genannte Enterprise Content Management Systeme, welche eine kohärente Lösung für die drei zuvor erwähnten Einzeldisziplinen darstellen. [Wilkoff et. al 2001] Das Bestreben, Content strukturiert zu erfassen und eine getrennte Speicherung von Struktur, Inhalt und Darstellungsform zu gewährleisten wird dabei am ehesten für Web Content realisiert. Die verbleibenden Content-Typen wie Dokumente oder multimediale Dateien werden im Wesentlichen weiterhin in ihrer ursprünglichen Form in spezialisierten Komponenten einer einheitlichen ECMS Lösung verwaltet. Wobei für die zuletzt genannten Content-Typen Aspekte wie Versionierung, Zugriffskontrolle oder Suchmöglichkeiten im Kontext der erörterten Systeme eher im Vordergrund stehen als eine durchgängige maschinelle Erfassbarkeit der Anatomie des Content. Implementierungen von Content Management Systemen 6.2 86 Open Source CMS Lösungen Im folgenden Abschnitt sollen CMS Implementierungen aus dem Open Source Bereich erörtert werden. Nimmt man keine Einschränkungen vor, so findet sich schnell eine große Anzahl an Open Source Projekten, welche sich der Kategorie Content Management Systeme zuordnen lassen10. Es existiert auch eine internationale Organisation namens OSCOM11 mit dem Ziel, ein Netzwerk aufzubauen, um einen möglichst schnellen und effektiven Gedankenaustausch unter den diversen Open Source Entwicklern zu ermöglichen. Einzelne Open Source Projekte habe auch bereits ein sehr professionelles Niveau erreicht und entwickeln sich in Zeiten von gekürzten IT Budgets als eine interessante Alternative zu den teilweise sehr großen Investitionen, welche im kommerziellen Bereich verlangt werden. [McGrath 2002] In diesem Abschnitt soll eine Auswahl an J2EE-basierten Open Source Content Management Systemen dargestellt werden. Ausgewählt wurden in erster Linie Produkte, welche aufgrund von Bekanntheit, guter Dokumentation oder innovativen Ideen einen professionellen Eindruck vermitteln. OpenCms bzw. das Red Hat CMS werden beispielsweise bei [McGrath 2002] als interessante Alternativen zu kommerziellen Produkten genannte und werden auch regelmäßige bei OSCOM Konferenzen vorgestellt. Die folgenden Ausführungen basieren nicht ausschließlich auf Literaturrecherche der Produkt-Dokumentationen, sondern, da es sich ja um frei erhältliche Systeme handelt, auch auf praktischen Eindrücken. In diesem Zusammenhang seien die ersten drei nachfolgenden Systeme besonders hervorgehoben, da sie alle eine leicht zu installierende Demo Version bieten, welche es ermöglicht, in kurzer Zeit eine Eindruck über die gebotenen Funktionalitäten zu erhalten. Die folgenden Darstellungen sollen kurz die Funktionsweise der einzelnen Systeme erörtern. Abschließend erfolgt wiederum eine kurze Zusammenfassung interessanter Aspekte, welche sich aus den Open Source CMS Darstellungen extrahieren lassen. 6.2.1 OpenCms 5.0 OpenCms ist ein Content Management System, dessen Schwerpunkt auf einer einfachen und effizienten Umsetzung sowie Verwaltung komplexer Websites liegt. Die Idee und Entwicklung dieses Systems begann bereits 1994. Als Open Source Projekt wurde es jedoch erst im Jahr 2000 veröffentlich und seit 2002 obliegt die offizielle Koordination weiterer Entwicklungen von OpenCms der Firma Alkacon Software12. Da es sich bei OpenCms um ein echtes Open Source Projekt handelt, sind keinerlei Lizenzgebühren zu 10 Für Auflistungen diverser Open Source CMS Implementierungen sei man beispielsweise auf http://www.opensourcecms.com/ bzw. http://www.la-grange.net/cms verwiesen. 11 Siehe http://www.oscom.org/ 12 Siehe http://www.alkacon.com/ Implementierungen von Content Management Systemen 87 zahlen. Die Verwendung der OpenCms Software unterliegt den Bestimmungen der GNU Lesser General Public License13. OpenCms ist eine Web-basierte Applikation und verlangt daher vom Client Rechner nur einen Web Browser und eine Internet Verbindung. Sämtliche Interaktion mit dem Content Management System erfolgt über den sogenannten OpenCms Workplace. Nachdem sich der Benutzer authentifiziert hat, zeigt der Workplace in einem Explorer View den Content der Website, wie es in Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..2 veranschaulicht ist. Die Visualisierung ähnelt der bekannter Datei Manager – links befindet sich eine hierarchische Darstellung von Ordnern und rechts sieht man den Inhalt des ausgewählten Ordners. Sämtlicher dargestellter Content befindet sich allerdings nicht im Dateisystem, sondern in einem, im Kontext von OpenCms bezeichneten Virtual File System (VFS). Dieses VFS implementiert sein eigenes Rechtesystem und speichert sämtliche Daten in einer Datenbank, womit der Einsatz des VFS unabhängig vom verwendeten Betriebssystem erfolgt. Im VFS sind grundsätzlich alle benötigten Komponenten für ein Website Projekt zugänglich wie beispielsweise Templates, HTML-Seiten, Bilder oder binäre Daten, wobei allerdings je nach dem aktuellen Benutzer unterschiedliche Zugriffsrechte definiert sein können. Das Layout von Websites wird in OpenCms grundsätzlich über Templates festgelegt und der eigentliche Content kann beispielsweise mittels eines komfortablen WYSIWYG (What You See Is What You Get) Editor eingegeben werden, wodurch allerdings unstrukturierter HTML Code produziert wird. Der WYSIWYG Editor bietet jedoch die Möglichkeit Bilder sowie binäre Dateien, welche in OpenCms in eigenen Ordnern übersichtlich verwaltet werden, einfach per Drag & Drop in der gerade bearbeiteten Seite zu platzieren. Damit ist ein sehr einfaches und effizientes Erstellen von Web Seiten möglich, ohne jegliche HTML Kenntnisse zu besitzen. Es wird allerdings in OpenCms auch die Möglichkeit unterstützt, strukturierten Content zu erfassen. Durch die Definition von Content-Items ist es möglich, strukturierten Content, wie z.B. News oder Job Angebote, zu definieren. Dieser strukturierte Content kann in einer eigenen Ordner-Struktur organisiert werden und über komfortable Formulare editiert und erstellt werden. Aufgrund der Struktur ist es möglich, diese Content-Items in unterschiedlicher Detaillierung auf verschiedenen Seiten darzustellen14. 13 14 Siehe http://www.gnu.org/licenses/lgpl.html Diese Aspekte der strukturierten Content Erfassung in OpenCms werden im nachfolgenden Kapitel noch detaillierter erörtert (siehe Kapitel 8.2.2). Implementierungen von Content Management Systemen 88 Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..2: Explorer View von OpenCms Der gesamte Inhalt einer Website kann in OpenCms in mehrere Projekte unterteilt werden, um so für verschiedene Bereiche einer Website unterschiedliche Verantwortlichkeiten für Autoren zu vergeben. Grundsätzlich erfolgen sämtliche ContentÄnderungen Offline. Das bedeutet, der Content der tatsächlich auf der Website nach außen hin publiziert wird, bleibt unverändert. Dadurch können diverse Änderungen vorgenommen und betrachtet werden, ohne dabei Einfluss auf die aktuelle Online Version der Website zu nehmen. Nachdem die Änderungen von einer verantwortlichen Person begutachtet worden sind, können sie publiziert werden und sind damit auch nach außen hin sichtbar. OpenCms erlaubt es, auch in einer Workflow Komponente verschiedene Aufgaben, wie z.B. das Ändern einer gewissen Seite zu definieren und einer gewissen Person zuzuweisen. Eine Benachrichtigung über anstehende Aufgaben sowie deren Erledigung per Email ist ebenfalls vorgesehen. OpenCms implementiert eine eigene Benutzerverwaltung, bietet aber derzeit noch keine Synchronisation mit eventuell bereits in einer Unternehmung vorhandenen Benutzerdaten. Durch die Benutzerverwaltung und entsprechende Zugriffsrechte ist es auch möglich, bestimmte Bereiche der publizierten Website nur für gewisse Benutzer zugänglich zu machen. Zu diesem Zweck erlaubt OpenCms die Definition eigener Web User, welche sich auf einer von OpenCms verwalteten Website einloggen können und darauf hin aufgrund ihrer Rechte Zugriff auf gewisse Bereiche der Website erhalten. Web User können sich jedoch nicht in den OpenCms Workplace einloggen, um gewisse Verwaltungstätigkeiten auszuüben. [OpenCms 2003] Implementierungen von Content Management Systemen 6.2.2 89 Jahia 4.0 Jahia stellt eine Content Management sowie Portal-Lösung dar und ist ein Produkt der Firma Jahia Ltd15. Bei Jahia handelt es sich um kein Open Source Projekt im eigentlichen Sinn, das bedeutet, der Programmcode ist zwar frei zugänglich und darf für Test und Entwicklungszwecke beliebig verwendet werden, für eine kommerzielle Benutzung des Produkts muss allerdings eine Lizenzgebühr gezahlt werden. Bei der Verwendung eines Jahia Servers mit unlimitierter Benutzeranzahl wäre zurzeit eine Lizenz von € 30.000 zu zahlen. Es steht allerdings jedem frei, selbst an diesem Software Projekt mitzuwirken, wodurch die geforderten Lizenzgebühren verringert bzw. vollständig erlassen werden können. Die Verwendung der Jahia Software unterliegt den Bestimmungen der Jahia Collaborative Source License16, welche die zuvor erwähnten Aspekte der Benutzung detailliert erörtert. Bei Jahia handelt es sich wiederum um eine vollständig Web-basierte Applikation, deren Schwerpunkt das Managen komplexer Websites ist. Des Weiteren unterstützt Jahia so genannte Portlets, um zugleich Portal-Funktionalitäten zu bieten. Mit Portlets wird eine Schnittstelle definiert, durch die in einer einfachen Weise das Integrieren von Funktionalitäten oder externen Content in einer von Jahia verwalteten Website möglich ist. So kann beispielsweise jedem Benutzer des Systems eine eigene Portalseite zugeordnet werden, welche individuell vom jeweiligen Benutzer gestaltet werden kann. In einer einfachen Vorgehensweise kann die Auswahl unterschiedlicher Portlets sowie das Layout bzw. die Anordnung der Portlets konfiguriert werden, da sämtliche Änderungen direkt in der endgültigen Ansicht der Website vorgenommen werden (siehe auch unten). Jahia stellt zugleich eine Vielzahl an fertigen Portlets zur Verfügung, um diverse Funktionalitäten, wie z.B. FAQ, Diskussionsforen oder To-Do Listen sofort nutzen zu können. Grundsätzlich werden bei Jahia die Content-Struktur und die Darstellung für ein Ausgabemedium in einem gemeinsamen Template definiert. Nach Meinung des Autors der vorliegenden Arbeit entspricht diese Vorgehensweise nicht unbedingt der Theorie über Content Management, weil dadurch dir klare Trennung zwischen Struktur und Darstellung verloren geht. Eine Seite auf einer von Jahia verwalteten Website besteht daher aus einem Template, gefüllt mit in einer Datenbank verwalteten Content. Jahia definiert gewisse Grundtypen, wie z.B. Text, Datum oder Zahl und erlaubt es, innerhalb eines Templates diese Typen unterschiedlich zu gruppieren um dadurch strukturierten Content zu erzeugen. Das Erzeugen und Editieren von Content gestaltet sich sehr komfortable und erfolgt direkt auf der entsprechenden Seite der Website. Um Änderungen am Content vorzunehmen, muss man sich zuerst einloggen und vorausgesetzt man hat die richtigen Rechte, kann man die gewünschte Seite der Website in einen Editiermodus schalten. Im 15 Siehe http://www.jahia.com/ 16 Siehe http://www.jahia.org/download/documentation/jcsl.pdf Implementierungen von Content Management Systemen 90 Editiermodus ist das Layout der Website im Grunde gleich, nur erscheinen an den diversen Elementen der Website Icons, um Text hinzuzufügen bzw. zu editieren, neue Seiten anzulegen oder Portlets hinzuzufügen. Diese Ansicht ist in Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..3 veranschaulicht. Es gibt auch eine Unterstützung für mehrsprachigen Content, indem man im Editiermodus einfach die Sprache der Website umstellen kann, um so an den gleichen Stellen den Content in unterschiedlichen Sprachen einzugeben. Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..3: Editiermodus von Jahia Werden Änderungen vorgenommen, so werden diese nicht sofort auf der für alle zugänglichen Website publiziert. Vielmehr stehen nun zwei neue Ansichten zur Verfügung, um einerseits eine Voransicht der Veränderungen zu sehen (ohne die notwendigen Icons für das Verwalten des Content) und andererseits grafisch aufbereitet die Änderungen im Vergleich zur aktuell publizierten Website anzuzeigen (siehe Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..3 links oben). Um die Änderungen tatsächlich zu übernehmen, muss ein vorgegebener Workflow durchlaufen werden. Content-Autoren markieren zuerst die modifizierten Seiten, um sie für eine Validierung freizugeben. Ein Manager mit den entsprechenden Rechten kann danach die Änderungen akzeptieren, womit die Implementierungen von Content Management Systemen 91 Seite tatsächlich publiziert wird oder gegebenenfalls zurückgewiesen wird. Jede Aktion bezieht sich dabei auf eine Seite in einer bestimmten Sprache und kann des Weiteren mit einem Kommentar zur Dokumentierung versehen werden. Jahia zeigt auch umfangreiche Möglichkeiten im Bereich der Administration bzw. Integration. So erlaubt beispielsweise ein Virtual Site Management das Definieren mehrerer voneinander unabhängiger Websites, um auf einem Jahia Server verschiedene Websites zu managen. Des Weiteren können einzelne Websites vollständig gesichert werden oder auch in einem XML konformen Format exportiert werden. Dem Administrator wird auch die Möglichkeit geboten, sich über aufgetretene Probleme beim Betrieb des Jahia Server per Email informieren zu lassen. Jahia implementiert natürlich auch eine eigene Benutzerverwaltung sowie ein eigenes Rechtesystem und unterstützt den LDAP Standard, um bestehende Benutzer Accounts zu integrieren. Das Rechtesystem erlaubt es auch, bestimmte Bereiche der publizierten Website nur für gewisse Benutzer zugänglich zu machen. Aufgrund der Rechte eines angemeldeten Benutzers auf einer von Jahia verwalteten Website wird der Zugriff auf die einzelnen Bereiche der Website geregelt und sofern der aktuelle Benutzer gewisse Ressourcen auch bearbeiten darf, wird ihm an den entsprechenden Stellen das Umschalten in den Editiermodus angeboten. Das Anlegen von speziellen Web Usern, wie beispielsweise beim OpenCms (siehe Kapitel 6.2.1), ist bei Jahia nicht vorgesehen. Schlussendlich können von Jahia verwaltete binäre Daten, welche über die Website herunter geladen werden können, über eine WebDAV Schnittstelle von externen Applikationen angesprochen werden (siehe Kapitel 3.2.4). [Jahia 2003] 6.2.3 Ion 0.8 Bei Ion handelt es sich um ein bei SourceForge.net 17 registriertes Open Source Projekt 18 . Ion ist ein Content Management System mit dem Schwerpunkt auf der Verwaltung von Websites. Die Versionsnummer 0.8 deutet bereits an, dass es sich bei Ion noch um keine stabile Endversion handelt, allerdings gibt es bereits eine funktionierende Demo Version, welche konsequent die XML Technologie zur Speicherung und Visualisierung von Content nutzt und damit die Vorteilhaftigkeit dieser Technologie im Kontext von Content Management Systemen verdeutlicht. Das Ion Projekt unterliegt den Bestimmungen der GNU General Public License19. Ion ist ein Web-basiertes CMS und bietet im Wesentlichen zwei verschiedene Bereiche, um sämtliche Funktionalitäten des CMS zu nutzen. Einerseits das Ion Backoffice, um Content zu erzeugen und zu verwalten und andererseits die Ion Admin Application, um diverse administrative Tätigkeiten vorzunehmen. Im Ion Backoffice wird der Content in einer hierarchischen Ordnerstruktur, ähnlich wie bei OpenCms (siehe Kapitel 6.2.1), 17 Siehe http://sourceforge.net/ 18 Siehe http://sourceforge.net/projects/ion-cms 19 Siehe http://www.gnu.org/licenses/gpl.html Implementierungen von Content Management Systemen 92 verwaltet. Die durch diese Ordnerstruktur verwalteten Content-Objekte haben jedoch alle gewisse Eigenschaften gemeinsam. Ein Content-Objekt, im Kontext von Ion, basiert auf einem gewissen Typ, womit eine in XML definierte Struktur des Content verstanden wird20. Die Content-Eingabe erfolgt durch Formulare, um die strukturierte Content-Erfassung zu ermöglichen. Gespeichert wird der eingegebene Content wiederum in einem XML konformen Format. Basierend auf XSLT können für jeden Content-Typ unterschiedliche Darstellungen definiert werden, welche in weiterer Folge den verwalteten Content in der gewünschten Form visualisieren. Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..4: Formular zur strukturierten Content-Eingabe bei Ion Das Anlegen und Verwalten dieser zuletzt erläuterten Content-Typen erfolgt in der Ion Admin Application und im Ion Back Office wird der eigentliche Content, unter Berücksichtigung der Struktur verschiedener definierter Content-Typen, eingegeben. Die Darstellung der Formulare zur Content-Bearbeitung im Back Office Bereich ist ebenfalls durch eine XSLT Transformation definiert, womit anwendungsspezifische Anpassungen sehr leicht möglich sind. Abbildung Error! Use the Home tab to apply 20 Diese Strukturdefinition des Content basiert allerdings nicht auf XML Schema oder einer DTD sondern auf einer für Ion spezifischen XML Struktur. Implementierungen von Content Management Systemen 93 Überschrift 1 to the text that you want to appear here..4 zeigt ein Formular zur Content-Eingabe in Ion. Für die Publikation des verwalteten Content auf Websites werden eigene Templates definiert, welche das Layout der Website definieren. Das definierte Layout wird mit Content angereichert, indem der XML basierte Content aus dem Ion Back Office mit einer, für den entsprechenden Content-Typen definierten Transformation, aufbereitet wird. Negativ anzumerken ist, dass zurzeit relativ wenig Dokumentation über das Ion Projekt zur Verfügung steht, um einen umfassenden Überblick über die Funktionalitäten und Bedienung dieses Content Management Systems zu erhalten. Ion zeigt jedoch sämtliche Kernfunktionen, welche ein innovatives CMS berücksichtigen sollte. Die Eingabe von mehrsprachigen Content wird berücksichtigt, es gibt gute Suchmöglichkeiten, eine Workflow Unterstützung und auch eine Benutzerverwaltung, welche allerdings noch nicht die Integration von externen Benutzer Accounts vorsieht. Des Weiteren gibt es auch die Möglichkeit, von Ion generierten Websites einen statischen Export zu erzeugen, um so die Website auch auf einem einfachen Web Server, ohne Unterstützung für eine dynamische Seitengenerierungen, zu installieren. Natürlich wird durch diese Vorgehensweise auch die Performance der Website erhöht, da nichts mehr dynamisch generiert werden muss, allerdings gehen auch Funktionen, wie ein Suchen auf der Website verloren. [Ion 2003] [Ion 2003a] 6.2.4 Red Hat CMS 5.0 Die Firma Red Hat Inc.21, auch bekannt durch ihr Open Source Betriebssystem Red Hat Linux, bietet mit Red Hat Applications innovative Open Source Lösungen für Unternehmungen. Die zwei wesentlichen Produkte sind das Red Hat Content Management System sowie Red Hat Portal Server. Interessant ist, dass die zwei zuletzt genannten Produkte auf einem einheitlichen Framework basieren, dem Red Hat Web Application Framework, welches häufig verwendete Funktionalitäten für die Entwicklung von Web Applikationen kapselt. Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..5 zeigt die Architektur der Red Hat Applications. Es ist grundsätzlich möglich, die gesamte Architektur auf Basis von Open Source Komponenten zu realisieren, wobei idealerweise als Betriebssystem das Red Hat Enterprise Linux zum Einsatz kommen sollte. Das Red Hat CMS unterliegt der Content and Collaboration Management Public License22. 21 Siehe http://www.redhat.com/ 22 Siehe http://www.redhat.com/licenses/ccmpl.html Implementierungen von Content Management Systemen 94 Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..5: Architektur der Red Hat Applications Red Hat CMS dient in erster Linie zur Erstellung und Verwaltung von Websites und erlaubt dementsprechend eine strukturierte Erfassung von Content für eine möglichst flexible Publikation auf Web Sites. Ein Web-basierter Workplace erlaubt sämtliche Interaktionen mit dem System. Sämtlicher Content wird in der Form von Content-Items erfasst, wobei allen Content-Items gewisse Charakteristiken gemeinsam sind: Jeder Content-Item ist einem gewissen Typ zugeordnet, wodurch die Struktur des Items definiert wird. Jeder Content-Item kann mit unterschiedlichen Templates assoziiert werden, für eine bedarfsgerechte Publikation. Die Erstellung eines jeden Content-Item kann durch einen eigenen Workflow gesteuert werden. Content-Items können durch Kategorien hierarchisch geordnet werden. Das Definieren eines neuen Content-Typs erweist sich nicht unbedingt als eine triviale Aufgabe und bedarf der Erstellung einiger Java Klassen. Man ist dadurch allerdings relativ flexibel und kann beispielsweise für jeden Content-Typ einen spezifischen Eingabedialog zur Content-Erfassung definieren. Die Generierung der Templates basiert auf der XSLT Technologie (siehe Kapitel 4.1.1). Da die Speicherung der Content-Items in einem proprietären Datenbank Schema erfolgt, werden bei der Publikation die Content-Items zuerst in ein XML konformes Format konvertiert und danach einer XSLT Transformation unterzogen, worauf sie zumeist in HTML auf einer Website dargestellt werden. Wie schon zu Begin dieses Abschnittes angedeutet, besteht das Red Hat CMS im Grunde aus zwei getrennten Komponenten. Das Red Hat Web Application Framework, welches bereits fundamentale Funktionen wie Benutzerverwaltung, Zugriffskontrolle oder Workflow implementiert und das eigentliche Red Hat Content Management System, welches im Wesentlichen nur mehr das Interface implementiert, um sämtliche Managementaufgaben durchzuführen. Ideal ergänzt werden kann das Red Hat CMS Implementierungen von Content Management Systemen 95 durch den Red Hat Portal Server. Damit ergeben sich verbesserte Möglichkeiten der Collaboration sowie ein personalisierter Zugang auf den gesamten verwalteten Content. Das Red Hat CMS bietet des Weiteren eine Unterstützung für LDAP und unterstützt auch Content Syndication durch den RSS Standard (siehe Kapitel 3.2.7). Das Red Hat System zeigt sich mit allen seinen Funktionen als eine sehr flexible und professionelle Open Source CMS Lösung. [Red Hat CMS 2003] [Red Hat CMS 2003a] 6.2.5 Zusammenfassung Interessant ist der Aspekt, dass sämtliche dargestellten Open Source Content Management Systeme den Schwerpunkt auf die Verwaltung und Publikation von Content für Websites legen. Allerdings sei erwähnt, dass eine strukturierte ContentErfassung ein essentieller Aspekt ist und dadurch der Content zumeist in seinen drei wesentlichen Bestandteilen, Struktur, Darstellungsform und Inhalt verwaltet wird. Die Möglichkeiten einer unterschiedlichen Publikation des Content werden zwar zumeist berücksichtigt, allerdings, wie bereits angedeutet, steht die Publikation für Websites im Vordergrund. Die getrennte Erfassung der Anatomie des Content wird dennoch zumeist als wichtiger Punkt betont, um leicht Änderungen des Layouts von Websites vornehmen zu können sowie eine effektive Arbeitsteilung, beispielsweise zwischen ContentAutoren und Web Designer, zu gewährleisten. Die erörterten Systeme zeigen jedoch alle Schwächen bei der Integration von externem Content. Während fast alle kommerziellen Systeme auf Integrationsmöglichkeiten von Datenquellen namhafter Hersteller hinweisen, bleiben diese Aspekte bei Open Source Produkten weitestgehend unberücksichtigt. Die Open Source CMS Lösungen präsentieren sich daher eher als spezialisierte Lösung, um Content strukturiert zu erfassen und die Publikation sowie Verwaltung von Websites ideal zu unterstützen und nicht als ein ganzheitlicher Ansatz den gesamten in einer Unternehmung vorhandenen Content in einem kohärenten und skalierbaren System zu erfassen. Jedoch zeigt sich auch die Kombination von CMS sowie Portal-Lösungen im Open Source Bereich, wodurch es zumeist möglich ist, über Portlets externen Content in einem einheitlichen Interface darzustellen. Allerdings wird dadurch eher nur eine Aggregation von Content-Quellen im User Interface erreicht und keine Integration des Content in die eigentliche Datenbasis des CMS, um so den integrierten Content für sämtliche Funktionalitäten des CMS zugänglich zu machen. Allgemein ist es bei Open Source Lösung natürlich vorteilhaft, dass aufgrund des Vorliegens eines Source Codes systemspezifische Anpassungen von jedem Programmierer grundsätzlich durchgeführt werden können. Des Weiteren entfallen normalerweise bei Open Source Applikationen die Lizenzgebühren für die Software. Allerdings handelt es sich bei den erörterten CMS Implementierungen bereits um relativ komplexe Systeme, welche auch eine Anpassung sowie eine Einführungsphase in die Unternehmung notwendig machen. Zu diesem Zweck stehen hinter den einzelnen Open Source CMS Lösungen zumeist verschiedene Firmen, welche entsprechendes Know- Implementierungen von Content Management Systemen 96 how, natürlich nicht unentgeltlich, anzubieten haben. Eine zielgerichtete und effiziente Anwendung von Open Source Content Management Lösungen ist daher selten ohne Investitionskosten realisierbar. 6.3 Funktionsumfang Nach den Darstellungen verschiedener CMS Implementierungen sollen abschließend sämtliche dargestellten Systeme, anhand der in den vorhergehenden Kapiteln identifizierten Funktionen bzw. Anforderungen eines innovativen CMS, evaluiert werden. Es würde den Rahmen der vorliegenden Arbeit sprengen, jedes CMS einer detaillierten Diskussion über die Erfüllung bzw. Nichterfüllung jeder einzelnen Anforderung zu unterziehen. Tabelle Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..1 zeigt alle in Kapitel 3 und 4 identifizierten Anforderungen (siehe Kapitel 3.3 sowie 4.3) und sämtliche erörterten Content Management Systeme. Die Erfüllung bzw. Nichterfüllung der Anforderungen wird durch folgende Symbole verdeutlicht. Mit einem vollem Punkt (●) wird eine gute, mit einem Minus (−) eine nicht zufrieden stellende Umsetzung symbolisiert. Ein Kreis (○) soll eine nicht vollständig zufrieden stellende Realisierung ausdrücken bzw. auch andeuten, dass das Nachvollziehen der Erfüllung der entsprechenden Anforderung nicht gänzlich gewährleistet war. Es sei darauf verwiesen, dass die vorliegende Tabelle Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..1 im Wesentlichen auf diversen Dokumentationen und Beschreibungen der einzelnen Produkte basiert und diese besonders im kommerziellen Bereich nicht immer detailliert über die gewünschten Informationen Auskunft geben. Das vorliegende Ergebnis soll daher als ein qualitativer Überblick erachtet werden und nicht als eine Entscheidungsgrundlage für eine mögliche Systemauswahl. Die Ergebnisse in Tabelle Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..1 verdeutlichen eine sehr gute Abdeckung der Kernfunktionen, im kommerziellen wie auch im Open Source Bereich. Bei den Open Source Systemen mangelt es teilweise an Integrationsaspekten, beispielsweise die Integration von externen Applikationen zur Content-Bearbeitung oder Integrationsmöglichkeiten mit Datenbeständen anderer Systeme. Content Syndication wird bei den Open Source Systemen auch selten berücksichtigt, jedoch umso mehr im kommerziellen Bereich, wobei hier eine zunehmende Anwendung der Web Service Technologie (siehe Kapitel 5.2) zu erkennen ist. Etwas schwierig gestaltet sich die Evaluierung der Archivierungsfunktion, da es teilweise aufgrund mangelnder Dokumentation schwer nachvollziehbar ist, inwiefern Aspekte einer langjährigen, authentischen Archivierung berücksichtigt werden. Die Evaluierung der Administrationsfunktion gestaltete sich ebenfalls etwas diffizil, da oftmals nur die Features der einzelnen Systeme dokumentiert sind und notwendige Supportfunktionen wie Administrationsaspekte nicht in derselben Detaillierung Implementierungen von Content Management Systemen 97 ausgeführt sind. Auffallend im Kontext der Administration ist jedoch, dass die Unterstützung des LDAP Standards zur Integration von Benutzerdaten im kommerziellen Bereich immer gegeben ist, im Open Source Bereich jedoch nur teilweise zu finden ist. Bei den zweckmäßigen Erweiterungen ist die Erfüllung der identifizierten Anforderungen weitaus spärlicher. Die Nutzung der XML Technologie ist jedoch bei allen System zu erkennen. Aspekte eines barrierefreien Informationszugangs werden hingegen fast nie berücksichtigt oder zumindest nicht erwähnt. Das Bereitstellen eigener Portal-Funktionen ist jedoch bei mehreren Systemen zu erkennen, was auf die zu erwartende Vereinigung von Portal und Content Management Lösungen schließen lässt (siehe auch Kapitel 4.2.2). Implementierungen von Content Management Systemen 98 Vignette V7 IBM DB2 CM 8.2 FileNet P8 OpenCms 5.0 Jahia 4.0 Ion 0.8 Red Hat CMS 5.0 ● ● ● ○ ● ○ ● ● ● ● ● ● ● ○ ● ● ● − ● ○ ● ○ ● ○ ● ○ ● ● ● − ● ○ ● ● ● − ● ● ● ● ● ○ ● ● ● ● ● ● ● ● ○ ○ ○ ● ● ● ● ● ● ● − ● ● ● ● ● ○ ● ● ● ● ● ● ● ● ○ ● ○ ● ● ● ● ● ● ● − ○ ○ ● ● ● ○ ● ● ● ○ ● ○ ● ○ ○ ○ ○ ● ● ● ○ ● ○ ○ − ● ○ ● ● ● ○ ● ● ● ○ ● ○ ● ● ○ ● ○ ● ● ● ● ● ○ ● ● ○ ○ ● ● ● ○ ● ○ ● − ○ ● − − ● ○ − ● − ● ○ ● ● − − ○ ● ● ● ● ○ ● ○ ● ● ● ● ○ − ● ○ ● ● ● ● ● ● ● − − ● ○ ○ ● ● ○ ● ○ ○ − ● ○ − − ○ − − ● − ○ ● ● ● − − ● ○ ● ● ● ○ ● ● ● ● ● ○ ○ ● ○ − − ● ● ● ● ● ○ ● − − − − − − − − − − − − − − − − − Bereitstellen von DRM Funktionalitäten oder Integration mit DRM Systemen − − ● − − − − − Einfache Integrationsmöglichkeiten in Portal- Systeme Bereitstellen eigenständiger PortalFunktionalitäten Bereitstellen von DAM Funktionalitäten oder Integration mit DAM Systemen Innovative Suchmöglichkeiten auch für multimedialen Content − − − ● − − − − ● ● ○ − − ● − ● − − ● − − − − − − − − − − − − − Content Organisation Anlegen von benutzerdefinierten Attributen Link Management Unterstützung unterschiedlicher DBMS Einhaltung der Anatomie des Content Browserbasierte Content-Eingabe Integration externer Applikationen zur Content-Bearbeitung Unterschiedliche Visualisierungen des Content Personalisierung des Content auf Websites Zugriffskontrolle Check-In und Check-Out Mechanismus Versionierung Archivierung Content Kontrolle Kernfunktionen ● ○ ● ● ● ● Anforderungen Publikation Information Retrieval Collaboration Integration Administration Internationalisierung XML Zweckmäßige Erweiterungen ● ● ● ● ● ● Funktionen Erzeugung Barrierefreier Informationszugang Digital Right Management Portal-Funktionalität Digital Asset Management Open Source VIP Enterprise 8 Kommerziell Suchmöglichkeiten Workflow Integration von Email Unterstützung für Collaboration Systemspezifische Anpassungsmöglichkeiten des CMS Import und Export von Content Integrationsmöglichkeiten mit Datenbeständen anderer Systeme Content Syndication und Providing Backup Möglichkeiten Protokollierung und Analyse Auto. Erkennen kritischer Situationen Benutzerverwaltung Synchronisation mit Directory Services Skalierbarkeit Paralleles verwalten mehrerer Sprachen Anwendung der XML Technologie XML basierter Import und Export XML basierte Content Austausch Protokolle Berücksichtigung eines barrierefreien Informationszugangs Integration der WAI Richtlinien in die Prozessschritte des CMS Automatisiertes Überprüfen auf WAI Konformität Implementierungen von Content Management Systemen 99 Tabelle Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..1: Funktionelle Evaluierung der erörterten CMS Lösungen 6.4 Schlussbemerkung In diesem Kapitel wurde eine Auswahl an interessanten Systemen aus einer großen Menge existierender CMS Implementierungen im kommerziellen sowie Open Source Bereich erläutert und hinsichtlich ihrer Erfüllung sämtlicher bisher identifizierten Anforderungen eines CMS untersucht. Interessant ist es jedoch im Kontext der in diesem Kapitel gewonnenen praxisbezogenen Erkenntnisse die Definition des Begriffes Content Management System erneut zu erläutern (siehe Kapitel 2.2.3). Als charakteristischer Aspekt eines CMS wurde die maschinelle Erfassbarkeit der Anatomie des verwalteten Content festgehalten (siehe Kapitel 2.3.1). Allerdings zeigen kommerzielle Systeme auch Dokument Management Funktionalitäten und erfassen Content auch als in sich geschlossene Dokumente. Die kommerziellen Systeme bezeichnen sich jedoch auch als Enterprise Content Management Systeme. Der Autor der vorliegenden Arbeit vertritt jedoch die Meinung, dass dieser zuletzt genannte Begriff keine Differenzierung zu Content Management System darstellen sollte. Ein CMS sollte grundsätzlich jeden Content verwalten können, auch wenn dies keine durchgängige Berücksichtigung der Anatomie des Content ermöglicht. Jedoch sollte ein CMS auf jedem Fall neuen Content strukturiert erfassen und speichern können. Open Source CMS Implementierungen bieten zumeist eine gute Berücksichtigung einer strukturierten Content-Erfassung, zeigen jedoch Schwächen im Einsatz als System zur vollständigen Erfassung sämtlichen Contents in einer Unternehmung. Die Open Source Lösungen präsentieren sich jedoch als eine effiziente Lösung zur Verwaltung und Publikation von Web Sites. Die erörterten Open Source System könnte man damit eher den Web Content Management Systemen zurechnen (siehe Kapitel 2.2.3). Nach Meinung des Autors der vorliegenden Arbeit sollte aber ein CMS dennoch den gesamten Content einer Unternehmung erfassen können, auch wenn die Publikationskomponente auf das Web spezialisiert ist. Aufgrund sämtlicher bisher in der vorliegenden Arbeit gewonnenen Erkenntnisse soll im folgenden Kapitel versucht werden in einem Gestaltungsmodell auf konzeptioneller Ebene eine ideale Realisierung eines Content Management Systems zu modellieren. TEIL II Gestaltungsbereich 7 Gestaltungsmodell Auf Grundlage sämtlicher, in den bisherigen Kapiteln gewonnenen Erkenntnissen, soll in diesem Kapitel die Architektur eines innovativen Content Management Systems modelliert werden, welche die diversen erörterten Anforderungen an ein CMS berücksichtigt. Zu Beginn dieses Kapitels werden die Erwartungen an ein innovatives CMS nochmals kurz erläutert, um darauf aufbauend eine vereinfachte Basisarchitektur zu identifizieren. Im weiteren Verlauf des Kapitels werden auf Grundlage der aufgezeigten Basisarchitektur die verschiedenen identifizierten Layer einer detaillierten Diskussion unterzogen, um im Anschluss die Gesamtarchitektur des in diesem Kapitel modellierten innovativen CMS zu veranschaulichen. Die detaillierten Erörterungen der Gesamtarchitektur sollen nicht nur die Zuweisung sämtlicher Funktionen auf die unterschiedlichen Komponenten der CMS Architektur verdeutlichen, sondern auch in den Grundzügen die Funktionsweise des modellierten CMS aufzeigen. Zum Abschluss des Kapitels soll der Einsatz des CMS anhand eines fiktiven praxisorientierten Beispiels erläutert werden, um ein besseres Verständnis der Funktionsweise zu geben und zugleich auch den praktischen Nutzen des dargestellten CMS aufzuzeigen. 7.1 Allgemeines Bevor in diesem Kapitel die detaillierte Architektur eines innovativen CMS dargestellt wird, sollen zuerst noch die grundsätzlichen funktionalen Erwartungen an das CMS diskutiert werden. Zu diesem Zweck soll die Begriffsmehrdeutigkeit rund um das Thema Content Management Systeme nochmals kurz erläutert werden, um im Anschluss die wesentlichen Zielsetzungen des in diesem Kapitel zu modellierenden CMS festzuhalten. Darauf aufbauend soll eine Basisarchitektur und deren wesentlichen Anforderungen identifiziert werden, welche die Diskussionsbasis für den verbleibenden Teil des Kapitels darstellt. 7.1.1 Funktionaler Umfang Wie bereits aus der Schlussbemerkung des vorhergehenden Kapitels zu erkennen war (siehe Kapitel 6.4), ist es schwierig, den Begriff Content Management System eindeutig mit einem gewissen Spektrum an Funktionen zu assoziieren. Mehrere Faktoren Gestaltungsmodell 102 erschweren die eindeutige Identifizierung einer funktionalen Abgrenzung von Content Management Systemen. Dies ist einerseits die sehr allgemeine Auffassung des Begriffs Content (siehe Kapitel 2.2.1), welche im Grunde keinerlei Einschränkung auf die zu verwaltende Content-Menge des CMS determiniert. Des Weiteren wird der Begriff CMS sowie davon abgeleitete Begriffe wie Enterprise oder Web Content Management immer wieder dazu verwendet, bekannte Technologien durch eine Namensänderung neu am Markt zu positionieren, und nicht um entscheidende technologische Änderungen aufzuzeigen (siehe Kapitel 6.4). Schlussendlich zeigen auch die Vielzahl an Kernfunktionen sowie zweckmäßige Erweiterungen eines CMS (siehe Kapitel 3 und 4), dass der grundsätzliche Funktionsumfang sehr groß ist und dementsprechend auch spezialisierte Lösungen zulässt, welche durchaus in der Praxis ihren Zweck erfüllen. In [Fritsch 2002] wird bezüglich des oben zuletzt erläuterten Aspekt zum einen von Best-of-Breed Lösungen gesprochen, bei denen die Anwender für Spezialzwecke die jeweils geeignetsten Produkte auswählen und zum anderen von All-in-One Systemen, bei denen ausschließlich die umfassende Palette eines Komplettanbieters genutzt wird. Diese beiden Extreme bilden die theoretischen Endpunkte einer Skala, wobei sich allerdings die meisten Strategien bzw. Projekte von Unternehmungen in der Mitte dieser Skala positionieren. Ebenfalls in [Fritsch 2002] wird auch der Aspekt erörtert, dass im Grunde ein einheitliches und durchgängiges Softwaresystem, aufgrund der vermehrten Dezentralisierung der IT-Landschaften sowie dem Aufkommen von standardisierten Technologien wie XML zur Kommunikation verteilter Systeme, gar nicht mehr notwendig ist. Allerdings gibt es schon eine Präferenz zu einheitlichen Lösungen, jedoch müssen diese auch wirklich greifbare Vorteile bieten. Nach Meinung des Autors der vorliegenden Arbeit postuliert dies die Anforderung an ein innovatives CMS idealerweise ein All-in-One System darzustellen, aber dennoch eine modulare Architektur zu bieten, welche die leichte Integration diverser spezialisierter Fremdsysteme gewährleistet. Der Autor Kampffmeyer spricht in seiner Arbeit von verschiedenen Strömungen innerhalb des Content Management und verwendet in diesem Zusammenhang den Begriff Enterprise Content Management, um deutlich zu machen, dass es dabei nicht nur um die Web-orientierte Außenwirkung geht, sondern um die Erschließung aller strukturierten und unstrukturierten Informationen im Unternehmen. Dies entspricht im Wesentlichen der Meinung des Autors der vorliegenden Arbeit, welcher jedoch dieses Aufgabenfeld ganz allgemein einem innovativen Content Management System zuordnet. Der Autor Kampffmeyer reduziert in diesem Zusammenhang die Ansprüche an Enterprise Content Management (ECM) auf drei wesentliche Ideen [Kampffmeyer 2003a]: ECM als integrative Middleware: ECM soll die Restriktionen bisheriger vertikaler Anwendungen und Inselarchitekturen überwinden. Gestaltungsmodell 103 ECM Komponenten als unabhängige Dienste: ECM soll Informationen unabhängig von der Quelle und unabhängig von der benötigten Nutzung verwalten. ECM als einheitliches Repository: ECM soll alle Typen von Unternehmensinformationen in einem einheitlich strukturierten Informationspool zusammenführen. Diese drei Punkte möchte der Autor der vorliegenden Arbeit als die grundsätzlichen Zielsetzungen für das in diesem Kapitel zu modellierenden CMS festhalten. 7.1.2 Basisarchitektur In diesem Abschnitt soll als erster Schritt eine grobe Architektur eines innovativen CMS identifiziert werden, welche als Basis einer detaillierten Diskussion der einzelnen Komponenten der Architektur genutzt werden kann. Auf der Grundlage von den im vorherigen Abschnitt erläuterten Erwartungen an ein innovatives CMS zeigt Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..1 eine mögliche Architektur. Eingabe Publikation Funktionalität Content Management Abstraktion Content-Objekte Intern Front-End Extern Daten Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..1: Basisarchitektur eines innovativen CMS Der entscheidende Aspekt ist die grundsätzliche Unterteilung in vier Layer mit den folgenden Zielsetzungen: Daten: Im Daten Layer sollen sämtliche Content-Quellen erfasst werden. Dazu gehören einerseits interne Datenspeicher, welche Teil des eigentlichen CMS sind, sowie externe Datenspeicher, die Teil von beliebigen Fremdsystemen innerhalb der Unternehmung sein können, welche durch das CMS zugänglich gemacht werden sollen. Gestaltungsmodell 104 Abstraktion: Der Abstraktions Layer soll für die darauf aufbauenden Content Management Funktionalitäten eine Schnittstelle darstellen, die es erlaubt, mit einheitlichen Content-Objekten zu arbeiten, unabhängig davon in welchem Datenspeicher sich der Content tatsächlich befindet. Funktionalität: Sämtliche Content Management Funktionalitäten werden in diesem Layer implementiert. Der Content Zugriff erfolgt dabei über den einheitlichen Abstraktions Layer. Die gebotenen Funktionen sollen in einzelne Komponenten unterteilt werden, welche sich auf Basis einer gewissen Grundfunktionalität beliebig zusammenstellen lassen. Front-End: Das Front-End soll einen einheitlichen Zugang zum CMS bieten und je nach den vorhandenen Komponenten im Funktionalitäten Layer die Ausführung der entsprechenden Funktionen ermöglichen. Im Wesentlichen soll das Front-End die Interaktion mit dem CMS, die Content-Eingabe sowie die Publikation auf unterschiedlichen Distributionskanälen erlauben. Auf Basis der in Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..1 verdeutlichten Architektur soll es möglich sein, sämtliche Datenspeicher in einem einheitlichen System zu integrieren und dabei die Implementierung der eigentlichen Content Management Funktionalitäten unabhängig von der Herkunft des Content zu gestalten. Diese Idee des dazu notwendigen Abstraktions Layer ist im Wesentlichen auch bei den im vorherigen Kapitel erörterten kommerziellen CMS Implementierungen zu erkennen (siehe Kapitel 6.1.5). Ein Kapseln von Funktionalitäten in mehrere kombinierbare Komponenten soll es ermöglichen, je nach den spezifischen Einsatzbedingungen des CMS nur die notwendigen Funktionen bereit zu stellen und darüber hinaus die Option einer jederzeitigen funktionalen Erweiterung bieten. Um den Anforderungen moderner Unternehmensanwendungen gerecht zu werden, sollen sämtliche Layer der Architektur serverseitig implementiert werden und clientseitig nur mehr ein Web-basiertes User Interface zum Einsatz kommen (siehe Kapitel 5.1.2). XML und Web Services sollen aufgrund der guten Eignung sowie Akzeptanz im Kontext von Content Management Systemen und der bereits zu erkennenden häufigen Verwendung bei konkreten CMS Implementierungen (siehe Kapitel 6.3) als grundlegende Technologien für das in diesem Kapitel modellierte CMS Anwendung finden. 7.2 Architektur Layer Im folgenden Abschnitt sollen die zuvor identifizierten Layer detaillierter erörtert werden. Dabei sollen nacheinander die Funktionalitäten bzw. die Architektur der einzelnen Layer diskutiert werden, um so ein Verständnis für die Gesamtarchitektur zu vermitteln. Die Darstellungen der einzelnen Layer erfolgt dabei in einer Reihenfolge, Gestaltungsmodell 105 wie sie dem Autor der vorliegenden Arbeit für ein gutes Verständnis als sinnvoll erscheint. 7.2.1 Abstraktion Der Abstraktions Layer bildet eine sehr wichtige und zentrale Schnittstelle in der Gesamtarchitektur des in diesem Kapitel modellierten CMS. Der gesamte Content aus dem darunter liegenden Daten Layer soll im Abstraktions Layer in der Form von einheitlichen Content-Objekten zugänglich gemacht werden. Unter einem ContentObjekt soll ein beliebiger Content angereichert mit Metainformation verstanden werden. Es ist dabei nicht zwingend notwendig, dass sich ein bestimmter Content und die dazugehörigen Metainformationen in demselben Datenspeicher des darunter liegenden Daten Layer befinden. Es soll beispielsweise auch möglich sein, dass Content aus einer externen Quelle mit weiteren Metainformationen angereichert wird, welche im internen Datenspeicher abgelegt sind. Es soll grundsätzlich zwischen zwei Typen von Content-Objekten unterschieden werden, strukturierte und unstrukturierte Content-Objekte. Unstrukturierte ContentObjekte sind jene Objekte, deren Content entweder in multimedialer Form oder in einem proprietären Format vorliegt, sodass für das CMS selber strukturelle Informationen nur schwer zu extrahieren sind. Bei strukturierten Content-Objekten handelt es sich um Objekte, deren Content ausschließlich auf XML basierten Standards beruht. Strukturierte Content-Objekte bilden die Basis zur Erfassung von strukturierten Inhalten durch das CMS und berücksichtigen dabei die Anatomie des Content. Auf Basis von XML können die drei wesentlichen Elemente der Anatomie des Content leicht erfasst werden (siehe Kapitel 4.1.1). Idealerweise bietet sich ein XML Schema zur Strukturdefinition an, XML zur Erfassung der eigentlichen Inhalte und XSLT zur Definition unterschiedlicher bedarfsgerechter Transformationen der Inhalte. Die drei zuletzt erwähnten Komponenten werden dabei getrennt in verschiedenen ContentObjekte abgelegt und ihre Beziehung zu einander kann idealerweise über die Metainformationen festgelegt werden. Mit Hilfe der Content-Objekte soll es möglich sein, jeglichen Content in einer Unternehmung zu erfassen, seien es Dokumente in proprietären Formaten, multimediale Dateien oder hochstrukturierte Inhalte (siehe dazu auch das folgende Kapitel 7.2.2). Über den Abstraktions Layer sollen allerdings nicht nur bereits vorhandene lokale Datenquellen in der Unternehmung integriert werden. Zweckmäßig wäre das Integrieren von Content spezialisierter Fremdanbietern über eine Content Syndication Schnittstelle (siehe Kapitel 3.2.7). Es wäre auch denkbar, gerade bei sehr großen verteilten Unternehmen, dass an verschiedenen Standorten mehrere Instanzen des CMS in Betrieb sind. Idealerweise sollte es auch für diesen Fall spezielle Schnittstellen geben um mehrere verteilte Instanzen des Systems ideal zu koppeln, sodass jedem System grundsätzlich der Zugang zu dem gesamten verwalteten Content einer Unternehmung möglich ist. Abbildung Error! Use the Home tab to apply Überschrift 1 to the text Gestaltungsmodell 106 Content-Objekte Metainformationen Content Content Syndication Interner Konnektor that you want to appear here..2 verdeutlicht den Abstraktions Layer mit den in diesem Abschnitt diskutierten Aspekten. Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..2: Abstraktions Layer 7.2.2 Daten Dem Daten Layer kommt im Wesentlichen die Aufgabe zu, einen internen Datenspeicher für sämtlichen vom CMS erfassten Content zu bieten sowie diverse externe Informationsquellen zu integrieren. Bezüglich des internen Datenspeichers sollen Aspekte der Archivierung miteinbezogen werden und eine grundsätzlich getrennte Datenablage von archiviertem und aktuellem Content vorgesehen werden, um die speziellen Anforderungen der Archivierung zu berücksichtigen (siehe Kapitel 3.2.4). Für den aktuellen Content innerhalb des internen Datenspeichers soll eine möglichst effiziente Speicherung der strukturierten sowie unstrukturierten Content-Objekte gewährleistet sein. Während bei den unstrukturierten Content-Objekten in erster Linie Aspekte der effektiven Speicherung von zum Teil sehr großen Datenmengen zu beachten sind, müssen bei strukturierten Content-Objekten Aspekte einer möglichst flexiblen und effizienten Ablage von unterschiedlich strukturierten Daten berücksichtigt werden. Wie bereits im vorherigen Abschnitt erwähnt wurde (siehe Kapitel 7.2.1), sollen strukturierte Content-Objekte auf XML Standards zurückgreifen. Je nach Wahl des tatsächlichen Datenbankmanagement-Systems muss daher eventuell ein effektives Mapping des XML basierten Content auf ein relationales Datenbankschema erfolgen oder man verwendet idealerweise gleich eine native XML Datenbank. Die diversen externen Informationsquellen sollen über spezifische Adapter an den darüber liegenden Layer angebunden werden, welche die externen Informationen für den einheitlichen Zugang über Content-Objekte aufbereiten. Grundsätzlich wäre es denkbar, dass man diverse Dokumente bzw. multimediale Objekte in das CMS integriert, welche am besten in Form von unstrukturierten Content-Objekten behandelt werden. Fremdsysteme könnten aber auch sehr strukturierten Content bieten, wie beispielsweise Inhalte aus einer relationalen Datenbank. Im Sinne eines möglichst einheitlichen Content-Zugangs für das CMS sollen diese strukturierten Informationen durch den entsprechenden Adapter in XML konvertiert werden und danach als strukturierte Content Objekte im Abstraktions Layer zur Verfügung stehen. Gestaltungsmodell 107 In Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..3 werden wiederum die in diesem Abschnitt diskutierten Aspekte verdeutlicht. Der zuletzt genannte Aspekt der Konvertierung von strukturiertem Content in XML soll natürlich auch bei der Anbindung von Content durch Fremdanbieter im Abstraktions Layer Berücksichtigung finden (siehe Kapitel 7.2.1), sofern kein XML basiertes Content Syndication Protokoll verwendet wird. Idealerweise würde sich für sämtliche Integrationskomponenten die Web Service Technologie anbieten (siehe Kapitel 5.2) um Barrieren, wie sie durch unterschiedliche Plattformen oder Programmiersprachen entstehen, zu überwinden. Intern Archivierter Content Strukturierter Content Unstrukturierter Content Adapter … Extern … Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..3: Daten Layer 7.2.3 Funktionalität In diesem Layer befindet sich die wesentliche Funktionalität des CMS. Grundsätzlich sollten sämtliche in den Kapitel 3 und 4 erörterten Aspekte an dieser Stelle berücksichtigt werden. Die zentrale Anforderung in diesem Layer ist es, möglichst modular zu sein, um die Funktionalitäten anwendungsspezifisch gruppieren zu können. Man kann dabei die möglichen Komponenten in drei Bereiche einteilen: Grundlegende Funktionalitäten: Repräsentieren jene Funktionalitäten, welche die Basis für ein zielgerichtetes Content Management bilden und ein effektives Arbeiten mit den Content-Objekten ermöglichen. Dazu zählen im Wesentlichen die Funktionen der Content Kontrolle, Internationalisierung sowie Administration. Erweiterte Funktionalitäten: Sämtliche Funktionen, welche eine sinnvolle und zweckdienliche Erweiterung zu den grundlegenden Funktionalitäten darstellen. Schnittstellen: Diverse Schnittstellen zwischen den grundlegenden Funktionalitäten und externen Ressourcen. Diese drei Bereiche sollen im folgenden Teil dieses Abschnittes detaillierter erörtert und danach in Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..4 veranschaulicht werden. Bezüglich der grundlegenden Funktionalitäten lassen sich an dieser Stelle keine neuen Aspekte identifizieren, die nicht schon im Kapitel 3 diskutiert worden sind. Die notwendigen Funktionen sollen daher nur mit einem Hinweis auf die entsprechende Stelle in Kapitel 3 aufgelistet Gestaltungsmodell 108 werden. Es sei darauf verwiesen, dass die grundlegenden Funktionalitäten nicht unbedingt das Minimum darstellen, um eine Basis für Content Management zu schaffen. Allerdings erachtet der Autor der vorliegenden Arbeit die folgenden Funktionen als wesentliche Grundfunktionalitäten, welche ein innovatives CMS auf jeden Fall bieten sollte. Diese Funktionen sind: Zugriffskontrolle (siehe Kapitel 3.2.4) Versionierung (siehe Kapitel 3.2.4) Check-In und Check-Out (siehe Kapitel 3.2.4) Link Management (siehe Kapitel 3.2.1) Archivierung (siehe Kapitel 3.2.4) Internationalisierung (siehe Kapitel 3.2.9) Import und Export (siehe Kapitel 3.2.7) Backup (siehe Kapitel 3.2.8) Benutzerverwaltung (siehe Kapitel 3.2.8) Aufbauend auf den grundlegenden Funktionalitäten soll es möglich sein, diverse Komponenten hinzuzufügen, um den Funktionsumfang des CMS zu erweitern. In der folgenden Auflistung werden die entsprechenden verbleibenden Funktionen, welche bereits im Kapitel 3 und 4 erörtert wurden, kurz im Kontext der Gesamtarchitektur erläutert: Workflow: Flexible Möglichkeiten verschiedene Workflows zu definieren, um beispielsweise festzulegen, wer bestimmte Content-Objekte bearbeiten muss oder welche Qualitätskontrollen Content-Objekte durchlaufen müssen (siehe Kapitel 3.2.6). Information Retrieval: Innovative Suchmöglichkeiten sind ein sehr wichtiger Aspekt für ein CMS, um den gesamten verwalteten Content möglichst effizient wiederauffindbar zu machen. Gute Suchalgorithmen sollten in einer eigenen Komponente gekapselt sein, um diese leicht, gegen eventuell verbesserte Algorithmen, austauschen zu können (siehe Kapitel 3.2.5). Portal: Durch Portal-Funktionalitäten soll es möglich sein, einen personalisierten Zugang zu dem gesamten verwalteten Content durch das CMS zu bieten. Des Weiteren soll eine Integration von weiterer Funktionalität in das Portal möglich sein, wie z.B. FAQ, Diskussionsforen oder Chat, um eine Collaboration zu unterstützen (siehe Kapitel 4.2.2). Barrierefreier Informationszugang: So weit es möglich ist, soll durch diese Komponente eine möglichst gute Unterstützung für einen barrierefreien Informationszugang gewährleistet werden, beispielsweise durch das Bereitstellen von Validatoren für HTML-Seiten (siehe Kapitel 4.1.2). Website Erstellung: Das Erstellen und Verwalten von Websites ist oftmals ein zentraler Schwerpunkt von Content Management Systemen (siehe Kapitel Gestaltungsmodell 109 6.2.5). Durch das Kapseln der dazu notwendigen Funktionalität in einer eigenen Komponente soll deutlich gemacht werden, dass der Schwerpunkt dieses CMS nicht auf der Website Verwaltung liegt, sondern dies nur eine erweiterte Funktionalität darstellt. Grundsätzlich soll durch diese Komponente das Erstellen von Templates unterstützt werden, welche das Layout einer Website vorgeben und in weiterer Folge mit dem Content der strukturierten sowie unstrukturierten Content-Objekte gefüllt werden können. Monitoring: Mit dieser Komponente soll eine automatisierte Überwachung des Systemzustands des CMS ermöglicht werden. Dadurch soll den Administratoren beispielsweise ein Überblick über den aktuellen Speicherverbrauch oder die Netzwerkauslastung gegeben werden. Zugleich soll auch eine automatische Benachrichtigung beim Auftreten von kritischen Situationen erfolgen, wie z.B. ein Speicherfehler oder ausgehender Speicherplatz (siehe Kapitel 3.2.8). Analyse und Protokollierung: Durch diese Funktionalität soll es ermöglicht werden, detaillierte Analysen über die Zugriffshäufigkeit auf gewisse ContentBereiche zum Zweck statistischer Auswertungen durchzuführen (siehe Kapitel 3.2.8). Digital Asset Management: Durch diese Komponente sollen erweiterte Verarbeitungsmöglichkeiten für unstrukturierte Content-Objekte, welche multimediale Daten beinhalten, geboten werden. Dazu zählen unter anderem Streaming Video oder Audio, die Möglichkeit der Umwandlung von multimedialen Daten in verschiedene Qualitätsstufen bzw. Auflösungen oder entsprechende Suchalgorithmen, welche an die Charakteristiken von multimedialen Daten angepasst sind (siehe Kapitel 4.2.3). Digital Right Management: Diese Komponente soll Schutzmechanismen für die ökonomische Komponente von Content bieten, indem Content mit entsprechenden Nutzungsrechten assoziiert und verschlüsselt wird (siehe Kapitel 4.2.1). Während sämtliche bisher erörterten Funktionen im Wesentlichen die Basis für den darüber liegenden Layer innerhalb der Gesamtarchitektur des CMS darstellen, verbleiben noch einige Komponenten, welche Schnittellen zwischen den grundlegenden Funktionalitäten des CMS und eventuell benötigten externen Ressourcen darstellen. Die folgenden Schnittstellen sollen idealerweise existieren: Application Programming Interfaces (API): Das Bereitstellen von APIs, um mit unterschiedlichen Programmiersprachen sämtliche Funktionen des CMS zu nutzen, wie sie auch über alternative Wege nutzbar wären (siehe Kapitel 3.2.7). Externe Applikationen: Es soll eine leichte Integration von häufig verwendeten Autoren Werkzeugen gewährleistet sein. Besonders für unstrukturierte ContentObjekte, welche Content in einem proprietären Format beinhalten, sollte es für das entsprechende Bearbeitungsprogramm komfortable Möglichkeiten geben, auf den Content zuzugreifen. Content-Autoren soll es dadurch ermöglicht Gestaltungsmodell 110 werden, weiterhin mit bereits im Einsatz befindlichen Werkzeugen zu arbeiten und sämtliche Verwaltungstätigkeiten, wie beispielsweise Versionierung oder Zugriffskontrolle, werden im Hintergrund vom CMS ausgeführt (siehe Kapitel 3.2.2). Directory Services: Diese Komponente soll eine Synchronisation mit bestehenden Benutzerdaten in Directory Services bieten, um Benutzerdaten nicht doppelt verwalten zu müssen (siehe Kapitel 3.2.8). Email: Die Integration des CMS mit einem Email System soll es ermöglichen, die einzelnen Benutzer des CMS über wichtige Ereignisse zu informieren sowie eine Verwaltung und Archivierung relevanter Email Inhalte zu gewährleisten (siehe Kapitel 3.2.6). Content Providing: Der verwaltete Content innerhalb des CMS soll über diese Komponente auch für externe Interessenten zugreifbar sein. Ideal in diesem Bereich wäre eine Unterstützung bekannter Content Exchange Protokolle wie ICE oder RSS (siehe Kapitel 3.2.7), aber auch die Web Service Technologie wäre zu diesen Zweck gut geeignet (siehe Kapitel 5.2). Digital Right Management Digital Asset Management Analyse Protokollierung Monitoring Website Erstellung Barrierefeier Informationszugang Portal Information Retrieval Workflow Erweiterte Funktionalitäten Content Management Schnittstellen API Externe Applikationen Zugriffskontrolle Versionierung Check-In Check-Out Directory Services Link Management Archivierung Internationalisierung Email Import Export Backup Benutzerverwaltung Content Providing Grundlegende Funktionalitäten Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..4: Funktionalitäten Layer In Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..4 werden die in diesem Abschnitt diskutierten Funktionen und Komponenten entsprechend ihrer Zuordnung zu den drei am Anfang dieses Abschnittes erörterten grundlegenden Bereichen dargestellt. Es sei darauf verwiesen, dass die Gestaltungsmodell 111 dargestellten Funktionalitäten in erster Linie auf den in den vorhergehenden Kapiteln gewonnenen Erkenntnissen beruhen. Der Autor der vorliegenden Arbeit möchte daher keinen Anspruch auf die vollständige Berücksichtigung aller möglichen Aspekte eines CMS erheben, sieht aber dennoch in den Erörterungen dieses Abschnittes eine sehr breite Abdeckung zurzeit relevanter Anforderungen. Spezielle Unterstützungen zur optimalen Bedienung bestimmter Distributionskanäle bzw. zukünftige Entwicklungen können aber durchaus funktionale Erweiterungen, besonders bei den erweiterten Funktionalitäten und bei den Schnittstellen, notwendig machen. Im nächsten Abschnitt wird der letzte verbleibende Layer diskutiert, welcher auf Basis der vorhandenen Komponenten im Funktionalitäten Layer über ein einheitliches Interface die entsprechenden Funktionen für den Endanwender aufbereiten soll. 7.2.4 Front-End Der Front-End Layer bildet die wesentliche Schnittstelle für die Interaktionen der Endanwender mit dem CMS. Man kann die Komponenten in diesem Layer grundsätzlich zwei Bereichen zuordnen, der Content-Verwaltung und der ContentBereitstellung. Die Content-Verwaltung soll es ermöglichen, sämtliche notwendigen Tätigkeiten im Rahmen eines effektiven Content Managements durchzuführen und die Content-Bereitstellung soll die Publikation des Content auf unterschiedlichen Distributionskanälen unterstützen. Für die Content-Bereitstellung ist daher die Berücksichtigung der Eigenschaften unterschiedlicher Clients ein essentieller Bestandteil, allerdings sollen diese Aspekte auch für die Content-Verwaltung gelten, sodass den Endanwendern des CMS der Zugang zum System über verschiedene Client Typen ermöglicht wird. Denkbar wäre eine Unterstützung von Web Browsern, mobilen Endgeräten oder proprietären Clients. Es sei allerdings erwähnt, dass natürlich im Bereich der Content-Verwaltung in erster Linie ein Zugang über Web Browser zu unterstützen ist, um die Systemanforderungen sowie notwendigen Installationen für die diversen Benutzer des CMS so gering wie möglich zu halten. Eine breite Unterstützung diverser Clients im Bereich der ContentBereitstellung soll allerdings durchaus gewährleistet sein. Die Content-Verwaltung wird im Wesentlichen durch zwei Komponenten repräsentiert, welche in jedem Fall für den Einsatz des CMS notwendig sind: Administration: Diese Komponente soll einen speziellen Zugang zum CMS für Administratoren bieten, um sämtliche administrativen Tätigkeiten auszuführen. Den Administratoren soll es hier im Wesentlichen ermöglicht werden, die Benutzer zu verwalten, einen Import, Export oder Backup von Content durchzuführen sowie die diversen Schnittstellen des CMS hin zu externen Ressourcen zu konfigurieren. Workplace: Der Workplace repräsentiert die zentrale Komponente, um den Benutzern des Systems das Ausführen sämtlicher für ein effektives Content Management notwendiger Tätigkeiten zu ermöglichen. Der Workplace soll Gestaltungsmodell 112 dabei je nach den im darunter liegenden Funktionalitäten Layer vorhandenen Komponenten den Benutzern die entsprechenden Funktionen anbieten. Sämtliche Content-Objekte sollen über den Workplace in einer hierarchischen Form, je nach den Rechten des aktuellen Benutzers, dargestellt werden. Typische Tätigkeiten innerhalb des Workplace wären die strukturierte ContentErfassung in komfortablen Formularen, Workflows zu definieren und zu instanzieren oder Templates für einen bestimmten Publikationskanal zu erstellen. Die Funktionen des Workplace werden auch in der nachfolgenden praxisorientierten Anwendung, des in diesem Kapitel modellierten CMS, erläutert (siehe Kapitel 7.4). Der zweite Bereich, die Content-Bereitstellung, beinhaltet Komponenten, um Client Anfragen über gewisse Publikationskanäle zu bearbeiten. Besonders wichtig sind in erster Linie folgende Komponenten: Website: Damit soll die Publikation von entsprechendem Content auf einer Website ermöglicht werden. Es soll in erster Linie möglich sein, in einer anspruchsvoll aufbereiteten Website, nach klaren Layout Vorgaben der Template Designer, relevanten Content für externe Interessenten an der Unternehmung zu präsentieren. Portal: Sofern die notwendigen Funktionalitäten im darunter liegenden Layer gegeben sind, soll diese Komponente den personalisierten Portalzugang ermöglichen, um den entsprechenden Benutzern grundsätzlich die Recherche über den gesamten verwalteten Content des CMS zu ermöglichen. Denkbar wäre auch eine mögliche Integration des Workplace in das Portal, um beispielsweise Content-Autoren eine einheitliche und komfortable Schnittstelle zum CMS zu bieten. Diese Portale wären sowohl innerhalb als auch außerhalb der Unternehmung von Bedeutung, um einerseits den Mitarbeitern einen Zugang zu sämtlichen relevanten Informationen innerhalb der Unternehmung zu bieten und andererseits beispielsweise externen Geschäftspartnern eine Zugang zu notwendigen Daten zu gewähren. Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..5 veranschaulicht die in diesem Abschnitt erörterten Aspekte des Front-End Layer. Es sei erwähnt, dass im Bereich der Content-Bereitstellung durchaus Erweiterungen für andere zu berücksichtigende Distributionskanäle bzw. Clients denkbar wären, sofern im darunter liegenden Layer eine funktionale Unterstützung gegeben ist (siehe Kapitel 7.2.3). Beispielhaft seien an dieser Stelle als mögliche Erweiterungen WAP oder CD-ROM genannt. Gestaltungsmodell 113 Client Web Browser Mobile Engeräte Proprietäre Clients … Content-Verwaltung Content-Bereitstellung Administration Website Workplace Portal … Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..5: Front-End Layer 7.3 Gesamtarchitektur Zum Zweck einer besseren Veranschaulichung der im vorherigen Abschnitt (siehe Kapitel 7.2) geführten Diskussion der einzelnen Layer sollen die diversen Abbildungen der jeweiligen Layer zu einer Abbildung zusammengeführt werden. Gestaltungsmodell 114 Client … Digital Right Management Portal Analyse Protokollierung Website Website Erstellung Barrierefeier Informationszugang Portal Information Retrieval Workplace API Content Management Externe Applikationen Zugriffskontrolle Versionierung Check-In Check-Out Directory Services Link Management Archivierung Internationalisierung Email Import Export Backup Benutzerverwaltung Intern Archivierter Content Strukturierter Content Unstrukturierter Content Adapter … Extern … Abstraktion Content Daten Content-Objekte Metainformationen Content Providing Content Syndication Interner Konnektor Funktionalität Workflow Administration … Content-Bereitstellung Digital Asset Management Content-Verwaltung Proprietäre Clients Front-End Mobile Engeräte Monitoring Web Browser Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..6: Die vier Layer der Gesamtarchitektur eines innovativen CMS Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..6 zeigt die Gesamtarchitektur des in diesem Kapitel erörterten innovativen Content Management Systems. Da Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..6 in erster Linie einer übersichtlichen Darstellung der vier Layer der Gesamtarchitektur dient und sämtliche relevanten Aspekte der einzelnen Layer bereits ausführlich diskutiert wurden (siehe Gestaltungsmodell 115 Kapitel 7.2), sollen in diesem Abschnitt die Funktionen der einzelnen Komponenten nicht mehr näher erläutert werden. 7.4 Praxisorientierte Anwendung Um die Funktionsweise und auch den praktischen Nutzen des in diesem Kapitel beschriebenen CMS besser zu verdeutlichen, sollen in diesem Abschnitt, anhand eines einfachen, fiktiven aber dennoch praxisorientierten Beispiels, die Möglichkeiten des CMS dargestellt werden. Es ist aufgrund der Komplexität des Gesamtsystems nicht möglich, in dem in diesem Abschnitt erörterten Beispiel, sämtliche Funktionalitäten des CMS einzubeziehen. In erster Linie soll beispielhaft das Management von unterschiedlichen Content-Typen verdeutlicht werden. Als Beispiel stelle man sich einen Autokonzern vor, welcher Informationen über die diversen Automodelle sowie Händlerinformationen im Internet veröffentlichen möchte. Folgende Anforderungen sollen gelten: Die einzelnen Modelle sollen auf der Website kurz beschrieben werden. Detaillierte Informationen, wie technische Daten oder Ausstattungsmöglichkeiten, sollen als Dokumente zum Download bereitstehen. Eventuell soll es zu den einzelnen Modellen Bilder sowie kurze Videos geben. Aktuelle Presse Nachrichten bezüglich des Konzerns oder über die einzelnen Modelle sollen über die Website veröffentlicht werden. Die Händlerinformationen sollen von den einzelnen Händlern selber eingegeben werden können. In einer vereinfachten und idealisierten Form sollen nachfolgend die einzelnen Schritte beschrieben werden, welche notwendig sind, um die Anforderungen mit Hilfe des CMS zu realisieren. Sämtliche Tätigkeiten können von den unterschiedlichen Mitarbeitern über den Workplace durchgeführt werden. Als erster Schritt werden von den Designern die Templates für das Layout der Website erstellt. Jedes Template wird als ein ContentObjekt im CMS verwaltet. Danach werden für die strukturierten Informationen von den Content-Managern Strukturdefinitionen erstellt, welche basierend auf XML Schema wiederum als einzelne Content-Objekte abgelegt werden. Strukturdefinitionen werden erstellt für die Modellbeschreibungen auf der Website sowie für die Händlerinformationen. Die detaillierten Modellinformationen werden schon seit längerem in einem bestimmten Textverarbeitungsprogramm erfasst und diese Vorgehensweise soll beibehalten werden. Es existiert eine Schnittelle zwischen dem Textverarbeitungsprogramm und dem CMS, die es den Content-Autoren dieser detaillierten Modellinformationen erlaubt, weiterhin mit ihrer gewohnten Applikation zu arbeiten und die Dokumente in ihrem proprietären Format als Content-Objekte direkt im CMS abzuspeichern. Die erstellten Bilder und Videos über die diversen Automodelle werden direkt über den Workplace im CMS Gestaltungsmodell 116 erfasst und ebenfalls in einzelnen Content-Objekten gespeichert. Die multimedialen Daten werden in hohen Qualitätsstufen im CMS erfasst, weil es die vorhandenen Digital Asset Management Funktionalitäten erlauben, die Daten in für das Web geeignete Qualitätsstufen zu konvertieren. Zur Eingabe der strukturierten Informationen werden den Content-Autoren im Workplace komfortable Formulare angeboten. Content-Autoren, welche direkt in der Zentrale des Autokonzerns arbeiten, geben die strukturierten Beschreibungen der Modelle für die Website ein. Die Händlerinformationen können ebenfalls über ein Formular im Workplace eingegeben werden. Da der Workplace über Web Browser dargestellt wird, brauchen die einzelnen Händler, welche geografisch weit verteilt sind, nur jeweils einen Computer mit Internetanschluss, um die notwendigen Informationen, wie Adresse, Telefonnummer oder Öffnungszeiten in das zentrale CMS einzupflegen. Der erfasste strukturierte Content wird basierend auf XML in mehreren ContentObjekten im CMS abgelegt. Die aktuellen Pressenachrichten bezüglich des Autokonzerns werden von einer externen Presseagentur recherchiert und über die Content Syndication Schnittstelle automatisiert in das CMS eingebunden. Jede Pressenachricht liegt in XML als ein Content-Objekt vor. Als letzten Schritt müssen die Designer noch XSLT Transformationen definieren, um die strukturierten Content-Objekte entsprechend für die Website aufzubereiten. Der gesamte, in Form von Content-Objekten erfasste Content, kann nun über die Website betrachtet, gespeichert oder durchsucht werden. Der strukturierte Content wird bedarfsgerecht für die Website transformiert, die Dokumente mit den detaillierten Informationen werden zum Download angeboten, die Bilder können in verschiedenen Auflösungen betrachtet werden und die Videos stehen in einem Streaming Format zur Verfügung. Sämtliche erörterten Schritte lassen sich auch in entsprechenden Workflows abbilden, um die diversen Tätigkeiten automatisch den verantwortlichen Personen zuzuweisen. Neu erfasster Content wird von den verantwortlichen Content-Managern zuerst qualitativ überprüft, bevor er tatsächlich über die Website publiziert wird. 7.5 Schlussbemerkung Das im vorherigen Abschnitt erläuterte Beispiel verdeutlicht im Wesentlichen die zu Beginn dieses Kapitels aufgezeigten grundsätzlichen Zielsetzungen des zu modellierenden CMS (siehe Kapitel 7.1.1). Die Erfassung von Content aus unterschiedlichen Quellen, sei es der Workplace, externe Applikationen oder die Content Syndication Schnittelle, verdeutlicht die integrative Wirkung des in diesem Kapitel erörterten CMS. Verschiedene Content-Typen, seien es hoch strukturierte Informationen, Dokumente in proprietären Formaten oder multimediale Daten werden dadurch über ein einheitliches Content Repository zugänglich und können für eine bedarfsgerechte Publikation genutzt werden. Das CMS erfüllt damit nach Meinung des Autors der vorliegenden Arbeit eine Gestaltungsmodell 117 sehr wichtige Bedingung im Kontext eines effizienten Content Management, nämlich die Erfassung sämtlichen Contents in einem einheitlichen System. Die Publikation des im vorherigen Abschnitt erläuterten Beispiels ist ausschließlich auf eine Website ausgerichtet, allerdings wäre auch eine Bedienung anderer Distributionskanäle denkbar. Die Möglichkeiten einer bedarfsgerechten Aufbereitung unterscheiden sich jedoch bei strukturiertem oder unstrukturiertem Content (siehe Kapitel 7.2.1). Strukturierte Content-Objekte zeigen eine sehr gute Flexibilität und können im Wesentlichen aufgrund der strikten Einhaltung der Anatomie des Content beliebig transformiert werden. Im Gegensatz dazu sind die Möglichkeiten bei unstrukturierten Content-Objekten weitaus eingeschränkter, da strukturelle Informationen nur bedingt vorliegen. Der Content der unstrukturierten Objekte kann nur durch eine Konvertierung an die Anforderungen unterschiedlicher Publikationskanäle angepasst werden. Das in diesem Kapitel aufgezeigte CMS nutzt konsequent die XML Technologie zur Verwaltung und Integration von strukturiertem Content. Dies hat zum einen den Vorteil der guten Erfassbarkeit der Anatomie des Content, da die deutliche Trennung von Struktur, Inhalt und Darstellung integraler Bestandteil von XML ist und zum anderen erhöht die Verwendung bekannter Standards zumeist die Akzeptanz und somit die Effizienz des Gesamtsystems. Zugleich sei aber auch erwähnt, dass zum Teil überhaupt keine XML Kenntnisse notwendig sind, um mit dem modellierten CMS zu arbeiten. Content-Autoren beispielsweise geben den Content über leicht zu bedienende Formulare ein und müssen sich über die zugrunde liegende Datenbasis keine weiteren Gedanken machen. Ein wesentlicher Vorteil bei der Verwendung von XML als Format zur Bearbeitung von strukturiertem Content liegt jedoch darin, dass der XML basierte Content ohne weitere Konvertierung für Funktionen wie Import bzw. Export oder Content Syndication geeignet ist und man dadurch immer mit einem einheitlichen Content-Format arbeiten kann. Die gute Eignung von XML im Kontext eines innovativen CMS soll im folgenden Kapitel anhand praktischer Erfahrungen, in den zwei soeben erwähnten Bereichen Import bzw. Export und Content Syndication, noch besser veranschaulicht werden. 8 Implementierung ausgewählter Aspekte eines innovativen Content Management Systems Es würde den Rahmen der vorliegenden Arbeit sprengen, eine eigenständige Implementierung des innovativen CMS, wie es im vorhergehenden Kapitel modelliert wurde, zu erstellen. Die Umsetzung der diversen Anforderungen und die damit verbundene Komplexität benötigt um ein vielfaches mehr an Zeit und Ressourcen, wie sie der Autor, im Rahmen der vorliegenden Arbeit, alleine nicht aufbringen kann, um ein System zu implementieren, welches mit den zahlreichen bestehenden Implementationen konkurrieren kann. Es ist allerdings auch nicht notwendig bei der Implementierung eines innovativen CMS gänzlich von Neuem zu beginnen, da bereits sehr interessante Open Source Implementierungen existieren (siehe Kapitel 6.2), welche schon aufgrund einer mehrjährigen Entwicklung sehr viel Erfahrung und Know-how mitbringen und dadurch eine sehr gute Ausgangsbasis darstellen können. Zur Implementierung interessanter Aspekte der im vorherigen Kapitel modellierten Architektur eines innovativen CMS soll daher ein geeignetes Open Source Projekt als Grundlage für weiterführende Implementierungen genutzt werden, zu welchem Zweck das OpenCms Projekt ausgewählt wurde (siehe Kapitel 6.2.1). Es ist einerseits das Ziel dieses Kapitels, auf theoretischer Ebene detaillierter auf die Funktionalitäten von OpenCms einzugehen, als es bereits in Kapitel 6.2.1 geschehen ist, um die gute Eignung von OpenCms als Grundlage für die Implementierung eines innovativen CMS zu begründen. Andererseits soll auf praktischer Ebene durch die Implementierungen einer interessanten Auswahl an – im Hinblick auf ein innovatives CMS – ergänzenden Funktionalitäten für OpenCms, die Vorteilhaftigkeit sowie die erweiterten Möglichkeiten für das ausgewählte Open Source Projekt aufgezeigt werden. Der Schwerpunkt bei den implementierten Aspekten aus den Bereichen Content Syndication sowie Import und Export liegt allerdings in der Darstellung der innovativen Möglichkeiten der XML Technologien im Kontext von Content Management, womit die aufgezeigten Aspekte nicht nur für OpenCms, sondern grundsätzlich für jedes innovative CMS relevant sind. Implementierung ausgewählter Aspekte eines innovativen Content Management Systems 8.1 119 OpenCms im Kontext des Gestaltungsmodells Das OpenCms System existiert bereits seit mehreren Jahren und präsentiert sich im Hinblick auf das, im vorherigen Kapitel erarbeitete Gestaltungsmodell, als ein sehr innovativer Ansatz einer CMS Implementierung. Aus diesem Grund soll im nachfolgenden Abschnitt das OpenCms System nochmals etwas detaillierter erörtert werden und anhand des erarbeiteten Gestaltungsmodells, bezüglich der Erfüllung bzw. Nichterfüllung der unterschiedlichen Komponenten, evaluiert werden. 8.1.1 Allgemeines Sämtliche nachfolgenden Darstellungen der OpenCms Funktionalitäten beruhen auf den zahlreichen Dokumentation, welche auf der OpenCms Website [OpenCms 2003] zu finden sind, insbesondere [OpenCms 2003a] bzw. aus den praktischen Erfahrungen, welche der Autor der vorliegenden Arbeit bei der Implementierung von zusätzlichen Funktionen für OpenCms gewonnen hat. Es sei an dieser Stelle erwähnt, dass das OpenCms Projekt einen durchaus professionellen Eindruck vermittelt, aber dennoch zu erkennen ist, dass die Programmiertätigkeiten an diesem Projekt schneller vorangehen als das Bereitstellen entsprechender Dokumentation. Für aktuelle und teilweise auch sehr hilfreiche Hinweise sei daher auf den dokumentierten Source Code1 sowie auf das Archiv der Mailing List für OpenCms Entwickler2 verwiesen. Wie bereits bei der vorhergehenden Darstellung des OpenCms Systems (siehe Kapitel 6.2.1) erläutert wurde, speichert OpenCms sämtlichen Content in einem Virtual File System (VFS) und erlaubt über den OpenCms Workplace den Zugriff auf den gesamten Content (siehe Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..2). Jedes File bzw. Objekt in diesem VFS wird im Kontext von OpenCms als eine Ressource bezeichnet. Eine Ressource setzt sich grundsätzlich aus dem eigentlichen Content sowie dazugehörigen Metainformationen zusammen und entspricht damit dem Konzept von Content-Objekten aus dem im vorherigen Kapitel aufgezeigten Gestaltungsmodell. Man unterscheidet zwischen unterschiedlichen Typen von Ressourcen, je nach dem Typ des eigentlichen Content, wie beispielsweise binäre Daten, Templates oder Grafiken. Es gibt nur eine ganz spezielle Ressource, welche keinen Content beinhaltet und mit dem Typ Folder bezeichnet wird. Sie dient der hierarchischen Verwaltung der zahlreichen Ressourcen in beliebig verschachtelten Ordnern. Auf der Programmierebene erfolgt der Zugriff auf sämtliche Ressourcen innerhalb des VFS über eine zentrale Schnittstelle, welche als CmsObject bezeichnet wird. Dieses Konzept der einheitlichen Ressourcen sowie dem einheitlichen Zugriff über das CmsObject verdeutlicht den wesentlichen Grundgedanken eines einheitlichen Content Zugriffs des im Gestaltungsmodell aufgezeigten Abstraktions Layer (siehe Kapitel 1 Die Source Code Dokumentation entspricht dem Javadoc Standard. 2 Siehe http://www.opencms.org/opencms/en/development/mailinglist-archive.html Implementierung ausgewählter Aspekte eines innovativen Content Management Systems 120 7.2.1). Da der Abstraktions Layer ein zentrales Element in der Gesamtarchitektur des im vorherigen Kapitel modellierten CMS darstellt, verdeutlicht diese Übereinstimmung die gute Eignung von OpenCms als eine Ausgangsbasis für die Implementierung eines innovativen CMS. Im folgenden Abschnitt sollen die Funktionen von OpenCms der identifizierten Architektur eines innovativen CMS gegenübergestellt werden, um eventuell zweckmäßige funktionale Erweiterungen für das OpenCms zu ermitteln. 8.1.2 Gegenüberstellung mit der Architektur eines innovativen CMS Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..1 zeigt nochmals die im vorherigen Kapitel identifizierte Gesamtarchitektur eines innovativen CMS (siehe Kapitel 7.3), wobei jedoch sämtliche Komponenten hervorgehoben sind, welche der Autor der vorliegenden Arbeit bei OpenCms im Wesentlichen erfüllt sieht. Die Abbildung zeigt sehr deutlich die Schwerpunktsetzung von OpenCms, das Verwalten und Erstellen von Websites. Um diese zu verdeutlichen, sollen die einzelnen Layer kurz im Bezug auf OpenCms diskutiert werden. Der Daten Layer berücksichtig grundsätzlich nur die Speicherung von strukturierten und unstrukturierten Ressourcen in der, im Kontext von OpenCms, internen Datenbank. Spezielle Aspekte einer Langzeit-Archivierung sowie spezielle Adapter zu Fremdsystemen werden nicht berücksichtigt. Die wesentliche Eigenschaft des Abstraktions Layer wird allerdings implementiert, indem der Zugriff auf sämtliche Ressourcen über eine einheitliche Schnittstelle ermöglicht wird (siehe Kapitel 8.1.1). Allerdings gibt es keine Unterstützung für die Integration von Content Syndication Protokollen. Die grundlegenden Funktionalitäten im darauf folgenden Layer werden sehr gut erfüllt. Nur Aspekte der Archivierung, wie bereits beim Daten Layer erwähnt, sowie die Internationalisierung werden etwas vernachlässigt. Es gibt zwar einfache Möglichkeiten, das User Interface der Content-Verwaltung im Front-End Layer in mehreren Sprachen verfügbar zu machen, doch die Möglichkeiten der Erstellung mehrsprachiger Websites zeigen Verbesserungsmöglichkeiten. Mehrsprachigkeit wird zumeist durch ein paralleles Anlegen von identischen Websites in unterschiedlichen Sprachen erreicht. Aber es gibt keine Möglichkeiten, bei der Content-Eingabe einfach die aktuelle Sprache zu wechseln, um nacheinander verschiedene Sprachen einzugeben oder die Möglichkeit, notwendige Übersetzungsprozesse in Workflows zu erfassen. Auch beim Import bzw. Export sei erwähnt, dass hier grundsätzlich nur ein Import von im OpenCms selber exportierten Content effizient unterstützt wird. Möglichkeiten eines Imports von großen Mengen an beliebig strukturiertem Content sind jedoch nicht zu erkennen. Implementierung ausgewählter Aspekte eines innovativen Content Management Systems 121 Client … Digital Right Management Analyse Protokollierung Monitoring Digital Asset Management Portal Website Website Erstellung Barrierefeier Informationszugang Workplace Portal Information Retrieval Workflow API Content Management Externe Applikationen Zugriffskontrolle Versionierung Check-In Check-Out Directory Services Link Management Archivierung Internationalisierung Email Import Export Backup Benutzerverwaltung Intern Archivierter Content Strukturierter Content Unstrukturierter Content Adapter … Extern … Abstraktion Content Daten Content-Objekte Metainformationen Content Providing Content Syndication Funktionalität Interner Konnektor … Content-Bereitstellung Content-Verwaltung Administration Proprietäre Clients Front-End Mobile Engeräte Web Browser Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..1: Implementierte Komponenten der identifizierten Gesamtarchitektur aus Kapitel 7 im Hinblick auf OpenCms Bei den Schnittstellen im Funktionalitäten Layer ist auch das Fehlen einiger wichtiger Komponenten zu bemerken. Es fehlen zurzeit Möglichkeiten einer einfachen Integration von externen Applikationen zur Content-Bearbeitung, eine Integration von externen Benutzerdaten sowie das Bereitstellen von verwaltetem Content über standardisierte Syndication Protokolle für externe Interessenten. Ein Blick auf die verbleibenden, Implementierung ausgewählter Aspekte eines innovativen Content Management Systems 122 erweiterten Funktionalitäten im selbigen Layer zeigt deutlich die Schwerpunktsetzung von OpenCms. Wirklich effizient wird nur die Website Erstellung unterstützt sowie Möglichkeiten einer Integration unterschiedlicher Information Retrieval Komponenten. Die Unterstützung eines einfachen vorgegebenen Workflow ist zwar zu erkennen, jedoch gibt es noch keine Möglichkeiten, flexible, komplexe Workflows in einer komfortablen Vorgehensweise zu modellieren. Schlussendlich verbleibt noch der Front-End Layer, welcher wiederum die Spezialisierung auf das Web aufzeigt. Im Rahmen der Content-Verwaltung bietet OpenCms zwei unterschiedliche User Interfaces, welche einerseits das Durchführen von administrativen Tätigkeiten erlauben und andererseits die Verwaltung des Content ermöglichen. Die Content-Bereitstellung unterstützt in erster Linie die Publikation von Websites. Da der Zugang für die Content-Verwaltung ausschließlich über den Web Browser ermöglicht wird, stellt dieser sowohl für die Content-Verwaltung als auch für die ContentBereitstellung den bevorzugten Client dar. Die Gegenüberstellung von OpenCms mit der identifizierten Architektur eines innovativen CMS zeigt noch sehr viele unberücksichtigte Aspekte bei OpenCms im Hinblick auf die funktionale Erfüllung sämtlicher aufgezeigten Komponenten. Es sei allerdings darauf verwiesen, dass das im Rahmen des Gestaltungsmodells aufgezeigte innovative CMS die Idealvorstellung eines CMS beschreibt, deren vollständige Implementierung ein äußerst komplexes und umfangreiches Projekt darstellt. Im Rahmen der vorliegenden Arbeit wurden zwei, im Kontext der Architektur eines innovativen CMS, fehlende Funktionalitäten bei OpenCms ausgewählt, deren Implementierung nicht nur eine sehr zweckdienliche Erweiterung für OpenCms darstellt, sondern auch sehr innovative Anwendungsmöglichkeiten für die XML Technologie ermöglicht. Zu diesem Zweck wurden funktionale Erweiterungen in den Bereichen Content Syndication und Import bzw. Export implementiert, deren Anwendung sowie Nutzen im verbleibenden Teil dieses Kapitels erläutert werden sollen. An dieser Stelle sei erwähnt, dass OpenCms einen sehr effizienten Ansatz bietet, funktionale Erweiterungen vorzunehmen. OpenCms bietet einen Modul-Mechanismus, der es erlaubt, sämtliche für eine funktionale Erweiterung benötigte Ressourcen, seien es Java Klassen, Templates oder diverse binäre Dateien in einem Modul zusammenzufassen. Module werden über den OpenCms Workplace erstellt und können in das lokale Dateisystem exportiert werden. Ein exportiertes Modul kann bei einem anderen OpenCms System wieder importiert werden, wodurch, auch bei einem bereits im Einsatz befindlichen System, sehr leicht funktionale Erweiterungen hinzugefügt werden können. Bei der Implementierung der nachfolgenden Funktionalitäten wurde vom Autor der vorliegenden Arbeit dieser Modul-Mechanismus verwendet3. 3 Die in Kapitel 8.2 aufgezeigten Funktionalitäten wurden vom Autor der vorliegenden Arbeit als ein Modul über die OpenCms Website der OpenCms Community zur Verfügung gestellt. Siehe http://www.opencms.org/opencms/en/download/sandbox.html Implementierung ausgewählter Aspekte eines innovativen Content Management Systems 8.2 123 Content Syndication und Providing OpenCms wurde dahingehend erweitert, um zum einen externen Content in einer Form zu integrieren, dass eine bedarfsgerechte Publikation ermöglicht wird und zum anderen erfasster, strukturierter Content in OpenCms über ein Standardprotokoll für externe Interessenten zur Verfügung steht. Als Protokoll für Content Syndication sowie Providing wurde der RDF Site Summary (RSS) Standard verwendet. RSS ist ein bereits sehr weit verbreiteter XML basierter Standard, für das Austauschen von Informationen über das Web, welche sich grundsätzlich auf die Elemente Schlagzeile, weiterführender Link und Kurzbeschreibung reduzieren lassen. Die typischen Informationen, die über RSS angeboten werden sind Schlagzeilen oder Kurzfassungen von aktuellen Artikeln. Der Sinn von RSS liegt nicht in dem Austausch großer Content-Mengen, sondern nur in der strukturierten Übermittlung der wichtigsten Daten, um so beispielsweise aktuelle Schlagzeilen auf einer beliebigen Website zu integrieren. Möchte man zu einer Schlagzeile mehr Information haben, so wird ein entsprechender Link angeboten, welcher auf die entsprechende Stelle der Website des Autors der Schlagzeilen führt. [Lewin 2000] 8.2.1 Integration von externem Content Eine automatisierte Integration von externem Content für eine einfache bedarfsgerechte Publikation bietet eine einfache Möglichkeit, um beispielsweise den Content auf einer Website ohne größeren Aufwand aktuell zu halten. Zur Realisierung dieses Vorhabens wurde OpenCms mit einer Funktion erweitert, die es erlaubt, über das HTTP Protokoll ein auf dem RSS Standard basiertes XML Dokument von beliebigen externen ContentAnbietern in das VFS von OpenCms zu übertragen. Jedes übertragene XML Dokument wird als eigene Ressource im VFS gespeichert. Da es sich um den XML Standard handelt, bietet sich idealerweise für eine bedarfsgerechte Publikation eine XSLT Transformation an. Das entsprechenden XSLT Dokument wird über den OpenCms Workplace erstellt und ebenfalls als eine eigene Ressource im VFS gespeichert. Für die tatsächliche Publikation des externen Content bedient man sich grundsätzlich der JavaServer Pages (JSP), eine bekannte und etablierte Technologie, welche auch ein fixer Bestandteil der J2EE Entwicklungsplattform ist (siehe auch Kapitel 5.1.3). JSP Seiten können über den OpenCms Workplace erstellt und bearbeitet werden und sind ebenfalls als ein spezieller Typ von Ressourcen im VFS gespeichert. Mittels der JSP Technologie ist es sehr leicht möglich, basierend auf der Java Programmiersprache, dynamische Elemente auf einer Website zu realisieren. JSP Seiten werden zumeist von einem Designer erstellt, dessen Aufgabenschwerpunkt in der Erstellung eines professionellen Designs und nicht in der Programmierung liegen soll und daher ist es von Bedeutung, die notwendigen Tätigkeiten für den Designer kurz und einfach zu halten. In diesem Sinne beschränken sich die für den Website Designer durchzuführenden Tätigkeiten auf das Einfügen eines bestimmten Funktionsaufrufes in Implementierung ausgewählter Aspekte eines innovativen Content Management Systems 124 die betreffende JSP Seite und das Definieren notwendiger Parameter über die Metainformationen. Wie zuvor erwähnt wurde, werden JSP Seiten als eine Ressource gespeichert und Ressourcen in OpenCms können standardmäßig mit Metainformationen angereichert werden. In dieser speziellen Anwendung müssen zwei Metainformationen definiert werden, zum einen die Referenz auf den externen Content und zum anderen die XSLT Ressource, um den Content für die Publikation auf der Website entsprechend zu transformieren. Durch den von dem Designer erstellten Funktionsaufruf in der JSP Seite wird der Content, von den über die Metainformationen definierten Ressourcen ausgelesen, die XSLT Transformation durchgeführt und der in diesem Fall generierte HTML Code auf der Website publiziert. Die XSLT Ressourcen sind grundsätzlich immer im VFS von OpenCms gespeichert. Eine einmal erstellte XSLT Ressource kann natürlich mehrfach wieder verwendet werden, solange der XML basierte, externe Content den Richtlinien des RSS Standard folgt. Der externe Content selbst muss gar nicht im VFS gespeichert sein. Es ist auch möglich, immer wenn eine JSP Seite angefordert wird, welche eine externe ContentQuelle integriert, den entsprechenden RSS basierten Content direkt vom externen Anbieter anzufordern. Dies hat natürlich den Vorteil, dass der integrierte Content immer ganz aktuell ist, aber leider auch den entscheidenden Nachteil, dass diese Vorgehensweise natürlich bei einer stark frequentierten Website unnötig viel Datentransfer verursacht und auch Performance kostet. Zumal man meistens davon ausgehen kann, dass sich ein über den RSS Standard angebotener Content maximal stündlich oder auch nur täglich ändert. Es ist daher durchaus effizienter, den externen Content am lokalen Server zwischenzuspeichern und bei der Publikation auf der Website auf diesen lokal gespeicherten Content zuzugreifen. Im Kontext von OpenCms bietet sich idealerweise folgende Lösung an, welche auch implementiert wurde. OpenCms erlaubt die Definition von sogenannten Scheduled Tasks, welche über das Administrations-Interface von OpenCms definiert und verwaltet werden können. Damit ist es möglich, eine gewisse implementierte Funktion, automatisch, nach einem bestimmten Zeitschema, zu starten. Dadurch erreicht man, dass beispielsweise stündlich externer Content von diversen Anbietern angefordert wird und dieser in Form von Ressourcen im VFS von OpenCms gespeichert wird. Konfiguriert wird der dazu notwendige Scheduled Task mit einer Liste von URLs, welche die einzelnen RSS Content-Quellen spezifizieren. Diese Liste, welche als einfache Text Ressourcen ebenfalls im VFS vorliegt, kann dementsprechend über den OpenCms Workplace bearbeitet werden und wird in regelmäßigen Abständen vom entsprechenden Scheduled Task abgearbeitet. Beim Aufruf der entsprechenden JSP Seite werden daher nur mehr Ressourcen aus dem VFS aufgerufen. Die bisherigen Darstellungen in diesem Abschnitt sollen nun anhand einiger beispielhaften Screenshots verdeutlicht werden. Implementierung ausgewählter Aspekte eines innovativen Content Management Systems 125 Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..2: Aktuelle Weltnachrichten von Yahoo! News Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..2 zeigt Schlagzeilen vom aktuellen Weltgeschehen, welche auf der Yahoo! Website angeboten werden 4 . Die dargestellten Schlagzeilen werden von Yahoo! auch mittels RSS angeboten5, um die leichte Integration dieser Schlagzeilen auf beliebigen Websites zu ermöglichen. In Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..3 sind dieselben Schlagzeilen wie in Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..2 zu sehen. Allerdings handelt es sich nun um eine von OpenCms verwaltete Website. Die Publikation dieser Schlagzeilen erfolgte über jenen Mechanismus, wie er am Anfang dieses Abschnittes aufgezeigt wurde. Im Wesentlichen wurden die Yahoo! Schlagzeilen als ein XML basiertes RSS Dokument übertragen und mittels einer XSLT Transformation entsprechend aufbereitet. Der angeführte Link bei 4 Siehe http://news.yahoo.com/ 5 Siehe http://news.yahoo.com/rss Implementierung ausgewählter Aspekte eines innovativen Content Management Systems 126 jeder Schlagzeile in Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..3 führt direkt zum entsprechenden Artikel auf der Yahoo! Website. Abschließend zeigt Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..4 noch den Code der XSLT Ressource, welche benutzt wurde, um die Darstellung in Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..3 zu erreichen. Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..3: Integrierte Weltnachrichten in einer von OpenCms verwalteten Website Implementierung ausgewählter Aspekte eines innovativen Content Management Systems 127 Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..4: Die XSLT Transformation im Bearbeitungsmodus des OpenCms Workplace Die Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..4 zeigt zugleich den OpenCms Workplace im Bearbeitungsmodus des Content einer Ressource. Dies verdeutlicht den, nach Meinung des Autors der vorliegenden Arbeit, innovativen Ansatz von OpenCms, dass sämtliche benötigten Objekte für ein effektives Content Management bzw. eine bedarfsgerechte Publikation in der Form von einheitlichen Ressourcen gespeichert werden und über ein zentrales Web-basiertes Interface zugänglich sind. So können beispielsweise bei der in diesem Abschnitt dargestellten Funktion sämtliche relevanten Objekte, wie die zwischengespeicherten XML Daten, die JSP Seiten oder die XSLT Transformationen über einen Web Browser erstellt und bearbeitet werden. Es sei allerdings auch erwähnt, dass diese Web-basierten Editiermöglichkeiten, wie sie in Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..4 aufgezeigt werden, relativ einfach gehalten sind. OpenCms bietet nur für HTML-Seiten einen sehr komfortablen WYSIWYG Editor. Allerdings können beispielsweise auch XSLT Transformationen durchaus komplexe Strukturen annehmen und unterstützende Bearbeitungsfunktionen, wie ein Highlighting oder eine automatische Vervollständigung, können sehr hilfreich sein. Zurzeit sind jedoch sämtliche Möglichkeiten innerhalb des OpenCms Workplace, außer für HTML-Seiten, vergleichbar mit denen eines simplen Text Editors. Interessant wäre in diesem Zusammenhang auch eine Schnittstelle für externe Bearbeitungsprogramme, sodass die XSLT Ressource im Verwaltungsbereich von OpenCms bleibt, man aber ein spezialisiertes XSLT Bearbeitungstool zum Editieren verwenden kann. Implementierung ausgewählter Aspekte eines innovativen Content Management Systems 8.2.2 128 Bereitstellen von strukturiertem Content Wie es bereits in der Darstellung von OpenCms in Kapitel 6 beschrieben wurde (siehe Kapitel 6.2.1), unterstützt OpenCms die Erfassung von strukturiertem Content. Diese Möglichkeit ist beispielsweise dazu geeignet, um aktuelle Informationen, wie News oder Job Angebote strukturiert zu erfassen und bedarfsgerecht in einer Übersichtsseite oder einer detaillierten Darstellung zu publizieren. Natürlich bietet sich auch die Möglichkeit an, den erfassten Content für externe Interessenten anzubieten. Zu diesem Zweck wurde OpenCms im Rahmen der vorliegenden Arbeit dahingehend erweitert, dass strukturierter Content, basierend auf dem RSS Standard, für externe Interessenten verfügbar gemacht werden kann. Konkret wurde diese Funktion für eine News Anwendung implementiert. News Beiträge können in einem komfortablen Formular über den OpenCms Workplace erfasst werden und die aktuellsten Beiträge werden automatisiert mittels RSS über HTTP angeboten. Der vorgesehene Mechanismus in OpenCms für eine strukturierte Content-Erfassung sieht grundsätzlich keine Nutzung von XML Technologien vor. Es wird eher ein proprietärer Ansatz verfolgt, wobei der Zugriff auf die einzelnen Informationen des strukturierten Content, welche in einer eigens erstellten Datenbank-Tabelle gespeichert werden, über eine speziell implementierte Java Klasse erfolgt. Die Definition eines neuen, strukturierten Content-Items bedarf daher immer der Programmierung einiger bestimmter Java Klassen. Das Einhalten gewisser Richtlinien ermöglicht allerdings eine leichte Integration der für eine Bearbeitung der Content-Items notwendigen Formulare in den OpenCms Workplace. Für unterschiedliche Publikationen der strukturierten Content-Items bedient man sich wiederum der JSP Seiten, welche einen Java basierten Zugriff auf die strukturierten Informationen erlauben, um eine bedarfsgerechte Darstellung auf der Website zu erzielen. Es sei darauf verwiesen, dass XML Technologien in diesem Zusammenhang eine interessante Alternative wären, strukturierten Content zu definieren ohne Java Programmcode zu erstellen (siehe auch Kapitel 8.3). Diese Möglichkeit liegt jedoch nicht im Betrachtungsbereich der in diesem Abschnitt aufgezeigten Funktion und daher wurde vorerst der Ansatz von OpenCms zur strukturierten Content-Erfassung übernommen. Implementierung ausgewählter Aspekte eines innovativen Content Management Systems 129 Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..5: Das Bearbeiten eines Content-Item im OpenCms Workplace Ein strukturierter Content, im Kontext von OpenCms auch als Content-Item bezeichnet, wird grundsätzlich einem Channel zugeordnet. Dadurch kann Content, welcher auf derselben Strukturdefinition basiert, nach inhaltlichen Kriterien getrennt werden. Im Rahmen der in diesem Abschnitt aufgezeigten Anwendung wurde eine Strukturdefinition verwendet, welche im Wesentlichen aus den Elementen Überschrift, Kurzbeschreibung, Datum, Autor, Link und Langbeschreibung besteht. Diese Struktur kann beispielsweise für aktuelle Änderungen an einer bestimmten Website oder auch für Job Angebote genutzt werden, wodurch in diesem Fall zwei unterschiedliche Channels notwendig wären. Die implementierte RSS Funktionalität erzeugt für jeden definierten Channel ein eigenes RSS basiertes XML Dokument, welches als eine Ressource im VFS von OpenCms gespeichert wird. Zur Generierung der RSS Ressourcen wurde wiederum ein Scheduled Task definiert (siehe Kapitel 8.2.1), wodurch die Generierung automatisiert nach einem gewissen Zeitschema vorgenommen wird, um die Aktualität des angebotenen Content zu gewährleisten. Die so erstellten RSS Ressourcen beinhalten Implementierung ausgewählter Aspekte eines innovativen Content Management Systems 130 jeweils die neuesten Beiträge eines Channels und sind auf der publizierten Website über eine bestimmte URL für externe Interessenten zugänglich. Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..5 zeigt ein Formular zur Erfassung und Bearbeitung von ContentItems im OpenCms Workplace. Das dargestellte Formular dient in erster Linie den Content-Autoren als ein komfortables Interface, um eine einfache Content-Eingabe zu ermöglichen und zugleich die strukturierte Content-Erfassung zu gewährleisten. Die beiden folgenden Abbildungen sollen die Vorteilhaftigkeit einer strukturierten Erfassung und Speicherung verdeutlichen, indem ein und derselbe Content unterschiedlich aufbereitet dargestellt werden kann. Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..6: Eine Überblicksseite über aktuelle Beiträge eines Channels Implementierung ausgewählter Aspekte eines innovativen Content Management Systems 131 Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..7: Die Detailansicht eines Content-Items Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..6 sowie Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..7 zeigen zwei mögliche Darstellungen der im Workplace erfassten Content-Items auf einer von OpenCms verwalteten Website. An dieser Stelle sei darauf verwiesen, dass sämtlicher zu erkennender Inhalt bei den diversen in diesem Kapitel aufgezeigten Abbildungen fiktiv ist und vom Autor der vorliegenden Arbeit frei gewählt wurden, im Sinne einer möglichst realitätsbezogenen Anwendung. Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..6 zeigt eine Überblicksseite der neuesten Beiträge eines Channels, welcher in diesem Beispiel aktuelle Neuigkeiten rund um das OpenCms Projekt beinhaltet. Jeder einzelne Content-Item wird durch seine Überschrift und Kurzbeschreibung dargestellt. Die Überschriften der einzelnen Items repräsentieren zugleich einen Link auf eine detaillierte Ansicht des entsprechenden Content-Items, welche beispielhaft in Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..7 zu sehen ist. Der in dieser Abbildung zu erkennende Beitrag ist jener, welcher in dem in Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..5 dargestellten Formular eingegeben wurde. Dies zeigt auch sehr anschaulich die Vorteilhaftigkeit der getrennten Erfassung von Struktur, Inhalt und Darstellung. Der Content kann von Implementierung ausgewählter Aspekte eines innovativen Content Management Systems 132 Autoren über komfortable Formulare eingegeben werden und unabhängig davon können Designer die bedarfsgerechte Publikation auf einer Website festlegen. Negativ anzumerken ist nur, dass hier im Kontext von OpenCms, Struktur sowie Darstellungsinformation mit Java Code vermischt werden. Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..8: Darstellung der in OpenCms erfassten Content-Items in einem beliebigen RSS Reader Schlussendlich werden die neuesten Content-Items eines jeden Channels, wie zu Anfang dieses Abschnittes beschrieben, mittels RSS angeboten. Für externe Interessenten ist es damit leicht möglich, kurze Informationen über die neuesten in OpenCms erfassten Beiträge für ihre eigene Anwendung zu nutzen. Beispielhaft sei auf diverse RSS Reader verwiesen, welche eine Aggregation diverser RSS Quellen erlauben und es so dem Anwender ermöglichen, sich in einer übersichtlichen Art und Weise über aktuelle Schlagzeilen, Artikel oder sonstige Beiträge von diversen Content-Anbietern zu informieren. Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..8 zeigt das Web-basierte Interface von MyBlogroll6, ein zum Zweck der Demonstration beispielhaft ausgewählter RSS Reader. Aufgrund der Einhaltung des RSS Standard genügt es im RSS Reader die URL der entsprechenden RSS Quelle anzugeben und der übermittelte Content kann in beliebiger Form aufbereitet werden. In Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..8 erkennt man dieselben vier Überschriften wie sie auch 6 Siehe http://www.myblogroll.com/ Implementierung ausgewählter Aspekte eines innovativen Content Management Systems 133 in Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..6 dargestellt sind. Jeder dargestellt Beitrag in dem RSS Reader MyBlogroll ist mit einem Link versehen, welcher den Endanwender direkt zur detaillierten Ansicht des entsprechenden Beitrags auf der von OpenCms verwalteten Website führt. 8.3 Import und Export im Kontext von XML Im vorherigen Abschnitt wurde unter anderem auf die Möglichkeiten der strukturierten Content-Erfassung in OpenCms eingegangen. OpenCms verfolgt dabei zurzeit einen eher proprietären Ansatz und vermischt strukturelle Informationen mit Java Programmcode. In diesem Zusammenhang wurde bereits XML als eine interessante Alternative vorgeschlagen (siehe Kapitel 8.2.2). Es ist das Ziel dieses Abschnittes, die Möglichkeiten der XML Technologien zur Strukturdefinition zu erörtern und die Eignung als ein Import- bzw. Exportformat für ein Content Management System, wie beispielsweise OpenCms, aufzuzeigen. Die Überlegungen und Implementierungsansätze in diesem Abschnitt sollen anhand eines praxisorientierten, fiktiven Beispiels, mit der Zielsetzung eines Imports von externem, strukturiertem Content in das OpenCms System, motiviert werden. Folgende Anforderungen sollen gelten: Externe Informationsbestände sollen in einer strukturierten Form erfasst werden. Die strukturierte Erfassung soll unabhängig von OpenCms und eventuell damit verbundenen proprietären Eigenschaften sein. Strukturelle Vorgaben sollen in einem offenen Format festgelegt werden, welches von OpenCms und dem Bereitsteller von externen Informationen eindeutig interpretiert werden kann. Der erfasste strukturierte Content kann ohne weiteren Aufwand in OpenCms importiert und auf die Einhaltung der strukturellen Vorgaben validiert werden und steht danach sämtlichen Funktionen des Content Management Systems zur Verfügung. Als Beispiele für die externen Informationsbestände sollen Metainformationen von vorhandenen Beständen an diversen Publikationen in einer Unternehmung angenommen werden. Beispiele für diese Metainformationen wären Titel, Untertitel, Autor, Verlag, Erscheinungsjahr usw. Des Weiteren gehört jede Publikation zu einer gewissen Abteilung innerhalb der Unternehmung. Dieser Zusammenhang soll ebenfalls strukturiert erfasst werden, indem zum einem die Abteilungen mit einer verantwortlichen Kontaktperson und zum anderen die Zuordnung der Publikationen zu den Abteilungen erfasst wird. Allerdings soll jederzeit sichergestellt sein, dass eine Publikation nur Abteilungen zugeordnet werden kann, welche bereits erfasst worden sind. Implementierung ausgewählter Aspekte eines innovativen Content Management Systems 134 Da die oben erläuterten Anforderungen die strukturelle Erfassung in einem offenen Format verlangen, bietet sich die Nutzung der standardisierten XML Technologien an. Zurzeit bieten sich zwei Standards aus dem XML Bereich an, um Strukturdefinitionen festzulegen, DTD und XML Schema, wobei zur Realisierung des in diesem Abschnitt erörterten Beispiel XML Schema aufgrund der zahlreichen Verbesserungen gegenüber dem älteren Standard DTD (siehe auch Kapitel 4.1.1) gewählt wurde. Ein wesentlicher Nachteil bei einer DTD liegt darin, dass zwar relativ problemlos strukturelle Definitionen vorgenommen werden können, aber es nicht möglich ist, Vorgaben bezüglich der Syntax des zu erfassenden Content festzulegen. XML Schema hingegen bietet in diesem Bereich zahlreiche Möglichkeiten. So werden bereits von XML Schema selbst gewisse Datentypen vordefiniert, welche den einzelnen Elementen der Strukturdefinition zugewiesen werden können. Diese vordefinierten Datentypen, wie String, Integer, Date oder Boolean und deren Bedeutung sind im Wesentlichen von diversen Programmiersprachen bekannt und sollten an dieser Stelle keine weitere Erläuterung benötigen. Diese Erweiterung gegenüber der DTD ist jedoch sehr wesentlich, um bei einer automatisierten Validierung von erfassten, strukturierten Content gewisse Grundvoraussetzungen einfach zu überprüfen. Beispielsweise soll bei einem Strukturelement, welches nur Zahlen als sinnvollen Content zulässt, dies auch entsprechend definiert werden können. Zugleich verhindert das Verwenden von gewissen Datentypen auch Missverständnisse. Zum Beispiel legt der Datentype Date bei XML Schema genau fest, wie ein Datum erfasst werden muss und lässt daher keinen Spielraum bei der Interpretation von Tag, Monat und Jahr zu. Bei einer DTD zum Beispiel könnte nur ein Strukturelement Date definiert werde, welches jedoch im Grunde jeden beliebigen Inhalt haben könnte. [DTD 2003] [XML Schema 2003] XML Schema bietet allerdings noch weit mehr als eine begrenzte Anzahl vordefinierter Typen. Datentypen können neu definiert werden und durch gewisse Einschränkungen an bestimmte Anforderungen angepasst werden. So kann beispielsweise ein Integer Typ mit einem erlaubten minimalen und maximalen Wert versehen werden oder die erlaubten Inhalte eines gewissen Datentyps können auf eine begrenzte Menge erlaubter Inhalte beschränkt werden. Sehr hilfreich ist auch die Möglichkeit der Definition bestimmter Muster, um zum Beispiel festzulegen, dass der Inhalt eines gewissen Elements nur aus zusammenhängenden Wörtern getrennt durch einen Beistrich bestehen darf. XML Schema zeigt sich aber auch sehr flexibel beim Festlegen der Reihenfolge von Strukturelementen sowie beim Definieren von verpflichtenden oder optionalen Elementen. Schlussendlich sei noch darauf verwiesen, dass XML Schema den XML Richtlinien folgt und daher ein gültiges XML Schema auch ein gültiges XML Dokument ist. XML Schema können aus diesem Grund wie jedes beliebige XML Dokument über die Programmierschnittstelle DOM angesprochen werden oder auch einer XSLT Transformation unterzogen werden. [DTD 2003] [XML Schema 2003] Aufgrund der zahlreichen Möglichkeiten von XML Schema präsentiert sich diese Technologie als ein bereits sehr gut entwickelter, offener Standard für eine Implementierung ausgewählter Aspekte eines innovativen Content Management Systems 135 anspruchsvolle Definition von beliebigen Content-Strukturen. Für das Erfassen der externen Informationsbestände aus dem zu Anfang dieses Abschnittes erörterten Beispiels werden zwei XML Schema Dokumente erstellt, eine für das Festlegen der Struktur der Publikationen und eine für die Abteilungen. Besonders bei den zu erfassenden Metainformationen der Publikationen lassen sich die Vorzüge von XML Schema sehr gut anwenden und dies soll anhand einiger denkbarer Metainformationen verdeutlicht werden: Autoren: Im Sinne einer einheitlichen Erfassung von Autorennamen ist es sinnvoll, wenn dies nach gewissen formalen Kriterien geschieht, welche sich durch Muster in XML Schema sehr flexibel gestalten lassen. Erscheinungsjahr: Erwartet man eine Jahreszahl, so muss diese beispielsweise eine vierstellige Zahl sein. Durch entsprechende Einschränkungen lässt sich dies in XML Schema leicht realisieren. Kategorie: Eine Publikation kann einer gewissen Kategorie zugeordnet sein, wie zum Beispiel „Wirtschaft“, „Informatik“ oder „Recht“. Man kann davon ausgehen, dass es nur eine begrenzte Anzahl an Kategorien gibt, welche als erlaubte Werte für dieses Element definiert werden können. Etwas schwieriger gestaltet sich das Abbilden der Verknüpfung zwischen den Publikationen und den Abteilungen. Es ist grundsätzlich kein Problem, bei der XML Schema Definition der Publikation ein Element festzulegen, welches eine Referenz auf eine bestimmte Abteilung darstellen soll. Es ist allerdings etwas problematisch, wenn man von einer parallelen Erfassung der Metainformationen der Publikationen und den Abteilungen, mit den verantwortlichen Personen, ausgeht. Es kann dadurch nicht im Vorhinein festgestellt werden, welche Abteilungen es gibt, um so für die Abteilungsreferenz der Publikation den erlaubten Wertebereich vorzugeben. Es müsste an dieser Stelle möglich sein, eine dynamische Beziehung zwischen den erfassten Abteilungen in einem XML Dokument und der XML Schema Definition der Publikationen herzustellen. Konkret müsste es in der XML Schema Definition der Publikationen möglich sein, die erlaubten Inhalte für ein gewisses Strukturelement auf bereits erfasste Inhalte in einem speziellen XML Dokument einzuschränken. Diese Verknüpfung ist allerdings nicht direkt möglich, jedoch wurde vom Autor der vorliegenden Arbeit ein möglicher, auf XML Technologie basierter Lösungsvorschlag erarbeitet. Implementierung ausgewählter Aspekte eines innovativen Content Management Systems Publikationen Abteilungen XSLT referenziert XML Schema Datentyp Struktur Definition XML Dokument Struktur Definition XML Dokument XML Schema Dokument 136 XML Schema Dokument Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..9: Lösungsvorschlag für eine dynamische Sicherstellung der Verknüpfung Publikation und Abteilung Dieser Lösungsvorschlag basiert im Wesentlichen auf der Eigenschaft von XML Schema Dokumenten, da sie der XML Syntax folgen und es damit möglich ist, durch eine XSLT Transformation aus einem XML Dokument ein XML Schema Dokument zu erzeugen. Es wurde daher eine XSLT Transformation erstellt, welche aus den erfassten Abteilungen in einem XML Dokument ein gültiges XML Schema Dokument erstellt, welches einen speziellen Datentyp definiert, der als mögliche Inhalte lediglich die Kurzbezeichnungen der bereits erfassten Abteilungen zulässt. Für die eigentliche Strukturdefinition der Publikationen gibt es ein eigenes XML Schema Dokument, welches im Wesentlichen sämtliche statischen Elemente definiert und den durch die XSLT Transformation generierten Datentyp referenziert. In Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..9 werden die soeben erläuterten Aspekte grafisch verdeutlicht. Der in Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..9 dargestellte Ansatz setzt voraus, dass nach jeder Änderung im XML Dokument die XSLT Transformation durchgeführt wird. Dadurch ist es gewährleistet, dass das XML Dokument für die Publikationen jederzeit auf eine gültige Struktur überprüft werden kann. Es sei allerdings auch erwähnt, dass dieser Ansatz gewisse Schwachstellen aufzeigt. Würde zum Beispiel eine Abteilung wieder entfernt oder deren Kurzbezeichnung verändert, so würde dies grundsätzlich keine automatische Korrektur bei den bereits erfassten Publikationen bewirken, sofern die betroffene Abteilung bereits referenziert wurde. Allerdings zeigt dieser Ansatz, wie man basiert auf XML Technologien bereits sehr komplexe Zusammenhänge abbilden kann. Der wesentliche Vorteil besteht nun darin, dass die Strukturdefinitionen in einem offenen Format vorliegen, welche dem Implementierung ausgewählter Aspekte eines innovativen Content Management Systems 137 Bereitsteller von externen Informationen übermittelt werden können. Dieser kann nun mittels standardisierter Tools die Aufbereitung der externen Informationsbestände vornehmen, welche grundsätzlich aufgrund der deutlichen Vorgaben ohne weiteren Aufwand für einen Import effektiv verwendet werden können. Unter einem standardisierten Tool versteht man beispielsweise ein beliebiges XML Bearbeitungstool, welches aufgrund einer XML Schema Definition einfache Eingabemöglichkeiten von XML basierten Content erlaubt. Zum Zweck der Demonstration wurde beispielhaft das XML Bearbeitungstool XmlSpy7 evaluiert. Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..10 zeigt beispielhaft die komfortable Bearbeitungsmöglichkeit eines XML Dokuments mit XmlSpy. Aufgrund der genauen XML Schema Definition können sehr leicht Formulare erstellt werden, welche eine einfache Content-Eingabe erlauben, wobei jedoch im Hintergrund entsprechende XML Dokumente erzeugt werden. XmlSpy bietet auch die Möglichkeit, für Strukturelemente, welche nur eine gewisse Menge an Inhalten zulassen, diese in einer Combo Box anzubieten. Der in Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..9 gezeigte Lösungsvorschlag bringt hier einen weiteren Vorteil, da durch die dynamische Generierung des Datentyps für die Kurzbezeichnungen der Abteilungen dieser ebenfalls über eine Combo Box dargestellt werden kann (ist in der Mitte der Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..10 zu erkennen). Die notwendige XSLT Transformation lässt sich ebenfalls mit XmlSpy ausführen. 7 XmlSpy ist ein kommerzielles Produkt der Firma Altova und kann von der Produkt Website für eine kostenlose Evaluation bezogen werden. Siehe http://www.xmlspy.com/ Implementierung ausgewählter Aspekte eines innovativen Content Management Systems 138 Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..10: Bearbeitung eines XML Dokuments mit XmlSpy Dieses Beispiel verdeutlicht sehr gut den Vorteil der Unabhängigkeit von XML Technologien. Da XML Standards offen sind, gibt es bereits diverse Tools, welche eine leichte Erstellung von XML Daten unterstützen und der Bereitsteller von externen Informationen kann selbst entscheiden, wie er die Informationen erfassen oder erstellen möchte. Man ist dabei völlig unabhängig von der späteren Verwendung der strukturierten Informationen, wie eben in diesem Fall ein Import in OpenCms. Die in Abbildung Error! Use the Home tab to apply Überschrift 1 to the text that you want to appear here..10 gezeigte Anwendung berücksichtigt den Fall, dass sämtliche externe Informationen erst manuell erfasst werden müssen. Allerdings könnten die externen Informationen bereits in einer anderen Form elektronisch existieren. XML Schema gibt aber auch für diesen Fall eine klare, standardisierte Strukturdefinition vor, wie externe Informationen transformiert werden müssen, sodass sie für einen automatisierten Import problemlos zur Verfügung stehen. Sind die externen Informationsbestände in Form von XML Dokumenten erfasst und genügen sie den XML Schema Definitionen, so sollen sie in einer einfachen Weise, beispielsweise in OpenCms, importiert werden können. Die derzeitigen Funktionen von OpenCms nutzen zwar bereits XML Technologien, um die Metainformationen der Ressourcen in OpenCms bei einem Export zu beschreiben, aber ein flexibler Import von beliebigen XML Dokumenten wird noch nicht gewährleistet. Der Autor der vorliegenden Arbeit sieht einen möglichen Verbesserungsansatz darin, grundsätzlich Strukturdefinitionen im Kontext von OpenCms mittels XML Schema vorzunehmen und nicht durch Java Programmcode (siehe Kapitel 8.2.2). Ein XML Schema Dokument Implementierung ausgewählter Aspekte eines innovativen Content Management Systems 139 könnte als ein spezieller Typ von Ressourcen im VFS gespeichert werden und dadurch die Struktur eines gewissen Content-Item vorgeben. Eine flexible Importfunktion sollte es daraufhin ermöglichen, aufgrund der Struktur eines beliebigen Content-Item entsprechende XML Dokumente zu importieren und diese im VFS zu speichern. Aufgrund der genauen Strukturdefinition mittels XML Schema können die importierten Informationen genau geprüft werden, wodurch die Konsistenz des Content gewährleistet ist. Der importierte XML Content ist im Wesentlichen sofort für eine bedarfsgerechte Publikation mittels XSLT geeignet. Man erkennt den praktischen Nutzen von XML Schema, indem es einerseits in einem CMS genutzt werden kann, um strukturierten Content zu definieren und andererseits direkt an Bereitsteller von externen Informationen weitergegeben werden kann, um deutliche Vorgaben für das gewünschte Importformat zu machen. Dementsprechend ergibt sich auch ein Nutzen für die Exportfunktion eines CMS, da das XML Schema Dokument und der entsprechende XML basierte Content grundsätzlich in ihrer unveränderten Form für den Export bereit sind und aufgrund der Standardisierung und bereits weiten Verbreitung von XML Technologien sofort mittels diverser Tools bearbeitet werden können. 8.4 Schlussbemerkung OpenCms hat sich als ein sehr gut geeignetes Open Source Projekt zur Verdeutlichung einiger interessanter Aspekte des im Gestaltungsmodell aufgezeigten innovativen CMS erwiesen. Der wesentliche Vorteil von OpenCms ist der einheitliche Zugriff auf sämtliche gespeicherten Ressourcen, womit im Wesentlichen die Idee der ContentObjekte im Abstraktions Layer des Gestaltungsmodells implementiert wird. Aufbauend auf den existierenden Funktionen von OpenCms wurden ergänzende Funktionalitäten in den Bereichen Content Syndication sowie Import und Export implementiert und deren praktische Anwendung anhand anschaulicher Beispiele in diesem Kapitel aufgezeigt. XML Technologien kamen bei sämtlichen erörterten Funktionen eine bedeutende Rolle zu. Der wesentliche Vorteil von XML, die klare Trennung von Inhalt, Struktur und Darstellung auf Basis eines relativ einfachen, standardisierten Formats, wird durch die in diesem Kapitel aufgezeigten Funktionen deutlich hervorgehoben. Im Content Syndication Bereich erlaubt der Austausch der Inhaltskomponente von Content in Form eines XML Dokuments auf Basis einer definierten Struktur die bedarfsgerechte Publikation durch das Erstellen einer spezifischen Darstellungskomponente in Form eines XSLT Dokument (siehe Kapitel 8.2). Des Weiteren wurden die Möglichkeiten der Strukturdefinition mittels XML Schema detaillierter erörtert. Aufgrund bereits durchaus komplexer Möglichkeiten bietet XML Schema eine gute Eignung, um die Struktur von Content festzulegen. Der wesentliche Vorteil dieser Möglichkeit liegt darin, dass aufgrund der Standardisierung von XML Schema es ideal für Import- bzw. Export-Zwecke geeignet ist. Ein erstelltes XML Implementierung ausgewählter Aspekte eines innovativen Content Management Systems 140 Schema Dokument kann beispielsweise ohne weitere Aufbereitung einem externen Informationsbereitsteller weitergegeben werden, welcher das XML Schema genau interpretieren kann (siehe Kapitel 8.3). Die Nutzung von XML Technologien ermöglicht daher eine effektive Realisierung diverser Content Management Aufgaben und ermöglicht dabei das durchgängige Arbeiten mit einer einheitlichen, offenen und standardisierten Technologie. Im nachfolgenden, letzten Kapitel werden die wesentlichen Erkenntnisse des Untersuchungs- und Gestaltungsbereichs zusammengefasst und ein Ausblick auf zukünftige Entwicklungen im Kontext des in der vorliegenden Arbeit behandelten Themas gegeben. 9 Zusammenfassung und Ausblick Jedes Unternehmen muss sich in der heutigen Zeit mit der Problematik der Informationsflut und entsprechenden Möglichkeiten zur Bewältigung der riesigen Informationsmengen auseinandersetzen. Der systematische Umgang mit Content wird zum wettbewerbsentscheidenden Faktor im heutigen Wirtschaftsleben. In den letzten Jahren sind in diesem Umfeld eine Vielzahl an neuen Begriffen und Akronymen entstanden, welche dem Endanwender die Lösungen für einen effizienten Umgang mit sämtlichem Content innerhalb der Unternehmung aufzeigen sollen. Auch wenn viele Begriffe in erster Linie aus dem Grunde entstanden sind, um bekannte Technologien mit einem neuen innovativen Schlagwort wieder besser am Markt zu positionieren, so ist die Notwendigkeit für die Lösungen, welche die diversen Akronyme versprechen, definitiv gegeben. Content Management ist zurzeit einer der aktuellsten Begriffe, welcher mit der systematischen Verwaltung sämtlicher Informationen assoziiert wird. Durch den Einsatz eines Content Management Systems soll es ermöglicht werden, den Content entlang des gesamten Content Life Cycle, im Sinn einer möglichst effizienten Nutzung, zu kontrollieren. Die Verwaltung des Content sollte dabei beliebige Quellen integrieren und unabhängig von der späteren Verwendung erfolgen. Die strukturierte ContentErfassung ist ein wesentlicher Aspekt eines CMS, um Content möglichst flexibel an diverse Publikationskanäle anzupassen. Eine strukturierte Erfassung muss die Anatomie des Content berücksichtigen und eine getrennte Speicherung der wesentlichen Komponenten von Content – Struktur, Inhalt und Darstellung – erlauben. Eine durchgängige Berücksichtung der Anatomie des Content innerhalb eines CMS kann jedoch nicht für sämtlichen, vom CMS verwalteten Content verlangt werden. Aufgrund der essenziellen Aufgabe des CMS, den gesamten vorhandenen Content in einer Unternehmung in einem zentralen System zu organisieren, müssen auch diverse Bestände an unstrukturiertem Content möglichst effizient in das CMS integriert werden. Zu unstrukturiertem Content zählen in erster Linie multimediale Daten, welche per se nicht die Nachvollziehbarkeit der Anatomie des Content erlauben sowie diverse Dokumente in proprietären Formaten, wodurch strukturelle Informationen nur ungenügend dem CMS zur Verfügung stehen. Zusammenfassung und Ausblick 142 In der vorliegenden Arbeit wurden sämtliche Funktionen eines CMS identifiziert. Es wurden einerseits Kernfunktionen erarbeitet, welche nach Meinung des Autors der vorliegenden Arbeit für den effektiven Einsatz eines CMS unbedingt notwendig sind. In diesem Zusammenhang kommt dem Information Retrieval eine besondere Rolle zu, da natürlich der Nutzen eines CMS wesentlich dadurch determiniert wird, wie effizient der verwaltete Content wiederauffindbar ist. Aber auch die Workflow Komponente ist von großer Bedeutung, um anwendungsspezifische Content Life Cycle in einer flexiblen Art und Weise abzubilden. Die Workflow Komponente eines CMS soll es ermöglichen, dass unterschiedliche Personen den Content in den verschiedenen Phasen des Content Life Cycle bearbeiten können und dabei die Transparenz des Gesamtprozesses jederzeit gewahrt bleibt. Sofern die Anatomie des Content gegeben ist, sollen die einzelnen Komponenten des Content ebenfalls von unterschiedlichen Personen zu verschiedenen Zeitpunkten bearbeitet werden können. Den Integrationsmöglichkeiten von bereits existierenden Content innerhalb der Unternehmung kommt ebenfalls eine entscheidende Rolle zu, da ein CMS in keinem Fall ein weiteres System darstellen soll, welches im Parallelbetrieb zu anderen Systemen nur einen Teil des vorhandenen Content unter seiner Kontrolle hat. Schlussendlich ist auch die Berücksichtigung von Aspekten einer Langzeit Archivierung von großer Bedeutung, um wertvollen Content auch in Zeiten ständiger Technologiewechsel in einer Form zu archivieren, sodass ein authentischer Zugriff auch nach Jahrzehnten noch gewährleistet ist. Des Weiteren wurden Funktionen erläutert, welche sehr zweckmäßige Erweiterungen für ein Content Management System darstellen. Darunter fallen beispielsweise das Digital Right Management, womit es ermöglicht werden soll, dass der mögliche Wert von Content auch nach einer Publikation durch das CMS bewahrt bleibt, indem der Content durch eine Verschlüsselung vor einer illegalen Weiterverwendung oder Vervielfältigung geschützt wird. Die komplexen Anforderungen der Verwaltung von multimedialen Content werden bisher zumeist dem Digital Asset Management zugeordnet. Da multimedialer Content aber auch in den Verwaltungsbereich eines CMS fällt, ist hier eine Vereinigung dieser zwei Management Disziplinen durchaus anstrebenswert. Schlussendlich werden im Bereich der Informationsbereitstellung auch Aspekte eines barrierefreien Informationszugangs immer mehr betont. Da ein CMS im Wesentlichen auch nur ein Tool ist, um Informationen zu verwalten und in einer entsprechenden Form aufzubereiten, sollen auch hier Aspekte berücksichtigt werden, welche den Informationszugang unabhängig von körperlichen Einschränkungen ermöglichen. Zumal sich durch die Berücksichtigung dieser Aspekte eine qualitative Verbesserung für sämtliche Anwender des CMS einstellen sollte. Aufgrund sämtlicher identifizierten Funktionen wurde im Gestaltungsbereich der vorliegenden Arbeit die idealisierte Architektur eines innovativen CMS modelliert. Zuvor wurden allerdings bereits existierende Implementierungen von Content Management Systemen, aus dem kommerziellen sowie Open Source Bereich, evaluiert. Zusammenfassung und Ausblick 143 Die Vielzahl an existierenden CMS Implementierungen wurde hinsichtlich der Programmierumgebung Java 2 Platform, Enterprise Edition eingeschränkt. J2EE unterstützt eine effiziente Entwicklung von serverseitigen, verteilten Anwendungen und präsentiert sich als eine gute Möglichkeit zur Implementierung von stabilen und skalierbaren Content Management Systemen. Darüber hinaus unterstützt die J2EE Plattform durch eine Vielzahl an APIs diverse Integrationsmöglichkeiten mit bereits bestehenden Informationssystemen. J2EE bietet auch eine gute Unterstützung zur Nutzung der Web Services und XML Technologie, womit unter anderem Aspekte einer programmiersprachen- sowie plattformunabhängigen Kommunikation unterschiedlicher Applikationen berücksichtigt werden. Im Gestaltungsbereich wurde aufgrund sämtlicher, aus dem Untersuchungsbereich gewonnenen Erkenntnissen, auf konzeptioneller Ebene die Architektur eines innovativen CMS aufgezeigt. Das dargestellte innovative CMS vereint sämtliche Funktionen und Anforderungen, welche im Rahmen der vorliegenden Arbeit identifiziert wurden. Die Erfassung von strukturiertem Content basiert in erster Linie auf der XML Technologie, welche sich aufgrund der Standardisierung und strikten Einhaltung der Anatomie des Content für diesen Zweck anbietet. Eine Implementierung der vorgestellten Architektur ist aufgrund der Komplexität und des Umfangs der diversern Funktionalitäten im Rahmen der vorliegenden Arbeit nicht möglich und deshalb wurden einige interessante Aspekte des aufgezeigten innovativen CMS für eine Implementierung ausgewählt. Das, im Untersuchungsbereich bereits evaluierte Open Source Projekt OpenCms, hat sich in diesem Zusammenhang als Ausgangsbasis angeboten, um für dieses System ergänzende Funktionalitäten in den Bereichen Content Syndication sowie Import und Export zu implementieren. Eine genauere Evaluierung von OpenCms zeigte in den wesentlichen Grundkonzepten eine Übereinstimmung mit der zuvor identifizierten Architektur eines innovativen CMS. OpenCms ist daher sehr gut geeignet, um den praktischen Nutzen einiger Aspekte des modellierten, innovativen CMS anschaulich zu verdeutlichen. Die in diesem Zusammenhang aufgezeigten Anwendungen im Gestaltungsbereich demonstrieren zugleich, unabhängig von OpenCms, die sehr gute Eignung der XML Technologie im Kontext eines CMS. Neben den Möglichkeiten der Integration sämtlichen Contents in ein CMS sieht der Autor der vorliegenden Arbeit eine sehr wesentliche Anforderung an ein CMS in einem modularen Aufbau sämtlicher Funktionen. Die Erkenntnisse aus der vorliegenden Arbeit haben gezeigt, dass sich einerseits sehr viele Kernfunktionen und andererseits diverse zweckmäßige funktionale Erweiterungen mit einem CMS in Verbindung bringen lassen. Entscheidend für den Endanwender ist jedoch immer die Frage, inwieweit die gebotenen Funktionalitäten wirklich gebraucht werden. Die Erörterungen von kommerziellen Content Management Systemen haben gezeigt, dass professionelle und etablierte Systeme zum Teil mit sehr hohen Kosten verbunden sind. In Zeiten ständig gekürzter IT Budgets wird es für die Endanwender zunehmend wichtiger, für Zusammenfassung und Ausblick 144 ihre Investition genau jene Funktionalität zu bekommen, welche für die spezifische Anwendung tatsächlich benötigt wird. Der Autor der vorliegenden Arbeit vertritt daher die Meinung, dass sich in der Zukunft jene CMS Produkte durchsetzen werden, welche dem Endanwender genau die benötigten Funktionen zu adäquaten Kosten anbieten können und dabei noch die Option für eine jederzeitige, einfache funktionale Erweiterung bieten. Idealerweise sollten die Schnittstellen zwischen den einzelnen funktionalen Komponenten eines CMS auf offenen Standards basieren, sodass die Endanwender gegebenenfalls zwischen Komponenten unterschiedlicher Anbieter wählen können. Verständlicherweise wird dies allerdings nicht unbedingt im Interesse sämtlicher CMS Anbieter liegen. Im Hinblick auf eine sinkende Investitionsbereitschaft im IT Bereich werden auch Open Source Systeme immer interessanter, da hier zumeist die Lizenzgebühren entfallen. Open Source Projekte habe auch den Vorteil, dass anwendungsspezifische Integrationsvorhaben zumeist durch das Vorliegen des Source Code erleichtert werden. Das im Gestaltungsbereich dargestellte Open Source System OpenCms bietet sich in diesem Zusammenhang als eine sehr interessante Alternative an. OpenCms bedarf allerdings für die Zukunft noch einiger funktionaler Erweiterungen, um wirklich sämtlichen Anforderungen an ein durchgängiges Content Management nachzukommen. Notwendig wären in erster Linie verbesserte Möglichkeiten der Integration von bereits existierenden, externen Content innerhalb einer Unternehmung sowie eine direkte Unterstützung für Content Syndication Protokolle in den Kernfunktionalitäten von OpenCms. Des Weiteren wäre die Integration von bestehenden Benutzerdaten sowie von externen Applikationen zur Content-Bearbeitung durchaus vorteilhaft. Schlussendlich müssten noch einige erweiterte Funktionalitäten berücksichtigt werden, wie die einfache Erstellung flexibler Workflows, ein Portalzugang, Digital Right Management oder Digital Asset Management. Man darf allerdings nicht der irrigen Annahme verfallen, das Open Source Lösungen grundsätzlich mit geringeren Kosten verbunden sind. Kundenspezifische Anpassungen an Open Source Systemen sind ebenso mit einem entsprechenden Know-how verbunden, welches in den seltensten Fällen kostenlos angeboten wird. Grundsätzlich muss im Kontext von Content Management Systemen festgehalten werden, dass ein effektiver Einsatz des Systems zumeist eine entsprechende Einführungsphase in die Unternehmung voraussetzt, um die richtige Nutzung diverser Funktionen sowie deren effiziente Integration in zumeist bestehende Anwendungsprozesse zu gewährleisten. Die Gesamtkosten für ein CMS Projekt dürfen daher nur in den seltensten Fällen an den reinen Lizenzgebühren bemessen werden. Abbildungsverzeichnis Abbildung 2.1: Trennung von Struktur, Inhalt und Darstellung [Schuster et al. 2000] ...................................................................... 19 Abbildung 2.2: Content Life Cycle [Jablonski et. al 2002] ..................................... 20 Abbildung 3.1: Funktion von Content Management [Rothfuss et al. 2001] ............ 27 Abbildung 5.1: Mehrschichtige Architektur [Pawlan 2001].................................... 64 Abbildung 5.2: J2EE Server und Containers [Pawlan 2001] ................................... 67 Abbildung 6.1: Architektur von VIP Enterprise 8 ................................................... 79 Abbildung 6.2: Explorer View von OpenCms ......................................................... 87 Abbildung 6.3: Editiermodus von Jahia................................................................... 89 Abbildung 6.4: Formular zur strukturierten Content-Eingabe bei Ion .................... 91 Abbildung 6.5: Architektur der Red Hat Applications ............................................ 93 Abbildung 7.1: Basisarchitektur eines innovativen CMS ...................................... 102 Abbildung 7.2: Abstraktions Layer........................................................................ 105 Abbildung 7.3: Daten Layer .................................................................................. 106 Abbildung 7.4: Funktionalitäten Layer .................................................................. 109 Abbildung 7.5: Front-End Layer............................................................................ 111 Abbildung 7.6: Die vier Layer der Gesamtarchitektur eines innovativen CMS .... 112 Abbildung 8.1: Implementierte Komponenten der identifizierten Gesamtarchitektur aus Kapitel 7 im Hinblick auf OpenCms ....... 119 Abbildung 8.2: Aktuelle Weltnachrichten von Yahoo! News ............................... 123 Abbildung 8.3: Integrierte Weltnachrichten in einer von OpenCms verwalteten Website...................................................................... 124 Abbildung 8.4: Die XSLT Transformation im Bearbeitungsmodus des OpenCms Workplace ............................................................. 124 Abbildung 8.5: Das Bearbeiten eines Content-Item im OpenCms Workplace ..... 126 Abbildung 8.6: Eine Überblicksseite über aktuelle Beiträge eines Channels ........ 127 Abbildungsverzeichnis 146 Abbildung 8.7: Die Detailansicht eines Content-Items ......................................... 128 Abbildung 8.8: Darstellung der in OpenCms erfassten Content-Items in einem beliebigen RSS Reader .................................................. 129 Abbildung 8.9: Lösungsvorschlag für eine dynamische Sicherstellung der Verknüpfung Publikation und Abteilung...................................... 133 Abbildung 8.10: Bearbeitung eines XML Dokuments mit XmlSpy........................ 134 Tabellenverzeichnis Tabelle 3.1: Kernfunktionen eines CMS ............................................................ 28 Tabelle 3.2: Anforderungsprofil der Kernfunktionen ......................................... 44 Tabelle 4.1: Anforderungsprofil für zweckmäßige Erweiterungen eines CMS ....................................................................................... 60 Tabelle 5.1: Vorteile der J2EE Plattform für ein CMS....................................... 75 Tabelle 6.1: Funktionelle Evaluierung der erörterten CMS Lösungen ............... 97 Literaturverzeichnis [Abel et. al 2002] Abel H., Voigt I.; Barrierefreies Webdesign – Teil 3: Content Management Systeme; Contentmanager.de, 2002; Last Visit: 2004-01-09, URL http://www.contentmanager.de/magazin/artikel_180_web_accessibility_initiative_wai_content.html [Armstrong et al. 2003] Armstrong E., Ball J., Bodoff S., Carson D.B., Fisher M., Fordin S., Green D., Haase K., Jendrock E.; The Jave Web Services Tutorial; Sun Microsystems, Inc. 2003; Last Visit: 2004-01-05, URL http://java.sun.com/webservices/docs/1.2/tutorial/doc/JavaWSTutorial.pdf [Ashenden 2003] Ashenden A.; Portal Software Market Forecast; Ovum, 2003; Last Visit: 2004-01-09, URL http://www.ovum.com/ [Ashenden et. al 2002a] Ashenden A., Harris-Jones C.; What is content management?; Ovum, 2002; Last Visit: 2004-01-09, URL http://www.ovum.com/ [Ashenden et. al 2002b] Ashenden A., Harris-Jones C.; What is a Portal?; Ovum, 2002; Last Visit: 2004-01-09, URL http://www.ovum.com/ [Berners-Lee 2001] Berners-Lee T., Hendler J., Lassila O.; The Semantic Web; Scientific America, 2001; Last Visit: 2004-01-09, URL http://www.sciam.com/article.cfm?articleID=00048144-10D2-1C70-84A9809EC588EF21 [Berners-Lee 2003] Berners-Lee T.; Web Accessibility Initiative Home Page; Last Visit: 2004-01-09, URL http://www.w3.org/WAI/ [Boldyreff 2002] Boldyreff C.; Determination and Evalution of Web Accessibility; Proceedings of the 11th IEEE International Workshop on Enabling Technologies: Infrastructure for Collaborative Enterprises, Pittsburgh, Pennsylvania, USA, IEEE, 2002 Literaturverzeichnis 149 [Chrisholm et. al 2002] Chrisholm W., Vanderheiden G., Jacobs J.; Web Content Accessibility Guidelines 1.0: W3C Recommendation 5-May-1999; W3C, 1999; Last Visit: 2004-01-09, URL http://www.w3.org/TR/WCAG10/ [CMS Produktfinder 2003] Produkfinder; Contentmanager.de, 2003; Last Visit: 2004-01-09, URL http://www.contentmanager.de/itguide/produktfinder.html [Dewan et. al 1999] Dewan R., Freimer M., Seidmann A.; Portal Kombat. The Battle between Web Pages to become the Point of Entry to the World Wide Web; Proceedings of the 32nd Hawaii International Conference on System Sciences, Maui, Hawaii, IEEE, 1999 [Dreyer 2000] Dreyer R.; Das Content Management fusioniert mit dem Workflow; Deutscher Drucker Nr.15-16, 2000; Last Visit: 2004-01-09, URL http://www.publish.de/data/hefte/pdf/DD_00/DD0015w054f.pdf [DTD 2003] XML DTD Tutorial; W3Schools, 2003; Last Visit: 2004-01-09, URL http://www.w3schools.com/dtd/default.asp [Duhl et. al 2001] Duhl J., Kevorikan S.; Understanding DRM Systems. An IDC White Paper; IDC/InterTrust, 2001; Last Visit: 2004-01-09, URL http://www.intertrust.com/main/research/whitepapers/IDCUnderstandingDRMSystems.pdf [FatWire 2002] Whitepaper: Spark pCM Overview. Enhancing the Sun ONE Portal Server with Integrated Content Management; FatWire Corporation, 2002; Last Visit: 2004-01-09, URL http://www.fatwire.com/products/white_papers.html [FileNet 2003] FileNet P8; FileNet, 2003; Last Visit: 2004-01-09, URL http://www.filenet.com/English/Products/index.asp [Fritsch 2002] Fritsch W.; Content-Management: Alle Informationen in einem System?; Information Week, Ausgabe 16/17, 2002; Last Visit: 2004-01-09, URL http://www.informationweek.de/index.php3?/channels/channel03/021724.htm [Gamma et al. 1995] Gamma E., Helm R., Johnson R., Vlissides J.; Design Patterns. Elements of Reusable Object-Oriented Software; Addison-Wesley, 1995; ISBN 0-201-63361-2 Literaturverzeichnis [Gersdorf 2000] Gersdorf R.; Content Management ist mehr Contentmanager.de, 2000; Last Visit: 2004-01-09, 150 als Web-Site-Verwaltung; URL http://www.contentmanager.de/magazin/artikel_13_content_management_ist_mehr_als.html [Gruhn et al. 2000] Gruhn V., Heymann D., Kleine M.; Eine Architektur für Content-Management-Systeme auf Basis von XML; Universität Leipzig, 2000; Last Visit: 2004-01-09, URL http://ebus.informatik.uni-leipzig.de/www/media/publications/xml00.pdf [Gulbins et al. 1999] Gulbins J., Seyfried M., Strack-Zimmermann H.; Dokumenten-Management. Vom Imaging zum Business-Dokument. 2. Auflage, Springer, 1999; ISBN 3-540-61595-4 [Gütl 2002] Gütl C.; Eine Annäherung an das Information Gathering and Organizing System xFIND (Extended Framework for INformation Discovery); Dissertation am Institut für Informationsverarbeitung und Computergestützte neue Medien, Technische Universität Graz, Austria, 2000; Last Visit: 2004-01-09, URL http://www2.iicm.edu/cguetl/diss/cguetl_diss.pdf [Haas et. al 2001] Haas W., Mayer H.; MPEG and its Relevance for Content-based Multimedia Retrieval; Journal of Universal Computer Science, vol. 7, no. 6., P.p. 530-547; Springer Pub. Co., 2001; Last Visit: 2004-01-09, URL http://www.jucs.org/jucs_7_6/mpeg_and_its_relevance [Hein et. al 2003] Hein M., Zeller H.; Java Web Services: Entwicklung plattformübergreifender Dienste mit J2EE, XML und SOAP; Addison-Wesley, 2003; ISBN 3-8273-2071-2 [Iannella 2001] Iannella R.; Digital Rights Management (DRM) Architectures; D-Lib Magazine, Volume 7, Number 6, 2001; Last Visit: 2004-01-09, URL http://www.dlib.org/dlib/june01/iannella/06iannella.html [IBM DB2 2003] IBM DB2 Content Manager Family; IBM, 2003; Last Visit: 2004-01-09, URL http://www-3.ibm.com/software/data/cm/cmgr/ [IBM DB2 2003a] Whitepaper: Manage your digital content effectively; IBM, 2003; Last Visit: 2004-01-09, URL http://www-3.ibm.com/software/data/cm/attach/cmtechwp.pdf Literaturverzeichnis 151 [Ide 2002] Ide M.; J2EE-Programmierhandbuch: Einführung in die Java 2 Enterprise Edition; Software & Support Verlag, 2002; ISBN 3-935042-20-5 [Ion 2003] Project Home Page; SourceForge, 2003, Last Visit: 2004-01-09, URL http://ion-cms.sourceforge.net/ [Ion 2003a] Ion-cms. java open source content management; 2003; Last Visit: 2004-01-09, URL http://www.blauton.de/ion/de/home/home.html [Jablonski et. al 2002] Jablonski S., Meiler C.; Web-Content-Managementsysteme; Informatik Spektrum Volume 25 Issue 2, 2002; Last Visit: 2004-01-09, URL http://link.springer.de/link/service/journals/00287/bibs/2025002/20250101.htm [Jahia 2003] Jahia 4.0; Jahia Ltd., 2003; Last Visit: 2004-01-09, URL http://www.jahia.org/ [Kampffmeyer 2003] Kampffmeyer U.; Revisionssichere Archivierung im Licht neuer rechtlicher Anforderungen I; Contentmanager.de, 2003; Last Visit: 2004-01-09, URL http://www.contentmanager.de/magazin/artikel_373-75_revisionssichere_archivierung_teil_1.html [Kampffmeyer 2003a] Kampffmeyer U.; Enterprise und Web Content Management: Ansätze und Tools für das effiziente Erschließen und Bereitstellen von Unternehmensinhalten; Wissensmanagement, Ausgabe 6, 2003; Last Visit: 2004-01-09, URL http://www.wissensmanagement.net/print/archiv/2003/wissensmanagement-06.shtml [Kampffmeyer 2003b] Kampffmeyer U.; Enterprise Content Management - Zwischen Vision und Realität; Contentmanager.de, 2003; Last Visit: 2004-01-09, URL http://www.contentmanager.de/magazin/artikel_398_ecm_zwischen_vision_und_realitaet.html [Kirchner 2002] Kirchner M.; Evaluation, Repair, and Transformation of Web Pages for Web Content Accessibility. Review of Some Available Tools; Proceedings of the 4th International Workshop on Web Site Evolution, Montréal, Canada, IEEE, 2002 [Koop et al. 2001] Koop H. J., Jäckel K. K., Offern A. L. van; Erfolgsfaktor Content Management. Vom Web Content bis zum Knowledge Management; Vieweg, 2001; ISBN 3-528-05769-6 Literaturverzeichnis 152 [Krcmar 2000] Krcmar H.; Informationsmanagement. 2. Auflage; Springer, 2000; ISBN 3-540-66359-2 [Krottmaier 2002] Krottmaier H.; Aspects of Modern Electronic Publishing Systems; Dissertation am Institut für Informationsverarbeitung und Computergestützte neue Medien, Technische Universität Graz, 2002; Last Visit: 2004-01-09, URL http://www.iicm.edu/thesis/hkrott_diss.pdf [Krüger et al. 2002] Krüger J. D., Koop M.; Web Content managen. Professioneller Einsatz von ContentManagement-Systemen; Markt+Technik Verlag, 2002; ISBN 3-8272-6002-7 [Landers 2002] Landers G.; Digital Asset Management Technology Heats Up; Gartner, 2002; Last Visit: 2004-01-09, URL http://www.gartner.com/ [Leisi 2000] Leisi M.; Elektronische Märkte. Anwendungsdesign und Einbindung in Umsysteme; Diplomarbeit am Wirtschaftswissenschaftlichen Zentrum der Universität Basel, 2000; Last Visit: 2004-01-09, URL http://www.astrum.ch/uni/wi/diplom/diplom-leisi-em.pdf [Lesk 1997] Lesk M.; How much information is there in the World?; 1997; Last Visit: 2004-01-09, URL http://lesk.com/mlesk/ksg97/ksg.html [Lew et. al 2002] Lew S. M., Sebe N., Eakins P. J.; Image and Video Retrieval. International Conference, CIVR 2002, London, UK, July 2002, Proceedings; Springer,2002; ISBN 3-540-43899-8 [Lewin 2000] Lewin J.; An introduction to RSS news feed. Using open formats for content syndication; IBM developerWorks, 2000; Last Visit: 2004-01-09, URL http://www-106.ibm.com/developerworks/library/w-rss.html [Lochbrunner 2002] Lochbrunner M.; Technologien und Anwendungsmöglichkeiten von XML als Mittler im Web Content Management; Diplomarbeit an der Fachhochschule Augsburg am Fachbereich Informatik, 2002 [Mattick 2002] Mattick V.; Design for All as a Challenge for Hypermedia Engineering; Journal of Universal Computer Science, vol.8, no.10, 2002; Last Visit: 2004-01-09, URL http://www.jucs.org/jucs_8_10/design_for_all_as Literaturverzeichnis 153 [McGovern et al. 2001] Mcgovern G., Norton R.; Content Critical; Financial Times Prentice Hall, 2001 [McGrath 2002] McGrath J.; Open-source CMS: On the rise, TechUpdate, ZDNet; CNET Networks, Inc., 2002; Last Visit: 2004-01-09, URL http://techupdate.zdnet.com/techupdate/stories/main/0,14179,2897730,00.html [Mittermeier 2003] Mittermeier L.; XML und Datenbanken. Naiv nativ; iX – Magazin für professionelle Informationstechnik, Seite 42, 08/2003 [Nelson 2001] Nelson M.; We Have the Information You Want, But Getting It Will Cost You. Being Held Hostage by Information Overload; ACM, 2001; Last Visit: 2004-01-09, URL http://www.acm.org/crossroads/xrds1-1/mnelson.html [Open Source 2003] SearchEnterpriseLinux.com Definitions: Open Source; WhatIs.com, 2003; Last Visit: 2004-01-09, URL http://searchenterpriselinux.techtarget.com/sDefinition/0,,sid39_gci212709,00.html [OpenCms 2003] OpenCms 5.0; Alkacon Software, 2003; Last Visit: 2004-01-09, URL http://www.opencms.org/ [OpenCms 2003a] OpenCms Documentation 5.0; Alkacon Software, 2003; Last Visit: 2004-01-09, URL http://www.opencms.org/export/download/opencms/opencms_5.0_doc_full.zip [Orf 2003] ORF Online Futurezone: Große Zukunft für Web-Services erwartet; ORF, 2003; Last Visit: 2004-01-09, URL http://futurezone.orf.at/futurezone.orf?read=detail&id=176809&tmp=37332 [Pawlan 2001] Pawlan M.; Introduction to the J2EE Platform; Java 2 Enterprise Edition Technology Center, 2001; Last Visit: 2004-01-09, URL http://developer.java.sun.com/developer/technicalArticles/J2EE/Intro/ [Pelz-Sharp 2002] Pelz-Sharp A.; Digital asset management – exploiting the value of rich media; Ovum, 2002; Last Visit: 2004-01-09, URL http://www.ovum.com/ Literaturverzeichnis 154 [Pelz-Sharp et. al 2002a] Pelz-Sharp A., Ashenden A., Harris-Jones C.; Content management – setting the scene; Ovum, 2002; Last Visit: 2004-01-09, URL http://www.ovum.com/ [Pelz-Sharp et. al 2002b] Pelz-Sharp A., Ashenden A., Harris-Jones C.; How Content Management Systems work; Ovum, 2002; Last Visit: 2004-01-09, URL http://www.ovum.com/ [Prenn et al. 2002] Prenn C., Wrede M.; Aspekte digitaler Archivierung; Contentmanager.de, 2002; Last Visit: 2004-01-09, URL http://www.contentmanager.de/magazin/artikel_264_aspekte_digitaler_archivierung.html [Red Hat 2003] Whitepaper: Collaboration and Flexibility. Critical for Efficient Content Management; Red Hat, Inc, 2003; Last Visit: 2004-01-09, URL http://www.redhat.com/software/ccm/cms/cmsWhite.html [Red Hat CMS 2003] Red Hat Content Management System; Red Hat Inc., 2003; Last Visit: 2004-01-09, URL http://www.redhat.com/software/rha/cms/ [Red Hat CMS 2003a] Red Hat CMS Dokumentation; Red Hat Inc., 2003; Last Visit: 2004-01-09, URL http://rhea.redhat.com/documentation/core-platform/5.0/cms/content-section/doc/ [Reif 2000] Reif G.; Moderne Aspekte der Wissensverarbeitung. Ein interaktiver Lernbeheld für das Web Based Training; Diplomarbeit am Institut für Informationsverarbeitung und Computergestützte neue Medien, Technische Universität Graz, 2000; Last Visit: 2004-01-09, URL http://www.iicm.edu/thesis/greif [Rodoni 2001] Rodoni J.; The Java 2, Enterprise Edition (J2EE) Connector Architecture's Resource Adapter; Sun Microsystems, Inc., 2001; Last Visit: 2004-01-09, URL http://developer.java.sun.com/developer/technicalArticles/J2EE/connectorclient/resourceadapter. html [Rollett 2000] Rollett H.; Aspekte des Wissensmanagement; Diplomarbeit am Institut für Informationsverarbeitung und Computergestützte neue Medien, Technische Universität Graz, 2000; Last Visit: 2004-01-09, URL http://www.iicm.edu/herwig/thesis Literaturverzeichnis 155 [Rosenfeld et al. 1998] Rosenfeld L., Morville P.; Information Architecture for the World Wide Web; O’Reilly, 1998; ISBN 1-56592-282-4 [Rothfuss et al. 2001] Rothfuss G., Ried C.; Content Management mit XML; Springer, 2001; ISBN 3-54066594-3 [Scholz 2003] Scholz M.; Customer-Relation-Management (CRM)-Basics; Phisch.info, 2003; Last Visit: 2004-01-09, URL http://www.content-syndication-broker.de/wcms-crm-artikel-grund39.html [Schuster et al. 2000] Schuster E., Wilhelm S.; Content Management; Informatik Spektrum, Volume 23, Issue 6, 2000; Last Visit: 2004-01-09, URL http://link.springer.de/link/service/journals/00287/bibs/0023006/00230373.htm [Serrão et. al 2002] Serrão C., Marques J., Balestri M., Kudumakis P. Baker T.; Protecting Digital Music Delivery and Consumption using the OCCAMM Project Framework; Proceedings of the Second International Conference on WEB Delivering of Music, Darmstadt, Germany, IEEE, 2002 [Silver 2003] Silver B.; Business Rules: Enterprise Content Management Revisited; Transform Magazine, 2003; Last Visit: 2004-01-09, URL http://www.transformmag.com/db_area/archs/2003/01/tfm0301br.shtml?/contentmanagement [Singh et al. 2002] Singh I., Stearns B., Johnson M.; Designing Enterprise Applications: with the J2EE Platform, Second Edition; Addison-Wesley, 2002; ISBN 0-201-78790-3 [Sun 1999] Simplified Guide to the Java 2 Platform, Enterprise Edition; Sun Microsystems, Inc. 1999; Last Visit: 2004-01-09, URL http://java.sun.com/j2ee/j2ee_guide.pdf [Sun 2002] Whitepaper: Digital Rights Management. Managing the Digital Distribution Value Chain; Sun Microsystems, Inc. 2002; Last Visit: 2004-01-09, URL http://www.sun.com/products-n-solutions/media-entertainment/docs/drm_wp_r7final2.pdf [Sun 2003] Java 2 Platform, Enterprise Edition Homepage, 2003; Last Visit: 2004-01-09, URL http://java.sun.com/j2ee/ Literaturverzeichnis 156 [TechRankings 2003] Forrester TechRankings; Forrester Research, 2003; Last Visit: 2004-01-09, URL http://www.forrester.com/TechRankings [Vignette 2003] Vignette V7; Vignette, 2003; Last Visit: 2004-01-09, URL http://www.vignette.com/contentmanagement/0,2097,1-1-1928-4149-1968-4160,00.html [VIP Enterprise 2003] VIP Enterprise 8; Gauss, 2003; Last Visit: 2004-01-09, URL http://www.gauss.de/gaussvip_p/gaussvip/EMEA/DE/PRODUKTE/VIPEnterprise/Uebersicht/ index.jsp [Voigt 2001] Voigt I.; Aspekte der Versionskontrolle in Content Management Systemen; Contentmanager.de, 2001; Last Visit: 2004-01-09, URL http://www.contentmanager.de/magazin/artikel_85_aspekte_der_versionskontrolle_in_content.html [Wildemann 2003] Wildemann H.; Wissensmanagement. Ein neuer Erfolgsfaktor für Unternehmen; TCW Transfer-Centrum-Verlag, 2003; ISBN 3-931511-45-6 [Wilhelm 2001] Wilhelm S.; Content Management in der deutschen Wirtschaft; Contentmanager.de, 2001; Last Visit: 2004-01-09, URL http://www.contentmanager.de/magazin/artikel_77_content_management_in_der_deutschen_wirt schaft.html [Wilkoff et. al 2001] Wilkoff N., Walker J., Root N., Dalton J.; What's Next For Content Management?; Forrester Research, 2001; Last Visit: 2004-01-09, URL http://www.forrester.com/ [Wolter 2001] Wolter R.; XML Web Services Basics; Microsoft Corporation, 2001; Last Visit: 2004-01-09, URL http://msdn.microsoft.com/webservices/understanding/webservicebasics/default.aspx?pull=/library/ en-us/dnwebsrv/html/webservbasics.asp [XML Schema 2003] XML Schema Tutorial; W3Schools, 2003; Last Visit: 2004-01-09, URL http://www.w3schools.com/schema/default.asp [Zschau 2001] Zschau O., Traub D., Zahradka R.; Web Content Management. Websites professionell planen und betreiben; Galileo Press, 2001; ISBN 3898421570