| < Free Open Study > |
|
Performance and scalability are two important issues that you will need to consider when building enterprise class commercial web applications. For web applications:
Performance is a measure of the time elapsed between sending a request to a server and receiving a response
Scalability is a measure of the number of concurrent users and sessions a system can support without an unacceptable deterioration in the performance of the application
Why are issues important? The simple answer is that the speed at which the web applications respond to user requests is an important factor in the commercial success of those applications. Most clients are not prepared to submit a form or a click a link and wait for an unreasonable amount of time for the response. The reality is that they may move to a different website. Therefore it is important that your applications should provide split-second responses, and that performance shouldn't deteriorate when the user load on your applications increase.
In this chapter, we will cover the various factors involved in building high-performance and highly-scalable J2EE web applications. We'll begin by discussing good coding practice for writing servlets (although many of the tips we recommend apply equally when we create any Java class). Then we'll look at how we can design applications to improve their performance and scalability, by making correct use of:
Handling business logic
Data access
Caching data
Session management
Asynchronous communication
Deployment strategies to improve performance, such as load balancing and clustering
After we have considered these issues we'll examine some tools that we can use to stress test and analyze performance and scalability. We'll finish by building a custom performance monitor using filters.
| < Free Open Study > |
|