You are on page 1of 37

Agenda

Evolution of client computing


Mainframe computers Personal computers
File server

Client Server Computing Two-tier Architecture Three-tier Architecture N-tier Architecture Evolution of c-s computing in future Conclusion

DUMP TERMINAL

MAINFRAME
STILL PROCESSING ON MAIN FRAME

PERSONAL COMPUTERS FILE SERVER

CLIENT/SERVER

2-TIER

3-TIER

N-TIER

Mainframe based Environment


In these networks, one large server (a mainframe computer)

handled all aspects of the network, while each user accessed the main server from a terminal.
The data is processed on the mainframe and then delivered to

the terminal.
The data transfer between the terminal and the mainframe

increases network traffic and slows down requests from other


terminals.

Mainframe based Environment contd


There are some major problems with this approach:
Mainframe system are very inflexible. Centralized DP department was unable to keep up with the

demand for new applications.


high cost of purchase, maintenance and support.

Personal Computer
Through the years, personal computers started to evolve and

replaced these terminals but the processing is still process on the mainframes.
With the improvement in computer technology, the

processing demands started to split between personal

computers and mainframes.

Contd
The first PC networks were based on the file sharing.
In file sharing, the server simply downloads or transfers files

from the shared location to your desktop


File sharing is simple and works as long as shared usage is low,

update contention is very low, and the volume of data to be

transferred is low compared with LAN capacity.

Driving Forces Behind Client/server computing

Forces that drives the move to Client/Server computing widely

can be classified in two general categories based on:

Business perspective.

Technology perspective.

Business Perspective
Basically the business perspective should be kept in mind for

obtaining the following achievements through the system:

For increased productivity. Superior quality. Improved responsiveness. Focus on core business.

Business Perspective contd


The effective factors that govern the driving forces are given below:

The changing business environment. Globalization: The world as a market. The growing need for enterprise data access. The demand for end user productivity gains based on the

efficient use of data resources.

Technology Perspective
Technological advances that have made Client/Server computing practical

by proper use of the following:


Intelligent desktop devices. Computer network architectures. Technical advances like microprocessor technology, data

communication and Internet Database system, operating system and graphical user interface.
Growing cost and performance advantages of PC-based platforms. Enterprise network management.

Client Server Computing


The main emphasis of Client-Server Architecture is to allow large

application to be split into smaller tasks and to perform the tasks among

host (server machine) and desktops (client machine) in the network.

Client-Server Computing is divided into three components, a


Client Process
Server Process Middleware

Client Server Computing contd


Client :
A Client is any process that requests specific services from the server

process. The main operations of the client system are listed below:

Managing the user interface. Accepts and checks the syntax of user inputs. Processes application logic.

Generates database request and transmits to server.


Passes response back to server.

Client Server Computing contd


Server :

A Server is a process that provides requested services for the Client.

The main operations of the server are listed below:


Accepts and processes database requests from client. Checks authorization.

Ensures that integrity constraints are not violated.


Performs query/update processing and transmits responses to client. Maintains system catalogue. Provide concurrent database access. Provides recovery control.

Middleware
Middleware is software that runs between client and server

processes.
It is the "glue" between the client and server, which makes it

possible for them to communicate to each other.


Middleware is written in such a way that the user never

notices it's presence.


It delivers secure and transparent services to users.

Elements of C-S Computing

Client Network

Server

Client machine

Server machine

Client/Server :Fat /Thin


A Client or a Server is so named depending on the extent to which the

processing is shared between the client and server.


The concept of Fat Clients or Fat Servers is given by one of the

important criterion, that is, how much of an application is placed at the client end vs. the server end.
Thin Client :
A thin client is one that conducts a minimum of processing on the

client side .
Fat Client :
Fat client is one that carries a relatively larger proportion of processing

load.

Thin server:
This architecture places less application functionality on the server

machine.
For example file servers.

Fat Servers:
This architecture places more application functionality on the

server machine(s).
Typically, the server provides more abstract, higher level services.

The current trend is more towards fat servers in Client/Server Systems.


The biggest advantage of using the fat server is that it is easier to

manage because only the software on the servers needs to be changed.

Client/Server Application
Has three functional units:
Presentation logic or user interface (for example, ATM

machines)
Business logic (for example software that enables a customer

to request an account balance)


Data (for example, records of customer accounts)

Functional units can reside on the client or on multiple servers

Two-Tier Architecture
In the two-tier architecture, if the Client/Server application has a number

of business rules needed to be processed, then those rules can reside at either the Client or at the Server.
The architecture of any client/server environment is by definition at least a

two-tier system, the client being the first tier and the server being the second.
The Client requests services directly from server i.e. client communicates

directly with the server without the help of another server or server process.
For bigger, enterprise-class problems, use of this 2-tier approach has

generated some problems.

Contd
As the application development is done on client side, maintenance cost of

application, as well as client side tools etc. is expensive.


That is why in 2-tier architecture the client is called fat client. Increased network load: Since actual processing of data takes on the

remote client, the data has to be transported over the network.


This leads to the increased network stress. As all the application logic is executed on the PCs, all these machine have

to be updated in case of a new release.


The procedure is complicated, expensive, prone to errors and time

consuming.

Two-Tier Architecture - Internet

Three -Tier Architecture


Reusability is hard to achieve if pieces of business logic must be distributed

across systems and several databases are involved.


To avoid embedding the applications logic at both the database side and

the client side, a third software tier is inserted in between


In the three-tier architecture, most of the business logic is located in the

middle tier.
In this structure, when the business activity or business rules change, only

the middle tier must be modified.


In three-tier client/server system the client request are handled by

intermediate servers which coordinate the execution of the client request with subordinate servers.

Three -Tier Architecture

Three -Tier Architecture


The Middle Tier can be
A Transaction Processing Monitor A Message Server An Application Server An Object Server

Three -Tier Architecture - Internet

N-tier Architecture
As the 3-tier applications grew more complex, the basic 3 tiers

got further sub-divided into many more logically distinct tiers.


It is mostly the Business Tier that gets further divided into

scalable and easily deployable sub-tiers.

Contd
Some of the benefits in moving from 3-tier to n-tier is as below:
Easier maintenance and scalability of each tier, independent of the

other tiers
Distribution of processing intensive sub-layers on a separate high-end

processor
Development and deployment of each tier in the most suitable

environment and technology.


A lower tier can be used in more than one ways by multiple tiers in the

upper layer for different environments like Web or client application UI.

Multi -Tier Architecture

Multi -Tier Architecture

Advantages of client - server


Centralization - access, resources, and data security are

controlled through the server


Scalability - any element can be upgraded when needed Flexibility - new technology can be easily integrated into the

system
Interoperability - all components (clients, network, servers)

work together

Accessibility - server can be accessed remotely and across

multiple platforms
Ease of application development Lower total costs than mainframe legacy systems. User friendly - familiar point and click interface

Disadvantages of client server model


Dependability - when the server goes down, operations cease Maintenance cost Training cost

Hardware cost
Software cost Complexity

Can cause network congestion

Evolution of c-s computing in future


The future of computing is not the desktop, it's the Internet and the World Wide

Web.
The emerging Internet-standards-based architecture is Network-

Centric Computing -- Applications that only exist on Networks and that can be

made available to anyone, anywhere, anytime.


N-Tier network-based computing allows lightweight thin-client devices such as

Internet Browsers, Web-TV, Smart-Phones, Personal Digital Assistants (PDA's) and Networked Appliances to harness the virtually limitless power of the Internet.
Net-Centric N-Tier architectures are rapidly becoming the cornerstone for

enterprise application development and companies around the world are adopting it in order to get ahead in the emerging net economy.

Conclusion
N-Tier systems use component based development techniques combined

with the open industry standards of the Internet, to build powerful crossplatform applications which lower costs, are easier to maintain, provide greater efficiencies and fuel competitive advantage.
To Infinity and Beyond! The new thing in the N-Tier model of computing is

the ability to distribute independent objects over as many tiers as makes sense and then link them dynamically, as required, to provide unlimited application flexibility.
Thus The future of client / server computing is to dynamically determine

and assign where the computing resources for an application will reside.

References
http://www.scribd.com/doc/19101563/An-Introductionto-Client-Server-Computing file:///I:/ppt/ppt/Introduction%20to%20N%20Tier%20 Architecture%20Design%20Approach%20%20Developer%20Geeks.htm

Thank you

You might also like