The New System Design

Today's client/server applications resemble their ancestors so little, in fact, that they have been given a new name, the multi-tier application, also known as n-tier architecture. In this model, the division between client and server isn't as easily discernible, and often the server becomes a client itself. Not surprisingly, the new system model attempts to distribute computing tasks more evenly between the client and server. Viewed from a purely functional standpoint, most systems will perform the following three main tasks:

Presentation - Business Logic  Data Services 
 

Data services are provided by a structured (SQL, Oracle database) or unstructured store (Microsoft® Exchange, Microsoft® Message Queue), which manages and provides access to the application data. A single application may enlist the services of one or more data stores.

Between these two layers lies the murky domain of the distributed application developer. Business logic, which are the rules that govern application processing, connect the user at one end with the data at the other. The functions that these rules govern closely mimic everyday business tasks, and can be a single task, or a series of tasks.

The three-tier architecture isolates each major piece of functionality. The presentation is independent of the processing rules and business logic, which in turn is separate from the data. This model requires much more analysis and design up front, but greatly reduces maintenance costs and increases functional flexibility in the long run.