Unsere Ideen für Ihr Projekt

Java-Technologie für Sie im Einsatz

Das Logo von Grails

Java ist eine etablierte Technologie, die vor 20 Jahren entwickelt wurde und seitdem ihren Weg in die unterschiedlichsten Geräte gefunden hat. Gerade ist Version 8 erschienen. Java läuft auf Computern, im Handy, im Auto - und natürlich auch im Internet. Wir bei trilobit programmieren Webanwendungen häufig in Grails, das die Programmiersprache Groovy benutzt. Doch was hat das alles mit Java zu tun?

Java

Das Logo von Java

Die Basis der Programmiersprache Java ist die sogenannte Java Virtual Machine (JVM). Diese wird benötigt um Java-Programme zu starten. Dazu kommen die Java Runtime Environment (JRE) mit der Java Class Library (JCL), die die Grundfunktionen bereitstellt und für die verschiedensten Betriebssysteme erhältlich ist. Dazu kommen zahlreiche Bibliotheken, die häufig benötigte Funktionen bereitstellen, vom Lesen einer Textdatei, über XML-Handling bis zum Erzeugen von Excel-Dokumenten. Sie alle werden von der Programmiersprache Java genutzt, können aber auch von anderen Programmiersprachen direkt eingebunden werden, die auf der JVM laufen. Eine ist zum Beispiel Groovy.

Groovy

Das Logo von Groovy

Groovy ist eine Skriptsprache, die auf Java aufsetzt. Sie kann überall dort eingesetzt werden, wo auch Java läuft. Groovy übernimmt einen Großteil von Java, erweitert es aber mit zusätzlicher Funktionalität, die man von anderen Programmiersprachen gewohnt ist. So kann man mit Groovy zum Beispiel schon seit Jahren Closures in der Java-Umgebung verwenden, die in Java erst mit der kommenden Version eingeführt werden (Lambda expression). Auch wird die Verarbeitung von gängigen Datenformaten wie XML oder JSON durch entsprechende Werkzeuge viel einfacher unterstützt. Allgemein kommt man mit Groovy schneller als bei Java zum Ziel, kann aber weiterhin immer auf das Java-Fundament zurückgreifen.

Das zeigt auch unser Beispiel, das den XML-String "<names><name>Alice</name><name>Bob</name></names>" in seine Struktur zerlegt und die einzelnen Elemente ausgibt:

Beispiel in Java

package sample;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import java.io.ByteArrayInputStream;
 
public class XmlUserName {
  public static void main(String[] args) throws Exception {
    DocumentBuilderFactory factory =
      DocumentBuilderFactory.newInstance();
    DocumentBuilder builder = factory.newDocumentBuilder();
    Document document = builder.parse(
      new ByteArrayInputStream(
        "<names><name>Alice</name><name>Bob</name></names>"
        .getBytes("UTF-8")
      )
    );
    NodeList names = document
                   .getDocumentElement()
                   .getElementsByTagName("name");
 
    for (int i = 0; i < names.getLength(); i++) {
      System.out.println(names.item(i).getTextContent());
    }
  }
}

Beispiel in Groovy

def names = new XmlSlurper().parseText(
    '<names><name>Alice</name><name>Bob</name></names>'
)
names.name*.text().each { println it }

Grails

Grails ist ein Webanwendungs-Framework, das auf Groovy aufbaut und die Grundprinzipien Don't repeat yourself (DRY) und Convention over configuration verinnerlicht hat. Beide Prinzipien zielen darauf ab, sich wiederholende Aufgaben zu vermeiden. Man kann gleich mit der Implementierung beginnen, da Grails einem eine lauffähige Webanwendung generiert und setzt dabei auf etablierte Komponenten wie Spring, Hibernate und SiteMesh. Durch die einheitliche Strukturierung findet man sich in älteren Projekten wieder gut zurecht. Auch das Einarbeiten in  fremde Projekte fällt leichter.

Das durch Grails erzeugte Web Application Archive (WAR-Datei) lässt sich dann in einem Java-Webserver wie dem Apache Tomcat betreiben. Womit sich der Kreis zu Java wieder schließt.