Appendix F Client Server Systems

advertisement
Appendix F Client/Server Systems
Appendix F
Client/Server Systems
Discussion Focus
Why may client/server computing be considered an evolutionary, rather than a revolutionary,
change?
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 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,
489
Appendix F Client/Server Systems
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 is middleware and why is it a crucial client/server component?
Middleware is part of the communications channel. Its presence is so important in a successful client/server
environment that some authors define three client/server architectural components: client, server, and
middleware. To explain the need for and use of middleware software, use Appendix F, Figure F.11 to
illustrate how middleware functions in ORACLE and SQL Server databases. Appendix F, Figure F.12
illustrates the use of middleware in an IBM DB2 shop. Note that even the middleware software can have
client and server components.
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.
490
Appendix F Client/Server Systems
Answers to Review Questions
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.)
491
Appendix F Client/Server Systems
3. Explain how client/server system components interact.
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.
4. Describe and explain the client/server architectural principles.
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.
7. What major network communications protocols are currently in use?
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.
492
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!
493
Appendix F Client/Server Systems
10. Describe and contrast the four client/server computing architectural styles that were introduced in
this chapter.
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.
11. Contrast client/server and traditional data processing.
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.
494
Appendix F Client/Server Systems
Problem Solutions
1. ROBCOR, a medium-sized company, has decided to update its computing environment. ROBCOR
has been a minicomputer-based shop for several years, and all of its managerial and clerical
personnel have personal computers on their desks. ROBCOR has offered you a contract to help
the company move to a client/server system. Write a proposal that shows how you would
implement such an environment.
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 chapter 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.
495
Download