JAX Countdown mit Michael Omann

„Reaktive Anwendungen gab es schon lange vor dem Reactive Manifesto“

Hartmut Schlosser

Michael Omann

Das Architekturparadigma der reaktiven Anwendungen erhält eine immer größere Aufmerksamkeit. Was es damit auf sich hat, und wie man mit dem Toolkit Vert.x „reaktiv“ entwickelt, verrät JAX-Sprecher Michael Omann im Interview.

JAXenter: Reaktive Anwendungen mit Vert.x ist dein Thema auf der JAX. Um erst einmal alle Leser auf einen Nenner zu bringen: Wie definierst du reaktive Anwendungen?

Michael Omann: Reaktive Anwendungen definiert das Reactive Manifesto als elastisch, robust, jederzeit antwortbereit und nachrichtenorientiert. Letzteres wird gerne übersehen. Dabei ist es die Nachrichtenorientierung, oder genauer gesagt das asynchrone Message-Passing, das die Basis für diese Eigenschaften schafft und reaktive Anwendungen so besonders macht.

JAXenter:  Warum lassen sich diese Eigenschaften reaktiver Anwendungen nicht mit traditionellen Architekturen umsetzen?

Michael Omann: Das würde ich gar nicht behaupten. Skalierbare, ausfallsichere und reaktionsschnelle Anwendungen gab es bereits lange vor dem Reactive Manifesto. Diese Anwendungseigenschaften lassen sich auch in traditionellen Architekturen erzielen. Der Unterschied liegt meines Erachtens darin, welche Komplexität in der Entwicklung und dem Betrieb entsteht, um diese Eigenschaften zu erreichen.

Skalierbare, ausfallsichere und reaktionsschnelle Anwendungen gab es bereits lange vor dem Reactive Manifesto.

In klassischen Architekturen, insbesondere im JEE-Bereich, steht die synchrone Kommunikation und das „Thread-per-Request”-Modell im Vordergrund. Eine effiziente Umsetzbarkeit von asynchroner Kommunikation und Nebenläufigkeit ist häufig nicht gegeben. Zwar gibt es heute eine Reihe von Techniken und Bibliotheken, die sich komplementär einsetzen lassen, um die Skalierbarkeit oder Robustheit zu verbessern; das zugrunde liegende Problem der ineffizienten Ressourcenverwaltung lösen sie aber nicht. Früher oder später stößt man an die Grenzen. Oder man befindet sich im ständigen Clinch mit dem Framework.

In reaktiven Toolkits wie Vert.x oder Akka sind diese Eigenschaften der Standard. Entsprechend bemühen sich die Toolkits auch, die richtigen Abstraktionen für den Entwickler bereitzustellen. Das möchte ich in meiner Session auch herausarbeiten.

JAX 2016 LogoTreffen Sie Michael Omann auf der JAX 2016:

Session: Reaktive Anwendungen mit Vert.x 3

Reaktive Anwendungen basieren auf asynchronem Message-Passing und versprechen Eigenschaften wie Skalierbarkeit, Ausfallsicherheit und Responsiveness. Stimmt das? Warum lassen sich diese Charakteristika nicht in traditionellen Architekturen umsetzen? Und was ist der Preis, den wir für die inhärente Asynchronizität in unseren Anwendungen zahlen müssen? Im Fokus steht eine prototypische Applikation auf Basis von Vert.x mit einer modernen, vollständig reaktiven Architektur. Anhand konkreter Problemstellungen erkennen wir sowohl die wesentlichen Unterschiede zu traditionellen Anwendungen als auch die Herausforderungen von Asynchronizität und Message-Passing. So können wir letztendlich die Vorteile und Nachteile von Reactive Design beim Einsatz in unseren Anwendungen bewerten. Vorsicht: Vortrag kann Spuren von Quellcode enthalten.

Mittwoch, April 20, 2016 – 11:45 bis 12:45

JAXenter: Du selbst nutzt ja Vert.x. Was gefällt dir an dem Toolkit?

Michael Omann: Das Stichwort ist “Toolkit“. Vert.x bringt den Unterschied zwischen Framework und Toolkit ganz deutlich hervor. Vert.x ist leichtgewichtig, sehr flexibel, einfach erweiterbar und integriert sich auch gut in bestehende Anwendungen. Vor allem ist Vert.x “unvoreingenommen”. Es zwingt uns Entwicklern kein bestimmtes Programmiermodell auf. Man kann das Toolkit für seinen jeweiligen Anwendungsfall zuschneiden.

Kann man sich erstmal von vertrauten Konzepten lösen, macht Vert.x einfach Spaß.

Wer als Entwickler das Gefühl kennt, von einem Framework oder Application Server gegeißelt zu werden, wird sich mit der zugrunde liegenden Philosophie schnell anfreunden. Kann man sich erstmal von den vertrauten Konzepten lösen, macht Vert.x einfach Spaß.

JAXenter: Wie sieht es denn momentan bei Vert.x aus – aktuell ist ja die Version 3.2. Woran wird derzeit entwickelt?

Michael Omann: Vert.x 3.3 bringt u. a. Verbesserungen bei der Service Discovery in Containern wie Docker, eine Integration des Event Bus mit AMQP und Support für HTTP 2.0. Zudem wird es Verbesserungen am SQL-Client geben und die Möglichkeit, Nachrichten am Event Bus zu verschlüsseln.

JAXenter: Was funktioniert aus deiner Sicht noch nicht so gut mit Vert.x? Wo siehst du Verbesserungsbedarf?

Michael Omann: Das Ecosystem rund um Vert.x 3 ist ziemlich dünn. Zwar ist Vert.x eines der populärsten Projekte auf GitHub, richtig Fahrt aufgenommen hat die Community aber noch nicht. Das äußert sich vor allem in der relativ überschaubaren Anzahl produktionstauglicher 3rd-Party-Libraries, die rund um die Plattform entstanden sind. Vergleicht man das mit der Support Base und dem reifen Ecosystem um NodeJS, wird schnell klar, dass hier noch viel passieren muss.

JAXenter: Was ist die Kernbotschaft deiner Session? Was sollten die Zuhörer auf alle Fälle mit nach Hause nehmen?

Michael Omann: Die Zuhörer sollen am Ende der Session ein Gefühl dafür haben, was es bedeutet, Software nach reaktiven Gesichtspunkten zu entwickeln und verstehen, wo die Chancen und Herausforderungen liegen.

JAXenter: Vielen Dank für dieses Interview!

56ec02a4c707ecf652899cecversion38sizefullMichael Omann ist Technical Lead bei Senacor. Sein Schwerpunkt liegt in der Realisierung moderner Digitalisierungslösungen für Banken und Finanzdienstleister. Er teilt seine Ideen und Erfahrungen gerne auf Schulungen und Konferenzen. Aktuell begeistern ihn die Themen Microservices, reaktive Architekturen und agile Entwicklung.

Verwandte Themen:

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. SEO und KPIs isst er zum Frühstück. Satt machen ihn kreative Aktionen, die den Leser bewegen. @hschlosser
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: