© Excellent backgrounds/Shutterstock.com
Über die Idee des Reactive Manifesto und die Zukunft der Anwendungsentwicklung

"Die reaktive Zukunft der JVM sieht rosig aus.“


Java Magazin: Mehr als 4 000 Personen haben bislang das Reactive Manifesto unterzeichnet. Doch wofür setzen sich diese Entwickler damit eigentlich ein?

Jonas Bonér: Das Reactive Manifesto ist ein konzeptionelles Framework, um qualitativ hochwertige Software für die anspruchsvollsten aktuellen Herausforderungen zu erstellen; namentlich Mobile, Cloud, Multicore sowie sehr ungeduldige User, die nach Echtzeit-, interaktiver und massiver nebenläufiger Nutzung verlangen. Die Liste ließe sich noch beliebig lange fortführen; des Weiteren stehen immer wieder komplizierte technische Entscheidungen an, da heutzutage jede nicht triviale Anwendung „polyglot“ ist, was den Einsatz verschiedenster Tools, Sprachen und Frameworks bedeutet.

Das Reactive Manifesto versucht daher, ein gemeinsames Vokabular sowie einen Fokus auf die Kernprinzipien zu etablieren, sodass man nicht von den Unterschieden zwischen den verschiedenen Techniken, Sprachen oder Idiomen abgelenkt wird. Das Manifest zu unterzeichnen, ist also im Grunde ein Ausdruck dafür, dass man diese Bestrebungen unterstützt, dass man mit den in ihm aufgestellten Prinzipien übereinstimmt und daran mitarbeiten will, die Art und Weise, wie Anwendungen erstellt werden, zu verändern.

Akka, Actors und HTTP/REST mit spray.io

JM: Warum ist es heute so wichtig, dass APIs asynchron und nicht blockierend sind?

Bonér: In Kürze: Weil eine wirklich skalierbare, responsive User Experience erfordert, dass Fehler isoliert und nicht kaskadierend auftreten. Heutige Anwendungen müssen asynchron, nicht blockierend und shared nothing aufgebaut sein. Dieser Bewusstseinswandel im Anwendungsdesign führt zu netten Eigenschaften wie zum Beispiel der Vermeidung von Zugriffskonflikten – er ermöglicht wirklich skalierbare Anwendungen, einen effizienteren Hardwareeinsatz und lose gekoppelte Systeme; diese können unabhängig voneinander entwickelt und betrieben werden. Teile des Systems können somit einzeln ausfallen, neu gestartet oder aktualisiert werden.

JM: Das Manifest legt fest: „Eine Anwendung muss von oben bis unten reaktiv sein.“ Was bedeutet das?

Bonér: Es ist von großer Wichtigkeit, dass an reaktiven Prinzipien festgehalten wird, und zwar über alle Schichten der Anwendung hinweg. Alle Schichten und Bibliotheken müssen einbezogen werden.

Wenn beispielsweise nur ein einziger Dienst in einer langen Aufrufkette blockiert (IO o. Ä.), wird die gesamte Request-Pipeline aufgehalten und ein ganzer ­Thread wird verbraucht, ohne dass ein nützlic...

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