`
`1
`
`HP 1018
`
`
`
`Library of Congress Cataloging-in-Publication Data
`
`Martin, Richard J.
`Bulletproofing client/server systems / Richard J. Martin, Glenn E.
`Weadock.
`cm.
`p.
`Includes index.
`ISBN 0-07-067622-4
`1. Client/server computing. 2. Debugging in computer science.
`1. Weadock, Glenn E.
`II. Title.
`QA76.9.C55M39
`1997
`004'.36-dc21
`
`97-4056
`CIP
`
`McGraw-Hill
`A Division ofTheMcGraw·Hill Companies
`
`zz
`
`Copyright © 1997 by The McGraw-Hill Companies, Inc. All rights reserved.
`Printed in the United States of America. Except as permitted under the Unit(cid:173)
`ed States Copyright Act of 1976, no part of this publication may be reproduced
`or distributed in any form or by any means, or stored in a data base or retrieval
`system, without the prior written permission of the publisher.
`
`1234567890 DOCmOC 90210987
`
`ISBN 0-07-067622-4
`
`The sponsoring editor for this book was John Wyzalek and the production
`supervisal' was Pamela A. Pelton. It was edited and set in New Century
`Schoolbook by TopDesk Publishers' Group.
`
`Printed and bound by R. R. Donnelley & Sons Company
`
`McGraw-Hill books are available at special quantity discounts to use as pre(cid:173)
`miums and sales promotions, or for use in corporate training programs. For
`more information, please write to the Director of Special Sales, McGraw-Hill,
`11 West 19 Street, New York, NY 10011. Or contact your local bookstore.
`
`This book is printed on recycled, acid-free paper containing
`a minimum of 50% recycled de-inked fiber.
`
`Information contained in this work has been obtained by The McGraw-Hill
`Companies, Inc. ("McGraw-Hill") from sources believed to be reliable. However,
`neither McGraw-Hill nor its authors guarantee the accuracy or completeness of
`any information published herein and neither McGraw-Hill nor its authors
`shall be responsible for any errors, omissions, or damages arising out of use of
`this information. This work is published with the understanding that McGraw(cid:173)
`Hill and its authors are supplying information but are not attempting to render
`engineering or other professional services. If such services are required, the
`assistance of an appropriate professional should be sought.
`
`2
`
`
`
`· Why Client/Server? 51
`
`When employees become sufficiently familiar with a number of
`different applications, and particularly when those applications
`have a consistent appearance, then the employees often stop
`thinking about those applications as being separate or distinct.
`The same set of programs that the Information Technology
`department categorizes as three or four applications, the users
`will categorize, and use, as one large application. When that
`happens, the users are right!
`How might separate applications become consolidated or com(cid:173)
`bined by users, without any help from the IT department? Well,
`let's put you back in the role of being that Personnel clerk who
`now has Payroll data responsibility. Guess who's going to get the
`opportunity to respond to any sort of ad hoc question that needs
`personnel or payroll data as part of the answer?
`How are you going to answer these ad hoc questions? As much
`as possible, you will do so by using tools with which you are
`already familiar. If the Personnel system can give you part of the
`answer and the Payroll system can give you part of the answer,
`sooner or later you're going to figure out how to get part of
`Personnel running right alongside part of Payroll. You're going
`to start dragging and dropping (or at least cutting and pasting)
`data from one window to the other. You're going to start respond(cid:173)
`ing to ad hoc problems with ad hoc solutions, cobbled together
`from bits and pieces of production systems.
`Once users start creating their own ad hoc applications, the
`concept of "application" becomes so fluid and flexible as to be
`meaningless. Programs, rather than being fixed quantities that
`can only be executed under a prescribed set of circumstances,
`become automated tools that allow users to apply familiar tech(cid:173)
`niques to an ever broader universe of data. Employees become
`more capable, the organization becomes both more productive
`and more flexible. A paradigm shift has occurred.
`So we return to the question that started this chapter, "Why
`client/server?" No one knows what the ultimate value of
`client/server computing will be. We're not at that point yet. But
`penultimately, the value of client/server computing has proven
`to be in its ability to empower users, to give them ever better
`access to ever greater ranges of information, and to put them in
`control of the computer, rather than the computer in control of
`them. To achieve this value, client/server systems need to be bul(cid:173)
`letproof. They need to be fast, reliable, easy to use, predictable,
`always available, secure, honest, loyal, steadfast and true.
`
`3