{"id":10693,"date":"2017-12-12T14:35:22","date_gmt":"2017-12-12T13:35:22","guid":{"rendered":"https:\/\/wpethzprd.ethz.ch\/id\/?p=10693"},"modified":"2017-12-12T14:35:22","modified_gmt":"2017-12-12T13:35:22","slug":"vvz-2017-2-in-betrieb","status":"publish","type":"post","link":"https:\/\/blogs.ethz.ch\/id\/2017\/12\/12\/vvz-2017-2-in-betrieb\/","title":{"rendered":"VVZ 2017.2 in Betrieb"},"content":{"rendered":"<p>Der Release 2017.2 des Vorlesungsverzeichnisses (VVZ) der ETH Z\u00fcrich ist in Betrieb. Ein Interview mit Dr. Giorgio Broggi, Sektionsleiter ID Software Services (ID SWS) und Roland Fehr, ID SW Project Services, OIS Lehre &#8211; Java (ID SWS).<!--more--><\/p>\n<p><em>ID-BLOG: Es gibt seit Jahren zweimal j\u00e4hrlich neue Versionen des Vorlesungsverzeichnisses. Wieso ist VVZ 2017.2 so speziell?<\/em><\/p>\n<p>Broggi: Dieser Release ist funktional identisch mit der bisherigen Version, jedoch technisch komplett unterschiedlich. Wir haben die Version auf das Java-Framework (Spring) migriert mit dem die neueren Java-Applikationen der ID Software Services (ID SWS) entwickelt wurden.<\/p>\n<p>&nbsp;<\/p>\n<p><em>ID-BLOG: Die User merken also keine Verbesserung. Trotzdem wurde sehr viel Aufwand investiert. Gibt es ein Return On Investment?<\/em><\/p>\n<p>Broggi: Am 1. November 2016 hat die Schulleitung entschieden, das System der Lehrbetriebsapplikationen, welches von den Akademischen Diensten und der ID partnerschaftlich entwickelt wurde, solle langfristig in Betrieb bleiben und weiterentwickelt werden. Darum haben wir entschieden, alle Komponenten technisch auf Plattformen zu migrieren, welche dies erm\u00f6glichen. Den ersten Schritt haben wir im Fr\u00fchling vollzogen als die zentrale Datenbankinstanz des OIS (Operatives Informationssystem der ETH Z\u00fcrich) auf Unicode migriert wurde. In einem zweiten Schritt werden die drei \u00e4ltesten Web-Applikationen (VVZ, eDoz und myStudies), welche in Java Struts entwickelt wurden (ein Framework, welches nicht weiterentwickelt wird) auf Java Spring migriert. Es handelt sich dabei um keine \u00abkleine Unternehmung\u00bb, denn es geht um mehrere hunderttausend Lines of Code. Nur so k\u00f6nnen wir aber die Nachhaltigkeit der Applikationslandschaft sicherstellen und die Security-Vorteile von Spring nutzen.<\/p>\n<p>&nbsp;<\/p>\n<p><em>ID-BLOG: Wie konnte die Migration von VVZ in so kurzer Zeit erfolgen?<\/em><\/p>\n<p>Fehr: Wir haben zusammen mit zwei Informatikstudenten mit Knowhow im Compilerbau ein mehrschichtiges Migrationsprogramm entwickelt, welches eine automatische \u00dcbersetzung vornimmt. Die einzelnen Schichten betreffen den DB-Zugriff, den Service- und Web-Bereich (Model\/Controller) sowie die Anzeigeschicht (View). Jeder dieser Schichten wird von einem eigenen Softwaremodul \u00fcbersetzt und am Schluss durch einen \u00fcbergreifenden Layer abgerundet. Um den Aufwand f\u00fcr die Migrations-Software vertretbar zu halten, konnte aber nicht f\u00fcr jede Schicht eine 100% Abdeckung aufgebaut werden. Jedoch wurden bei VVZ sowohl beim DB-Zugriff, dem Service-Bereich sowie der Anzeigeschicht (View) 100% erreicht.<\/p>\n<p>&nbsp;<\/p>\n<p><em>ID-BLOG: Was musste am Ende doch manuell migriert werden?<\/em><\/p>\n<p>Fehr: Da sich die im Web-Bereich eingesetzten Technologien stark unterscheiden, konnte dort nur eine Grundmigration mit etwa 60% Abdeckung erfolgen. Dar\u00fcber hinaus war dann dort einiges an Handarbeit notwendig. D.h. in Bezug auf Datenhaltung, Aufrufe der Services und die Flow-Verlinkung.<\/p>\n<p>&nbsp;<\/p>\n<p><em>ID-BLOG: Wie aufw\u00e4ndig waren dabei Tests und weitere Schritte der Qualit\u00e4tssicherung?<\/em><\/p>\n<p>Fehr: Der Qualit\u00e4tssicherung kam dabei eine sehr wichtige Funktion zu. Nat\u00fcrlich musste sichergestellt werden, dass die Migrationsmodule in jedem Fall die korrekten Resultate liefern. Zudem mussten die neu von Hand programmierten Teile gepr\u00fcft werden. Unser Testteam setzte dabei als erstes auf eine maschinelle Pr\u00fcfung der Ergebnisse \u00fcber eine Testsoftware. Dabei wurde die bestehende Applikation automatisch mit der migrierten verglichen, aufgezeichnete Abl\u00e4ufe wurden durchlaufen und die Ergebnisse abgeglichen. Implizit dabei enthalten war auch eine automatische Pr\u00fcfung betreffend der Pixelgenauigkeit in der Positionierung der Seitenelemente. Dann folgte ein zweistufiges Testverfahren durch zwei unabh\u00e4ngige Testteams, bei dem beide Applikationen jeweils in unterschiedlichem Detailierungsgrad miteinander verglichen wurden. Wie sich zeigte, warf aber das leicht andere Verhalten der jeweils eingesetzten Grundframeworks bei einer so stark vernetzten Applikation wie VVZ Probleme auf. D.h. wir haben das alte Verhalten nachgebaut und sind hier deutlich \u00fcber das Ziel einer funktionalen Migration hinausgegangen. Daf\u00fcr funktionieren auch bestehende Verlinkungen und Bookmarks weiterhin. Das Verhalten der Applikation ist bis hin zu Browserbacks identisch.<\/p>\n<p>Als Gesamtergebnis der Tests kann man sagen, dass neben einigen notwendigen kleineren Verbesserungen der Migrationsmodule, die absolute Mehrheit der Probleme aus den von Hand migrierten Teilen resultierten. D.h. die Entscheidung auf eine maschinelle Migration zu setzen hat sich schon f\u00fcr das erste Projekt nur positiv ausgewirkt.<\/p>\n<p>&nbsp;<\/p>\n<p><em>ID-BLOG: Was sind jetzt die n\u00e4chsten Schritte?<\/em><\/p>\n<p>Broggi: 2018 wird die Dozierendenapplikation (eDoz) migriert. eDoz ist nicht nur viel umfangreicher, sondern auch, im Gegensatz zu VVZ, eine mutierende Applikation. Da wird die Qualit\u00e4tssicherung besonders schwierig und aufw\u00e4ndig sein. Als letzte LBA wird myStudies migriert \u2013 die gr\u00f6sste der drei Applikationen. In der Zwischenzeit werden die Clients auch funktional weiter zu entwickeln sein. Die Arbeit wird dem Lehrbetrieb Team also sicher nicht ausgehen.<\/p>\n<h2>Kontakt<\/h2>\n<p>Dr. Giorgio Broggi, Sektionsleiter ID Software Services (<a href=\"https:\/\/www.ethz.ch\/de\/die-eth-zuerich\/organisation\/abteilungen\/informatikdienste.html\" target=\"_blank\" rel=\"noopener\">ID SWS<\/a>)<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Der Release 2018.2 des Vorlesungsverzeichnisses (VVZ) der ETH Z\u00fcrich ist in Betrieb. <\/p>\n","protected":false},"author":838,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[25,1181,1177,898],"tags":[1786,173216,1779,1780,1781,229031],"class_list":["post-10693","post","type-post","status-publish","format-standard","hentry","category-news","category-passwort-applikationen","category-software-arbeitsplatze","category-support","tag-edoz","tag-id-software-services","tag-mystudies","tag-vorlesungsverzeichnis","tag-vvz","tag-vvz-der-eth-zurich"],"_links":{"self":[{"href":"https:\/\/blogs.ethz.ch\/id\/wp-json\/wp\/v2\/posts\/10693","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.ethz.ch\/id\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.ethz.ch\/id\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.ethz.ch\/id\/wp-json\/wp\/v2\/users\/838"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.ethz.ch\/id\/wp-json\/wp\/v2\/comments?post=10693"}],"version-history":[{"count":0,"href":"https:\/\/blogs.ethz.ch\/id\/wp-json\/wp\/v2\/posts\/10693\/revisions"}],"wp:attachment":[{"href":"https:\/\/blogs.ethz.ch\/id\/wp-json\/wp\/v2\/media?parent=10693"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.ethz.ch\/id\/wp-json\/wp\/v2\/categories?post=10693"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.ethz.ch\/id\/wp-json\/wp\/v2\/tags?post=10693"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}