[CLIENT/SERVER BASED COMPUTING]
A Seminar Report
M.J.P Rohilkhand University, Bareilly
In Partial Fulfillment of
Bachelor in Computer Application
BCA III Year V Semester
Department of Computer Applications
IFTM, Lodhiput Rajput, Delhi Road, Moradabad
This is to certify that the Seminar Report entitle “Client/Server Based
Computing” has been submitted by “Mr. Mohammad Affan” in partial in
fulfillment for the requirement of the degree of Bachelor in Computer Applications
BCA III Year, V semester for the academic Session 2012-13.
This seminar work is carried out under the supervision and guidance of Mr. “xxx”,
Asst. Professor, MCA department, I.F.T.M, Moradabad and he/ she has been
undergone the indispensable work as prescribed by M.J.P Rohilkhand University,
Deptt. Of Computer Applications
Deptt. Of ComputerApplications
I.F.T.M , Moradabad
This book was born of a need to demonstrate the benefits of distributed alternatives.
Many developers of computer systems are becoming aware of client-server and other
distributed architectures, but have never seen a working example of a system built to
this model. This book provides that working example, using the tools, such as C and
Oracle, that today's developers actually use.
Many organizations are acquiring large numbers of 80386 or other powerful
microcomputers, but often with little idea of how to effectively integrate these with
Oracle and other centralized database managers. In too many cases the micros end up
as glorified terminals, with all the processing still done on the minicomputer or
Other organizations that have tentatively adopted a client-server approach, have
realized little benefit from the potential flexibility inherent in the model. With a
powerful client PC, almost any imaginable user interface becomes possible, while still
retaining access to centralized data under the control of a server. Moving an Oracle
form developed for a character-oriented minicomputer to a PC is only the first step in
realizing the benefits of the client-server architecture.
This book demonstrates the principles of client-server computing using a sample
application that is intentionally a radical and liberating departure from the average
business system. It shows, in simple form, the superior graphic capabilities of a PCbased user interface. More significantly, it shows that PC applications can be
effectively integrated with central databases managed by real relational database
management systems such as Oracle.
A central message of this book is that there are no set limits. You can have the
security, data integrity and multi-user accessibility afforded by a centrally managed
database, and still have the graphic and other sophisticated tools available on PCs and
other single-user systems.
This book had its roots in the spring of 1989 with the second annual Synerlogic
Database Derby. Each competitor was to construct a game, with ideally some
connection to database technology. My winning entry was an early version of the
sample application, SQL meTTTa, included in this book.
Shortly after this I was asked to develop a course on data communications. I decided
to break SQL meTTTa into client and server portions, and discuss the
communications hardware and software required to support the connection. The
course became an introduction not only to data communications, but also to
distributed systems and the client-server model. My efforts on the course also kindled
a desire to write a book demonstrating the benefits of client-server computing.
1. Introduction of client/server based computing
Several years ago, most organizations had mainframe – based computing, in which
mainframe computers were connected to the dumb terminals. These terminals were
unable to do any independent computing and had to totally rely on the mainframe for
data processing. As the year passed, Development of personal computers led to the
replacement of dumb terminals. However, the main processing work continued to be
performed on the mainframe computer. The improved computing capability of
personal computer was ignored to great extent. After due course of time, many
organization started to realize the potential of personal computer started to think about
the possibility of using it either by haring, or by splitting some of the processing
demands between mainframe and the personal computers. Client-server technology is
the outcome of this development.
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
fulfils the request. Although the client/server idea can be used by programs within a
single computer, it is a more important idea in a network. In a network, the
client/server model provides a convenient way to interconnect programs that are
distributed efficiently across different locations. Computer transactions using the
client/server model are very common. For example, to check your bank account from
your computer, a client program in your computer forwards your request to a server
program at the bank. That program may in turn forwards the request to its own client
program that sends a request to a database server at another bank computer to retrieve
your account balance. The balance is returned back to the bank data client, which
displays the information for you.
The client/server model has become one of the central ides of network computing.
Most business applications being written today use the client/server model. So does
the internet’s main programs, TCP/IP.
In marking, the term has been used
1. Networking resources
2. Networking administration
3. Network design
To distinguish distributed computing by smaller dispersed computers form The
“monolithic” centralized computing of mainframe computer, But this Distinction has
largely disappeared as mainframes and their applications have also turned to the
client/server model and becomes part of network Computing. In the usual
client/server model, one server, sometimes called a daemon, is activated and awaits
2. Introduction to server-based computing.
Server-based computing (SBC) is a technology whereby applications are deployed,
managed, supported and executed on the server and not on the client. Instead only the
screen information is Trans misted between the server and client. This architecture
solves the many fundamental problems that occur when executing the applications on
the client itself.
In SBC environments hardware & software upgrades, application deployment
technical support, and data storage & backup are simplified because only the servers
need to be managed. Data and application reside on a few servers rather than on
hundreds or the us ands of clients. PCs become terminals and can be replaced by
simpler, less expensive e and most importantly easier to manage devices called “thin
2.1 Benefits of server-based computing
1. Management- Administrators can deploy, manage and support applications much
more easily because they are held on a central server (or central server farm) and are
managed from a single point, simplifying application access and administration.
2. Device independence – Users can access their desktop and indeed any enterprise
Application from any type of client device
3. Remote Access- Users can access their desktop and enterprise applications from
anywhere on the network, or from home, or on the road.
4. Performance – Server based computing performs better than a web application or
using a client server model. These types of application require a lot of data to be sent
back and forth between server and the client. Because of the advanced compression
ratios achieved by protocols such as ICA, NX and RDP, Sending just the screen
update between the server and client is much faster.
5. Security- Server-based computing keeps all the data on secure server without it
being ‘spread out’ and to the less secure client computers. Furthermore the server is in
the server room, which is far more secure than on the user’s desk.
6. Less prone to viruses and security breaches – Servers are by definition better
managed and because the server OS is more secure, it’s far more difficult for a
computer to get infected by a virus.
7. Eliminated patch management of clients- Clients are not running widows there is
no need to patch the desktop computer on a regular basis.
8. Server-based computing reduces Total Cost of ownership (TCO) by as much as
9. Scalability- New servers and clients can easily be added to the network.
10. increased a availability – it’s easy to make the terminal servers fault to learn and
to perform load balancing. In addition, servers are inherently designed to be
2. 2 Server-based computing advantages in a nutshell.
Server-based computing is currently considered as the most Efficient, flexible and
cost-effective solution for application delivery and administration.
It boasts the following advantages:
Reduces desktop hardware investment
Significantly red uses administration staffing costs
Significantly red uses desktop maintenance costs
Virtually removes the need for desktop upgrades
Removes desktop operating system upgrades
Removes viruses from the desktop
Reduces training costs
Reduces bandwidth costs
Reduces or eliminates the need for remote office servers
Reduces user downtime while waiting for help desk response
Reduces system downtime through better redundancy and disaster recovery
Applications available to all users anytime and anywhere
Quick expansion through ease of deployment
Enables standardization of corporate applications
Reduces risk of data loss since data is centralized and can be more easily backed up
End users will experience improved support
Helps prevent theft of company data
Reduces/Eliminates installation of non productive software such as games
3. What is thin client computing?
Thin-Client Computing is a model where software applications (Like Word, excel
and outlook) and your data are stored on a central server instead of on each endusers machine. The end-user then accesses application and their data through
almost any type of computing device (the “Thin-Cline” itself) which can be a
monitor, laptop, palm device, and so on, on a traditional computer network like
the one you currently have (also called client-server architecture), you have a
server that may store and back up the files, but the use of application like word
and excel rely on the stability and performance of the PC itself to operate. This
type of traditional architecture is what has resulted in the well-worn path of
expensive upgrades and replacement of
PCS (also called “Fat” clients) to run the latest version everyday office application
nether “fat” clients in turn also need “Fat” (or expensive) connection to their serves
contrary to his, thin=client architecture keeps all of the work of running applications
on the servers us inexpensive devices can be used to access application and data. This
also makes for easier network administration freeing.
Your IT staff from performing redundant maintenance and low-level end user
support tasks. This is why thin=client computing results in considerable sect
savings in hardware software, bandwidth, and IT support.
Here are just a few of the benefits of thin-client technology out your technology
coast from 30%- 80$ by eliminating the need for “Fat” (expensive) client
computer and servers.
Free up your IT staff for more strategic work by eliminating a number of lowlevel end-user support issues and problems. Most problem-solving can be
performed remotely without having to go on-site through a feature called
“shadowing” Note dealing with end-user issues accounts for as much as 70% of
the average IT admistrator’s time.
Virtually eradicate virus threats, data loss, and security breaches. After all, which
makes more sense: Keeping your valuable data on pc hard drives scattered around
the worked or keeping that data in a central data center where its managed, backed
up, redundant, and accessible to user through a secure internet connection form
Provide secure reliable access to your network for remote offices, work from hoe
employees, and employees that are frequently on the road. Improve the reliability
of your network and reduce unexpected downtime and costly problems.
Dramatically increase the speed of your network and the productivity of your
workers. Stop and-user from getting themselves – ad your company – in trouble
Thin client server based solutions thin-client computing in quickly gain gin
acceptance because of its ability to solve some of the most vexing IT problems
facing business owner today
3.1 What are thin clients?
A thin client is a general term for a device that relies on a server to operate .it
provides a display device keyboard and mouse And basic processing power in order
to interact with the server it does not store any of the data locally its very thin in
features And functionality hence the term thin client A thin client often does not have
local storage and requires little processing resources Thin client hardware can be a
converted old pc, a dedicated thin client device or simply a new low cost pc with a
thin Client OS installed. The fact that little processing power is needed and that the
hardware can be used for longer periods of time on a verge6years instead of 3 years
means that the capital expenses for desktops is significantly red used.
Most importantly the overhead cost associated with administration
Maintenance support security and installation are significantly lower than with a
3. 2 how does it work?
The server –based computing technology revolves around 3 main components
A multi user operating system that allows multiple users to log on and work
concurrently using applications in separate Protected sessions on a single
Examples of terminal server are Microsoft terminal service 2000/2003 citric
metafand 2X terminal server for Linux.
A thin client, which runs a minimal amount of software, but at least one
program that connect to the terminal server. The thin client and the terminal
server can be running completely different operating systems.
For example-Linux based thin client are currently the most popular way to
connect to a window terminal server on the thin client there will be program
such as desktop. (Linux) or remote desktop connection (window) to connect
the terminal server
A protocol to allow to the terminal server terminal server and thin client to
connect to communicate and send only the key stroke, mouse click and screen
update across the network.
Typically, multiple client program share of service of a computer server program.
Both client program and server program are often part of a larger program of
application relative to the internet, your web browser is a client program that request
(the sending of web page files) from a web browser (which technically is called a
HTTP server) in another computer somewhere on the internet. Similarly, your
computer with TCP/IP installed allows you to make client request for files FTP
servers in other computer on the internet.
Other program relationship models include master/slave, with one program being in
charge of all other program, and peer to peer, with either of two programs able to
initial a transaction.
4. Client -server architecture
client/server refers to a computing in which software component interact with each
other to provide a system that can be designed for and used by multiple users . Let
provides a way of separating the functions of an application into two or more
different parts .
typically in client - server architecture ,the client is a personal
computer while the server is a high performance based mainframe machine
,however , the same machine can work both client and server. LAN practice, it is
common practice to install a server at one end of area network (LAN) and the clients
on other ends. the client is a requesting machine and the server works as
client server technology allows distributed computation, analysis and presentation
between personal computers and one or more high computing machines on network
. LAN this architecture, each function of an application stays on the computer (clientSever) which is more competent of managing the particular function .many services
Nowadays over the internet are based on client server architecture. For example,
Protocol (FTP) uses client–server technology to exchange files between systems.
, aft client requests a file (that exists on another computer) and ftp server (the system
where the file exists) handles the requested by supplying the file to the client
Client-Server Architecture Is Generally of Two Types;
1. 2-Tier Architecture
2. 3-Rier Architecture
4.1. 2-Tier Architecture; Client –server application
initially started with 2-tiered
architecture which composed of a client and an application server. Majority of first
generation client –server systems are built on 2- tier architectures, where a client
provides a front –end graphical user in terrace (Gull) to the user and work According
to the user’s action to perform requests of a server running on A different machine.
The window applications are generally developed using this technology. a common
implementation of 2- tier client server architecture is a fat client –thin architecture, in
which application logic resides in the client machine and server simply reports the
result of queries.
2-tier architecture is where a client talks directly to a server, with no intervening
server. Let is typically used in small environments (Less Than 50users).
The two–tier architecture is like client server application the direct communication
takes places between client and server. There is no intermediate between client
and server here the communication is one to one let see the concept of 2-Tier time
For example: when a student wants to know his grades in 2-tier client-server
architecture, the client application formulates query fires to a database server. The
database server responds with the grades of all students. Now client application used
all the data to calculate the concerned student’s grade, and displays it as per his
request. The 2-tires of 2-tier architecture are.
1. Database (Data tier): the database serves up data based on SQL queries submitted
2. Client Application (Client tier): the application on the client computer son sums
the data and presents it in a readable format to the student.
So, in client application the client writes the program for saving the record in SQL
server and thereby saving the data in the database.
Understanding and maintenances is easier.
Disadvantages:Performance will be reduced when there is more users
A common error in client/server development is to prototype and application in a
small, two-tier environment, and then scale up by Simply adding more user to the
server. These approaches will usually result in an ineffective system, as the server
becomes over whelmed. To properly scale to hundreds or thousands of users, it is
usually necessary to move to three-tier architecture.
4.2 Three-tier architecture: 2-tier architecture work very well when database size is
very small but is performs very poorly in case of large database. This is due to the fact
that, for every query generated by a client, the data base server has to work out large
queries for the client, application to manipulate. This is a very large drain on network
resources. The 3-tier architecture attempts to overcome some of the limitations (Such
as poor utilization) of the 2-tier schemes by making presentation, processing, and data
separate and entities.
The component of 3-tier architecture can be thought in the form of 3-tier such as
1. presentation-tier (client)
2. Functionality-tier (Application server)
3. Date-tier (Data server)
Presentation tier: client sits at presentation tire generates all requests.
Functionality tier: it is the middle tier and implements protocols used for processing
request. It has the functions for client layer and it is used to make communication
between client and data layer. It provides the business processes logic and the data
Data-tier: it has the database. It implement back-end database and send responses to
Typically, middle-tier functionality servers are multithreaded and can be accessed by
multiple clients simultaneously even thought the clients is running separate
applications. Web applications are good examples of 3-tier architecture.
1. Easy to modify without affecting other modules
2. Fast communication
3. Separating the application and database functionality means better load
4. Adequate security policies can be enforced within the server tiers without
hindering the clients.
5. Performance will be good in three tier architecture
4.3 Difference between Two tier architecture and three...
1. Server will have more processing power and disk space than the PC.
2. In three-tier architecture, the data and applications are split onto separate
servers, with the server-side distributed between a database server and an
application server. The client is a front end, simply requesting and
displaying data. Reason being that each in modern two-tier architecture,
the server holds both the application and the data. Server the application
resides on the server rather than the client, probably because the will be
processing either data or application requests, hence a more manageable
system and less contention for resources will occur.
5. Advantages of client/server computing
The client/server computing model provides the means to integrate personal
productivity applications for an individual employee or manager to specific business
data processing needs to satisfy total information processing requirements for the
5.1 Enhanced data sharing
Data that is collected as part of the normal business process and maintained on a
server is immediately available to all authorized users. The use of structured query
language (SQL) to define and manipulate the data provides support for open access
from all client processors and software.SQL grants all authorized users access to the
information through a view that is consistent with their business need. Transparent
network services ensure that the same data is available with the same currency to all
5.2 Integrated services
In the client/server model, all information that the client (user) is entitled to use
available at the desktop. There is no need to change into terminal mode or log into
another processor to access information .all authorized information and processes are
directly available from the desktop interface. The desktop tools-e-mail, spreadsheet,
presentation graphics, and word processing – are available and can be used to deal
with the information provided by application and database server resident on the
network. Desktop users can use their desktop tools in conjunction with information
made available from the corporate system to produce new and useful information.
5.3 Sharing resources among diverse platforms
The client/server computing model provides opportunities to achieve true open system
computing. Application may be created and implemented without regard to the
hardware platforms or the technical characteristics of the software. Thus, users may
obtain client services and transparent access to the services provided by database,
communication, and applications servers. Operating systems software and platform
hardware are independent of the application and masked by the development tools
used to build the application.
5.4 Masked physical data access
When SQL is used for data access, users can access information from database
anywhere in the network. From the local PC, local server, or wide area network
(WAN) server, data access is supported with the developer and user using the same
data request. The only noticeable difference may be performance degradation if the
network bandwidth is inadequate. Data may be accessed from dynamic randomaccess memory (D-RAM), from magnetic disk, or from optical disk, with the same
SQL statements. Logical tables can be accessed-without any knowledge of the
ordering of columns in a table for application program manipulation, without regard
to its physical storage format
6. Client/Server Development Tools
Many constructions projects fail because their developers assume that a person with
a tool box full of carpenter’s tools is a capable builder. To be a successful builder, a
person must be trained to build according to standards. The creation of standards to
define interfaces to the sewer, water, electrical utilities, road, school, and community
systems is essential for successful, cost-effective building. We do not expect a
carpenter to design such interfaces individually for every building. Rather pragmatism
discourages imagination in this regard. By reusing the models previously built to
accomplish integration, we all benefit from cost and risk reduction.
Computer systems development using an SDE takes advantage of these same
concepts: Let’s build on what we’ve learned. Let’s reuse as much as possible to save
development costs, reduce risk, and provide the users with a common “look and feel.”
Selecting a good set of tools affords an opportunity to be successful. Without the
implementation of a comprehensive SDE, developers will not achieve such success.
The introduction of a whole new generation of object technology based tools for
client/server development demands that proper standards be put in place to support
shared development, reusable code, and interfaces to existing systems, security, error
handling, and an organizational standard “look and feel”. As with any new
technology, there will be changes. Developers can build application systems closely
tied to today’s technology or use an SDE and develop application that can evolve
along with the technology platform.
7. Client/Server application
For contrast it is worth mentioning client/server applications as a form of remote
client/server application is a piece of software that runs on a client computer and
makes requests to a remote server. Many such applications are written in high-level
visual programming languages where UI, forms, and most business logic reside in the
client application. Often such applications are database applications that make
database queries computing, although strictly speaking they are not "remote guess" as
I have defined them here. the to a remote central database server (this can, however,
get much more complicated than that and involve other communication methods)
In a database application, data related number crunching can occur on the remote
database server where the processing is close to physical data. An example of a
database query might be to return the sum of a field named "dollar amount" where the
field name year is "2001". There may be hundreds of thousands of records but the
client computer does not have to worry about fetching or sorting through all of them
itself. The database server will sort through that and just return one small record with
the result to the client.
A client / server application can be cross platform if it is written in a cross platform
language, or it can be platform specific. In the case of a cross platform language there
is an advantage that the application can potentially provide a user interface that is
native in appearance to the OS or platform environment it is running under.
Client / server applications, either run locally on a client computer or through
something like Terminal Server, Citrix, or VNC, can work closely with the underlying
OS to provide a rich, powerful, robust, easy to use interface.
By running locally on a client computer applications can also work with other local
hardware such as scanners, bar code readers, modems, removable media, accelerated
video for multimedia, or 3d video acceleration.
Depending on the programming environment in use, applications can be very easy
to develop and maintain, often through a visual interface where commonly needed
functionality is provided through built in objects or properties.
The above screen shot is of Microsoft Access showing its built in table design, form
design, and report design modes. Even semi-complicated reports and forms can be
created with little or no coding and it is easy enough for just about anyone to use. This
is one reason why MS-Access is so popular in corporate environments (And why
Access databases tend to spring up like weeds). When linked to a remote database
server, such as an Oracle or MS-SQL server, it can act as a client / server application.
Multiple users can also open an MS-Access database file over a network share, but
this is not considered Client / Server (and due to performance and data integrity
issues, should be avoided).
An issue of client/server is that the application must be installed on each user’s
computer. Depending on the complexity of the program, the environment it is written
in, and the care the developer took to package the program, this can be as easy as
creating a shortcut to an executable on a shared network drive or it can be as hard as
Installing and configuring runtime software and components on each client computer.
7.1 Types of client/server applications
Client/server application can be categorized by class, based on where most of the
processing is done. Each class requires different hardware and software capabilities
on the client, the server and the network.
7.1.1 Host based processing
The most basic class of client/server application has a presentation layer running on
the desktop machine with all the application processing running on the server/host.
The presentation layer provides the user with an easy-to-use interface the processing
power of the desktop machine is used to produce this interface, which requires a great
deal of machine resources.
Host-based processing application requires less functionality on the client than the
other classes of client/server applications. Because the server/host application is
interacting with the client software in the same manner as the application interfaced
with a non-intelligent terminal these applications also needless coordination.
7.1.2 Client-Based Processing
The client-based processing classes of client/server applications put on the
applications logic on the client machine, with the exception of data validation
routines, which are coded into the DBMS on the server. These applications have been
designed to take advantage of the new technology and architecture, instead of just
simulating host/terminal interactions, as is the case with hosed-based processing
This type of environment requires coordination between the platforms and the
software running on the platforms. The use of the network becomes more
sophisticated. More planning for the entire information structure is required. User can
access data on any node. Many of the host functions, such as security and reliability,
must be built into these new client server applications. Networks, software, and
hardware from a variety of vendors need to communicate.
Most current client/server applications would be considered client-based processing
7.1.3 Cooperative Processing
The third class of client/server applications uses a fully cooperative peer-to-peer
processing approach. In a true cooperative approach, all components of the system are
equal and can request or provide services to each other. The processing is performed
wherever computing resources (devices, CPU, and memory) are available. A single
system could act as a client for other servers and a server for other clients.
Data manipulation may be performed on both the client and the server whichever is
more appropriate. For example to produce a report the data sort might be performed
on the server and the sorted data passed to the client. The client formats the data and
executes any run time calculations, such as row totals or column computations.
Application data may exist on both the client and the server. Local data, as well as
server data, might be used in generating a report. Cooperative processing requires a
great deal of coordination and there are many integrity and control issues that must be
Client-based processing applications do some cooperative processing because data
validation, stored procedures, and triggers may be executed on the server, the server
handles only valid data requests. In addition, the transaction or request is sent over the
network only once, minimizing network traffic.
8. Disadvantages of client server based computing
Client-server architecture is as old as networking, but it has its disadvantages.
Client-server architecture is the original model for networked communications. It is a
simple, well-known procedure dictating the order or contact between two computers.
However, advancements in networking theory have created other models that offer
better performance than the traditional client-server architecture.
The client-server architecture has a few simple rules. First, the client needs a resource
or service and the server provides it. The client always initiates contact with a request.
The server will not do anything unless it receives a request. The client sends a request
and the server replies with a response, which contains the requested service or
resource. Servers can be in contact with many clients simultaneously, whereas clients
contact only one server at a time.
The client-server model optimizes the use of resources by centralizing facilities like
file storage, or applications. This means that failure of the server knocks out a lot of
the network's capabilities. The server owner needs to be vigilant about making
backups, because failure of the server could ruin the business. A client, dependent on
the services of a server, is unusable without a network connection. This requires a
user to have extra expertise in another area of IT -- not only computing, but also
networking. The requirement for backup hardware and software, extra security
measures and specialist technicians can erode the cost benefit of the client-server
The client-server architecture advanced into a three-tier client-server architecture and
then on into a multitier, or n-tier architecture. In this model, a server requires
reference to another server in order to serve the request of the client. An example is a
Web server that refers to a database server in order to deliver content. However, this
model is also vulnerable to failure as the client still only has contact with one server
and it is the responsibility of that server to glean necessary information or resources
form other servers. If the first server is out of action, the client does not get the server.
If the second server is down, the first server cannot complete its duties.
9. Introduction to Client Server Networks
9.1 Client and Server Devices
Client/server networking grew in popularity many years ago as personal computers
(PCs) became the common alternative to older mainframe computers. Client devices
are typically PCs with network software applications installed that request and receive
information over the network. Mobile devices as well as desktop computers can both
function as clients.
A server device typically stores files and databases including more complex
applications like web sites. Server devices often feature higher-powered central
processors, more memory, and larger disk drives than clients.
9.2 Client-Server Applications
The client-server model distinguishes between applications as well as devices.
Network clients make requests to a server by sending messages, and servers respond
to their clients by acting on each request and returning results. One server generally
supports numerous clients, and multiple servers can be networked together in a pool
to handle the increased processing load as the number of clients grows.
A client computer and a server computer are usually two separate devices, each
customized for their designed purpose. For example, a Web client works best with a
large screen display, while a Web server does not need any display at all and can be
located anywhere in the world. However, in some cases a given device can function
both as a client and a server for the same application. Likewise, a device that is a
server for one
Application can simultaneously act as a client to other servers, for different
Some of the most popular applications on the Internet follow the client-server model
including email, FTP and Web services. Each of these clients features a user interface
(either graphic- or text-based) and a client application that allows the user to connect
to servers. In the case of email and FTP, users enter a computer name (or sometimes
an IP address) into the interface to set up connections to the server.
9.3Local Client-Server Networks
Many home networks utilize client-server systems without even realizing it.
Broadband routers, for example, contain DHCP servers that provide IP addresses to
the home computers (DHCP clients). Other types of network servers found in home
include print servers and backup servers.
9.4 Client-Server vs. Peer-to-Peer and Other Models
The client-server model was originally developed to allow more users to share access
to database applications. Compared to the mainframe approach, client-server offers
improved scalability because connections can be made as needed rather than being
fixed. The client-server model also supports modular applications that can make the
job of creating software easier. In so-called "two-tier" and "three-tier" types of clientserver systems, software applications are separated into modular pieces, and each
piece is installed on clients or servers specialized for that subsystem.
Client-server is just one approach to managing network applications the primary
alternative, peer-to-peer networking, models all devices as having equivalent
capability rather than specialized client or server roles. Compared to client-server,
peer to peer networks offer some advantages such as more flexibility in growing the
system to handle large number of clients. Client-server networks generally offer
advantages in keeping data secure.
This essay is not meant to dissuade a CIO from client/server computing but rather to
encourage them to 'look before they leap,' to give it thought and research the available
options. Client/server technology is here to stay and it will change the way the
business world computes However it has to be thought through, as a badly designed
client/server computing environment will only realize the costs and not the benefits.
The clients in the above examples receive a subset of the temperature data collected
by the server application. The server only returns the temperature data currently
collected by the server. Therefore, it does not provide the client with any data between
the last transfers of data. To provide all data to a client, the server must buffer the
data, keep track of what data has been provided to each client, and transfer all the
buffered temperature data to each client.
The parts of the client requests service and the server process client requests and
responds to them. This basic principle remains constant throughout the different
server architectures. However, the complexity of the server varies depending on the
particular application requirements of a client/server system are the client, server, and
The client can be a personnel computer (PC) or the soon to be released network
computer (NC.) The server can be anything from a mainframe to a PC but is usually a
platform suited for a specific application or task. The network could be as simple as
two computers connected by modem or as complicated as several thousand computers
linked by a combination of fiber optics, coaxial cable, and wireless communications.
The client and server might be in the same room (possibly even the same physical
machine) or half a world apart. The difference between client/server computing and
the mainframe computing that it often supersedes is that the client is not a dumb
terminal. The client has its own operating system and can manage inputs (keyboard,
mouse, etc..) and outputs (display, local printer, sound, etc..) without the server. The
server's role is to wait passively for a client to request a service. This distribution of
processing allows the client to offer a more user friendly environment (graphical user
interface, local applications, mouse, etc.) than a dumb terminal and allows the servers
to be less complex an expensive than current mainframe systems. Overall client/server
computing leads to a flexible and dynamic computing environment.
1. Client server computing “Patrick smith Steve”
2. Client server computing “Guengerich”