Trivadis TechEvent 2019: Wir prügeln den Monolithen ins Web

7252086bae9203045dd7f5664fd96a07?s=47 Manuel Meyer
September 13, 2019

Trivadis TechEvent 2019: Wir prügeln den Monolithen ins Web

In Projekten für unsere Kunden treffen wir heutzutage immer wieder die gleiche Situation an: Die Kernapplikation der Unternehmung ist über mehrere Jahrzehnte und verschiedene Technologien zu einem funktionalen aber hässlichen Monolithen herangewachsen. Allen ist klar, dass eine Modernisierung nötig ist. Aber wie? Mehrere Modernisierungsprojekte sind bereits katastrophal gescheitert. In dieser Session beleuchten wir einen Ausweg aus der Misere. Wir zeigen einen Ansatz, bei welchem hochkomplexe Desktop-Applikationen allen Problemen zum Trotz schrittweise ins Web überführt werden können. Wir plaudern aus dem Nähkästchen und erzählen, wie wir für unseren Kunden die Migration von VB/C#/WinForms/WPF nach Angular geschafft haben.

7252086bae9203045dd7f5664fd96a07?s=128

Manuel Meyer

September 13, 2019
Tweet

Transcript

  1. Wir prügeln den Monolithen ins Web Thomas Gassmann, Manuel Meyer

    @gassmannT @manumeyer1 www.thomasgassmann.net/ www.manuelmeyer.net/
  2. Agenda ▪ Die Ausgangslage ▪ Die Herausforderungen ▪ Wo ist

    eigentlich das Problem? ▪ Der Lösungsansatz ▪ Probleme (und Lösungen) aus der Praxis.
  3. Die Ausgangslage

  4. Der Kunde ruft an: „…Projekt…“ „…vom Desktop ins Web…“ „…Migration

    läuft nicht…“ „…brauchen Unterstützung…“
  5. None
  6. None
  7. MACINTOSH Performa 550 LC (mit Ethernet!) (und Tetris!!!)

  8. „Wie lange ist 26 Jahre wirklich?“

  9. None
  10. None
  11. None
  12. Aber wie kam es so weit?

  13. None
  14. None
  15. 26 Jahre später…

  16. None
  17. Die Herausforderungen

  18. None
  19. Anpassbarkeit

  20. Effiziente Bedienbarkeit

  21. Informationsdichte

  22. Wo ist eigentlich das Problem?

  23. „Das ist so alt, dass muss man doch komplett neu

    schreiben!“ --Alle
  24. None
  25. None
  26. None
  27. „Die Utopie der grünen Wiese“ --Manuel & Thomas

  28. „The worst strategic mistake is rewriting code from scratch“ --Joel

    Spolsky Things you should never do: https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/
  29. „The integration Problem“ & „The black hole of coupling“ --Udi

    Dahan Own the Future: https://www.youtube.com/watch?v=2iYdKQXGY2E Slides: https://www.slideshare.net/udidahan/own-the-future
  30. Quelle: https://www.slideshare.net/udidahan/own-the-future

  31. „The integration Problem“ & „The black hole of coupling“ --Udi

    Dahan Own the Future: https://www.youtube.com/watch?v=2iYdKQXGY2E Slides: https://www.slideshare.net/udidahan/own-the-future
  32. Ziele des Lösungsansatzes ▪ Kein Big Bang ▪ Keine grüne

    Wiese ▪ Den User nicht überfordern ▪ Exploratives testen & ablösen ▪ Agile Entwicklung.
  33. Der Lösungsansatz

  34. None
  35. None
  36. Kommunikation zwischen der alten und der neuen Welt

  37. Was ist SignalR? ▪ Ist eine Bibliothek für ASP.NET ▪

    Ermöglicht die Kommunikation vom Server zum Client (der im Browser läuft)
  38. Wieso Angular? ▪ Enterprise Ready Webapplications ▪ Grosse Community und

    Google ▪ Hohe Performance, im Kundenprojekt: Initial load ~193 Request < 2 sec Page switch < 0.5 sec.
  39. Master / Slave Beziehung ▪ Das alte System ist das

    Master System ▪ Der Master startet das Slave System ▪ Der Master verwaltet das Login/Logout der User im Slave-System ▪ Mittelfristig wird das neue System zum Master.
  40. None
  41. None
  42. Das Veto-Recht ▪ Jede Applikation sollte ein Veto-Recht haben ▪

    Beispiel: Während System A einen Datensatz bearbeitet, darf in System B nicht auf einen anderen gewechselt werden.
  43. None
  44. DEMO https://github.com/AngularAtTrivadis/WebWinFormsInteraction

  45. 4 Probleme aus der Praxis (mit Lösungen)

  46. Problem 1 „Die Spezifikation ist die alte Anwendung.“

  47. Lösung 1

  48. Lösung 1 Photo credit: Mark Spearman on VisualHunt.com / CC

    BY
  49. Photo credit: zoetnet on Visual Hunt / CC BY

  50. Problem 2 „Das muss im Web genau so aussehen wie

    jetzt…“
  51. Lösung 2

  52. Photo credit: Chris Blakeley on Visualhunt / CC BY-NC-ND

  53. Lösung 2 ▪ Einen Partner für UX & UI Design

    involvieren ▪ Muss können: «Web User Experience Design» ▪ Muss können: «Web User Interface Design» ▪ Muss können: CODE liefern! ▪ ….sonst…
  54. None
  55. Problem 3: Das DatePicker Problem

  56. Lösung 3 ▪ «Schau im alten System wies funktioniert» reicht

    nicht als Spezifikation ▪ Die Kunst der Anforderungsaufnahme muss beherrscht werden ▪ Nicht alles selbst bauen! ▪ Kompromisse eingehen!.
  57. Problem 3 „Bei Google geht’s doch auch. Schau mal auf

    meinem Handy…“
  58. Lösung 4

  59. Zusammenfassung ▪ Die Big Bang Migration und die grüne Wiese

    sind Illusionen ▪ Die Ablösung muss als normale Evolution des Produkts angeschaut werden ▪ Der gezeigte Lösungsansatz bietet einen Weg aus der Misere ▪ Aber: Das Web ist und bleibt eine andere Welt.
  60. Thank you! Manuel Meyer www.manuelmeyer.net @manumeyer1 manuel.meyer@trivadis.com Thomas Gassmann www.thomasgassmann.net

    @gassmannT thomas.gassmann@trivadis.com Raum Basel 12:00
  61. None