Client-Server Computing

team lib

The term "client-server computing" has meant many things to many people. In the mainframe or minicomputer environment, it has been used to refer to the relationship between the host computer and its associated dumb terminals. In traditional local area networking terminology, it has also described the association between a personal computer acting as a "server" of data and applications files and the "client" PCs that request those files via a network operating system over LAN cabling.

In the newly emerging distributed network environments, however, client-server computing takes on a more specific definition: It refers to a relationship in which the server plays a more sophisticated role on the network, performing much of the processing formerly handled by its client PCs while still retaining its requester-server (i.e., data storage) responsibilities.

We'll focus on this definition of the client-server model here.

Client-Server Basics

As client-server computing systems have evolved, their creators have taken some parts from the centralized host world, and other parts from the decentralized PC environment. As such, client-server systems also combine benefits from both. From the host world, for instance, comes centralized data storage that can be centrally secured against unauthorized access. From the PC environment comes the standalone computing power needed to run powerful and easy-to-use applications and graphics packages unavailable with dumb terminals connected to a host.

In understanding client-server computing, it thus helps to understand how the traditional computing environmentsthat is, the host/terminal and file-server/PCprocess data and application files: They do so in a totally one-sided fashion. In the former instance, all data manipulation takes place on the host; the terminals merely display the results of the mainframe's computation. Because the terminal is incapable of data manipulation, its functionality is thus limited; in particular, it offers almost no graphics capabilities.

In the standard file-server/PC relationship, the client PCs perform virtually all of the data processing. The server responds to data (and application) requests from the client, thus playing the role of an intelligent high-speed disk system by forwarding stored information to the appropriate client. This means that the server must first locate the requested files on its disk subsystem, then transfer them through its own memory and over the network cabling to the end- user PC.

When a user wants to access a database on the server, for example, the server first downloads the application software to memory in the user's PC. When the user queries the database for a particular data record, the server sends entire groups of data associated with it.

While this method does give users the data they need, it does so at the expense of efficiency: First, entire files rather than just needed data are sent across the network, unnecessarily using too much of the network bandwidth. And because the user's PC does the processing, each end user whose work requires heavy and frequent database access needs a high-performance computer with plenty of memory.

In the client-server computing environment, conversely, developers separate their applications into two components , a "front end" and a "back end," with the elements sharing the processing demands according to which is best suited for the task. This separation of responsibilities allows client-server systems to more efficiently use an organization's computing power and network bandwidth.

The front end , or client-based part of the application, provides the end-user interfacethat is, the onscreen images the user follows while interacting with the applicationas well as processing capabilities. As in the traditional network client-server model, the back end delivers server-based functions such as data lookup and retrieval.

In the client-server computing architecture, however, only the front end of the applicationsnot the entire applicationis loaded into users' PCs when they start the program. Now, when a user's front-end application queries a database for a particular record, the back-end server-based software searches for the specific record and sends itnot entire masses of datato the user.

This significantly reduces the volume of data moving across the network because entire databases are not continually being sent back and forth between server and client. This offers secondary benefits in that reduced traffic can also lower the risk of electrical or mechanical malfunctions compromising the integrity of data.

Another benefit of client-server computing: Because the server rather than the client handles much of the manipulation of data, it eliminates the need to give each employee who accesses the database a high-performance PC. Only the database server needs a large, fast hard disk, high-performance controller hardware, or multiple high- powered processor chips.

Although the most widely employed server in the client-server realm is the database server, a server in a distributed computing environment can be, among other things, an image or audio processor or an expert system.

In these situations, the database server, which usually resides on a dedicated computer, acts as an "engine" to drive the system. The applications in turn can request/update data in the database, using the database server's capabilities and benefitsfor instance, improved security and centralized accessin the process.

A 'Sequel' In The Works

Because PC software applications seldom "talk" the same language and thus do not readily exchange data, software developers have had to agree on a common language for handling this data interchange. This language, called a Structured Query Language (or SQL, and pronounced sequel, as in another "Rocky" or "Star Wars" sequel), acts as the translator between applications. SQL is a high-level language that allows distributed databases to exchange information. Virtually all popular relational databases running on IBM PCs, Macintoshes, mini, and mainframe computers, support SQL.

Developed in the 1970s by IBM, SQL is an English-like query-type language that most database vendors have standardized on. SQL has become the standard for retrieving data from a relational database, and any database that supports SQL can theoretically exchange data with any other SQL-compatible database.

The Good News

The good news about SQL is that end users usually don't have to learn or even know about it. The application program should hide the SQL language commands (principally, these commands come in the form of verbs such as DELETE, SELECT, and UPDATE) from the user interface. A front-end e-mail application, for instance, could use SQL as a tool to locate a recipient's network address and determine the optimum way to "mail" a message. The database server operates in conjunction with a communications server to actually deliver the mailall without the e-mail end user knowing about it.

The front-end component of a database server does not necessarily have to be a database application; this opens an amazing variety of possibilities. Any application that can make use of a database of information, including spreadsheets, point-of-sale software, and computer-aided drafting/engineering (CAD/CAE), can be incorporated into the database-server environment.

Take the example of a stock broker. It is not atypical for securities salespeople to have two or three computers and/or terminals in their office, each one connected to a different computer system. A networked PC might provide access to a server-based database of the broker's important customers, showing their holdings, priorities, etc. A terminal might provide up-to-the minute stock prices from an online timesharing host via a modem connection. And another PC might offer access to an order-entry system so the broker can process customer orders on the spot.

With a client-server system, the securities firm could deliver all those capabilities via a single client personal computer connected to a distributed database server. In this scenario, the database server acts as a transparent network manager, tracking down the requested services without questioning the end user for network address information.

When the broker's front-end application asks for stock quotes, the database server could automatically open a link through a communications gateway, retrieve information from the online host, and report back to the user's PC with only the specific data requested.

Similarly, the database server could also use the order-entry application's front-end instructions to provide an onscreen sales form. Or the database could display the customer's preferencesnot to buy stock of companies with facilities in South Africa, for instance, to sell IBM stock when it reaches $110 a share, or to buy Microsoft when it drops below $90.

And the database server would provide all this information without the broker specifying where any of it is located.

This tutorial, number 23, was originally published in the June 1990 issue of LAN Magazine/Network Magazine.

 
team lib


Network Tutorial
Lan Tutorial With Glossary of Terms: A Complete Introduction to Local Area Networks (Lan Networking Library)
ISBN: 0879303794
EAN: 2147483647
Year: 2003
Pages: 193

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