IM Appendix F Client Server Systems Ed12
IM Appendix F Client Server Systems Ed12
Appendix F
Client/Server Systems
Discussion Focus
Client/server computing didn't happen suddenly. Instead, it is the result of years of slow-paced changes
in end user computing. Using Appendix F, Section F.2's evolution of client/server information systems,
first illustrate the typical mainframe scenario (users accessing dumb terminals), then move the
discussion to the development on the microcomputer and its impact on work styles to set the stage for
the current PC-based client/server computing scenario. Use Appendix F, Table F.1 to illustrate the
contrasting characteristics of the mainframe-based and client/server-based information systems.
Why may the client/server evolution be characterized as a bottom-up change and how does this
change affect the computing environment?
Modern end users use intelligent computers, GUIs, user-friendly systems, and data analysis tools to
effectively increase their productivity. In addition, data sharing requirements make efficient use of
network resources a priority issue. Given such an end user-based environment, it is not surprising that
the end user drives the client/server architecture’s development and acceptance.
Given this introduction and expanding on its theme, students are more easily able to contrast the PC-
based client/server computing model and the traditional mainframe-computing model. After identifying
the differences in computing style that characterize these models, the discussion may be shifted toward
the formal definition of client/server systems, the forces that drive client/server systems, and the
managerial expectations of client/server system benefits. Section F.7.2's examination of the managerial
expectations of client/server systems benefits is the key to understanding the opportunities and risks
associated with client/server systems. Students will benefit from the suggested readings in this section,
so we suggest their assignment.
What are the client/server's infrastructure requirements and how do they function?
Appendix F’s Client/Server Architecture Section F.3 deals with the technical details of the client/server
main components. This discussion is more likely to be fruitful if you first assign Appendix G,
“Client/Server Network Infrastructure,” and Appendix F’s section F.3 as background reading to
acquaint students with the basic network components such as cabling, topology, types, communication
devices and network protocols. Use the example illustrated in Figure F.3 to briefly explain the
interaction among the main components: client, server, and communications channel or network.
Emphasize that each of these components requires a combination of hardware and software
subcomponents. We suggest that, before discussing the technical details of each client/server
574
Appendix F Client/Server Systems
component, it will be helpful to explain the Client/Server architectural principles that govern most
client/server systems. Use the OSI network reference model illustrated in Appendix F, Table F.2 to
explain the communications channel components, and then use Appendix F, Figure F.7 to illustrate the
flow of data from the client to the communication channel to the server.
What, if any, client/server standards exist and how do such standards affect the client/server
database environment?
There is no single standard to choose from at this point. However, there are several de facto standards,
created by market acceptance. (See Appendix F, Section F.4, “The Quest for Standards.”) Therefore,
client/server developers have many "standards" to choose from when developing applications. The
important issue in database is how the selection of one of the de facto standards affects database design,
implementation, and management. Section F.7 explains some of the desired features of client/server
databases.
What are the logical components of a client/server application and how are these components
allocated in a client/server environment?
Appendix F's Client/Server Architectural Styles section defines an application's main logical
components and how those components can be allocated to clients and/or servers. Use Appendix F,
Section F.6 as the basis for a discussion about the different levels of processing logic distribution. (Note
particularly Figure F.16.)
What are some of the managerial and technical issues encountered in the implementation of
client/server systems?
Appendix F, Section F.7 addresses this discussion question in detail. Specifically, this section shows
how the change from traditional to client/server data processing affects the MIS function.
575
Appendix F Client/Server Systems
NOTE
Since the answers to many of these questions are covered in detail in Appendix F, we have
elected to give you section references to avoid needless duplication.
1. Mainframe computing used to be the only way to manage data. Then personal computers
changed the data management scene. How do those two computing styles differ, and how did
the shift to PC-based computing evolve?
The evolution toward client/server information systems is explained in section F.2. The main
differences between mainframe-based information systems and PC-based client/server information
system are illustrated in Table F.1. The answer to this question may also include a discussion, based
on Section F.2, of the forces that drive client/server systems.
2. What is client/server computing, and what benefits can be expected from client/server
systems?
Client/Server is a term used to describe a computing model for the development of computerized
systems. This model is based on the distribution of application's functions among two types of
independent and autonomous entities: servers and clients. A client is any process that request
specific services from server processes. A server is a process that provides requested services for
clients.
See section F.1 for additional client/server definition details. Note that client/server is a computing
model that focuses on the separation and distribution of the application's functions. Therefore, the
application is divided into client and server processes. The clients request services from the server
processes. Note also that the client and server processes can reside on the same or on different
computers connected by a network. The final result is an application in which part of the processing
is done at the client side and part of the processing is done at the server side.
The advantages of separating and distributing the application's processing are efficient resource
utilization and maximization of resource effectiveness. Perhaps the greatest single advantage is
found in the utilization of the existing personal computer power for local data access and processing.
Thus the end user is able to use local PCs to access mainframe and minicomputer legacy data and to
process such data locally by using user-friendly PC software. Used correctly, this computing
approach yields greater information autonomy, lower costs, improved access to information, and,
therefore, a greater potential for better decision making. These benefits may yield better service to
customers, thus generating more business. (The managerial expectations of client/server benefits are
explained in greater detail in section F.7.)
576
Appendix F Client/Server Systems
The main client/server components are the client, the server, and the communications channel. Some
experts include middleware as a separate component. Section F.3.1 provides a detailed explanation
of the component interactions.
Client/Server components must conform to some basic architectural principles if they are to interact
properly. Section F.3 includes a detailed description and explanation of the client/server
architectural principles.
5. Describe the client and the server components of the client/server computing model. Give
examples of server services.
Section F.3 offers an extensive description of the client and server components. This section also
provides several examples of server services. Figures F.5 and F.6 illustrate client and server internal
components. Server services – file, print, fax, communications, database, transaction, and
miscellaneous services such as CD-ROM, video, and back-up -- are detailed in section F.3.3.
6. Using the OSI network reference model, explain the communications middleware component's
function.
The communications channel provides the means through which clients and servers communicate.
The communications channel connects clients and servers and its main function is the delivery of
messages between clients and servers. Using the OSI network reference model, section F.3.5
provides a detailed explanation of the communication channel. Note that we use the OSI network
reference model because most of the client/server applications are based on a scenario in which
clients and servers are tied together through a network.
The client/server network infrastructure includes the network cabling, network topology, network
type, communication devices, and network protocols. Section F.3.6 provides a detailed description
of these components and their use.
The network protocols determine how messages between computers are sent, interpreted and
processed. The main network protocols in use today are Transmission Control Protocol/Internet
Protocol (TCP/IP), Sequenced Packet Exchange/Internet Protocol (SPX/IPX), Network Basic Input
Output System (NetBIOS). Section F.3.6 provides a more detailed explanation of these and other
network protocols.
577
Appendix F Client/Server Systems
8. Explain what middleware is and what it does. Why would MIS managers be particularly
interested in such software?
Middleware is software that is used to manage client/server interactions. Most important to the end
user and MIS manager is the fact that middleware provides services to insulate the client from the
details of network protocols and server processes.
MIS managers are usually concerned with finding ways to improve end user data access and to
improve programmer productivity. By using middleware software, end users can access legacy data
and programmers can write better applications faster. The applications are network independent and
database server independent. Such an environment yields improved productivity, thereby
generating development costs savings. Sections F.3.4 and F.3.5 provide additional database
middleware software details.
9. Suppose you are currently considering the purchase of a client/server DBMS. What
characteristics should you look for? Why?
A client/server DBMS is just one of the components in an information system. The DBMS should
be able to support all applications, business rules, and procedures necessary to implement the
system. Therefore, the DBMS must match the system's technical characteristics, it must have good
management capabilities, and it must provide the desired level of support from vendor and third
parties. Specifically:
On the technical side the database should include data distribution, location transparency,
transaction transparency, data dictionary, good performance, support for access via a variety
of front-ends and programming languages, support several Client types (DOS, UNIX,
Windows, etc.), third party support for CASE tools, Application Development
Environments, and so on.
On the managerial side the database must provide a wide variety of managerial tools,
database backup and recovery, GUI based tools, remote management, interface to other
management systems, performance monitoring tools, database utilities, etc.
On the support side the DBMS must have good third party vendor support, technical support,
training and consulting.
Section F.7 provides additional details about these topics. Always remember that DBMS selection is
a task within the system development process and normally follows the requirements definition task.
In other words, the DBMS features should be determined by the characteristics of the system that is
going to be built, and not the other way around. Unfortunately, in the real world this is a luxury
enjoyed by few development projects!
578
Appendix F Client/Server Systems
10. Describe and contrast the four client/server computing architectural styles that were
introduced in this appendix.
This question deals with identifying the application processing logic components and deciding
where to locate them. Section F.6 covers this very important topic in great detail. (Note particularly
the summary in Figure F.19, “Functional Logic Splitting in Four Client/Server Architectural
Styles.”)
Note that client/server computing styles include several layers of hardware and software in which
processing takes place. This layered environment is quite different from the homogeneous
environment encountered in traditional mini and mainframe programming.
From a managerial point of view, client/server data processing tends to be more complex than
traditional data processing. In fact, client/server computing changes the way in which we look at the
most fundamental computing chores and expands the reach of information systems. These changes
create a managerial paradox. On the one hand, MIS frees end users to do their individual data
processing and, on the other hand, end users are more dependent on the client/server infrastructure
and on the expanded services provided by the MIS department.
Client/server computing changes the way in which systems are designed, developed and managed by
forcing a change from:
proprietary to open systems
maintenance-oriented coding to analysis, design and service
data collection to data deployment
a centralized to a distributed style of data management
a vertical, inflexible organizational style to a more horizontal, flexible style.
For additional details on these and related topics refer to section F.7.1.
12. Discuss and evaluate the following statement: There are no unusual managerial issues related
to the introduction of client/server systems.
The managerial issues in client/server systems management arise from the changes in the data
processing style discussed in Section F.7, the management of multiple hardware and software
vendors, the maintenance and support of the client/server infrastructure, such as communications,
applications and the management and control of associated costs.
579
Appendix F Client/Server Systems
Problem Solutions
Because question 13 cannot be answered properly without addressing the computing style issue in
question 14, the answers to both questions are supplied after question 14.
2. Identify the main computing style of your university computing infrastructure. Then
recommend improvements based on client/server strategy. (You might want to talk with your
department's secretary or you may want to talk to your advisor to find out how well the
current system meets their information needs.)
Questions 13 and 14 are research questions that yield extensive class projects. The questions are
designed with two ideas in mind:
1. To have the student assume the consultant's "proactive" role.
2. To entice the students to use the knowledge acquired in this appendix to develop an
integrated approach to client/server systems implementation. The expected output for these
projects is a business quality paper and a professional-level class presentation of the findings,
recommended solutions, and the suggested implementation. The material presented in
Section F.7 yields an outline appropriate for such a paper. It will be beneficial if students
have taken at least an introductory course in Systems Analysis and Design.
Keep in mind that you can either use the two scenarios presented in these questions or you can
assign students a real world case to accomplish the same goals. In the first case, the professor
assumes the role of the end user. In the second case, an external third party is the end user. The
problem with real world cases is that the professor must procure commitment from the third party.
Unfortunately, it is sometimes difficult for company managers to provide possibly sensitive internal
information to students and to devote scarce time resources to student projects. Even if the project is
kept within the university's bounds, you are likely to discover that the university administrators may
not be able or willing to provide critical information.
Students should be encouraged to use the presentations as a basis for further analysis of the more
nettlesome issues that must be confronted in the development of client/server systems. We suggest
several class discussion sessions in which different student groups present alternative solutions. Such
presentations will force students not only to design a solution but also to sell the solution to
management.
580