Emmanuel Cecchet et al

hipshorseheadsΔιακομιστές

17 Νοε 2013 (πριν από 4 χρόνια και 1 μήνα)

97 εμφανίσεις

Emmanuel
Cecchet

et al


Performance Scalability of J2EE application
servers.

`
Test effect of:


Application Implementation Methods


Container Design


Communication Layer


Persistence Management


Using an
ebay

like auction site server benchmark.


J2EE


Java 2 Platform Enterprise Edition


Java API’s to build dynamic content web sites.


Scalable run
-
time infrastructure to host.


EJB


Enterprise JavaBeans


Managed server
-
side component architecture for modular
construction of enterprise applications.


Encapsulates the business logic of the application.


Specifically for multi
-
tier client/server systems.


Containers are responsible for providing:


Component pooling and lifecycle management


Client session management


Database connection pooling


Persistence


Transaction management


Authentication and access control.

Figure 1. Enterprise Java Beans in the J2EE framework.

Apache; Tomcat;
JBoss,JOnAS
;
MySQL


Bean developer decides to manage persistence by:


Bean
-
Managed Persistence (BMP)


SQL is embedded in bean code.


Only database connection pooling and transaction management
services of the container are used.


Container
-
Managed Persistence (CMP)


A deployment descriptor contains a one
-
to
-
one mapping
between bean instance variables and database columns.


The container uses the descriptor to generate the necessary SQL
statements and ensure concurrency control in the database.



Test both with and without optimizations.


Entity beans that map data stored in the
database.


(usually one entity bean instance per database table row)


Session beans that are used to:


Perform temporary operations (stateless session beans).


Represent temporary objects (
stateful

session beans).


1.
Dynamic Proxy approach
(
Jboss

).

1.
Container Classes are generated at run time
making extensive use of reflection.

2.
Pre
-
Compilation
(
JOnAS

and most commercial implementations ).

1.
Classes are generated during deployment
reducing run time reflection.



Java
servlets
-
only (for comparison)


EJB


Stateless Session Beans


Entity Beans


Container
-
managed persistence


Bean
-
managed persistence


Session Façade beans


EJB 2.0 Local Interfaces

(entity beans with only local interfaces and session beans with remote interfaces)



Figure 2.
Servlets
-
only to session bean implementation.

Figure 3. DAO separation with Entity Beans.

CMP & BMP

Figure 4. Session façade design pattern.

Session Façade & EJB 2.0 local interfaces