Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 64

Ms. Archana Kero, Asst. Prof.

,
Department of CA & IT,
SGRRITS
Client-Server Computing is an environment that satisfies the
business need by appropriately allocating the application
processing between the Client & Server processes. The client
requests services from the server & the server processes the
request and returns the result to the client.
The communication mechanism is a message passing Inter
Process Communication (IPC) that enables(but does not
require) distributed placement of the client and server
processes.
Client-Server is software model of computing, not a hardware
definition.
Client-Server Computing is an environment that satisfies the
business need by appropriately allocating the application
processing between the Client & Server processes. The client
requests services from the server & the server processes the
request and returns the result to the client.
The communication mechanism is a message passing Inter
Process Communication (IPC) that enables(but does not
require) distributed placement of the client and server
processes.
Client-Server is software model of computing, not a hardware
definition.
Components In 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 server machine and client machine in the network.

It is divided into 3 components:-

CLIENT
It is the front end of the application that user sees & interacts with.
This user interface portion of the application validates data
entered by the user & dispatches requests to server programs.
SERVER

The server machine fulfills the client request by performing the


services requested. After the server receives request from client ,it
executes database retrieval, updates & manages data integrity &
dispatches responses to client request. The server based process
may run on another machine on the network and so the server is
provided with file system services & application services.
EXAMPLE-> Simplest form of server are Disk Server & File
Server.
MIDDLE
CLIENT SERVER
WARE
MIDDLE WARE

It allows application to transparently communicate with other


programs or processes regardless of location. The key element of
middle ware is Network Operating System (NOS) that provides
services such as Routing , Distribution ,Messaging & Network
Management Services. NOS uses communication protocol to
provide specific services.
BENEFITS OF CLIENT-SERVER MODEL

1. Divides Application Processing across different machines


 Non –critical data & functions are processed on client machines.
 Critical data & functions are processed on server machines.
2. It optimizes client workstation for data input and presentation.
3. It optimizes server for data processing & storage.
4. It scales horizontally where multiple server are there. Each server
has its own capability or processing power ,therefore ,processing
can be done in distributed manner.
5. It scales vertically where it can be move to more powerful
machines such as mainframe computers, to take advantage of
larger system performance.
6. It reduces data redundancy.
7. Client Server computing provides integrated services to all small
applications
Example->using DDE(Dynamic Data Exchange) & OLE(Object
Linking & Embedding) word applications uses application of
paint brush. A visual basic or Dot net application uses
spreadsheet.
8. Client Server application can be developed without considering
hardware.
9. Data can be accessed with the help of network from DRAM, Hard-
disk or from CD,DVD with same SQL statement. So ,in client
server model you have independence of location for data access
and processing .
10. Users can Logon to client and can use any application provided
that User ID has these privileges. Anyone can use any application
anywhere. So, clients can be set as multiple tasking.
11. The transaction of data, application owning can be monitor,
observed or managed or valuable support is provided from central
location. So, Client server computing supports central
management.
Disadvantages
1. Dependability on Server:-
If one or two servers fails, any operation and valuable services get
stopped.
2. High Client request and high services availability can cause
network congestion.
3. Cost of implementing client server computing is always higher
than the anticipated cost.
4. Client server computing do not uses any special client software to
deal with all issues of client.
EXAMPLE->Software for load balancing, security distribution
of application
Mainframe Computing
Mainframe computing models uses simple workstation as end users
and mainframe computers.
A mainframe(Big Iron) is a high performance computer used for
large scale computing purposes that require better availability and
security than a smaller scale machine can offer.
CLIENT- SERVER MAINFRAME
COMPUTING COMPUTING

 Less expensive than mainframe  Mainframe computing is


computing. expensive since mainframe
computers are very costly.
 The separation of processing in  The separation of processing in
different machine reduces the different machine reduces the
network bottleneck so speed is network bottleneck so speed is
better. better.
 Open & flexible to any  Mainframe computing is less
hardware and software. User flexible because hardware and
are free to choose hardware or software are proprietary.
RDBMS & software from
different vendor.
 On client server computing  In mainframe computing data
data access is very simple, access is given to only
small application like word, application software given by
Excel, repository software. vendor.
Client-Server Architecture
Architecture defines that where application is running, where
database is residing & how client are connected to it.

Types Of Client-Server Architecture:-

1. One-Tier Architecture
2. Two-Tier Architecture
3. Three-Tier Architecture
4. N-Tier Architecture
One-Tier Architecture
In this, we have various dump terminals (without any processing
capability) & without hard disk can be called as Display Terminals.
These terminals are attached to mainframes and mainframes to the
processing.

Client Client

Client Mainframe Client


(Server)

Client All processing


Client
done here
Conversely, individual Terminal can do all the processing &
the centralized machine called file server just stores the file
having no role in processing of data. Again, that could be an
example of One-Tier Architecture.
Two-Tier Architecture

This architecture uses THIN CLIENT(no processing ability) & FAT


SERVER APPROACH or FAT CLIENT & THIN SERVER
APPROACH.
Server store data as well as application programs.

Server Based
Programming

Thin
Client

Data &
Server Application

Fig. Thin-Client Server Deployment


Email retrieval, shared files access,
print sporting
Fat
Client Directory servers

Local Data
& Shared Files
Application Server

Fig. Fat-Client Server Deployment

Two-Tier Architecture is not effective if number of clients are more, it


supports only few users. This architecture is not used where
application is critical.
Advantages
Most tools of Two-Tier architecture are robust.
Works very well in the environment where business rules are
static(rules that determine how data can be created, displayed,
stored & changed).
If a Client-Server Application uses Two-Tier Architecture then
the development of such application is fast as compared to other
architecture.

Disadvantages
Not-suitable where transaction are more & heavy.
Not-suitable where business tools keep on changing.
Three-Tier Architecture
In this model, there exist a middle tier between Client & Server to
improve the overall response time. Whereas in 2-Tier model,
Client directly interacts with the server application without the
presence of any intermediate application.
3-Tier Architecture is divided into 3 layers which must be
logically separate.

1. Presentation Layer at Client


2. Functionality Layer at Application Server
3. Data Layer at Database Server

The 3-Tier model attempts to overcome some of the limitations of


2-Tier schemes by separating presentation, processing & data into
separate distinct entities.
Fat request Data
Client

Client
(User
Interface & Application Server
Running Single Database Server
Request)
Application
(Business Rule &
Processing)

In 3-Tier Architecture generally application run which is


developed preferably in language which are portable, platform
independent & support multithreading.

Client interact with Application using DLL(Dynamic Link


Library), API(Application Programming Interface),
RPC(Remote Procedure Call).
Middle Tier which contain Application Server &
Business rules are basically used for following
functions:-

a)Translate Client request into database query using SQL.

b)Translate the data received from database server to a client


form i.e. report, webpage, etc.

c)Perform high controlled & high performance interaction with


database server.
Advantages
 In 2-Tier any database request is done using SQL whereas in 3-Tier
RPC is used which is more flexible.
 In 3-Tier, client is not required to understand SQL.
 In 3-Tier, resources are allocated in flexible manner.
 Modules of middleware can be reused by server application.

Disadvantages
 With the development of middleware in 3-Tier architecture, the need
of features like network management, fault tolerance, server load
balancing also increased.
 Current available tools are immature & complex.
N-TIER ARCHITECTURE
Application Web
Server1 Server1

Tier1

Tier4

Database Server Load Client


Server Tier2 Tier3 Balance

(eg. Browser)

Application Web
Server2 Server2
Fig. 4-Tier Architecture With Server Load Balancing
The Application program (if large) can be partitioned into various
small application logic among different server which is also a N-Tier
Architecture.
N-Tier can also be implemented by introducing 4 or more dedicated
servers for different tasks.
Eg-> Database Server, Application Server, Web Server, Point server,
File Server

HTTP request Data request


for webpage

Web Server Application Server Database Server


provide to run servlets or CGI running DBMS
webpage to script for Dynamic
client if static content & send the
webpage database request to
database server
So, in n-Tier Architecture we have segregated(divided) each at different
tier which also help in to find error if Web Server is creating
performance problems, another Web Server can be introduced by using
of Server Load Balancing Software.

Benefits of n-Tier Architecture:-

1.Different aspects of the application can be developed & rolled out


independently.
2.Servers can be optimized separately for database & application server
functions.
3.Servers cab be sized appropriately for the requirements of each tier of
the architecture.
BUTLER PYRAMID MODEL OF
CLIENT SERVER COMPUTING
OR
BUTLER GROUP VALUE MODEL

5 Business
Model
4
Store

3 Application

2 Middleware

1 Infrastructure
Proposed by Martin Butler, The Chairman Of Butler Group at Butler
Group Client-Server Forum, London.
This model suggested a framework to implement Client-Server Strategies.
This model has 5 layers called VALUE ADDED LAYER.

LAYER 1(Infrastructural Layer):-


It contains those components which do not perform business function
Eg. Operating System, Network, GUI interface, Database Management
System.

LAYER 2(Middleware Layer):-


It allow applications or program to communicate other program on the
network regardless its location. It map application to resources they will
use.
Eg. Network Connection, Database Connection.
This layer add value through specialization. It is for programming that
allows transparent communication between pre-existing application. It
provide message service.
LAYER 3(Application Layer):-
It is the most active component which is always in use for organization
work. Application can be chosen for variety of vendors.
Two Types Of Applications->
a) Application which are not of great importance are purchased in
bulk. For eg. o/s, antivirus from market as readymade product
b) Applications which are of importance to organization are
developed in house.

LAYER 4(Repository Or Store):-


It is a store where transactions & vital information is stored.
It isolates business model(Top Layer) from tools technology is used to
implement.

LAYER 5(Business Model):-


Independent of all technologies in market that are used to implement it,
they are independent of hardware and software environment.
For eg. any object oriented based business model
CLIENT SERVER DATABASE
COMPUTING
Any database system has THREE SCHEMA ARCHITECTURE. The
main objective of this architecture is to separate application from
physical Database.

Three Level Of Database are:-


1. View Level/ External Schemas- This is the view of data as seen by
user. It may be different for different user. End user work at this
level. Eg. End user retrieve, update, insert, delete data through from,
webpage & see it in form of report.

2. Conceptual Schema/ Logical Level- At this level, DBA


programmers work for them. The database is collection of various
interrelated table.
This level define the structure of table i.e. no of fields, type of data
going to store in field, width of field, constraints of field, domain of
field.
It also define the relationship between the table.

3. Physical Level/ Internal Schema-


At this layer DBA & system administrator works for them.
Database in byte stored at some track & sector of hard disk. This
layer deals with:-
•No of bytes used at Hard Disk.
•Location of data in Hard Disk i.e. which surface, which track
& which sector.
•Level deals with performance tuning of database.
1 2 3 n
External
View ............

View 1 View 2 View 3 View n

CONCEPTUAL SCHEMA

INTERNAL SCHEMA

Stored Database
CLIENT SERVER DATABASE
ARCHITECTURE
Relational Database are mostly used by client-server application where
the server is database server.
Client application makes a database request through SQL statement & in
response to that server runs the query on it & returns the result of query
back to client. According to this architecture, all the application logic
(Software used for data analysis) is residing on the client side, while the
server is concerned with managing the database. Such Client-Server
Architecture is well suited for
 Searching & sorting of large databases as it is a massive job &
requires large amount of disk space, high speed CPU, so database is
kept at server which has all these features.
 Tremendous traffic on network in order to more the millions of
seconds to the clients for searching, so the server needs to have
database logic that enables it to perform efficient searches on behalf
of a client.
TYPES OF CLIENT SERVER DATABASE
ARCHITECTURE
1- Process Per Client Architecture
User interface programs + Application program run on client.
ODBC provides Application Program Interface(API) which allows
client programs to call DBMS.
A client may connect to many DBMS.
In this architecture client can also perform other function (function
of server). For eg. Data dictionary function, optimization of data,
recovery of data
This architecture requires large memory & high speed CPU to
support multitasking & to bear overhead of context switching
between process.

Remote Server Data Files


Clients
2-Multithreaded Architecture
It supports a large number of client running small transactions on server
database.
Best suitable if client request want to fetch data from single address
space(server).
It does not perform well if the queries are large & require to fetch data
from two or more address space.
Multithreaded architecture consumes some amount of memory & CPU
utilization by adding context switching.

Advantage: supports portability.

MAIN FEATURES:
Commonly used for web application.
Uses intermediate layer(web server or application layer).
Web connectivity software & business logic are part of application
running at application server to fetch right amount of data from database
server.
Secure application because encrypts data at server before transmission
& data is decrypted at client.

Client
Server

Data
Client Server base

Client
3- Hybrid Architecture
Provide protected environment for running user requirement without
assigning a permanent process/user.
Provide best balance between client and server.
Hybrid Architecture has 3 components:-
1. Multithreaded Network Listener assigns client connection to
dispatcher which is a process running at server.
2. Dispatcher Process run at server & main work is to keep request
(message) in a Queue called as Internal Message Queue. Dispatcher
also send result(i.e. response from server) back to client.
3. Worker Process are responsible for picking work from message queue
& execute that work & finally places the response(from server) to
output message queue.
L D
I A
S T
T A
E B
N A
E S
R E
Dispatch Server Web Server OR
Pool Process Application
Pool Server
[Shared]
Advantages Of Client-Server Database:-
1. Intelligent Processing:-Processing of data is divided between server
& client. Server performs concurrency control, data searching &
data manipulation. Clients perform business processing functions.
2. Improves Concurrency Control Problem:- RDBMS provides
intelligent lock management system which allows multiple users to
search & read searched files concurrently.
3. Transaction Processing:- Database server adds a complete
transaction processing system[i.e. begin, commit & rollback
transactions] to applications.
4. Referential Integrity & Database Constraints:- To verify & validate
the data in database & maintain relationships between records.
5. Security:- Provides security by giving permissions to application for
accessing the database.
DISADVANTAGES
1. Implementation Is Complex as one needs to deal with middleware &
network.
2. Additional Burden On Database Server to handle concurrency control.
3. If Network Fails Or Has Some Communication Problem, the database
server stands aloof.
Single System Image(SSI)
A Single System Image is the property of the system that hides the
heterogeneous & distributed nature of the available resources &
presents them to user & application as a single unified computing
resource.
SSI means that users have a globalized view of the resources available
to them irrespective of the node to which they are physically associated.

SSI Services & Benefits


1.Single Entry Point:- A user can connect to the cluster as a virtual
host. The system transparently distributes the user’s connection
request to different physical hosts.
2.Single User Interface:- The user should be able to use the cluster to a
single GUI. The interface must have the same look & feel as the one
available for workstations.
3. Single Process Space:- All user process, no matter on which node
they reside, have unique cluster wide process ID.
A process on any node can create child processes on the same or
different node.
4.Single Memory Space:-User have an illusion of a big, centralized
main memory which in reality may be a set of distributed local
memories.
5.Single I/O Space:- This allows any node to perform I/O operations on
local or remotely located peripheral on these devices.
6.Single File Hierarchy:- On entering into the system, the user sees a
single, huge file system image as a single hierarchy of files & directions
under the same root directory.
7.Single Control Point & Management:-The entire cluster & each
individual node can be configured, monitor, tested & control from a
single window using single GUI tools, much like a NT workstation is
managed by task manager tool.
COMPONENT OF CLIENT /SERVER
COMPUTING
CLIENT APPLICATION :
Client application is piece of software run at client computer
and makes a request of service to server.
There application are written high level language client.
Application provide GUI from and business logic reside.
Client application can run in any meantime if written is portable
language like C,C++,JAVA,.NET.

CLIENT :
Client is request program or process send request server via
network. . Client manage local resource keyboard local HD ,
Monitor etc.
Roll of client to business service provided by one or more server.
Role of client is produce the output in a presentable format.
Some time client act as server.
e . g- In a LAN a client (node) can act as client for the user but at
server time act as print server for other multiple user.
Client provide cost effective support for GUI.

SERVICE OF CLIENT:
[A] Request of service
[B] RPC[Remote Procedure Call]
[C] Fax and print service
[D] Window service
[F] Remote Boot Service
[G] Utility Server
[H] Message Service
[I] Application Service
[J] Database Service
[A] Request Of Service:
Sends request to server of service and at server HD( is remote HD
not local) .Using network operating system(NOI).If provide
service called redirection in which this service intercepts client
operating system and than we directs them to operating system.
[B] RPC[Remote procedure call]:
It is protocol using which one program request a service function a
another program located a another program located in different
machine specially both machine one at heterogeneous
environment .
Many RPC provide data translation service also
E g - Translation of the data between machine with different
physical data format.
High quality printer , plotter computer generated fax service can
be given by client.
Request of print are put in a queue.
Request can be issued even if resource like printer is busy.
Status of print queue can be seen by clients . fax and print
service can be given at save time.

[D] WINDOWS SERVICES:


A Client node can open several window at the sometime and can
activate, views , move , size ,hide a particular window .This service
is provided by client operating system . GUI based application
put data into virtual screen and windowing service at client handle
placement and manipulation of application windows (minimize
max, resize , hide , move).
We can create client which do not have HD or any client secondary
storage device so clients boots from server HD or EPROM [chip] is
provided at client to hold basic input output system service.
BIOS service the minimize software is powerful to load as remote
application . Software so that client can available other remaining
service .
E g: of such client are X-terminal.

[F] UTILITY SOFTWARE SERVICE:


Operating system provide local service like , copy , move , compare
and help .all these service run at time.

[G] MESSAGE SERVICE:


Message can be send and receives to function network. Message
service is support by buffering scheduling.
Client communicate server through set of service and API that
creates , send , receives , and format the network service
provide support for of various communication protocol as
NETBIOS ,IPX, TCP/IP , FDDI ,XIS.

[I] DATA BASE SERVICE:


Data request are made using SQL standard language for all
RDBMS.
RPC is a powerful technique for constructing distributed, client -
server based application .The essence of the technology is to allow
programs on different machines to interact to using simple procedure
call or return , semantics , just as if two program were on the same
machine . The two processes may be of the same system ,or they may be
on different system with a network connecting them. That is, the
procedure call used for access to remote service. In client based
application a binding is formed when to application have made or
logical connection are prepared to exchange commands and data . This
CS binding specifies the relationship between a remote procedure and
the calling program will be establish . By using RPC programmer of
distributed application avoid the details of the interface with the
network.
RPC
RPC RPC
Local MODULE MODULE
Application RPC
STUB STUB

local procedure
calls Local response

Local
Response

Client Application Remote server


Application
Figure: RPC MECHANISM
The stub procedure creates a message that identifies
the procedure being call and includes the parameter.

Application APPLICATION

RPC RPC

STUB STUB

TRANSPORT TRANSPORT
PROCEDURE
NETWORK NETWORK
INVOCATION &
RETURN
communication) mechanism allows user to communicate directly.
Tools of RPC comprises of a language a compiler to produce
portable source code.
Some runtime facilities to make the system and network protocol
Transparent to the application procedure.
METHOD FOR EXCHANGING INFORMATION
BETWEEN TWO APPLICATION
1- DDE(dynamic data exchange ):
It introduce in 1979 with a release of windows 2.0 as one of the
method for IPC . Using this one program can communicate
with another running program or one program can control
another program s.
DDE is a still working with a current versions of windows
operating system . The primary function is to allow window
application two share data.
F . e- MS Excel can be link to an HTML document which run at
browser .DDE has mechanism that allows two way passing of
data between the application . To or more application can
exchange data the same time .just like MS Visual basic
application can be linked to Excel sheet any changes made to
visual basic is also reflected in Excel sheet.
1-Name of the Application
2-Name of the File
3- Name of the Item
There are various inbuilt function used by DDE .
1-DDE Advise()- it is used to link an item in the server
application link can be automatic or notified.
2-DDE Initiate()- it establish the channel between clients
application and DDE server. If channel is successful y
establish . This system called returns positive integer which
acts as channel number.
This system call works only when channel is established to
DDE initiate .if DDE request (for some data ) is fullfill the
system call returns true otherwise return false.
4- DDE EXCUTE()-
This system call seen at server end and after DDE initiate and
DDE request().
5- DDE LASTERROR()-
To know the cause of error if any one of the DDE Function or
system call fails. This system calls return zero if all DDE
function are successfully executed otherwise if return a no the
which indicates the type of error.
[i] It is also one of the method for IPC where two different
application running on two different machine can exchange
data or document.
[ii] OLE was released in 1990’s by micro soft in their easily
version of windows 95, windows 98.
[iii] OLE server and client can communicate using system
libraries using virtual function. Tables which consist of
structure of function pointer to the libraries .
[iv] OLE is capable of maintaining active likes between the
document - OLESUR . DLL(Client end library)
OLECTE.DLL (server ends).
1- Object-: It means individual or discrete unit of data supplied
by an application for e g: MS-excel application has many types
of object like worksheet chart machine call or a range of cell.
2- Linking-: The object means that particular object to supplied
to me application when we link the object to me application
we can access the data and can also change it. The object
brings only snapshot of the data and not complete data.
3- Embedding-: Embedding means inserting one file to into
another.
F . e- visual basic application running at the client one access
MS excel worksheet .but change made through visual basic to
Excel sheet do not affect the actual file.
Client running photo editing software . Photo-shop can
access a object (cartoon bmp) made by another application
for e g- paint brush but change made in the object by photo
shop application do not effect the original object . There are
2 version of OLE.
1- OLE 1.0 2- OLE 2.0
1- OLE 1.0-: Released in 1990’s in early version of MS –
Windows along with DDE . DDE was limited amount of the
data between the two application.
Whereas OLE has the capability to transfer complete
document between the two application.
The OLE 1.0 later on become architecture for COM component
object module and DCOM.
OLE 2.0 was some as of 1.0 but it was implemented on the top
of COM instead of using virtual function table.

You might also like