A client-server network application is one in which a client,
thin client or [fat client]
?, which instantiates the [user interface]
? of the application, connects with an [application server]
? or
database system. When a client
connects directly to a
database system, or to a monolithic [application server,]
? the architecture of the application
is a 2-tier architecture. In recent years, it is more common for a
thin client which does not incorporate
[business logic]
?, but only [user interface]
? elements to connect to an [application server]
? that implements
the [business logic]
?, and which transitively
(i.e. in turn) communicates with a
database server, which stores the raw data used by the application. Such
an architecture is called a 3-tier architecture, which is a special case of n-tier architecture.
In general, n-tier architectures may employ a number of distinct services, including transitive relations
between [application server]?s implementing different functions of [business logic]?, each of which may
or may not employ a distinct or shared database system.