ISIS

isis GUI thumbnail image isis GUI thumbnail image isis GUI thumbnail image

ISIS provides access to a suite of administrative functions for prospective, current and former students at The University of Iowa. Every student at the University of Iowa has used ISIS to check their admission status, view their grades, register for classes, and perform many other administrative tasks.

Up until the late 1980's, the registration process at the University of Iowa involved a lot of people crowded onto the basketball courts at the University Fieldhouse walking from table to table and filling out their registration cards. In the late 1980's, ITS developed a mainframe based registration system. You could telnet into the system from terminals around campus and use the 3270 screens to scroll through the course catalog and register for courses online.

In the late 1990's, we gave ISIS a face lift by creating ISIS on the web, we focused first on three main areas.

ISIS was the first major Web development project at The University of Iowa. The initial project which provided the 3 key areas above and a set of other tools (grades, schedule, adviser information) was staffed by 3 developers. Since then we have built a web development group and most new development focuses on either building new web applications from scratch or converting legacy systems to web based applications.

Features and Functionality

Some brief descriptions of what students can use ISIS for:

Challenges and Lessons Learned

Performance is one of the major challenges. All 20,000+ students register during a two-week period during the fall and spring sessions. It is critical that the system stays up and running smoothly during this time. We see 1500+ concurrent sessions during peak times in the afternoons and evenings, and each person is running queries against the course database, registering for a class, or performing some other operation.

This is managed through a clustered design, where sessions are spread over multiple machines and all session data is kept in memory on each machine. We also have a suite of tools we use during registration and when grades become available to monitor usage, performance and other attributes of the various machines in the cluster.

Another technical challenge has been connecting to the many diverse data sources for information. ISIS interfaces with all of the following:

The final struggle to note is more of an organizational struggle then technical. The original version of ISIS on the web was written in Perl for various reasons. Shortly after the initial project, we decided future web development would be Java based. It has been a struggle to add new functionality and carve out time to port the old Perl code over to Java so that it can be more easily supported by our current staff. It's an organizational struggle in that time has to be made to complete this effort, but it is time spent that produces no new features or benefit that our functional customers can easily identify with.