Interview mit Michael Sperber

„Funktionale Software-Architektur ist immer eine bessere Idee als klassische OO-Architektur“

Hartmut Schlosser

Michael Sperber

Funktionale Programmierung kennen alle – doch was ist funktionale Software-Architektur? JAX-Sprecher Michael Sperber (Active Group GmbH) gibt Antworten.

Funktionale Software-Architektur – was ist das?

JAXenter: Hallo Michael! Du gibst auf der JAX eine Einführung in die funktionale Software-Architektur. Funktionale Programmierung kennt ja sicherlich jeder – was ist aber eine funktionale Software-Architektur?

Michael Sperber: Die wichtigsten Facetten funktionaler Software-Architektur sind:

  • unveränderliche Daten, also die Abkehr vom OO-Modell gekapselten Zustands
  • höherstehende Abstraktionen und die Verwendung von Konzepten aus der Mathematik für die Domänenmodellierung und Architektur-Strukturierung.

Funktionale Software-Architektur ist immer eine bessere Idee als klassische OO-Architektur, sie ist aber auch wirklich anders. Ein Team muss das wollen. Funktionale Software-Architektur reduziert aber die Komplexität, führt zu besseren Modellen und – am wichtigsten – macht mehr Freude.

JAXenter: Wie siehst du generell die Rolle des Software-Architekten im Jahr 2019? Muss heute nicht jeder Entwickler auch ein Architekt sein?

In der funktionalen Programmierung ist Architektur Code.

Michael Sperber: Die Frage ist ja erst einmal eine These, und die finde ich weitestgehend irrelevant. Ich würde erstmal 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 Architekur als Aktivität stattfindet – also das gelegentliche längere Nachdenken -, und dass nicht alle immer nur auf das Ende des aktuellen Sprints hinarbeiten.

API Confernce 2019
 Maik Schöneich

gRPC – Ein neuer heiliger Gral?

mit Maik Schöneich

Oliver Drotbohm

REST Beyond the Obvious – API Design for Ever Evolving Systems

mit Oliver Drotbohm (Pivotal Software, Inc.)

 

IT Security Summit 2019
Arne Blankerts

Sichere Logins sind doch ganz einfach!

mit Arne Blankerts (thePHP.cc)

Marcus Bointon

Hands-on workshop – Hansel & Gretel do TLS

mit Marcus Bointon (Synchromedia Limited)

Serverless & die Reduktion von Komplexität

JAXenter: Software-Architektur beschäftigt sich traditionell stark mit Backend-Problematiken: Im Umfeld der sogenannten Serverless-Bewegung spricht man nun aber immer mehr von Managed Backends und Backend as a Service. Wird das Backend als solches für Architekten also immer uninteressanter?

Michael Sperber: Ich denke nicht. Ich muss ja auch bei „serverless“ verstehen, wie die dahinterliegende 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, da kompositionale Architekturen zu bauen, was die Resilienz betrifft.

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

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

JAXenter: Viele Jahre lang war der große, möglichst komplette Application Server das Ideal und die Basis vieler Software-Architekturen. Hat diese Metapher in Zeiten der Cloud und der Microservices ausgedient?

Der komplette Application Server war schon zu Lebzeiten keine gute Idee.

Michael Sperber: Auf jeden Fall hat der „komplette Application Server“ ausgedient, er war aber schon zu Lebzeiten keine gute Idee: Ich glaube nicht, dass Cloud und Microservices daran schuld sind.

JAXenter: Was ist momentan dein persönliches Steckenpferd: Welches Architekturthema liegt dir besonders am Herzen?

Michael Sperber: Das ist und bleibt die Reduktion von Komplexität. Wir können viel davon mit funktionaler Programmierung machen. Aber die Konstruktion von resilienten, kompositionalen verteilten Systemen bleibt eine Herausforderung.

JAXenter: Vielen Dank für dieses Interview!

Michael Sperber is CEO of the Active Group in Tübingen, Germany. Mike specializes in functional programming and has been an internationally recognized expert in the field: He has spoken at the top conferences in programming languages, authored many papers on the subject as well as several books. Moreover, he is an expert on teaching programming.
Geschrieben von
Hartmut Schlosser
Hartmut Schlosser
Content-Stratege, IT-Redakteur, Storyteller – als Online-Teamlead bei S&S Media ist Hartmut Schlosser immer auf der Suche nach der Geschichte hinter der News. #java #eclipse #devops #machinelearning #seo. Zum Lächeln bringen ihn kreative Aktionen, die den Leser bewegen. @hschlosser
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
4000
  Subscribe  
Benachrichtige mich zu: