Dynamic Analyses for Understanding and Optimization of Enterprise Java Applications

Bibliographic Details
Main Author: Pantaleev, Aleksandar Vladimirov
Language:English
Published: The Ohio State University / OhioLINK 2008
Subjects:
Online Access:http://rave.ohiolink.edu/etdc/view?acc_num=osu1218572194
id ndltd-OhioLink-oai-etd.ohiolink.edu-osu1218572194
record_format oai_dc
spelling ndltd-OhioLink-oai-etd.ohiolink.edu-osu12185721942021-08-03T05:54:20Z Dynamic Analyses for Understanding and Optimization of Enterprise Java Applications Pantaleev, Aleksandar Vladimirov Computer Science <p>Enterprise Java (J2EE) applications present significant challenges for horizontal scaling due to their large code and dataset sizes, as well as the clustering models of application servers. Our work targets a potential reimplementation of the way Enterprise Java applications are clustered. We propose three dynamic analyses, motivated by a new design for a clustered enterprise application framework, which allow better understanding of existing applications and provide support for migrating such applications to a possible future implementation of this design. The first dynamic analysis traces the flow of primary keys, which uniquely identify certain objects within the business tier of a J2EE application. It identifies the entry points of such data to the business tier, which provides crucial information for the migration of the application towards the new clustered design. We propose an algorithm to achieve this identification and implement the approach through bytecode instrumentation. Our experimental results indicate that the analysis has practical overhead and achieves excellent precision. The second dynamic analysis identifies the entry points of query parameters to the business tier of a J2EE application, as well as certain relationships in which this data participates. This is achieved through a number of enhancements to the algorithm for the first dynamic analysis. The analysis implementation exhibits reasonable overhead and achieves high-precision identification of the entry points of query parameters, as shown by our experimental studies. The third dynamic analysis identifies instances of the Data Transfer Object (DTO) design pattern within a J2EE application. It provides helpful information for the first dynamic analysis, and could be used as a preprocessing step to improve its precision and overhead. In addition, DTO identification is useful for a number of other tasks related to program comprehension, performance optimization, and software evolution. The algorithm investigates the lifecycle of certain objects within the business tier of a J2EE application, and matches that lifecycle against a state transition diagram that describes the behavior of a DTO. The algorithm was implemented through the Java Virtual Machine Tool Interface (JVMTI). Experimental results indicate that the analysis can identify the majority of DTO instances while exhibiting manageable overhead.</p><p>This work is a step towards a new design for clustered enterprise applications. The proposed dynamic analyses solve some key problems for a potential future implementation of services that provide replication at the object level in enterprise application servers. Such services will solve the significant problem of horizontal scalability in Enterprise Java applications.</p> 2008-09-11 English text The Ohio State University / OhioLINK http://rave.ohiolink.edu/etdc/view?acc_num=osu1218572194 http://rave.ohiolink.edu/etdc/view?acc_num=osu1218572194 unrestricted This thesis or dissertation is protected by copyright: all rights reserved. It may not be copied or redistributed beyond the terms of applicable copyright laws.
collection NDLTD
language English
sources NDLTD
topic Computer Science
spellingShingle Computer Science
Pantaleev, Aleksandar Vladimirov
Dynamic Analyses for Understanding and Optimization of Enterprise Java Applications
author Pantaleev, Aleksandar Vladimirov
author_facet Pantaleev, Aleksandar Vladimirov
author_sort Pantaleev, Aleksandar Vladimirov
title Dynamic Analyses for Understanding and Optimization of Enterprise Java Applications
title_short Dynamic Analyses for Understanding and Optimization of Enterprise Java Applications
title_full Dynamic Analyses for Understanding and Optimization of Enterprise Java Applications
title_fullStr Dynamic Analyses for Understanding and Optimization of Enterprise Java Applications
title_full_unstemmed Dynamic Analyses for Understanding and Optimization of Enterprise Java Applications
title_sort dynamic analyses for understanding and optimization of enterprise java applications
publisher The Ohio State University / OhioLINK
publishDate 2008
url http://rave.ohiolink.edu/etdc/view?acc_num=osu1218572194
work_keys_str_mv AT pantaleevaleksandarvladimirov dynamicanalysesforunderstandingandoptimizationofenterprisejavaapplications
_version_ 1719427517803134976