/
06_sexto_capitulo.tex
11 lines (6 loc) · 2.55 KB
/
06_sexto_capitulo.tex
1
2
3
4
5
6
7
8
9
10
11
O objetivo principal deste trabalho foi mostrar que, a partir da utilização dos novos recursos, sobretudo os de programação funcional, propostos pelas novas especificações da linguagem C++, é possível construir uma biblioteca de mapeamento objeto relacional com uma interface de configuração mais amigável para o desenvolvedor. Para provar esta teoria foi desenvolvida a biblioteca ORM4Qt, uma biblioteca ORM voltada para utilização integrada ao \textit{framework} Qt.
A biblioteca desenvolvida mostrou-se com um nível de facilidade de uso mais alto, sobretudo na parte de configuração do mapeamento, quando comparada com duas existentes no mercado, a ODB e a QxOrm. Um dos motivos para isso acontecer consiste no mecanismo de reflexão desenvolvido especificamente para a biblioteca, que permite a configuração do mapeamento e inserção de metadados com uma interface bem parecida com o mecanismo de anotações presente nas linguagens JAVA e C\#.
Apesar de apresentar uma interface de configuração mais simples, a biblioteca desenvolvida não pôde ser comparada diretamente com outras em quesitos como o suporte a mapeamento de mecanismos mais avançados da orientação a objetos (como herança e polimorfismo, por exemplo). Isso se deve ao fato de o suporte a tais mecanismos não ter sido desenvolvido por não fazer parte do escopo principal do trabalho. Porém, em futuras versões da biblioteca o suporte a tais mecanismos será adicionado, e, então poderão ser efetuados testes de comparação.
Também não foi comparado o desempenho das bibliotecas em relação ao tempo de resposta e utilização de memória, devido também ao fato da diferença da quantidade de mecanismos implementados entre as bibliotecas existentes e a desenvolvida. Porém, ao utilizar o aplicativo ``Minhas Apostilas'', que foi desenvolvido para fins de testes entre as três bibliotecas, a diferença de tempo de resposta é imperceptível ao usuário.
A biblioteca ORM4Qt apresenta potencial para se tornar uma biblioteca ORM tão completa quanto as utilizadas para testes de comparação. Para que isso seja possível é preciso ampliar o mecanismo de reflexão de forma a detectar a utilização de herança nas classes mapeadas e reconstruir toda a camada de armazenamento para suportar operações no banco de dados que envolvam mais de uma tabela, ação necessária para suportar o mapeamento de composição e associação. Estas melhorias podem ser implementadas em trabalhos futuros.
Outra sugestão de trabalho futuro consiste na utilização do mecanismo de reflexão criado, para implementação de mecanismos de serialização de objetos para arquivos XML e JSON.