Some of the pitfalls that exist in Web design are ever present, regardless of the technology used. It is this group of problems that we want to examine in this section.
There are a number of measures of "badness" that are valuable whenever we discuss software. Web design software is no exception to this rule. This list follows:
Poor performance Users want to receive quick responses when they interact with your Web site.
Low availability If your site is down too much, users will stop coming to it.
Lack of scalability As a business grows, it needs to be able to easily expand the volume of transactions per hour that it can handle.
Hard to maintain Change is inevitable. All businesses change over time and, therefore, need to update the software that runs the Web site.
Expensive to develop Almost no one has an unlimited budget.
Hard to learn Programmers must be somehow induced to work on your system if you want to keep it up to date. Obscure languages and bizarre architectures make programmers reluctant to work on a system. Just because a technology is used for Web development does not mean that the programmers you want to hire will be willing to work on it.
If attacked individually, this list might overwhelm all but the bravest of programmers. Fortunately, there is an architecture that can be applied to any Java-based Web design that will address all these problems: the Model-View-Controller (MVC) architecture.