UM RELATO DE EXPERIÊNCIA SOBRE A ESCOLHA DE UM SERVIDOR DE APLICAÇÕES WEB
Trabalho Universitário: UM RELATO DE EXPERIÊNCIA SOBRE A ESCOLHA DE UM SERVIDOR DE APLICAÇÕES WEB. Pesquise 862.000+ trabalhos acadêmicosPor: fccarminati • 13/9/2013 • 964 Palavras (4 Páginas) • 683 Visualizações
Resumo
A escolha de um Servidor para aplicações web pode depender de diversos fatores. Neste artigo se relatou uma experiência de escolha entre os Servidores NodeJS e Apache. Foram considerados fatores mais genéricos, como a facilidade de configuração e a oferta de ferramentas que aumentassem a produtividade no desenvolvimento. Por fim, concluiu-se que o NodeJS foi uma opção mais interessante para este projeto, e que para aferir fatores técnicos de performance é necessário a realização de trabalhos futuros.
Palavras-chave: Aplicação, Web, NodeJS, Apache.
1. Introdução
A etapa final da construção de uma aplicação web é implantar os arquivos em um Servidor a partir do qual ela estará disponível na internet. A comunicação do cliente através de um Navegador de Internet é feita com o protocolo HTTP, que possibilita a troca de arquivos entre as máquinas. A escolha de uma plataforma para servir clientes com arquivos está geralmente associada a fatores como o conhecimento das plataformas e facilidades que elas oferecem. É neste contexto que se insere o presente trabalho. Ele relata a estrutura de uma aplicação web e dois tipos de Servidores comumente utilizados para aplicações web identificando as características de cada um.
2. Estrutura da Aplicação
A aplicação foi construída em JavaScript, utilizando os frameworks BackboneJS, MarioneteJS e jQuery, com as informações contidas em um arquivo “main.js”. Este arquivo contém as informações necessárias para o navegador exibir o conteúdo da aplicação para o Cliente. A Figura 1 apresenta a estrutura interna de máquina do Cliente. Ao acessar uma página utilizando um Navegador de Internet, o Servidor envia o arquivo “main.js” com o conteúdo da página, com as informações de estilos, códigos HTML entre outros.
Figura 1. Comunicação do Cliente com o Servidor.
3. Escolha do Servidor
A escolha do tipo do Servidor pode ser influenciada pelas características técnicas da aplicação ou fatores organizacionais de um cenário. Na escolha de um Servidor para esta aplicação, algumas características foram avaliadas:
• Como configurar o servidor;
• Oferta de ferramentas prontas para auxiliar o desenvolvimento;
• Facilidade para implantar os arquivos.
Duas plataformas foram avaliadas com base nestas características, o Apache [1] e o NodeJS [2]. A Figura 2 mostra como é feita a comunicação entre o Cliente, Servidor e a Máquina de Desenvolvimento para os dois tipos de Servidores.
Figura 2: Diagramas de Deployment utilizando o servidor Apache (a direita) e o NodeJS (a esquerda).
Apache:
O Apache é desenvolvido e mantido por uma comunidade aberta de usuários, oferecendo diversas ferramentas prontas para integração que agilizam certas tarefas. O “mod_gzip” é um módulo do Apache que permite comprimir o tamanho das páginas web do servidor. O ModSecurity é um módulo de segurança para detectar a invasão em aplicações web e o AWStats permite gerenciar os logs do servidor para controle das ações.
No Diagrama da Figura 2, a direita, estão distribuídos os dispositivos que interagem com o Servidor Apache. As configurações do Servidor são feitas no arquivo “httpd.conf”. O Apache responde as requisições HTTP do Cliente e envia os dados solicitados.
Durante o desenvolvimento de uma página é necessário utilizar ferramentas externas para monitorar os arquivos do projeto e realizar as mudanças na página que está sendo desenvolvida. A distribuição pode ser feita através de um gerenciador de arquivos, como o FileZilla, no qual é possível trocar os arquivos com o servidor.
NodeJS:
NodeJS é uma plataforma livre utilizada como servidor para aplicações web. A plataforma roda utilizando o V8 (um motor do Navegador Google Chrome), executando JavaScript no lado do servidor. O NodeJS é orientado a eventos, sendo possível tratar as ações de forma direta e local através de callbacks, funções que são chamadas quando o evento ocorre. Este padrão de programação torna o código fácil
...