Client/Server Architecture for Mainstream Administrative Systems - Bradley University's Experience This paper was presented at the 1995 CAUSE annual conference. It is part of the proceedings of that conference, "Realizing the Potential of Information Resources: Information, Technology, and Services--Proceedings of the 1995 CAUSE Annual Conference," pages 3-2-1 to 3-2-10. Permission to copy or disseminate all or part of this material is granted provided that the copies are not made or distributed for commercial advantage. To copy or disseminate otherwise, or to republish in any form, requires written permission from the author and CAUSE. For further information: CAUSE, 4840 Pearl East Circle, Suite 302E, Boulder, CO 80301; 303-449-4430; e-mail info@cause.colorado.edu. CLIENT/SERVER ARCHITECTURE FOR MAINSTREAM ADMINISTRATIVE SYSTEMS - BRADLEY UNIVERSITY'S EXPERIENCE Ellen Watson Associate Provost for Information Resources and Technology Stephen Patrick Director of Computing Services Bradley University Peoria, Illinois ABSTRACT Bradley University is approaching the end of our conversion of all mainframe administrative software to a client/server environment. These mission-critical systems support very large databases and provide multiple users and hardware platforms with a complex array of data entry, verification and reporting options. The following major systems have been/are being implemented in a client/server architecture: * Advancement -- Summer 1993 * Finance -- Summer 1994 * Admissions -- Winter 1995-1996 * Student Records -- Spring 1996 The presentation will review our approach to client/server administrative applications and focus on our methods of working with system owners to design the client/server applications and to solve the problems and difficulties encountered. Particular attention will be devoted to the following issues: * Involvement of system owners/users in client/server design and implementation * System performance in a client/server environment * Printing and reporting * Integration with auxiliary applications -- DARS, SPEEDE, telephone registration * Cross platform integration -- Mac, PC * Remote access THE UNIVERSITY CONTEXT Bradley University is an independent, privately endowed, coeducational institution located in Peoria, Illinois. It was founded in 1897 as Bradley Polytechnic Institute by Lydia Moss Bradley as a memorial to her children and husband, Tobias. Bradley became a four-year college in 1920, and in 1946 became a university and began offering graduate programs. It is fully accredited. MAINFRAME ADMINISTRATIVE SYSTEMS AT BRADLEY In 1990, Bradley University's administrative systems were centralized on a mainframe computer. These systems were either locally developed, or were purchased software heavily modified by Bradley and no longer supported by the vendor. There were significant problems with these systems: The systems were not implemented in a modern data base management system; the systems were very inflexible; design decisions made in the 1970s were causing numerous operational problems. In addition, the mainframe computer was a proprietary design manufactured by Control Data Corporation. There was a concern that we would face a difficult problem if Control Data did not succeed in the mainframe market. Scope of Bradley's Administrative Systems: Advancement Alumni, Friends and Corporations 70,000 Size of Centennial Campaign $100,000,000 Number of users 44 Remote staff 3 Finance Number of University Accounts (Account+Category) 60,000 Number of primary users 40 Admissions Student Search Prospects 200,000 Active Prospects 65,000 Applicants 3,500 Freshman target 1,050 Number of primary users 36 Number of secondary users 13 Remote staff 8 Student Records Number of enrolled students 6,000 Student Records on-line 36,000 Number of primary users 12 Concurrent secondary users (potentially all faculty) 30 PREPARING FOR THE TRANSITION TO A CLIENT/SERVER ENVIRONMENT After reviewing the existing environment and projected needs, Bradley University's Information Resources and Technology unit developed a "Computing Initiative" to move the campus from a mainframe environment to a distributed environment. Initially, we did not target client/server as the architecture of choice. We recommended a phased implementation. The highest priority was the Advancement system. Bradley was to begin a $100 million campaign in 1993. The Advancement staff considered the then-existing system inadequate to support the needs of the campaign. Finance and accounting were given the second priority in part because we felt that the conversion of our system to a "standard" accounting system should be relatively straightforward. Student Records and Admissions were considered the most difficult applications to convert and they were put at the end. We initially decided to look at purchased systems operating in a mini-computer environment. Technical staff and the major administrative computer users examined a variety of options. None of the systems available at the time provided all the services needed and the prices were too high for the perceived value of vendor-based systems. A computer industry executive (and Bradley alumnus) recommended that we do a pilot test of the Advancement system in a client/server environment using Rapid Application Development methodology. Because this was uncharted territory for Bradley's administrative development staff, we employed a consultant to serve as the project leader for the effort. June, 1992, the consultant and one Bradley programmer/analyst began a two month project to prototype an Advancement system based on the needs of our Advancement staff. At the completion of the pilot project, the overwhelming consensus was to complete the project and implement the system. We were able to demonstrate that performance of the system in a client/server environment was better than on the mainframe. Based upon the success of the pilot project, the implementation timetable for the Computing Initiative became: 1. Develop the Advancement system internally. Implement the system in June 1993. 2. Purchase a client/server-based Accounting System. Implement that system in June 1994. 3. Develop internally Student Records and Admissions systems. Implement in 1995. The Computing Initiative was discussed with senior University Administrators throughout its development. The final budget agreed upon in 1993 was: Advancement system cost $45,000 Finance system cost $95,000 Student Records system cost $105,000 Admissions system cost $48,000 DESIGN ISSUES We recognized from the beginning that "client" involvement -- the participation of the owners and users of the system -- would be essential to the success of system development efforts. The Rapid Application Development (RAD) methodology was integral to the success of our efforts. In prior development efforts, the time lag between system specification, coding and delivering a demonstrable product was a hindrance to our understanding the needs of the client and delivering the product. Our RAD technique used weekly meetings with our clients to involve them in the development effort. Senior administrators, office managers and front line staff were all involved in the RAD implementation. At each meeting we demonstrated the week's progress, discussing issues and setting milestones for the next meeting. Clients saw the actual functioning of the system as we developed it. We were able to make major and minor adjustments to the system early and continuously in the development cycle. A further complication was that none of us (including the client) had a clear understanding of what was data needed to support a $100 million campaign. We needed to insure that the system was flexible enough to allow for changing and emerging needs. By demonstrating the ease of program and data base modification, we all felt that we could adapt the system to meet whatever needs developed. EXPERIENCE WITH THE UNCERTAINTIES OF THE CLIENT/SERVER ENVIRONMENT We knew that a client/server architecture would be fundamentally different from a mainframe or a mini-computer environment. When we began our project, we were not -- and could not be -- aware of the extent of the differences. Furthermore, we could not find successful implementations of client/server "bread and butter" administrative systems either to be purchased or to serve as models. As we developed this new environment, we encountered a number of technical challenges that are worth discussion. 1. System performance in a client/server environment 2. Printing and reporting 3. Integration with auxiliary applications 4. Workstation configuration and cross platform integration 5. Remote access System Performance Client/Server architectures are much more complex than host- based systems. There are many factors that impact performance (generally negatively) including the server, the network and the clientcomputer. Also, monitoring and control of these factors is much more difficult in a client/server environment. Several application development products provide acceptable performance with small data bases, or small groups of users, but cannot provide the performance needed for a modern, large administrative system with a large user base. Our Advancement database consisted of 70,000 individuals and institutions. Normalizing the data resulted in many data tables and millions of records. This environment makes the efficiency of the application development tool and the data base a critical factor. For the Advancement system, we chose a DOS (non-Windows) environment using Clarion as the development tool. At the time, we did not find any Windows based environments that provided adequate performance. The Student Records and Admissions systems are developed in a Windows environment (with some reporting tasks in DOS) again using Clarion. Printing and Reporting Printing and reporting offer special challenges and opportunities in a client/server environment. Clients typically have a variety of printers that are incompatible with each other. Also, there exist needs for volume printing in either the user office or the computer center. At Bradley, different offices solved the problem in different manners. The Advancement unit elected to have Computing Services print most reports. The Controller's Office prints to a high volume laser printer in the office. We found that reporting using Windows standards adds significantly to the complexity of the programming task -- dealing with different sized fonts, proportional fonts, page layout vs. line layout. We chose to avoid this on the initial implementation by sticking with a DOS reporting strategy. Executing report programs is another challenge. Most central host computers are multi-user/multi-tasking systems making background processing of reports a routine task. Desktop computing especially in a DOS environment are single tasking systems, and most users do not want to "give up" the use of their systems to run a report. Also, some reports need to be scheduled for later processing. On a positive note, integration with Word-processing and other office automation software is much easier for users to understand and use than in a centralized environment. Because we developed the Advancement System internally, we were able to solve this problem to some extent. We have a pair of computers in Computing Services dedicated to running ad hoc reports. These computers constantly process reports placed in a report queue. Output from the report servers can be printed on any network printer or saved on a network disk for later processing. During busy times, users have the option of running these reports on their office computers. With the purchased accounting system, we did not have the ability to implement this system. Rather, we installed "extra" high performance computers in offices; clients can use these workstations to run reports without losing productivity. The Student Records and Admissions systems are Windows-based systems; we can multi-process reports and other tasks, though performance suffers. Early benchmarks showed that the processing time needed for a client performing a massive batch run (for example, grade processing or census reporting) compared favorably to the same runs in the mainframe computer. Attention to the indexes and keys in the data-base has made selection and reporting significantly faster. We provide user-controlled parameters to specify the amount of resources to allocate to foreground processes. While this is just the opposite of what we would like, that's a Windows limitation that we must accommodate. Auxiliary Applications The Student Records system has a number of auxiliary subsystems that must be supported in a client/server environment. * Bradley University has been using voice response registration for a number of years and this feature must be supported in the new system. The voice response system communicates to the mainframe through a single serial line. While we could write a PC program to simultaneously handle multiple conversations, we decided to do this with one UNIX system written in C++ communicating with the application server. This implies that the database management system must be able to support both personal computers and UNIX systems. * The mainframe student records system audits degree requirements. Reprogramming a degree audit system was such a complex task that we felt it was more than the internal staff was prepared to accomplish in the planning time frame. We purchased the DARS system from Miami University to replace our degree audit system. DARS is an IBM mainframe, CICS-based, system available in COBOL or PL1. We initially thought we would build our own front end to DARS, then just execute the COBOL code to actually produce an audit. We found this another difficult challenge. We maintain degree requirements using a CICS emulator. We devoted our resources to the actual execution of an audit in a user friendly manner rather than devote resource to maintenance of the audit rules database. * Bradley University was an early adopter of SPEEDE for exchange of electronic transcripts. We use the Supply Tech PC based package. Because we are eliminating a step in the process -- translation between the mainframe and the PC -- the resulting system is simpler than the original. Configuration and Cross Platform Integration Bradley University's computing environment is a diverse mixture of IBM-compatible desktop computers, Macintosh computers and UNIX workstations supported by a variety of servers and networks. Our goal is to provide access to our systems from a variety of platforms. We faced two major challenges: the configuration of individual computers is critical to our success; and we wanted to offer the systems on a variety of hardware platforms. To minimize our development effort we purchased as much software as possible. Application software vendors (particularly in a DOS environment) have a tendency to demand a certain computer configuration. This does not present a problem for individuals who use only a single program, but presents a significant problem to those using a variety of software products. We solved this problem by making extensive use of boot menus. Windows and other software vendors have a tendency to change the computer's configuration on installation of their software. Often this reduces available base memory to a level that will not support our applications. Users occasionally change their computer's configuration without contacting us. We have had the entire Advancement system freeze-up because a user configured it to run from a DOS Window -- and allocated no time to the process while minimized. Many Windows-based applications are memory hogs, reducing available resources below an acceptable level. We chose not to pursue getting our applications working on Windows95 until after we complete the initial implementation. Our applications do not run under Windows95. Programmers need to monitor the impact of maintenance on the memory requirements of the destination computers, making testing and debugging a greater challenge. We have found that DOS emulators will run our administrative software, but users pay a severe performance penalty. Running on Power Macintosh computers with an Intel hardware co-processor provides acceptable performance for a large cost premium. We now require either a 386 or better Intel processor to run our administrative applications. Remote Access Dialing in to campus using a modem was supported on one of our first mainframe computers. Running client/server applications remotely is not as easy a prospect. We have two types of remote users. One wishes to call in and access the University's administrative database. We installed several "remote control" computers that are on the Bradley network. Clients call in and take over these computers that are on our local network. This process is conceptually the same to the user as a terminal is to the mainframe. Admissions Field Representatives run the same program in their remote office (typically on a portable computer) that the home office staff uses. We have a batch program to upload changes to the main database and download new prospects and changed information from the master database to the admissions representative. This has several advantages over a separate and special program for the Field Representatives, including easier training, consistent support, and flexibility so that our staff can move between the field and the home office easily. The software's security features controls the ability of staff to change only authorized data. Security is consistent in the field and at home. For both types of users, we are experimenting with bridging/routing Ethernet over ISDN telephone lines. We have a project underway to determine if we can provide true client/server applications to our remote clients. For the Admissions field representatives, we are experimenting with a commercial network. We found it difficult to support remote users' modem and communications problems from Peoria. BENEFITS There are two main categories of benefits we have realized from the new systems. The most significant set of benefits result from a good design, using relation database modeling techniques to build systems that are flexible and provide clients with control of their system. While the same system (with a different look and feel) could have been built in a mini-mainframe environment, the benefits associated with the client/server architecture also substantial. These benefits are primarily financial savings and ease of use. Financial Benefits The full cost of a minicomputer vs. a client/server system will be about the same IF the minicomputer system consists of a minicomputer and low cost terminals on desktops. If we consider workstations on desktops, there is a clear cost advantage with client/server architectures because the cost of a server is significantly less than that of a mini- computer that would provide equivalent performance. Even assuming an equivalent cost structure, there are financial benefits with client/server architectures. At Bradley there has been a several year lag between the time the mainframe begins to provide unacceptable performance and the time we upgrade the mainframe, due to the high cost of upgrading the mainframe. Because in a client/server environment the bulk of the computing takes place on the desktop, the incremental cost of improving performance for a particular user is far lower than in a central host-based system. With smaller incremental cost/performance amounts, we can choose a strategy of continuous upgrading rather than waiting for performance to become unacceptable before upgrading the host computer. We found with our mainframe computer that most computer users were migrating to personal computers to emulate mainframe terminals. Clients preferred to use personal productivity tools on desktop computers rather than on the mainframe. Also, we were installing local area networks to provide shared resources, other network applications and access to the Internet. In this case, we found a significant cost advantage by trading a single very expensive mainframe computer for several low-cost servers. We can purchase high- end servers with all the bells and whistles (RAID, UPS, and built in tape drives) for the mainframe hardware maintenance money and have change left. Ease of Use We can provide far more services in a PC environment than in a block mode mainframe terminal. In our DOS applications, we edit and correct each field as it is entered. Pop-up screens with list and scroll boxes are very easy to develop and provide significant help to our clients. We use normal Windows conventions for our Windows products. Once an individual is familiar with Windows applications, the training needed to run our applications is minimal. This is particularly important for casual users such as faculty and advisers. Frequent users of the systems (particularly data entry clerks) can be slowed down by a poorly written "standard Windows" interface. All of our systems have been written to not require mouse input for data entry screens. On the other hand, the mouse is extremely useful for the point-and-click users (management) of the system. Because the applications follow Windows rules, we can open multiple administrative applications and multiple instances of the same applications. When a client is in the middle of one task and needs to respond to an inquiry, that individual can open other window, handle the work, then return to the previous task. CONCLUSION The Computing Initiative which began in 1992 has completely transformed the environment for administrative computing at the University. Here is a summary of where we are now on each of those components of the Computing Initiative: * Advancement -- Implemented on-time -- Summer 1993 * Finance -- Implemented on-time -- Summer 1994 * Admissions -- Implemented December 1995 * Student Records -- Planned phased implementation beginning April 1996 If we were to undertake the project at this point in time, we would do some things the same way, and certainly make some changes, as well. The decision to move to a distributed environment was definitely correct, as was the decision to implement a client/server architecture. Based on our experience, we strongly recommend that client/server applications be given careful consideration at any institution considering advancing from a mainframe environment. We have experienced genuine improvements in both cost effectiveness and user satisfaction through implementing the client/server applications. The Rapid Application Development methodology was also highly successful, although as we gained more experience we made some modifications in the original methodology to take advantage of our increased expertise and the differing desires of clients to be more or less deeply involved in the development process. We have learned -- through sometimes painful experience -- that it is worth the extra money to buy tested, network- certified servers, with maximum capacity and appropriate, fully-compatible components and peripherals. Our experience with systems assembled from a variety of manufacturers has been that it has taken a great deal of time and expertise to assemble, tune and later enhance the systems, causing downtime and problems for users. Our original intent to purchase developed software from reputable vendors would still be our first choice now -- and there are now a number of choices available that are worth consideration, which was not the case when we begin implementation. However, we have found that we can provide far better service to our users if we have access to source code, so that we can appropriately debug, problem-solve, and modify applications to meet the specific needs of our institution. We will certainly be considering vendor- developed and -supported software as we add applications to our client/server environment. Now that the Computing Initiative is nearing completion, it would be nice to think that we could sit back and rest on our laurels for a few months -- or at least polish up the final modifications, finish debugging, etc. In the real world, however, that is not an option. As soon as we have programmers free, we need to begin the cycle of development again, porting the Advancement System to a Windows environment, upgrading servers and networking for the whole architecture, resolving some nagging problems, and adding "essential" enhancements to meet user needs. In addition, we need to fully integrate all of the applications, develop an executive information system, develop a data warehouse structure to support institutional research ... well, you get the picture. It has been very important that we have had -- and continue to receive -- the support of senior administration and our users, as we push to provide the best possible systems and service to meet the University's needs. Those are the essential realities that underlie the decisions that we have made. Based on our experience, client/serverarchitecture can be an important element in reaching those goals.