INTRODUCTION TO CLIENT/SERVER TECHNOLOGY
1. INTRODUCTION
Concept of C / S Systems
In a traditional, centralized mainframe system, a user interacts with an application via a dumb terminal that has a keyboard for entering commands and a display to show the results. All applications and databases are placed on the mainframe (host), and the terminal does not have any ability to process applications. That is, the functions of the user interface and the presentation are placed on the terminal and other applications are placed on the host side, as shown in Figure 1.
In a client / server (C / S) system, by contrast, a user advances processing by using a program called a server, from a workstation or personal computer connected to the server computer by network. The program that receives services from the server is called a client. As in the host-centric system, the functions of user interface and presentation are placed on the user (client) side. Databases that are used for processing requests are placed on the server side. Each application is divided into several processes that run on the client and server sides and cooperate for processing the application. The difference between the two systems is the way of distribution of applications. As shown in Figure 2, some applications can be placed on the user side in the C / S system. Figure 3 shows the physical and logical structures for a host-centric system and a C / S system.
In the physical structure of the host-centric system, applications and databases are placed on a mainframe. That is, the physical structure is almost the same as the logical structure described above. On the other hand, in the C / S system, all the processes that comprise the service are not necessarily placed in the same computer. In many cases, they are distributed in separate computers connected to each other via network.
The features of C / S systems are:
• They contain the basic functional components: presentation, application service, and database.
• Generally, each application service is divided into several processes.
• In many cases, the service is offered by cooperative work of several processes placed on separate computers.
Roles of Client and Server
There is a many-to-one relationship between clients and servers, but the relationship is relative. In some cases, a client may pass a reference to a callback object when it invokes a service. This lets
the server call back the client, so the client becomes a server. For example, in an Internet banking system, a user program (WWW browser) is a client and a program located at the bank that offers services to the client is a server. However, the role of the program located at the bank is not always fixed to the server. To offer a fund transfer service to the user, the program located at bank A asks for a fund acceptance process that is located at bank B. In this case, the program at bank A becomes a client and the program at bank B becomes a server. Thus, the roles of the client and server change dynamically depending on the circumstances. In this chapter, ‘‘client’’ means a program that is located on the user side and provides the user interface and presentation functions, and ‘‘server’’ means a program that receives requests from the client and provides services to the client.
Computer Technology Trends
Web Technologies
A C / S system is realized by a network over which clients and servers work together to accomplish a task. To develop the network applications, it is important for a developer to select an appropriate communication protocol from the viewpoint of cost and performance. The communication protocol
is a set of rules by which reliable end-to-end communication between two processes over a network is achieved. In recent years, the TCP / IP protocol stack has been adopted for constructing many network applications and has become the standard protocol for the Internet. World Wide Web (or Web) technologies using HTTP (Hypertext Transfer Protocol), an application layer protocol based on TCP / IP, have been applied to C / S systems. At present, Web technologies are the most widespread for C / S applications. The client side of the Web application is called the browser. Microsoft’s Internet Explorer and Netscape’s Navigator are the most widely used browsers.
Figure 4 shows the progression of the Web structure of C / S applications:
• At the initial stage, the main service of the Web system was distribution of static information such as a text or an image stored in the storage device of the server machine (the Web server). (Figure 4[a]).
• In the middle stage, in addition to distribution of information, more interactive services were provided to the user by applications added to the Web server. For example, in an online shopping service, monthly expenditure is calculated using inputs of the purchase amount of daily shopping (Figure 4[b]).
• In the recent stage, external systems such as legacy systems are placed on the back end of the Web server and more advanced services can be provided. An Internet banking service is realized by this structure (Figure 4[c]).
The advantage of a C / S system using the Web technologies is that users can unify various kinds of operations and the maintenance of the client software becomes easier. In the future, the proliferation of the Internet means that Web technologies will gain more popularity for realizing C / S systems.
(b) WWW information-processing system. (c) WWW information-processing system with external systems processing.
Open System Technologies
A C / S system is one of distributed models of computing in the environment of heterogeneous computers. This is because open system technologies such as communication protocols and devel- oping languages are required. For example, the adoption of the Java language as the developing language has increased, as has the adoption of CORBA (common object request broker architecture) as interconnection technology. Java is a new object-oriented programming language from Sun Mi- crosystems and a portable operating system environment that enables the writing of portable com- ponents. CORBA is a standard architecture created by the OMG (Object Management Group) for a message broker called object request broker, a software component that enables communication among objects in a distributed environment. The common feature of Java and CORBA is platform independence. The most commonly used operating system on which C / S systems are developed is UNIX, which mainly works on workstations or Windows NT, which mainly runs on server-class personal computers. Java and CORBA are designed for running on both operating systems and cooperate mutually. In the future, technology like Java or CORBA that works in heterogeneous computing environments will become more and more important.
Due to the recent progress in hardware technologies, the processing capacity of a personal com- puter has become almost equal to that of a workstation. Therefore, there are too many choices among various technologies to allow appropriate system components to be selected. The system configuration has become more complex because of a combination of distributed components as well as hetero- geneity.
Comments
Post a Comment