Focus

Software Architecture

Articles, podcasts, talks, and more about Software Architecture.
Blog Post

RAG and Fine-Tuning

Large Language Models (LLMs) don’t always produce reliable results. In practice, one thing becomes clear: combining Retrieval Augmented Generation (RAG) and fine-tuning can make them more robust. This post explains how the two approaches complement each other – and why a production feedback loop is critical.

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 sovereignty

How I’m building an enterprise chat server with agentic development that simply doesn’t exist.

Podcast

Architekturentscheidungen im Team ermöglichen

Die Architektenrolle als Facilitator

Podcast

Produktdenken fĂŒr Plattformteams

Wie interne Plattformen echten Business-Mehrwert liefern

Article

The right size of a Data Product

Autonomous Data Product Heuristics

Article

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

Article

Jeder kann Architekt sein!

Blog Post

Spec-Driven Architecture: When Agents Build, Architecture Must Speak

Spec-Driven Development gives agents a clear foundation for implementation. What it doesn’t solve is how a portfolio of systems stays coherent. Spec-Driven Architecture applies the same principle at the architecture level, using contracts as versioned boundaries and guarantees—enforceable in agentic workflows and in the CI/CD pipeline.

Article

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

Your Database Table is an awful API

Is database integration still a thing?

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

Leave your code better than you found it. This advice, also known as the Scout Rule, sounds so simple, but what does it look like in practice? This is the story of how I followed the advice and cleaned up a fat controller along the way, and how this unexpectedly enabled us to handle new requirements quickly and with minimal effort. It’s a lesson in habits and continuous architecture.

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

Article

Managing Geopolitical Risks with Enterprise Architecture

Article

The Path to Heterogeneous Cloud Platforms

Digital transformation brings both challenges and opportunities for businesses. To create future-proof and flexible IT infrastructures, more and more companies are adopting multi-cloud or hybrid cloud strategies. This isn’t just about cost reduction, but also about aligning innovative services from different providers with regulatory requirements - particularly in the area of data protection. This article shows how targeted integration strategies can help you leverage the benefits of multi-cloud to optimize your existing infrastructure, reduce technical dependencies, and ensure long-term business success.

Article

Achieving Digital Sovereignty with Standard Software

In the context of IT system landscapes, digital sovereignty is often equated with autarky— complete independence from third parties. By that logic, , a company developing and operating all applications in-house would be the ultimate example of digital sovereignty. But does this idea really hold up?

Podcast

20 Jahre arc42

Dokumentation im Wandel

Article

A Governance Framework for Digital Sovereignty

In an increasingly connected world where digital infrastructure forms the backbone of our economy and society, the topic of digital sovereignty is gaining more and more attention. For decision-makers in German-speaking countries, this goes far beyond merely selecting a cloud provider. It’s about strategic agency, resilience, and the ability to actively shape one’s digital future. This article explores how a robust governance methodology can help organizations not only understand digital sovereignty but also put it into practice—without sacrificing convenience or innovation.

Article

Digital Sovereignty: Why Architecture Matters and How to Make Your Company Resilient

In an era where digital systems form the backbone of our economy and society, control over one’s digital future is increasingly becoming the focus of strategic decisions. For many technology decision-makers in German-speaking regions, this is not just a political or regulatory challenge, but a fundamental task with far-reaching implications for software architecture work.

Podcast

Cloud Migrationsstrategien

6Rs in der Praxis

Blog Post

Mobile Portale mit HATEOAS und Self-Contained Systems

Bei INNOQ setzen wir seit Jahren erfolgreich auf Self-Contained Systems und vertikalisierte AnsĂ€tze. Teams können unabhĂ€ngig entwickeln, Services lassen sich separat deployen und skalieren - eigentlich ein perfektes Setup. Doch ein Problem blieb hartnĂ€ckig bestehen: Wie baut man Portale, die Daten aus verschiedenen SCS elegant zusammenfĂŒhren?

Blog Post

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

Turning principles and patterns into practice — just as promised.

Article

From Data Graveyards to Knowledge Landscapes

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.

Article

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

Article

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?

Article

Technical and other Debt in IT Systems

This article explores the many hidden forms of technical debt that silently slow down IT teams—far beyond just messy code.

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?

Article

How Much Thinking Can a Team Handle?

The term Cognitive Load has become a common reference point in recent discussions about team structures, roles, and task distribution in IT organizations. However, these discussions often fail to distinguish between the different purposes of IT organizations and frequently rely on an oversimplified concept of Cognitive Load.

Article

Enabling Stakeholders as a Success Factor

Sociotechnical architectures consider both technical and human-organizational aspects and promote their effective collaboration. To ensure the successful design and implementation of these systems, it is crucial to actively involve stakeholders and address their interests. In this article, we explore why enabling stakeholders represents a key function in sociotechnical projects and how you can implement this approach effectively.

Article

Socio-Technical Architectures: Informality from Mining to Today

Article

Don’t Forget the People

On paper, the architecture vision is perfect. It addresses all pressing deficiencies of the existing system, aligns seamlessly with the business domain, and enables teams to retain more work within their boundaries. Finally, we will enjoy higher speed-to-market and a significant reduction in (non-value-adding, tedious) coordination efforts between teams. Surely, everyone will immediately see how much better our new architectural vision is. Not quite.

Article

Interne Entwicklungsplattformen – Shift Down statt Shift Left

Interne Entwicklungsplattformen (IDPs – Internal Developer Platforms) helfen uns, die Softwareentwicklung zu beschleunigen. Sie sind die natĂŒrliche Weiterentwicklung der Entwicklungen der letzten Jahrzehnte. Warum das so ist, möchten wir mit einem historischen Abriss zeigen und danach auf die aktuellen Herausforderungen blicken.

Podcast

Jetzt doch wieder ein Monolith/Modulith?

Die Architekturfrage neu gestellt

Article

Socio-Technical Architecture as a Competitive Advantage

In today’s business world, technological progress is not just about increasing efficiency—it also unlocks entirely new business opportunities that would be unthinkable without these technologies. As a result, leveraging new technologies effectively has become a key competitive advantage. However, IT decision-makers are increasingly realizing that technology alone is not enough. Instead, companies must understand themselves as socio-technical systems, where technical systems and human interactions are deeply interconnected. This article explores why socio-technical architectures matter for IT decision-makers and how they can create a competitive edge for organizations.

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

Article

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.

Article

Platforms, Teams, and APIs: How Do They Fit Together?

One of the major trends in recent years has been Platform Engineering, as many organizations strive for more efficient and fasterdevelopment practices. The term has gained traction since 2018, particularly following an influential article by Evan Bottcher. Looking at the origins of this concept provides valuable insights into the relevance of Platform Engineering today and its potential future developments.

Article

Common Approaches in the Field of Socio-Technical Architectures

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

Article

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.

Article

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

Article

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

Article

Nicht mehr Open-Source

Technologieentscheidungen rational treffen

Podcast

Bootcamp Softwarearchitektur

Die iSAQB-Advanced-PrĂŒfung

Article

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.

Article

Where does it go from here?

Fundamentals of software architecture – Part 5

Article

Who does it?

In this (fourth) installment of the mini-series on software architecture, we explain who might carry out the architecture tasks that were discussed in the previous articles. I also present a number of possible role definitions for software architecture along with their pros and cons.

Podcast

Backstage

Erhöhte Development Experience

Article

Technologies for the Integration of Services

A small architecture study

Article

Tasks and activities – How is it done?

In this part of the mini-series, we explain everything you need to do when creating software architecture. First, we take a look at the necessary tasks and activities. Then we discuss some of the skills and capabilities required for these architecture tasks.

Podcast

Kultur der Architekturarbeit

Vernetzung und Dialog zwischen Teams

Article

Building, purpose, aesthetics

Fundamentals of software architecture - Part 1

Article

Terms

Welcome to the second part in the mini-series on software architecture.

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

Podcast

Architecture Communication Canvas

Dokumentation auf einer Seite

Blog Post

Schema Evolution

Using Kafka, sooner or later you might want to describe a schema to specify your data structures. Since software continuously changes during it’s lifetime you’ll also have to evolve your schema. In this article we’ll discuss approaches and tools which can guide you in the realization of your schema evolution.

Blog Post

Micro Frontends With Ionic And Capacitor

We planned and set up a micro frontend architecture using Capacitor and Ionic. In this article, I talk about some of the challenges we faced and the ways we solved them.

Blog Post

Mit Reviews in Legacy-Situationen orientieren

Article

No future-proof architectures!

Architecture: The term itself radiates stability. It seems clear, then, that good architecture should be future-proof. But precisely this goal often leads to problems. Does that mean it is better not to design future-proof architectures?

Blog Post

Concise Documentation – Revisited

You think architecture documentation is cumbersome and takes a long time to create? We will prove you wrong.

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.

Article

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.

Article

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

Article

Frontend integration options

Podcast

Nachhaltige Web-Architektur

StĂ€ndige VerfĂŒgbarkeit – Muss das sein?

Podcast

Wardley Maps

Softwarelandschaften kartographieren

Article

Sparsame Dokumentation

Aktuell, nĂŒtzlich und schmerzfrei

Article

1×1 guter Architekturdiagramme

Sie wollen oder mĂŒssen Architektur dokumentieren und möchten dafĂŒr grafische Darstellungen verwenden? Sie wĂŒnschen sich verstĂ€ndliche Diagramme, die auch zukĂŒnftig noch leicht Ă€nderbar sind? Sie möchten, dass Ihre Diagramme fĂŒr unterschiedliche Zielgruppen nĂŒtzlich sind? Und wenn Sie ganz ehrlich sind, wollen Sie dieses Doku-Zeugs in möglichst kurzer Zeit erledigen, damit Sie sich wieder anderen Dingen zuwenden können.

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

A brief introduction

Article

cards42 English edition

Finally, cards42 is available in English! The cards42 project supports software developers in your daily work with software architectures. 30 cards provide brief food for thought for stuck situations and help shed new light on difficult challenges. This article provides detailed explanations as well as the background and further information about the cards.

Article

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

Using DDD artifacts to get a data product for data mesh

Article

HTTP Feeds

Asynchronous interfaces don’t always require the use of Apache Kafka or RabbitMQ. They can also be designed without middleware just by means of HTTP APIs.

Article

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

Article

Innovation on steroids - Teil 2

Ging es in Teil 1 von „Innovation on Steroids” allgemein um die Innovationskraft von Machine Learning und die Identifizierung von ML Use Cases, beschĂ€ftigen wir uns im zweiten Teil mit der Frage, wie wir herausfinden, wo sich der Einsatz von ML/AI lohnt und wie wir danach strukturiert vorgehen.

Podcast

Ist Domain-driven Design ĂŒberbewertet?

Goldenes Kalb oder „nur“ Werkzeug?

Article

Innovation on steroids - Teil 1

Mit Domain-driven Design, Event Storming und ML Design Canvas zu mehr ProduktverstÀndnis

Blog Post

What’s in a Name: Quality

We use the word quality colloquially for something “good” – but we usually leave open what exactly we mean by it. This article illustrates that we should be a little more precise in this regard.

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.

Article

Domain-driven Design und Bounded Context

Eigentlich ganz einfach, oder?

Article

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.

Article

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.

Article

Gut gesiebt

Von Usability und Features – Service Meshes im Vergleich

Blog Post

Happy without a Service Mesh

It does not always have to be a service mesh. Even microservices are not a good idea per se. For good decisions we have to get a deep understanding of the problem first.

Article

Domain-driven Design in the Large

If you know how to classify the concepts of DDD correctly, it will be easy to achieve good results - and there is a structured approach to achieve that!

Blog Post

Wenn Customizing zur Legacy wird

Analyse eines ERP-Systems mit Wardley Maps und strategischem Domain-driven Design

Blog Post

Architektur, die mitwÀchst

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

Article

Domain-driven Design to the code

Beim strategischen Domain-driven Design fokussieren wir uns in der Modellierung sehr stark darauf, die Fachlichkeit möglichst passend zu identifizieren und im Design abzubilden. Leider verlieren wir Entwickler bei der technischen Umsetzung diesen fachlichen Fokus dann aber allzu oft wieder aus den Augen und lassen uns (zu) stark vom neusten hippen Framework begeistern, leiten und beeinflussen und verschmutzen so das fachliche Modell mit unzÀhligen Technologien. Die Ideen der Onion Architecture und der Einsatz von Stereotypen in der Code-Basis erlauben es, eine Trennung des fachlichen Code vom technisch bedingten Code zu erreichen. Dieser Artikel beleuchtet diese Konzepte und zeigt auf, wie dank Stereotypen in Verbindung mit den taktischen Mustern von DDD diese Trennung konkret erreicht werden kann.

Article

Kubeless - FaaS auf Kubernetes

Blog Post

Agile Architekturarbeit

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

Blog Post

Architektur-Reviews remote durchfĂŒhren

Software Reviews lassen sich dank moderner Arbeitsmittel remote durchfĂŒhren und schaffen dabei auch neue Möglichkeiten.

Blog Post

GlĂŒcklich ohne Service Mesh

Die Basis fĂŒr sinnvolle Architekturentscheidungen ist die Auseinandersetzung mit dem Problem und ein guter Überblick ĂŒber die Optionen.

Article

Requirements Engineering

The priority to invest into requirements engineering often suffers in everyday life, although its importance has been proofed to be the basis to develop values for customers. The objective of this article is to recall the core definitions and statements of requirements engineering and to provide aid with links for further readings on how to apply it in practice.

Article

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

Large complex projects are difficult to manage. Software release trains are one solution to coordinate such projects. But the approach is not a great fit for self-organization and modern management ideas.

Article

Identification of quality requirements with Quality Storming

Collaborative modeling for a cross-skill collection and prioritization of quality requirements

Article

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?

Article

Brauchen asynchrone Microservices und SCS ein Service Mesh?

Da lÀsst sich doch was meshen

Article

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.

Article

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.

Article

JavaScript? Yes, but in moderation

Classic Web Architecture for Applications

Blog Post

code-your-model

Some time ago I was looking for some simple, lightweight tool to document a complex, modularized model. I was not able to find anything that fits my requirements or expectations, so I came up with my own idea. Today, a good 15 months later, I want to introduce it to you.

Article

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.

Article

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

Alles nur ein Hype?

Article

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.

Article

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?

Article

Pragmatisch zum Praxiseinsatz von Machine Learning in der Cloud

Herausforderung Betrieb

Article

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

“Knowledge Crunching” nennt Eric Evans die wichtigen GesprĂ€che mit DomĂ€nenexperten, die in seinem Buch “Domain-driven Design” zu tieferem VerstĂ€ndnis der FachdomĂ€ne fĂŒhren sollen. In den letzten Jahren haben sich fĂŒr diese GesprĂ€che zwei moderne Workshopformate etabliert: “Event Storming” und “Domain Storytelling”.

Blog Post

Cooking with Onions: Inward-Pointing Arrows

Blog Post

Domain Events vs. Event Sourcing

Why domain events and event sourcing should not be mixed up.

Blog Post

Domain Events vs. Event Sourcing

Weshalb Domain Events und Event Sourcing nicht vermischt werden sollten

Article

Technologien fĂŒr Microservices

Warum Microservices-Frameworks nicht genug sind

Article

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.

Article

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.

Article

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

Article

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.

Article

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.

Article

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

Article

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.

Article

Warum wollen Sie Microservices einfĂŒhren?

Erst Ziele klÀren, dann Microservices machen

Article

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.

Article

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

Article

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

Article

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.

Article

Microservices Ă  la Netflix

Die Bestandteile von Spring Cloud Netflix

Article

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.

Article

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.

Article

Microservice-Infrastruktur

Ein unvollstĂ€ndiger Überblick

Article

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.

Article

Spring Boot fĂŒr Microservices

Eine frĂŒhlingshafte Lösung fĂŒr Microservices

Article

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.

Article

Deployment und Monitoring von Microservices

Beim Deployment von Microservices verschwimmen die Grenzen zwischen Mikro- und Makroarchitektur. WĂ€hrend das Team die Mikroarchitektur fĂŒr jeden Service individuell entscheiden kann, muss man sich bei Makroarchitektur-Themen mit anderen Teams zusammensetzen, um die beste Lösung fĂŒr Themen zu finden, die mehrere Services betreffen. In diesem Artikel wollen wir uns ansehen, welche Entscheidungen ein Team fĂŒr sich treffen kann und welche mit anderen Teams abgestimmt werden mĂŒssen. Zu diesem Zweck möchte ich beispielhaft den Lernprozess beschreiben, den ich in Teams erleben durfte, die “einfach mal” mit Microservices angefangen haben.

Article

Microservices - eine Bestandsaufnahme

Erfahrungen, Vor- und Nachteile des Ansatzes

Article

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.

Article

Zwei Jahre nach dem Tod der Java Application Server

Vor zwei Jahren wurde der Tod der Java Application Server ausgerufen. Zeit also ein Fazit zu ziehen und die Thesen aus dem Artikel einem kritischen Review zu unterziehen.

Blog Post

What’s in a Name: Architecture

Article

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

In einem Gastbeitrag geht Gregor Hohpe der Frage nach, welche Rolle Softwarearchitekten in Zeiten der Digitalen Transformation spielen, und welche Relevanz diese Aufgabe fĂŒr die Zukunft von Unternehmen hat.

Blog Post

ROCA vs. SPA

Comparing two architectural styles with a concrete example

Article

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

Instead of rushing to an engineering solution to a problem, we would often be better off by lying back and determining the root cause of our engineering problem, which is often an architectural one.

Article

Java-Web-Frameworks von innen?

Im Maschinenraum

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

Transclusion in self-contained systems

Frontend integration in the web is a huge topic. This post deals with the aspect of transclusion of other systems' content in the DOM of a web page.

Article

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

Article

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.

Article

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.

Article

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?

Article

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.

Article

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.

Article

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

Article

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.

Article

Scalable Software Systems

Scalability has long been one of the hallmarks of quality IT systems. When we hear this term we usually associate it with an upward scalability of the system. Generally, it seems to be about how much more throughput and load our system can sustain through additonal RAM, CPU or extra machines. Often, however, downwards scalability is just as interesting, that is, the behaviour of the system when only very few resources are available. Such flexibility is very useful, for instance, if a complex system has to go through a variety of differently sized development, test and acceptance environments before it is provisioned in the live system.

Article

Kanonische Architektur-Evolution

Stereotypen, Konzepte und Konstruktionsregeln

Article

Knigge fĂŒr Softwarearchitekten

Diese Folge unserer Kolumne skizziert mögliche Reaktionen, die Sie bei Reviews (auch genannt Bewertung, Analyse oder Audits) von Softwaresystemen erleben können. Wir beschÀftigen uns mit Gegnern und verschiedenen Stufen der Ablehnung.

Article

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.

Article

Warum Soft Skills fĂŒr Softwarearchitekten wichtig sind

Gemeinsam Ziele erreichen

Article

Hystrix – damit Ihnen rechtzeitig die Sicherung durchbrennt

Sicherungen wurden ursprĂŒnglich eingefĂŒhrt, um die Eskalation einer Situation zu verhindern. Wenn Ihnen ab und zu die Sicherung durchbrennt, ist das deshalb durchaus zu begrĂŒĂŸen, jedenfalls wenn es sich dabei um einen Circuit-Breaker im Sinne von Hystrix handelt. In diesem Artikel möchten wir Ihnen Hystrix vorstellen, eine Bibliothek, die ihnen dabei hilft, die StabilitĂ€t ihrer verteilten Anwendung zu verbessern und kaskadierende Fehlerszenarien zu verhindern.

Article

Hystrix – to make your fuse blow just in time

Circuit breakers were originally introduced to prevent the escalation of an outage. If your fuse blows occasionally, that does not have to be a bad thing - at least if it is a circuit breaker in the sense of Hystrix. In this article we will introduce you to Hystrix, a library which will help you to increase the stability of your distrubted applications and which will help to prevent cascading error scenarios.

Article

Zertifizierung fĂŒr Fortgeschrittene

iSAQB CPSA-A (Advanced)

Article

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

Article

Skalierbare Softwaresysteme

Vom Entwickler-Notebook bis zur Serverfarm

Podcast

Grid-Computing

Große Netze fĂŒr große Probleme

Article

Domain-Driven Design in Clojure

In diesem Artikel setzen wir die Prinzipien des Domain-driven Designs mit Clojure um. Wir stellen die DomÀne Rating als Beispiel vor und demonstrieren strategisches sowie taktisches DDD. Wir zeigen, wie sich das DomÀnenmodell in Clojure implementieren lÀsst.

Podcast

Graphdatenbanken

Vor- und Nachteile graphbasierter Datenbanken

Article

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.

Article

Use-Case-Puzzeln fĂŒr Fortgeschrittene

Das aktuelle Umfeld in vielen Unternehmen ist sehr dynamisch und herausfordernd. Dieser Trend wird sich aufgrund des wirtschaftlichen Rahmens eher verstĂ€rken denn abnehmen. Dies merken auch die Softwareprojekte, die oftmals bestehende GeschĂ€ftsprozesse durch Softwarelösungen unterstĂŒtzen mĂŒssen, wobei die notwendigen Umgestaltungen im GeschĂ€ftsprozess oftmals noch nicht bekannt sind. Dabei reicht die Bandbreite von punktueller UnterstĂŒtzung durch „einfache“ Anwendungssysteme bis hin zu einer End-to- End-Automatisierung mittels BPMN2 oder BPEL. UnabhĂ€ngig vom Scope und der Implementierungstechnik mĂŒssen Requirements Engineers in solchen Projekten jedoch auch GeschĂ€ftsprozesse verstehen und modellieren, um Anforderungen fĂŒr die Software formulieren zu können.

Article

Large Scale Business Process Integration

Zwischen GrundbĂŒchern, Banken und Notaren – Erfahrungen und Herausforderungen

Podcast

CSS-Architektur

Architekturaspekte von Cascading Style Sheets

Podcast

Architekturdokumentation

Über den richtigen Grad von Dokumentation fĂŒr Softwarearchitekturen

Article

Early-Design Reviews

Whitepaper zu Architektur-Reviews

Article

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.

Article

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.

Article

BPMN und Camel

Gemeinsam sind wir stark

Article

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.

Article

Quality Driven Software Architecture

QualitĂ€t bildet die Existenzberechtigung fĂŒr Softwarearchitekten: ZuverlĂ€ssig, performant, skalierbar und benutzerfreundlich sollen unsere Systeme sein, das alles kosteneffektiv und zukunftssicher. Jeder IT’ler weiss, dass diese Kombination von Eigenschaften harte Arbeit bedeutet. Lesen Sie hier, wie Softwarearchitekten systematisch QualitĂ€t konstruieren können.

Article

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

Ein gemeinsamer Nenner fĂŒr Softwarearchitekten

Talk
Talk

AI Systems Architecture: Was AI-Features produktionstauglich macht

BED Con

Talk
Talk

Secure Build Pipelines hands-on

heise devSec 2026 / 10:00 - 17:00

Talk
Talk

„Wir haben doch keine Zeit!“ – Oder?

DWX 2026 / 17:00 - 18:00

Talk
Talk

Cognitive Biases im Software Engineering: Warum gute Architekt:innen schlechte Entscheidungen treffen

DWX 2026 / 17:00 - 18:00

Talk
Talk

Das kleine 1×1 der Sicherheitsarchitektur fĂŒr Webanwendungen

iSAQBÂź Software Architecture Forum 2026 / 13:30 - 14:30

Talk
Talk

„Garbage-In“ ist kein Schicksal: Bessere Anforderungen fĂŒr Entwicklungsteams

iSAQBÂź Software Architecture Forum 2026 / 11:15 - 12:15

Talk
Talk

SouverÀnitÀt, Integration und Föderation und (De-)ZentralitÀt des Webs

iSAQBÂź Software Architecture Forum 2026 / 13:30 - 14:30

Talk
Talk

Code wird billig, Architektur entscheidend.

iSAQBÂź Software Architecture Forum 2026 / 09:15 - 10:00

Talk
Talk

Datenprodukte richtig schneiden: Heuristiken fĂŒr die Praxis

INNOQ Technology Night Köln / 18:30 - 21:30

News

INNOQ Technology Day am 12. November 2026

News

Digitale SouverÀnitÀt beginnt mit resilienter Softwarearchitektur

Case Study

Building a learning platform that enables continuous pedagogical evolution

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

INNOQ Fragezeit startet am 31. Juli

News

Digitale SouverĂ€nitĂ€t im Fokus: Das Technology Briefing fĂŒr IT-Entscheider:innen

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: A modern architecture for reliable floral greetings

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

A digital communication link between wholesale and retail based on self-contained systems

Case Study

Hellmann Road: clear interfaces for efficient product teams

News

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

Case Study

Creating a “Best in Industry” E-Commerce Platform with Self-Contained Systems

Case Study

Proof of payment clearing and fraud detection: Krombacher is leveraging automation as part of its loyalty program

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 optimizes the quotation process with a customized software solution

Case Study

Digitization of land register management in cooperation with Terravis

Case Study

Breuninger improves time-to-market through verticalization and self-contained systems

Case Study

A cloud platform for efficient commissioning processes in dentistry

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

Designing software architectures for AI and ML systems

iSAQBÂź Training