Wir prügeln den Monolithen ins Web
Thomas Gassmann, Manuel Meyer
@gassmannT
@manumeyer1
www.thomasgassmann.net/
www.manuelmeyer.net/
Slide 2
Slide 2 text
Agenda
▪ Die Ausgangslage
▪ Die Herausforderungen
▪ Wo ist eigentlich das Problem?
▪ Der Lösungsansatz
▪ Probleme (und Lösungen) aus der
Praxis.
Slide 3
Slide 3 text
Die Ausgangslage
Slide 4
Slide 4 text
Der Kunde ruft an:
„…Projekt…“
„…vom Desktop ins Web…“
„…Migration läuft nicht…“
„…brauchen Unterstützung…“
Slide 5
Slide 5 text
No content
Slide 6
Slide 6 text
No content
Slide 7
Slide 7 text
MACINTOSH
Performa 550 LC
(mit Ethernet!)
(und Tetris!!!)
Slide 8
Slide 8 text
„Wie lange ist 26 Jahre wirklich?“
Slide 9
Slide 9 text
No content
Slide 10
Slide 10 text
No content
Slide 11
Slide 11 text
No content
Slide 12
Slide 12 text
Aber wie kam es so weit?
Slide 13
Slide 13 text
No content
Slide 14
Slide 14 text
No content
Slide 15
Slide 15 text
26 Jahre später…
Slide 16
Slide 16 text
No content
Slide 17
Slide 17 text
Die Herausforderungen
Slide 18
Slide 18 text
No content
Slide 19
Slide 19 text
Anpassbarkeit
Slide 20
Slide 20 text
Effiziente Bedienbarkeit
Slide 21
Slide 21 text
Informationsdichte
Slide 22
Slide 22 text
Wo ist eigentlich das
Problem?
Slide 23
Slide 23 text
„Das ist so alt, dass muss man doch
komplett neu schreiben!“
--Alle
Slide 24
Slide 24 text
No content
Slide 25
Slide 25 text
No content
Slide 26
Slide 26 text
No content
Slide 27
Slide 27 text
„Die Utopie der grünen Wiese“
--Manuel & Thomas
Slide 28
Slide 28 text
„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/
Slide 29
Slide 29 text
„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
„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
Slide 32
Slide 32 text
Ziele des Lösungsansatzes
▪ Kein Big Bang
▪ Keine grüne Wiese
▪ Den User nicht überfordern
▪ Exploratives testen & ablösen
▪ Agile Entwicklung.
Slide 33
Slide 33 text
Der Lösungsansatz
Slide 34
Slide 34 text
No content
Slide 35
Slide 35 text
No content
Slide 36
Slide 36 text
Kommunikation zwischen der
alten und der neuen Welt
Slide 37
Slide 37 text
Was ist SignalR?
▪ Ist eine Bibliothek für ASP.NET
▪ Ermöglicht die Kommunikation vom
Server zum Client (der im Browser
läuft)
Slide 38
Slide 38 text
Wieso Angular?
▪ Enterprise Ready Webapplications
▪ Grosse Community und Google
▪ Hohe Performance, im
Kundenprojekt:
Initial load ~193 Request < 2 sec
Page switch < 0.5 sec.
Slide 39
Slide 39 text
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.
Slide 40
Slide 40 text
No content
Slide 41
Slide 41 text
No content
Slide 42
Slide 42 text
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.
Problem 1
„Die Spezifikation ist die
alte Anwendung.“
Slide 47
Slide 47 text
Lösung 1
Slide 48
Slide 48 text
Lösung 1
Photo credit: Mark Spearman on VisualHunt.com / CC BY
Slide 49
Slide 49 text
Photo credit: zoetnet on Visual Hunt / CC BY
Slide 50
Slide 50 text
Problem 2
„Das muss im Web genau
so aussehen wie jetzt…“
Slide 51
Slide 51 text
Lösung 2
Slide 52
Slide 52 text
Photo credit: Chris Blakeley on Visualhunt / CC BY-NC-ND
Slide 53
Slide 53 text
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…
Slide 54
Slide 54 text
No content
Slide 55
Slide 55 text
Problem 3: Das DatePicker
Problem
Slide 56
Slide 56 text
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!.
Slide 57
Slide 57 text
Problem 3
„Bei Google geht’s doch
auch. Schau mal auf
meinem Handy…“
Slide 58
Slide 58 text
Lösung 4
Slide 59
Slide 59 text
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.
Slide 60
Slide 60 text
Thank you!
Manuel Meyer
www.manuelmeyer.net
@manumeyer1
[email protected]
Thomas Gassmann
www.thomasgassmann.net
@gassmannT
[email protected]
Raum Basel
12:00