Um web framework para C++: projeto, implementação e avaliação

Detalhes bibliográficos
Autor(a) principal: Castro, Herik Lima de
Data de Publicação: 2019
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Biblioteca Digital de Teses e Dissertações da USP
Texto Completo: 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
id USP_005b7566075713d3b25888505912bb8a
oai_identifier_str oai:teses.usp.br:tde-09122019-211053
network_acronym_str USP
network_name_str Biblioteca Digital de Teses e Dissertações da USP
repository_id_str 2721
spelling Um web framework para C++: projeto, implementação e avaliaçãoA C++ web framework: project, implementation and evaluationweb frameworkweb frameworkAvaliaçãoBibliotecas para desenvolvimento webC++ Web FrameworkC++ Web FrameworkConsumo de memóriaDesempenhoEvaluationLibraries for web developmentMaintenanceManutenibilidadeMemory consumptionPerformanceResponse timeTempo de respostaAs 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 exteriorWeb applications are, typically, client-server programs where clients consume services provided by a web server. Web applications can be as simple as portals that display static and dynamic content as applications involving database use, interaction with other information systems, and the processing of complex algorithms and large data volumes. In general, to develop more complex applications, even more experienced developers face a number of challenges: complex configuration and difficult to learn as they need to use different programming languages, libraries, frameworks, configuration files and specific code to make multiple layers interoperable; low maintainability, due to the complex configuration, conflicts between libraries and frameworks and the intertwining of business, control and presentation code allowed in various solutions; high computational resource consumption due to processing and communication cost introduced by the large number of components of a webtext architecture; and poor performance, due to the high dependence on interpreted languages and the communication between several modules, libraries and frameworks. In this context, the main objective of this research project is to propose and evaluate a solution for web development that mitigates the main issues related to the current scenario mentioned above. The solution was presented in the form of a new web framework called CWF, which supports the development of applications written in the C++ language. The design decisions of the proposed web framework were to achieve high performance by using a compiled language; low consumption of computational resources (memory and processing); simple configuration mechanisms; separation of the presentation layer (HTML, for example) from the business layer (backend code); and being cross-platform. The web framework was evaluated for its ease of installation, configuration and use through user experiments, as well as performance tests and computational resource consumption. The results give evidence that CWF is easy to install, configure, use and performs well with response time and resource consumption such as RAM and processor. In addition, it has already been used in the development of real applications, both in Brazil and abroadBiblioteca Digitais de Teses e Dissertações da USPEler, Marcelo MedeirosCastro, Herik Lima de2019-10-11info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttps://www.teses.usp.br/teses/disponiveis/100/100131/tde-09122019-211053/reponame:Biblioteca Digital de Teses e Dissertações da USPinstname:Universidade de São Paulo (USP)instacron:USPLiberar o conteúdo para acesso público.info:eu-repo/semantics/openAccesspor2024-10-09T13:16:04Zoai:teses.usp.br:tde-09122019-211053Biblioteca Digital de Teses e Dissertaçõeshttp://www.teses.usp.br/PUBhttp://www.teses.usp.br/cgi-bin/mtd2br.plvirginia@if.usp.br|| atendimento@aguia.usp.br||virginia@if.usp.bropendoar:27212024-10-09T13:16:04Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP)false
dc.title.none.fl_str_mv Um web framework para C++: projeto, implementação e avaliação
A C++ web framework: project, implementation and evaluation
title Um web framework para C++: projeto, implementação e avaliação
spellingShingle Um web framework para C++: projeto, implementação e avaliação
Castro, Herik Lima de
web framework
web framework
Avaliação
Bibliotecas para desenvolvimento web
C++ Web Framework
C++ Web Framework
Consumo de memória
Desempenho
Evaluation
Libraries for web development
Maintenance
Manutenibilidade
Memory consumption
Performance
Response time
Tempo de resposta
title_short Um web framework para C++: projeto, implementação e avaliação
title_full Um web framework para C++: projeto, implementação e avaliação
title_fullStr Um web framework para C++: projeto, implementação e avaliação
title_full_unstemmed Um web framework para C++: projeto, implementação e avaliação
title_sort Um web framework para C++: projeto, implementação e avaliação
author Castro, Herik Lima de
author_facet Castro, Herik Lima de
author_role author
dc.contributor.none.fl_str_mv Eler, Marcelo Medeiros
dc.contributor.author.fl_str_mv Castro, Herik Lima de
dc.subject.por.fl_str_mv web framework
web framework
Avaliação
Bibliotecas para desenvolvimento web
C++ Web Framework
C++ Web Framework
Consumo de memória
Desempenho
Evaluation
Libraries for web development
Maintenance
Manutenibilidade
Memory consumption
Performance
Response time
Tempo de resposta
topic web framework
web framework
Avaliação
Bibliotecas para desenvolvimento web
C++ Web Framework
C++ Web Framework
Consumo de memória
Desempenho
Evaluation
Libraries for web development
Maintenance
Manutenibilidade
Memory consumption
Performance
Response time
Tempo de resposta
description 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
publishDate 2019
dc.date.none.fl_str_mv 2019-10-11
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://www.teses.usp.br/teses/disponiveis/100/100131/tde-09122019-211053/
url https://www.teses.usp.br/teses/disponiveis/100/100131/tde-09122019-211053/
dc.language.iso.fl_str_mv por
language por
dc.relation.none.fl_str_mv
dc.rights.driver.fl_str_mv Liberar o conteúdo para acesso público.
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Liberar o conteúdo para acesso público.
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.coverage.none.fl_str_mv
dc.publisher.none.fl_str_mv Biblioteca Digitais de Teses e Dissertações da USP
publisher.none.fl_str_mv Biblioteca Digitais de Teses e Dissertações da USP
dc.source.none.fl_str_mv
reponame:Biblioteca Digital de Teses e Dissertações da USP
instname:Universidade de São Paulo (USP)
instacron:USP
instname_str Universidade de São Paulo (USP)
instacron_str USP
institution USP
reponame_str Biblioteca Digital de Teses e Dissertações da USP
collection Biblioteca Digital de Teses e Dissertações da USP
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP)
repository.mail.fl_str_mv virginia@if.usp.br|| atendimento@aguia.usp.br||virginia@if.usp.br
_version_ 1815256499734183936