Hardware FixRecommendedDevice not working? Your driver may be the problemCheck updates for common hardware issues.Fix DriversOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PC×
Skip to content
World desk4 min

Client–Server Development Explained: Roles, Tiers, and Trade-Offs

A client/server development system divides application work between software that requests a service and software that provides it. Learn how roles, tiers, and communication choices fit together.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A client/server development system is an application made of cooperating software roles: a client requests a service, and a server provides it by processing the request and returning a response. The roles often communicate over a network, but they do not have to run on separate computers. The term describes how application components interact, not a particular kind of hardware.

What the client and server do

Oracle describes client/server computing as an application development methodology for distributing processing among networked systems. In practical terms, the design divides work between programs that use a service and programs that provide one.

As an Amazon Associate I earn from qualifying purchases.

Client: requests and uses a service

A client is a program that asks another component for information or an operation. It often presents the user interface, collects input, sends requests, and displays the results. A web browser is a familiar client. Oracle’s client/server overview describes the general roles; The Open University’s OpenLearn guide uses a browser-based application to explain them.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Server: provides a service

A server is a program that receives client requests, performs work, and returns data, a result, or status information. It may also manage shared data or other resources. “Server” here means a software role; it does not necessarily mean a dedicated physical machine.

Request, processing, and response

The client initiates an exchange. The server receives the request, processes it, and replies to the client that made it. A browser can request a page or other resource from an HTTP server. In a different example, Microchip’s developer documentation describes a DHCP client requesting an IP address from a DHCP server. Microchip’s client-server programming model overview gives these examples.

Communication between the roles

Components exchange messages through a protocol or another communication interface. A network makes it possible to place clients and servers on different machines, but communication also brings practical concerns: latency, connection reliability, protocol choices, and the representation or conversion of data. These are design considerations to assess, not proof that every implementation has the same constraints.

How a client/server system works in an application

Consider an online bookstore. A browser or application asks for a book listing; the server looks up catalogue information and returns it for display. If the catalogue is centrally maintained, updates can be made in one place rather than separately in each client. The Open University uses this sort of example to explain a two-tier application and the role of a browser.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

This pattern is useful when several clients need access to shared services or data. It can also let developers place work on systems suited to it. Those are potential benefits, not automatic outcomes: the design still depends on how work is divided and whether the communication path performs reliably.

Two-tier and three-tier architectures

“Client/server” describes an interaction pattern: a requester uses a provider’s service. “Two-tier” and “three-tier” describe ways to arrange an application’s functions. Tiers are functional divisions, not necessarily separate computers or a one-to-one map to machines.

Architecture How functions are arranged What to consider
Two-tier The client side communicates with a server side. Presentation and application logic may sit in the client, while data is managed by a database server; some business logic may instead be implemented in database procedures. Check how much logic is in the client versus the data server, and whether that division suits the application and its clients.
Three-tier Presentation, business logic, and data are separated into functional areas. A middle application tier holds business logic between the client-facing presentation and the data tier. The tiers can be managed and deployed separately, but the design must account for communication among them.

Oracle’s architecture overview discusses both arrangements and the placement of application functions.

Thin clients and thick clients

Thin and thick describe how much work the client performs; they do not specify a tier count. A thin client mainly presents information supplied by the server. A thicker client performs more work locally, such as calculations or data transformations. For example, a browser that mostly displays server-provided information is relatively thin, while an application that performs substantial local processing is thicker. The right balance depends on the work clients need to do and the way the application is maintained.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

What to weigh when developing a client/server system

  • Placement of application logic: Decide whether functions belong in the client, on the server or database side, or in a separate application tier.
  • Client responsibilities: Establish whether clients mainly handle presentation or also perform substantial calculations and data transformations.
  • Communication requirements: Choose suitable protocols and interfaces, and account for network latency, reliability, and any data-format conversion the implementation requires.
  • Shared data and services: Consider how many clients use the service, whether data needs central updates, and which resources should be shared.
  • Change management: Consider how client and server interfaces will evolve and how updates will be coordinated.

Some protocol-specific client code, data-format conversion (often called marshaling), and coordinated-change concerns appear in Oracle’s documentation of a pre-CORBA approach. That discussion is specific to the approach it describes; it should not be treated as a necessary property of every modern client/server system. Oracle’s documentation provides that context.

Client/server versus peer-to-peer

In a client/server exchange, one role requests a service and another provides it. In peer-to-peer communication, hosts communicate directly as peers rather than relying on a distinct service-provider role for each exchange. A larger system can combine both patterns, so classify the particular communication relationship you mean rather than assigning one label to every connection in a product. Microchip’s documentation presents peer-to-peer as an alternative architecture.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Windows Errors? Fix Them Before They SpreadFree repair scan
Crashes, No Sound, or Screen Glitches?Free driver scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.