Realsolve Logo
Welcome
 

Scalable Web Applications

The Java and J2EE platform provides an excellent environment for developing scalable web applications. Many application servers, including free open source implementations, offer clustering and even load balancing which can help meet the requirements of large distributed applications.

When designing web applications for scalability, the key factor to consider is how state is managed within a user session, such as an e-commerce shopping cart. A common and very convenient technique is to hold such user state in memory on the server, and access and modify this state when required. There are two implications for this:

The key design consideration is in�finding the right balance between performance and scalability (which is optimised with a purely stateless application) and programming convenience, something to which we are very sensitive in designing scalable web applications.

Our experience is that if sound development practices are applied and appropriate frameworks are used, scaling web application components is not problematic. We find that most most of the scalability constraints for web applications lie in the business layer, in particular in database access.