Slide 1

Slide 1 text

WPS - Workplace Solutions GmbH //// Hans-Henny-Jahnn-Weg 29 //// 22085 HAMBURG ARCHITEKTUR-ARCHÄOLOGIE IN DER PRAXIS Fishbowl OOP 2016 w3logistics AG //// Otto-Hahn-Strasse 18 //// 44227 DORTMUND

Slide 2

Slide 2 text

//// Seite Architektur-Archäologie VORSTELLUNG Henning Schwentner Foto: A. Markiewicz a [email protected] hschwentner Thomas Ronzon [email protected]

Slide 3

Slide 3 text

Architektur-Archäologie AGENDA §Vorstellung §Einführung (== Vortrag) §Was ist Architekturarchäologie? §Wann nutzt man sie? §Beispiele §Tools/Techniken §Diskussion (== Fishbowl)

Slide 4

Slide 4 text

Architektur-Archäologie EINLEITUNG §Die OOP wird 25 – die meisten Systeme die zur Zeit der ersten Ausgabe liefen laufen heute immer noch §Code veraltet schon direkt nach dem Schreiben §Systeme stehen nicht still, sondern müssen erweitert werden §Greenfield Development ist Wunsch – Brownfield ist Realität! §Uptime matters! – kein Probieren im Livesystem §Wir lesen eigentlich immer den Code von jemand anderes

Slide 5

Slide 5 text

Architektur-Archäologie WAS IST ARCHITEKTURARCHÄOLOGIE? §Das Wiederentdecken der Architektur und Funktion von antiker Software §Wenige Jahre reichen schon aus um ein Programm antik zu machen Wann Architekturarchäologie? §Weiterentwicklung Altsystem §Ablösung Altsystem §Anbindung an Neusysteme Bild: Gary Stewart/Wikipedia

Slide 6

Slide 6 text

Architektur-Archäologie MAßSTAB Einzelsystem Was tut das System? Bild: Gary Stewart/Wikipedia IT-Landschaft Welche Systeme gibt es eigentlich?

Slide 7

Slide 7 text

Architektur-Archäologie TECHNISCHER WERKZEUGKASTEN VS. SOZIALE KOMPONENTE Bilder: Pixabay VS.

Slide 8

Slide 8 text

Architektur-Archäologie ALTERTUMSGRAD I §Vorhanden/nicht mehr vorhanden: §Code §Quellcode §Binärcode §History im Versions-Kontrollsystem §Menschen §Altentwickler §Anwender §Altanwender: Die mitentwickelt haben und wissen, weshalb das System so ist, wie es ist. Und es vielleicht mitgeformt haben §Neuanwender: Die es später so vorgesetzt bekommen haben, wie es ist Foto: Wladyslaw Sojka/Wikipedia

Slide 9

Slide 9 text

Architektur-Archäologie EPOCHEN Jahr Dauer Was war da - 1970 30 Proprietäre Systeme, „Ursuppe“ der Technik 1970-1985 15 Erste Standards, Hochsprachen (C, Cobol…) 1985-1995 10 PCs, Prä-Internet-Phase, erste Standardsoftware, proprietäre Ansätze bei Individualsystemen („Es muss laufen“) 1995-2003 8 Internet in der Masse, Standards für Geschäftsprozesse, aber „Ursuppe“ für Internetfähigkeit (z.B. Applikationsserver, Techniken) 2003-2010 7 Verwendung „schwergewichtiger“ Standards (z.B. EJB) 2010-2014 4 „Entschlackung“ der Standards -> Leichtgewichtige Architekturen 2014- ? Neue Herausforderung „Internet-of-Things“ -> erneute „Ursuppe“

Slide 10

Slide 10 text

Architektur-Archäologie ALTERTUMSGRAD II §Vorhanden/nicht mehr vorhanden: §Doku §Ist diese noch lesbar? (Dateiformate) §Nicht jede Doku ist im Internet (z.B. bei präinternet-Systemen) §Wissen von Techniken §Programmiersprache §Pointerarithmetik §Hierarchische Datenbanken § Tools § Compiler/Präcompiler § Build-Scripte § Third-Party Libraries Foto: Gemeinfrei/Wikipedia

Slide 11

Slide 11 text

Architektur-Archäologie SOFTWARE-COMA-SCALE §6 Fragen zur schnellen Bewertung §Auch für nicht IT-Leute transparent

Slide 12

Slide 12 text

Architektur-Archäologie DER FLUCH DER MUMIE Alt-Software leidet unter: §„das reparieren wir später“ §Falsche oder irreführende Namen und Kommentare §Ungenutztem Code Helfen kann: §Statische Analyse §Unit Tests §Glossar §àUbiquitous Language Foto: Kpisimon/Wikipedia

Slide 13

Slide 13 text

Architektur-Archäologie ARCHÄOLOGIE-PING-PONG Grafik: Pixabay

Slide 14

Slide 14 text

Architektur-Archäologie Eine kleine Geschichte

Slide 15

Slide 15 text

Architektur-Archäologie Eine kleine Geschichte

Slide 16

Slide 16 text

Architektur-Archäologie Eine kleine Geschichte

Slide 17

Slide 17 text

Architektur-Archäologie Eine kleine Geschichte

Slide 18

Slide 18 text

Architektur-Archäologie Eine kleine Geschichte

Slide 19

Slide 19 text

Architektur-Archäologie Eine kleine Geschichte

Slide 20

Slide 20 text

Architektur-Archäologie Eine kleine Geschichte

Slide 21

Slide 21 text

Architektur-Archäologie Eine kleine Geschichte

Slide 22

Slide 22 text

Architektur-Archäologie Eine kleine Geschichte

Slide 23

Slide 23 text

Architektur-Archäologie Eine kleine Geschichte

Slide 24

Slide 24 text

Architektur-Archäologie STATISCHE VS. DYNAMISCHE ANALYSE §Statische Analyse §Systemgrenzen abstecken §Beteiligten Hardware §Andere Systeme §Analyse von Quell- und Binärcode §Manuell/maschinell §Dynamische Analyse: §Verhalten zur Laufzeit §Manuell/maschinell §Vorsichtiges Einfügen von Sonden §um das System herum §in den Quellcode §Aspekte (AspectJ) können ein Mittel sein

Slide 25

Slide 25 text

03.02.16 //// Seite 25 Architektur-Archäologie FINDEN VON UNGENUTZTEM CODE § Statische Analyse § Aber: oft wird Code dynamisch aufgerufen § Function Pointers § Reflection Grafik: Pixabay

Slide 26

Slide 26 text

Architektur-Archäologie WAS HABEN DIE SICH DABEI BLOß GEDACHT? §Verstehen, wie und warum die damaligen Entwickler gebaut haben §Schwächen/Stärken herausfinden §Den Schatz finden: vergrabenes und verlorengegangenes Wissen aus der Domäne §Aus welcher „Programmierschule“? §à Domain Driven Design §Was war die „Art des Hauses“? Grafik: Nissim Farin/Youtube

Slide 27

Slide 27 text

Architektur-Archäologie Was ist „normal“ ? Was ist „kurios“?

Slide 28

Slide 28 text

Architektur-Archäologie SOFTWARE WINTERHART MACHEN §Wir schreiben heute die Alt-Software von morgen §Wie können wir sie so hinterlassen, dass die Archäologen von morgen sie leicht ausgraben können? Wappen: Rolando Yñigo-GenioWikipedia Winter is coming

Slide 29

Slide 29 text

WPS - Workplace Solutions GmbH //// Hans-Henny-Jahnn-Weg 29 //// 22085 HAMBURG BEISPIELE

Slide 30

Slide 30 text

Architektur-Archäologie Beispiel: Dokumentation

Slide 31

Slide 31 text

Architektur-Archäologie MINDMAPS

Slide 32

Slide 32 text

Architektur-Archäologie BEISPIEL: Was passiert denn in der Datenbank? §Problem: §System besteht aus mehreren Komponenten, ggf. verschiedene Sprachen §Einzige Gemeinsamkeit: Informix SE Datenbank §ER-Diagramm = nicht vorhanden §Kein Netzwerkzugriff

Slide 33

Slide 33 text

Architektur-Archäologie BEISPIEL: Was passiert denn in der Datenbank? http://www.ibm.com/developerworks/data/tutorials/dm0804moffatt/

Slide 34

Slide 34 text

Architektur-Archäologie BEISPIEL: Was passiert denn in der Datenbank?

Slide 35

Slide 35 text

Architektur-Archäologie BEISPIEL: Was passiert denn in der Datenbank?

Slide 36

Slide 36 text

Architektur-Archäologie MINDMAPS

Slide 37

Slide 37 text

Architektur-Archäologie Die Hacking Sicht - Portscans

Slide 38

Slide 38 text

Architektur-Archäologie Die Hacking Sicht - Portscans

Slide 39

Slide 39 text

Architektur-Archäologie Die Hacking Sicht - Networksniffing

Slide 40

Slide 40 text

Architektur-Archäologie Die Hacking Sicht - Networksniffing

Slide 41

Slide 41 text

Architektur-Archäologie MINDMAPS

Slide 42

Slide 42 text

Architektur-Archäologie LOGTRIGGER - Die DB als Informant §Loggen der Prozesse und Aktionen aus DB-Sicht §Vorteile: §Zentraler Ort §Unabhängig von Programmiersprache §Kein händisches Eingreifen §Auch in Produktivumgebungen einsetzbar

Slide 43

Slide 43 text

Architektur-Archäologie MINDMAPS

Slide 44

Slide 44 text

Architektur-Archäologie

Slide 45

Slide 45 text

Architektur-Archäologie BEISPIEL LEASING-SYSTEM §SAP/ABAP §Quellcode vorhanden §2 Millionen Zeilen Code §Null Doku §Null Unit-Tests (oder überhaupt automische Tests) §Ursprüngliche Entwickler vorhanden §Aber: Keine Zeit §Kaum Erinnerung §Großes Team von Newbies §Lessons Learned: §Einführung ins System von Altentwicklern §System selbst erforschen §Kurze Meetings mit Altentwicklern §Gut vorbereiten §Richtige Fragen stellen

Slide 46

Slide 46 text

Architektur-Archäologie

Slide 47

Slide 47 text

Architektur-Archäologie REGELN FÜR DIE FISH BOWL I §Fishbowl = Podiumsdiskussion + Reise nach Jerusalem §6 Stühle vorne „im Goldfischglas“ §Wer etwas sagen möchte setzt sich auf einen der Stühle §Es muss immer ein Stuhl frei sein -> wenn ein neuer Teilnehmer kommt, dann geht einer der alten zurück ins Publikum

Slide 48

Slide 48 text

Architektur-Archäologie REGELN FÜR DIE FISH BOWL II §Jeder ist eingeladen mitzudiskutieren §Du bist eingeladen §Alle anderen kochen auch nur mit Wasser §Wir beißen nicht J

Slide 49

Slide 49 text

Architektur-Archäologie REGELN FÜR DIE FISH BOWL III §Share your story §Wir alle wollen wissen, was andere machen §Share your problem §Wir alle wollen wissen, was nicht funktioniert §Vielleicht hat jemand anderes eine Idee Share your Story Share your Problem

Slide 50

Slide 50 text

Architektur-Archäologie ZUM AUFWÄRMEN §3 Minuten Gespräch mit den Nachbarn §Share your story: §Wie habt Ihr Antike Software ausgegraben? §Was ist Euer aktuelles Problem? §Dann: Bringt das mit in die große Runde Grafik: Pixabay

Slide 51

Slide 51 text

Architektur-Archäologie UND NUN… Bild: Pb 2001/Wikipedia

Slide 52

Slide 52 text

WPS - Workplace Solutions GmbH //// Hans-Henny-Jahnn-Weg 29 //// 22085 HAMBURG ANHANG

Slide 53

Slide 53 text

03.02.16 //// Seite 53 Architektur-Archäologie ZUM LESEN UND SCHAUEN Ward Cunningham zum Thema: http://c2.com/doc/SignatureSurvey/ http://media.pragprog.com/articles/mar_02_archeology.pdf http://java.sys-con.com/node/487614?page=0,1 Software-Retrofit: http://www.youtube.com/watch?v=1F8uqwJFuKA Software Coma-Scale: http://w3logistics.com/services/comascale.php und http://www.sigs-datacom.de/fachzeitschriften/javaspektrum/archiv/artikelansicht/artikel-titel/tool-talk-es- ist-tot-jim-vorstellung-des-software-coma-scale-scs-zur-schnellen-beurteilung-von.html http://www.sigs-datacom.de/fachzeitschriften/javaspektrum/archiv/artikelansicht/artikel-titel/was-ist- software-retrofit.html http://www.sigs-datacom.de/fachzeitschriften/javaspektrum.html