Detalhes bibliográficos
Ano de defesa: |
2019 |
Autor(a) principal: |
Castro, Herik Lima de |
Orientador(a): |
Não Informado pela instituição |
Banca de defesa: |
Não Informado pela instituição |
Tipo de documento: |
Dissertação
|
Tipo de acesso: |
Acesso aberto |
Idioma: |
por |
Instituição de defesa: |
Biblioteca Digitais de Teses e Dissertações da USP
|
Programa de Pós-Graduação: |
Não Informado pela instituição
|
Departamento: |
Não Informado pela instituição
|
País: |
Não Informado pela instituição
|
Palavras-chave em Português: |
|
Link de acesso: |
https://www.teses.usp.br/teses/disponiveis/100/100131/tde-09122019-211053/
|
Resumo: |
As aplicações web são, tipicamente, programas do tipo cliente-servidor em que os clientes consomem serviços fornecidos por um servidor web. As aplicações web podem ser tão simples quanto sites que exibem conteúdos estáticos e dinâmicos, quanto aplicações que envolvem o uso de banco de dados, interação com outros sistemas de informação e o processamento de algoritmos complexos e grandes volumes de dados. Em geral, para desenvolver aplicações mais complexas, até mesmo desenvolvedores mais experientes enfrentam vários desafios: configuração complexa e difícil aprendizagem, pois precisam utilizar diferentes linguagens de programação, bibliotecas, frameworks, arquivos de configuração e código específico para tornar múltiplas camadas interoperáveis; baixa manutenibilidade, em razão da complexa configuração, conflitos entre bibliotecas e frameworks e do entrelaçamento entre código de negócio, de controle e de apresentação permitido em diversas soluções; alto consumo de recursos computacionais, em razão do custo de processamento e comunicação introduzido pelo grande número de componentes de uma arquitetura web; e baixo desempenho, em razão da alta dependência de linguagens interpretadas e da comunicação entre diversos módulos, bibliotecas e frameworks. Neste contexto, o objetivo principal deste projeto de pesquisa é propor e avaliar uma solução para o desenvolvimento web que mitigue os principais problemas relacionados ao cenário atual e mencionados anteriormente. A solução foi apresentada na forma de um novo web framework chamado CWF (C++ Web Framework), que apoia o desenvolvimento de aplicações escritas na linguagem C++. As decisões de projeto do web framework proposto tiveram como objetivo alcançar alto desempenho por utilizar uma linguagem compilada; baixo consumo de recursos computacionais (memória e processamento); mecanismos simples de configuração; separação da camada de apresentação (HTML, por exemplo) da camada de negócios (código back-end); e ser multiplataforma. O web framework foi avaliado quanto à sua facilidade de instalação, configuração e uso por meio de experimentos com usuários, e também foram realizados testes de desempenho e consumo de recursos computacionais. Os resultados dão indícios de que o CWF é fácil de instalar, configurar, usar e apresenta bom desempenho no que diz respeito ao tempo de resposta e consumo de recursos como memória RAM e processador. Além disso, ele já tem sido utilizado no desenvolvimento de aplicações reais, tanto no Brasil, quanto no exterior |