Fünf Jahre lang wurde es entwickelt, fünf Jahre lang hat die Open-Source-Gemeinde gewartet. Seit Ende Oktober ist es da: FLOW3, das neue freie Entwicklerframework für PHP-Software auf Basis des Content-Management-Systems TYPO3. FLOW3 verbindet Vorgehensweisen aus anderen Frameworks, wie beispielsweise Zend oder Rails, mit Ideen aus der Java-Welt und dem Spring-Framework. Im Baukastenprinzip vereint FLOW drei Programmierparadigmen, die es bislang in PHP nicht gab: Domain-Driven Design, Dependency Injection und aspektorientierte Programmierung.
Gestiegene Anforderungen
Foto: TYPO3 Assocation
TYPO3, das Content-Management-System (CMS) auf Open-Source-Basis, ist seit dem Jahr 2000 auf dem Markt und wird seitdem kontinuierlich weiterentwickelt. Offiziell existieren inzwischen über 500.000 Websites und Tausende Intranets auf Basis von TYPO3. TYPO3 wurde einst als klassisches CMS für die Erstellung und Pflege von Websites entwickelt. Im Laufe der Zeit und mit dem wachsenden Erfolg sind die Anforderungen an die Software stetig gestiegen: Heute ist es möglich, Drittsysteme wie etwa SAP anzubinden oder das CMS als Shop-Software zu nutzen. Der Funktionsumfang von TYPO3 ist kontinuierlich gewachsen, und viele Unternehmen haben sogar eigene firmenspezifische Extensions entwickelt. Ein führender Sportartikel-Hersteller verwendet TYPO3 beispielsweise als webbasierte Applikation für seine komplette Marketingsteuerung - eine Aufgabe, für die das CMS ursprünglich nicht gedacht war. In solchen unvorhergesehenen Nutzungen liegt auch die Notwendigkeit des neuen Frameworks FLOW3 begründet: Nur auf Basis innovativer Technologien kann TYPO3 den gestiegenen technischen Ansprüchen - besonders in den Bereichen Sicherheit und Nutzerverwaltung - langfristig gerecht werden.
Unabhängig von TYPO3
Das Entwicklerteam von FLOW3 hat das alte TYPO3-Framework nicht verbessert, sondern eine komplett neue Entwicklungsumgebung aus der Taufe gehoben. Während andere PHP-Frameworks einen eher komponentenorientierten Ansatz verfolgen, handelt es sich bei FLOW3 um eine integrative Enterprise Web-Application-Plattform. Vorher gab es in der PHP-Welt kein derartiges CMS mit einem eigens entwickelten Framework. Die Besonderheit von FLOW3 besteht darin, dass der Code einerseits sämtliche TYPO3-spezifischen Funktionen beinhaltet, andererseits aber auch völlig unabhängig von TYPO3 benutzt werden kann. So ist es möglich, vom CMS unabhängige Applikationen zu entwickeln, die sich bei Bedarf zu einem späteren Zeitpunkt dennoch sehr einfach in das CMS einbinden lassen.
Aspektorientierte Programmierung
Foto: TYPO3 Assocation
Auf technischer Seite gibt es einige neue Konzepte, die FLOW3 innerhalb der PHP-Welt eine Sonderstellung verleihen: Aspect-Oriented Programming, Domain-Driven Design und Dependency Injection. FLOW3 ist das einzige PHP-Framework, das die aspektorientierte Programmierung (AOP) unterstützt. Im Mittelpunkt steht dabei die Trennung der "Cross Cutting Concerns" einer Anwendung von der eigentlichen Geschäftslogik. Cross Cutting Concerns sind bestimmte Bereiche der Software, die für die Anwendung wichtig sind, aber nicht im eigentlichen Sinn zur Geschäftslogik gehören. Typische Beispiele hierfür sind Logging, Debugging, Security und Protokollierung. Mit AOP ist es nun möglich, den Code für diese Funktionen zentral zu definieren und deklarativ - ohne Änderungen an der Geschäftslogik - in die Applikation einzubinden. Auf diese Weise lässt sich etwa während der Ausführung einer Funktion überprüfen, ob der Benutzer überhaupt berechtigt ist, die Aktion auszuführen beziehungsweise auf entsprechende Daten zuzugreifen.
- How too
So Richten Sie TYPO3 auf ihrem PC ein. - Sicherheit:
Vor dem Erzeugen der Datei ENABLE_INSTALL_TOOL verweigert TYPO3 eine Installation. - Wizard:
Die Installations-Hilfe verspricht eine einfache Installation. - Datenbank:
Hier hinterlegen Sie die Datenbank-Konfiguration. - Spielwiese:
Das Introduction Package enthält eine Demo-Webseite, die den Lernprozess vereinfacht. - Farbe und Passwort:
Im letzten Installations-Schritt legen Sie ein Kennwort und die Farbe für die Demo-Webseite fest. - Demo:
So sieht die mitgelieferte Webseite in TYPO3 aus. - Admnistration:
Sieht nicht nur mächtig aus, ist auch so. - How too
So Richten Sie TYPO3 auf ihrem PC ein. - Sicherheit:
Vor dem Erzeugen der Datei ENABLE_INSTALL_TOOL verweigert TYPO3 eine Installation. - Wizard:
Die Installations-Hilfe verspricht eine einfache Installation. - Datenbank:
Hier hinterlegen Sie die Datenbank-Konfiguration. - Spielwiese:
Das Introduction Package enthält eine Demo-Webseite, die den Lernprozess vereinfacht. - Farbe und Passwort:
Im letzten Installations-Schritt legen Sie ein Kennwort und die Farbe für die Demo-Webseite fest. - Demo:
So sieht die mitgelieferte Webseite in TYPO3 aus. - Admnistration:
Sieht nicht nur mächtig aus, ist auch so.