Software Architecture Modernization

Software-intensive Entwicklungsprojekte starten selten auf der grünen Wiese. In der Regel setzen sie auf existierendes Design und vorhandenen Code auf. Aus Wirtschaftlichkeitsüberlegungen erweist es sich oft als unökonomisch, vorhandene Artefakte zu entsorgen. Dieser Track bietet viele Tipps, sodass Sie erfolgreiche Modernisierungsmaßnahmen für Software-Architekturen durchführen können.
» Alle Vorträge des Tracks im Überblick
» Zu den Tutorials & Nightschools

Gestaltet von: Michael Stal
Er arbeitet bei Siemens Technology. Seine Arbeit umfasst Software-Architekturen für große komplexe Systeme (verteilte Systeme, Cloud Computing, IIoT), eingebettete Systeme und Künstliche Intelligenz. Er berät in Software-Architekturfragen und ist für die Ausbildung der Senior-Software-Architekten bei Siemens verantwortlich und arbeitet nebenberuflich als Chefredakteur des JavaSPEKTRUM.

Einige Highlights des Tracks

MODERNISIERUNG IN DER PRAXIS: MODULITH STATT MICROSERVICES?

Viele Unternehmen stehen vor der Herausforderung, ihre in die Jahre gekommenen Anwendungen zu modernisieren, flexibler zu machen und geeignet zu strukturieren. Während Microservices weit verbreitet sind, bietet ein Modulith – modular strukturierter Monolith – eine vielversprechende Alternative, die oft übersehen wird. Dieser Vortrag liefert einen Einblick in die praktische Arbeit mit Modulithen und die Migration dort hin. Wir berichten von Erfahrungen mit passenden Technologien wie Spring Modulith, xMolecules, ArchUnit sowie jQAssistant und besprechen, worauf bei deren Einsatz zu achten ist.

Dienstag | Mit Stefan Toth und Falk Sippach

FROM ZERO TO STILL ZERO: DIE SCHÖNSTEN FEHLER AUF DEM WEG IN DIE CLOUD

„Cloud is the new Normal“, so Andrew R. Jassy (CIO AWS). Was also liegt näher, als genau jetzt den Schritt in die Cloud zu wagen? Passende Blaupausen dazu gibt es mehr als genug. Aber ist dieser Schritt wirklich so einfach, wie uns die verschiedenen Cloud-Anbieter glauben machen wollen? Natürlich nicht. Diese Session zeigt anhand typischer Antipatterns, wie der Weg in die Cloud garantiert im Desaster endet und wie man sich dagegen wappnen kann. Ähnlichkeiten zu existierenden Projekten sind rein zufällig – oder auch nicht.

Mittwoch | Mit Lars Röwekamp

WAS TUN? LEGACY-MONOLITHEN ABREISSEN ODER MODERNISIEREN?

Seit über sechzig Jahren bauen wir Software, die immer größer und komplexer wird. Inzwischen haben wir nicht nur Mainframe-Altsysteme, sondern auch die Systeme in objektorientierten Programmiersprachen sind in den letzten zwanzig Jahren so schnell und immer wieder unkontrolliert gewachsen, dass sie zu einem großen Knäuel geworden sind.
All dieser Legacy-Code treibt die Entwicklungskosten in die Höhe und führt dazu, dass wir diese alten Software-Systeme nicht mehr gerne anfassen. Ist das unvermeidbar? Oder gibt es auch gute Legacy?

Dienstag | Mit Carola Lilienthal

FITNESS FUNCTIONS FOR YOUR ARCHITECTURE

Fitness functions are an essential part of evolutionary architectures – and they can also bring desired structures and properties to legacy code bases, step by step. But how do they look like in practice? What kinds of fitness do they check and assert? After a general introduction to fitness functions we‘ll do a deep dive into some concrete examples, covering use cases for common architectural patterns. We‘ll see examples in Java code, based on ArchUnit and jMolecules. But the basic ideas and concepts are applicable to other languages and technologies as well.

Donnerstag | Mit Thomas Much

THEMATISCH PASSENDE TUTORIALS & NIGHTSCHOOLS

TUTORIAL | Analyze, Automate and Scale your Modernization

How easily can your product team respond to changes in business requirements, technological advances, and new tools? When your code can be secured, upgraded, moved, or modernized with greater ease, you can swiftly and effectively adapt to changes in technology and markets. We’ll show you how to use OpenRewrite, an open-source auto-refactoring tool, to study and analyze your code before arranging migration and modernization efforts – and then automate code updates for your teams.

Montag | Mit Merlin Bögershausen und Tim te Beek

NIGHTSCHOOL | Architecting Agility: How Software Architecture Influences Agile Practices

Agile methodologies promise rapid delivery, flexibility, and resilience, allowing teams to respond swiftly to customer needs and market changes. However, the success of these agile practices is deeply intertwined with the underlying software architecture. An enabling architecture can enhance agility, while a restrictive one can significantly hinder it This talk explores how architectural and organizational decisions impact the agility of development teams. We will discuss the role of modularity in team autonomy and how aligning module boundaries with communication paths within the organization can leverage Conway's Law to promote fast flow.

Mittwoch | Mit Joseph Yoder und Marden Neubert

TUTORIAL | Hands-on: Cloud-native Architecture Workshop

Der Workshop zeigt an einem praktischen Beispiel, wie eine klassische Enterprise-Anwendung Schritt für Schritt in die Cloud überführt werden kann und welche grundlegenden Abwägungen und Entscheidungen dafür im Vorfeld getroffen werden müssen. Es werden sowohl die notwendigen architektonischen Schritte diskutiert als auch die verschiedenen, damit verbundenen Risiken aufgezeigt und bewertet.

Freitag | Mit Lars Röwekamp