Node.js chega para o JVM
Nodyn para Node.js permite que Nodeapps funcione diretamente com aplicativos Java existentes
“JavaScript em todos os lugares e tudo portado para JavaScript” – ou é uma piada corrente em TI atualmente ou uma verdade fria como pedra. As evidências tendem para o último, com o Node.js se tornando uma estrutura pau para toda obra para muitas cargas de trabalho e ambientes.
Com o Nodyn, o Node.js ganha mais um lugar para ser executado: a Java Virtual Machine.
Nodyn, um projeto patrocinado pela Red Hat por meio de seu Projeto: equipe Odd, trabalha aproveitando dois outros projetos: o projeto DynJS, que fornece o tempo de execução real do JavaScript (ECMAScript, na verdade) para o JVM, e a plataforma / evento do aplicativo Vert.x sistema de ônibus.
Mas o principal motivo para permitir que aplicativos Node.js sejam executados na JVM é permitir que aplicativos Node.js funcionem diretamente com aplicativos Java existentes. Consequentemente, o projeto Nodyn também faz parte do ecossistema JBoss para uma maior integração com o resto do mundo do aplicativo Java, bem como aplicativos de qualquer outra linguagem atualmente em execução na JVM (como Clojure).
Nodyn não é uma porta direta do código Node.js. Ele replica a funcionalidade das APIs do Node.js. Coisas que não funcionam, como a API VM (ela própria instável em Node.js) e TLS / SSL ainda não foram implementadas.
Alternativas para o Nodyn fazer o Node.js falar com outras plataformas é o Node nativo e o node-ffi – abreviação de “Interface de Função Estrangeira” – que permite ao Node.js criar ligações com bibliotecas dinâmicas sem a necessidade de qualquer código C ++ por parte de o programador Node.js. Ainda não está claro como o desempenho do node-ffi se compara ao do Nodyn no longo prazo, embora o Nodyn pareça que pretende ser a solução mais completa e robusta dos dois, graças a recursos como os recursos de clustering inerentes ao Vert.x.
Eu o uso na produção em alguns motores de comparação de preços que estão executando o Apache Solr (pesquisa lucene) e até mesmo para o processamento de big Data Hadoop em mais de 200 servidores ao mesmo tempo, faço a orquestração completa com ele e transmito os resultados. Isso permite o ajuste de grandes métodos de pesquisa não estruturados!