Chapter 36: Client/Server Concepts
1193
A tier is a logical construct. It’s a way of segregating an application’s activities. Very often, the tier
is physical as well as logical, but physical tier separation is not a requirement of client-server
applications.
Other database architectures involve two tiers and sometimes only a single tier. Most Access appli-
cations are written as single-tier database applications. Access forms and reports are most often
bound directly to a data source, and very often the specification for extracting the data is contained
within the ControlSource properties of the forms, reports, and controls in these applications.
An unbound Access application that uses VBA code to extract data and populate forms can be con-
sidered a two-tier database application, but even then, reports are almost always directly bound to
a record source in the database.
Also, unless data macros are used for managing data in an Access 2010 table, the data tier in an
Access application is not an active participant in a multi-tier database system.
Two-tier systems
Most client/server database systems have been built as two-tier systems. This type of architecture is
typical of a company running one or only a few applications, against a database across a LAN. The
fundamental characteristic of a client/server system is that the system’s work is partitioned between
the client and the server computers. Typically, the client handles all the user interaction (user
interface, keyboard, mouse, and so on) while the server handles the data access.
In case you’re wondering, splitting an Access database into front and back ends is not considered cli-
ent/server. One of the fundamental characteristics of client/server databases is that processing takes
place on both the client end and the server end of the application. The front-end processing is pri-
marily involved with managing and maintaining the user interface, which involves interacting with
the user, validating the user’s input, and preparing the data for delivery to the database engine. The
server-side processing includes extracting and manipulating data before sending to the client side, as
well as receiving data sent from the client and storing that data in the database tables.
When an Access database has been split into two pieces and the portion containing the tables has
been moved to another computer, no processing ever takes place on the back-end computer. You
don’t have to install software on the “server” computer in order to place the back-end database on
it. Access is, and has always been, a file-based database system. The .accdb file used by an Access
application is really nothing more than a data file, much as a Word document or Excel workbook
is contained within a file. No processing is required on the part of the computer holding the file in
order for Access to use the data stored within the .accdb file.
Three-tier systems
A three-tier computer system divides processing one step farther than two-tier architecture. An
example of a three-tier system is where the Web servers and application servers come into use. In
this case, the resulting architecture is the same as that shown in Figure 36.5, and for all the same
reasons described previously.