10 Schritte zum Gral – Webanwendungen mit Grails

Bei der Programmierung von Webanwendungen gibt es zumindest in Java Standards, die es ermöglichen sollen, dass Webanwendungen in den unterschiedlichen Containern lauffähig sind. Bei der Implementierung hat man dann allerdings die Qual der Wahl welches Framework man nutzt und welche Entwurfsmuster (Patterns) berücksichtigt werden sollen.

Eine Webanwendung besteht üblicherweise aus 3 Schichten:

  • der Präsentationsschicht
  • der Persistenzschicht
  • und dem Datenspeicher (Backend)

Für die Präsentationsschicht gibt es die meisten Frameworks. Eines der bekanntesten ist Apache Struts. Für die Persistenzschicht hat sich Hibernate neben den Standards EJB (für dessen Version 3.0 Hibernate sogar die Grundlage bildete) und JDO etabliert. Allen gemein ist, dass sie ihre Kofiguationen in XML Dateien ablegen und so wird man schnell vom Java Programmierer zum XML Editor :-).

Ruby on Rails, das Webframework für die Scriptsprache Ruby, geht einen anderen Weg. „Webentwicklung, die nicht weh tut“ (Zitat der Homepage „Web development that doesn’t hurt“) und eine Programmierung, die Konventionen über Konfiguration stellt, begeistern viele Programmiererherzen. Und so ist es nicht verwunderlich, dass es in anderen Programmiersprachen (z.B. in PHP mit CakePHP) viele Projekte gibt, die versuchen es Rails gleich zu tun.

Selbst Java Entwicklern scheinen dafür Bedarf zu haben und so gibt es mit Grails ein auf Groovy basierendes Framework, dass es uns erleichtern soll Webanwendungen schneller zu entwickeln und sie leichter pflegen zu können. Dabei setzt Grails auf bekannte Komponenten:

  • Java EE als Basis für die Webapplikation
  • Groovy für die Implementierung des Domänenmodells, der Applikationslogik in den Controller – Klassen und für die dynamischen Anteile des Views. Allerdings könen bestehende (in Java geschriebene) Modellklassen weiter genutzt werden
  • Spring zur Verbindung der einzelnen Bausteine. Die XML Konfiguration wird allerdings von Grails generiert.
  • Hibernate für die Persistenzschicht, die für die Entwicklung auf die mitgelieferte Datenbank HypersonicSQL zugreifen kann.
  • Sitemesh als Decorator z.B. für ein einheitliches Layout der HTML Seiten.
  • Prototype und Dojo zur Unterstützung von Ajax-Effekten.
  • JUnit und Canoo WebTest für automatisierte Tests.

Quelle (gekürzt): Dierk Königs Grails Artikel im Java Magazin 12.06

Wie ein Essen schmeckt läßt sich nur beurteilen, wenn man es probiert hat und so werde ich am Beispiel einer Beispiel einer Benutzerverwaltung schnell feststellen, ob mir Ruby on Rails im Java Gewand gefällt. 10 Schritte, die die einzelnen Aspekte von Grails (wie z.B. Installation, Domänenmodell …) näher betrachten werden mich hoffentlich dem Java Gral näher bringen.

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: