Agile Webentwicklung mit Grails: Einführung und Erfahrungsbericht

Matthias Merdes & Christian Sengstock, Heidelberg mobil GmbH

Der Vortrag steht als PDF Dokument zum Download bereit.

Das Webframework Grails ist ein relativ junges MVC-Framework, das die Vorzüge stabiler J2EETechnologien wie Tomcat/Jetty, Spring (inkl. Spring MVC und WebFlow), Hibernate und Sitemesh mit der Agilität der dynamischen Programmiersprache Groovy verbindet. Ursprünglich durch Ruby on Rails inspiriert bringt Grails die Prinzipien "Convention over Configuration" und DRY ("Don't repeat yourself") in die Java-/Groovywelt.

Der Vortrag gliedert sich in drei Teile. Zuerst wird eine allgemeine Einführung in Grails gegeben. Hierbei wird insbesondere erklärt, wie Grails die Arbeit mit den zugrundeliegenden Frameworks durch Einführung einer weiteren Abstraktionsschicht deutlich produktiver macht. Grails verwendet die dynamisch typisierte Programmiersprache Groovy für die Controllerschicht und die Definition des Domänenmodells. Services können sowohl in Groovy als auch in Java geschrieben werden. Die Integration bestehender Java-basierter Legacyservices ist somit sehr einfach. Eine besondere Stärke von Grails ist das ORM-Framework GORM, das auf Hibernate aufsetzt. Es ermöglicht eine elegante und wartungsfreundliche Definition der Domänenklassen und des zugehörigen Persistenzbelangs.

Nach der allgemeinen Einführung wird in einer Live-Demo gezeigt, wie schnell und effizient sich eine neue Webanwendung erstellen lässt. Hierbei wird ausgehend von einem einfachen Domänenmodell eine komplette Anwendung generiert, wobei View- und Controllerschicht durch das auch aus Ruby on Rails bekannte Scaffolding generiert werden.

Der Vortrag schließt mit einem Erfahrungsbericht über die Einführung von Grails für das Informationsportal www.heidelberg-mobil.de. Wir gehen hierbei auf die Aspekte Werkzeugunterstützung, Qualitätssicherung/Testen (Unit, Integrations- und Akzeptanztests), Buildprozess/Continuous Integration und Produktivbetrieb der Anwendung ein. Zu Ende des Vortrags wird Gelegenheit für ausführliche Fragen gegeben.

 

Matthias Merdes Matthias Merdes war nach dem Studium der Physik in Heidelberg und Illinois, USA längere Zeit als Softwareentwickler in Forschungsprojekten in den Gebieten Medizininformatik, Geoinformatik und Softwareengineering tätig. Seit 2007 ist er als Senior Software Developer bei Heidelberg Mobil International, einem Start-up im Bereich mobiler Informationsportale, für die Gebiete Architektur und Qualität sowie die Gestaltung des agilen Entwicklungsprozesses zuständig. Nach fast zehn Jahren Java-Entwicklung ist er seit einiger Zeit ein begeisterter Groovyanwender.

Christian Sengstock Christian Sengstock studierte in Heidelberg Geographie und Informatik. Neben dem Studium arbeitete er unter anderem als wissenschaftliche Hilfskraft am European Media Laboratory und bei der Heidelberg mobil International GmbH. Seit 2007 arbeitet er bei Heidelberg mobil als Software-Berater und -Entwickler mit den Schwerpunkten Web2.0-Technologien und Location Based Services. Beruflich und Privat ist er leidenschaftlicher Linux-Nutzer.