Bitrock logo

Notizie da Spring I/O Barcelona 2024

Spring IO

Spring I/O Barcelona 2024 è l’evento principale per gli sviluppatori, gli engineer e gli appassionati di Java e del suo ecosistema. Sullo sfondo di una delle città più vivaci d’Europa, questa conferenza annuale riunisce leader del settore, relatori esperti e una comunità di innovatori per condividere intuizioni, esplorare tecnologie all’avanguardia e discutere il futuro dello sviluppo Java.

Con un’agenda ricca di workshop pratici, keynote e opportunità di networking, la Java IO Conference offre una base unica per l’apprendimento e la collaborazione, rendendola un evento imperdibile per chiunque voglia rimanere all’avanguardia nella programmazione Java e nelle tendenze tecnologiche.

Nonostante Spring sia nato circa vent’anni fa e Spring Boot quasi 10 anni fa, si conferma come uno dei framework più utilizzati nel mondo Java. I nostri Bitrockers hanno partecipato a diversi talk e workshop, ecco una sintesi di alcuni di quelli che abbiamo trovato più interessanti

Spring Framework 6.2: Core Container Revisited

L’intervento di Juergen Hoeller si è concentrato su Spring Framework 6.2 e sui miglioramenti introdotti che riguardano vari aspetti del core container, con l’obiettivo di migliorare le prestazioni, semplificare le configurazioni e offrire nuove funzionalità. Tra queste, particolare attenzione è stata data a:

  • Miglioramenti alla gestione dei bean e all’iniezione delle dipendenze
  • Meccanismo di blocco avanzato
  • Gestione del ciclo di vita ed elaborazione asincrona
  • Gestione delle dipendenze e riproducibilità
  • Bootstrap del contesto applicativo
  • Supporto CRaC e Snapshot

Spring Framework 6.2 introduce diversi miglioramenti significativi che migliorano le prestazioni, la flessibilità e l’affidabilità della gestione dei bean, dellla “dependency injection” e della gestione del ciclo di vita. Raffinando i meccanismi esistenti e introducendo nuove funzionalità, come l’inizializzazione in background, i blocchi rientranti e le disposizioni di riavvio a impulsi, Spring 6.2 affronta problemi di vecchia data e soddisfa i requisiti delle applicazioni moderne. Questi miglioramenti garantiscono che Spring continui a fornire un framework robusto ed efficiente per la creazione di applicazioni complesse, concorrenti e ad alte prestazioni. Con Spring 6.2, il framework non solo diventa più potente ma anche più facile da usare, consentendo agli sviluppatori di creare applicazioni migliori con maggiore facilità e sicurezza.

The Modern Monolith, with Spring Modulith

Nel panorama in continua evoluzione dell’architettura software, il dibattito tra architetture monolitiche e microservizi è sempre stato acceso.

Tuttavia, la presentazione di Cora Iberkleid allo Spring I/O 2024, intitolata “The Modern Monolith, with Spring Modulith”, offre una nuova prospettiva su questo dibattito. Sfruttando le funzionalità di Spring Modulith, Iberkleid mostra come gli sviluppatori possano progettare applicazioni modulari monolitiche che combinano il meglio dei due mondi: la manutenibilità e la semplicità dei monoliti con la flessibilità dei microservizi.

Spring Modulith mira a colmare il divario tra le architetture monolitiche e quelle a microservizi, fornendo un approccio modulare alla progettazione di applicazioni monolitiche. Secondo Iberkleid, Spring Modulith consente agli sviluppatori di creare applicazioni ben strutturate, manutenibili e modulari senza l’overhead e la complessità della gestione dei microservizi.

Spring Modulith si basa sui principi fondamentali della progettazione guidata dal dominio (DDD) e sottolinea l’importanza di confini chiari tra i moduli. Ogni modulo incapsula una specifica funzionalità aziendale, rendendo il sistema complessivo più organizzato e facile da gestire. Questo approccio modulare consente ai team di lavorare su diverse parti dell’applicazione in modo indipendente, facilitando lo sviluppo parallelo e riducendo il rischio di conflitti.

In the ever-evolving landscape of software architecture, the debate between monolithic and microservices architectures is an ongoing one. Le caratteristiche principali di Spring Modulith sono:

  • Indipendenza del modulo:
  • Limiti chiari:
  • Progettazione domain- driven (DDD):
  • Comunicazione tra moduli:
  • Test e distribuzione
  • Vantaggi del Monolite moderno

Iberkleid ha evidenziato diversi vantaggi derivanti dall’utilizzo di Spring Modulith nella costruzione di applicazioni modulari monolitiche (semplicità, manutenibilità, prestazioni ed efficienza delle risorse).

Iberkleid ha anche fornito indicazioni pratiche sull’implementazione di Spring Modulith in progetti reali. Dimostrando come strutturare un’applicazione in moduli distinti, ognuno dei quali rappresenta una specifica capacità aziendale. Seguendo i principi DDD, gli sviluppatori possono creare entità, aggregati e repository in linea con il contesto aziendale. Infine, Iberkleid ha presentato un caso di studio di un’applicazione modulare di e-commerce per illustrare i vantaggi di Spring Modulith.

La presentazione di Cora Iberkleid allo Spring I/O 2024 fornisce un argomentazione convincente per riconsiderare la tradizionale architettura monolitica in favore di un approccio modulare con Spring Modulith. Combinando la semplicità e le prestazioni dei monoliti con la modularità e la manutenibilità dei microservizi, Spring Modulith offre una soluzione equilibrata per lo sviluppo di applicazioni moderne.

Il punto chiave della presentazione è che le applicazioni monolitiche modulari possono offrire il meglio di entrambi i mondi. Con confini chiari, moduli indipendenti e comunicazione guidata dagli eventi, gli sviluppatori possono costruire applicazioni facili da mantenere, scalare ed evolvere nel tempo. Spring Modulith consente ai team di concentrarsi sull’offerta di valore aziendale senza essere impantanati dalle complessità della gestione dei microservizi.

In un’epoca in cui i requisiti del software sono in continua evoluzione, la capacità di adattarsi rapidamente è fondamentale. Spring Modulith fornisce gli strumenti e il framework necessari per costruire applicazioni flessibili e resilienti, in grado di soddisfare le esigenze dell’ambiente aziendale dinamico di oggi.

Questo non è il Java dei tuoi genitori

Venkat Subramaniam, una Rock Star di Java, ha tenuto uno degli interventi più interessanti dell’evento. In questa presentazione, Venkat ha illustrato in modo chiaro e semplice alcune delle innovazioni più significative introdotte in Java negli ultimi anni. Java, come ogni linguaggio che si rispetti, si è evoluto nel tempo, integrando caratteristiche di successo da altri linguaggi che traggono ispirazione da Java basato sulla JVM. Tra questi possiamo citare:

  • Programmazione in stile funzionale
  • Blocchi di testo
  • Corrispondenza di pattern con Instanceof
  • Record
  • Parola chiave sigillata

Queste sono solo alcune delle caratteristiche che rendono Java un linguaggio aggiornato e in continua evoluzione. La presentazione di Venkat Subramaniam è stata, come sempre, chiara, coinvolgente e ricca di esempi pratici. Il suo stile ironico e appassionato ha reso la presentazione molto piacevole. La capacità di Java di adattarsi e integrare i moderni paradigmi di programmazione ne garantisce la rilevanza nel panorama in continua evoluzione dello sviluppo software, fornendo agli sviluppatori strumenti potenti per scrivere codice efficiente, manutenibile e di alta qualità.

Spring AI: integrare senza problemi l’Intelligenza Artificiale nelle Applicazioni Spring Boot

Spring AI colma il divario tra il potente mondo dell’intelligenza artificiale (AI) e il comfort familiare dello sviluppo Spring Boot. Permette agli sviluppatori di integrare facilmente varie funzionalità di IA nelle loro applicazioni, senza dover gestire dettagli complessi e specifici del provider.

Con Spring AI, è possibile sfruttare funzionalità di IA come chatbot, riassunto del testo e generazione di testo-immagine, il tutto all’interno del consolidato ecosistema Spring. La piattaforma offre un’API unificata che funziona con i principali fornitori di AI, consentendovi di concentrarvi sulla funzionalità principale della vostra applicazione e di lasciarvi alle spalle le complessità delle diverse piattaforme di AI.

Conclusioni

Spring I/O 2024 è stata un’esperienza davvero meravigliosa, caratterizzata da numerosi punti di forza quali sessioni approfondite, presentazioni innovative e preziose opportunità di networking. Questi aspetti non solo hanno arricchito la nostra comprensione dell’ecosistema Spring, ma ci hanno anche ispirato ad applicare queste nuove conoscenze nei nostri progetti.


Autori: Danilo Ventura – Senior Software Engineer; Federico Vidali – Java Software Engineer; Federico Gradizzi – Java Software Developer; Tommaso Giovannelli – Software Engineer @ Bitrock

Vuoi saperne di più sui nostri servizi? Compila il modulo e fissa un incontro con il nostro team!

Skip to content