You are on page 1of 2

An Introduction to Client/Server Architecture

A client is any process that requests specific services from server processes.

A server is a process that provides requested services for clients.

Client and server processes can reside in the same computer or in different computers
connected by a network.

Middleware is the software component that transports the request from the client to
the server and the response from the server to the client. Middleware is also known as
the communications layer and is usually associated with a network.

A Real World Analogy


Client/server architecture can be analogized to a customer placing an order at a
restaurant. The customer is the client and the chef is the server. The waiter is the
middleware because he communicates the customer’s request to the chef and brings
the order to the customer from the chef.

Consider an inventory management system that is composed of a front-end


application (or a client) implemented in Visual Basic and a back-end application (or a
server) implemented in Oracle. When a user requires inventory data, he sends a query
(or a request) from the client to the server. The middleware involved between a Visual
Basic client and an Oracle server is Open DataBase Connectivity (ODBC). The
ODBC is responsible for carrying the request from the client to the server and
bringing the results (or response) from the server back to the client.

The ‘/’ in Client/Server Architecture


Middleware is really the ‘/’ in client/server architecture. It is the glue that holds the
client and the server together.

Types of Client/Server Architecture


There are two types of client/server architecture:
1. Two-tier architecture
2. Three-tier architecture

Business Logic
Organizations implement business rules in order to enforce procedures or standards
within the organization. An example of a business rule would be the following, “a
vice president is allowed to issue a cheque for a half a million dollars or above, only
with approval from the chief executive officer.”

Business rules (also known as business logic) are implemented in software through
programming.

Two-tier Architecture
As the name suggests, two-tier architecture consists of two tiers, one of which is the
client and the other, the server.

1
In two-tier architecture, business logic is stored on each client (also known as a fat
client). If the logic changes, in the example above in the “Business Logic” section,
cheques can now be issued by a vice president for a million dollars or above, if
approval of the chief executive officer is granted, the change has to be made on each
of the clients. If the organization has two hundred clients, the change has to be made
on all two hundred of the clients. The re-programming of the business logic on each
client can be a high-skill activity involving software developers. As a result, two-tier
architecture raises issues of scalability and expense.

Three-tier Architecture
In addition to the client and the server, three-tier architecture involves an additional
middle-tier between the client and the server. The middle tier is an application server
which constitutes business logic. The clients (known as thin clients) as a result have
no business logic, instead each client depends on the application server to provide any
necessary business logic.

Any changes in business logic are only made on the application server, so all clients
are relieved of being re-programmed for business logic. In the above example,
whereby the business logic required a vice-president to get the approval of the chief
executive officer before issuing a cheque for a half a million dollars or above was
changed to a million dollars or above, the change would only need to be made once,
on the middle tier, in the application server if the organization has a three-tier
client/server architecture, relieving the need to re-program the two hundred clients.
Scalability is therefore supported, enabling the organization to add more thin clients,
and at the same time enable clients to access necessary business logic from an
application server.

You might also like