Nächste Seite: Dokumentation
Aufwärts: Der Application-Server Zope
Vorherige Seite: Der Application-Server Zope
  Inhalt
Eigenschaften
Im Folgenden wird die Open Source Software ,,Zope`` näher betrachtet. Die Abkürzung steht für ,,Z Object Publishing Environment``, eine übliche Benennung im Open Source Bereich. Im Zope-Buch [8] stehen auf den Punkt gebracht zwei Erklärungen über das grundlegende Wesen von Zope:
1. Zope ist ein Open-Source-Server für Web-Applikationen. (S. 12)
2. Zope ist ein Framework für die Entwicklung von Web-Applikationen. (S. 20)
Vor einer näheren Betrachtung noch eine weitere Definition: Zope nennt sich selbst einen ,,Application-Server``. Eine sehr theoretische Definition des Begriffs findet sich im Internet im Glossar der CoreMedia AG7:
Ein Application Server dient der Verwaltung und dem Betrieb von Applikationen oder Teilapplikationen. Application Server stellen Applikationsverfügbarkeit und sicher.
Die FAQ zur weborientierten Programmiersprache PHP äußert sich etwas deutlicher8:
Der Begriff ,,Application Server`` ist ein sehr schwammiger.
Man könnte unter einem solchen zum Beispiel einen Daemon (Server) verstehen, der die Ausgabe von Programmen (Application) über das Internet zur Verfügung stellt. Dieser Definition zufolge wäre ein Webserver mit PHP bereits ein ,,Application Server``.
In der Java Welt versteht man jedoch etwas anderes unter dem Begriff des ,,Application Servers``: In einem ,,Application Server`` laufen die Applikationen permanent ab, kommt ein Request per HTTP, wird eine entsprechende Methode einer bereits laufenden Anwendung angestoßen, liefert ein Ergebnis, das seinerseits ausgeliefert wird.
Unter einem ,,Application Server`` muss man sich also abstrakt gesehen ein Programm vorstellen, das für Client-Rechner Serverdienste über das Netzwerk bereitstellt. Diese lassen sich im Gegensatz zu einem konventionellen Serverdienst von der Anbieterseite her flexibel programmieren und auch weitgehend anpassen.
Zunächst eine Zusammenfassung einiger Fakten zu Zope:
- Zope ist ein Open Source-Produkt der Firma Zope Corporation9 und steht kostenlos zur Verfügung. Mittlerweile hat sich auch eine Entwickler-Community um Zope ausserhalb der Zope Corporation gebildet, die an der Entwicklung von Zope aktiv teilnimmt.
- Implementiert ist Zope im Wesentlichen in der Programmiersprache Python10, die von vorneherein als objektorientierte Sprache konzipiert wurde. Python ist ebenfalls ein Open Source-Produkt und frei erhältlich. Python arbeitet ähnlich wie Java: bevor ein Programm ausgeführt wird, übersetzt ein Compiler den Programm-Code in plattformunabhängigen Bytecode. Im Unterschied zu Java geschieht das Übersetzen allerdings transparent. Der Programmierer/Benutzer muss nicht explizit einen Compile-Vorgang anstossen.
- Zope hat einen integrierten HTTP- und FTP-Server namens ZServer, der mit anderen Webservern (z.B. Apache) koppelbar ist (siehe Kapitel 5.6).
- Jede Seite, jedes Dokument, jedes Bild ist ein Zope-Objekt und kann mit zusätzlichen Eigenschaften versehen werden. Beispiele für solche Eigenschaften sind Erstellungsdatum, Autor und letztes Änderungsdatum oder für einen News-Artikel Überschrift, Vorspann und ausführlicher Textbeitrag.
- Im Unterschied zu herkömmlichen Webservern wie z.B. Apache heisst das Standard-Dokument in Verzeichnissen index_html, nicht index.html, da der Punkt als Trennzeichen zwischen einem Objekt und dessen Member verwendet wird. Häufig haben Zope-Objekte keinen Punkt im Namen, weshalb man meinen könnte, es handle sich um Verzeichnisse.
- Sämtliche Daten werden in einer Datei ,,var/Data.fs`` abgelegt. Die Datei repräsentiert die objektorientierte Datenbank ZODB (Z Object Database), die für andere Projekte auch unabhängig von Zope erhältlich ist11.
- Die Verwaltung der Daten ist über mehrere Wege möglich:
- Zope hat ein integriertes Web-Interface, das Zope-Management-Interface (ZMI) genannt wird. Dieses wird in Kapitel 5.3 näher vorgestellt.
- Mit Hilfe des File Transfer Protocols (FTP) können Dateien auf den Server hoch- und vom Server heruntergeladen werden. Dazu kann ein beliebiger FTP-Client verwendet werden. Ein Beispiel eines FTP-Zugriffs befindet sich in Kapitel 5.4.
- Eine relativ neue Entwicklung stellt die Anbindung über das WebDAV-Protokoll12 dar. Es ermöglicht die Bearbeitung von Dokumenten direkt über das HTTP-Protokoll. Nähere Informationen zur Verwendung des WebDAV-Protokolls in Verbindung mit Zope findet man Kapitel 5.5.
Bei Bearbeitung über das FTP oder WebDAV-Protokoll stehen lediglich normale Dateioperationen zur Verfügung. Die erweiterten Fähigkeiten, die der objektorientierte Ansatz von Zope ermöglicht (z.B. zusätzliche Attribute, Benutzerberechtigungen), können nur mit dem ZMI verwaltet werden.
- Zope bietet zwei integrierte Sprachen zur Dynamisierung von HTML-Seiten:
- DTML - Dynamic Template Markup Language: Diese Sprache bietet neue Tags innerhalb des HTML-Codes. Mit ihnen lassen sich bereits einfache Scripte erstellen. DTML verfügt über eine Ausnahmebehandlung, mit der Scripte auf verschiedene Fehlersituationen selbst reagieren können. Bis zur Zope Version 2.4.3 war ausschließlich DTML als Sprache verfügbar.
- TAL - Template Attribute Language: Mit der Zope Version 2.5.0 wurde die neue Sprache eingeführt. Im Gegensatz zu DTML wird sie vollständig XML-konform in Attributen von HTML-Tags eingebettet. So bleiben die Seiten mit herkömmlichen HTML-Editoren, die kein DTML verstehen, editierbar. Außerdem ermöglicht TAL die leichte Erstellung von Prototypen, in denen man das generelle Layout einer HTML-Seite auch ohne Zope bereits betrachten kann. DTML soll durch TAL weitgehend abgelöst werden. In Einzelfällen muss man aber nachwievor auf DTML zurückgreifen, z.B. wenn die Ausgabe ein anderes Format als HTML oder XML haben soll.
Mit den Sprachen DTML oder TAL lassen sich Template-Mechanismen realisieren, wie sie in Kapitel 2.1 beschrieben wurden. Innerhalb eines Dokumentes lassen sich die beiden Sprachen nicht mischen, da der Typ des Dokumentes auch die verwendete Sprache festlegt.
- Sowohl von DTML als auch von TAL aus kann man Scripte aufrufen, die in Python oder Perl geschrieben sind. Diese Scripte können intern oder extern gehalten werden. Wenn die Scripte etwas zurückliefern (z.B. dynamische HTML-Inhalte), kann dieses an Stelle des DTML- oder TAL-Befehls eingesetzt werden.
- Der Zugriff auf fremde Datenbanken erfolgt mit Hilfe von Datenbank-Adaptern. Diese gibt es derzeit für die Datenbank-Systeme MySQL, Oracle, PostgreSQL, SAP DB, Sybase und Tamino XML Database. Mit Hilfe eines ebenfalls verfügbaren ODBC-Datenbank-Adapters lassen sich weitere Datenbank-Systeme anschließen.
- Mit Hilfe der einfachen Regeln des sog. strukturierten Text kann man gegliederten Text ohne HTML-Kenntnisse eingeben. Strukturierter Text wird im praktischen Teil der Diplomarbeit näher erläutert.
- Durch sog. Zope-Products kann der Funktionsumfang erweitert werden. Zum Beispiel wird das CMF (Content Management Framework) in Form von Zope-Products geliefert.
Unterabschnitte
Nächste Seite: Dokumentation
Aufwärts: Der Application-Server Zope
Vorherige Seite: Der Application-Server Zope
  Inhalt
Reinhard Holler
2003-04-12