Lesson 2: Establishing a ClientServer Environment

[Previous] [Next]

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.

After this lesson, you will be able to:

  • Describe the differences between client/server and centralized computing.
  • List the six steps by which server-based networks process data.
  • Identify server functions.
  • Identify client-workstation functions.
  • Determine if a client/server approach is appropriate for a given networking environment.

Estimated lesson time: 30 minutes

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:

  • Database access and management for applications such as spreadsheets, accounting, communications, and document management.
  • Network management.
  • Centralized file storage.

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:

  • The application, often referred to as the "client" or the "front end"
  • The database server, often referred to as the "server" or the "back end"

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:

  • Presents an interface to the user.
  • Formats requests for data.
  • Displays data it receives from the server.

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:

  • Ocean crossings.
  • Columbus's achievements.
  • Landmark events of 1492.
  • Bodies of water crossed by Columbus.

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:

  • Marketers can send promotional mailings to customers who are located in a certain zip code.
  • Distributors can find out which parts are in stock.
  • Service departments can identify which customers are due for service.
  • Ordering departments can view each customer's buying history.
  • Accounts receivable departments can prevent a client who is in arrears from ordering new products.

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:

  • Query tools These tools use predefined queries and built-in reporting capabilities to help users access back-end data.
  • User applications Many common applications programs, such as Microsoft Excel, can provide front-end access to back-end databases. Others, such as Microsoft Access, include their own SQL to provide an interface to multivendor database-management systems.
  • Program development tools Many client/server installations need special, customized front-end applications for their data-retrieval tasks. Program development tools, such as Microsoft Visual Basic, are available to help programmers develop front-end tools to access back-end data.

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:

  • Updates.
  • Deletions.
  • Additions.
  • Security.

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:

  • Perform some of the processing usually performed by the client.
  • Reduce network traffic, because a single call from the client to the server can begin a series of stored procedures that otherwise would require several requests.
  • Can include security controls to prevent unauthorized users from running some of the 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:

  • Multiple requests.
  • Security.
  • Network management tasks.

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:

  • The data can be placed on a single server.
  • The data can be distributed across several database servers. The locations of the servers depend on the locations of the users and the nature of the data.

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:

  • Servers over a WAN periodically synchronize their databases to ensure that they all have the same data.
  • A data warehouse stores large volumes of data and forwards the most sought-after data to an intermediate system that is able to format the data into its most requested form. This offloads some of the data processing from the main server to other servers.

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:

  • Where should the server be located?
  • What additional materials are required?
  • What compatibility issues might arise?

Answers

Lesson Summary

The following points summarize the main elements of this lesson:

  • The client/server model has several advantages over a centralized network; for example, in this model, tasks are divided between client and server, resulting in a more efficient network.
  • Client/server networks can be arranged in two ways: data can be stored on a single server or distributed across several servers.
  • Client/server networks commonly use structured query language (SQL) for database management.
  • In a client/server network, the client, or front end, is responsible for presenting data in a useful form and for writing reports; the server, or back end, is responsible for storing and managing the data.
  • Client/server networks can be arranged in two ways: data can be stored on a single server or distributed across several servers.


MCSE Training Kit Networking Essentials Plus 1999
MCSE Training Kit: Networking Essentials Plus, Third Edition (IT Professional)
ISBN: 157231902X
EAN: 2147483647
Year: 2005
Pages: 106

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net