If the reliability of a telecommunications network is high, it is possible to have distributed systems for businesses, a setup that can be conceived of as an application of telecommunications. The concept of distributed systems is used in many different ways. Here it will be taken in a broad sense so that it includes workstations that can communicate with each other and data processors, as well as different hierarchical architectural configurations of data processors that communicate with each other and that have differing data storage capabilities.
In this model, the processing functions are delegated either to clients (users) or to servers, depending on which machines are most suitable for executing the work. In this type of architecture, the client portion of a network application will run on the client system, with the server part of the application running on the file server. With a client-server model, users interact with limited parts of the application, including the user interface, data input, database queries, and report generation. Controlling user access to centralized databases, retrieving or processing data, and other functions (such as managing peripheral devices) are handled by the server.
The client-server model, client-server computing, client-server technology, and client-server architecture all refer to a design model that can be thought of as applications running on a network. In very basic terms, you can picture the client requesting—and the server executing or in some way fulfilling—the request. That would be considered two-tier client-server architecture.
A more involved configuration uses three sets of computers to accomplish retrieval, processing, storage, and receiving of data. Figure illustrated below shows a three-tiered client-server model. In this figure, client computers access three different tiers of servers; Web servers, which handle Web-based exchange of information; application servers, which process data to and from the client computers and the database server; and the database server, which stores and receives data. The computers on the network are programmed to perform work efficiently by dividing up processing tasks among clients and servers.
When you think of the client-server model, you should think of a system that accentuates the users as the center of the work, with their interaction with data being the key concept. Although there are two elements working—the client and the server—it is the intent of the client-server model that users view it as one system. Indeed, the hope is that users are unaware of how the client-server network is performing its distributed processing, because it should have the look and feel of a unified system. In a peer-to-peer network, PCs can act as either the server or the client, depending on the requirements of the application.
When you see the term client, you might be tempted to think of people or users; for example, we speak of “clients of our consulting practice.” In the client-server model, however, the term client refers not to people but to networked machines that are typical points of entry to the client-server system that is used by humans. Therefore, clients could be networked desktop computers, a workstation, or notebook computers, or any other way in which the user can enter the system.
Using a graphical user interface (GUI), individuals typically interface directly only with the client part. Client workstations use smaller programs that reside in the client to do front-end processing (as opposed to the back-end processing, mentioned later), including communicating with the user. If an application is called a client-based application, the application resides in a client computer and cannot be accessed by other users on the network.
Early adopters of the client-server model found that they were not always the best solution to an organization’s computing problems. Often, the systems designer is asked to endorse a client-server model that is already in the works. Just as with any other corporate computing proposal that you did not have an active part in creating, you must review the plan carefully. Will the organization’s culture support a client-server model? What kinds of changes must be made in the informal culture and in the formal work procedures before a client-server model can be used to its full potential? What should your role as a systems analyst be in this situation?
Although lower processing costs are cited as a benefit of the client-server model, there is very little actual data available to prove it (even though there is some anecdotal evidence to support this claim). There are well-documented high start-up or switch-over costs associated with a movement to a client-server architecture. Applications for the client-server model must be written as two separate software components, each running on separate machines, but they must appear as if they are operating as one application. Using the client-server model, however, affords greater computer power and greater opportunity to customize applications than other options.
Although networks can be characterized by their shape or topology, they are also discussed in terms of their geographic coverage and the kinds of services they offer. Standard types of networks include a wide area network (WAN) and a local area network (LAN). LANs are standard for linking local computers or terminals within a department, building, or several buildings of an organization. WANs can serve users over several miles or across entire continents.
Networking is now technically, economically, and operationally feasible for small offices as well, and it provides a solution that analysts must consider for small businesses. One of the costly aspects of implementing a LAN is that each time it is moved, it must be rewired. Some organizations are coping with this by setting up a high-speed, wireless local area network (WLAN). More specifically, these wireless networks are called Wi-Fi.