Cosa significa middleware?

Cosa significa middleware?

Formalmente un middleware è un software che fa da intermediario tra scenari, attori e soggetti software diversi tra loro, permettendo loro di comunicare utilizzando un linguaggio comune. La natura del middleware è in genere polivalente, e può riguardare la comunicazione tra kernel ed app utente, tra applicazioni e sistema operativo, tra strato fisico e strato logico di un’architettura hardware-software, e così via.

Esempio facile di middleware

Un middleware può essere visto come un acquedotto che fa comunicare il sistema torrente con una città (secondo un calzante esempio del sito RedHat). Per capirci ancora meglio, il trattino “” corrisponde con il middleware nelle comuni espressioni di tecnologie quali clientserver oppure peertopeer.

Il termine middleware viene utilizzato spesso nell’ambito delle architetture software distribuite: stando ad un workshop del 2000 della IETF (Internet Engineering Task Force, un organismo internazionale dedito alla definizione e formalizzazione degli standard tecnologici di internet), si configura come tale un qualsiasi servizio che possa offrire un set di servizi a livello di trasporto (ad esempio su TCP/IP) riportandolo a livello applicativo (ad esempio mediante API). Purtroppo si tende a parlare di middleware in modo estremamente generico e senza cognizione di causa,  riportandolo ad obiettivi nebulosi (ad esempio: fornire servizi di qualità) cosa che accade anche con termini quali “cloud“, che ormai sono diventati colloquiali – senza pero’ capire cosa significhino.

Un altro modo per considerarlo è di vederlo come una sorta di libreria (tipo le DLL di Windows), oppure come uno strato nascosto nell’architettura che possa facilitare la comunicazione tra sorgenti eterogenee, cioè diverse tra loro, e che non potrebbero comunicare se non ci fosse di mezzo un middleware. Esistono middleware molto comuni che usiamo senza accorgercene, come ad esempio quelli che permettono di accedere in lettura o scrittura ad un database, quelli che usano RESTful API, SOAP, JSON, server applicativi, directory e server web.

In ambito Android, ad esempio, il middleware permette al sistema operativo di comunicare  con il display, con lo strato di memorizzazione dei dati, con il browser, con il GPS e così via. In un certo senso anche i game engine come Unity o Godot potrebbero essere visti come middleware per creare videogiochi. Per chi lavora con il web come molti dei nostri lettori, poi, esiste un middleware in Laravel (qui la documentazione ufficiale) che è in grado di fungere da filtro per tutte le chiamate HTTP(S) in entrata, quindi per motivi di sicurezza ed efficenza del server e per evitare di bloccarlo con richieste inutili o dannose. In questo caso i middleware di Laravel sono in grado di gestire la chiamata sia poco prima che poco dopo la stessa, sulla base di impostazioni generiche (middleware globali, cioè su tutte le chiamate HTTP) che sulla base di routes specifiche (cioè per determinate chiamate e solo per quelle).

Web Hosting

 

Ti piace questo articolo?

0 voti

Su Trovalost.it puntiamo sulla qualità dei contenuti da quando siamo nati: la tua sincera valutazione può aiutarci a migliorare ogni giorno.