What Is a Server?

Before we proceed much further, some definitions are in order. Defining exactly what constitutes a server is a lot like defining what beauty isyou know it when you see it. Most programmers know what a server program is when they see it, but coming up with a definition is a little tough. Most server systems exist on a local area network (LAN) or wide area network (WAN) and communicate with clients on the same network, but not always. Even the operating system in use is no longer the marker for what a server program is; Microsoft Windows 2000 is the first generally available system in which the client operating system and the server operating system are the same (ignoring for a moment the difference between Windows 2000 Professional and Windows 2000 Servermore on that later).

Network attachment is also not a requirement for a server program. Most server programs are constructed to interact with the network environment or client workstations, but this interaction is not a requirement. As I just mentioned, Windows 2000 is constructed in a client/server fashion, with the client and the server contained in the same machine. Take a look at Figure 1-1, which shows the Windows 2000 Services applet. Looking down the list of services, we see some that are clearly network related (DHCP Client and FTP Publishing Service) as well as some that are clearly not (Event Log). Speaking of Event Log, the local machine uses this service to record informational messages, warnings, and errors. OK, the Event Log service creates a log that can also be read from another machine on the network, but that functionality is not an essential part of the service, and the service functions just fine on stand-alone machines. (How Microsoft Windows NT came to be constructed in such a way is a subject for an entirely different booksee the descriptions of Show-Stopper and Inside Windows NT, Second Edition, in the annotated bibliographybut it is important to realize that the client and the server need not be on different computers.)

click to view at full size.

Figure 1-1 The Windows 2000 Services applet.

Since we cannot rely on these criteria to define a server programwhat operating system is in use, whether there is communication between a client and a server, or even whether the program is running on a networkwe need another criterion. My criterion is this: a server program is a program in which the user interface (UI) does not exist or is separate from or incidental to the function of the program.

Let's consider two server programs and see how they fit this criterion. The first example is a networked MS-DOS program that monitors a virtual drive on an AS/400 midrange computer, copies and processes the files on a LAN drive, and then waits for the next file to appear. The only real user interface is a text-based display that tells the operator what the system is doing. This user interface is incidental to the main task of the server programsince there are no user optionsand the messages exist solely for the operator to know whether the system is running.

The second example of a server program is Microsoft SQL Server. If you could scroll further down the list shown in Figure 1-1, you would see two entries in the services list related to SQL Server: MSSQLServer, which is the actual server program that manages the database operations, and SQLExecutive, which is a program that handles timed operations on the SQL Server database. Figure 1-2 shows the opening screen of the program that starts when you run SQL Enterprise Manager.

click to view at full size.

Figure 1-2 SQL Enterprise Manager, the user interface for SQL Server.

This program functions as a user interface for the MSSQLServer and SQLExecutive services. Many of the operations you can perform with SQL Enterprise Manager can also be performed (albeit with greater difficulty) with command-line tools that provide essentially no user interface. Thus, SQL Server meets our test of being a server program.



Inside Server-Based Applications
Inside Server-Based Applications (DV-MPS General)
ISBN: 1572318171
EAN: 2147483647
Year: 1999
Pages: 91

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