written by
Alessio De Luca

Ottimizzare la Scalabilità delle APIs con Mule 4 – MuleSoft Anypoint Platform

Digital Transformation 3 min read
Ottimizzare Scalabilità APIs con Mule 4 - MuleSoft Anypoint Platform
Ottimizzare Scalabilità APIs con Mule 4 - MuleSoft Anypoint Platform

Gli sviluppatori MuleSoft creano soluzioni per l’integrazione di sistemi che hanno a che fare con elevati volumi e batch di dati in tempo reale. In alcuni casi, la dimensione dei payload può essere più elevata di quella della memoria. In altri casi, le soluzioni API potrebbero dover gestire elevati tassi API call al secondo.

Una scalabilità orizzontale, laddove le istanze MuleSoft sono implementate su molteplici macchine virtuali e fisiche, è troppo onerosa. Pertanto, una singola istanza MuleSoft deve utilizzare al massimo le risorse di elaborazione e archiviazione sottostanti man mano che gestisce il traffico.

L’abilità di gestire più traffico con molteplici risorse sottostanti è ciò che viene definita scalabilità verticale. Mule 4 ha un approccio diverso alla scalabilità verticale, con un design radicalmente diverso utilizzando al suo interno la programmazione reattiva.

Cos’è Mule 4?

Mule 4 è la nuova versione del motore di runtime MuleSoft che utilizza la programmazione reattiva per ottimizzare la scalabilità. Un’applicazione Mule è un’applicazione di integrazione che include aree logiche essenziali per l’integrazione.

Queste aree logiche includono:

  • Connettività;
  • Trasformazione;
  • Enrichment;
  • Validazione;
  • Routing;
  • Gestione degli errori;
  • Sicurezza.

Un'applicazione Mule è sviluppata in modo dichiarativo come un insieme di flussi. Ogni flusso è una catena di event processor. Un event processor elabora i dati che passano attraverso il flusso con una logica, da uno dei suddetti domini.

Mule 4 utilizza la programmazione reattiva per facilitare la non-blocking execution dell’event processor. Ciò ha un impatto significativo sulle capacità dell’applicazione MuleSoft di ridimensionare la quantità degli eventi che può gestire contemporaneamente.

Ogni event processor appartiene ad un modulo. I moduli sono aggiunti al motore di runtime MuleSoft come richiesto dalle applicazioni.

È possibile estendere Mule 4 tramite moduli personalizzati. Attraverso Mule SDK è possibile estendere il runtime di Mule creando nuovi moduli da implementare nelle applicazioni Mule. I moduli personalizzati beneficiano delle stesse capacità reattive scalabili del motore di runtime.

Programmazione Reattiva

L’avvento delle web app a pagina singola e delle app mobile native ha alimentato le aspettative degli utenti che si aspettano di interagire attraverso applicazioni veloci e reattive.

L’architettura nel back-end si è evoluta per soddisfare la reattività del front-end e promuovere elasticità e resilienza attraverso microservizi. Anche tutta la parte di reportistica si è evoluta, passando da un’analisi interamente retrospettiva all'inclusione di un’analisi predittiva in tempo reale, resa possibile dall'elaborazione del flusso di eventi.

La programmazione reattiva (Rx) è nata nella Net.community per fornire agli sviluppatori strumenti e strutture necessarie per soddisfare le esigenze dei consumatori. Si è diffusa velocemente in altri linguaggi, diventando JavaRx nel mondo Java ed è stata pienamente adottata da Spring con Project Reactor. Reactor si trova al centro dell’architettura interna di Mule 4.

La programmazione reattiva racchiude il meglio dei modelli di design Iterator e Observer. Con il modello Iterator è il consumatore che ha potere e controllo su quando sfruttare i dati. Il modello Observer è esattamente l’opposto: dà il potere allo sviluppatore.

Il modello di programmazione reattiva combina i due elementi.

L'aspetto funzionale è dichiarativo. È possibile confrontare la composizione funzionale delle operazioni e il potere dichiarativo di SQL; la differenza è che si interrogano e filtrano dati in tempo reale contro il flusso di eventi non appena arrivano.

Questo approccio di concatenamento di operatori evita il ripetersi di problematiche emerse nella programmazione asincrona e che rendono difficile scrivere e mantenere tale codice.

Se vuoi avere maggiori informazioni su Mule 4 o richiedere una demo gratuita della soluzione invia una mail a cio@florence-consulting.it oppure chiama lo (055) 538-3250.

In alternativa, puoi compilare il form sottostante con la tua domanda.

digital transformation mulesoft anypoint platform mule 4 digital transformation mulesoft apis ottimizzare scalabilità apis ottimizzare scalabilità apis mule 4 system integration