2. 4 |
Inhalt
Seit Java 1.5 erlaubt die Java Virtual Machine die Registrierung sogenannter „Java-Agenten“Kunstprojekt im JavaLand 2015
16
5 Das Java-Tagebuch
Andreas Badelt
8 Write once – App anywhere
Axel Marx
13 Mach mit: partizipatives Kunstprojekt
im JavaLand 2015
Wolf Nkole Helzle
16 Aspektorientiertes Programmieren mit
Java-Agenten
Rafael Winterhalter
21 Guter Code, schlechter Code
Markus Kiss und Christian Kumpe
25 HTML als neue Oberfläche für JavaFX
Wolfgang Nast
27 JavaFX – beyond „Hello World“
Jan Zarnikov
31 Asynchrone JavaFX-8-Applikationen
mit JacpFX
Andy Moncsek
36 Magnolia mit Thymeleaf –
ein agiler Prozess-Beschleuniger
Thomas Kratz
40 Clojure – ein Reiseführer
Roger Gilliar
45 JavaFX-GUI mit Clojure und „core.
async“
Falko Riemenschneider
49 Java-Dienste in der Oracle-Cloud
Dr. Jürgen Menge
50 Highly scalable Jenkins
Sebastian Laag
53 Vaadin – der kompakte Einstieg für
Java-Entwickler
Gelesen von Daniel Grycman
54 First one home, play some funky tunes!
Pascal Brokmeier
59 Verarbeitung bei Eintreffen: Zeitnahe
Verarbeitung von Events
Tobias Unger
62 Unbekannte Kostbarkeiten des SDK
Heute: Dateisystem-Überwachung
Bernd Müller
64 „Ich finde es großartig, wie sich die
Community organisiert …“
Ansgar Brauner und Hendrik Ebbers
66 Inserenten
66 Impressum
Bei Mgnolia arbeiten Web-Entwickler und CMS-Experten mit ein und demselben Quellcode Ein Heim-Automatisierungs-Projekt
36
13
54
6. | 39
www.ijug.eu
iii
iiiiii
iii
Java aktuell 3-2015
Magnolia schon mit einer Unterstützung
für Freemarker und JSP daher. Bei der Ein-
bindung von Thymeleaf gab es lediglich eine
technische Bruchstelle, da sich beim Ren-
dering-Prozess von Magnolia alle Kompo-
nenten des Templates einen Output-Stream
teilen. Thymeleaf dagegen arbeitet intern
zuerst alles in einem XML-Baum ab und erst
nach Abschluss der Verarbeitung wird dieser
XML-Baum in einen Stream geschrieben.
Die vorgestellte Lösung bricht daher die
Thymeleaf-Verarbeitung in einzelne Teil-
schritte auf, die nacheinander in den Mag-
nolia-Stream schreiben. Um diesen Bruch
aufzulösen, müsste man tiefer in die Mag-
nolia-Rendering-Engine eingreifen, was hier
aus Gründen der Einfachheit und Kompati-
bilität nicht geschehen ist.
Das Beispiel setzt zudem den Einsatz
des Magnolia-Blossom-Moduls (und damit
Spring-MVC) voraus. Eine Umsetzung ohne
Blossom sollte aber nicht weiter schwierig
sein, der Autor steht hier gern mit Rat und
Tat zur Seite. Die Implementierung der Inte-
gration besteht aus lediglich sechs Klassen
für die Komponenten und den Renderer. Den
Quellcode sowie ein Beispielprojekt stehen
bei github unter „https://github.com/eiswind/
magnolia-thymeleaf-renderer“.
Einsatz-Szenarien
Der hier beschriebene Ansatz eignet sich
vor allem dann, wenn Frontend- (CSS/
JavaScript) und Backend- (Java, Magnolia)
Kompetenzen auf verschiedene Teams oder
Personen verteilt sind. In diesem Fall kann
Thymeleaf die beschriebenen Vorteile für die
Zusammenarbeit auch in anderen Projekten
ausspielen, der Einsatz ist in keinerlei Wei-
se auf das Fallbeispiel mit dem Magnolia-
Content-Management-System beschränkt.
Man findet sogar für Play/Scala eine Integ-
ration der Thymeleaf-Engine im Netz.
Berichte aus dem Anwenderkreis des ge-
zeigten Fallbeispiels haben bestätigt, dass
Überzeugungsarbeit im Vorfeld erforderlich
ist, wenn im Team noch keine Erfahrung mit
Thymeleaf vorhanden ist.
Thomas Kratz arbeitet als Software-Entwickler bei der
Hamburger mecom GmbH. Er ist seit mehr als zwan-
zig Jahren in unterschiedlichen Rollen leidenschaftlich
in der Software-Entwicklung tätig.
Technologie, Kommunikation und Pro-
zesse sind für ihn unabdingbar mitein-
ander verknüpft.
Thomas Kratz
thomas.kratz@eiswind.de
http://ja.ijug.eu/15/3/10