Bacharelado em Sistemas de Informação
Utilizando JavaScript no servidor para construir aplicações de alta concorrência na internet com Node.Js
Aluno: Lucas Simon Rodrigues Magalhães
Orientador: João Caram
Javascript no servidor?
Em referência ao titulo o javascript conhecido pelos desenvolvedores nos browsers para iteragir com elementos html na DOM foi portado para o servidor.
Sim. Existe o Node.Js
O NodeJS utiliza o JavaScript para os desenvolvedores criarem aplicações web.
O que é o Node.Js
De acordo com a sua descrição no site, o Node.Js é uma plataforma de desenvolvimento orientada a eventos não bloqueantes projetada para construir aplicações de rede rápidas e escaláveis, utilizando o Javascript como linguagem.
Aplicações de rede:
- API's
- Servidor HTTP
- Servidores de jogos
- Stream de audio e video
- Aplicações em tempo real
- Sistemas embarcados
Quem criou o Node.Js?
Ryan Dhal
O problema de alta concorrencia na web
O número de internautas segundo pesquisa do IBGE (2012) de 2005 a 2011 cresceu 143.8% e o de pessoas com celular, 107.2%.
Precocupações
Usuários, escalabilidade e desempenho
E os sistemas de desenvolvimento tradicionais?
- Java, PHP, .NET, Python são bloqueantes
- Consumo de memória acima 2MB em cada thread
Autalização de Hardware?-
Escalonamento horizontal? $$$$
Mas o que o Node.Js faz de diferente?
- Operações não bloqueantes
- Javascript assíncrono e chamadas de retorno
- Execução em thread única e ciclo de eventos
O ecossistema Node.Js
Mas com isso tudo o Node.js, resolve o que?
Operações não bloqueantes com Javascript assíncrono e chamadas de retorno
Operações que demandam tempo;
Execução em thread única e ciclo de eventos
Quantidade de conexões simultâneas;
Suporte a websockets
conexões persistentes;
E ....
Em suma o Node.Js resolve problemas de grandes quantidades de conexões de rede no servidor.
Dúvido Lucas!
Eu também!
Por isso...
Neste trabalho procura-se demonstrar a capacidade da plataforma Node.Js com foco em desempenho e capacidade de receber uma carga elevada de usuários.
Como demonstrar isso. Ta doido?
Primeiro demonstrar a capacidade do ambiente Node.Js de processar e responder milhares de requisições comparando-o com um ambiente Python.
Ahn e o que mais?
Criar dois protótipos como API Restful provendo uma operação básica. Get contatos
Como fazer isso?
- Estudo do ambiente Node.Js
- Levantamento de requisitos
- Criar dois aplicativos em diferentes paradigmas
- Especificar testes e comparar resultados
Continuo duvidando. Quero ver os testes!
To Be continued ...
O que já está feito
- Referencial teorico
- Aplicações construidas e hospedadas
- Testes com a ferramenta loader.io
- Parte da seção de prototipos
- Parte da seção de testes
- Conclusão e trabalhos futuros
O que falta fazer
- Correção gramatical
- Melhorar o referencial teorico
- Completar a seção de prototipos
- Completar a seção de testes com os testes clientes por teste e segundo
- Latex
THE END
BY Lucas Simon
Monografia 2014
By Lucas Simon Rodrigues Magalhaes
Monografia 2014
Apresentação para o bacharelado em sistemas de informação da PUC Minas 2014
- 1,447