Begriffsdefinition: Content Management / Content Management Systeme
Das Fraunhofer Institut
für Arbeitswirtschaft und Organisation IAO definiert
Content Management wie folgt: "Content Management ist Handling
digitaler Informationen in allen Prozessen bzw. Prozessschritten von
der Entstehung bis zur Distribution und Verwendung."
Ein Content Management System zur Unterstützung
dieser Aufgabe ist ein "Softwaresystem für
das Administrieren von Webinhalten mit Unterstützung
des Erstellungsprozesses basierend auf der Trennung von
Inhalten und Struktur" (http://www.contentmanager.de).
In vielen Anwendungen soll lediglich eine Website
betrieben werden. Zur Gruppe der dafür geschaffenen
'Web-based Content Management Systems' (WCMS) kann auch
Zope gezählt werden.
Ein umfassender Definitionsansatz
für Content Management Systeme (gem. Rothfuss
und Ried) führt konkrete Merkmale auf und differenziert
in Systeme erster und zweiter Ordnung:
Content Management
erster Ordnung: Datenhaltungssystem |
Content Management
zweiter Ordnung: Redaktionssystem
oder Publishing System |
- Systematische Sammlung und
Verwaltung von Informationsbausteinen in einem einzigen logischen Bestand - Bereitstellung von Anfragemethoden und Mechanismen für die sichere Arbeit ganzer Nutzer- gruppen mit diesem Inhaltsbestand ("Content Base") |
- Systematische Sammlung, Erstellung,
Speicherung und Veredelung von strukturierten Inhalten und Mediendaten aller Art in einem einzigen, fein granulierten logischen Bestand - Gezielte Unterstützung der sicheren Aggregation, Veredelung, Verarbeitung, Auswertung und Wiederverwendung dieser Content Base durch ganze Benutzergruppen |
Content Management-Systeme zweiter Ordnung sollten folgende Zusatzmerkmale aufweisen: Bearbeitung und Verifikation, Aufzeichnung atomarer Veränderungen, Aggregierung und Beziehungen, Versionsverwaltung, Mehrsprachfähigkeit, Workflow, Gestaltung, Verarbeitungsfunktionen und die Fremdformatwandlung.
Einfaches Content-Management
Im Sinne des Content Management hat es sich als
vorteilhaft erwiesen, Web-Anwendungen in drei Ebenen aufzugliedern:
1. Daten befinden
sich in Datenbanken, 2. Programme, die das Verhalten
der Anwendung bestimmen, in Dateien an einem Ort und 3. HTML- und andere Layoutinformationen
an einem anderen. Dazu müssen jedoch verschiedene
Arten von Hilfsprogrammen mit unterschiedlichen Sicherheits-
und Wartungskonzepten und z.T. aufwändiger Handhabung eingesetzt
werden. Die Komponenten erfordern einen gemeinsamen Satz
an Diensten: Sicherheit, Web-basierte Verwaltung, Suchfunktionen,
Gruppierung, Verteilung u.a. In Zope werden all diese Komponenten
und Konzepte in einem schlüssigen und handhabbaren
System zusammengebracht. Diese Zentralisierung des Modells erleichtert
die Zusammenarbeit mit externen Hilfsprogrammen wie relationalen
Datenbanken, GUI-Web-Editoren und anderen Systemen.
Nutzergruppen
Besonders bei großen
Sites kann die Verwaltung und Koordination folgender Nutzergruppen
ein aufwändiges Unterfangen sein: Konsumenten verwenden eine
Site, um nach nützlichem Inhalt zu suchen und damit
zu arbeiten, Geschäftliche Nutzer
erstellen und verwalten Inhalte der Site, Site-Designer erstellen das
Look-And-Feel der Site, Site-Entwickler programmieren
die Dienste der Site, Komponentenentwickler erstellen
Software für die spätere Weitergabe, Administratoren halten die
Software und die Umgebung am Laufen und Informationsarchitekten treffen
Plattformentscheidungen und behalten das Gesamtbild im Auge.
Zope ist eine Plattform, auf der Site-Entwickler
Anwendungen an Site-Designer und geschäftliche Nutzer,
und Komponentenentwickler neue Produkte und Anwendungen
weltweit an Zope- Benutzer weitergeben.
Unter Zope können sog. 'Products' als Add-Ons installiert werden,
die unterschiedlichste Zielgruppen befriedigen, von der
Kreditkartenverwaltung bis zu Diskussionsforen. Zum Beispiel ist "Squishdot"
ein beliebtes, mit Zope verfasstes Weblog, das von Beginn an
benutzt werden kann. Für Squishdot-Benutzer ist es kaum zu merken,
dass dieses System auf Zope basiert. Andere Zope-Produkte wie
das "Content Management Framework" der Zope Corporation benutzen
den selben Ansatz.
Architektur und
Komponenten
Abb. 1 veranschaulicht die
prinzipielle Arbeitsweise und Architektur von Zope, die in Abb.
2 in höherer Detailstufe dargestellt wird:
Abb. 1: Allgemeine Architektur
Auf Basis von Datenbankzugriffen
werden unter Zuhilfenahme verschiedener Elemente im
Modul Zope dynamisch Seiten generiert. Darin können
auch Festlegungen zum Seitendesign getroffen werden. Die fertig
generierte Web-Seite (kann auch im XML-Format erstellt werden)
wird via HTTP an das System übermittelt, auf dem der Clientbrowser
läuft.
Das nachstehende Schaubild von der offiziellen
Zope-Homepage gewährt detailliertere
Einblicke in den internen Aufbau, die Architektur und daran
beteiligte Komponenten:
Die folgende Tabelle umfasst eine stichwortartige
Beschreibung der wesentlichen Zope-Architekturkomponenten:
ZServer |
- integrierter Web-Server, stellt flexible
Internetverbindungen bereit und liefert dem Entwickler und den Benutzern
Inhalt - erweiterte Version des Python-Servers Medusa - unterstützt viele Netzwerkprotokolle wie HTTP, FTP, WebDAV, XML-RPC, FastCGI, and PCGI - kann mit bestehenden Web-Servern zusammenarbeiten (z.B. Apache, MS IIS und anderen, die CGI unterstützen) |
Zope-Kern |
- umfasst ein Web-ORB (Object Request
Broker), eine Suchmaschine, Sicherheitsschicht u.a. |
Objektdatenbank (ZODB) |
- bei der Nutzung von Zope wird hauptsächlich
mit Objekten gearbeitet, die in der ZODB gespeichert
sind - objektorientierte DB, mit der Objekte und ihre Zustandsvariablen einfach serialisiert und abgespeichert werden können - unterstützt Transaktionen, undo, private Versionen (Versionsobjekte), kann Daten im Umfang von mehreren GB verwalten - optionale Enterprise-Option, die Skalierbarkeit und failover anbietet |
RDMBS-Integration |
- einfache und leistungsfähige
Verbindungen zu führenden Datenbanken wie Oracle,
PostgreSQL, Sybase, MySQL u.a. - Bereitstellung von ODBC-Treibern |
Zope-Produkte |
- Neben den integrierten
Zope-Objekten können auch Zope-Objekte von Drittherstellern
("Products", z.B. unter http://www.zope.org) installiert werden, um Zopes Leistungsspektrum zu erweitern - erweitern den Zope-Kern durch Hinzufügen neuer Objekttypen und Funktionalitäten (geschrieben in Python) |
ZClasses |
- erweitern den Zope-Kern durch Hinzufügen
neuer Objekttypen (Erzeugung über das Web) - erfordern keine Programmierung und können einfach verteilt und installiert werden |
Zur Interaktion
mit der Verwaltungsschnittstelle von Zope, dem Management
Interface, kann ein Web-Browser verwendet werden.
Zopes Verwaltungsschnittstelle
liefert eine einfache Art der Objektverwaltung, vergleichbar
einem Dateimanager, und ist auch eine Entwicklungsumgebung
zur Erstellung von Web-Seiten, Hinzufügen von Dokumente
und Abbildungen, Anbindung relationaler Datenbanken und Skriptprogrammierung.
Nachstehendes Bild verdeutlicht die globale Systemarchitektur,
die sich aus einer Darstellung der Zope-Architektur-Komponenten
und den damit in Zusammenhang stehenden Objekten zur Site-Erzeugung
bzw. Werkzeugen auf der entsprechenden Ebene der Systemarchitektur
ergibt:
Abb. 3: Globale Systemarchitektur