Längere Zeit schon geistert unser Framework Catapult unter den gelisteten Projekten auf dieser Webseite herum und auch der ein oder andere Tweet mit Bezug auf dieses Open-Source-Projekt ward schon gesehen. Doch worum handelt es sich dabei? Jetzt, da Catapult die Kinderkrippe langsam verlässt, wird es Zeit, die Entwicklung nicht mehr nur hinter verschlossenen Türen voranzubringen, sondern das Framework der Welt zu präsentieren, um erste Anregungen, Eindrücke und Kritiken zu bekommen.
Catapult – es wird konkret!
Was also ist Catapult?
Catapult ist ein Java-basiertes Open-Source-Framework für Web-Applikationen, das eine domänengetriebene Entwicklung unterstützt und konsequent REST-Prinzipien umsetzt. Natürlich soll mit Catapult das sprichwörtliche Rad nicht neu erfunden werden: Es gibt eine Vielzahl von ausgereiften und mächtigen Technologien für die Webentwicklung. Hierbei tut sich vor allem der Quasi-Standard Spring und sein Webframework Spring MVC durch seinen großen Umfang an Funktionen, seiner Flexibiltät und Erweiterbarkeit hervor. Catapult setzt auf Spring auf, rekonfiguriert das Framework und erweitert es vor allem um eigene Funktionen. Damit bietet Catapult die Vorteile eines leichtgewichtigen, verbreiteten und etablierten Frameworks, kombiniert mit neuen domänengetriebenen Erweiterungen.
Yet another Framework?
Aber warum noch ein Webframework? Catapult bietet gegenüber anderen etablierten Frameworks eine Reihe von Vorteilen, vor allem für die Entwickler:
- Der Entwickler kann sich gänzlich auf die Implementierung der Domäne und des User Interfaces konzentrieren. Die üblichen weiteren Schichten einer typischen Webanwendung entfallen. Ihre Funktionen werden von Catapult übernommen.
- Keine aufwändige XML-Konfiguration des Frameworks: der Großteil des Verhaltens einer Catapult-Applikation wird über Konventionen gesteuert, ganz nach dem Motto "convention over configuration".
- REST-konforme URLs
- eine Vielzahl von EL-Erweiterungen
- nicht invasiv: keine Abhängigkeiten im eigenen Javacode von Catapult-Klassen oder -Interfaces
- Der View kann mit reinem XHTML umgesetzt werden. Es werden keine proprietären Tag-Libraries benötigt.
- Unterschiedliche Views wie HTML, XML, RSS/ATOM, JSON und Plaintext werden ad hoc unterstützt.
Wo kann ich mich weiter informieren?
Der Quellcode von Catapult kann auf Sourceforge, oder direkt über das mindmatters SVN-Repository eingesehen und heruntergeladen werden. Zum ersten Ausprobieren von Catapult steht ein Maven-Archetype in unserem Maven-Repository bereit (Username: catapult, Passwort: catapult). Für weitere Informationen über die Konzepte und Ideen hinter Catapult kann die Bachelorthesis von Christopher de Bruin auf unserer Projektseite heruntergeladen werden.
Und wie geht es weiter?
Derzeit treiben wir die Weiterentwicklung von Catapult mit Hochdruck voran und arbeiten an den ersten konkreten Projekten, die auf Basis von Catapult umgesetzt werden. Natürlich ist noch einiges an Entwicklungs- und vor allem Dokumentationsarbeit zu leisten, aber wir sind zuversichtlich, dass pünktlich zum Release von Spring 3.0 die erste Beta-Version von Catapult bereit steht.
Bis dahin werden an dieser Stelle weitere Updates bezüglich des Fortschritts von Catapult folgen und man darf auf die zukünftige Entwicklung gespannt sein.

Kommentare zu diesem Eintrag sind geschlossen.