70 likes | 209 Vues
In today's rapidly evolving technology landscape, middleware is converging with web application servers, raising new demands from the Internet and Java. This exploration examines the integration of web servers with middleware, highlighting the benefits of efficient session handling, load balancing, and performance. Key topics include relaxed durability and consistency, in-memory data management, and innovative process models. We also analyze the implications of state management and object lifetimes in distributed environments, addressing scalability concerns and the importance of caching strategies for cluster-based systems.
E N D
Web Application Servers Dean Jacobs BEA WebLogic
The Right Question • Middleware is converging • Web Application Servers = TP Monitors • What new demands do the Internet and Java place on middleware?
System Architecture Database Browsers Web Servers Application Server Cluster
Web Servers • Web Servers not integrated with middleware • Adds an extra server-side hop with no benefit • Obviates the front line of session concentration • Web Servers integrated with middleware • Standard Web Servers must be supported • Front line session handling - load balancing and transactions - must occur in Web Server plug-ins
Relaxed Durability/Consistency • Trade durability or consistency for performance: avoid disk accesses by keeping state in memory. • Shopping Cart Stored as browser-session state in a servlet engine. To avoid writing backups to disk, replicate in-memory on a secondary host. • Catalog Data Changes infrequently and may be briefly out-of-date. To avoid disk reads, cache on many servers in a cluster. Update anywhere and lazily flush the caches.
Fat Processes with Threads • Radically different process model: 2-3 processes per host, each a logical machine • Multiple resource managers per process • Multiple threads accessing each resource • Threads are not isolated from each other
Object Lifetime In-Memory • CORBA relies on the programmer to release objects • Component models (EJB) prescribe object lifetimes • Programming language object models (RMI) require DGC. How can that scale?