Presentation is loading. Please wait.

Presentation is loading. Please wait.

Efficiently Distributing Component-Based Applications Across Wide-Area Environments D. Llambiri, A. Totok, V. Karamcheti New York University.

Similar presentations


Presentation on theme: "Efficiently Distributing Component-Based Applications Across Wide-Area Environments D. Llambiri, A. Totok, V. Karamcheti New York University."— Presentation transcript:

1 Efficiently Distributing Component-Based Applications Across Wide-Area Environments D. Llambiri, A. Totok, V. Karamcheti New York University

2 Problem Setting uTwo 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) uIs it beneficial to combine the two trends?  Component middleware allows distributed deployment

3 Distributed Deployment of Component-based Applications uProvides several benefits  faster client response times  increased service availability  replication/redeployment of “hot” components on demand uHowever, 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? uThis study answers these questions  Larger context: Mutable Services project

4 Approach of Study uStudy performance of distributed deployment of prototypical component-based applications  With application modifications as necessary uTarget 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) uEvaluate if applications can be efficiently distributed …  without code changes?  with reusable design rules and optimizations?  in a manner automatable by middleware? NO YES

5 Overview uBackground and methodology  J2EE  Java Pet Store uDesign rules and optimizations  Remote Façade design pattern  Shared Stateful Component Caching (Read-Only Entity beans)  Query Caching  Asynchronous Updates uDiscussion and related work uSummary

6 Background (J2EE) stateless client session state shared state

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

8 Methodology

9 Centralized Application HTTP Remote Client Main Server Edge Server WANWAN

10 Centralized Application (cont.) WAN HTTP

11 Replicating Stateless and Session Components Main ServerEdge Server Remote Client HTTP WANWAN

12 Remote Façade Main ServerEdge Server Remote Client HTTP WANWAN

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

14 Why is Response Time Still High? Main ServerEdge Server Remote Client HTTP WANWAN

15 Shared Stateful Component Caching Main ServerEdge Server Remote Client WANWAN

16 Shared Stateful Component Caching Main ServerEdge Server Remote Client HTTP update WANWAN

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

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

19 Asynchronous Updates Main ServerEdge Server Remote Client HTTP update WANWAN

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

21 Performance Results (RUBiS)

22 Discussion uCan functionality of proposed optimizations be automated by middleware? uApplication dependent optimizations  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) uApplication 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 uEJB caching and clustering uState replication in wide-area environments (Bayou, TACT, database replication) uApplication-level overlay networks (Overcast, RON) uOur 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: uEfficient distribution of component-based applications is feasible  Replication of stateless and stateful components uIt is achieved by applying four identified reusable optimizations  Which can be enforced or automated by middleware uImportant to distinguish service usage patterns  Improves understanding of performance and guides optimizations uExtended technical report:  http://www.cs.nyu.edu/pdsg/projects/mutable-services/ (Publications) http://www.cs.nyu.edu/pdsg/projects/mutable-services/ uSource code is available – send e-mail to totok@cs.nyu.edu


Download ppt "Efficiently Distributing Component-Based Applications Across Wide-Area Environments D. Llambiri, A. Totok, V. Karamcheti New York University."

Similar presentations


Ads by Google