1 / 15

Performance and Scalability of EJB Applications

Performance and Scalability of EJB Applications. Emmanuel Cecchet et al. Problem Addressed. Performance Scalability of J2EE application servers. Test effect of: Application Implementation Methods Container Design Communication Layer Persistence Management

nan
Download Presentation

Performance and Scalability of EJB Applications

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Performance and Scalability of EJB Applications Emmanuel Cecchet et al

  2. Problem Addressed • 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.

  3. What are J2EE and EJB ? • 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.

  4. Figure 1. Enterprise Java Beans in the J2EE framework. Apache; Tomcat; JBoss,JOnAS; MySQL

  5. Persistence Management • 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.

  6. Communication Layers • Test both with and without optimizations.

  7. Types of Persistence • 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).

  8. EJB Container Design (2) • Dynamic Proxy approach ( Jboss ). • Container Classes are generated at run time making extensive use of reflection. • Pre-Compilation ( JOnAS and most commercial implementations ). • Classes are generated during deployment reducing run time reflection.

  9. Application Implementations (5) • 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)

  10. Figure 2. Servlets-only to session bean implementation.

  11. Figure 3. DAO separation with Entity Beans. CMP & BMP

  12. Figure 4. Session façade design pattern. Session Façade & EJB 2.0 local interfaces

  13. Implementation Complexity

  14. Overall Results

  15. Communication Optimizations

More Related