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
- 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.
- 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).
- 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. - 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
- 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.
- 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
- Instalação de Node.js e gestão de módulos
- Instalação de MongoDB e utilização da shell
- Construção de um sítio web com Node.js
- Outra aplicação de Node.js
Licença CC BY-SA 4.0
Silvia Pinhão Lopes, 20.7.15
Sem comentários: