UBC adopts end-to-end Java

The University of British Columbia (UBC) has discovered that sometimes less is more.

The school needed to build a new system for its 6,000-member administrative staff and faculty. At the same time, it needed to provide Internet access to its student information system (SIS) for about 35,000 students.

An initiative to rewrite both systems entirely in Java, from the front to back end, will address all their issues, said Leo Fernig, a project manager at UBC in Vancouver. The first phase of this project, translating the SIS, went live last June. Phase two, the repackaging of those same components to form a new administration system, will go into beta this month.

“We needed to have one common architecture. We didn’t feel we could go with an administrative application in PowerBuilder, and then go and build a different application in CGI for students, because we don’t have the resources to build two separate systems. That’s why Java was chosen — to solve those two problems simultaneously,” he explained.

“Being a university, we have a very heterogeneous client base. Researchers will often have a Solaris box in their labs, there is a very dedicated Mac base and we are (running) about 80 per cent PCs.”

Fernig said the previous method of CGI screenscraping off some 3270 emulation programs was becoming less and less effective as more students accessed the information system via the Internet using their own computers or kiosks set up around campus.

“So students were able to conduct some basic transactions over the Web, like register, look things up on their schedule, change their addresses. But it did not work very well. It really was not scalable. We had five NT servers and up to 10 emulation sessions running on each server and we could not get the throughput that we needed,” he said. “We have 35,000 students and potentially, we would have 5,000 students [logging on] in one day.”

With the new administration system in place, there will finally be support for Macs as well as a Windows GUI to those running 3270 terminals, Fernig said. Also, in the past, running a client/server environment was too difficult due to incompatible DLLs, different versions of programs and other problems associated with manageability.

“Having the thing just run in Java really isolates us from 80 per cent of the problems of running traditional client/server. We do not have the resources to go around and maintain hundreds and hundreds of client/server sites on campus. Whereas with Java we feel all we have to do is ensure that the JVM is installed,” he said.

Rino Ong, a system consultant with Vancouver-based Sierra Systems who worked on the project, said the translation from Cobol to Java on the administration system was easier than on the SIS project phase because some of the components were already in place.

“We took the Cobol code, looked at it, extracted from it the business rules and then started coding them in Java. The structure was built when we developed the student services module, and we were able to build on that,” he said.

According to Ong, it took six to eight months to develop the entire system, much of which was trial and error.

“More than 50 per cent of the time was spent on basically trying things out infrastructure-wise and building the architecture of how we were going to break down the components,” he said.

A team supporting Cobol was used to extract the business rules and another team rewrote the programs in Java, because “of the Java development team, most don’t know Cobol – don’t even want to touch Cobol,” Ong said.

Maureen Elliott, an administrative supervisor in the registrar’s office at UBC, has noticed that students like the freedom to access their records themselves and prefer to line up to use the kiosks, even when there are administrative clerks available to assist them.

“We have tried to get them to go [to the counter] when we are not as busy to give them a break. But they seem to like to do it themselves — look up their own grade and order transcripts,” she said. “We know we are giving them better service when they can get their transcripts faster and see the courses in a different way.”

Fernig said the new Java-based SIS has addressed some of the problems, but not yet to the desired level.

“The basic problem is that the demand and expectations for services on the Internet has grown astronomically. And the reality is that we can’t meet the demand. It has nothing to do with Java, it’s the size of the machines we have running on the back-end,” he said.

“This is next year’s task — to get the throughput that will meet the expectations.”

The throughput has already increased 100 per cent as a result of the Java project, Fernig said, but expectations have increased three times that much.

“It used to be that we might have 500 people hit on our Web site on one day. And yet last week on one day we had 1,700 come through successfully. That’s good — it’s an enormous increase on what we were able to do a year ago. But now we realize this is only about one tenth of what we need to be able to do.”