Posts

Posts mit dem Label "reactive" werden angezeigt.

Reaktive REST-Webservices mit Spring WebFlux

Bild
Mit Spring WebFlux entwickeln wir deutlich performanterer Web-Anwendungen und REST-Services. WebFlux ist Teil vom Spring Reactor Projekt. Es ist die moderne, reaktive Alternative zu Spring MVC. In diesem Artikel baue ich mit Mono und Flux eine reaktive API. Unterschied zwischen WebFlux und Spring MVC Das Reactor Projekt bildet die Grundlage des reaktiven Stacks in Spring. Es bietet eine Event-basierte, nicht blockierende Architektur, so dass darauf aufbauende Anwendungen mehr Leistung aus ihren CPU-Ressourcen herausholen. Spring WebFlux ist Teil des reaktiven Stacks. Es ist das reaktive Gegenstück zu Spring MVC im klassischen Servlet Stack. Weitere Infos zu Spring MVC findet ihr in meinem Blog:  spring-mvc-thymeleaf.html Weitere Details zum Spring Reactor Projekt findet ihr hier:  https://spring.io/reactive Von dort stammt die folgende Gegenüberstellung zur besseren Einordnung der einzelnen Komponenten aus dem Servlet und reaktivem Stack. Gegenüberstellung Reactive und Servlet Stack Im

Spring WebClient der reaktive HTTP Client im Performance-Vergleich zum RestTemplate

Bild
Spring Reactive ist der moderne, reaktive Technologie Stack von Spring. Es ist die skalierbare, resiliente, responsive und Event-basierte Alternative zum klassischen Servlet Stack - dem bisherigen Standard in jedem Spring Web Projekt. Teil des reaktiven Stacks ist Spring WebFlux und dessen WebClient zum Verschicken von HTTP Requests. In diesem Artikel zeige ich, dass der WebClient unter Last deutlich schneller als der klassische Spring RestTemplate ist. Spring WebFlux Das Reactor Projekt bildet die Grundlage des reaktiven Stacks in Spring. Es bietet eine Event-basierte, nicht blockierende Architektur, so dass darauf aufbauende Anwendungen mehr Leistung aus ihren CPU-Ressourcen herausholen. Spring WebFlux ist Teil des reaktiven Stacks und damit das reaktive Gegenstück zu Spring MVC im klassischen Servlet Stack. Weitere Infos zu Spring MVC findet ihr in meinem Blog: spring-mvc-thymeleaf.html Weitere Details zum Spring Reactor Projekt findet ihr hier:  https://spring.io/reactive Von dort

OAuth2 REST-API Clients leicht gemacht mit Spring

Bild
Viele REST-APIs sind heute mit OAuth2 abgesichert. Daher bietet uns Spring eine einfache Möglichkeit das OAuth2-Protokoll  in den bekannten HTTP-Clients WebClient und RestTemplate  zu implementieren, so dass wir uns nicht mehr selbst um Access und Refresh-Tokens kümmern müssen. Wie das geht zeige ich euch in diesem Artikel. Was ist OAuth2? OAuth steht für "Open Authorization" und ist ein offenes Standard-Protokoll zur sicheren Autorisierung von APIs. OAuth2 ist die überarbeitete Version von OAuth, welche die ursprüngliche Version häufig abgelöst hat. Mit OAuth2 können Endbenutzer einer Anwendung den Zugriff auf ihre Daten, bereitgestellt durch einen anderen Dienst, erlauben. Insbesondere im Kontext von Smartphone-Apps hat sich OAuth schnell durchgesetzt. Weiterführende Informationen zu OAuth2 findet ihr hier: https://www.ionos.de/digitalguide/server/sicherheit/was-ist-oauth/ OAuth2 API konsumieren Wie man mit Spring RestTemplate und WebClient REST-APIs aufruft, habe ich bere

MongoDB im Turbomodus mit Spring Webflux und Spring Data reactive

Bild
Um den Turbo in der Kommunikation mit der Datenbank zu zünden, gibt es  Spring Data auch als reaktive Bibliothek.  Damit hilft uns das reaktive Paradigma die Interaktion mit unserer Datenbank zu beschleunigen.  In diesem Artikel zeige ich euch, wie man Spring Data Reactive Repositories für MongoDB benutzt. Einführung Spring Reactive Zur reaktiven Programmierung mit Spring habe ich bereits 2 andere Artikel geschrieben, in denen ich hauptsächlich die Interaktion zwischen Client und Server beschreibe. Dort findet ihr auch Erklärungen warum reaktive Programmierung als skalierbare, resiliente, responsive und Event-basierte Alternative zum klassischen Ansatz meist deutlich performanter ist: Spring's reaktiver WebClient Spring Webflux für reaktive Webservices Spring Data und MongoDB Auch zu Spring Data und MongoDB habe ich bereits einen Artikel geschrieben, dort geht es aber um die klassische Programmierung: Spring Data und MongoDB Der Nachteil dieses Ansatzes ist, dass die Anwendung bei