© Enkel/Shutterstock.com
Interview mit Michal Sperber

Funktionale Architektur: besser als OO-Architektur


Java Magazin: Hallo Michael! Du hast auf der JAX eine Einführung in die funktionale Softwarearchitektur gegeben – was genau ist das?

Michael Sperber: Die wichtigsten Facetten sind:

  • unveränderliche Daten, also die Abkehr vom OO-Modell des gekapselten Zustands

  • höherstehende Abstraktionen und die Verwendung von Konzepten aus der Mathematik für die Domänenmodellierung und Architekturstrukturierung.

Funktionale Softwarearchitektur ist immer eine bessere Idee als klassische OO-Architektur, sie ist aber auch wirklich anders. Sie reduziert die Komplexität, führt zu besseren Modellen und macht mehr Freude.

JM: Wie siehst du die Rolle des Softwarearchitekten 2019? Muss nicht jeder Entwickler auch Architekt sein?

Sperber: Die Frage ist ja erst einmal eine These, und die finde ich weitestgehend irrelevant. Ich würde erst einmal fragen, ob nicht jede Architektin auch Entwicklerin sein sollte. Wann immer ich Organisationsmodelle gesehen habe, bei denen die Entwicklung von der Architektur abgekoppelt ist, waren da dysfunktionale Prozesse. In der funktionalen Programmierung ist Architektur Code, da ist eine Abkopplung gar nicht möglich. Was ich viel wichtiger finde, ist, dass Architektur als Aktivität stattfindet – also das gelegentliche längere Nachdenken –, und nicht alle immer nur auf das Ende des aktuellen Sprints hinarbeiten.

JM: Softwarearchitektur beschäftigt sich mit Backend-Problematiken: Im Umfeld von Serverless spricht man immer mehr von Managed Backends und Backend as a Service. Wird das Backend für Architekten uninteressanter?

Sperber: Ich denke nicht. Ich muss auch bei Serverless verstehen, wie die Architektur funktioniert, um deren Resilienzeigenschaften zu begreifen. Das muss ich beim Design meiner Applikation berücksichtigen. Leider haben wir als Community es noch nicht geschafft, kompositionale Architekturen zu bauen, was die Resilienz betrifft.

JM: Simon Wardley hat die These aufgestellt, dass Container und Kubernetes eine Randerscheinung in der Geschichte der Softwareentwicklung sind und obsolet werden könnten, da Serverless – wie einst Software – die Welt verschlinge. Wie stehst du dazu?

Sperber: Ich finde die Dichotomie falsch: Alle drei sind Werkzeuge, die gelegentlich anwendbar sind und manchmal nicht. Dass irgendeins davon jemals „die Welt verschlingt“, kann ich mir nicht vorstellen.

JM: Viele Jahre lang war der große, möglichst komplette Application-Server das Ideal und die Basis vieler Softwarearchitekturen. Hat diese Metapher in Zeiten der...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang