Groovy

Groovy ist eine erstmals im Jahr 2003 vorgestellte objektorientierte Scriptsprache, die auf einer Java Virtual Machine (JVM) ausgeführt wird und vollen Zugriff auf alle Java-Bibliotheken bietet. Auch ist es möglich aus einem Java-Code Groovy-Code aufzurufen und umgekehrt aus einem Groovy-Script Java-Code zu integrieren. Groovy geht zurück auf die Arbeiten von James Strachan, der mit Groovy eine dynamisch typisierte Sprache entwickelte. Im Vergleich mit Java bietet Groovy ergänzende Sprachfeatures und ist beeinflusst von den Sprachen Python, Ruby und Smalltalk. Groovy ist eine plattformunabhängige Open-Source-Software, die seit 2009 in der Version 1.6 zur Verfügung steht. Als Entwicklungsumgebungen sind Plug-Ins für Eclipse, Netbeans, IntelliJ IDEA, vim und Emacs vorhanden.

Groovy als Java-Implementierung

Groovy ist eine Java-Implementierung und realisiert eine Menge von Sprachfeatures über den Rahmen von Java hinaus, die dadurch das Arbeiten mit Groovy vereinfachen. Dabei bietet sich Groovy als weitere standardisierte Sprache für die Java Virtual Machine (JVM) an. Durch den Groovy-Compiler werden die Scripte zunächst in Java-Bytecode übersetzt, so dass diese auch von beliebig anderen Java-Programmen verwendet werden können.

Ein interessantes Sprachfeature sind die sogenannten Closures. Damit werden Codeblöcke gekennzeichnet, die an eine Methode zur Ausführung übergeben werden können. Das Konzept ist vergleichbar mit den in Java vorhandenen Anonymous-Inner-Classes.

Groovy beinhaltet eine komfortable Unterstützung zur Erzeugung von Extensible Markup Language (XML), Hypertext Markup Language (HTML) und Document Object Model (DOM) des World Wide Web Consortium (W3C) mittels sogenannter Markup-Objekte, welchem die zu erzeugende Struktur übergeben wird. Dabei handelt es sich syntaktisch um Closures, die auf Methoden ausgeführt werden. Mit dem MarkupBuilder können beliebige XML-Strukturen erzeugt werden. Darüber hinaus steht mit der AntBuilder-Klasse ein Mechanismus zur Erzeugung eines Ant-Scriptes zur Verfügung. Ebenso ist mit der SwingBuilder-Klasse die Voraussetzung für die einfache Umsetzung von grafischen Benutzeroberflächen gegeben.

Groovy ermöglicht auch - wiederum in Anlehnung an Java - den Zugriff auf Datenbanken. Dazu werden über Groovy SQL spezifische SQL-Statements initiiert, und das Resultat kann dann mit ebenso einfachen Groovy-Mitteln weiter verarbeitet werden. Des Weiteren gibt es ähnliche Möglichkeiten wie bei Java Server Pages (JSP) für die Behandlung von Server-Requests und HTML-Responses. Dies wird durch sogenannte Groovlets sichergestellt, die das Schreiben von Java-Servlets ermöglichen.

Grape für die Verwaltung von Code-Bibliotheken

Für die Verwaltung von Code-Bibliotheken kann das integrierte Werkzeug Grape eingesetzt werden. In der Distribution bereits enthalten ist u.a. der Groovy JmxBuilder, der unter Verwendung der entsprechenden Groovy-Objekte zur Steuerung von Prozessen als Domain Specific Language (DSL) eingesetzt werden kann. Teile der Distribution sind auch die Module GroovyLab, die eine Domain Specific Language für mathematische Anwendungen ähnlich Matlab unterstützt, oder Groovy SOAP, das einen SOAP-Server generiert. Für die Erstellung von Web-Anwendungen steht mit Grails ein Framework zur Verfügung. Mit GORM existiert ein Object-Relational Mapping persistence Framework und mit OCM Groovy sind Mechanismen für ein in Groovy implementiertes Object Content Mapping (OCM) für die Abbildung des Java Content Repository (JCR) vorhanden.

Da Groovy noch eine recht junge Sprache ist, wird sie zunächst für einfache und nicht so komplexe Aufgabenstellungen eingesetzt werden. Anwendung findet Groovy aufgrund der komfortablen Behandlung von BigDecimal und BigInteger vor allem im Bereich der Finanzmathematik.

Informationen zum Artikel
Deutsch: Groovy
Englisch:
Veröffentlicht: 01.11.2013
Wörter: 546
Tags: Sonstige Progr.
Links: content, Datenbank, DOM (document object model), DSL (domain specific language), Eclipse