Um algoritmo de roteamento para o Boost.Http

dc.contributor.advisorSuárez, Diego Gervasio Frías
dc.contributor.authorSantos, Uisleandro Costa dos
dc.contributor.refereeSouza, Leandro Santos Coelho de
dc.contributor.refereeJorge, Eduardo Manuel de Freitas
dc.date.accessioned2024-09-26T13:21:45Z
dc.date.available2024-09-26T13:21:45Z
dc.date.issued2016-06-06
dc.description.abstractA linguagem C++, embora considerada difícil por alguns, por possuir funções de baixo nível, e por possuir problemas de compatibilidade nos diversos sistemas operacionais, vem sofrendo mudanças no sentido de tornar esta linguagem mais constante, com poucas modificações nos diversos sistemas operacionais, sem perder performance. Um dos grupos que tem influenciado bastante o processo de padronização da linguagem é o grupo que criou e mantem o conjunto de bibliotecas Boost. Um dos projetos que estão em discussão no Boost, é o Boost.Http, que dá suporte ao protocolo HTTP, e conta com um modelo de concorrência baseado em IO Assíncrono. O Boost.Http, no entanto, não possui suporte ao Roteamento de URLs, o que implica que o desenvolvedor Boost.Http precisa criar o mapeamento das URLs para as funções correspondentes no código. Este trabalho teve como objetivo principal prover uma camada de Roteamento para o Boost.Http, possibilitando assim que quem optar por usar esta biblioteca, possa se preocupar com outras questões e não com roteamento. Tendo desenvolvido e testado dois algoritmos de roteamento para o Boost.Http, abordou-se como segundo objetivo, a comparação do Boost.Http com outras tecnologias de desenvolvimento web, para obter uma visão geral, no que diz respeito ao desempenho, que poderia fazer com que alguém pudesse decidir usar o Boost.Http para desenvolver aplicações web. Foram desenvolvidas aplicações em CROW, PHP e Boost.Http contendo as mesmas funcionalidades e as mesmas mensagens de retorno para as Rotas que foram pré-definidas durante o processo de testes de cobertura de código. Foram feitos testes de carga usando a mesma ferramenta, nas mesmas condições de configuração de ambiente. A partir dos testes, foi possível observar que o CROW teve um resultado melhor do que o Boost.Http com roteamento. Então optou-se por testar o Boost.Http sem roteamento e observou-se que ainda assim o CROW teve um resultado melhor e que o roteamento.não comprometeu significativamente o desempenho das aplicações desenvolvidas com Boost.Http, no caso de teste considerado. As aplicações em C++, desenvolvidas com CROW e com Boost.Http, tiveram um desempenho melhor do que a aplicação desenvolvida em linguagem PHP. Os resultados sugerem que o CROW permite desenvolver aplicações de melhor performance, no entanto, não possui uma comunidade de usuários tão ampla, nem uma variedade de frameworks e tutoriais, como o PHP, o que deve ser levado em conta na tomada de decisão.
dc.description.abstract2The C++ language, although considered difficult by some because it has low-level functions and compatibility problems with different operating systems, has been undergoing changes in order to make it more consistent, with few modifications to different operating systems, without losing performance. One of the groups that has greatly influenced the language standardization process is the group that created and maintains the Boost set of libraries. One of the projects under discussion in Boost is Boost.Http, which supports the HTTP protocol and has a concurrency model based on Asynchronous IO. Boost.Http, however, does not support URL Routing, which means that the Boost.Http developer needs to create the mapping of URLs to the corresponding functions in the code. The main aim of this work was to provide a routing layer for Boost.Http, so that anyone who chooses to use this library can worry about other issues rather than routing. Having developed and tested two routing algorithms for Boost.Http, the second objective was to compare Boost.Http with other web development technologies, in order to get an overview of the performance that could make someone decide to use Boost.Http to develop web applications. Applications were developed in CROW, PHP and Boost.Http containing the same functionalities and the same return messages for the Routes that were predefined during the code coverage testing process. Load tests were carried out using the same tool, under the same environment configuration conditions. The tests showed that CROW performed better than Boost.Http with routing. It was then decided to test Boost.Http without routing and it was observed that CROW still had a better result and that routing did not significantly compromise the performance of the applications developed with Boost.Http, in the test case considered. The C++ applications developed with CROW and Boost.Http performed better than the application developed in PHP. The results suggest that CROW makes it possible to develop applications with better performance; however, it doesn't have as large a user community or as many frameworks and tutorials as PHP, which should be taken into account when making a decision.
dc.format.mimetypeapplication/pdf
dc.identifier.citationSANTOS, Uisleandro Costa dos. Um algoritmo de roteamento para o Boost.Http. Orientador: Diego Gervasio Frías Suárez. 2015. 54 f. Trabalho de conclusão de curso (Bacharelado em Sistemas de Informação) - Departamento de Ciências Exatas e da Terra, Campus I, Universidade do Estado da Bahia. Salvador- BA, 2015.
dc.identifier.urihttps://saberaberto.uneb.br/handle/20.500.11896/6320
dc.language.isopor
dc.publisherUniversidade do Estado da Bahia
dc.publisher.programGraduação
dc.rightsinfo:eu-repo/semantics/openAccess
dc.rights.urihttp://creativecommons.org/licenses/by/3.0/br/
dc.rights2Attribution 3.0 Brazilen
dc.subject.keywordsCROW
dc.subject.keywordsBoost
dc.subject.keywordsRoteamento
dc.subject.keywordsSistemas operacionais
dc.titleUm algoritmo de roteamento para o Boost.Http
dc.title.alternativeA routing algorithm for the Boost.Http
dc.typeinfo:eu-repo/semantics/bachelorThesis
Arquivos
Pacote Original
Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
Um algoritmo de roteamento_Uisleandro Santos.pdf
Tamanho:
1.85 MB
Formato:
Adobe Portable Document Format
Descrição:
Licença do Pacote
Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
license.txt
Tamanho:
462 B
Formato:
Item-specific license agreed upon to submission
Descrição: