EJECUTAR NODE JS directamente DENTRO de JavaVM

Node.js llega para la JVM

Nodyn para Node.js permite a Nodeapps trabajar directamente con aplicaciones Java existentes

“JavaScript en todas partes y todo adaptado a JavaScript”: o es una broma corriente en TI en estos días o una verdad absoluta. La evidencia tiende hacia lo último, con Node.js convirtiéndose en un marco de trabajo universal para muchas cargas de trabajo y entornos.

Con Nodyn, Node.js gana otro lugar en el que puede ejecutarse: la máquina virtual Java.

Nodyn, un proyecto patrocinado por Red Hat a través de su equipo Project: Odd, trabaja aprovechando otros dos proyectos: el proyecto DynJS, que proporciona el tiempo de ejecución de JavaScript real (ECMAScript, en realidad) para la JVM, y la plataforma / evento de aplicación Vert.x sistema de bus.

Pero el motivo principal para permitir que las aplicaciones Node.js se ejecuten en la JVM es permitir que las aplicaciones Node.js funcionen directamente con las aplicaciones Java existentes. En consecuencia, el proyecto Nodyn también es parte del ecosistema JBoss en aras de una mayor integración con el resto del mundo de las aplicaciones Java, así como con aplicaciones de cualquier otro lenguaje que se esté ejecutando actualmente en la JVM (como Clojure).

Nodyn no es un puerto directo del código de Node.js. Replica la funcionalidad de las API de Node.js. Cosas que no funcionan como la API de VM (en sí misma inestable en Node.js) y TLS / SSL aún no se han implementado.

Las alternativas para que Nodyn haga que Node.js hable con otras plataformas son Native Node y node-ffi, abreviatura de “Foreign Function Interface”, que permite a Node.js crear enlaces con bibliotecas dinámicas sin necesidad de ningún código C ++ por parte de el programador de Node.js. Aún no está claro cómo se comparará el rendimiento de node-ffi con el de Nodyn a largo plazo, aunque parece que Nodyn apunta a ser la solución mucho más completa y robusta de las dos, gracias a características como las capacidades de agrupación inherentes a Vert.x.

Lo uso en producción en algunos motores de comparación de precios que ejecutan Apache Solr (búsqueda lucene) e incluso para procesar big Data Hadoop en más de 200 servidores al mismo tiempo, hago la orquestación completa con él y transmito los resultados. ¡Eso permite el ajuste de grandes métodos de búsqueda no estructurados!