Dynamic Analyses for Understanding and Optimization of Enterprise Java Applications
Main Author: | |
---|---|
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 |