Fazit und Ausblick


... [ Seminar BS, WWW und PS ] ... [ Thema Spring Framework ] ... [ Literaturverzeichnis ] ...

Fazit und Ausblick

Spring ist ein sehr umfangreiches Framework, das Vereinfachungen für viele Anwendungsbereiche bietet. Da die Entwickler nicht alles neu implementieren, sondern gute, bereits vorhandene, Tools nutzen, können sie sich auf die Vereinfachung des Vorhandenen konzentrieren. Ich denke, dass Spring den Programmierer bei vielen Aufgaben unterstützen und die Arbeit erleichtern kann. Durch eine offene Architektur lassen sich Features, die man vermisst, nachrüsten. Dies lohnt sich aber, wegen dem dann höheren Arbeitsaufwand, nur für große Projekte oder wenn diese Features in anderen Projekten wiederverwendet werden sollen. Dies wird auch durch die ständig wachsende Spring-Gemeinde, für die es mittlerweile sogar deutsche Foren gibt, bestätigt. Allgemein findet man im Internet viele How-To's und Internetseiten die sich mit Spring beschäftigen. Auch die Entwickler selbst sind in einigen dieser Foren aktiv.

Da es jedem Entwickler freigestellt ist welche Teile seines Projekts er mit Spring erledigt und welche nicht kann jeder bei jedem Feature entscheiden, ob er es braucht oder nicht. Dabei ist es als positiv zu bewerten, dass es den Spring-Download in zwei Versionen gibt. Eine in der nur Spring selbst, inklusive der Unterstützung andere Frameworks/Libraries, enthalten ist und eine in der alle benötigten Abhängigkeiten für die Implementierung der Features enthalten sind, inklusive den Paketen der unterstützten Frameworks/Libraries.

Als einen Kritikpunkt würde ich es ansehen, dass alle Entwickler des Frameworks bei Interface21 arbeiten und man somit, wenn man seine Projekte mit Spring realisiert, leicht in Abhängigkeit geraten kann. Die Performance ist mit Spring, wie zu erwarten, nicht höher. Allerdings soll sie im Vergleich mit den EJBs höher sein. Außerdem gibt es auch andere Möglichkeiten die Features zu implementieren. So könnte Dependency Injection auch in einer Java-Klasse realisiert werden, die alle Objekte erzeugt und die Abhängigkeiten zuweist und damit auf die XML-Konfiguration verzichtet werden.

Ich bin der Meinung, dass die Entwickler von Spring die sich gesteckten Ziele erreicht haben. So kann die Geschäftslogik, wie auch andere Teile von Programmen, unabhängig von der Umgebung programmiert werden. Das Ziel die Nutzung vorhandener Frameworks zu vereinfachen wurde ebenfalls erreicht. Es werden zwar nicht alle verfügbaren Frameworks unterstützt, aber Spring bietet für fast alle denkbaren Anwendungsfälle eine Unterstützung. Die Modularität der einzelnen Teile ist ebenfalls gegeben. Zwar brauchen einige Module das core-Modul, da sie per Dependency Injection realisiert sind und für ihre Arbeit den Spring Container brauchen, aber sonst sind keine Abhängigkeiten der Module untereinander vorhanden. Der Aufwand zum Entwickeln wird erst bei konsequenter Nutzung von Spring ermöglicht. Wenn einige Projekte mit Spring entwickelt worden sind, ist die Weiterverwendung einzelner Teile leicht möglich. Auch Anpassungen an neue Umgebungen werden erleichtert. Dies ist eine Folge des Vorhabens die einzelnen Teile möglichst wenig von Spring abhängen zu lassen. Nur an Stellen wo Spring die Verwendung vorhandener Tools vereinfacht werden Abhängigkeiten erzeugt. Viele der Features von Spring lassen sich auch anders lösen, aber Spring fasst viele Features zu einem Paket zusammen. Wenn jemanden zum Beispiel das Dependency Injection Modul nicht gefällt, die AOP-Unterstützung zu rudimentär ist, die Vereinfachung des JDBC-Zugriffs nicht zusagt oder die MVC-Implementierung nicht ausreicht ist es freigestellt die jeweiligen Teile zu nutzen. Die Überlegung ob sie in dem speziellen Fall Alternativen darstellen, sind sie auf jeden Fall wert.

Aufgrund des hohen Interesse an Spring ist davon auszugehen, dass es sich in Zukunft weiter entwickelt. Diese Richtung unterstreicht auch die zum Zeitpunkt dieser Seminararbeite angekündigte Erweiterung der Konfigurations-Möglichkeiten, so dass neben XML auch die Konfiguration per Annotations in Java-Klassen ermöglicht werden soll.


... [ Seminar BS, WWW und PS ] ... [ Thema Spring Framework ] ... [ Fazit und Ausblick ] ... [ Literaturverzeichnis ] ...