Zope: Unterschied zwischen den Versionen

aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg
Zeile 51: Zeile 51:
=Zope FAQ's=
=Zope FAQ's=


 
Zope arbeitet objektorientiert, ist portabel, plattformunabhängig


=Quellen=
=Quellen=

Version vom 27. Juni 2007, 21:50 Uhr

{in Bearbeitung}

Definition

Zope steht für das Akronym Z-Object-Publishing-Environment. Zope ist ein Open-Source-Applikationsserver, der die Programmierer bei der Entwicklung von datenbankgestützten, dynamischen Internetanwendungen unterstützt. Mögliche Internetanwendungen sind zum Beispiel Content-Management-Systeme (CMS), Dokumenten-Management-Systeme, aber auch ERP- und eCommerce-Plattformen.

Historie

Jim Fulton arbeitete für das Unternehmen Digital Creations. 1996 sollte er eine Schulung über CGI-Programmierung halten. Obwohl er sich selbst nicht allzu gut mit der Materie auskannte. Nachdem er sich in die CGI-Programmierung eingearbeitet hatte, überlegte er sich, was er an den traditionellen cgi-basierten Entwicklungsumgebungen nicht mochte. So begann er für seinen Arbeitgeber Digital Creations diverse Softwaremodule zu entwickeln. Zu diesen zählten unteranderem die drei Open-Source-Software-Pakete Bobo, Document Template und BoboPOS. Sie wurden in der Programmiersprache Python erstellt und stellten eine Web-Publishing-Oberfläche, Textschablonen in Form von Templates und eine objektorientierte Datenbank zu Verfügung. Desweiteren entwickelte Digital Creations einen kommerziellen Webapplikationsserver, namens Principia, welcher auf den Open-Source-Software-Pakten aufsetzte.

Im November 1998 überzeugte der Investor Hadar Pedhazur die Geschäftsleitung von Digital Creations von der Idee, Principia als Open-Source-Webapplicationsserver mit den zugehörigen Software-Paketen anzubieten. So wurde aus dem kommerziellen Principa der Open-Source-Webapplikationsserver Zope. Im selben Zug firmierte sich Digital Creations in die Zope Corporation (ZC) um. Jim Fulton ist heute der CTO der Zope Corporation.

Im März 2006 wurde die Zope Foundation gegründet. Sie hat die Code-Repositories und das geistige Eigentum "Zope" von der Zope Corporation übernommen und fungiert als nicht-kommerzielle Stiftung, welche die Weiterentwicklung von Zope koordiniert und fördert. Zope ist bis auf wenige geschwindigkeitskritische Systemteile, welche in C programmiert wurden, vollständig in Python erstellt worden.

Lizenz

Zope wird unter einer Open-Source-Lizenz der Zope-Public-License (ZPL) vertrieben. Die ZPL genehmigt die Modifikation des Zope-Quellcodes. Im Gegensatz zur GNU-Public-License müssen Modifikationen, Erweiterungen oder Änderungen des Zope-Quellcodes nicht für die Allgemeinheit veröffentlicht, unter die GNU-Public-License gestellt oder an die Zope Corporation gemeldet werden. Die ZPL kann unter http://www.zope.org/Resources/License/ eingesehen werden.

Die Open-Source-Initiative (OSI) zertifizierte die ZPL als OSD kompatibel.

Zope ist kostenfrei. Ferner ist es erlaubt Zope für die Entwicklung und Bereitstellung von eigenen Webapplikationen, sowohl kommerziell als auch privat, ohne Lizenzkosten zu verwenden.

Zielpersonen

Zope richtet sich vor allem an Entwickler, mittlere Unternehmen, Verbände, Organisationen und Betreiber großer Webseiten. Es soll die Möglichkeit entstehen über das Intra- oder Internet wichtige Geschäfts- und Kommunikationsprozesse abzuwickeln.

Speziell für Entwickler stellt Zope einige Features bereit. Der Browser ist das Entwicklungswerkzeug, somit ist weitere Software für die Arbeit mit Zope nicht notwendig. Der Import von Quelltexten, die mit anderen Editoren erstellt wurden, ist möglich. Alle Arbeitsschritte werden mit einer Speicherung abgeschlossen und in der ZODB abgelegt. Objekte können über Suchfunktionen nach verschiedenen Kriterien gesucht werden. Die Suchfunktion kann auch in eigene Applikationen eingebunden und über Indizes konfiguriert werden. Einzelne Bereiche oder die gesamte Applikation kann in Versionen bearbeitet werden. Dies erfolgt intern, sodass im laufenden Betrieb Entwicklerteams an Bereichen einer Applikation arbeiten können. Desweiteren besitzt Zope eine integrierte Benutzerverwaltung, die mit Rechten und Rollen operiert. Entwickler können auch mit Hilfe von Pythoncode selbst eigene Produkte für Zope schreiben und anschließend ins Zope-System integrieren.

Anwendungen/Produkte

Aufbau

Zope besteht aus drei Komponenten: ZServer (Webapplikationsserver), ZODB (objektorientierte Datenbank) und einem Zope Kern, welcher die ZClasses und die Zope Produkte einschliesst. Der ZServer kann über Protokollschnittstellen wie HTTP, FTP, WebDAV, XML-RPC oder FastCGI/PCGI mit zusätzlichen Webapplikationsservern wie Apache oder Microsoft IIS kommunizieren und parallel betrieben werden. Über die vordefinierten Datenbankadapter können andere relationale Datenbanksysteme wie MySQL, ODBC, Oracle usw. integriert werden. Ebenfalls ist eine Anbindung von externen Dateisystemen wie LDAP oder Active-Directory möglich.

Der ZServer stellt Anwendern, über den Browser oder über oben genannte Schnittstellen, Webinhalte der Applikationen zu Verfügung.

Der Zope-Kern ist zuständig für das ZMI (Zope Management Interface), welche der Administration von Zope dient. Hierfür wird eine leistungsfähige Engine bereitgestellt. Ferner werden die ZClasses und Zope Produkte über den Zope-Kern eingebunden.

Die ZClasses sind sogenannte Muster für Objekte, die von Programmierern für ihre Anwendungen in Zope entwickelt werden. Hierbei können Eigenschaften und Methoden definiert werden, die das Objekt betreffen. Die Erstellung von ZClasses kann in der integrierten Entwicklungsumgebung von Zope erfolgen oder der Quellcode kann von extern importiert werden.

Die objektorientierte Datenbank (ZODB) ist performant und unabhängig von Zope einsetzbar. Sie dient zur Ablage aller Objekte, Templates, Skripte, usw. Die Darstellung der Objekte erfolgt in der Baumstruktur, ähnlich dem Windows-Filesystem im Explorer. Zusätzliche Funktionen der ZODB sind: Eine integrierte Suchmaschine, Undo-Funktionen, Versionsverwaltung und Sessions. Die ZODB behandelt jede Webanfrage als separate Transaktion. Treten Fehler in einer Anwendung, während einer Anfrage auf, werden alle Änderungen automatisch durch ein Rollback rückgängig gemacht.

Medium:zope-aufbau.gif Quelle: Latteier, Amos; el al: The Zope Book (2.7 Edition), http://www.plope.com/Books/2_7Edition .

Zope-Management-Interface (ZMI)

Zope FAQ's

Zope arbeitet objektorientiert, ist portabel, plattformunabhängig

Quellen

  1. Latteier, Amos; el al: The Zope Book (2.7 Edition), http://www.plope.com/Books/2_7Edition .
  2. Walerowski, Peter: Zope, Galileo Press GmbH, Bonn 2004.
  3. Theune, Christian: Zope Foundation, http://www.zope.de/redaktion/dzug/tagung/sankt-augustin-2006/programm/zope-track/zope-foundation .
  4. Hasecke, Jan Ulrich: Was ist Zope?, http://www.zope.de/ueber-zope/was-ist-zope/ .
  5. Zope Corporation: Zope-Public-License, http://www.zope.org/Resources/License/ .