RDBMS AND CLIENT SERVER COMPUTING

Download Report

Transcript RDBMS AND CLIENT SERVER COMPUTING

CLIENT SERVER COMPUTING
Definition:
A simple definition of CS is
“ server software accepts requests for data from client
software and returns the results to the client”
CLIENT SERVER COMPUTING

Client-Server computing is the logical extension of
modular programming with fundamental assumption
that separation of a huge program into its constituent
parts ("modules") can create the possibility for further
modification, easier development and better
maintainability.
 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
Elements of C-S Computing
a client, a server, and network
Client
Server
Network
Client machine
Server machine
Where Operations are Done
In CS Relationship “most of the application
processing is done on a computer (client side),
which obtains application services (such as database
services) from another computer (server side) in a
master slave configuration
GOAL OF THE CLIENT SERVER

The goals of Client-Server Computing are to allow
every networked workstation (Client) and host
(Server) to be accessible, as needed by an application,
and to allow all existing software and hardware
components from various vendors to work together.

When these two conditions are met, the benefits of
client/server computing, such as cost savings,
increased productivity , flexibility, and resource
utilization, can be realized.
FUNCTIONS OF CLIENT
The client's responsibility is usually to:
 Handle the user interface.
 Translate the user's request into the desired protocol.
 Send the request to the server.
 Wait for the server's response.
 Translate the response into "human-readable" results.
 Present the results to the user.
FUNCTIONS OF SERVER
The server's functions include:
 Listen for a client's query.
 Process that query.
 Return the results back to the client
A typical client/server interaction goes like this:
 The user runs client software to create a query.
 The client connects to the server.
 The client sends the query to the server.
 The server analyzes the query.
 The server computes the results of the query.
 The server sends the results to the client.
 The client presents the results to the user.
 Repeat as necessary.
Typical Client/Server Interaction AND
Butler Pyramid Model of Client-Server
Computing
Layer 1 - Infrastructure Layer:
The infrastructure layer is composed of all the
components which are passive and do not perform a
business function. Examples are computer operating
systems, networks, user interfaces and database
management systems
Layer 2 - Middleware :
Middleware allows applications to transparently
communicate with other programs or processes
regardless of location. It is the means of mapping
applications to the resources they use. It is the key to
integrate heterogeneous hardware and system
software environments, providing the level of
integration
Layer 3 – Applications:
Applications are the active components which execute
work for the organization.
Layer 4 – Repository:
Role of repository is to isolate a business
model/specification from the tools technology which
is used to implement it (client-server strategy).
Layer 5 - Business Models:
Business model should be independent to all the
technologies that are used to implement it, and be
transportable to whichever hardware and software
environment is most appropriate. It will increasingly
be based on object oriented methods
CHARACTERISTICS OF A CLIENT:
 Request sender is known as client
 Initiates requests
 Waits for and receives replies.
 Usually connects to a small number of servers at one
time
 Typically interacts directly with end-users using a
grapical user interface
CHARACTERISTICS OF A SERVER:
 Receiver of request which is sent by client is known
as server
 Passive (slave)
 Waits for requests from clients
 Upon receipt of requests, processes them and then
serves replies
 Usually accepts connections from a large number of
clients
 Typically does not interact directly with end-users
ADVANTAGES OF CLIENT SERVER
COMPUTING







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 cost & User friendly.
DISADVANTAGES OF CLIENT SERVER
COMPUTING





Dependability – when the server goes down,
operations cease.
Lack of mature tool – it is a relatively new
technology and needed tools are lack.
e.g. Automated client software distribution.
Lack of scalability – network operating system (
e.g.. Novell Netware, Windows NT server) are not
very scalable.
Higher than anticipated costs.
Can cause network congestion
EXAMPLES OF CLIENT-SERVER

Clients are most often web browsers.
 Servers typically include web servers, database
servers and mail servers.
 Online gaming is usually client-server too.
 Most transactions that occur on the Internet are
client/server based. Some examples include:
FTP (file transfer protocol), WWW (World
Wide Web) and E-MAIL
Categories of Servers

File Server
 Data Server
 Compute Server
 Database Server
 Communication Server
 Video Server
File Server

File Servers manage a work group’s application and
data files, so that they may be shared by the group.

Very I/O oriented

Pull large amount of data off the storage subsystem
and pass the data over the network

Requires many slots for network connections and a
large-capacity, fast hard disk subsystem.
Compute Server
 Performs Application
logic processing
 Compute Servers requires
 processors with high performance capabilities
 large amounts of memory
 relatively low disk subsystems
 By separating data from the computation processing, the
compute server’s processing capabilities can be optimized
Cluster as Compute Server
Data Server

Data-oriented; used only for data
storage and management
 Since a data server can serve more than
one compute server, compute-intensive
applications can be spread among
multiple severs
 Does not prefer any application
logic
processing
 Performs processes such as
data
validation, required as part
of the
data management function.
 Requires fast processor, large amount of
memory and substantial Hard disk
capacity.
Data
Server
Compute
Server
Cluster as High Availablity Data
Server
Data
Server
Compute
Server
Database Server




Most typical use of technology in client-server
Accepts requests for data, retrieves the data from its
database(or requests data from another node)and passes
the results back.
Compute server with data server provides the same
functionality.
The server requirement depends on the size of database,
speed with which the database must be updated, number
of users and type of network used.
Communication Server
 Provides
gateway
to
other
Computers
 E-mail Server & internet server
 Modest


system requirements
multiple slots
fast processor to translate
networking protocols
LANs,
networks
&
Internet Server
PC client
Internet Server
Local Area
Network
UNIX workstations
Distributed processing
application connects to remote
database
SQ L*
Forms
SQL *Net
TCP/IP
Distributed database application
connects to local database which
connects to remote database
UNIX Server
SQL *Net
TCP/IP
SQL *
Forms
ORACL
E
SQL *Net
TCP/IP
ORACLE
Database Configurations
Intergalactic era
client/server
Ethernet era
client/server
First Wave
Second Wave
Third Wave
Database
servers
File
servers
Distributed
objects
1982
1986
1990
1994
1998
Front-end and Back-end

For software applications, front end is the same as
user interface

In client/server applications, the client part of the
program is often called the front end and the server
part is called the back end