Session mit Niko Köbler

Project Avatar: Mehr als nur Node.js auf der JVM – Enterprise Java written in JavaScript!

Redaktion JAXenter

Leichtgewichtige, asynchrone und eventgetriebene Architekturen sind derzeit angesagter denn je, der Server stellt lediglich die Ressourcen per (REST-/Push-)Services zur Verfügung und ein großer Teil der Logik wird in HTML5-Clients per JavaScript implementiert. Die Livedemo von Niko Köbler (Qualitects Group) zeigt, wie eine vollständige Java-EE-Applikation auf einem Java-EE-Server ganz ohne Java-Code erstellt werden kann, nur mit dem Einsatz von JavaScript.

JavaScript ist mittlerweile überall: ob im Browser, auf dem Server oder auf mobilen und Embedded-Geräten. Das Open-Source-Project Avatar macht mit seiner Thin-Server-Architektur (TSA) Java-EE-Ressourcen (z.B. Java-Bibliotheken, JPA-Layer, JMS) direkt per JavaScript zugreifbar, egal, ob auf dem Application Server (Service Components) oder dem Client (View Components).

Serverseitig basiert Project Avatar auf der Node-Implementierung für die JVM (Avatar.js für die Nashorn Scripting Engine) und stellt somit fast das gesamte Node.js-API zur Verfügung und nutzt ebenfalls das Node Programming Model einer asynchronen Single-threaded Event-Loop (REPL) – falls gewünscht, auch parallel in mehreren Threads. Auf dem Client sorgt das Framework für das Binding der Ressourcen an HTML5-Widgets und beschränkt sich dabei auf so wenig JavaScript wie möglich und nur so viel wie gerade nötig.

Die Programmierung erinnert hier stark an die Expression Language und ist so für den erfahrenen Java-EE-Entwickler einfach umsetzbar. Da bei einer TSA Client und Server losgelöst voneinander sind und nur protokollbasiert miteinander kommunizieren, ist die Verwendung der View Components nicht zwingend nötig. Hier kann der Entwickler auf das Framework seiner Wahl, z.B. AngularJS zurückgreifen. Niko Köbler zeigt, wie eine vollständige Java-EE-Applikation auf einem Java-EE-Server ganz ohne Java-Code erstellt werden kann.

 

Niko Köbler freiberuflicher Software-Architekt und Developer für Java & JavaScript Lösungen, Integrationen und Webdevelopment. Er ist Co-Lead der JUG Darmstadt, schreibt Artikel für Fachmagazine und ist regelmäßig als Sprecher auf Fachkonferenzen anzutreffen. Niko twittert unter @dasniko

Geschrieben von
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
4000
  Subscribe  
Benachrichtige mich zu: