Os Web Services são muito úteis quando pretendemos desenvolver serviços e aplicações de grande escala/distribuídas… mas também para a interoperabilidade de sistemas!
Neste tutorial iremos ensinar a implementar um webservice em nodejs com o strongloop, módulo opensource desenvolvido pela IBM e que pode ser uma boa solução para aqueles que querem iniciar-se no mundo do nodejs.
O strongloop para além da sua simples instalação ainda nos disponibiliza uma série de ferramentas para desenvolver e testar o nosso webservice.
Neste tutorial iremos apresentar o processo de instalação do strongloop, criação de um webservice, instalação do mongodb, ligação do mongodb ao webservice passando pela implementação de um sistema de autenticação e alguns exemplos de como pode ser testado o sistema com algumas das ferramentas que o strongloop proporciona.
A implementação do webservice será feita numa máquina com o Ubuntu 16.04 na Google cloud, no entanto o strongloop pode ser instalado em qualquer sistema operativo que tenha o nodejs instalado.
Instalação do nodejs
Para começar temos de instalar o nodejs na nossa máquina. No caso de termos o linux abrimos o terminal e escrevemos:
sudo apt install nodejs
Depois instalar o npm
sudo apt install npm
A seguir verificamos que versão do nodejs foi instalada:
nodejs –v
Nota: É importante termos uma versão recente do nodejs para podermos instalar o strongloop sem problemas. Neste momento a mais recente versão do strongloop é a 7.x. Caso pretendam atualizar o vosso nodejs basta que escrevam no terminal o seguinte comando para obter a versão mais recente do nodejs.
sudo wget –qO- https://deb.nodesource.com/setup_7.x | sudo bash -
Em seguida atualizamos a lista de repositórios e instalamos/atualizamos o nodejs.
sudo apt update && sudo apt install –y nodejs
Agora que temos o nodejs atualizado vamos passar à instalação do strongloop.
Instalação do Strongloop
Existem duas versões da LoopBack framework: strongloop arc e apiconnect, a versão apiconnect é mais recente e irá eventualmente substituir a versão arc. No entanto a versão apiconnect ainda não tem implementadas todas as funcionalidades da versão arc e é por isso que iremos usar essa versão neste tutorial. De referir ainda que a nova versão é bastante semelhante á anterior em termos de funcionalidades e estruturas. Mais informações aqui.
Para instalar o strongloop arc, abrimos o terminal e executamos o comando
sudo npm install –g strongloop
Depois de concluída a instalação criamos uma nova pasta onde vamos guardar o nosso webservice. Para este tutorial criou-se um diretório com o nome webservicePhones
mkdir webservicePhones
cd webservicesPhones
Dentro da pasta executamos o seguinte comando para criar o webservice
sudo slc loopback
Nesta fase o strongloop irá apresentar uma caixa de dialogo como a que vemos na imagem anterior para podemos escolher algumas opções para o webservice que estamos a criar.
Na primeira pergunta e como já foi criada uma pasta para o projeto deixamos o valor por defeito, para isso carregamos na tecla enter, na segunda pergunta onde temos de escolher a versão do loopback que queremos deixamos também a opção por defeito para isso carregamos novamente na tecla enter, por ultimo podemos escolher o modelo em que queremos basear o que estamos a criar, neste caso escolhemos o modelo com autenticação, carregamos em ENTER e esperamos que o webservice seja criado.
Se tudo correr bem iremos ver algo parecido com o que vemos na figura seguinte.
O próximo passo é a criação de um modelo que vai iremos apresentar para um próximo tutorial. Até lá deixem já as vossas máquinas prontas com o nodejs e com o strongloop. Alguma dúvida ou questão deixem nos comentários.