Technology Planning Committee Report
Information Technology and CommunicationApril 29, 1993
Submitted by: Shirley Payne, Dave Saunders, Tim Sigmon, Martha Sites
The Technology Planning Committee was formed to "look at the future directions for ITC" and to "explore what the impact of new technologies might have for our (ITC) strategic planning". Initial discussions led to the realization that making recommendations for new technology required an understanding of the vision for computing at the University of Virginia. Therefore, we obtained the May 1991 "Statement of Vision and Goals" for computing and communications as presented to CIM. That statement provides "fundamental concepts (goals) that the University must embrace" in order to become a leader in new technology.
After discussing ways in which ITC could help the University meet those stated goals, we found that our ideas fell into five general areas: 1. Hardware/Software Environment; 2. Communications; 3. Applications Development and Support; 4. Information Integrity and Security; 5. Staff Development. It is these topics that have guided the discussions of the Technology Planning Committee.
This report includes a summary of our discussions and recommendations for specific actions which ITC can take to help the University meet its goals. We believe these recommendations can be reasonably implemented, but the efforts of the organization should not be limited by them. It is clear that continued discussions and detailed planning will be necessary if ITC is to make progress in meeting the moving targets presented by rapidly changing technology.
I. Hardware/Software Environment
The existing hardware/software environment has many hardware devices running with a variety of operating systems. We believe that the future hardware/software environment for ITC should be better distributed with a limited number of environments to support. Decisions to add new platforms must include consideration of the staffing levels needed to support them. With that in mind, the following recommendations will enable ITC to 1)build a better distributed environment, 2) take advantage of distributed capabilities, 3) improve public access to computing, 4) improve acquisition and administration of software licenses, and 5) evaluate data storage needs and possible solutions.
I.1. Build a better distributed environment
In order to more fully take advantage of the current and future distribution of computing and information resources, there is a set of core services that need to be provided. These services will help mold the current environment of loosely connected distributed computing resources into an integrated environment that transparently supports the development and use of distributed applications. Currently, OSF DCE is the de facto standard for those services. Therefore, ITC should aggressively pursue these core technologies by continued investigation and deployment of the Open Software Foundation's Distributed Computing Environment. The OSF DCE contains initial implementations of many of the core services that are needed:
(1) Remote Procedure Call (RPC) facility and Threads library - supports the development of distributed applications using multiple threads of control.
(2) Directory Service - provides a global name space as well as a local name space.
(3) Distributed Time Service - provides clock synchronization.
(4) Security Service - consists of authentication (via Kerberos), authorization (via Access Control Lists), and secure communication (via security-related RPC routines).
(5) Distributed File Service - lets users and applications share files locally and globally.
I.2. Take advantage of distributed capabilities
Moving away from a mainframe-centered environment toward a distributed computing environment should become a primary objective for ITC. This migration should be done in a way that does not lead to a multitude of environments to support. We recommend limiting ITC's highest level of support to UNIX, MS-DOS/Windows, and MacOS. We emphasize that these products are the currently available products which are desireable, and other products should be considered as they come on the market. We also recognize that it will be a number of years before administrative legacy systems can be replaced or migrated. That means that MVS/VM should be supported as long as there are applications which must have that platform(s). In the meantime, ITC should develop specific strategies for moving existing applications off mainframes to other platforms.
Recommendations:
(1) Give preferential treatment to solutions that are non-mainframe based as new development projects are considered. To some extent, software will continue to drive which hardware platform is used. However, potential solutions to business needs should include application software packages that operate on minicomputers and intelligent workstations. In addition, we should carefully consider whether migrating applications as they currently exist in the mainframe environment is desirable. Time should be spent evaluating the benefits of redevelopment to take advantage of the technology afforded by a new operating environment.
(2) Use the migration of SAS and SPSS applications from both the ACC and the ACS mainframes to other recommended platforms as a prototype for future migration of applications. It is estimated that a reduction of up to 25% of the utilization of the mainframes would be achieved. SAS and SPSS users should be identified, and users should be contacted personally to encourage migration. This project should have someone assigned to coordinate the effort.
(3) Identify application development tools which are available for the open systems environment for multiple platforms. We should begin by defining the functional requirements which must be maintained. This will enable us to determine which tools provide the functionality required instead of simply replacing specific existing products. Initially, emphasis should be placed on selecting a fourth generation programming language, database software, and job management software. ITC should also evaluate conversion tools which might assist in migration to new platforms.
(4) Determine the direction of vendors toward the non-mainframe environments for all purchased application software packages and supporting systems software currently on the ITC mainframe(s). Use this information to develop a formal plan identifying what can be migrated, along with an implementation schedule.
(5) Encourage users requesting new accounts on the ITC mainframe to consider the UNIX or microcomputer environment.
(6) Provide software tools for users across the different supported environments to make these environments more "user-friendly". For example, while we do not advocate duplicating all popular microcomputer software on UNIX systems, we do recommend making WordPerfect available.
(7) Develop a plan for the support of the distributed computing environment.
I.3. Improve public access to computing
Currently there are numerous public computer facilities located around the Grounds. They provide approximately 500 PC-, AT-, and XT- compatibles, 100 Apple Macintoshes, and 30 UNIX workstations with all but one of the facilities connected via local area networks. These facilities provide support to the 17,000 students and 2,180 teaching faculty at the University as well as many non-teaching faculty and staff. Goal 4 from the "Statement of Vision and Goals" states that "Ubiquitous availability of personal computing capacity is essential". As we move toward that goal, it is important to continually review and upgrade existing public facilities.
Recommendations:
(1) Identify target areas for locating new public computer facilities.
(2) Provide state-of-the-art computer classroom(s). In recent visits to departments by ITC staff, there have been a number of requests for computer classroom space similar to that in Gilmer 109. We should provide at least one computer classroom which has the same configuration as Gilmer 109 with the added feature of a projection system.
(3) Provide portable computing equipment that can be checked out and delivered to faculty for classroom use. There are times when a faculty member needs to access a computer for demonstration purposes only one or two times during the semester. There is no reason to schedule a specially-designed computer classroom for an entire semester when portable equipment could satisfy some of those needs. Portable equipment will be viewed by faculty as an asset if a delivery service is provided.
(4) Establish a computer training facility (on central Grounds) that could be reserved by ITC staff as well as other University departments. Currently, there is no facility on Grounds which can be scheduled for short periods of time and used for training purposes.
(5) Provide dataports in classrooms and public areas to allow users to connect their own microcomputers to the University's network. Some initial areas should be designated for implementing this concept. We should plan for routine installation of dataports in any new classrooms, offices, and public areas.
(6) Provide a demonstration facility for hardware/software. This facility would provide a place for faculty and staff to "try out" various microcomputers and workstations as well as software products before making decisions about purchasing them. The facility should also provide access to graphics and visualization technologies. As CD-ROM, audio, multi-media, and live video technologies come into their own in the next couple of years, we should be ready to provide those services in this facility as well.
I.4. Improve acquisition and administration of software licenses
Obtaining software licenses has often been an administrative nightmare. Delays attributed to the contract approval process have routinely ranged from 1 to 14 months with some contracts never resolved. Other problems arise because there is no single place where faculty and staff can find out what site licenses are available for the University. It is not even possible to find out what software is being used at the University. We believe that establishing some procedures for managing software licensing information within ITC would alleviate some of the latter problems while the contract approval process would be helped by some policy changes within the University.
Recommendations:
(1) Assign an individual within ITC the task of coordinating site license acquisitions, including "pushing" them through Purchasing and Materiel Management and the Office of the Legal Advisor.
(2) Develop a database of all software purchased for the University. Within that database, identify software for which the University has a site license. Use data from CAPPS to update the database and evaluate the data to determine the need for pursuing site licenses for products being purchased frequently by University departments.
(3) Provide a database of site-licensed software by category, etc. for the Grounds Wide Information Server (GWIS).
(4) Lobby for the ability to purchase software costing less than $10,000.00 or to obtain software which is for evaluation-only without having to obtain contract approval from the University's Office of the Legal Advisor.
I.5. Evaluate data storage needs and possible solutions
There is a growing awareness about the physical space required for the proliferation of paper records that come from both administrative and academic offices. In this age of recycling, people are looking for ways to reduce the use of paper as the primary medium for reporting and communication. Instead of renovating buildings to accommodate storage of paper files, ITC should provide a wide range of storage solutions to allow for as much developmental flexibility as possible. While we expect that tapes, cartridges, and disk drives will continue to be part of the solution for the near future, we should maximize their usefulness, and we should not rely on those mediums as our only solutions. We should continue to evaluate storage systems on an on-going basis. In addition, we should inform and educate development staff and end users of new opportunities as they emerge.
Recommendations:
(1) Investigate the need for a tape management system for UNIX to give staff and end users another option for storing data. This should include consideration of an automatic disk archiving system.
(2) Investigate the feasibility of providing automatic CD-ROM juke boxes to allow users to access enormous amounts of data. Writable CD-ROM drives, as their costs come down, could replace tape and expand the amount of data users can archive.
(3) Prepare specific recommendations with regard to use of imaging technology. A joint group (ITC and MCC) should be formed to define a plan for incorporating the use of imaging for storage at the University. ITC should then assess these results and develop strategies for incorporating the new technology.
(4) Protect systems which have been identified as critical to the University's daily function from hardware failure as much as possible. RAIDS (Redundant Arrays of Inexpensive Disks) and disk mirroring are already available on the platforms recommended in this document and should be utilized as needed.
(5) Investigate the need for an institutional file system. Implementation of an institutional file system would give users the ability to access applications and personal data in a consistent manner from any spot on Grounds.
(6) Use the best tape technology available in each environment, e.g. AIX - 8mm tape, MVS - 3480 cartridge. Users should be encouraged to convert from older technologies.
(7) Encourage the continued conversion of printed reports to on-line media.
(8) Replace microfiche service with a modern advanced storage service such as CD-ROM.
(9) Investigate CD-ROM and tape silo technologies for mass storage options available to all ITC systems.
II. Communications
It is important that ITC continue to endorse and implement the communications goals as put forth by the President's Committee on Computing and Communications entitled "Communications Planning for the University of Virginia: 1989-1993." Our recommendations include some specific short-term projects and goals that lead toward the overall goals.
Recommendations:
(1) Continue deployment of TCP/IP and IPX, and AppleTalk-capable devices to the desktop.
(2) Continue expansion (in both capacity and geographic reach) of the backbone network in order to keep pace with user demands.
(3) Move to minimize SNA networking activities.
(4) Base development of client/server applications on TCP/IP or possibly IPX (NetWare); move away from applications that are based on serial-line communications.
(5) Establish better coordination of communications activities with the Health Sciences Center (in particular, MCC and HSF).
(6) Work toward providing better (e.g., higher bandwidth) connectivity to the homes of faculty, staff, and students.
(7) Continue to develop and deploy higher-level networking services such as authentication servers, institution-wide file systems, global e-mail services (e.g., University-wide mailing lists and address resolution), etc.
III. Application Development and Support
Currently major administrative application systems are operated primarily in the mainframe environment. This mainframe orientation is starting to change as evidenced by several current development projects that will install applications on RS/6000 and other nonmainframe platforms. Section I of this document addressed the various reasons why migration away from the mainframe is needed and outlined strategies for moving in that direction. This migration will provide opportunities to drastically change the way in which applications are built and supported. This section defines these opportunities and makes specific recommendations for addressing them. Much can and should be done. The key challenge ahead is to research available new technologies, processes and tools, select those most suited for our environment, establish standards, and train the staff in the use of these new capabilities, all without negatively affecting staff productivity.
III.1. Employ automated software engineering processes
Software engineering, consisting of processes designed to introduce discipline and accuracy into the software development process, can be automated by the use of various software development tools. Earlier computer-aided software engineering (CASE) tools automated only parts of the process, such as code generation, but new products such as the ICASE (Integrated CASE) tools which integrate all processes involved in developing a system are now on the market. In addition, new development processes, such as rapid application development (RAD), are now available. The overall goal of these process and tool advancements is to reduce risks in the development and support of applications. They promise to make implementation of higher quality applications possible in less time and should be investigated. Considering that almost 50% of the current Systems Development and Support staff is dedicated to the ongoing maintenance and enhancement of existing applications, it is critical that 1) applications are developed so they are easier to support and 2) better software support tools be provided to assist them in their work.
Recommendations:
(1) Investigate ICASE technology and object-oriented techniques within the next year. The Development Center has done some work in this area already and should provide input on this.
(2) Use complementary development techniques such as rapid application development (RAD) and joint application requirements/design (JAR/JAD).
(3) Implement improved processes for managing source code and software releases, including the distribution of code to remote workstations.
(4) Choose programming languages for new projects by determining which language will enable the most effective development and implementation of the application being considered. It is not possible to limit our development efforts to a fixed list of languages. For example, purchased administrative software currently in production is written in COBOL, Assembler, and C. In addition, standard programming languages used to develop in-house applications include Mantis, COBOL, Fortran, Pascal, C, SAS, SPSS, Clipper, dBASE, FoxPro, etc. We should evaluate on an ongoing basis the potential of new programming languages and adopt them as standards if appropriate.
III.2. Explore client/server architecture
As hardware downsizing occurs, there will be opportunities to build systems using client/server architecture, which emphasizes the distribution of system functions across multiple hardware platforms to achieve the best match of functional needs and machine capabilities. The client/server environment utilizes sophisticated graphical user interface and distributed database capabilities available on non- mainframe machines to make applications more accessible to the end user. The move to client/server architecture will not be trivial for several reasons. Tools and standards to support this new computing paradigm are still evolving, and distributing more capabilities to the workstation will introduce new management and security concerns. Careful planning will be essential to ITC's successful use of client/server computing.
Recommendations:
(1) Develop guidelines for determining the best hardware and software platform for a given application.
(2) Identify and implement pilot projects for client/server application development. Developing a pilot application will enable staff to understand the concepts inherent to the client/server model. That understanding is necessary before staff can make informed decisions about future applicability of client/server architecture to specific functional areas. It will also help staff to better evaluate specialized application development tools which support client/server architecture.
III.3. Build an integrated information environment
For many years applications have been for the most part developed as separate entities to serve the needs of specific business areas. These typically batch-oriented systems either operated stand-alone or communicated with other systems via batch interfaces. This approach has created a situation in which a) data elements were duplicated across systems, requiring redundant data maintenance, and b) the use of different data architectures from one system to the next grew, requiring increased technical support efforts.
The trend today is to develop applications which consolidate multiple related functions into a single online system using a common database. Needed data are stored once, data maintenance is simplified, and many offices needing these data access them from a single source. Even though the development of such major integrated systems have significantly reduced the problem at the University, certain classes of data are still stored redundantly across systems and multiple data architectures are often utilized. This situation will continue due to the desireability for accommodating purchased software packages as well as user-developed software. Therefore, ITC should find ways to present a single image of university data to all users who have authorized access. Adopted strategies should allow the continued existence of physically separate and disparate data architectures.
Recommendations:
(1) Adopt SQL databases with distributed database management capabilities as standard.
(2) Adopt information engineering as the basic methodology for application development.
(3) Investigate the desirability of implementing an automated repository for metadata, such as that used in IBM's AD/CYCLE development environment.
(4) Develop a "data warehouse" that consists of a database and presentation tools which provide information useful for decision-making at all levels of the University. In the meantime, make existing data dictionaries for production systems widely available so that users will be aware of data currently available to them.
(5) Move toward implementation of the ANSI ASC X12 standard for electronic data interchange with systems external to the University.
III.4. Employ other new technologies
There are numerous other technologies that are beginning to be used in mainstream production applications in other industries. ITC should incorporate its use of these technologies in administrative and academic applications. Some of the emerging technologies which should be addressed are: (1) Multi-media (2) Imaging technology (3) Expert systems technology (4) Alternate input mechanisms: pen-based computing, voice response, etc.
IV. Information Integrity & Security
It is clear that the University will benefit from the increased use of information technology. What is not so obvious are the consequences of a failure somewhere within the new infrastructure we are building today. Certain failures could have catastrophic effects on the institution. Therefore, we need to examine our environment very carefully to increase the probability that critical services can survive disasters, negligence and malicious attack. The backup and speedy restoration of data should receive a high priority. The restoration process must be timely; for every hour a critical resource is down, the University can loose tens of thousands of dollars in lost productivity. User departments who make heavy use of their own computing resources also have a need for planned backup and recovery procedures. Developing a relationship in which we can provide guidance to those departments will benefit the entire University.
The various University departments are increasingly dependent upon one another for information. This trend will continue as computing technology makes it easier (at least on the surface) for user departments to perform their own data processing. As the number of systems available to end-users proliferates, better controls must be established both for the installation and maintenance of systems and for end-user access to them. Security is an area of critical importance. It is possible that a user is (properly) denied access in one way and yet has access through another. As the sophistication of the various security mechanisms increases, so too will the the difficulty in properly managing them.
Recommendations:
(1) Review system backup and recovery procedures on a regular basis.
(2) Implement the recommendations of the recent ITC/MCC security task force. In particular, it is important to secure all critical network transmissions.
(3) Review the existing security environment periodically to increase its future maintainability.
(4) Establish installation standards to minimize inadvertant data exposures in non-centralized security environments.
(5) Establish an authentication service which will control access to ITC computing applications and data.
VI. Staff Development
As ITC provides leadership for computing at the University, we should develop leaders within our organization. ITC staff development should be given some priority. We want to foster futuristic thinking in our staff, and we can do that by creating an environment where that is both encouraged and expected. Planning for downsizing, client/server computing, and other initiatives must take into account the dramatic impact this change will have. Retraining will be time-consuming, must involve developers both in ITC and user offices, and will detract temporarily from current application maintenance and development activities. User expectations, particularly for modifications to existing systems, must be managed to allow time for staff training. This will require commitment and creative planning at all levels of the organization.
Recommendations:
(1) Provide all ITC staff with a copy of any vision statement or strategic plan for computing and communications for the University so that staff can work toward these stated goals. In order for staff to contribute to the mission of ITC, they must know what the organization is striving to do. Having this information before them will allow staff to make recommendations to users that are in line with the long-range goals for computing at the University. They will also be able to provide better feedback to ITC from their contacts with user departments.
(2) Replace ITC staff 327x machines with networked workstations.
(3) Expand knowledge of open systems throughout ITC by providing training to ITC staff. This training could begin with the teaching of the current UNIX short course for ITC staff.
(4) Explore options for providing computer-based and interactive video training courses.
(5) Establish a monthly technical seminar series for ITC staff. These seminars would serve as the means for "exposing" staff to a variety of technical topics. The purpose of these sessions is not to teach but to encourage staff to become interested in further exploration of certain topics.
(6) Appoint a single training coordinator. This person would have responsibility for development and implementation of a plan for user and staff training. That plan should include some of the items listed above.