Menü
Developer

Nodyn-Projekt stellt Node.js für die JVM bereit

Mit dem von Red Hat geförderten Nodyn-Projekt sollen Node.js-Anwendungen direkt mit Java-Apps zusammenarbeiten können. Dafür verwendet es DynJS und vert.x.

vorlesen Drucken Kommentare lesen 8 Beiträge

Um Node.js auch auf die JVM (Java Virtual Machine) zu bringen, hat Red Hats Project:odd-Team mit Nodyn eine Ergänzung für das JBoss-Ökosystem entwickelt. Es handelt sich dabei um ein zu Node.js kompatibles Framework, das mit DynJS, einer ECMAScript-Laufzeitumgebung für die JVM, und dem einem ereignisgetriebenen Framework vert.x arbeitet. Zwar befindet sich das Projekt noch in den Kinderschuhen, urteilt man nach den potenziellen Möglichkeiten der integrierten Produkte, lässt sich aber einiges erhoffen.

Node.js ist ein eventgetriebenes, nicht blockendes I/O-Framework, das auf Googles JavaScript-Engine V8 beruht. Mit ihm lassen sich JavaScript-Programme entwickeln, die sowohl auf dem Client als auch auf dem Server asynchron laufen und per Events miteinander kommunizieren können. Als Vorteil erscheint vielen Entwicklern, dass sie sich bei der Entwicklung ihrer Anwendungen innerhalb einer Sprachwelt bewegen und so konsistentere und stabilere Anwendungen aufsetzen können.

Es handelt sich bei Nodyn nicht um eine direkte Portierung von Node.js, sondern um den Versuch, die Funktionen der zugehörigen API nachzubilden. Mit dessen Hilfe soll es Entwicklern möglich sein, Node.js-Apps auf der Java Virtual Machine laufen zu lassen und so auf Anwendungen und andere Hilfsmittel aus dem Java-Umfeld zugreifen zu können. DynJS stellt hierbei die Laufzeitumgebung bereit, während vert.x als Anwendungsplattform und Event-Bus-System dient. Besonders die vert.x eigenen Clustering-Möglichkeiten können hierbei für die Anwendungsentwicklung interessant sein.

Momentan fehlen der Implementierung noch Umsetzungen von Komponenten wie der VM API und Verschlüsselung via TLS/SSL, bis zum Produktiveinsatz ist also noch einiges zu tun. Nodyn lässt sich als eigenständige REPL (Read-Eval-Print-Loop) oder Sprachmodul in vert.x betreiben. So lang es kein erstes offizielles Release gibt, ist das Framework für den Standalone-Betrieb aus den Quellen selbst zu generieren oder ein CI-Snapshot (Continuous Integration) von Sonatype zu verwenden. Um es in vert.x zu nutzen, ist hingegen eine langs.properties-Datei im Wurzelverzeichnis des Projekts anzulegen, ansonsten nutzt es die JavaScript-Laufzeitumgebung Rhino.

Der Quelltext von Nodyn ist auf GitHub zu finden. Die Projektseite zeigt darüber hinaus den aktuellen Stand der bereits umgesetzten API-Funktionen. (jul)