Back to top

Cos’è Spring WebFlux e perchè usarlo per le non-blocking app

Un reactive-stack web framework per le Web Application con Micro Web Services

Spring WebFlux è un reactive-stack web framework aggiunto a Spring a partire dalla versione 5.0 per superare alcuni limiti di Spring Web MVC e supportare completamente lo sviluppo di Web Application di tipo non-blocking, vale a dire che ogni chiamata è un flusso non bloccante ed asincrono all’interno dell’applicazione. A ciò Spring WebFlux aggiunge la capacità di utilizzare i Reactive Streams e di essere disponibile su server che supportano la tecnologia non-blocking come Netty e Undertow.

Perchè Spring WebFlux

Spring e più in generale il back end su Servlet già rendeva disponibili delle API di tipo non-blocking ma non era sufficiente perchè le stesse erano inserite in un contesto blocking e sincrono, per es. con getParameter. Spring WebFlux quindi nasce come nuovo framework per riunire tutte le funzionalità in ambito non-blocking e mantenere il passo dei nuovi paradigmi in cui le Web Application lavorano esclusivamente in maniera asincrona e non-blocking.

Al motivo precedente si aggiunge la necessità di ottenere il functional programming, un tipo di programmazione dichiarativo fondato sulle annotations anche in controller REST e negli Unit Test divenuto popolare grazie anche a ReactiveX. In pratica da Java 8 è possibile, con Spring WebFlux, fornire web endpoint in stile dichiarativo con le annotazioni sui controller non-blocking.

Gli elementi descritti aprono la strada verso i concetti di Reactive e di Micro Web Services perchè Spring WebFlux permette di realizzare applicazioni che reagiscono dinamicamente, per es. a notifiche del back end, e che sono scalabili, multi-thread e modulari.

Le caratteristiche principali di Spring WebFlux

Oltre a quanto descritto nel precedente paragrafo, Spring WebFlux ti fornisce le seguenti funzionalità:

  • supporto di Reactive Streams e dei concetti di Publisher e Subscriber;
  • supporto allo sviluppo reactive grazie alla libreria Reactor;
  • possibilità di essere usato con le Coroutines API di Kotlin;
  • possibilità di utilizzare i paradigmi classici MVC insieme ai nuovi di functional programming;
  • completamente integrato in Spring e con possibilità di essere usato in maniera complementare o parallela a Spring MVC;
  • resilienza ai carichi di lavoro grazie alla possibilità di scalare in maniera predittiva;
  • integrazione con Spring Boot per lo start/stop dei server.

Glue Labs e Spring WebFlux

Ti forniamo formazione avanzata, consulenza specialistica, assistenza e supporto per qualsiasi tuo progetto con Spring WebFlux e Java Framework. Grazie all’esperienza maturata in tantissimi settori, con numerosi Clienti e con un solido gruppo aziendale ti garantiamo le competenze per assisterti e supportarti per qualsiasi tuo progetto di sviluppo e nella realizzazione di applicazioni con garanzia 12 mesi da qualsiasi bug. Contattaci subito e senza impegno per maggiori informazioni.

CONTATTI

Scrivici dal form di contatto

Tel +39 06 56549766
Fax +39 06 21122581

Mail: info@glue-labs.com
Pec: gluelabs@legalmail.it

Dove Siamo
Roma: Piazza Don Sturzo 15
Padova: Via Savonarola 217
Milano: Via Lazzaretto 19
Torino: Via V. Amedeo II 6

    Nome*

    E-mail*

    Telefono(per un contatto più rapido)

    Come possiamo aiutarti?

    Altro che vuoi dirci?

    Inviando i tuoi dati accetti le condizioni sulla privacy. Li useremo per rispondere alle tue domande e richieste.

    TOP

    Articoli