Client/Server Computing: Management Issues Copyright 1993 CAUSE. From _CAUSE/EFFECT_ Volume 16, Number 2, Summer 1993. Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for commercial advantage, the CAUSE copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of CAUSE, the association for managing and using information resources in higher education. To copy otherwise, or to republish, requires written permission. CLIENT-SERVER COMPUTING MANAGEMENT ISSUES by Kenneth C. Blythe How much does it cost? What are the benefits? What is the timeframe? Should we build or buy? What role do users play? These management issues have been with us since the first business computers came on the scene in the late 1950s. We keep searching for better ways, and just when we think we have found them, along come new possibilities. Chief programmer teams, structured programming, top down programming, entity relation diagrams, hierarchical databases, fourth-generation languages, program generators, data dictionaries, relational databases, and object oriented programming--each of these solutions has raised the bar a little higher. Each caused us to revisit the questions: How much does it cost? What are the benefits? What is the timeframe? ... By now we understand that the only thing certain about information technology is change. Management strategies need to be forged around change. We must seek to make the best decisions possible in a relatively short time period. Rapid response to change is the hallmark of the 1990s. But how do we respond to change more rapidly? One thought, especially appropriate for higher education, is to accelerate the learning curve of all institutions by sharing the knowledge, successes, and failures of institutions that are exploring changes. This was the theory behind an electronic roundtable discussion conducted during the summer and fall of 1992, using the Internet. This roundtable discussion (using the listserv of the CAUSE Constituent Group for Administrative Systems Management) explored the management issues of client-server computing. This Viewpoint incorporates several critical issues raised in that discussion. The client-server vision Even though it is treated as a mature technology in journals, there is much about client-server computing that is just a vision. At its foundation are some very compelling ideas of empowerment, economy, openness, and productivity, but it is still, in many respects, a vision. It is a vision of individual personal computers being used as "clients" in the client-server computing paradigm. This paradigm had its origins in local area networks where client machines and server machines cooperate much better than in traditional terminal-mainframe networks. Local area networks may be 1,000 times faster than terminal-mainframe networks and this fact alone facilitates tighter integration. At such speeds, information can be easily distributed between client machines and server machines and yet be presented coherently without delay or without end-user knowledge of the network topology. Client machines in local area networks can be server machines, and server machines can be clients, interchangeably. Every machine in the network has client and server qualities. The Gartner Group has defined five different styles of client-server computing.[1] The difference in these styles depends on the portion of the computing process that is "distributed" to an alternate computer over the network. The five styles are defined in relation to the three main processes in a computerized application: (1) presentation (user interface), (2) process (application logic) and (3) data storage (data management) as shown in Figure 1. The dotted lines represent the different areas for breaking processes between the client and server machines. There are five dotted lines, each representing another style of client-server computing. The five styles are: 1. Distributed presentation, also known as "screen scraping," for example, when you take a 3270 screen and dress it up with a graphical user interface front end. 2. Remote presentation, when the presentation is fully disconnected from the application logic. 3. Distributed logic, known variously as cooperative processing, peer- to-peer processing, or remote procedure calls. 4. Remote data management, which may be implemented as SQL commands, sockets, or remote procedure calls. 5. Distributed database, a logical database distributed over multiple hardware platforms. ******************************************************************** Figure 1: The Five Client-Server Interfaces (FIGURE NOT AVAILABLE IN ASCII TEXT VERSION.) ******************************************************************** Conceptually, client-server computing is not difficult to understand, just to implement. The implementation challenges are greater as you move up the diagram from distributed presentation to distributed database. Client-server computing is attractive because it allocates more than one computing machine to a particular task. Imagine, if you will, the difference between a terminal-mainframe application with one computer and sixty users, and a client-server application with the same number of users but sixty-one computers (sixty personal computers for the users and one computer for the server). In place of monolithic computing cycles on a centralized mainframe, client-server computing shares out computing cycles to a network of client machines and server machines. A favorite way of defining the client-server approach these days is downsizing. Client-server computing "downsizes" computing to cheaper, smaller personal computers. In addition, client-server computing is "open," meaning that any vendor's computer can be connected to any other vendor's computer using the paradigm. This allows all vendors to compete equally for the client components and the server components interchangeably, ultimately providing lower costs. Both of these factors, downsizing and openness, result in higher quality computing at lower cost. A management report card So what are the drawbacks? What is holding us back from wholesale adoption of the client-server model? The remainder of this viewpoint is a report card on some of the management issues that are in the way of a full deployment. Legacy applications A major impediment is legacy applications. Whether we like it or not, it is often less expensive, in the short run, to continue an approach that has paid off in the past than it is to switch. This is because our investment of long learning curves and sunk costs in the existing approach give it the edge. In addition, there are start-up costs for changing the legacy applications, even though the ultimate outcome is a lower cost approach. As the saying goes, "better the devil you know than the devil you don't know." By now, most universities are into their second and even third generation of legacy applications on mainframes. Legacy applications have in their favor the cumulative investment of capital and labor for years that preceded the availability of client-server computing. The combined value of legacy applications (hardware, software, and data) may be as high as $100 million dollars in some institutions, an investment that cannot be easily discounted. Legacy applications are a brake on the speed with which client-server applications can be undertaken. This is either a happy situation or an unhappy situation, depending on your perspective. On the happy side, such applications provide a foundation on which client-server applications can be built gradually with modest expenditures and sensible risk--they keep on running while client-server computing is being perfected. On the unhappy side, legacy applications can serve as an excuse for not making the change. One of the most important tasks of information technology managers in the next few years is to strike the right balance between investments in mainframe legacy applications versus client-server computing applications. Network dependency Another major issue that influences the pace of client-server computing is the status of the networking infrastructure. Information technology managers understand that their greatest challenge and opportunity is networking their campuses. Each college and university is progressing towards campus-wide, high-speed networking at its own pace. The pace of these networking activities also sets the pace for client-server computing activities, because they are both intertwined. If a campus has high-speed networks in place, it is well positioned for client-server computing. If, on the other hand, a campus is still ocked into mainframe networking (such as IBM's SNA or Digital's LAT network), the pace of client-server computing could be slower. Mission-critical versus user-critical Not all applications are suited to client-server computing. Ted Klein of the Boston Systems Group offers these five types of applications as inappropriate: 1. Applications with large databases which can- not be easily partitioned or distributed. 2. Applications that must provide very fast database response to thousands of users. 3. Applications that are closely connected to other mainframe applications. 4. Applications that require strong, centrally managed security and other services. 5. Applications that require around-the-clock availability[2]These applications fall into a category sometimes called mission-critical or "bet your business" applications. In large universities student registration, grade reporting, financial management, and payroll are mission-critical applications. They are characterized by large databases (50 megabytes or larger), fast database accesses (800,000 database accesses per hour), low response times (less than 5 seconds), and 900 or more simultaneous users. While mainframe computers serve mission-critical applications well, they fall short when it comes to "user-critical" applications. User-critical applications are those that empower users, as knowledge workers. They provide quality information to non-traditional users such as students, faculty, deans, executives, and administrators--people who have, by and large, learned computing on personal computers, who are outside the circle of central administrative office users for whom mainframe legacy systems were originally intended. Client-server computing takes data from mainframe computers so that it can be manipulated and presented using familiar personal computer tools. It acts as a bridge for passing mainframe data to non-mainframe users who are accustomed to the touch and feel of personal computers. High- speed campus backbone networks open up opportunities for these users to obtain information not previously available to them. This could ultimately be the greatest payoff of the client-server paradigm-- empowered students, faculty, and administrators. Client-server computing opens up new avenues of information for people who have historically been out of the loop. New clients, new partners With client-server computing, roles are changing. Whereas terminal- mainframe computing is centered on the central computing organization, client-server computing is centered on the user. Users play a major role in the definition of client-server computing and they also play a major role in sharing client-server computing expenses. Whatever the situation is today, in the future client-server computing will cause user offices to take on a larger share of the overall computing budget and burden. Even now, many institutions have passed the threshold where dollars spent by user offices exceed the dollars being spent by the central computing office on computers. While overall institutional expenditures for information technology will continue to grow in the future, it is likely that the central computing budget will flatten or even decline. The skill levels of user offices are also increasing. Client-server computing is coming at a time when users want more data for local decision-making. They want data and they want to be partners in fashioning the information architecture of our campuses for tomorrow. Client-server computing is calling on information technology managers to work with users as partners. In the 1990s we will be working in networked organizations of teams, rather than hierarchical organizations of bureaucracies, and client-server computing parallels the networked organization. Client-server computing empowers partners to use their computing investment more effectively. Without standards, it will not work Client-server computing also raises the need for better standards. Each of the five styles of client-server computing described earlier represents a permutation that will only work with precise interface standards. Any vendor's machine can play the role of the client and any vendor's machine can play the role of the server, and they will interconnect. In order for this to happen, it is important to have standard software solutions that all vendors accept. A standards organization important for client-server computing is the Open Software Foundation. OSF's goal is to offer technology that will enable users to create computing applications that work in local or global networks, regardless of which vendor's hardware or operating system is used. The eight original OSF sponsors in 1988 were Apollo Computer, Inc., Digital Equipment Corporation, Groupe Bull, Hewlett- Packard, IBM, Nixdorf Computer AG, Philips, and Sie-mens AG. In four short years, OSF membership has grown to over 350 organizations, including most major computing vendors. Higher education has played a major role in developing the OSF standards with work done at MIT, Carnegie Mellon, University of Guelph (Ontario), University of Massachusetts, University of Michigan, Vrije Universit, and the University of Calgary (Alberta). The OSF membership list now includes 161 universities and researchers. The first OSF standard was Motif, a presentation standard that was based on the X Window System from MIT. Motif is now supported by more than forty operating systems. Next was OSF/1, a standard form of the Unix operating system. OSF/1 is a symmetric, multiprocessing system with security, disk mirroring, and dynamic system configuration able to support commercial computing applications. Finally, and most important with regard to client-server computing, is the Distributed Computing Environment (DCE) which supports client-server computing. DCE includes standards for threads, remote procedure calls, time service, directory service, security, distributed file service, and diskless support. Two other important OSF standards are Architecture-Neutral Distribution Format (ANDF) and Distributed Management Environment (DME). Many OSF standards are not yet well represented in the marketplace. It takes time to incorporate OSF requirements into product offerings. The Open Software Foundation is gaining acceptance as the standards body of choice for open systems. As such, the administrative computing directors of the Big 10 universities have adopted OSF standards for client-server computing. This decision is expected to lead to the ability to exchange client and server applications (programs) between Big 10 institutions. Conclusion Client-server computing is a new paradigm and a new opportunity to open the campus information architecture to a segment of our user community that has not been served well in the past. Some see client-server computing as an alternative to traditional terminal-mainframe computing, but the jury is still out. The important question is, why bother? Terminal-mainframe computing does mission-critical applications well. Instead of reinventing terminal-mainframe computing, why not use client- server computing for user-critical applications? It is time for information technology managers to forge a new partnership with end users to make them peers in the formulation of a new campus computing paradigm. Rather than deciding unilaterally how client-server computing will be done, we must bring users into the discussion. If we do it right, we will automatically downsize mainframe computing, even though mission-critical applications may continue to be maintained on mainframes. Client-server computing will offload central computing cycles associated with user-critical applications, allowing existing mainframes to stay in place for a longer period of time. In other words, client-server computing will allow one of the largest components of mainframe computing workload to be migrated to distributed personal computers. Rather than unplugging mainframe computers, client-server computing will enable them to age gracefully. Since our new user-critical application partners stand to gain the most from client-server computing, they should also be prepared to invest the most. Rather than providing personal computers, software, and connectivity out of central budgets, the costs of these things should be paid by users. Central managers of information technology should do everything possible to remove the barriers preventing them from succeeding. It is our responsibility as central managers to provide mechanisms for using central data, to provide the networking infrastructure, to adopt standards, and to recommend and deliver training to facilitate the move to client-server computing. It is important for us to be agents of change, rather than victims of it. ********************************************************************* Most of the ideas in this viewpoint were derived from discussions that took place in an electronic roundtable hosted by Wayne Donald of Virginia Tech, Sam Plice of the University of Michigan, and Ken Blythe of Penn State University. The views expressed here are the author's synthesis of several months of discussions; they are not necessarily the views of all individuals who participated in that discussion. Anyone interested in receiving a file of the electronic roundtable discussion may request it by sending e-mail to: LISTSERV@ VTVM1 containing the one-line message: GET CAUSEASM LOGyrmo where "yr" is the year and "mo" is the month of discussion that interests you. The management issues discussion took place from June to December of 1992. For example, if you wish to retrieve discussions from September, include the message: GET CAUSEASM LOG9209 You will receive a copy of all messages generated during that month on the CAUSEASM listserv. ======================================================================== Footnotes: 1 Peter Schay, "How Will Traditional Mainframe and Midrange Systems Evolve to Support Client/Server Computing?" in the proceedings of the Gartner Group Symposium '92, Scenarios, Vol. 1 (Stamford, Conn.: Gartner Group, 1992), p. 6 of Client/Server section. 2 Ted Klein, "Beware These Untouchables," Computer-world, 10 August 1992, p. 68. ************************************************************************ Kenneth C. Blythe is Director, Office of Administrative Systems, at Penn State, responsible for coordinating the design, development, implementation, operation, and security of the University's student and business information systems, and for managing Penn State's "private" telecommunications network of 3,000 terminals. He is a past member of the CAUSE Board of Directors, and currently serves on the Current Issues Committee. ************************************************************************