1 / 24

Efficiently Distributing Component-Based Applications Across Wide-Area Environments

Efficiently Distributing Component-Based Applications Across Wide-Area Environments. D. Llambiri, A. Totok, V. Karamcheti New York University. Problem Setting. Two major trends in designing and deploying internet-accessible services Component middleware (J2EE, CORBA CM, .NET)

anais
Download Presentation

Efficiently Distributing Component-Based Applications Across Wide-Area Environments

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. Efficiently Distributing Component-Based Applications Across Wide-Area Environments D. Llambiri, A. Totok, V. Karamcheti New York University

  2. Problem Setting • Two major trends in designing and deploying internet-accessible services • Component middleware (J2EE, CORBA CM, .NET) • integrated execution environment for pluggable components • support for transactions, security, persistence, etc. • Bringing application data closer to clients • caching of static content • web content distribution networks (Akamai) • edge data processing (Akamai EdgeSuite, IBM WebSphere) • Is it beneficial to combine the two trends? • Component middleware allows distributed deployment

  3. Distributed Deployment ofComponent-based Applications • Provides several benefits • faster client response times • increased service availability • replication/redeployment of “hot” components on demand • However, need to address two questions/challenges • Can component-based applications benefit from distributed, edge deployment in wide-area environments? • How this distribution should be done to minimize programming effort from the developers? • This study answers these questions • Larger context: Mutable Services project

  4. Approach of Study • Study performance of distributed deployment of prototypical component-based applications • With application modifications as necessary • Target environment • Java 2 Enterprise Edition (J2EE) framework • Two well-known sample J2EE applications: • Java Pet Store (SUN’s Java Enterprise BluePrints program) • Rice University Bidding System (RUBiS) • Evaluate if applications can be efficiently distributed … • without code changes? • with reusable design rules and optimizations? • in a manner automatable by middleware? NO YES YES

  5. Overview • Background and methodology • J2EE • Java Pet Store • Design rules and optimizations • Remote Façade design pattern • Shared Stateful Component Caching (Read-Only Entity beans) • Query Caching • Asynchronous Updates • Discussion and related work • Summary

  6. Background (J2EE) stateless shared state client session state

  7. Background (Java Pet Store) • Service usage patterns: • Browser: Category, Product, Item, Search • Buyer: Sign In, Add to Cart, Checkout, Commit Order, Sign Out

  8. Methodology

  9. Remote Client HTTP W A N Edge Server Centralized Application Main Server

  10. WAN HTTP Centralized Application (cont.)

  11. Remote Client HTTP Replicating Stateless and Session Components Edge Server Main Server W A N

  12. Remote Client HTTP Remote Façade Edge Server Main Server W A N

  13. Many HTTP requests can be served locally, using only session information Better load distribution Remote Façade (cont.)

  14. Remote Client W A N HTTP Why is Response Time Still High? Edge Server Main Server

  15. Remote Client W A N Shared Stateful Component Caching Edge Server Main Server

  16. Remote Client W A N HTTP update Shared Stateful Component Caching Edge Server Main Server

  17. Benefits of RO Entity beans caching Blocks while updates are propagated to the edge servers Shared Stateful Component Caching (cont.)

  18. Benefits of query caching Blocks while updates are propagated to the edge servers Local caching and better load distribution Query Caching

  19. Remote Client W A N HTTP update Asynchronous Updates Edge Server Main Server

  20. Needs to access RW Entity beans on the main server Does not block on updates Asynchronous Updates (cont.)

  21. Performance Results (RUBiS)

  22. Discussion • Can functionality of proposed optimizations be automated by middleware? • Application dependentoptimizations • Remote Façade • can not be automatically supported by the middleware • enforcement: allow only façade objects to be accessed remotely (all other components use EJB 2.0 local interfaces) • Application independent optimizations • Shared Stateful Component Caching (Read-Only Entity beans), Query Caching, Asynchronous Updates • functionality can be implemented by application servers • component behavior can be specified in the extended deployment descriptors

  23. Related Work • EJB caching and clustering • State replication in wide-area environments (Bayou, TACT, database replication) • Application-level overlay networks (Overcast, RON) • Our approach • application-independent solutions • lightweight techniques • potential for dynamic on-demand distribution and replication

  24. Summary Objective: Analyze/improve performance of component-based applications in WAN Conclusions: • Efficient distribution of component-based applications is feasible • Replication of stateless and stateful components • It is achieved by applying four identified reusable optimizations • Which can be enforced or automated by middleware • Important to distinguish service usage patterns • Improves understanding of performance and guides optimizations • Extended technical report: • http://www.cs.nyu.edu/pdsg/projects/mutable-services/ (Publications) • Source code is available – send e-mail to totok@cs.nyu.edu

More Related