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