Wenn wir Software entwickeln, wollen wir die Kundenanforderungen schnell und gut umsetzen - nicht das Rad neu erfinden.
Es ist uns überhaupt nur möglich, individuelle Software so schnell und günstig zu liefern, weil andere eine Basis geschaffen haben von Tools und Bibliotheken, die uns heute viel Arbeit abnehmen. Wie heißt es so treffend - wir sind Zwerge auf den Schultern von Riesen.
Eine kleine Auswahl von Produkten, die sich für uns besonders bewährt haben:
Spring Framework
Das Spring Framework basiert auf den Prinzipien "Dependency Injection" und "Aspekt-orientierte Programmierung (AOP)"
Diese mächtige Kombination bietet für viele Herausforderungen bei der Entwicklung von Serverapplikationen einfache Lösungen und oft eine gute Alternative zum Einsatz komplexer Application Server - wobei sich diese Ansätze auch nicht gegenseitig ausschließen.
Dazu begünstigt Spring flexible Architekturen, die die Wartbarkeit und Zukunftsfähigkeit der entwickelten Software erhöhen.
Web Frameworks
Web - Frameworks für Java gibt es viele - JSF, Struts, Wicket...und mit den meisten davon haben wir schon gearbeitet.
Zwei möchten wir hier aber besonders hervorheben, da wir uns mit diesen besonders auseinandergesetzt haben:
Apache Tapestry ist ein sehr elegantes Framework, das einige Prinzipien, wie die Trennung von HTML-Template und Java-Code und den Einsatz wiederverwendbarer Konponenten sehr konsequent umsetzt. Dazu kommen hervorragende Stabilität und Performance.
Google Web Toolkit - GWT ließe sich auch beschreiben als ein Java-zu-JavaScript Compiler. Dieser Ansatz erlaubt es, komplexe Benutzeroberlächen in reinem Java zu entwickeln und daraus eine Browser-Anwendung zu generieren.
Magnolia CMS
Aus dem großen Markt von Content Management Systemen setzen wir bevorzugt Magnolia CMS ein. Es basiert auf Java und integriert sich daher besonders gut in unsere Anwendungen. Seine klare Architektur erlaubt es uns, es leicht um neue Funktionalitäten zu erweitern, um unseren Kunden passende Lösungen zu bieten.
Auch diese Website wird übrigens mit einem Magnolia CMS verwaltet.
Tomcat
In Verbindung mit Spring kann der relativ einfache Tomcat-Server eine mächtige Alternative zu komplexen Java EE - Application Servern sein. Tomcat allein, in Verbindung mit Apache HTTP-Server, im Cluster - wir kennen diesen Server in fast allen Facetten.