CLIENT SERVER COMPUTING
Client/Server Computing: DBMS concept and architecture, Single system image, Client Server architecture, mainframe-centric client server computing, downsizing and client server computing, preserving mainframe applications investment through porting, client server development tools, advantages of client server computing.
Definition Client/server describes the relationship between two computer programs in which one program, the client, makes a service request from another program, the server, which fulfills the request.
Peer-peer network
computer network in which each computer in the network can act as a client or server for the other
computers in the network, allowing
shared access to files and
peripherals without the need for a
central server
Peer-peer network
Dis-advantages
No central server No centralization Lacking management Back up and recovery possibility Up gradation and scalability Accessibility and security
Peer-peer system vs. client/server
Client/server design- classical model
Forces that drive the Client/Server
The general forces that drive the move to client/server computing are: The changing business environment. The growing need for enterprise data access. The demand for end user productivity gains based on the efficient use for data resources. Technological advances that have made client/server computing practical. Growing cost/performance advantages of PCbased platforms.
Client/Server Architecture
The client/Server architecture is based on hardware and software components that interacts to form a system. This system includes three main components: Clients Servers Communication middleware
Client/Server Architecture - client
The client is any computer process that requests services from the server. The client is also known as the front-endapplication, reflecting the fact that the end user usually interacts with the client process.
Client/Server Architecture - server
The server is any computer process providing services to the clients. The server is also known as the back-end application, reflecting the fact that the server process provides the background services for the client process.
Communication middleware:
It is any computer process(es) through which clients and servers communicate. The communication middleware, also known as middleware or the communications layers, is made up of several layers of software that aid the transmission of data and control information between clients and servers.
CLIENT SERVER ARCHITECTURE
Distributed Processing Environment Distributed Database Environment Comprehensive Communications Networks Open Systems for information sharing Friendly User Interfaces Standardized communications protocols Shared responsibility
CLIENT SERVER ARCHITECTURE
Client Processes request services Server Processes provide services Client and server processes execute on different systems Clients and servers can negotiate the terms and conditions of service
Single System Image
To implement and operate a modern telecommunications network that creates a seamless utility for all telecommunication applications from desktop to desktop Definition: In distributed computing, a single
system image (SSI) cluster is a cluster of
machines that appears to be one single system
Single System Image
Within the single system image environment, a business system user is totally unaware of
where data is stored, how client and server
processors work, and what networking is involved in gaining connectivity.
How is this transparency accomplished?
Single System Image
Every application that the user accesses provides a
common look and feel. Help is provided in the same way by every application. Errors are presented and resolved in the same way. Each user has access to all services for which
he or she has a need and a right to access
The security layer is invisible to the authorized and impenetrable to the unauthorized Navigation from function to function and application to application is provided in the same way in every system
Single System Image & client/server computing
Single system image is best implemented through
the client/server model Client/server computing is an environment that satisfies the business need by appropriately allocating the application processing between the client and server processors Communication mechanism: IPC, InterProcess Communication
Information Sharing approaches:
Three approaches to organizational information sharing:
Mainframe Centric:
PC Server-Centric: Client Server:
Mainframe-Centric:
Use terminal emulators or hardwired terminals.
Non GUI proprietary interface. Asynchronous (all cursor positions and key positions are transmitted to and from the mainframe). Tight administrative control.
Mainframe-Centric Client/Server Computing
Uses the presentation capabilities of the
workstation to front-end existing applications The data is displayed or entered through the use of
pull-down lists, scrollable fields, check boxes, and
buttons The user interface is easy to use, and information is
presented more clearly
PC-Server-Centric:
PCs share common applications. PCs share data (files).
PCs share resources (printer, etc.).
Each application presents its own user interface. Commands and queries processed by PC. Downloading of files (high volume network traffic).
Client Server:
Desktop intelligence. Client responsible for User Interface. Better sharing of server resources. Optimal network utilization. Separation of communication and operating
system processes from the user (easy maintenance).
Downsizing & client/server computing
Benefits of rightsizing are reduction in cost and/or increased functionality, performance, and flexibility in the applications of the enterprise Significant cost savings usually are obtained from a resulting reduction in employee, hardware,
software, and maintenance expenses
Downsizing & client/server computing
Rightsizing and downsizing are strategies used with the client/server model to take advantage of the lower cost of workstation technology Rightsizing and upsizing involve the addition of more diverse or more powerful computing
resources to an enterprise computing environment.
Advantages of Client/Server Computing
Enhanced data sharing
Integrated services Sharing resources among diverse platforms Data interchangeability and interoperability Masked physical data access
Location independence of data and processing
Centralized management
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.