Por que eu devo ler este artigo:Neste artigo abordaremos o uso do Node.js para o desenvolvimento de aplicações com o ASP.NET: entenderemos seus principais conceitos e o porquê de sua utilização ser tão importante nos dias atuais. Criaremos uma aplicação simples que apresentará uma lista de filmes utilizando algumas das principais ferramentas do mercado, como é o caso do AngularJS, da base de dados NoSQL MongoDB, dentre outras novidades, que têm seus pontos fortes para o desenvolvimento de uma aplicação Client-Server.

Ao desenvolvermos nossas aplicações, sejam estas nas linguagens PHP, ASP.NET ou mesmo Java, temos uma característica que é comum a qualquer uma delas, que é a paralização dos processos enquanto estão fazendo uso dos recursos de entrada e saída (I/O) no servidor. Essa paralização é conhecida pelo termo Blocking-thread, onde as requisições são enfileiradas e depois processadas uma a uma, não ocorrendo múltiplos processos simultaneamente.


Guia do artigo:


Este é o tipo de arquitetura padrão que encontramos hoje, presente em diversos projetos que passam a ter um desempenho ineficiente. Alguns dos exemplos de requisições que demandam uma lentidão significativa nos processos são tarefas como enviar e-mails e uma consulta numa base de dados.

Este tipo de processamento consome boa parte do tempo, muitas vezes bloqueando sistemas inteiros enquanto não são finalizadas.

Devido a este problema, em meados do ano 2009, o Node.js teve sua expansão iniciada numa palestra no JSConf, a qual foi apresentada por Ryan Dahl. Ao contrário do que é imaginado, o Node.js não é uma biblioteca JavaScript, mas sim uma plataforma para a criação de aplicações web do lado do servidor, fazendo uso do JavaScript.

O Node.js foi construído inicialmente com base nas linguagens C++ e JavaScript, e usando o V8, que é uma engine do JavaScript que vem com o Chrome, que é a mesma engine utilizada para processar JavaScript no servidor.

Com a utilização do Node.js, podemos rapidamente construir e executar aplicações web em poucos minutos. Assim como o JavaScript, o Node.js funciona em qualquer navegador moderno e além de ser orientado a eventos, também é assíncrono.

Assume-se, no entanto, que todas as operações I/O são lentas.

Assim, eles são todos executados de forma assíncrona, devido ao modelo de arquitetura trazido com o Node.js ser o de non-blocking thread, o que apresenta uma melhor performance com relação ao consumo de memória e também um melhor aproveitamento com relação ao processamento dos servidores.

O Node executa cada uma de suas operações como sendo um evento, que é executado em um ciclo de eventos, onde o servidor tem apenas um segmento para executar todas as operações. Este ciclo de eventos continua “ouvindo” os eventos do servidor e quando um evento assíncrono é encontrado, como buscar dados num banco de dados, a operação é realizada fora do ciclo de eventos, que por sua vez, libera o segmento e responde a qualquer outro evento que venha depois.

Uma vez que a operação assíncrona é concluída, o ciclo de eventos recebe uma mensagem sobre a sua conclusão e o resultado é então processado, uma vez que o ciclo de eventos seja liberado.

O evento responsável pela escuta e emissão dos eventos nos sistemas é o Event-Loop, que na prática é um loop infinito que a cada iteração verifica na fila de eventos se um determinado evento foi emitido ou não. Caso haja um evento, este é executado e enviado para uma fila de executados.

O fluxo do Node.js é bastante leve, ao contrário de outras tecnologias de servidor, além de não possuir uma grande variedade de componentes instalados por padrão, apenas possui o número certo de componentes para iniciar o servidor. Claro que, caso necessário, outros componentes podem ser adicionados.

Neste artigo abordaremos o Node.js como base na construção de uma aplicação para apresentação de uma lista de filmes, além de utilizarmos do Express, o MongoDB e o AngularJS. Utilizaremos o sistema operacional Windows 8 (64 bits) e o Visual Studio para o desenvolvimento de nossa aplicação.

Uma observação a ser feita aqui é que as ferramentas Node para Visual Studio podem ser usadas com o Visual Studio 2012 Web Developer Express, Visual Studio 2013 Web Developer Express, ou com as versões completas do Visual Studio 2012 ou 2013. Para a execução do nosso projeto, precisaremos ter em nossas máquinas as seguintes ferramentas:

  • Visual Studio 2012 ou 2013;
  • Node.js;
  • Node.js tools for Visual Studio (NTVS);
  • MongoDB.

Os três primeiros itens de nossas ferramentas podem ser instalados de forma simples, apenas aceitando as configurações padrões que são fornecidas. Já para o MongoDB, receberemos um arquivo zip que contém um conjunto de arquivos binários, que devem ser extraídos do zip para qualquer local que desejarmos. No nosso caso, este será extraído em E:\MongoDB\bin. Uma vez que tenhamos os arquivos extraídos, devemos seguir os seguintes passos:

  • Na pasta chamada MongoDB vamos criar uma pasta chamada 'data' e dentro dessa pasta criaremos outra pasta chamada ‘db’;
  • Agora vamos até a nossa pasta que extraímos na unidade E:\MongoDB\bin e vamos criar um arquivo de texto com o nome de ‘mongod.conf’. Em seguida, passemos para ele as seguintes declarações, de acordo com as apresentadas pela Listagem 1.

  dbpath = E:\MongoDB\data\db
  logpath = E:\MongoDB\mongo-logs.log
  logappend = true
Listagem 1. Informações passadas para o arquivo mongod.conf
  • Após isso, executemos o prompt de comando como administrador e mudemos o caminho para a pasta bin do MongoDB em nosso sistema. Em seguida executaremos os seguintes comandos:
  • <p align="left">mongod.exe -f mongod.conf –service
      net start mongodb
    

Uma vez que esses comandos forem executados, o MongoDB e ...

Quer ler esse conteúdo completo? Tenha acesso completo