A popularidade do Node.js para API REST

fonte: strongloop.com

Node.js é um interpretador de JavaScript multiplataforma, de código aberto, que funciona do lado do servidor.
As aplicações Node.js são executadas em OS X, Microsoft Windows, Linux, FreeBSD, NonStop, IBM AIX, IBM System z e IBM i.
O Node.js usa o motor de JavaScript Google V8 para executar o código e a maior parte dos módulos são programados em JavaScript. O Node.js inclui uma biblioteca que permite às aplicações comportarem-se com servidores web prescindindo de software como Apache HTTP Server ou IIS.
Exemplo de servidor web
var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Estou ao serviço\n');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');


Arquitectura REST

REST (Representational State Transfer) ​​é a arquitectura padrão da Web e consiste nas melhores directrizes e nas melhores práticas para a criação de serviços web escaláveis através do protocolo HTTP e respectivos verbos. Para encontrar páginas web e enviar dados para qualquer servidor remoto, os verbos HTTP como GET, POST, PUT e DELETE são os mais importantes.

Desenvolvimento MEAN Stack

Trata-se de desenvolvimento em quatro (4) componentes orientadas para JavaScript:

MEAN

M - MongoDB (base de dados NoSQL para documentos)
E - Express (framework web para Node.js)
A - AngularJS
N - Node.js

As principais razões para escolher Node.js para API REST

  1. A framework Node.js disponibiliza uma série de módulos para a criação de qualquer tipo de API REST de forma efectiva. A arquitectura orientada a eventos e a API I/O não-bloqueante são eficazes o suficiente para construir aplicações rápidas e escaláveis.
  2. O NPM (Node Package Manager) é o gestor de módulos do Node.js através do qual são instalados pacotes Node.js a partir da internet e geridas as dependências de forma automática. Está para o Node.js como o Nuget está para o .Net. O sítio web npm.org apresenta as bibliotecas disponíveis. Esta gestão é feita a partir de uma ferramenta CLI (Command Line Interface).
  3. Por forma a munir o Node.js duma estrutura HTTP para programar a API REST há que instalar o módulo Express executando o comando
    npm install express

    a partir do directório raíz do Node.js com privilégios de administração.
  4. O módulo Mongoose tem a função de um ORM (Object Relational Mapper) à semelhança da Entity Framework, apesar das bases de dados NoSQL não requererem qualquer esquema. Trata-se de uma ferramenta de modulação de objectos MongoDB desenhada para ambientes assíncronos que faz a ligação entre o MongoDB e o Node.js. Comando npm:
    npm install mongoose
  5. O Node.js integra autenticação baseada em tokens (Token Based Authentication) na API REST que, primeiro autentica e autoriza os utlizadores para, então, lhes dar acesso às funcionalidades da aplicação web. Este processo de confirmação de utilizadores garante que a aplicação é segura.
  6. Antes de usar a API na aplicação cliente, o serviço RESTful pode ser testado usando cURL. Trata-se de uma ferramenta e biblioteca de linha de comando de código aberto para a transferência de dados por URL. Pode até emular um navegador: Scripting HTTP Requests Using Curl.

Estes são os princípios para criar qualquer API REST em Node.js. Esta framework torna o processo de desenvolvimento de um serviço web rápido, fácil e ágil.


Referências


Licença CC BY-SA 4.0 Silvia Pinhão Lopes, 20.7.15
Print Friendly and PDF

Sem comentários:

Com tecnologia do Blogger.