CC 2017.2 in operation
Release 2017.2 of the Course Catalogue (CC) for the ETH Zurich is online. An interview with Dr. Giorgio Broggi, Head of ITS Software Services (ITS SWS), and Roland Fehr, ITS SW Project Services, OIS Lessons – Java (ITS SWS).
ITS BLOG: For years there have been new versions of the Course Catalogue (CC) twice annually. Why is CC 2017.2 so special?
Broggi: This release is functionally identical to the previous version, however in technical terms it is completely different. We have migrated the version to the Java framework (Spring) with which the newer Java applications for ITS Software Services (ITS SWS) were developed.
ITS BLOG: The user will not notice any improvement. Nevertheless, a great deal of time and effort were invested. Is there a return on investment?
Broggi: On 1 November 2016 the executive board decided the system for academic applications that had been developed in partnership between Academic Services and ITS should remain in operation for the long-term and therefore further developed. For this reason we have decided to migrate all components to platforms that will make these objectives possible. We completed the first step in the spring when the central database instance for the OIS (operational information system for ETH Zurich) was migrated to Unicode. In the second step, the three oldest web applications (CC, eDoz, and myStudies), which had been developed in Java Struts (an obsolete framework), were migrated to Java Spring. This was not a matter of a “small undertaking” because it involved several hundred thousand lines of code. However, this was the only way to guarantee the sustainability of the application environment and use the security benefits of Spring.
ITS BLOG: How was it possible to complete the migration of CC in such a short time?
Fehr: We worked together with two informatics students with expertise in compiler construction to develop a multi-layer migration program to perform the translation automatically. The individual layers affect the database access, the service and web area (model/controller), as well as the display layer (view). Each of these layers is translated by a separate software module and rounded out in the end with a general layer. In order to keep the expense for the migration software reasonable, 100% coverage could not be established for every layer. However, 100% was achieved for the CC for the database access, the service area and the display layer (view).
ITS BLOG: What had to be manually migrated in the end?
Fehr: Because the technologies used in the web area can differ greatly, only a basic migration could be done there with about 60% coverage. In addition, a bit of manual work was needed as well, specifically with regard to data retention, accessing services and the flow linking.
ITS BLOG: How complex were the tests and the additional steps for quality assurance?
Fehr: Quality assurance had a very important function here. Of course, we had to ensure that the migration module would return the correct results in any case. In addition, the parts newly programmed by hand had to be tested. Our test team first used a machine test of the results by means of test software. In so doing, the existing application was automatically compared with the migrated application, recorded processes were run, and the results were compared. An automatic test regarding the pixel precision in the positioning of the page elements was implicitly included here as well. Then a two-stage test process followed with two independent test teams for which both applications were each compared with each other to a differing degree of detail. As was shown, the slightly different behaviour of the basic framework used posed problems for such a strongly network application like CC. This means we recreated the old behaviour which clearly goes beyond the objective of a functional migration. This means that existing links and bookmarks still work. The behaviour of the application is identical all the way to browser backs.
As to the overall result of the test, you can say that in addition to some needed small improvements in the migration module, the absolute majority of the problems resulted from the parts that were migrated by hand. This means the decision to rely on machine migration has already had an exclusively positive effect on the first project.
ITS BLOG: What are the next steps now?
Broggi: In 2018, the lecturing application (eDoz) will be migrated. eDoz is not only much more extensive, but unlike CC it is also an application that changes. Quality assurance is especially difficult and extensive here. As the last LBA, myStudies will be migrated – the largest of the three applications. In the meantime, the clients will also be developed further in terms of functionality. The Education Team will surely not run out of work here.
Dr. Giorgio Broggi, Head of ITS Software Services (ITS SWS)