People have been writing three-tiered database applications for years now and they usually end up trying to solve the same problems over and over. As you saw back in Chapter 1, "Application Architecture Concepts," the basic structure of a three-tiered application consists of a presentation layer, a business logic layer, and a data layer. In a typical business application, you use a database for the data layer and either a GUI front-end or a Web server for the presentation layer.
The business logic layer is traditionally the most difficult to design. You must figure out how your code will interact with the database and with the clients. How you interact with the clients often dictates how you will interact with the database.