Resources

There are many books and articles about three-tiered architecture.

A good introduction to the theory behind such architectures, as well as some commercial implementations, is The Essential Distributed Objects Survival Guide, written by Robert Orfali, Dan Harkey and Jeri Edwards, and published by John Wiley. This book will introduce you to the concepts of a multitiered architecture, many of which are appropriate for web applications. The book is a bit dated, mentioning OpenDoc and yet ignoring DCOM. Nevertheless, it's a good introduction to these technologies.

A companion book, 3-Tier Client/Server at Work, by Jeri Edwards and Deborah DeVoe, is also published by John Wiley and describes some actual implementations of such architectures.

After reading these books, you might think that every problem should be tackled with a three-tier architecture. This is obviously not the case and depends on how and what you are trying to implement. A good case against web application servers in general, and three-tiered architecture in particular, is written by Philip Greenspun (founder of ArsDigita and author of the excellent Philip and Alex's Guide to Web Publishing, published by Morgan-Kaufmann). You can read it on the Web at http://www.arsdigita.com/asj/application-servers.adp.

Finally, Sun has begun to push Java as an excellent language for three-tiered solutions (which we will investigate in future months). You can read something about this in the first chapter of Mastering Enterprise JavaBeans, by Ed Roman and published by John Wiley, and in the first chapter of Enterprise JavaBeans, written by Richard Monson-Haefel and published by O'Reilly and Associates.