The Evolution of Client/Server Computing
Several years ago, many computing environments consisted of mainframes hooked to dumb terminals that only did processing at the mainframe. Over the years, personal computers started to replace these dumb terminals but the processing continued to be done on the mainframe. The improved capacity of personal computers were largely ignored or used on an individual level. With so much computing power idle, many organizations started thinking about sharing, or splitting, some of the processing demands between the mainframe and the PC. Client/server technology evolved out of this movement for greater computing control and more computing value.
Client/server refers to the way in which software components interact to form a system that can be designed for multiple users. This technology is a computing architecture that forms a composite system allowing distributed computation, analysis, and presentation between PCs and one or more larger computers on a network. Each function of an application resides on the computer most capable of managing that particular function. There is no requirement that the client and server must reside on the same machine. In practice, it is quite common to place a server at one site in a local area network (LAN) and the clients at the other sites. The client, a PC or workstation, is the requesting machine and the server, a LAN file server, mini or mainframe, is the supplying machine. Clients may be running on heterogeneous operating systems and networks to make queries to the server(s).
Networks provide connectivity between client/server and the protocols that they use to communicate. The Internet provides connectivity between systems that function as clients, servers, or both. Many services used on the Internet are based on client/server computing model. File Transfer Protocol (FTP) for example uses client/server interactions to exchange files between systems. An FTP client requests a file that resides on another system. An FTP server on the system where the file resides handles the client’s request. The server gets access to the file and sends the file back to the client’s system. Market researchers have projected enormous growth in the client/server area. This growth seems to have come at the expense of the mainframe market, which has stagnated. While the movement towards migrating from the mainframe to client/server architecture is gaining momentum, there are several distinct drawbacks since most of the client/server tools and methodologies are not in place and the associated administration support is still undefined.