no audio available

click for audio related to this page


Lesson 2: Establishing a Client/Server Environment

Large networks are based on the client/server model. This lesson describes how to set up and work on a network that has servers and client workstations.

Centralized vs. Client/Server Computing

Early networks were based on the centralized-computing model. Usually, 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. Because the centralized computer handled all the high-level computing chores, the terminals were typically inexpensive, low-performance computers. Today, thanks to improvements stemming from the rapid evolution of the personal computer, the old centralized model is being replaced with the client/server model. Today's users have the full power of a mainframe computer at their fingertips, with the added advantage of an interconnected network.

Centralized Computing

In the traditional mainframe environment, an application such as a database runs on a large and powerful centralized mainframe computer and is accessed by terminals. The terminal sends a request for information to the mainframe computer; the mainframe retrieves the information and then displays it on the terminal.

The entire database travels from the server across the network and is downloaded to the client that made the request. The file access takes place through the network operating system (NOS) and the cable. There is very little coordination between the terminal and the mainframe. 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.

Client/Server Computing

The term "client/server computing" refers to the process by which data processing chores are shared between the client computer and the more powerful server computer. Figure 8.9 shows a simple client/server network with one server, three clients, and a printer.

Click to view at full size.

Figure 8.9 A simple client/server network

The client/server approach can benefit any organization in which many people need continual access to large amounts of data.

The client/server network is the most efficient way to provide:

Client/Server-Model Overview

Most networks operate in the client/server model, also referred to as "server-based networking." A client workstation makes a request for data that is stored on a server. The client workstation processes the data using its own CPU. Data-processing results can then be stored on the server for future use. The data can also be stored on the client workstation and accessed by other client workstations on the network. In peer-to-peer networks, where there is no central server, each client workstation acts as both client and server. Differences between the two kinds of networks are discussed more fully in earlier chapters, especially Chapter 1, "Introduction to Networking."

For an example of how the client/server model operates, let's take a look at a database-management application. In the client/server model, the client software uses Structured Query Language (SQL) to translate what the user sees into a request that the database can understand. SQL is an English-like database query language originally developed by IBM to provide a relatively simple way to manipulate data. (Manipulating data includes entering it, retrieving it, or editing it.)

Other database vendors realized that it would be easier to develop database applications using a common database language. Therefore, they supported SQL and it became an industry standard. Most database management systems today use SQL.

The Client/Server Process

The database query is sent from the client, but processed on the server. Only the results are sent across the network back to the client. The process of requesting and receiving information consists of six steps:
  1. The client requests data.
  2. The request is translated into SQL.
  3. The SQL request is sent over the network to the server.
  4. The database server carries out a search on the computer where the data exists.
  5. The requested records are returned to the client.
  6. The data is presented to the user.
As shown in Figure 8.10, the client/server environment has two principal components:

Figure 8.10 The client is the front end and the server is the back end

The Client

The user generates a request at the front end. The client runs an application that: In a client/server environment, the server does not contain the user-interface software. The client is responsible for presenting the data in a usable form.

The user enters instructions from the client computer. The client computer prepares the input for the server. The client computer sends a request for specific information across the network to the server. The server processes the request, locates the appropriate information, and sends it back across the network to the client. The client computer then feeds the information to the interface, which presents the information to the user. The client computer can also process the information further, using its own CPU and software.

Using the Front End

Front ends can present the same information to users in different ways, depending on the request. For example, data that states Columbus first crossed the Atlantic Ocean in 1492 can be organized and presented in several contexts, including:

As another example, let's consider our custom-bicycle manufacturer. The company keeps all customer and product information in one database. But this information can be retrieved, organized, and presented through the front end in a variety of ways: Each department needs a front end designed to access the common database and retrieve information for a particular need.

Front-End Tools

A number of tools, applications, and utilities are available for the front end to make the client/server process more efficient. These tools include:

The Server

The server in a client/server environment is usually dedicated to storing and managing data. This is where most of the actual database activity occurs. The server is also referred to as the back end of the client/server model because it fulfills the requests of the client. The server receives the structured requests from the clients, processes them, and sends the requested information back over the network to the client.

The database software on the file server reacts to client queries by running searches. As part of a client/server system, it returns only the results of the searches.

Back-end processing includes sorting data, extracting the requested data, and sending that data back to the user.

Additionally, database server software manages the data in a database including:

Stored Procedures

Stored procedures are short, prewritten data-processing routines that help with data-processing details. The procedures are stored in the server and can be used by any client.

Stored procedures help process data. One stored procedure can be used by any number of clients, thus avoiding the need to incorporate the same routine into the code of each program.

These stored procedures:

Server Hardware

The server computers in a typical client/server environment should be more powerful and faster than the client computers. In addition to a high-speed processor, these computers need lots of RAM and plenty of hard-drive space. These computers must be able to handle:

Any organization that implements a client/server network should use dedicated servers to handle the back-end functions.

Client/Server Architecture

There are several possible client/server arrangements. In the two primary arrangements, illustrated in Figure 8.11: Click to view at full size.

Figure 8.11 Data can be localized on one server or distributed over several servers

Figure 8.12 shows two variations on the distributed server arrangement:

Click to view at full size.

Figure 8.12 Data storage warehouse server offloads data to other servers

Advantages of Working in a Client/Server Environment

Client/server technology creates a powerful environment that offers many real benefits to organizations. A well-planned client/server system provides relatively inexpensive networks. These systems provide mainframe-computing capacity while allowing easy customization for specific applications. Because client/server processing sends only the results of a query across the network, it cuts down on network traffic.

Client/server computing uses a powerful server to store data. The client workstation can process some or all of the requested data. On a busy network, this means that the processing will be distributed more efficiently than in a traditional mainframe-based system.

Because the file services and the data are on the back-end server, the servers are easier to secure and maintain in one location. Data is more secure in a client/server environment because it can be placed in a secure area away from users. The data is also more secure when Windows NT Server-based security is used to prevent unauthorized access to files. When the data is stored in a limited number of locations and managed by one authority, backups are simplified.

Exercise 8.2: Adding a Network Server

In Exercise 8.1, we designed a peer-to-peer network and looked at two different topologies. While these designs meet the immediate needs of our client, the custom bicycle manufacturer, they are likely to fall short if this manufacturer decides to expand the business in the future. In this exercise, you will be modifying the design you carried out in Exercise 1 to include a network server.

In planning your new design, consider the following issues:


Lesson Summary

The following points summarize the main elements of this lesson: