Different Patterns Of Client Server Architecture Computer Science Essay

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

An architectural style, sometimes called an architectural pattern, is a set of principles-a coarse grained pattern that provides an abstract framework for a family of systems. An architectural style improves partitioning and promotes design reuse by providing solutions to frequently recurring problems. You can think of architecture styles and patterns as sets of principles that shape an application.

Client/Server Architectural Style

The client/server architectural style describes distributed systems that involve a separate client and server system, and a connecting network. The simplest form of client/server system involves a server application that is accessed directly by multiple clients, referred to as a 2-Tier architectural style.


Client-server is a computing architecture which separates a client from a server, and is almost always implemented over a computer network.

Historically, client/server architecture indicated a graphical desktop UI application that communicated with a database server containing much of the business logic in the form of stored procedures, or with a dedicated file server. More generally, however, the client/server architectural style describes the relationship between a client and one or more servers, where the client initiates one or more requests (perhaps using a graphical UI), waits for replies, and processes the replies on receipt. The server typically authorizes the user and then carries out the processing required to generate the result. The server may send responses using a range of protocols and data formats to communicate information to the client.

Today, some examples of the client/server architectural style include Web browser-based programs running on the Internet or an intranet; Microsoft Windows® operating system-based applications that access networked data services; applications that access remote data stores (such as e-mail readers, FTP clients, and database query tools); and tools and utilities that manipulate remote systems (such as system management tools and network monitoring tools).

Different Patterns of Client Server architecture:

We use five ways of describing the different c/s

styles based on how they split the three components of any application:

user interface, business or application logic, data management. The five

styles are distributed presentation, remote presentation, distributed

function, remote data management, and distributed data management.

1)distributed or remote presentation

For people whose roots are embedded in the mainframe IBM world,

client-server is essentially distributed or remote presentation. This style

maps a workstation Graphical User Interface (GUI) front end onto an

existing application's text-based screen. This is also called Remote,

Mapping, Front-ending or HLLAPI (High-Level Language Application

Programming Interface). The mode of operation is typically intelligent

workstations intercepting and interrogating text-screen (e.g. 3270) data

streams sent from a host for display in a windowed environment.This is

"frontware" solution, where a GUI front end is added to an IBM/MVS

3270/5250 application and is placed on a workstation. However, most

processing remains on the host or server, with the exception of user

interface translation logic and possibly validation logic. For example,

data from an application program is sent to a 3270 screen program on the

mainframe to be displayed. The merged data is sent to the workstation as

a 3270 data stream.The workstation interprets the data and converts it to

graphical form in a window. (Typically every mainframe screen used by

the application has a corresponding window on the workstation and vice

versa). When the user enters the data in a GUI window, it is transformed

by the frontware application into a corresponding 3270 data format and is sent to the host computer.


1)If you are building a desktop application (Windows Forms application), you might prefer to have a client that sends a request to a program on the server. Deploy the client and server using the client/server architecture style. Use the component-based architecture to decompose the design further into independent components that expose the appropriate communication interfaces. It is recommended that you use the object-oriented approach to improve reuse, testability, and flexibility.

2) Web browser-based programs running on the Internet or an intranet:

use HTTP, FTP, Telnet, email etc.

2) Remote Data Management

In remote data management, the entire application resides on the client and

the data managment is located on a remote server/host. Remote Data

Management is relatively easily to program for because there is just one

application program. The client communicates with the server using SQL,

the server then responds with data that satisfies the query. RDBMS

products that offer remote data management provide a layer of software on

the client to handle the communication with the DBMS server.This style

represents a more traditional LAN database server or file server approach.

Workstations support the presentation and function logic and interface

with the data server through the data manipulation language.Distributed

data management is an extension of remote data management and uses the

distributed facilities of the DBMS to access distributed data in a manner

transparent to users. This is most relevant for architectures having data

spread across several servers and when access to a DBMS on another server is required.

3)distributed function processing

Here the split occurs in the application functionality, one part going to the

client, other to the server. Distributed function applications are the most

complex of the three typologies since two separately compiled application

programs must be developed. Developers must analyze where each

function should reside and what type of dialog must occur between the

two programs. The underlying communications facilities may implement

either a message-based or remote procedure call (RPC) mechanism for

transfer of dialog and data. However, there are many variants of this

typology. One variant of the distributed function style is where data

management and application function occur at both the client and server.

In this instance, data management at the client would include referential,

read-only data. Data frequently updated or accessed by many users would reside on the server.

Note: In each Pattern I describe the differences . I don't describe it in tabular form.