Eclipse Vert.x é uma estrutura de aplicativo orientada a eventos Polyglot que é executada na Java Virtual Machine. É lançado como código aberto sob Apache Software License 2.0 e Eclipse Public License.

Em particular, o Vert.x permite a criação de servidores web, permitindo em particular um escalonamento muito eficiente. O Vert.x, portanto, apresenta-se como uma alternativa aos contêineres de servlet definidos no padrão Java EE, como Tomcat ou Jetty.

O Vert.x também pode ser incorporado como uma biblioteca em outro aplicativo Java.

História Vert.x foi iniciada por Tim Fox em 2011 enquanto ele trabalhava para a VMware.

Fox inicialmente chamou o projeto de "Node.x" uma brincadeira com a nomenclatura de Node.js, com o "x" representando o fato de que o novo projeto era poliglota por natureza e não apenas suportava JavaScript. O projeto foi posteriormente renomeado para "Vert.x" para evitar possíveis problemas legais, já que "Node" era uma marca registrada de propriedade da Joyent Inc. O novo nome também foi uma brincadeira com o nome node, já que vértice é sinônimo para um nó em matemática.

Em dezembro de 2012, depois que ele deixou o emprego, a VMware entregou documentos legais a Tim Fox para assumir o controle da marca Vert.x, nome de domínio, blog, conta GitHub e Google Group da comunidade Vert.x.

Depois de muita discussão com outras partes, em janeiro de 2013, a VMware foi persuadida de que seria do interesse da comunidade Vert.x transferir o projeto e o IP associado para a Fundação Eclipse, uma entidade legal neutra.

Em agosto de 2013, o projeto principal Vert.x concluiu sua mudança para a Eclipse Foundation. Os outros projetos que compõem a pilha Vert.x não migraram para o Eclipse, mas continuaram a usar a marca registrada "Vert.x" com aprovação tácita da Eclipse Foundation.

Em maio de 2014, Vert.x ganhou o prêmio de "Most Innovative Java Technology" nos prêmios JAX Innovation.

Em 12 de janeiro de 2016, Tim Fox deixou o cargo de líder do projeto Vert.x. e Julien Viet, um colaborador de longa data, assumiu seu lugar.

Arquitetura Vert.x usa a biblioteca de e/s de baixo nível Netty.

A estrutura do aplicativo inclui estes recursos:

Poliglota. Os componentes do aplicativo podem ser escritos em Java, JavaScript, Groovy, Ruby, Scala, Kotlin e Ceylon. Modelo de simultaneidade simples. Todo o código é de thread único, liberando o incômodo da programação multithread. Modelo de programação simples e assíncrono para escrever aplicativos sem bloqueio verdadeiramente escaláveis. Barramento de evento distribuído que abrange o lado do cliente e do servidor. O barramento de eventos penetra até mesmo no JavaScript do navegador, permitindo criar os chamados aplicativos da Web em tempo real. Modelo de ator e repositório público, para reutilizar e compartilhar componentes.

Exemplos Um servidor web servindo "Hello from Vert.x!" poderia ser escrito em Java:

import io.vertx.core.AbstractVerticle;

public class Server extends AbstractVerticle { public void start() { vertx.createHttpServer().requestHandler(req -> { req.response() .putHeader("content-type", "text/plain") .end("Hello from Vert.x!"); }).listen(8080);

E em JavaScript:

vertx.createHttpServer() .requestHandler(function (req) { req.response() .putHeader("content-type", "text/plain") .end("Hello from Vert.x!"); }).listen(8080);

Ambos os casos resultarão em um servidor da Web que fornece conteúdo de maneira altamente escalável.

Ligações externas

Categoria:Softwares multiplataformas Categoria:Redes de computadores Categoria:Ethernet