Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Architektur-Archäologie

 Architektur-Archäologie

Session »Architektur-Archäologie in der Praxis« auf der OOP 2016 von Thomas Ronzon und mir.

Henning Schwentner

February 03, 2016
Tweet

More Decks by Henning Schwentner

Other Decks in Programming

Transcript

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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“
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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