Optimizações guiadas por dados reais em linguagens de domínio específico para a web

Detalhes bibliográficos
Autor(a) principal: Rebelo, Miguel Alexandre Figueira
Data de Publicação: 2011
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Texto Completo: http://hdl.handle.net/10362/6571
Resumo: Dissertação apresentada na Faculdade de Ciências e Tecnologia da Universidade Nova de Lisboa para a obtenção do Grau de Mestre em Engenharia Informática
id RCAP_809213adf8fde6b2d07d92928fb2be4f
oai_identifier_str oai:run.unl.pt:10362/6571
network_acronym_str RCAP
network_name_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository_id_str 7160
spelling Optimizações guiadas por dados reais em linguagens de domínio específico para a webOptimização baseada em profilingOptimização em compiladoresDissertação apresentada na Faculdade de Ciências e Tecnologia da Universidade Nova de Lisboa para a obtenção do Grau de Mestre em Engenharia InformáticaA utilização de linguagens para domínios específicos tendo em vista um processo de desenvolvimento mais simples e eficiente é um padrão cada vez mais frequente no desenvolvimento de aplicações para a web. Apesar destas linguagens permitirem aos programadores direccionarem o foco de desenvolvimento para as funcionalidades das suas aplicações, estas tendem em produzir aplicações pouco cuidadas a nível do consumo de recursos críticos, limitando a escalabilidade das mesmas. A forma típica de endereçar estas limitações passa por, após o desenvolvimento das suas aplicações, os programadores submeterem as mesmas a testes de desempenho e de carga recorrendo a ferramentas que lhes permitem simular ambientes de utilização reais. Contudo, simular um ambiente idêntico ao que será posteriormente encontrado em produção é um desafio que requer um investimento muito significativo em tempo, competências e atenção por parte da equipa de desenvolvimento, competindo por isso por recursos já escassos no seio de uma organização não dedicada ao desenvolvimento web. Isto leva a que normalmente os programadores apenas consigam identificar os problemas das suas aplicações quando estas, já em execução, começam a falhar. Um dos pontos críticos mais frequentes encontrados em aplicações web é a centralização dos dados em bases de dados, sendo criada uma grande carga sobre o servidor que mantém esses dados. Esta dissertação apresenta uma solução de baixo custo e com ganhos significativos que permite, através da análise de dados reais recolhidos durante a execução das aplicações, guiar os compiladores e os programadores a identificarem as entidades dos modelos de dados das aplicações cujos acessos podem ou devem ser optimizados através de mecanismos de cache. Com esta solução disponibilizámos aos programadores um método fácil e eficiente de identificarem as entidades candidatas à utilização de cache e introduzirem tais optimizações através de mecanismos simples. O risco associado à introdução de cache com a nossa solução é muito baixo, pois foi criado um mecanismo de invalidação que permite que os dados mantidos em cache sejam invalidados sempre que os dados que estes dependem sofram alterações na base de dados. A nossa solução foi implementada e testada sobre um exemplo concreto de uma DSL de alto nível, desenvolvida pela empresa OutSystems, donde se obtiveram resultados que indicam ganhos significativos no desempenho das aplicações finais, melhorando assim a experiência dos utilizadores finais dessas aplicações. Um dos principais objectivos desta solução era diminuir a carga existente sobre o servidor de bases de dados. Este objectivo foi sucedido, tendo sido obtida uma diminuição de pedidos sobre o servidor de base de dados de cerca de 60%(teste realizado em ambiente simulado).Faculdade de Ciências e TecnologiaCaires, LuísFerrão, LúcioRUNRebelo, Miguel Alexandre Figueira2011-12-28T11:20:52Z20112011-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10362/6571porinfo:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2024-03-11T03:37:39Zoai:run.unl.pt:10362/6571Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-20T03:16:52.663688Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse
dc.title.none.fl_str_mv Optimizações guiadas por dados reais em linguagens de domínio específico para a web
title Optimizações guiadas por dados reais em linguagens de domínio específico para a web
spellingShingle Optimizações guiadas por dados reais em linguagens de domínio específico para a web
Rebelo, Miguel Alexandre Figueira
Optimização baseada em profiling
Optimização em compiladores
title_short Optimizações guiadas por dados reais em linguagens de domínio específico para a web
title_full Optimizações guiadas por dados reais em linguagens de domínio específico para a web
title_fullStr Optimizações guiadas por dados reais em linguagens de domínio específico para a web
title_full_unstemmed Optimizações guiadas por dados reais em linguagens de domínio específico para a web
title_sort Optimizações guiadas por dados reais em linguagens de domínio específico para a web
author Rebelo, Miguel Alexandre Figueira
author_facet Rebelo, Miguel Alexandre Figueira
author_role author
dc.contributor.none.fl_str_mv Caires, Luís
Ferrão, Lúcio
RUN
dc.contributor.author.fl_str_mv Rebelo, Miguel Alexandre Figueira
dc.subject.por.fl_str_mv Optimização baseada em profiling
Optimização em compiladores
topic Optimização baseada em profiling
Optimização em compiladores
description Dissertação apresentada na Faculdade de Ciências e Tecnologia da Universidade Nova de Lisboa para a obtenção do Grau de Mestre em Engenharia Informática
publishDate 2011
dc.date.none.fl_str_mv 2011-12-28T11:20:52Z
2011
2011-01-01T00:00:00Z
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 http://hdl.handle.net/10362/6571
url http://hdl.handle.net/10362/6571
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Faculdade de Ciências e Tecnologia
publisher.none.fl_str_mv Faculdade de Ciências e Tecnologia
dc.source.none.fl_str_mv reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron:RCAAP
instname_str Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron_str RCAAP
institution RCAAP
reponame_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
collection Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository.name.fl_str_mv Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
repository.mail.fl_str_mv
_version_ 1799137817547243520