Spätestens seit Erscheinen des Contentmanagement-Systems (CMS) Plone[1] ist Zope ([2], [3]) aus der Welt der freien Web Application Server nicht mehr wegzudenken. Schon der Erfolg des Projekts zeigt, dass sich Zope durchaus mit Boliden aus der Java-Welt messen kann. Python als Programmiersprache der Zope-Welt sorgt für objektorientierten und modularen Quellcode. Weiterentwicklungen gehen damit so agil und flexibel vonstatten, wie man es sonst von Skriptsprachen des Web kennt.
Das CMF hilft bei der Neuentwicklung
Zope wird gerne als Plattform für CMS eingesetzt. Die meisten freien Zope-CMS (Plone[1], Silva[4], CPS[5]) benutzen das Content Management Framework (CMF). Dieses Produkt für Zope 2 brachte nicht nur die nötigen Werkzeuge für Contentmanagement-Systeme mit. Es war auch der erste Schritt in Richtung einer Komponenten-basierten Architektur. Technologien der Version 2 wie Zope Page Templates und die XML-Makrosprache TAL/METAL legen dafür den Grundstein.
Statt jedoch den verwinkelten Quellcode von Zope mühsam umzuschreiben, entschloss sich die Zope Corporation vor drei Jahren, den Neuanfang zu wagen. Die Erfahrungen aus der Entwicklung des CMF sollten in die Zope-Entwicklung einfließen. Da man sich längst dem Gedanken freier Software verschrieben hatte, stand das Projekt von Anfang an für die Community-Mitarbeit offen.
In großen und kleinen Entwicklertreffen (Sprints) auf der ganzen Welt entwickelten Zope-Erfahrene wie auch Neulinge die Software weiter. Bei der Qualitätssicherung halfen Methoden des Extreme Programming (XP), zum Beispiel Unit-Testing. Zudem konnten sich die Entwickler dank der bereits erfolgreichen stabilen Zope-Version 2 die Zeit lassen, gewisse Features in mehreren Iterationsschritten zu perfektionieren. Dabei waren sie sich nicht dafür zu schade, bereits geschriebenen Code wieder wegzuwerfen, um Funktionen anschließend besser zu implementieren.
Bessere Struktur durch Komponenten
Herzstück von Zope X3 ist die Komponenten-Architektur (siehe[6]). Sie setzt konsequent fort, was mit dem CMF begann - die Aufteilung der verschiedenen Zuständigkeiten (Datenspeicherung, Datenverarbeitung, Präsentation) auf zuständige Komponenten.
Die Objekt-Datenbank ZODB (Zope Object Database) ist schon aus Zope 2 bekannt. Sie erlaubt es, Objekte weitgehend transparent in der Datenbank zu persistieren, und zwar mit Enterprise-verdächtigen Features wie Transaktionen und Revisionierung sowie der Möglichkeit, verschiedene Storage Backends zu verwenden. Mit von ZEO (Zope Enterprise Objects) lassen sich sogar mehrere Zope-Instanzen zu einem Cluster zusammenfügen und so leicht skalieren.
« Zurück
1
2
3
4
Weiter »