Konferenzprogramm

Thema: Software Architecture

Nach Tracks filtern
Nach Themen filtern
Alle ausklappen
  • Montag
    03.02.
  • Dienstag
    04.02.
  • Mittwoch
    05.02.
  • Donnerstag
    06.02.
  • Freitag
    07.02.
, (Montag, 03.Februar 2025)
10:00 - 13:00
Mo 3
Limitiert Domain-Driven Design von der Vision bis in den Code: Functional Domain Modelling

Moderne Kollaborationsmethoden wie Event-Storming helfen, Fachexpert:innen und Entwickler:innen zusammenzubringen. „Domain Modelling“ geht noch einen Schritt weiter und ermöglicht gemeinsame Arbeit direkt am Code. In diesem Workshop erprobt ihr das Vorgehen an einem praktischen Beispiel.

Unser PO bringt die Ergebnisse einer Event-Storming-Session mit. Auf dieser Basis modellieren wir die Domäne mithilfe eines funktionalen Typsystems. Fachexpert:innen haben die Möglichkeit, direkt Feedback zum…

Mehr lesen
Marco Emrich, Ferdinand Ade
Raum 05
10:00 - 13:00
Mo 4
Psychologische Sicherheit in der Softwarearchitektur: Wege zur evidenzbasierten Praxis

Psychologische Sicherheit ist von entscheidender Bedeutung für erfolgreiche Teamarbeit in der Softwareentwicklung. Die Teilnehmer:innen erfahren, wie wichtig es ist, dass alle Mitglieder sich sicher fühlen, um offen Ideen auszutauschen und Kritik zu äußern.

Der Workshop basiert auf wissenschaftlichen Erkenntnissen und bietet praxisorientierte Ansätze, um psychologische Sicherheit zu fördern.

Die Teilnehmer:innen lernen die Relevanz in komplexen Softwarearchitektur-Projekten kennen, verstehen die…

Mehr lesen
Martin Günther, Helen Rapp
Raum 04
14:00 - 17:00
Mo 10
Limitiert Software designing your models and architecture to fit with the culture

Software stakeholders and users approach technology through the lens of their cultural norms and worldviews. As software designers, we often introduce new concepts and terminology to better address those needs. This can mean adapting or even reshaping their cultural perspectives. But culture, by nature, seeks consistency and conformity, providing a framework to our daily chaos. This consistency can make language and models rigid, often leading to ambiguity. So, how can we navigate and reshape…

Mehr lesen
Kenny Baas-Schwegler, Avraham Poupko
Raum 12
17:15 - 18:00
Mo Panel
PANEL: Bridging the Gap

Software is changing our world – and the speed of change is increasing. Continously evolving business demands, software technology advances, and social changes mean that gaps can quickly arise between the actual state of a software and its desired state. Not reacting to these gaps can lead to software no longer being competitive or marketable. Reacting too quickly can lead to software becoming “immature” with corresponding negative business impact. Bridging the gaps is not easy and requires…

Mehr lesen
Frank Buschmann, Erik Dörnenburg, Gregor Hohpe, Diana Montalion, Xin Yao
Raum 13b
, (Dienstag, 04.Februar 2025)
10:45 - 12:15
Di 1.1
Modernisierung in der Praxis: Modulith statt Microservices?

Heutzutage stehen viele Unternehmen 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 auch von Erfahrungen mit passenden Technologien…

Mehr lesen
Stefan Toth, Falk Sippach
Raum 13a
10:45 - 12:15
Di 2.1
Die Evolution von Architektur durch Team Topologies

Eigentlich definiert Architektur „nur“ die Struktur der Software. Aber das Gesetz von Conway weist schon auf den Zusammenhang zwischen Architektur und Organisation hin. Durch das Inverse Conway Maneuvre ist klar geworden, dass die geschickte Aufstellung der Organisation die Architektur maßgeblich beeinflussen kann.

Dieser Vortrag zeigt auf, dass Team Topologies auch erhebliche Konsequenzen für die Architektur-Arbeit hat: Team Topologies fungiert nicht nur als Werkzeug für Architektur, sondern…

Mehr lesen
"Path of least resistance" – wie entwickeln Plattform-Teams diesen optimal?

Dynamikrobuste Softwareentwicklungsteams sind cross-funktional und fokussieren möglichst unabhängig von anderen Teams auf eine kognitiv bewältigbare (fachliche) Domäne. Um dies optimal tun zu können, benötigen sie Unterstützung von Plattform-Teams, die ihnen entlastende (Self-)Services anbieten.

Um von einem klassischen OPS-Team zu einem Plattform-Team zu werden, muss zum einen eine gewisse Kundenorientierung und Dienstleister-Mentalität etabliert werden, zum anderen braucht es ein passendes…

Mehr lesen
10:45 - 12:15
Di 4.1
History and Foundations of Software Architecture

How to structure your program right? This has been a central question since the beginning of software development. This talk takes a look into the history of software architecture to understand why we are building software the way we are. We start with foundations like information hiding, modularity, separation of concerns, loose coupling. We move on to principles like layering and design patterns. We conclude with an outlook to modern ideas like hexagonal architecture, onion architecture,…

Mehr lesen
Das 1x1 der Web-Architektur

Die Entwicklung typischer aktueller Webanwendungen kann einen erschlagen: Umfangreiche, komplexe JavaScript-Frameworks, Client-Side-Rendering/Server-Side-Rendering, (De-)Hydration, komplizierte Buildprozesse und und und

Die unterliegenden Technologien, Protokolle und Architekturmuster wie HTTP(2/3), HTML/CSS, Web Components, Representational State Transfer (REST) u. a. geraten dabei manchmal völlig aus dem Blick. Für die Entwicklung von Webanwendungen, die nachhaltig und skalierbar sein sollen,…

Mehr lesen
Henning Schwentner
Raum 11
Christoph Iserlohn
Raum 11
10:45 - 12:15
Di 8.1
Test Architect – Why everybody needs (at least) one

What is the difference of a test architect to a commonly known software architect? And why do I need one? What do they have in common and where do they differ? Is there a gap where we need a bridge (Spoiler: yes)? What are the different expectations of other roles on a test architect?

Questions over questions which will be covered in this talk. With examples where it did go well because there was a test architect and examples where things got haywire maybe because a test architect was missing.

A…

Mehr lesen
Images in Testautomation

The objective of visual test automation is replace flaky and hard to read selectors with images. Many software packages offer the possibility of using images as selectors, but it rarely works reliably. Appium has the function "findElementByImage," Playwright has functions like "toHaveScreenshot." Code and no-code tools alike provide a number of options to tweak the sensitivity, where both, too low and to high values, produce their own set of artefacts. What makes this so difficult? Doesn't AI…

Mehr lesen
Marco Achtziger
Raum 04b
Stefan Dirnstorfer
Raum 04b
14:00 - 14:45
Di 1.2
Evolutionsbasierte Softwarearchitekturentwicklung

Wie wir an der Softwarearchitektur eines Softwaresystems arbeiten, hängt stark von der jeweiligen Situation ab. In diesem Vortrag werfe ich einen Blick auf einen besonders wichtigen Faktor: Softwareevolution. Denn je nachdem, wie weit ein Softwaresystem evolviert ist, unterscheidet sich damit auch potenziell der Ansatz, wie Softwarearchitekturen erarbeitet werden: Von „No-Architecture“ über „Architekturdiktatur“ und „Multi-Level-Architektur“ hin zu „Architekturspezialisten“ diskutieren wir, wann…

Mehr lesen
Markus Harrer
Raum 13a
16:15 - 17:15
Di 1.3
Neue Methoden für die Legacy-Modernisierung

Legacy ist ein Wort das in der IT häufig benutzt aber ungern gesehen wird. Eigentlich wollen wir neue Ideen umsetzen, doch die Legacy Systeme fordern ihren Zoll. Mainframes bekommen Gesellschaft von Monolithen aus der frühen Java Zeit, und gleichzeitig wird immer deutlicher dass eine reine Migration in die Cloud nicht ausreicht sondern eine echte Modernisierung in der Regel Pflicht ist.

In dem aktuellen KI-Boom, der durch die Large Language Models (LLMs) ausgelöst wurde, wird viel über…

Mehr lesen
Erik Dörnenburg
Raum 13a
17:45 - 18:45
Di 1.4
Was tun? Legacy-Monolithen abreißen 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 Softwaresysteme nicht mehr gerne anfassen. Ist das…

Mehr lesen
Carola Lilienthal
Raum 13a
17:45 - 18:45
Di 3.4
BROWNFIELD BATTLE – Dropzone 428.000 unbekannte Codezeilen

Java-Legacy ist gelebte Realität. Teams müssen immer wieder produktiv kritische sowie unbekannte und schlecht dokumentierte Software übernehmen. Doch wie geht ein bestehendes oder neues Team vor, um sich schnell und strukturiert in kurzer Zeit ein Verständnis über die Codebasis aufzubauen?

In diesem Vortrag zeigen wir, mit welchen Methoden und Werkzeugen wir uns systematisch und in kürzester Zeit einen Überblick über die Topografie des Java-Source-Codes verschaffen. Wir erklären, wie…

Mehr lesen
Ingo Düppe
Raum 13b
17:45 - 18:45
Di 4.4
Architektur von unten – die Brücke schlagen zwischen Code und Architektur

Schwer zu ändernde Codebasen haben zwei Probleme: fehlende Ausrichtung an Domänengrenzen und fehlender Ausdruck architektonischer Ideen im Code. Entwickler:innen verwenden Separation-of-Concerns-Architekturen wie Onion-, Clean- und Hexagonal-Architektur, um dieses Problem anzugehen. Diese Ansätze erzielen jedoch gemischte Ergebnisse, da sie sich hauptsächlich auf die Trennung von technischem und Business-Code konzentrieren, ohne strukturelle Aspekte der Domäne zu berücksichtigen.

In der…

Mehr lesen
17:45 - 18:45
Di 6.4
Data Contracts: Bridging the data gap

Data Contracts sind so etwas wie APIs, aber die Datenwelt funktioniert doch etwas anders. Ein Data Contract definiert das Datenmodell der bereitgestellten Daten und deren Qualitätsattribute in einem YAML-Format. Data Contracts enthalten zudem semantische Definitionen, SLAs, und legen die Nutzungsbedingungen für die Verwendung von Daten fest.

Data Contracts sind in erster Linie auch ein Kommunikationsinstrument, um ein gemeinsames Verständnis darüber auszudrücken, wie Daten strukturiert und…

Mehr lesen
Jochen Christ
Raum 12
, (Mittwoch, 05.Februar 2025)
09:00 - 10:30
Mi 2.1
Bounded Context: Problem oder Lösung?

Bounded Contexts spielen bei Domain-driven-Design-Diskussionen eine zentrale Rolle. Sie gelten als eine vielversprechende Lösung zur Modularisierung von Systemen, sei es in Form von Deployment-Monolithen oder Microservices. Doch die Anwendung in der Praxis bringt Herausforderungen mit sich: Es ist oft schwierig, eine Domäne sinnvoll in Bounded Contexts aufzuteilen. Zudem ist das Konzept nicht einfach zu verstehen. Einerseits steht es für die Aufteilung eines Softwaresystems in Module,…

Mehr lesen
Das 1x1 des Collaborative Modeling: ein Griff in die DDD-Werkzeugkiste

Die Grundlage für gute Software ist eine gute Architektur. Eine zum System passende Architektur kann jedoch nicht im luftleeren Raum entstehen – um eine geeignete Architektur definieren zu können, muss man die Domäne und ihre Anforderungen verstehen. Moderne Architekturarbeit beginnt somit ein ganzes Stück vor der eigentlichen Architektur. Für diese Exploration der Domäne wurden im Rahmen von Domain-Driven Design (DDD) verschiedene kollaborative Modellierungstechniken entwickelt. Deren Ziel ist…

Mehr lesen
Eberhard Wolff
Raum 13a
Frank Steimle, Florian Pfleiderer
Raum 13a
09:00 - 10:30
Mi 4.1
Design Patterns - They Are Everywhere

Consider for example, this line of C++ code:

std::pmr::vector<std::variant<int,double,std::pmr::string>> values;

Are you aware that this line of code contains at least five Gang-of-Four (GoF) design patterns? If not, then this talk is definitely for you! It will help you realize that design patterns are everywhere. They are the key to managing dependencies between software entities. They help us to structure our software, to separate concerns, and to communicate our intentions. Even better, they…

Mehr lesen
11:00 - 11:45
Mi 1.2
AI - What could it do for existing software systems ("brownfield") and their further development?

AI for testing to generate test code or AI for coding (see Copilot) to suggest good code examples; this is almost "state-of-the-art". But isn't something missing? Aren't we largely dealing with brownfield software that needs to be transformed in order to be cloud-ready and scalable? Couldn't AI help here too?

In the presentation, we will look at what AI-based methods could do to simulate architecture restructuring (based on data that goes beyond code to evaluate feature/temporal coupling,…

Mehr lesen
Egon Wuchner, Enes Alatas
Raum 13b
11:00 - 11:45
Mi 2.2
Domain-Driven Refactorings

Today we know very well how to start a new project on a greenfield and how to build a good architecture. But most of us work in projects that have been around for a long time and whose architecture (to put it mildly) is not quite so beautiful. “Monolith” and “Big Ball of Mud” are the unflattering labels put on such systems.

This talk will show how we can introduce (or bring back) structure. Every system is different here, so it’s important to first understand where you are. Then the right steps…

Mehr lesen
Henning Schwentner
Raum 13a
Vortrag: Mi 2.2
11:00 - 11:45
Mi 6.2
Data-Aware Architectures als Basis für Analytics & AI

Daten sind elementarer Bestandteil jeder Software – und doch kommen sie bei der Betrachtung der Architektur oft zur kurz, insbesondere im Hinblick auf die analytische Nutzung. Ideen wie Data Mesh haben dafür gesorgt, dass „analytische Daten“ auch in der Softwarearchitektur wieder populärer wurden. Schließlich sind sie die Grundlage für GenAI, ML und Data Analytics.

Ich gehe auf typische Vorgehen in der Vergangenheit und auf neue Wege in modernen Softwarearchitekturen ein. Wie schaffe ich es,…

Mehr lesen
Matthias Niehoff
Raum 05
11:00 - 11:45
Mi 7.2
Organisatorische Erfolgsfaktoren für Architektur-Initiativen

Hast Du schon einmal gehört: „Die (Micro-)Service-Architektur funktioniert nicht wie erhofft“? Viele Unternehmen erleben diese Enttäuschung, da sie nur die Architektur ändern, aber die Organisationsstruktur vernachlässigen. Microservices erfordern Dezentralisierung, doch hierarchische Strukturen führen zu Abhängigkeiten und Komplikationen. Führungskräfte spielen eine entscheidende Rolle, um Teams unabhängig zu organisieren und die Struktur an die gewünschte Architektur anzupassen. In unserem…

Mehr lesen
Mick Hohmann, Dennis Wagner
Raum 03
14:30 - 15:30
Mi 1.3
Cloud Migrations Best Practices: alles nur (ge-)Cloud

Jeder möchte in die Cloud. Unterwegs stellt man fest, dass der Weg dorthin oft lang und steinig ist.
Damit man die typischen Probleme vermeiden und Risiken reduzieren kann, stellen wir Lösungen vor, die sich in unserer Praxis bewährt haben.
Es werden Rehost- und Replatforming-Beispiele mit AWS und der Open Telekom Cloud vorgestellt. Dabei werden folgende Fragen beantwortet:

  • Welche Stolperfallen gibt es und wie lassen sie sich vermeiden? Abkürzungen & Sackgassen
  • Wie kann eine gute…
Mehr lesen
Frank Pientka
Raum 12
14:30 - 15:30
Mi 2.3
Domain-Driven Transformation

Wir wissen heutzutage ziemlich gut, wie man ein neues Entwicklungsprojekt auf der grünen Wiese beginnen sollte und wie wir dabei Schritt für Schritt eine gute Softwarearchitektur aufbauen. Aber die meisten von uns arbeiten in Projekten, die schon lange laufen und deren Architektur nicht mehr ganz so wohlgeformt ist. „Monolith“ und „Big Ball of Mud“ sind die unschönen Bezeichnungen, die wir für diese Systeme haben.

In diesem Vortrag stelle ich Domain-Driven Transformation vor, eine Methode, die…

Mehr lesen
Carola Lilienthal
Raum 13a
Vortrag: Mi 2.3
14:30 - 15:30
Mi 4.3
IODA-Architektur – Viel zu lernen du noch hast

Die Architekturmodelle Clean, Onion und Hexagonal Architecture basieren auf dem Dependency Inversion Principle (DIP). Damit bspw. Domänenlogik nicht von der Datenbank abhängig ist, wird ein Interface dazwischen gestellt. Die Anwendung des DIP ist so allgegenwärtig, dass wir uns an die damit verbundenen Umstände wie Tests mit Attrappen gewöhnt haben.

Mit der Integration Operation Data API Architecture (IODA) gibt es eine Alternative: Durch das Herauslösen der Integration als eigene…

Mehr lesen
Stefan Lieser
Raum 05
17:00 - 18:00
Mi 1.4
Legacy-Code – in den Jungbrunnen oder ab in die Tonne?

Jährlich fließen große Investitionen in die Erstellung von Softwaresystemen. Diese erodieren aber mit der Zeit, behandelt man sie nicht pfleglich. Spätestens wenn z. B. aus dem Legacy-Code eine moderne SaaS-Lösung entstehen soll, rächt sich dieses Vorgehen. Wie soll das Entwicklungsteam agieren? Auf einen Greenfield-Ansatz setzen oder das Altsystem runderneuern? Wie lassen sich solche Probleme in Zukunft vermeiden? Welche Fallstricke lauern in der Praxis? Darauf möchte die vorliegende…

Mehr lesen
Michael Stal, Thomas Ronzon
Raum 13b
17:00 - 18:00
Mi 2.4
Long-lived DDD with "Closure of Operations"

Eric Evans' Big Blue Book has a chapter titled "closure of operations", largely ignored by the community and subsequent works on DDD. This is tragic, as closure of operations is one of the most powerful techniques for domain modeling. A concept imported from functional programming, it makes for flexible and long-lived domain models with the help of combinators - operations that build big domain objects from smaller ones recursively. This is refreshing alternative to the rigid hierarchical…

Mehr lesen
Michael Sperber
Raum 12
Vortrag: Mi 2.4
17:00 - 18:00
Mi 4.4
Hab ich alles schon gesehen – Lessons Learned in der Systementwicklung

Was haben wir nach 30 Jahren Systementwicklung eigentlich alles gelernt? Im Kern stoßen wir immer wieder auf die gleichen Grundprinzipien, die in überraschend vielfältiger Form auftreten. So unterschiedlich Systeme sind, die Hauptprobleme lassen sich tatsächlich häufig auf die gleichen Ursachen zurückführen.

In dieser Session beleuchten wir unsere wichtigsten „üblichen Verdächtigen“ und zeigen auf, wie man sie adressieren kann. Gewürzt mit zahlreichen Anekdoten, plaudern Jutta und Nico aus ihrem…

Mehr lesen
Jutta Eckstein, Nicolai Josuttis
Raum 13a
18:30 - 20:00
Nmi 1
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…

Mehr lesen
Joseph Yoder, Marden Neubert
Raum 11
, (Donnerstag, 06.Februar 2025)
09:00 - 10:30
Do 1.1
Aus alt mach jung – Modernisierung von Softwarearchitekturen

Existierende Softwarearchitekturen stehen von Anfang an einer hohen Dynamik ihres Umfelds gegenüber. Anforderungen ändern sich, neue Technologien entstehen, technische Schulden häufen sich an. Der Vortrag zeigt, wie sich existierende Systeme so renovieren bzw. verbessern und integrieren lassen, dass ihre Nachhaltigkeit auch langfristig gesichert bleibt. Es illustriert, welche konkreten Maßnahmen sich wann und wie nutzen lassen.

Agenda:

  • Motivation und Problemstellung
  • Architekturbewertung
  • Maßna…
Mehr lesen
Michael Stal
Raum 13a
11:00 - 11:45
Do 1.2
Sanfte Migration statt Big Bang: Archäologie und Evolution von Legacy-Systemen

Die Modernisierung eines Legacy-Systems ist eine komplexe Herausforderung, die sorgfältige Analyse und Planung erfordert. In diesem Vortrag zeige ich, wie wir über vier Jahre ein umfangreiches Legacy-System schrittweise migriert haben. Durch Domänenarchäologie erkannten wir fachliche Strukturen im Altsystem und identifizierten Bereiche für neue Lösungen. Ich erläutere Strategien zur Risikobewertung und Priorisierung: Was zuerst – hohes Risiko oder einfache Umsetzungen? Der Parallelbetrieb von…

Mehr lesen
Wolfgang Strunk
Raum 13a
11:00 - 11:45
Do 4.2
Legacy IT und die dunkle Kunst der Flugzeugwartung

Technische, finanzielle und ressourcenbezogene Restriktionen spielen eine entscheidende Rolle bei der Überlegung, wie Sie Ihre Legacy-Anwendungen und vorhandenen Kompetenzen für eine zukunftsorientierte Innovationsentwicklung nutzen können. Welche Begründungen, Ansätze und Mehrwerte sind möglich und geeignet, um die notwendigen Budgets für Innovationen zu definieren und zu sichern? Welche Aspekte sind erfolgskritisch und welche Hypes sind zu vermeiden? Welche Rolle kann Künstliche Intelligenz…

Mehr lesen
Donald Fitzgerald
Raum 04b
Vortrag: Do 4.2
14:30 - 15:30
Do 1.3
Re-architecture enterprise applications with the help of AI - A field report

INITIAL SITUATION

When modernizing enterprise applications that were developed many years ago and adapted over decades, you are often faced with several challenges.

  • What does the current architecture actually look like?
  • Which technologies have all been utilized?
  • Which and how much technical debt, i.e. things that would have to be changed anyway, are hidden in the source code?

Normally, various developers have "immortalized" themselves in the code and the architecture. And a uniform and…

Mehr lesen
Thomas Kashofer
Raum 13a
14:30 - 15:30
Do 2.3
Pragmatische Architekturarbeit zwischen IT-Demand und IT-Supplier

In der modernen Unternehmensarchitektur ist eine enge Zusammenarbeit zwischen IT-Demand und IT-Supplier essenziell, um reibungslose Abläufe und nachhaltigen Erfolg zu gewährleisten. Dieser Beitrag untersucht die Spannungsfelder zwischen IT-Demand und IT-Supplier, die oft durch Unwissenheit und mangelnde Feldkompetenz entstehen. Solche Herausforderungen können zu erheblichen Strömungsabrissen führen, die den Projekterfolg gefährden. Um diese Risiken zu minimieren, werden pragmatische…

Mehr lesen
Stefan Hartig, Christian Fischer
Raum 04a
14:30 - 15:30
Do 3.3
Greenify your System: Nachhaltigkeit in der Softwarearchitektur

In der Praxis begegnet uns bisher kaum die konkrete Anforderung, Softwarearchitekturen mit Blick auf ihre Umweltverträglichkeit zu gestalten. Die zunehmenden Auswirkungen des menschengemachten Klimawandels zeigen jedoch, dass der eigene Beitrag zu mehr Klimaschutz nicht mehr optional ist.

Dieser Vortrag geht darauf ein, wie GreenIT, Nachhaltigkeit und Umweltverträglichkeit im Architekturentwicklungsprozess natürlich integriert werden können. Wir betrachten Möglichkeiten zur nachhaltigen…

Mehr lesen
Sophia Resch
Raum 03
17:00 - 18:00
Do 1.4
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…

Mehr lesen
Thomas Much
Raum 13a
17:00 - 18:00
Do 2.4
From here to resilience - a travel guide

Resilience is an important issue these days. Many companies claim to have a resilient IT, very few have one.

What does it mean to be resilient? How do I get there? How can I figure out where I currently am? How can I improve?

We will look at several gradations of becoming resilient. We will examine their properties and tradeoffs and how to get there. We will discuss what we can achieve at an IT system level and when we need to address the whole socio-technical system.

At the end of the session,…

Mehr lesen
Uwe Friedrichsen
Raum 04a
18:30 - 20:00
Ndo 2
Hilfreiche Architekturdokumentation in weniger als 60 Minuten

Wann hat euch das Dokumentieren eures Softwaresystems zum letzten Mal Spaß gemacht? Noch nie? Lasst uns das ändern!

Wir alle wissen, dass Architekturdokumentation sehr wichtig und auf lange Sicht von unschätzbarem Wert ist, doch immer fällt das Thema hinten runter. Dokumentation kann abschreckend wirken: unsicher, womit ihr starten sollt, Zeitmangel oder noch nie vorher gemacht und nur Negatives gehört.

Wir zeigen euch den Architecture Communication Canvas – einen pragmatischen und prägnanten…

Mehr lesen
Benjamin Wolf, Gernot Starke
Raum 12
18:30 - 20:00
Ndo 4
Wie modularisiere ich einen Monolithen

Auf der grünen Wiese lässt sich leicht eine modulare Anwendung schreiben. Was aber, wenn es – wie leider so häufig in der Praxis – einen bestehenden, historisch gewachsenen Monolithen gibt, der schon einmal bessere Tage gesehen hat? Wie kann die Lücke zwischen dem alten monolithischen Architekturansatz zu einer modernen, modularen Architektur geschlossen werden, die ggf. in Microservices mündet?

Diese Session bietet eine praxisnahe Einführung in bewährte Methoden und Strategien, um eine…

Mehr lesen
Arne Limburg
Raum 04a
, (Freitag, 07.Februar 2025)
09:00 - 16:00
Fr 1
Limitiert Hands-on: Cloud-native Architecture Workshop

„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? Aber ist dieser Schritt wirklich so einfach, wie uns die verschiedenen Cloudanbieter glauben machen? Lässt sich eine klassische Enterprise-Architektur einfach so in die Cloud überführen oder bedarf es neuer Cloud spezifischer Architekturmuster?

Der Workshop zeigt an einem praktischen Beispiel, wie eine klassische Enterprise-Anwendung Schritt für Schritt in die Cloud…

Mehr lesen
Lars Röwekamp
Alois
09:00 - 16:00
Fr 6
C++ Software Design

Good Software Design — the proper management of dependencies — is the foundation for the success of a project. The basic building blocks for software design are design patterns. Design patterns have proven themselves invaluable over several decades and thus knowledge about them is essential to design robust, decoupled systems. Modern C++, however, has profoundly changed the way we use C++, how we think about design and implement solutions. This also affects how we implement design patterns.

This…

Mehr lesen
Klaus Iglberger
Leopold

Zurück