Detection of Java EE EJB Antipattern Instances using Framework-Specific Models

Adding flexibility to a process or technology often comes with a price. This holds true in the case of the amendments made to Java EE platform to upgrade to version 5. Java EE 5 allows Enterprise Java Bean (EJB) developers the ability to configure EJBs via Java 5 annotations, through XML deployment...

Full description

Bibliographic Details
Main Author: Stephan, Matthew
Language:en
Published: 2009
Subjects:
Online Access:http://hdl.handle.net/10012/4362
id ndltd-LACETR-oai-collectionscanada.gc.ca-OWTU.10012-4362
record_format oai_dc
spelling ndltd-LACETR-oai-collectionscanada.gc.ca-OWTU.10012-43622013-10-04T04:09:07ZStephan, Matthew2009-04-30T16:08:30Z2009-04-30T16:08:30Z2009-04-30T16:08:30Z2009http://hdl.handle.net/10012/4362Adding flexibility to a process or technology often comes with a price. This holds true in the case of the amendments made to Java EE platform to upgrade to version 5. Java EE 5 allows Enterprise Java Bean (EJB) developers the ability to configure EJBs via Java 5 annotations, through XML deployment descriptors, or through a combination of both. While this adds flexibility to the EJB configuration process, it also comes with the price of an EJB project's stakeholder not being able to ascertain the current configuration of an EJB project until runtime, due to the multiple sources of configuration and the complex overriding rules. Furthermore, to detect errors in configuration or perform antipattern instance detection it is clearly beneficial to have a representation of an EJB project that accurately represents the current configuration of the system. This thesis first presents an EJB Framework Specific Modeling Language (FSML) that formalizes the EJB domain's specific components in the form of a cardinality-based feature model. By having such a model and using and extending the existing FSML infrastructure, one retrieves a Framework Specific Model (FSM) through reverse engineering that represents all the information from the various sources of EJB configuration. By analyzing this FSM, we can create another model that represents the resolved configuration of an EJB project. We employ model filtration to highlight specific sources of configuration. We then use open-source and custom EJB projects to evaluate the EJB FSML and the resolved model. Models admit antipattern instance detection. This thesis presents two methods for running antipattern instance detection on an EJB project using existing EJB antipatterns in literature: 1) queries in Java that execute against the resolved configuration model; and 2) queries written in .QL, an object-oriented query language, against the EJB project's source code. We compare these two techniques qualitatively and propose a new approach based on this comparison that entails modeling the antipatterns and their symptoms within an FSML model declaratively.enFramework Specific Modeling LanguagesAntipatternsDetection of Java EE EJB Antipattern Instances using Framework-Specific ModelsThesis or DissertationElectrical and Computer EngineeringMaster of Applied ScienceElectrical and Computer Engineering
collection NDLTD
language en
sources NDLTD
topic Framework Specific Modeling Languages
Antipatterns
Electrical and Computer Engineering
spellingShingle Framework Specific Modeling Languages
Antipatterns
Electrical and Computer Engineering
Stephan, Matthew
Detection of Java EE EJB Antipattern Instances using Framework-Specific Models
description Adding flexibility to a process or technology often comes with a price. This holds true in the case of the amendments made to Java EE platform to upgrade to version 5. Java EE 5 allows Enterprise Java Bean (EJB) developers the ability to configure EJBs via Java 5 annotations, through XML deployment descriptors, or through a combination of both. While this adds flexibility to the EJB configuration process, it also comes with the price of an EJB project's stakeholder not being able to ascertain the current configuration of an EJB project until runtime, due to the multiple sources of configuration and the complex overriding rules. Furthermore, to detect errors in configuration or perform antipattern instance detection it is clearly beneficial to have a representation of an EJB project that accurately represents the current configuration of the system. This thesis first presents an EJB Framework Specific Modeling Language (FSML) that formalizes the EJB domain's specific components in the form of a cardinality-based feature model. By having such a model and using and extending the existing FSML infrastructure, one retrieves a Framework Specific Model (FSM) through reverse engineering that represents all the information from the various sources of EJB configuration. By analyzing this FSM, we can create another model that represents the resolved configuration of an EJB project. We employ model filtration to highlight specific sources of configuration. We then use open-source and custom EJB projects to evaluate the EJB FSML and the resolved model. Models admit antipattern instance detection. This thesis presents two methods for running antipattern instance detection on an EJB project using existing EJB antipatterns in literature: 1) queries in Java that execute against the resolved configuration model; and 2) queries written in .QL, an object-oriented query language, against the EJB project's source code. We compare these two techniques qualitatively and propose a new approach based on this comparison that entails modeling the antipatterns and their symptoms within an FSML model declaratively.
author Stephan, Matthew
author_facet Stephan, Matthew
author_sort Stephan, Matthew
title Detection of Java EE EJB Antipattern Instances using Framework-Specific Models
title_short Detection of Java EE EJB Antipattern Instances using Framework-Specific Models
title_full Detection of Java EE EJB Antipattern Instances using Framework-Specific Models
title_fullStr Detection of Java EE EJB Antipattern Instances using Framework-Specific Models
title_full_unstemmed Detection of Java EE EJB Antipattern Instances using Framework-Specific Models
title_sort detection of java ee ejb antipattern instances using framework-specific models
publishDate 2009
url http://hdl.handle.net/10012/4362
work_keys_str_mv AT stephanmatthew detectionofjavaeeejbantipatterninstancesusingframeworkspecificmodels
_version_ 1716600172467716096