You will learn about the following in this chapter:
How Web sites are organized
Common pitfalls in Web site design
How Web sites are designed with servlets
How Web sites are designed with JavaServer pages
How Web sites are designed with Enterprise JavaBeans (EJB)
How Web sites are designed with Web services
Internet access is considered to be a vital tool in the toolbox of the modern-knowledge worker. Many of us spend a portion of every day using a browser to access Web sites that may be internal to our company or external. We post project status, download software, order supplies, make airline reservations, find articles about new technology, check on the activities of the competition, and so on.
One of the miracles of the Web is that it doesn't matter to us, as users, whether Microsoft Internet Information Server (IIS) or Apache Tomcat powered the Web site that we just accessed. It also makes no difference whether the language that was used to program the site was Java or CGI, and it makes no difference whether Compaq or Sun Microsystems made the server. We also don't care whether the Web site is a well-organized set of programming layers and elements, or a monolithic mass of confusion. The only thing that we care about is whether we were able to book the flight or access the documents that we needed.
As programmers of Web sites, however, we cannot afford to be so cavalier about the design of our sites The choice of server, language, and architecture can seriously impact the cost of creating the site, and the satisfaction that the users are able to derive from it.
In this chapter, we will look at how Web sites have been architected in the past, how they are currently being built, and how they will likely be built in the future. We will start off by covering the basics of how Web sites work. Following that, we will look at the most important ways to measure the "goodness" of a design. Finally, we will cover the most common architectural approaches used in site design.