Schwerpunktthema

Softwarearchitektur

Fachartikel, Podcasts, Vorträge und mehr zum Thema Softwarearchitektur.
Blog-Post

Hör auf, Bearer Tokens wie Haustürschlüssel zu benutzen

Du hast eine API gebaut. Du hast sie mit OAuth 2.0 geschützt. Du nutzt JWTs. Du fühlst dich sicher. Bist du nicht.

Podcast

Datenarchitekturen

Von Data Warehouse bis Data Fabric

Blog-Post

Was ECST-Events, Domain Events und ECST wirklich sind

Begriffe klären, Missverständnisse auflösen

Podcast

Risikomanagement für Software-Architekt:innen

Von Vendor Lock-in bis KI-Systemen

Blog-Post

OpenProject: Eine Alternative zu Jira?

Mein Kollege Nicolas Inden zeigte in seinem Artikel "Jira Data Center mit KI-Features nutzen“, wie man eine selbst betriebene Jira-Instanz mit einem KI-Modell verbindet. Ein Punkt sticht dabei heraus: Atlassian unterstützt Jira Data Center nur noch bis Anfang 2029. Danach endet der Support. Der Verkauf von Datacenter-Lizenzen an Neukund:innen wurde sogar schon Ende März 2026 eingestellt. Was tun wir also, wenn wir nach 2029 nicht in die Jira Cloud zurückkehren wollen bzw. uns jetzt schon von Jira lösen wollen?

Podcast

Nebu: Self-made Souveränität

Ein Rezept zum DI.DAY

Blog-Post

RAG und Fine-Tuning

Große Sprachmodelle (LLMs) liefern keine verlässlichen Ergebnisse. In der Praxis zeigt sich: Durch das Zusammenspiel von Retrieval Augmented Generation (RAG) und Fine-Tuning können sie stabiler werden. Dieser Beitrag zeigt, warum sich beide Ansätze ergänzen – und warum ein Feedback-Loop aus der Produktion entscheidend ist.

Blog-Post

Die 1%-Methode für Code und Architektur: Modernisierung als Gewohnheit

„Wir wollen ja modernisieren, aber das Tagesgeschäft kommt immer dazwischen." Diesen Satz höre ich in Kundengesprächen jede Woche. Das Problem ist nicht der Wille, sondern die Vorstellung, dass Modernisierung ein Projekt sei. In diesem Beitrag zeige ich, warum kontinuierliche Modernisierung als tägliche Team-Gewohnheit funktioniert, wo individuelle Vorsätze scheitern und wie zehn Minuten am Tag über Monate eine Architektur entstehen lassen, die ein Big-Bang-Projekt nie hinbekäme.

Blog-Post

Nebu: Self-made Souveränität

Wie ich mit agentischer Entwicklung einen Enterprise-Chat-Server baue, den es so nicht gibt.

Podcast

Architekturentscheidungen im Team ermöglichen

Die Architektenrolle als Facilitator

Podcast

Produktdenken für Plattformteams

Wie interne Plattformen echten Business-Mehrwert liefern

Blog-Post

Data Products richtig schneiden

Heuristiken für eigenständige Data Products

Blog-Post

Neuland reloaded

When Angela Merkel said in 2013 that the internet is ‘Neuland’ (uncharted territory) for all of us, the amusement online was considerable. Viewed from some temporal and substantive distance, one can now recognize a perspective from which she was indeed correct.

Podcast

Worst of Breed

Mit der Blockchain Cookie-Handling implementieren

Blog-Post

Jeder kann Architekt sein!

Blog-Post

Spec-Driven Architecture: Wenn Agenten bauen, muss Architektur sprechen

Spec-Driven Development gibt Agenten eine klare Implementierungsgrundlage. Was es nicht löst: wie ein Portfolio von Systemen kohärent bleibt. Spec-Driven Architecture überträgt dasselbe Prinzip auf die Architekturebene, mit Contracts als versionierten Grenzen und Garantien, durchsetzbar im agentischen Workflow und in der CI/CD-Pipeline.

Blog-Post

Ein Überblick der AI-assistierten Softwareentwicklung in 2026

Birgitta Boeckeler (ThoughtWorks), Heinrich Hartmann (Zalando) und Sven Johann haben sich über den aktuellen Status der AI-assisted Software Entwicklung unterhalten: was ist wirklich Wichtiges in 2025 passiert? Welche stabilen Muster können wir ableiten? Was gibt Orientierung und Einordnung? Und natürlich ein paar Einblicke in den Future of Software Engineering Retreat in Utah an dem Birgitta teilgenommen hat. Die Unterhaltung gibt es natürlich auch als Podcast. Dieser Artikel ist aber eine menschlich kuratierte Zusammenfassung.

Blog-Post

Deine Datenbanktabelle ist eine schlechte API

Ist Datenbankintegration immer noch ein Thema?

Podcast

EU-Data Act für Digitale Dienste

Was Anbieter und Konsumenten jetzt vorbereiten müssen

Blog-Post

Leave It Better Than You Found It

„Lass den Code besser zurück, als du ihn vorgefunden hast.“ Dieser Rat, auch bekannt als Scout Rule, klingt simpel – aber wie sieht das eigentlich in der Praxis aus? Dies ist die Geschichte davon, wie ich diesem Prinzip gefolgt bin, dabei einen überladenen Controller aufgeräumt habe und wie uns dies völlig unerwartet geholfen hat, neue Anforderungen schnell und mit minimalem Aufwand umzusetzen. Eine kleine Lektion in guter Gewohnheit und kontinuierlicher Architekturarbeit.

Podcast

Kontinuierliche Architekturarbeit

Wissen explizit machen

Blog-Post

Why not scatter @Transactional everywhere?

@Transactional — great when you know when not to use it. Use it consciously instead of sprinkling it everywhere!

Podcast

Resilienz

Prozesse, Kultur und Technik

Blog-Post

Digitale Souveränität durch Standardsoftware erreichen

Podcast

20 Jahre arc42

Dokumentation im Wandel

Blog-Post

Der Weg zur heterogenen Cloud Plattform

Die digitale Transformation bringt für Unternehmen sowohl Herausforderungen als auch Chancen mit sich. Um zukunftssichere und flexible IT-Infrastrukturen zu schaffen, setzen immer mehr Unternehmen auf Multi-Cloud- oder hybride Cloud-Strategien. Hierbei geht es nicht nur um Kostenreduktion, sondern auch darum, innovative Dienste verschiedener Anbieter mit regulatorischen Anforderungen – insbesondere im Bereich Datenschutz – in Einklang zu bringen. Dieser Artikel zeigt Ihnen, wie Sie mit gezielten Integrationsstrategien die Vorteile von Multi-Cloud nutzen können, um Ihre bestehende Infrastruktur zu optimieren, technische Abhängigkeiten zu reduzieren und dabei den geschäftlichen Erfolg langfristig zu sichern.

Blog-Post

Governance-Methodik für digitale Souveränität

Blog-Post

Digitale Souveränität: Warum die Architektur zählt und wie Sie Ihr Unternehmen resilient machen

In einer Zeit, in der digitale Systeme das Rückgrat unserer Wirtschaft und Gesellschaft bilden, rückt die Kontrolle über die eigene digitale Zukunft zunehmend in den Fokus strategischer Entscheidungen. Für viele Technologieentscheider:innen im deutschsprachigen Raum ist dies nicht nur eine politische oder regulatorische Herausforderung, sondern eine grundlegende Aufgabe, die weitreichende Implikationen für die Software-Architekturarbeit hat.

Podcast

Cloud Migrationsstrategien

6Rs in der Praxis

Blog-Post

Mobile Portale mit HATEOAS und Self-Contained Systems

Blog-Post

Technische und andere Schulden in IT-Systemen

Dieser Artikel beleuchtet verschiedene Formen technischer Schulden, die IT-Teams bremsen – oft unbemerkt und weit über schlechten Code hinaus.

Blog-Post

Updating OWASP’s Microservice Security Cheat Sheet: Practical Considerations & Recommendations

Turning principles and patterns into practice — just as promised.

Blog-Post

Von Datenfriedhöfen zu Wissenslandschaften

Europas digitaler Souveränitätsanspruch in der Praxis

Blog-Post

Updating OWASP’s Microservice Security Cheat Sheet: Decision Dimensions for Authorization Patterns

Choosing the right patterns is critical, as it directly impacts the system’s security posture, performance, scalability, and maintainability.

Blog-Post

Pragmatische Architekturdokumentation für Entwicklungsteams

Eine gut gepflegte Architekturdokumentation ist nützlich, gerade auch für die Entwickler:innen eines Softwaresystems. Sie hilft nicht nur beim Verständnis, sondern sorgt auch dafür, dass sich wichtige Sachverhalte reflektiert diskutieren und klären lassen.

Podcast

Kopplung

Zwischen Abhängigkeit und Autonomie

Blog-Post

Digitale Souveränität – Ein Definitionsversuch

Der Begriff Digitale Souveränität trägt die Wolkenwende. Beim Versuch einer Definition ist es unvermeidlich, verschiedene Perspektiven einzunehmen. Weniger, was das Digitale angeht – hier stehen ganz klar Informationstechnologie und Software im Fokus. Souveränität allerdings ist als Begriff eine andere Größenordnung.

Blog-Post

Updating OWASP’s Microservice Security Cheat Sheet: Identity Propagation Patterns

Without trustworthy identity propagation, even strong initial authentication can be undermined — weakening trust boundaries and ultimately impairing the system’s ability to make reliable authorization decisions.

Blog-Post

Updating OWASP’s Microservice Security Cheat Sheet: Authentication Patterns

Blog-Post

What’s Wrong with the Current OWASP Microservice Security Cheat Sheet?

Modern microservice architectures require evolving security practices. Yet popular resources like the OWASP Microservice Security Cheat Sheet are starting to show their age and need a fresh look.

Blog-Post

Updating OWASP’s Microservice Security Cheat Sheet: Core Concepts

In part two of my series, I begin the journey to rethink the OWASP Microservice Security Cheat Sheet. This post focuses on core concepts, laying the groundwork for practical, real-world microservice security.

Podcast

Kohäsion

Wie viel Zusammenhang braucht ein Modul?

Blog-Post

CIO-Fragestellungen zur digitalen Souveränität

Was passiert, wenn europäische Unternehmen morgen keine US-Cloud-Dienste mehr nutzen dürfen – oder sie sich diese schlicht nicht mehr leisten können? IT-Verantwortliche brauchen Antworten – nicht auf Basis von Bauchgefühl, sondern faktenbasiert. In diesem Beitrag geht es darum, mögliche Risiken in der Nutzung US-amerikanischer Cloud-Services zu beleuchten und zu identifizieren, wie Methoden der Enterprise Architektur dabei helfen können, diese zu meistern.

Blog-Post

Updating OWASP’s Microservice Security Cheat Sheet: Authorization Patterns

Authorization patterns explain how distributed systems organize their access control — where and how decisions happen, where policies live — and influence, in turn, how identities and related attributes travel between components.

Podcast

Testpyramide oder Testdiamant?

Welche Automatisierungsstrategie passt zu meinem Kontext?

Blog-Post

Enabling von Stakeholdern als Erfolgsfaktor

Soziotechnische Architekturen berücksichtigen sowohl technische als auch menschlich-organisatorische Aspekte und fördern deren zielgerichtete Zusammenarbeit. Um die erfolgreiche Ausgestaltung und Implementierung dieser Systeme zu gewährleisten, ist es entscheidend, die Stakeholder aktiv einzubeziehen und ihre Interessen zu adressieren. In diesem Artikel beleuchten wir, warum das Enabling von Stakeholdern eine Schlüsselfunktion in soziotechnischen Projekten darstellt und wie Sie diesen Ansatz gezielt vorantreiben können.

Blog-Post

Soziotechnische Architekturen: Informalität vom Bergbau bis heute

Informelle Strukturen wirken oft unsichtbar – und sind doch entscheidend für den Erfolg technischer Lösungen. Warum das so ist und was Bergbau mit App-Entwicklung zu tun hat, zeigt ein Blick auf soziotechnische Systeme.

Blog-Post

Interne Entwicklungsplattformen – Shift Down statt Shift Left

Blog-Post

Wieviel Denken erträgt ein Team?

Der Begriff Cognitive Load wird seit einigen Jahren regelmäßig verwendet, wenn es um Strukturen von Teams, Rollen und Aufgabenverteilung in IT-Organisationen geht. In der Diskussion wird häufig wenig zwischen den unterschiedlichen Zwecken der IT-Organisationen unterschieden, ebenso basiert die Diskussion oft auf einem stark reduzierten Konzept von Cognitive Load.

Blog-Post

Vergesst die Menschen nicht

Auf dem Papier ist die Architekturvision perfekt. Alle drängenden Defizite der bestehenden Architektur werden adressiert, die Architektur ist optimal auf die Geschäftsdomäne zugeschnitten, viel mehr Arbeit kann zukünftig in einem Team bleiben. Endlich werden wir höheren Speed-to-Market genießen und einen deutlichen Rückgang der (nicht wertschöpfenden, langweiligen) Koordinationsarbeit zwischen Teams haben. Sicherlich werden alle sofort erkennen, wie viel besser unsere neue Architekturvision ist. Pustekuchen.

Podcast

Jetzt doch wieder ein Monolith/Modulith?

Die Architekturfrage neu gestellt

Blog-Post

Soziotechnische Architektur als Wettbewerbsvorteil

In der heutigen Geschäftswelt dient technologischer Fortschritt nicht nur der Effizienzsteigerung, sondern eröffnet auch neue Geschäftsfelder, die ohne diese Technologien undenkbar wären. Die optimale Nutzung neuer Technologien wird damit zu einem zentralen Wettbewerbsvorteil. IT-Entscheider:innen stehen jedoch zunehmend vor der Herausforderung, dass Technologie allein nicht ausreicht. Stattdessen müssen Unternehmen sich als soziotechnisches System verstehen, in dem technische Systeme und menschliche Interaktionen eng miteinander verzahnt sind. Dieser Artikel zeigt, warum soziotechnische Architekturen für IT-Entscheider:innen relevant sind und wie sie Unternehmen einen Wettbewerbsvorteil verschaffen können.

Blog-Post

Bringt eure Schafe ins Trockene: Tipps für politische Risikovorsorge

Eines vorweg: Keine Panik! Das ist aktuell wichtiger als sonst. Leider hat sich die Welt in den letzten Monaten drastisch verändert, sodass nun ein neues Risiko aufgetaucht ist: Die US-basierten Cloud-Dienste, die uns viel ermöglichen, die den Betrieb von Anwendungen so vereinfacht haben und viele Innovationen ermöglichen, könnten auf einmal gegen uns verwendet werden. Sei es politischer Machtmissbrauch oder eskalierender Drang nach Reichtum. Dies ist ein komplett neues Risiko, das auf uns alle in Europa zukommt.

Blog-Post

Digitale Souveränität

Strategischer Imperativ für Europas Unternehmen

Blog-Post

Von Legacy-Monolithen zu Self-contained Systems

Moderne Architektursysteme teilen die Arbeit in voneinander unabhängige Teams auf. Eine bestehende, monolithische Anwendung muss dafür zerlegt werden.

Blog-Post

Gängige Methoden im Umfeld soziotechnischer Architekturen

In der Ära der Digitalisierung und Modernisierung stehen Unternehmen vor der Herausforderung, sich nicht nur technologisch, sondern auch organisatorisch optimal auszurichten. Soziotechnische Architekturen spielen dabei eine Schlüsselrolle, da sie den Fluss von Arbeit, die Zusammenarbeit zwischen Teams und die Integration technischer und sozialer Systeme in den Fokus rücken. Dieser Artikel beleuchtet zwei zentrale Ansätze – Team Topologies und Domain-Driven Design (DDD) – und zeigt, wie sie Unternehmen helfen können, mit bewusster soziotechnischer Architekturarbeit zu starten.

Blog-Post

Plattformen, Teams und APIs: Wie passt das zusammen?

Podcast

Vielschichtigkeit von Plattformen

Von Infrastruktur bis Business – eine Einordnung

Blog-Post

Canvas 101

Steckbriefe sind kompakt, strukturiert und liefern gezielte Informationen – ideal, um sich schnell einen Überblick zu verschaffen. Ein Canvas funktioniert genauso, nur für IT-Projekte. Ob Geschäftsmodell, Architektur oder Teamkommunikation: Mit einem Canvas halten Sie die wesentlichen Aspekte strukturiert und übersichtlich fest.

Blog-Post

Bessere APIs, aber wie?

API Linting mit Spectral verbessert die Qualität von APIs

Blog-Post

APIs als strategische digitale Bausteine

Organisationen müssen heute balancieren, ihre aktuellen Aufgaben effizient zu erfüllen, aber sie müssen ebenso in der Lage sein, auf neue Anforderungen schnell und flexibel reagieren zu können. „Unbundling the Enterprise” ist ein neues Buch, das untersucht und beschreibt, wie sich Unternehmen durch systematisches Entflechten mehr Optionen verschaffen können, und somit besser in der Lage sind, auf neue Anforderungen zu reagieren.

Blog-Post

Back to Basics: Gute Architektur muss nicht „trendy“ sein

Schlägt man ein IT-Magazin oder das Programm einer IT-Konferenz auf, springt dem Leser sofort der Hype ins Gesicht: Gestern waren es Microservices, die uns vor den zu groß geratenen Monolithen retten werden, heute ist es die generative KI, die als Heilsbringer oder Unheilstifter stilisiert wird. Dabei ist es auch ohne dieses Hintergrundrauschen nicht einfach, gute Architekturentscheidungen zu treffen.

Podcast

Die Reise der Zalando Reliability Organisation

Zu Gast: Heinrich Hartmann, 
Principal SRE
, Zalando

Podcast

INNOQ Technology Day

Programm und Behind the Scenes

Blog-Post

LLM-assisted Abbreviation Mining for Legacy Systems

This blog post shows the process of mining abbreviations and discovering first concepts a COBOL legacy mainframe codebase is made of with the help of Large Language Models. It uses Python, pandas and Claude 3.5 Sonnet to generate insights that can be gathered from such a simple thing like a list of files.

Podcast

Qualitätstaktiken

Für angemessene Qualität sorgen

Blog-Post

Entwickler skalieren anders als Applikationen

Interne Plattformen können die unternehmenseigene Softwareentwicklung beschleunigen, indem sie die mentale Belastung der Entwicklungsteams reduzieren. Als Abstraktionsschichten konzentrieren sie sich auf die wesentliche Fach- und Laufzeitdomäne. Wenn sie sorgfältig gebaut sind, durchbrechen sie alte Konflikte und erlauben zum Beispiel den Entwicklungsteams viel Innovationsfreiheit trotz (oder dank) hoher Standardisierung. Allerdings erfordert dies ein Umdenken über den Wert von Wiederverwendung und auch eine Kehrtwende von Projekten hin zu internen Produkten. Organisationen, die der Versuchung erliegen, bestehende Betriebsschichten oder Frameworks in „Plattformen” umzubenennen, dürfen daher keine Wunder erwarten.

Podcast

Was ist Programmieren?

Peter Naur’s „Programming as Theory Building“ heute

Blog-Post

Nicht mehr Open-Source

Technologieentscheidungen rational treffen

Podcast

Bootcamp Softwarearchitektur

Die iSAQB-Advanced-Prüfung

Blog-Post

API gut, alles gut

Unternehmen streben häufig eine Modularisierung (wie durch Microservices) an, die Teams unabhängiger voneinander arbeiten lässt. Dabei ist aber ein reines Aufteilen der Applikation in verschiedene Module/Container/Bausteine nicht ausreichend. Die Abhängigkeit oder Unabhängigkeit entscheidet sich vielmehr mit der Gestaltung der Schnittstelle, genauer: Mit der Frage, ob die gewählte Schnittstelle fachliche Implementierungsdetails preisgibt oder diese versteckt.

Podcast

Backstage

Erhöhte Development Experience

Podcast

Kultur der Architekturarbeit

Vernetzung und Dialog zwischen Teams

Blog-Post

Rate Limiting with Spring Boot, Bucket4j, and Redis

Let’s implement rate-limiting protection for multiple Spring Boot server instances using bucket4j and redis to have the solution on application level.

Blog-Post

Rate Limiting with Spring Boot

Podcast

Architecture Antipatterns

Von guten Ideen und Kipppunkten

Podcast

Architektur-Reviews

Systematisch Risiken und Probleme aufdecken

Blog-Post

Technologien zur Integration von Services

Kleine Architekturstudie

Podcast

Architecture Communication Canvas

Dokumentation auf einer Seite

Blog-Post

Schema Evolution

Bei der Benutzung von Kafka wird häufig ein Schema definiert und benutzt, das die verwendeten Datenstrukturen spezifiziert. Da Software im Laufe der Zeit stetig weiterentwickelt wird, ist es irgendwann notwendig das Schema anzupassen. Dieser Artikel erörtert Ansätze, die sich dabei bewährt haben und Hilfsmittel, die verwendet werden können, um eine solche Schema Evolution durchzuführen.

Blog-Post

Micro Frontends With Ionic And Capacitor

Blog-Post

Mit Reviews in Legacy-Situationen orientieren

In diesem Post möchte ich ein paar meiner Erfahrungen mit Legacy-Software teilen. Wir von INNOQ kommen meistens dazu, wenn die Entwicklung irgendwie stecken geblieben ist oder es unklar ist, wie es weiter gehen soll. Reviews, die in Zusammenarbeit von Beratern und Kunde durchgeführt werden, können in einer solchen Situation effektiv und schnell für Klarheit sorgen.

Blog-Post

Grundlagen der Softwarearchitektur: Teil 5

In dieser (fünften) Folge der Mini-Serie zu Softwarearchitektur verlassen wir die kleinen bis mittelgroßen Systeme, und werfen einen Blick auf große, riskante und komplexe Projekte. Sie können das als „Skalierung" der Rolle Softwarearchitektur betrachten.

Blog-Post

Grundlagen der Softwarearchitektur: Teil 4

Wer macht das?

Blog-Post

Grundlagen der Softwarearchitektur: Teil 3

In dieser Folge der Mini-Serie klären wir, was Sie alles für Softwarearchitektur tun müssen. Zuerst schauen wir auf die notwendigen Aufgaben und Tätigkeiten. Anschließend diskutieren wir einige der notwendigen Kompetenzen und Fähigkeiten für die Architekturaufgabe.

Blog-Post

Grundlagen der Softwarearchitektur: Teil 2

Willkommen zum zweiten Teil der Mini-Serie zu Softwarearchitektur.

Blog-Post

Grundlagen der Softwarearchitektur: Teil 1

Gebäude, Zweck, Ästhetik

Blog-Post

Sparsame Dokumentation – Neu gedacht

Sie glauben, Architekturdokumentation ist umständlich und dauert lange? Wir beweisen Ihnen heute das Gegenteil.

Blog-Post

Keine zukunftssicheren Architekturen!

Architektur: Schon der Begriff strahlt Stabilität aus. Also sollte eine gute Architektur vermutlich zukunftssicher sein. Aber genau dieses Ziel führt oft zu Problemen. Ist es also besser, keine zukunftssicheren Architekturen zu entwerfen?

Blog-Post

Evolving software like an orchardist

Comparing apple trees with software modernization

Blog-Post

Draw The Diff

Software developers have an idiosyncratic penchant for boxes and arrows. Back when we used to go to the office we penned them on whiteboards. Later, as the force majeure accelerated the digital transformation of our economies, we drew them online.

Blog-Post

What is Sustainable Software?

Environmental sustainability is a very important issue, but software is something virtual, so it doesn’t seem to have an impact, right? Wrong! As software creators, we have a significant impact and can make a difference by incorporating the principles of eco-friendly software development into our understanding and practices.

Blog-Post

Shortcomings of ISO 25010

Blog-Post

Behaviour over structure

We, developers, often forget why we even exist. We quite often don’t remember that our purpose is not to write software, but to solve problems. Those come in different forms, but can be generalized as „we need to start doing this”, „we need to stop doing this” or „we need to do this differently”. Those „do” and „doing” are the key, whatever „this” is. It’s the behaviour our software exhibits that is most important, almost everything else is secondary.

Podcast

Advent of Code

25 weihnachtliche Programmier-Rätsel

Podcast

Nachhaltige Web-Architektur

Ständige Verfügbarkeit – Muss das sein?

Podcast

Wardley Maps

Softwarelandschaften kartographieren

Blog-Post

Sparsame Dokumentation

Ich weiß – Dokumentation ist nicht Ihr Lieblingsthema. Deswegen bekommen Sie hier ein paar Tipps für schmerzfreie Dokumentation. Die hier vorgestellten Ideen sparen Ihnen wertvolle Zeit, sowohl bei Erstellung als auch Pflege der Dokumentation. Sie funktionieren für jede Art von Softwaresystem, unabhängig von Werkzeugen, Technologien und Entwicklungsansätzen.

Blog-Post

1×1 guter Architekturdiagramme

Von schlechter zu besser mit 11 praktischen Tipps

Blog-Post

Der Kickstart für Softwarearchitektur

Zweifellos: Softwarearchitektur ist ein kompliziertes Thema. Dennoch können schon einige wenige Techniken helfen, die Architektur in vielen Projekten zu verbessern. Dazu muss man sie aber wirklich beherrschen und anwenden können. Wie kann man das dazu notwendige Wissen möglichst einfach und effektiv erlernen?

Blog-Post

Documenting software architecture with arc42

arc42 is a template for architecture communication and documentation. It is a proven, practical and highly pragmatic approach and takes the pain out of documentation.

Blog-Post

cards42 English edition

The activity cards for software architects

Blog-Post

Principles of technical documentation

This article collects fundamental requirements for technical documentation, especially software architecture documentation, together with ideas how to satisfy those.

Blog-Post

Data Mesh to Go: How to Get the Data Product

You know what a data mesh is? You understand its basic principles? But you don’t know how on earth to get the data product? Then I will show you how to extract your data product from your Domain-driven Design (DDD) artifacts.

Blog-Post

HTTP-Feeds

Asynchrone Schnittstellen ohne Kafka oder RabbitMQ

Blog-Post

Quality Driven Software Architecture - Revised

Quality is the raison d’être for software architects: Our systems should be reliable, performant, scalable and user-friendly. Systems should be build and maintained cost-effective and future-proof. Every IT professional knows that this combination of characteristics means hard work. The article shows how you can methodically construct quality.

Blog-Post

What’s in a name: Legacy

The term „legacy” has a negative connotation in IT, and stands for an old, somehow bad piece of software. In real-life, legacy has a completely different and often positive meaning.

Blog-Post

Innovation on steroids - Teil 2

Mit DDD und ML Design Canvas Use Cases für Machine Learning identifizieren

Podcast

Ist Domain-driven Design überbewertet?

Goldenes Kalb oder „nur“ Werkzeug?

Blog-Post

Innovation on steroids - Teil 1

Immer mehr Firmen setzen auf die Innovationskraft von Machine Learning und KI. Aber nicht jedes Problem lässt sich mit dem Einsatz von ML-Technologien lösen. Wie also kann man geeignete ML Use Cases identifizieren?

Blog-Post

Große Systeme mit Domain-driven Design entwerfen

Mit einem strukturierten Ansatz zum Erfolg

Blog-Post

What’s in a Name: Qualität

Das Wort Qualität verwenden wir umgangssprachlich für etwas „Gutes” - aber wir lassen meist offen, was wir darunter genau verstehen. Der Artikel zeigt, dass wir uns in dieser Hinsicht etwas exakter ausdrücken sollten.

Blog-Post

Is Domain-driven Design overrated?

Domain-driven design (DDD) is a useful approach that provides excellent guidelines for modeling and building systems, but it is a means to an end, not an end in itself. While the concepts are valid, you lose a lot if you limit yourself to using them only: There actually is a life beyond DDD.

Blog-Post

Domain-driven Design und Bounded Context

Eigentlich ganz einfach, oder?

Blog-Post

The art of software reviews

Auch in erfolgreichen Softwaresystemen lauern praktisch immer Probleme. Durch systematische Reviews können Sie diese Probleme zielgerichtet identifizieren – und damit eine robuste Grundlage für zukünftige Verbesserungen schaffen. Der Artikel stellt die Breitensuche als den zentralen Ansatz methodischer Software-Reviews vor und beleuchtet einige der wesentlichen Untersuchungsansätze.

Blog-Post

Die VENOM Story

Sie erfahren anhand eines (komplett anonymisierten), realen Beispiels, wie die inkrementelle Modernisierung eines historisch gewachsenen Systems funktionieren kann. Das riesige, gewucherte System VENOM von >2 Mio Lines-of-Code zu modernisieren oder komplett neu zu schreiben - vor dieser schweren Entscheidung stand die (fiktive, aber sehr realitätsnahe) Firma SAMM Inc.

Blog-Post

Gut gesiebt

Von Usability und Features – Service Meshes im Vergleich

Blog-Post

Wenn Customizing zur Legacy wird

In diesem Blog-Post visualisiere ich ein regelrechtes Schlamassel mit Hilfe von Wardley Maps und Elementen aus dem strategischem Domain-driven Design.

Blog-Post

Architektur, die mitwächst

Architektur sollte wachsen und gepflegt werden. Die Geschichte eines Shops.

Blog-Post

Domain-driven Design to the code

Umsetzung des Domänenmodells ohne Technologie-Einfluss

Blog-Post

Kubeless - FaaS auf Kubernetes

Kubernetes und Serverless sind zwei der bedeutendsten Trends beim Betrieb von Software. Kubeless verspricht sogar, beides zu vereinen, und lohnt daher eine nähere Betrachtung.

Blog-Post

Agile Architekturarbeit

Moderne Softwarearchitekturarbeit folgt selbstverständlich der agilen Arbeitsweise in Entwicklung und Projektmanagement.

Blog-Post

Architektur-Reviews remote durchführen

Blog-Post

Glücklich ohne Service Mesh

Es muss nicht immer ein Service Mesh sein. Auch Microservices sind nicht per se eine gute Idee. Für gute Entscheidungen müssen wir uns das Problem genau anschauen.

Blog-Post

Identifikation von Qualitätsanforderungen mit Quality Storming

Quality Storming ist ein Workshop zur Identifizierung von Qualitätsanforderungen auf der Grundlage eines Qualitätsmodells wie beispielsweise der ISO 25010 Norm. Die Methode setzt dabei auf Methoden und Ideen des Collaborative Modeling, das in der Domain-driven Design Community populär ist. Ein wichtiger Aspekt in diesem Zusammenhang ist die Zusammenarbeit verschiedener Stakeholder und Abteilungen.

Blog-Post

Command & Control, SAFe, Domain-driven Design, and Release Trains

Handling Complex Software Projects

Blog-Post

Warum Domain-driven Design?

Domain-driven Design (DDD) ist eine alte Technik, aber gerade voll im Hype. Worum geht es bei DDD und ist der Hype berechtigt?

Blog-Post

Warum Quarkus.io _nicht_ geiler ist als Spring

Quarkus.io ist ein neues Framework, das optimiert ist, um Java Anwendungen Cloud Native laufen zu lassen. Sollte ich meine Java-Anwendungen daher jetzt nicht mehr in Spring Boot sondern in Quarkus.io entwickeln?

Blog-Post

Brauchen asynchrone Microservices und SCS ein Service Mesh?

Da lässt sich doch was meshen

Blog-Post

Architektur­entscheidung im agilen Team

Eine schlechte Architekturentscheidung kann Projekte zum Scheitern bringen. Das passiert oft, wenn ein Architekt alle wichtigen Entscheidungen alleine trifft und nie oder sehr spät Feedback bekommt, ob sie gut oder schlecht waren. Oder aber auch, wenn ein “agiles” Team mit dem Architekten die Architekturarbeit aus dem Fenster geworfen hat. Schade, denn wenn man wichtige Entscheidungen nicht einfach dem Lauf der Dinge oder einem Elfenbeinturmbewohner überlässt, findet man viel besser Lösungen.

Blog-Post

Software-Architektur: Worauf es ankommt

Die Architektur definiert die Struktur eines Software-Systems und ist zentral für den Erfolg eines Projekts. Deswegen ist Software-Architektur so wichtig. Aber in Wirklichkeit ist Software-Architektur noch viel mehr und eine erfolgreiche Software-Architektur erfordert viele, teilweise überraschende Maßnahmen.

Blog-Post

code-your-model

modularized modeling based on a project-specific DSL

Blog-Post

Alle 11 Minuten verliebt sich ein Microservice in Linkerd

Beim Thema Service Mesh hieß es lange immer nur „Istio”. Doch die Komplexität des Projekts und die steile Lernkurve ebnen leichtgewichtigen Alternativen den Weg. Wir haben uns mit Linkerd 2 beschäftigt und wurden nicht enttäuscht.

Blog-Post

Cloud-native, Microservices, Domain-driven Design, Kubernetes

Software-Entwicklung unterliegt schon immer Hypes. Im Moment reden alle über Microservices und Cloud-native. Aber helfen diese Ansätze wirklich weiter?

Blog-Post

JavaScript? Gern, aber bitte in Maßen

Klassischer Architekturansatz für Webanwendungen

Blog-Post

Warum Microservices scheitern

Microservices sind der große Architektur-Trend in den letzten Jahren. Mittlerweile stellt sich aber Ernüchterung ein: Auch Microservices-Projekte sind vorm Scheitern nicht sicher. Sich die typischen Gründe für das Scheitern anzuschauen, ermöglicht es, diese Probleme zu umgehen und so erfolgreiche Projekte umzusetzen.

Blog-Post

Das Service Mesh

Die Stärke einer Microservice-Architektur ist die lose Kopplung der Module. Und gleichzeitig ist es auch ein großer Nachteil, denn in jedem Microservice müssen Funktionen wie Monitoring, Tracing und Circuit Breaking erneut gelöst werden. Ein Service Mesh verspricht, viele der Funktionen in die Infrastruktur zu ziehen. So wird es endlich kinderleicht, Microservices zu entwickeln und auch zu bändigen - oder vielleicht doch nicht?

Blog-Post

Optionen der Frontend-Integration

Blog-Post

Pragmatisch zum Praxiseinsatz von Machine Learning in der Cloud

Die Anzahl von Publikationen zu Computer Vision, Natural Language Processing (NLP) oder Reinforcement Learning ist heutzutage gewaltig. Dabei widmen sich die meisten ausschließlich dem Training. Doch oft müssen Data Scientists auch beim Betrieb ihrer Modelle mitwirken. Dafür braucht es einen pragmatischen und unaufwändigen Weg.

Blog-Post

cards42

Die Mitmach-Karten von cards42 unterstützten bei der täglichen Arbeit mit Softwarearchitekturen. Die Karten geben kurze Denkanstöße für festgefahrene Situationen und helfen, neues Licht auf schwierige Herausforderungen zu werfen. Dieser Artikel bietet ausführliche Erklärungen sowie die Hintergründe und weitere Informationen zu den Karten.

Blog-Post

Event Storming und Domain Story Telling - Ein Vergleich

Blog-Post

Cooking with Onions: Inward-Pointing Arrows

The onion architecture is an established approach to structuring applications.

Blog-Post

Domain Events vs. Event Sourcing

Weshalb Domain Events und Event Sourcing nicht vermischt werden sollten

Blog-Post

Technologien für Microservices

Warum Microservices-Frameworks nicht genug sind

Blog-Post

Microservices – oder doch nicht?

Microservices sind zwar in aller Munde, aber wie jede andere Architektur auch sind sie ein Trade-Off. Also stellt sich die Frage, wo Microservices sinnvoll sind, wie es mit Microservices weitergeht und was nach Microservices kommt.

Blog-Post

Benimmregeln für Architekturen - automatisch geprüft

Softwareentwicklung und automatisierte Tests funktionaler Anforderungen sind in modernen Systemen untrennbar miteinander verbunden. Da ist es nur folgerichtig, wenn die Softwarearchitektur als eminent wichtiger Bestandteil von Applikationen auch einer ordentlichen Qualitätssicherung unterliegt. Wir stellen ArchUnit vor, mit dem Sie auf einfache Weise automatisierte Tests für die Architektur einer Applikation realisieren können.

Blog-Post

Serverless - The Vendor Is Not Your Enemy

Serverless Entwicklung mit bekannten Pattern

Podcast

Microfrontends

Unabhängige Teams im Frontend

Blog-Post

Do We Worship Complexity?

Complexity is the most important challenge in software development. So it is important to always strive to eliminate complexity. But sometimes we worship complexity - and that can make complexity problems unsolvable.

Blog-Post

Prinzipien zur Entwicklung von unabhängigen Systemen

Prinzipiell unabhängig

Blog-Post

No-Principles Software Architecture

The traditional principles of software architecture often lead to problems. Understanding these challenges is the first step towards eliminating them or even avoiding them right from the start.

Blog-Post

Code Redundancy or Reuse?

Reuse used to be the holy grail of software development. If developers reuse code, they don’t have to write it again. This should increase productivity significantly. In the meantime, however, some things have changed - and even redundant code has advantages. So avoiding redundancy is also just another trade-off.

Blog-Post

Was ist ein Domain-driven Design Architektur-Kata?

DDD praktisch und konkret vermitteln

Blog-Post

OpenID Connect Auth-Proxy

Mit OpenID Connect kann Single Sign-On in einem verteilten System erreicht werden. Ein Auth-Proxy kapselt den Aspekt Authentifizierung in einem eigenständigen Modul. Wir schauen uns an, wie das im Detail umgesetzt werden kann.

Podcast

50 Tipps

Ratschläge zu Software, Zusammenarbeit und Druckkaramellisierung

Blog-Post

Technical Debt Just Happens

…But You Will Have to Deal With It!

Blog-Post

Microservices? Or Rather Monoliths?

Microservices are a hype. Now, critics suggest to return to monoliths. But does that really help?

Blog-Post

A Playground for Testing OpenID Connect

This post describes how you can set up a development environment in order to play around with your OpenID client implementation. When running your application in a cluster, it can be difficult to test how it will behave behind a load balancer. One factor that can be particularly difficult to test is when you are communicating with an OAuth 2.0 or OpenID Connect server which expects that a request will be redirected back to the same application instance that it came from.

Podcast

Transklusion

Frontendintegration im Web

Blog-Post

Schubladendenken - aber konstruktiv

Verwendung von Stereotypen im Code als Basis für ein gemeinsames Architekturverständnis - und mehr

Podcast

Independent Systems Architecture

Best Practices für Microservices

Blog-Post

Domain Exceptions?

Gibt es fachliche Ausnahmen und ist es sinnvoll, diese als Exceptions zu modellieren?

Blog-Post

dprox – Declarative Reverse Proxy

Reverse proxies don’t have to be a pain when it comes to local development.

Blog-Post

Service Mesh und Kubernetes

Zum Betreiben einer Website stellt Kubernetes einige wichtige Ressourcen, wie Service (round robin load balancer), Ingress (Proxy als API Gateway) und Pod (logischer Host) zur Verfügung. Dennoch sind sie nur eine Grundlage. Für komplexere, über Jahre laufende Webportale, ist mehr erforderlich als das. Service Meshes liefern, was den Kubernetes Bordmitteln fehlt.

Blog-Post

FaaS und Kubernetes

Podcast

Microservices Praxisbuch

Grundlagen, Konzepte und Rezepte

Blog-Post

DDD mit Onion Architecture

3 Gründe, weshalb Onion Architecture für die Umsetzung von Bounded Contexts nach Domain-driven Design besonders geeignet ist.

Blog-Post

The language of maths is not the language of your business

Blog-Post

Domain- und Test-driven Development mit Spring Boot 2 Softwarearchitektur

Am Anfang eines Projektes wird heutzutage in der Regel Wert auf Tests gelegt. Projekte werden sogar testgetrieben aufgesetzt (Test-driven-development, TDD). TDD-Projekte der reinen Lehre schreiben vor, dass vor jeder Zeile Anwendungscode der entsprechende Testcode geschrieben werden muss. Schleicht sich Stress ein oder lässt die Begeisterung nach, kann es passieren, dass das Thema Tests – obwohl wichtig – vernachlässigt werden. Das gilt umso mehr, je schwieriger Komponenten eines Systems zu testen sind, unabhängig, ob sie einzeln oder integriert betrachtet werden. Lesen Sie hier, wie Ihnen ein Domain-orientierter Ansatz zusammen mit Spring Boot 2 dabei hilft, Qualität sicherzustellen.

Blog-Post

Proof of Existence via HTTPS

Übliche „Proof of existence” - Konzepte nutzen die Blockchain von Kryptowährungen. Das geht auch einfacher und billiger.

Blog-Post

Evolution statt Verschlimmbesserung

Mit aim42 Architekturen systematisch verbessern

Blog-Post

Vertrauensvolle und angstfreie Kommunikation als Grundlage gelungener Softwarearchitektur

Steht und fällt der Erfolg einer Softwarearchitektur und damit eines Projektes mit einer technischen Entscheidung zugunsten von Microservices oder Monolithen oder müssen viel früher Weichen gestellt werden, um sicherzustellen, dass technische Entscheidungen die gewünschten Ziele erreichen: Einige Gedanken zu Kommunikation in Projekten.

Blog-Post

Probleme bei der Einführung von Microservices: Seien Sie vorbereitet!

Nachdem man sich die Frage gestellt hat, warum man Microservices einsetzen will, und diese richtig beantwortet hat – nicht wegen dem Hype oder um als spannendes Unternehmen für Fachkräfte dazustehen –, geht es im nächsten Schritt natürlich darum, Microservices auch einzuführen. Dabei wird man auf jeden Fall auf einige Probleme stoßen. Es gilt, die Zahl der unknown Unknowns zu reduzieren, sodass Sie in Ihren Projekten weniger Überraschungen erleben. Die Probleme teilen sich in vier Bereiche auf: Technik, Prozesse, Schnitt und Menschen.

Blog-Post

What’s in a Name: Evaluate

Podcast

Domain-Driven Design

Überblick über Strategic und Technical Design mit DDD

Blog-Post

Microservices – der aktuelle Stand

Microservices sind in aller Munde. Gerade bei Software-Entwicklung machen solche Hypes misstrauisch. Schließlich steckt hinter einem Hype oft wenig Substanz. Es ist also Zeit ein erstes Fazit zu ziehen.

Blog-Post

Warum wollen Sie Microservices einführen?

Erst Ziele klären, dann Microservices machen

Blog-Post

Datenarchitekturen – nicht nur für Microservices

Microservices werfen wichtige Fragen für Software-Architektur auf. Besonders wichtig ist es, wie die Microservices mit Daten umgehen. Diese Konzepte lassen sich für viel mehr nutzen als nur für Microservices und werfen grundlegende Fragen über Modularisierung auf.

Blog-Post

Innovation Tokens – Gegen Informatikerromantik und Technologieüberflutung

Zu oft werden in Softwareprojekten zu viele neue Dinge gleichzeitig ausprobiert, ohne dass der Business Value erkennbar wäre- und vor allem, ohne die Risiken vorher abzuschätzen. Eine Möglichkeit, die unnötige Technologieüberflutung zu vermeiden, sind Innovation Tokens. Mit diesen lassen sich Innovationen in geregeltere Bahnen lenken und bieten eine Grundlage für weniger emotionale Technologiediskussionen.

Podcast

Self-Contained Systems – Teil 2

Einsatzszenarien und Architekturevolution

Podcast

Self-Contained Systems – Teil 1

Eigenschaften und Umsetzung

Podcast

Event Sourcing und CQRS – Teil 2

Implementierung und Architektur

Podcast

Event Sourcing und CQRS – Teil 1

Vor- und Nachteile sowie Einsatz in verteilten Anwendungen

Blog-Post

Design Patterns: Noch nie so wertvoll wie heute?

In einem Gastbeitrag diskutiert Frank Buschmann, Co-Autor der Buchreihe “The "Pattern-Oriented Software Architecture”, warum Patterns zur Zeit eine Renaissance erleben.

Blog-Post

Serverless

Um den Begriff serverless gibt es immer noch hitzige Diskussionen. Einige halten ihn für einen Hoax und setzen ihn mit „useless” gleich, andere schwören darauf, dass serverless bald alle anderen Architekturstile ablösen wird.

Blog-Post

Implementierung einer einfachen Zustandsmaschine (state machine) in Java

JSE

Blog-Post

Lokale Datenanalyse mit Data Frames

Der Wunsch, aus Geschäftsdaten Erkenntnisse gewinnen zu wollen, ist in der Breite der Unternehmen angekommen. Häufig werden dabei technologische Aspekte wie Machine-Learning-Algorithmen und Cluster-Lösungen als Schlüssel betrachtet, um viele Fragen quasi automatisch zu beantworten. Doch muss es für einen Einstieg in dieses Thema immer direkt ein Big-Data-Framework oder ein Cluster für Machine Learning sein? Dieser Artikel zeigt Ihnen, wie Sie ganz einfach lokal auf Ihrem Rechner die ersten Schritte im Data-Science-Umfeld gehen können und dabei einen Überblick über die Vorgehensweise erhalten.

Podcast

Self-contained Systems und Frontend-Integration – Teil 2

Alternativen zu SPAs und Umsetzung von SCS

Blog-Post

arc42 - die Siebte

Podcast

Self-contained Systems und Frontend-Integration – Teil 1

Eigenschaften und Vor- und Nachteile

Blog-Post

Microservices lieben Domain Driven Design, warum und wie?

Das Buch Domain Driven Design, welches Eric Evans vor gut 13 Jahren publizierte, galt schon seit jeher als herausragende Referenz für die fachlich getriebene Modellierung von IT-Systemen. Mit dem Einzug von Microservices erfährt Domain Driven Design eine Renaissance, denn die beiden Ideen lassen sich wunderbar miteinander kombinieren. Im Laufe des Artikels werden Sie kennenlernen, wie Sie mit Hilfe der Ideen von Domain Driven Design technisch wie fachlich tragfähigen Microservice Landschaften entwickeln können.

Blog-Post

Microservices à la Netflix

Die Bestandteile von Spring Cloud Netflix

Blog-Post

Services: SOA, Microservices und Self-contained Systems

Die Aufteilung komplexer Software-Systeme in Services ist nicht neu: Service-orientierte Architekturen (SOA) nutzen diese Idee schon lange. In letzter Zeit sind Microservices als neuer Ansatz hinzugekommen. Microservice-Architekturen sind sehr flexibel und breit einsetzbar. Self-contained Systems verwenden Microservices, um große und komplexe Systeme in unabhängige Module aufzuteilen. Das unterstützt die Zusammenarbeit der Teams. Dieser Artikel gibt einen Überblick über SOA, Microservices und Self-contained Systems.

Blog-Post

Self-contained Systems: A Different Approach to Microservices

Microservices are the current hype in the Software Architecture community. However, microservices can be used in many different scenarios to reach different goals. Self-contained Systems (SCSs) are one approach to achieve some of those goals while avoiding many common pitfalls.

Blog-Post

Microservice-Infrastruktur

Ein unvollständiger Überblick

Blog-Post

Software-Architektur für Innovation

Software ist mittlerweile in praktisch allen Wirtschaftsbereichen zentraler Teil der Wertschöpfung. Also sollte Software auch Innovationen ermöglichen. Die Frage ist, wie Software dazu beschaffen sein muss.

Blog-Post

The perils of shared code

In this blog article, I want to examine why using a sharing code between microservices may sound attractive in the first place and why it can cause bigger problems than the ones you try to solve.

Blog-Post

Spring Boot für Microservices

Eine frühlingshafte Lösung für Microservices

Blog-Post

Wie kommt man zu Self-Contained Systems?

Self-Contained Systems bezeichnet ein Konzept für Softwarebausteine, das klare Integrationsregeln auf der Makro-Ebene definiert: Systeme werden in eigenständige Teilsysteme zerlegt, die zu einem Gesamtsystem integriert werden. Häufig wird vorgeschlagen, Systeme entlang von Domänen in Self-Contained Systems zu zerlegen. In diesem Artikel wird ein alternativer Ansatz für das Schneiden einer Architektur in föderierte Self-Contained Systems vorgestellt.

Blog-Post

Requirements Engineering

Im Alltag vieler Softwareprojekte wird Requirements Engineering oftmals nur eingeschränkt berücksichtigt, obwohl es aufgrund seiner nachgewiesenen Wichtigkeit eine Grundvoraussetzung für effiziente Softwareentwicklung ist. Ziel dieses Artikels ist es, die Kernaussagen des Requirements Engineering in Erinnerung zu rufen und ein Modell vorzustellen, das einen vereinfachten Einstieg in das Requirements Engineering im Projektalltag erlaubt.

Blog-Post

Deployment und Monitoring von Microservices

Blog-Post

Microservices - eine Bestandsaufnahme

Kaum ein Thema ist im Moment so ein Hype wie Microservices. Welche Gründe gibt es dafür? Und wie kann man Microservices gewinnbringend einsetzen? Welche Herausforderungen gibt es? Dieser Artikel gibt einen Überblick über den Architektur-Trend und beantwortet die wichtigsten Fragen.

Blog-Post

Software systematisch verbessern

Es ist ein bekanntes Phänomen: Obwohl zu Beginn beim Entwickeln des Projekts alles sauber und ordentlich zuging, degeneriert das System mit der Zeit – das Phänomen der „verfaulenden Software“ schlägt zu. Änderungen werden dann immer riskanter, schwieriger und langwieriger. In der Entwicklung und im Betrieb mehren sich die Probleme, die zu beheben immer mehr Zeit in Anspruch nimmt. Gleichzeitig steigen aber auch Änderungs- und Betriebskosten, während die Zufriedenheit von Entwicklern, (fachlichen) Auftraggebern, Testern, Administratoren und anderen Beteiligen ständig abnimmt. Vermutlich kennt jeder Leser diese Situation: Willkommen in der Legacy-Hölle.

Blog-Post

Zwei Jahre nach dem Tod der Java Application Server

Leben Todgesagte länger?

Blog-Post

What’s in a Name: Architecture

The term architecture is used with slightly different meanings throughout the IT industry. This post clarifies what (software) architecture is all about - and which misunderstandings might linger on your way to common understanding.

Blog-Post

Nachhaltige Webarchitekturen

Heutzutage gewinnt man leicht den Eindruck, dass es für moderne Webanwendungen nur einen einzig wahren Architekturansatz gibt: REST und Single-Page-Anwendungen (SPAs). Doch ist alles, was REST genannt wird, wirklich REST? Sind REST und SPAs immer die beste Lösung? Um diese Fragen beantworten zu können, sollte man sich anschauen, was REST eigentlich ist, wofür es gedacht ist und ob es möglicherweise auch Alternativen zu SPAs gibt; insbesondere mit dem Blick auf Nachhaltigkeit, also Wartbarkeit und Erweiterbarkeit.

Blog-Post

Der Architektenaufzug: Öfters mal nach oben fahren

Blog-Post

ROCA vs. SPA

Currently, a lot of companies are migrating from Desktop applications (mostly written in Java) to Web applications for their products as well as for their internal tooling. When they start with this process they often ask themselves: Which technologies should we use to build our Web application? Should we use Angular.js or React? Or should we go with recommendations like ROCA instead of a Single Page Application?

Blog-Post

AWS Lambda

Seit Kurzem gibt es von verschiedenen Cloud-Anbietern Services für die Entwicklung serverloser Event-getriebener Anwendungen in der Cloud: Google (Cloud Functions), IBM (OpenWhisk), Microsoft (Azure Functions) und allen voran AWS Lambda von Amazon. Dieser Artikel beschreibt am Beispiel von AWS Lambda das Programmiermodell und hilft bei der Beantwortung der Frage, ob sich der Einsatz für Ihre Anwendung lohnt.

Blog-Post

Solving the wrong problems

Blog-Post

Java-Web-Frameworks von innen?

Web-Frameworks für Java gibt es nun bereits seit fast 20 Jahren. Diese nehmen dem Anwendungsentwickler eine Menge Arbeit ab und sorgen dafür, dass dieser sich nicht auf Infrastruktur konzentrieren muss, sondern die Anwendungslogik im Vordergrund steht. Doch was genau tut so ein Web-Framework eigentlich? Dieser Artikel zeigt, was heutige Web-Frameworks leisten und wo diese sich dann doch in Nuancen unterscheiden.

Blog-Post

What’s in a Name: Transparency

The term transparent denotes something translucent, where light can shine through. It is, for example, used in context of economics (transparent markets), meaning markets where much is known by many, and nothing is hidden. Sometimes geeks tend to inverse this meaning, saying transparency where they mean opaqueness. This post illustrates that your favorite XY-framework by no means makes XY transparent for developers.

Blog-Post

Microservices - Agilität durch Modularisierung

Blog-Post

Transklusion in Self-Contained Systems

Frontend-Integration im Web ist ein riesiges Themengebiet. Dieser Post befasst sich mit dem Teilaspekt der Transklusion „fremder” Inhalte in den DOM einer anderen Seite.

Blog-Post

Why RESTful communication between microservices can be perfectly fine

Recent debates about REST versus message passing in microservice communication have led to some confusion. What is meant with asynchronous communication in this context and why is REST a perfectly valid choice?

Podcast

Redis in der Praxis

Überblick und praktischer Einsatz des schnellen Datenstruktur-Servers

Blog-Post

Terravis

Terravis ist ein Schweizerisches Projekt, welches automatisierte, medienbruchfreie Prozesse zwischen Grundbuchämter, Banken, Notare und Pensionskassen realisiert. Diese Prozessdrehscheibe ist nun seit über 4 Jahren in der Entwicklung und die Plattform ist ebenfalls fast genauso lange produktiv. Ende 2014 erhielt Terravis den Innovation Award 2014 der Swiss IT Intelligence Communities (sitic): Ein guter Zeitpunkt für einen Rückblick und eine Analyse der Erfolgsfaktoren für Geschäftsprozessprojekte.

Blog-Post

Microservices: Agilität mit Architektur skalieren

Software Architektur beschreibt die Aufteilung von Software-Projekten in Module – aber die Architektur hat nicht nur Auswirkungen auf die Struktur der Software, sondern auch auf die Organisation der Projekte. Microservices machen sich das zu nutze – und sind so eine neue Hoffnung für produktive und nachhaltige Software-Entwicklung gerade auch bei großen Teams.

Blog-Post

Docker - Perfekte Verpackung von Microservices

Blog-Post

What’s in a Name: Consistency

The term consistency has several different meanings. This post identifies and clarifies those - especially consistency as synonym for conceptual integrity, one of the most important features for long-lasting software systems.

Blog-Post

Microservices und Continuous Delivery: Nur zusammen möglich?

Microservices unterteilen große Systeme in kleine Deployment-Einheiten. Dies macht Continuous Delivery wesentlich einfacher. Sind aber Microservices ohne Continuous Delivery möglich? Und ist Continuous Delivery ohne Microservices umsetzbar? Ist die Kombination eher eine Synergie oder macht sie nur alles noch komplizierter?

Blog-Post

Gegen die dunkle Macht

Verbessern – aber richtig!

Blog-Post

Reliable Web Clients

Microservices can make teams and systems more independent but also more vulnerable to the fallacies of distributed systems. Initially I thought this blog post is going to be about how to build reliable web clients with Akka and Akka Persistence. While this is an interesting topic by itself, I now think it is more crucial to first understand the underlying problems and trade-offs before we learn how to get around them.

Blog-Post

Bessere Web-Apps mit HTML5-APIs

Der Begriff HTML5 fasst eine bunte Sammlung aus verfügbaren und geplanten APIs zusammen, auf die im Browser von JavaScript aus zugegriffen werden kann. Einige dieser APIs ermöglichen heute, Anwendungen für den Browser zu realisieren, die vor wenigen Jahren noch Plugins erfordert hätten. Die prominentesten Vertreter sind sicherlich Video oder WebRTC. Zum Beispiel ist heute die Public-Key-Verschlüsselung bereits im Web-Client integrierbar oder das Reagieren auf Sensordaten der Betriebs-Hardware des Browsers möglich. Es folgt eine persönliche Auswahl an etablierten APIs und ein Ausblick auf einige noch recht frische.

Blog-Post

Apache Cassandra

Für Daten ohne Grenzen

Blog-Post

What’s in a Name: Reactive

The term reactivity is overloaded with several different meanings. This post tries to identify and clarify a few of them…

Podcast

Twelve-Factor App: Web-Applikationen auf die neue Art

Ein Ansatz für skalierbare, portable und leicht deploybare Web-Applikationen in der Cloud

Blog-Post

Why You Should Avoid a Canonical Data Model

Blog-Post

Logging konsolidieren und Performance gewinnen

Apache Log4j 2.0 ist eine Neuimplementierung von Log4j zeichnet sich vor allem durch einen höheren Durchsatz – dank asynchronem I/O – aus. Die Neuerungen des Frameworks machen Lust darauf, Log4j2 einzusetzen. Da drängt sich die Frage auf, wie die Vorzüge von Log4j2 in einem System genutzt werden können, wenn Teile noch Log4J 1, commons-logging oder Ähnliches verwenden.

Blog-Post

Kanonische Architektur-Evolution

Mit dem Entwurf der Softwarearchitektur wollen wir noch vor der Umsetzung die Tragfähigkeit der Software sicherstellen. Wie gut wir die Trägfähigkeit einschätzen können, hängt neben Erfahrungswerten und Kenntnis der eingesetzten Technologien auch davon ab, wie konsistent wir unsere Konzepte tatsächlich implementieren. Wir brauchen also mehr als bloße Wunschvorstellungen über das System; wir benötigen Mechanismen für die konsequente Umsetzung der funktionalen und qualitativen Eigenschaften des Systems.

Blog-Post

Knigge für Softwarearchitekten

Die Gegner

Blog-Post

Service-oriented Architecture (technisch)

Mit dem Advanced Level standardisiert der iSAQB Module aus unterschiedlichen Bereichen, die Teilnehmer nach ihren Bedürfnissen kombinieren können. Dieser Artikel erläutert das Modul „SOA-T“, das für Softwarearchitekten mit einem Fokus auf den technischen Aspekten serviceorientierter Architekturen entwickelt wurde.

Blog-Post

Warum Soft Skills für Softwarearchitekten wichtig sind

Der Projekterfolg hängt viel stärker von den am Projekt beteiligten Menschen und den Rahmenbedingungen ab als von den eingesetzten Technologien. Erfolgreiche Projektleiter und Softwarearchitekten haben ein Gespür für die Menschen, mit denen sie Projekte machen, und erreichen mit ihnen gesteckte Ziele. Was erfolgreiche Anführer gemein haben, worauf es in der Zusammenarbeit ankommt und wie man selbst so etwas erlernen kann, stellt dieser Artikel vor.

Blog-Post

Hystrix – damit Ihnen rechtzeitig die Sicherung durchbrennt

Blog-Post

Zertifizierung für Fortgeschrittene

Wer sich als Softwareentwickler oder Softwarearchitekt stets auf dem Laufenden hält, bleibt auch langfristig attraktiv für den Arbeitsmarkt. Das erfordert genauso fundierte Kenntnisse gängiger Technologien und Frameworks wie methodische Fähigkeiten. In diesem Beitrag stellen wir das modulare Curriculum für fortgeschrittene Softwarearchitekten des iSAQB e.V. vor, das verschiedene notwendige Kompetenzbereiche für Softwarearchitekten abdeckt.

Blog-Post

Hystrix – Wider den Totalausfall

Michael T. Nygard hat in seinem Buch „Release It!” sehr anschaulich die Folgen von sich fortpflanzenden Fehlern beschrieben. Seine klare Empfehlung lautete, Isolationsmuster wie zum Beispiel Leistungsschutzschalter – engl. Circuit Breaker – in die Software zu integrieren, um Totalausfälle zu vermeiden. Mit Hystrix hat Netflix ein Framework bereitgestellt, das den Einbau von solchen Schaltern vereinfacht. Dieser Beitrag stellt das Framework vor.

Podcast

Wenn Systeme aus dem Ruder laufen

Mit Hystrix für stabile, verteilte Anwendungen sorgen

Blog-Post

Skalierbare Softwaresysteme

Skalierbarkeit ist eines der klassischen Qualitätsmerkmale von IT-Systemen. Wenn wir diesen Begriff hören, denken wir üblicherweise sofort an die Skalierung des Systems “nach oben”. Es scheint also meistens darum zu gehen, inwieweit unser System durch das Hinzufügen von mehr RAM, CPU oder zusätzlichen Maschinen auch entsprechend mehr Durchsatz erreicht oder mehr Last vertragen kann. Oft ist aber auch die Skalierbarkeit “nach unten” interessant, also die Lauffähigkeit des Systems bei sehr wenig verfügbaren Ressourcen. Eine solche Flexibilität ist zum Beispiel sehr hilfreich, wenn ein komplexes System automatisiert durch viele unterschiedlich dimensionierte Entwicklungs-, Test- und Abnahmeumgebungen wandern muss, bevor es in der Produktivumgebung ankommt.

Podcast

Grid-Computing

Große Netze für große Probleme

Blog-Post

Domain-Driven Design in Clojure

Gut bewertet

Podcast

Graphdatenbanken

Vor- und Nachteile graphbasierter Datenbanken

Blog-Post

Versionsmanagement auf dem Tanker

In verschiedenen großen Projekten mit festen Releasezyklen hat der Autor bestimmte Situationen ganz ähnlich mehrfach erlebt. Dieser Artikel berichtet von typischen Herausforderungen aus Versionsmanagement-Sicht, die sich in solchen Situationen ergeben und von praxiserprobten Möglichkeiten, sie zu meistern.

Blog-Post

Use-Case-Puzzeln für Fortgeschrittene

Zwischen Requirements Engineering und Geschäftsprozessmodellierung

Blog-Post

Large Scale Business Process Integration

Geschäftsprozesse werden heutzutage vielmals unternehmensintern im Rahmen von BPM-Initiativen oder Projekten mit Geschäftsprozessmanagementsystemen, unter anderem auf der Basis von BPEL oder BPMN, automatisiert und eingeführt. Im Rahmen des Projekts Terravis entsteht eine schweizweite Plattform für elektronische Geschäfte zwischen Grundbuchämtern, Banken, Notaren und Handelsregistern, die im Endausbau bis zu 1 000 Umsysteme miteinander verbinden und die Prozesse mit den Beteiligten koordinieren wird. Da wir glauben, dass solche Projekte in Zukunft in der einen oder anderen Facette häufiger vorkommen werden, stellen wir in diesem Artikel die Architektur für solche Projekte vor und berichten über unsere Erfahrungen.

Podcast

CSS-Architektur

Architekturaspekte von Cascading Style Sheets

Podcast

Architekturdokumentation

Über den richtigen Grad von Dokumentation für Softwarearchitekturen

Blog-Post

Early-Design Reviews

Sie erfahren in diesem Whitepaper, wie Kunden der innoQ in unterschiedlichen Projektphasen von der Umsetzungs- und Architektur-Expertise von innoQ profitiert haben. Sie lernen die notwendigen Voraussetzungen für erfolgreiche Review-Projekte kennen.

Blog-Post

Geschäftsprozesse vom Fließband

Während in Java-Projekten ein automatisierter Build heutzutage Standard ist, wird dies in Projekten, die auf BPEL oder BPMN aufsetzen, oftmals versäumt. Die Modellierungsumgebungen, wie in unserem Fall ActiveVOS, bieten nur rudimentäre Unterstützung für Build-Werkzeuge. Zudem gilt es viele Abhängigkeiten zu WSDL- und Schemadateien zu verwalten, die nicht in Maven, sondern in anderen Repositories versioniert sind. Wir stellen die Projektstruktur vor, die sich im Laufe unseres Projekts entwickelt hat und die es uns erlaubt, automatisiert alle Projektartefakte inklusive unserer ausführbaren Geschäftsprozesse zu paketieren und zu verteilen.

Blog-Post

BPMN und Camel

Gemeinsam sind wir stark

Blog-Post

Auf Nummer sicher

Neue Projekte im Geschäftsprozess-Umfeld stehen häufig vor der Herausforderung, Prozesse zu automatisieren. Dabei müssen Prozesse so formal beschrieben werden, dass ein Computer sie, wie andere Software auch, interpretieren und ausführen kann. Dieses High-Level-Programming verlangt aber auch die Qualitätssicherung, insbesondere von kritischen Prozessteilen. In diesem Artikel werden Möglichkeiten für das Testen der verschiedenen Komponenten von ausführbaren Geschäftsprozessen (Prozess, Datentransformationen) und für das Review (Prozess, Servicedefinitionen) sowie Erfahrungen aus einem Projekt vorgestellt.

Blog-Post

Testobjekt: Geschäftsprozess – Testen für kontinuierliche Verbesserung

Die Automatisierung von Geschäftsprozessen mittels WS-BPEL oder BPMN 2.0 steht in der heutigen Zeit oftmals im Focus der IT-Strategien von Unternehmen. Geschäftsprozesse werden dabei nicht mehr nur fachlich modelliert, sondern so formal beschrieben, dass sie mittels Prozess-Engines ausgeführt werden können. Diese formalen Modelle sind zwar abstrakter und näher an den fachlichen Geschäftsprozessen als normale Programme, sind aber trotzdem Softwareartefakte, die während der einzelnen Entwicklungszyklen und auch bei späteren Anpassungsarbeiten getestet werden müssen.

Blog-Post

Quality Driven Software Architecture

Mit Fokus auf Qualität bessere Software schaffen

Blog-Post

Vom Sinn und Unsinn einer Zertifizierung für Softwarearchitekten – CPSA-F

Da Softwarearchitekt keine geschützte Berufsbezeichnung ist, können in einem Projektkontext erworbene Fähigkeiten oder Erfahrungen vom nächsten Arbeit- oder Auftraggeber schlimmstenfalls als ungenügend betrachtet werden. Solche Überraschungen wünscht sich weder der Softwarearchitekt noch der Arbeitgeber. Ein gemeinsames Verständnis würde helfen, dieses Risiko zu vermeiden. Um überprüfen zu können, ob jemand den Anforderungen an das Berufsbild Softwarearchitekt gerecht wird, gibt es verschiedene

Vortrag
Vortrag

Anforderungen und Architekturwissen für Coding Agents: zwischen Spec-Inflation und Vibe Coding

Software Architecture Summit Oktober 2026 / 10:00 - 13:00

Vortrag
Vortrag

Ihr entscheidet alle immer falsch!

BED Con / 09:00 - 10:00

Vortrag
Vortrag

AI Systems Architecture: Was AI-Features produktionstauglich macht

BED Con / 09:00 - 10:00

Vortrag
Vortrag

Secure Build Pipelines hands-on

heise devSec 2026 / 10:00 - 17:00

Vortrag
Vortrag

Agentic Software Modernization: Back to the Roots - Legacy-Modernisierung mit AI Agents verantwortbar machen

Java Forum Stuttgart 2026 / 12:15 - 13:00

News

Neu im Canvas 101 Primer: Der AI Opportunity Canvas

News

INNOQ Technology Day am 12. November 2026

News

Digitale Souveränität beginnt mit resilienter Softwarearchitektur

Case Study

Aufbau einer Lernplattform, die didaktische Weiterentwicklung ermöglicht

News

New Primer: Advanced IAM Patterns and Strategies

News

Agile meets Architecture 2026: Program Announced

News

Neuer Primer: Modernes Domain-driven Design

News

Neu: Agentic Engineering Accelerator Programm

News

Jetzt anmelden: INNOQ Technology Day 2025

News

Digitale Souveränität im Fokus: Das Technology Briefing für IT-Entscheider:innen

News

INNOQ Fragezeit startet am 31. Juli

News

arc42 wird 20: Jubiläumsedition kostenlos verfügbar

News

INNOQ Technology Day am 20. November 2025

News

Agile meets Architecture 2025

News

Neues iSAQB®-Modul: Softwarearchitektur für KI-Systeme

News

Jetzt anmelden: INNOQ Technology Day 2024

News

INNOQ Technology Day am 5. Dezember 2024

Case Study

Fleurop: Eine moderne Architektur für zuverlässige Blumengrüße

News

INNOQ Technology Bites

News

Neue Leistungsseite: Software-Reviews

News

Neuer Workshop: Intensivvorbereitung für die iSAQB CPSA-A-Prüfung

News

Das neue Lernkartenspiel „ARCARD“

News

Software Architecture Summit 2024

News

OOP 2024: Wir sind dabei!

News

Launch of New Microsite: Architecture Antipatterns

News

INNOQ Technology Day 2023 am 13. November

Case Study

Ein digitales Sprachrohr zwischen Groß- und Einzelhandel auf der Basis von Self-contained Systems

Case Study

Hellmann Road: Mit klaren Schnittstellen zu effizienten Produktteams

News

Technology Day 2023: am 13. November ist es wieder soweit!

Case Study

Mit Self-Contained Systems zu einer „Best in industry“ E-Commerce-Plattform

Case Study

Belegclearing und Fraud Detection: Krombacher setzt im Rahmen seines Loyaltyprogramms auf Automatisierung

News

Agile meets Architecture 2023

News

Agile meets Architecture – The conference bringing together agilists and software architects

News

Neues Training: Domain-driven Design für Machine-Learning-Produkte

Case Study

SACAC optimiert den Angebotsprozess mit maßgeschneiderter Software-Lösung

Case Study

Digitalisierung der Grundbuch­verwaltung in Kooperation mit Terravis

Case Study

Breuninger verbessert Time-to-Market mittels Vertikalisierung und Self-contained Systems

Case Study

Eine Cloud-Plattform für effiziente Beauftragungsprozesse in der Zahnmedizin

News

Voxxed Days Berlin 2016

News

W-JAX 2015 mit Web-Anwendungen, Microservices und REST 2015

News

Berlin Expert Days 2015

News

Neue Trainingstermine im Herbst: Microservices-Praxis-Workshop und Skalierbare Webarchitekturen

News

Microservices, Internet of Things und RxJava beim Java Forum Stuttgart

News

microxchg 2015 - Die Microservices Konferenz in Berlin mit innoQ-Beteiligung

News

Über die Advanced-Zertifizierung für Softwarearchitekten

Training

Softwarearchitekturen für KI- und ML-Systeme entwerfen

iSAQB®-Schulung