Non-functional requirements of changeability and adaptability have primary relevance for a large class of software intensive systems that are intended for managing great volumes of data with a high degree of variety in the structure of contents. The attainment of these qualities can be largely facilitated by the assumption of a tailored software architecture. The Reflection architectural pattern is an elegant reusable solution to design software applications based on a meta-model that provides a self-representation of the types used in the domain model. This provides significant benefits in terms of adaptability, maintainability, self-awareness, and direct involvement of domain experts in the configuration stage. However, design by patterns does not account for performance as first-class requirement, and naturally incurs in well-known performance anti-patterns, which may become crucial when volume and variety must meet also velocity. The complexity is further exacerbated when the object oriented domain model is mapped to a relational database. The aim of this dissertation is to address performance engineering of a meta-modeling architecture based on J2EE technological stack, documenting common performance issues connected to the persistence layer and proposing some solutions. In this work are presented four selected performance anti-patterns about object-relational mapping strategies and proposed refactoring solutions. This research project also reports comparative experimental performance results attained by combining the pattern-based domain logic with a persistence layer based on NoSQL paradigm, and proposes techniques to identify and improve performance issues in a J2EE architecture. Experimental results are obtained by applying proposed solutions in the concrete case of a real application of data management in Healthcare context based on Reflection architectural pattern. Those results indicate the gain obtained in several use cases by using refactoring actions in the relational database scenario, and by replacing the persistence layer with NoSql technology (in particular MongoDB) in the secondo scenario.

Performance engineering of multi-level meta-modeling architectures based on J2EE stack / Sara Fioravanti. - (2018).

Performance engineering of multi-level meta-modeling architectures based on J2EE stack

Sara Fioravanti
2018

Abstract

Non-functional requirements of changeability and adaptability have primary relevance for a large class of software intensive systems that are intended for managing great volumes of data with a high degree of variety in the structure of contents. The attainment of these qualities can be largely facilitated by the assumption of a tailored software architecture. The Reflection architectural pattern is an elegant reusable solution to design software applications based on a meta-model that provides a self-representation of the types used in the domain model. This provides significant benefits in terms of adaptability, maintainability, self-awareness, and direct involvement of domain experts in the configuration stage. However, design by patterns does not account for performance as first-class requirement, and naturally incurs in well-known performance anti-patterns, which may become crucial when volume and variety must meet also velocity. The complexity is further exacerbated when the object oriented domain model is mapped to a relational database. The aim of this dissertation is to address performance engineering of a meta-modeling architecture based on J2EE technological stack, documenting common performance issues connected to the persistence layer and proposing some solutions. In this work are presented four selected performance anti-patterns about object-relational mapping strategies and proposed refactoring solutions. This research project also reports comparative experimental performance results attained by combining the pattern-based domain logic with a persistence layer based on NoSQL paradigm, and proposes techniques to identify and improve performance issues in a J2EE architecture. Experimental results are obtained by applying proposed solutions in the concrete case of a real application of data management in Healthcare context based on Reflection architectural pattern. Those results indicate the gain obtained in several use cases by using refactoring actions in the relational database scenario, and by replacing the persistence layer with NoSql technology (in particular MongoDB) in the secondo scenario.
2018
Enrico Vicario
ITALIA
Sara Fioravanti
File in questo prodotto:
File Dimensione Formato  
Fioravanti_phd-thesis_def.pdf

accesso aperto

Descrizione: Versione stampabile in b5 della tesi completa
Tipologia: Tesi di dottorato
Licenza: Open Access
Dimensione 2.26 MB
Formato Adobe PDF
2.26 MB Adobe PDF

I documenti in FLORE sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificatore per citare o creare un link a questa risorsa: https://hdl.handle.net/2158/1119732
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus ND
  • ???jsp.display-item.citation.isi??? ND
social impact