ACM Home Page
Please provide us with feedback. Feedback
Performance and scalability of EJB applications
Full text PdfPdf (307 KB)
Source Conference on Object Oriented Programming Systems Languages and Applications archive
Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications table of contents
Seattle, Washington, USA
SESSION: Scalability table of contents
Pages: 246 - 261  
Year of Publication: 2002
ISBN:1-58113-471-1
Also published in ...
Authors
Emmanuel Cecchet  Rice University/INRIA, Montbonnot, France
Julie Marguerite  Rice University, Houston, TX
Willy Zwaenepoel  Rice University, Houston, TX
Sponsors
ACM: Association for Computing Machinery
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 24,   Downloads (12 Months): 200,   Citation Count: 34
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/582419.582443
What is a DOI?

ABSTRACT

We investigate the combined effect of application implementation method, container design, and efficiency of communication layers on the performance scalability of J2EE application servers by detailed measurement and profiling of an auction site server.We have implemented five versions of the auction site. The first version uses stateless session beans, making only minimal use of the services provided by the Enterprise JavaBeans (EJB) container. Two versions use entity beans, one with container-managed persistence and the other with bean-managed persistence. The fourth version applies the session fasade pattern, using session beans as a fasade to access entity beans. The last version uses EJB 2.0 local interfaces with the session fasade pattern. We evaluate these different implementations on two popular open-source EJB containers with orthogonal designs. JBoss uses dynamic proxies to generate the container classes at run time, making an extensive use of reflection. JOnAS pre-compiles classes during deployment, minimizing the use of reflection at run time. We also evaluate the communication optimizations provided by each of these EJB containers.The most important factor in determining performance is the application implementation method. EJB applications with session beans perform as well as a Java servlets-only implementation and an order-of-magnitude better than most of the implementations based on entity beans. The fine-granularity access exposed by the entity beans limits scalability. Use of session fasade beans improves performance for entity beans, but only if local communication is very efficient or EJB 2.0 local interfaces are used. Otherwise, session fasade beans degrade performance.For the implementation using session beans, communication cost forms the major component of the execution time on the EJB server. The design of the container has little effect on performance. With entity beans, the design of the container becomes important. In particular, the cost of reflection affects performance. For implementations using session fasade beans, local communication cost is critically important. EJB 2.0 local interfaces improve the performance by avoiding the communication layers for local communications.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Rahim Adatia et al. - Professionnal EJB - Wrox Press, ISBN 1-861005-08-3, 2001.
 
2
 
3
Deepak Alur, John Crupi and Dan Malks - Core J2EE Patterns - Sun Microsystems Press, ISBN 0-13-064884-1, 2001.
 
4
Cristiana Amza, Emmanuel Cecchet, Anupam Chanda, Alan L. Cox, Sameh Elnikety, Romer Gil, Julie Marguerite, Karthick Rajamani and Willy Zwaenepoel - Bottleneck Characterization of Dynamic Web Server Benchmarks - Technical Report TR02-388, Rice University, 2001.
 
5
The Apache Software Foundation - http://www.apache.org/.
 
6
Byte Code Engineering Libray (BCEL) - http://jakarta.apache.org/bcel/.
 
7
BEA Systems, Inc - Achieving Scalability and High Availability for E-Business - BEA white paper, http://www.bea.com, 2001.
 
8
Vladimir Blagojevic and Rickard Oberg - Container architecture - design notes - http://www.jboss.org/online-manual/HTML/ch12.html.
 
9
Emmanuel Cecchet, Anupam Chanda, Sameh Elnikety, Julie Marguerite and Willy Zwaenepoel - A Comparison of Software Architectures for E-business Applications - Technical Report TR02-389, Rice University, 2001.
 
10
Willy Chiu - Design for Scalability - IBM white paper, http://ibm.com/websphere/developer/zones/hvws, 2001.
 
11
Distributed Systems Research Group, Charles University - EJB Comparison Project - http://nenya.ms.mff.cuni.cz, 2000.
 
12
Bruno Dumant, Francois Horn, Frederic Dang Tran and Jean-Bernard Stefani - Jonathan: an Open Distributed Processing Environment in Java - Distributed Systems Engineering Journal, vol. 6, 3--12, 1999.
 
13
eBay - http://www.ebay.com/.
 
14
Jakarta Tomcat servlet container - http://jakarta.apache.org/tomcat/.
 
15
JBoss EJB server - http://jboss.org.
 
16
JOnAS: Java Open Application Server - http://www.objectweb.org/jonas.
 
17
Log4j - http://jakarta.apache.org/log4j/docs/index.html.
 
18
MySQL Reference Manual v3.23.36 - http://www.mysql.com/documentation/.
 
19
OptimizeIt Profiler - http://www.borland.com/optimizeit/.
 
20
Sun Microsystems - Dynamic Proxy Classes - http://java.sun.com/j2se/1.3/docs/guide/reflection/proxy.html, 2001.
 
21
Sun Microsystems - ECperf specification - http://java.sun.com/j2ee/ecperf/, 2001.
 
22
Sun Microsystems - EJB 2.0 specification - http://java.sun.com/products/ejb/docs.html, 2001.
 
23
Sun Microsystems - Java 2 Platform Standard Edition 1.4, Performance and Scalability Guide - http://java.sun.com/j2se/1.4/performance.guide.html, 2002.
 
24
Sysstat package - http://freshmeat.net/projects/sysstat/.
 
25
Owen Taylor - J2EE Data Access Objects - The Middleware Company - http://www.middleware-company.com/documents/DAOPattern.pdf, 2002.
 
26
Transaction Processing - http://www.tpc.org/.
 
27
UrbanCode, Inc. - EJB Benchmark - http://www.urbancode.com/projects/ejbbenchmark, 2001.

CITED BY  34

Collaborative Colleagues:
Emmanuel Cecchet: colleagues
Julie Marguerite: colleagues
Willy Zwaenepoel: colleagues