EJB is scalable because it can run in cluster environment. What is there in EJB specification and in Application Server that supports this feature ?

Satish Kumar Tedla

  Capability is the current processing capability of an application. Like the No. of requests an application can handle with fair/good performance.

 Scalability is the rate at which the Capability of an application can be increased without any degradation of the current processing capabilities.

 For example, if an application was developed to handle 100 concurrent users with a performance of x. After sometime, the number of users/customers get doubled. In this case, we have to increase the current processing capability of the application with no degradation of the performance. We increase the number of application server instances and cluster them.

 Clustering is not part of EJB or J2EE specification. It is the feature provided by Application Server vendors. Through clustering feature, an app. server would support Load Balancing, High Avaialbility and Scalability. Multiple server instances are created in the Application Server and client requests are distributed among all the server instances. By doing this, we are making sure that a particular server is not overloaded with too many requests and also in case of a server instance going down, other server instances will take over the failed server instance's requests.