Penalty to what degree JEETuningExpert recommendations lead to better analysis was obtained by comparing the time metrics of the origi- performing applications.
This goal entails evaluating the effective- nal application output of activity 3 with the time metrics of the ness of our approach to detect anti-patterns and the performance application plus monitoring components output of activity 4. The second goal is to assess the performance overhead of the information gathering 5.
- Lectures on Alain Connes noncommutative geometry and applications to fundamental interactions?
- Detection of Ischemic Myocardium with Exercise.
- The killer of little shepherds : a true crime story and the birth of forensic science.
- Archaeology: Discovering the Past!
Below we describe the experimental methodology. Section 5. Avitek Medical Records the case studies that were tuned employing our approach. This is easily tients, doctors, and administrators to manage patient data. Fur- reproduced when a user logs in with administrator privileges, be- thermore, it comes with pre-loaded data for testing purposes. Then, the more sold items, and prescribe medicine to patients.
First, redundant JNDI lookups throughout this chase order. The Pet Store application material- in the right side of Fig. The occurrences of this anti-pattern mented with a cache. This scenario is triggered when the user navigates to 5.
The Libra Book Store is an open source simple book store appli- Third, the developer found two occurrences of the sending cation, aimed at creating a springboard for those interested in excessive amount of objects anti-pattern. The Libra applica- PatientByLastNameWild String service accepts a regular expres- tion provides users with basic shopping functions in the bookstore sion as input, which is used for matching patient last names.
In addition, the searchPa- found that it suffers from four occurrences of Java EE performance tients Search method calls the former method, therefore it suffers anti-patterns. To do this, he looked for classes that access to the from the described problem. JNDI server.
Afterward, he searched for classes that make redun- dant lookups without using a cache. As a result, three classes were 5. The Java Pet Store 1. Microsystems to illustrate how the Java Enterprise Edition 5 Plat- Second, the sending excessive amount of objects anti-pattern form can be used to develop applications.
J2EE performance tips
The Pet Store application was found within the Libra application. The method search String looks like an e-commerce site specialized in selling pets, whose from SearchBookLocal class, matches a sub-string given as input main functionalities are: a customer can browse the catalog, place and the titles of the available books.
Then, the method returns items to purchase into a virtual shopping cart, create and sign in to the books whose titles contain the sub-string. This anti-pattern takes place when a user performs a search from The developer manually crumbled the source code of Pet Store the main page of the application site. First, two occurrences of the sending exces- 5.
Anti-pattern detection effectiveness sive amount of objects anti-pattern were found. An occurrence of this anti-pattern takes place when a user browses purchase orders. JEETuningExpert automatically detected all the anti-patterns Here, if the number of orders is large, then the user obtains a large present in the aforementioned applications.
Initially, the overall result set.
With respect to Libra, all anti-patterns then supplied the tool with this new session. However, we decided were found, but the tool failed in the detection of one anti-pattern to change the threshold in the corresponding rule rather than re- in MedRec and another in Java Pet Store. These results stem from capture the user session, because this is a more realistic way to the fact that step 2 of our evaluation process was wrongly con- get this done in real world scenarios. In the case of MedRec, the undetected anti-pattern takes place when a user, who has administrator privileges, executes the 5.
OPTIMISING THE PERFORMANCE OF ENTERPRISE JAVA APPLICATION
As the monitored user had no administrator privileges, the functionality associated with the 5. Avitek Medical Records anti-pattern was not captured at step 2 of our evaluation process. We have empirically assessed the overhead imposed by the Clearly, JEETuningExpert did not have the information needed to components in charge of building the execution log for MedRed.
Then, to correct this problem we To do this we employed the evaluation process described in Sec- monitored the application when an administrator invoked the tion 5. As a result, the tool properly detected the application along with the monitoring components.
The cap- the occurrence of the anti-pattern. Afterward, we found With respect to Pet Store, the tool failed to detect an occurrence out the average response time for each request, as shown in Fig. The rule the application varied throughout the different requests. In particular, we initially used a value EJBs or not. Intuitively, the more the EJBs, the more the indirections for this threshold that was bigger than the real quantity of Pur- and, at the same time, the higher the overhead. Again, instead of being associ- 9, 13, 17, 23, 24 and 30 than the rest of its offered functionalities.
To correct this problem, we adjusted the ularity. Afterward, the number On the other hand, the monitoring components slightly anti-pattern was automatically detected by JEETuningExpert.
In fact, the aver- Alternatively, we could have monitored a different user session, age overhead per request was Following the opposite in which the user builds more PurcharseOrderEJB instances, and analysis, for those requests that present scarce EJB activity, the im- Averaged response time [miliseconds] less is better 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 Request Original app.
Tuned app. Original app. Comparison of response time per request in MedRec. Instead, requests 1 and 3 were notably improved. By eradicating the anti-pattern these re- duced times the captured session on the tuned variant of quests showed an average speedup of These results are shown in Fig. The most outstanding improvements took place within those requests that used to ex- 5.
The Libra Book Store change excessive amount of objects. Con- ing the evaluation process explained in Section 5. With the original version of the this session under three different experiments. Then, we used the application plus the monitor- only performed 1 remote access after removing this anti-pattern.
Finally, we used the As the reader can see in Fig. The cause of this drop in the values occurrences. It is worth noting that this sampling error holds for However, the applied refactorizations consid- the rest of the time measurements as well. The response times of them decreased Pet Store application by the monitoring components and the sub- sequent refactorizations, respectively. Again, to do this we em- 5.
Summary ployed the evaluation process described in Section 5. In other words, a bar stands for the sum of the averaged re- the application along with the monitoring components. Instead, sponse times per request. On the other hand, though the application was studies, decreasing the average response times by Comparison of response time per request in Pet Store.
Comparison of response time per request in Libra. Sum of averaged response times [miliseconds] Application with monitors Application less is better On the other hand, the components in charge of mon- the performance of each application. As shown in Section 5.
On the other hand, the recommendations made by the problem-solution report activity have empirically shown to improve upon the performance 6. Conclusions of the three case studies, decreasing their response times by As our approach in turn, propose how to solve them. Broadly the uttermost goal of relies on removing unnecessary remote invocations, redundant the approach is to imitate a team of performance engineers, who JNDI lookups and excessive amount of returned objects, it is rea- gather information about the performance of an application, ana- sonable to expect at least a small performance advantage when lyzes it and presents possible courses of actions to correct found applying the recommendations made by JEETuningExpert, versus problems afterward.
An experi- anti-patterns knowledge base. We are planning to incorporate more ing for anti-patterns. Then, using our tool we have automatically anti-patterns to the knowledge base.
- War on the Frontier: The Trans-Mississippi West;
- Lasers in Chemistry;
- Reladed Posts.
More- the approach with three well-known applications, we will further over, we measured the impact of the using JEETuningExpert on measure the impact of its recommendations on more applications. Applying aspectj to j2ee application development. IEEE Software, 23 1 , 24— Expert easy to adopt and use.
J2EE performance tips
Design-level performance prediction of plug-in for the Eclipse SDK, which will guide programmers when component-based applications. Liu, Y. Predicting the performance of middleware- based applications at the design level. Marinescu, F. EJB design patterns: Advanced patterns processes and idioms. Altendorf, E.