Middleware

Cos'è il middleware?

Si tratta di software polivalente che fornisce alle applicazioni servizi aggiuntivi a quelli offerti dal sistema operativo. Qualsiasi software intermediario tra il kernel e le app utente può essere definito middleware.

Nick Gall, analista e teorico dei sistemi, afferma che “il middleware è il software dei software”. Non offre le funzioni di un'app tradizionale, ma connette software ad altro software. Può essere immaginato come il sistema idrico dell'infrastruttura IT, perché consente ai dati di fluire da un'applicazione all'altra.

La tua azienda è come un impero

L'antica Roma aveva uno dei più imponenti sistemi idrici della storia. La complessa rete di acquedotti e fognature era considerata così importante da essere descritta da Plinio il Vecchio “come la conquista più significativa” dell'Impero Romano. Il middleware aziendale trasferisce dati proprio come gli acquedotti di Roma trasportavano l'acqua. Senza voler affermare che il middleware sia il risultato più alto raggiunto dall'umanità, è tuttavia certo che molti software, quelli più degni di nota, possono funzionare grazie al middleware.

Quella del sistema idrico può sembrare una metafora banale per il middleware, ma entrambi sono fondamentali per il buon funzionamento di sistemi complessi e di grandi dimensioni, come quello dell'antica Roma. La tua azienda è simile a una città in rapida crescita: è necessario servire tutta la città, così come è necessario che tutta l'azienda abbia accesso ai dati. Una città senza un sistema idrico è una città inefficiente e impraticabile. In assenza di soluzioni middleware, lo è anche l'azienda.

 

Che tipologie di middleware esistono?

La definizione di Middleware include diverse tipologie di software, tra cui:

 

Interfaccia di programmazione delle applicazioni (API)

Le API sono insiemi di strumenti, definizioni e protocolli con i quali vengono realizzati software applicativi, che consentono ai tuoi prodotti o servizi di comunicare con altri prodotti o servizi senza che sia necessario sapere come vengono implementati.

Server applicazioni

Piattaforme per lo sviluppo di app, ad esempio Red Hat® JBoss® Enterprise Application Platform. Un server delle applicazioni è una struttura che offre le funzionalità per creare le app e il server sul quale eseguirle.

Integrazione delle applicazioni

È il processo che combina dati da diverse applicazioni tramite una struttura di integrazione, la quale può limitare il numero connessioni point-to-point dell'azienda così da evitare dipendenze complesse e potenziali punti di errore.

Integrazione dati

La visualizzazione unificata dei dati di diverse sorgenti consente agli utenti di accedere a tali dati ed utilizzarli.

Transaction processing (TP)

L'elaborazione delle transazioni conserva l'integrità di un sistema, in genere un database o un file system, attraverso il controllo delle app delle transazioni, l'applicazione di criteri e logiche di business o l'invio di aggiornamenti del database.

Remote procedure call (RPC)

La chiamata di procedura remota è un'interazione client-server che consente di distribuire su più piattaforme un'applicazione o una funzionalità.

Message-oriented middleware (MOM)

Un miglioramento della RPC con l'aggiunta di un meccanismo di accodamento che permette l'esecuzione asincrona dell'interazione client-server nelle situazioni in un cui un nodo di destinazione è lento o occupato.

Object Request Broker (ORB)

Interazione client-server che consente di accedere a servizi remoti come se fossero locali. I processi server eseguono la registrazione nell'ORB e i client contattano l'ORB per individuare i servizi richiesti.

Perché il middleware è importante?

Facendo di nuovo riferimento al sistema idrico, è facile capire che dover ricorrere a un secchio, arrivare alla pompa dell'acqua per riempirlo, e riportarlo al punto di partenza non è un metodo altrettanto efficiente. In assenza di soluzioni middleware, i dati seguono un percorso simile ogni volta che devono essere utilizzati. Se invece sono inseriti in un flusso controllato, l'azienda funziona in modo più efficiente e conveniente.

Cosa si può ottenere con i dati disponibili on-demand?

Quando i dati sono integrati all'interno delle applicazioni, puoi dedicarti ad attività innovative per l'azienda invece di investire il tuo tempo in processi manuali. Con una piattaforma applicativa moderna gli sviluppatori, ad esempio, possono concentrarsi sullo sviluppo delle funzionalità dell'app invece di gestire le modalità di integrazione dell'app stessa con il resto dell'ambiente.

Strumenti middleware indispensabili

Red Hat JBoss Enterprise Application Platform

Un container Java EE 7 completamente certificato e dotato di tutto il necessario per la creazione, l'esecuzione e l'integrazione di app interne ed esterne.

Red Hat JBoss Data Grid

Una soluzione di caching distribuito intelligente, in grado di assicurare una scalabilità flessibile delle applicazioni, grazie a un accesso rapido e affidabile ai dati di utilizzo più frequente.

Red Hat JBoss Fuse

Una piattaforma di integrazione enterprise che mette in connessione tutti gli ambienti, da quelli on-premise al cloud.

Red Hat JBoss Data Virtualization

Una piattaforma di integrazione che unifica i dati di diverse sorgenti in un'unica sorgente e li presenta come un servizio riutilizzabile.

Il middleware si presta a molti altri utilizzi