Um web framework para C++: projeto, implementação e avaliação
Autor(a) principal: | |
---|---|
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 |