Portierung auf .NET Core: Report Server auf neuer Technologiebasis

Der Report Server erblickte im Jahre 2014 das Licht der Welt. Damals wurde die Version 1.0 mit Hilfe des ASP.NET MVC Frameworks implementiert und basierte auf List & Label 19. Doch mit den steigenden Userzahlen in den darauffolgenden Versionen stiegen auch die Anforderungen und die Ideen für neue Features. Einige der Kundenwünsche konnten nur schwer mit der zugrundeliegenden Technologie realisiert werden. Viele Entwickler standen sicherlich schon vor derselben Frage: Wie sollte es weiter gehen?

 

Ansichten Report Server

Es war Zeit für etwas Neues, Modernes.

Etwa fünf Jahre nach dem Erscheinen der ersten Version suchten wir nach einer Alternative. Uns war klar, dass es mit dem .NET Framework nicht langfristig weitergehen konnte. Insbesondere da .NET Core bereits als neuer Stern am Microsoft-Himmel erschienen war. Also waren wir uns einig, dass die neue Version mit .NET Core entwickelt werden sollte.

Aber welche Oberflächentechnologie sollte verwendet werden?

Zunächst analysierten wir den aktuellen Stand der Webentwicklung. Sichworte wie SPA, Serverless Computing, PWA, GraphQL, Webassembly, React usw. wurden berücksichtigt und flossen in die Bewertung ein. Wir wollten auf eine etablierte Technologie setzen, damit die Implementierung möglichst reibungslos gelingt. Am Ende haben wir uns für React entschieden, da es schon von einem anderen Projekt bekannt war und eine sehr flexible Library im Gegensatz zu einem großen Framework wie Angular bietet.

Da der Report Server eine recht überschaubare Oberfläche hat, wurde der Rewrite der Oberfläche in Kauf genommen. Die bereits vorhandenen Webservices wurden als Verbindung zum Backend ein wenig aufpoliert und konnten somit wiederverwendet werden.

Für den bis dato verwendeten jQuery Mobile mussten wir ebenfalls einen Ersatz finden. Hierzu wurden einige CSS Frameworks analysiert – mit dem Ergebnis, dass wir uns letztendlich für Bootstrap entschieden haben.

Der Aufwand für die Portierung des Report Server Kerns vom .NET Framework zum. NET Core Framework wurde jedoch komplexer als gedacht.

Umstieg auf .NET Core

So mussten wir beispielsweise für einige der verwendeten Komponenten einen Ersatz finden. Außerdem mussten wir feststellen, dass einige Datenbanktreiber für den Einsatz in .NET Core noch nicht zur Verfügung standen. Der Wegfall der WCF und die Umstellung auf gRPC sorgte ebenfalls für einige schlaflose Nächte bei den zuständigen Entwicklern.

Insgesamt wurde die Komplexität des Umstiegs auf .NET Core ein wenig unterschätzt. Es gab viele kleine Dinge die wir im Vorfeld nicht planen konnten, die aber dann sehr viel Zeit in Anspruch genommen haben. Die Lernkurve bei der Implementierung der Oberfläche mit Hilfe von React und Typescript war genau wie erwartet. Wenn wir die Menge an neuen Technologien und Libraries betrachten, die wir für die Version 26 nutzen mussten, können wir recht zufrieden sein mit dem Ergebnis.

Das Ziel war es, der alten Version so ähnlich wie möglich zu sein, um den Anwendern den Umstieg zu erleichtern. Das ist uns auf jeden Fall gelungen.

Ansicht Redesign Report Server

Der  neue Report Server bringt viele Verbesserungen mit sich, darunter:

  • Eine vereinfachte Bedienung
  • Einen verbesserten Mailversand und die damit verbundenen Konfigurationsmöglichkeiten
  • Die Möglichkeit, für einige Datenquellen einen Proxy zu konfigurieren
  • Die Verwendung von List & Label 26 für die Generierung und Gestaltung von Berichten, Listen, Etiketten und Dokumenten

Mit dem Umstieg auf .NET Core 3.1 haben wir die Weichen in Richtung Zukunft gestellt. So können wir die Wünsche unserer Kunden besser realisieren und den Report Server auf dem neuesten Stand der Technik halten.


Das könnte Sie auch interessieren: 
List & Label mit .NET Core 3.1 Unterstützung – jetzt von .NET Framework migrieren?
Service Pack 26.001 für List & Label und den Report Server
Service Pack 25.004 für List & Label und den Report Server

Empfohlene Artikel

Schreibe einen Kommentar