The document discusses the evolution of client computing from mainframe computers to personal computers and client-server models. It describes the key aspects of mainframe-based computing including its inflexibility and high costs. The rise of personal computers and file sharing networks is outlined. Client-server computing is introduced as having multiple tiers including clients, servers, and middleware to connect them. Common architectures like two-tier, three-tier, and n-tier models are summarized. The benefits of distributed computing models as well as future directions are highlighted.
2. 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
3. DUMP TERMINAL
MAINFRAME
STILL PROCESSING
ON MAIN FRAME
PERSONAL
COMPUTERS
FILE SERVER
CLIENT/SERVER
2-TIER
3-TIER
N-TIER
4. 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.
5. 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.
6. 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.
7. 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.
8. 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.
9. 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.
10. 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.
11. 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.
12. 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
13. 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.
14. 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.
15. 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.
16. Elements of C-S Computing
Client Server
Network
Client machine Server machine
17. 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.
18. 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.
19. 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
20. 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.
21. 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.
23. 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 application’s 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.
27. 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.
28. 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.
31. 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
32. 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
33. 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
34. 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.
35. Conclusion
N-Tier systems use component based development techniques combined
with the open industry standards of the Internet, to build powerful cross-
platform 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.