Account Accedi
Vai al paragrafo

Cos'è il middleware?

Copia URL

Con middleware si intende un software che fornisce alle applicazioni funzionalità e servizi comuni aggiuntivi a quelli offerti dal sistema operativo, tra cui gestione dei dati e delle API, servizi alle applicazioni, messaggistica e autenticazione,

e che aiuta gli sviluppatori a creare le applicazioni in modo più efficiente. Agisce come un tessuto connettivo tra applicazioni, dati e utenti.

Può rendere conveniente lo sviluppo, l'esecuzione e la scalabilità di applicazioni alle organizzazioni con ambienti multicloud e containerizzati.

L'origine del middleware

Il termine middleware appare per la prima volta in un documento successivo alla conferenza NATO sull'Ingegneria del software, tenutasi nel 1968 a Garmisch-Partenkirchen, in Germania. Durante la conferenza, organizzata per tentare di definire il settore dell'ingegneria del software, vennero discussi argomenti tra cui la progettazione, la produzione e la distribuzione del software.

La definizione di middleware include diverse tipologie di software, dai web server ai sistemi di autenticazione agli strumenti di messaggistica. Di seguito sono indicati alcuni degli esempi di utilizzo del middleware più comuni nello sviluppo applicativo moderno.

Middleware New Application Development diagram

Sviluppo di nuove applicazioni

Il middleware supporta i runtime più moderni e utilizzati in svariati esempi di utilizzo, offrendo a sviluppatori e architetti l'agilità necessaria per muoversi tra piattaforme, insiemi di runtime di base, framework e linguaggi di programmazione. Consente inoltre di erogare le funzioni maggiormente utilizzate come web server, accesso single sign on (SSO), messaggistica e caching in memory.

Middleware optimization of existing applications diagram

Ottimizzazione di applicazioni esistenti

Con l'adozione del middleware, gli sviluppatori possono trasformare le applicazioni monolitiche esistenti in applicazioni cloud native, mantenendo i validi strumenti già in uso ma migliorandone prestazioni e portabilità.

Middleware comprehensive integration diagram

Integrazione su più livelli

Gli strumenti di integrazione middleware connettono i principali sistemi aziendali interni ed esterni. Capacità di integrazione quali trasformazione, connettività, componibilità e messaggistica enterprise, abbinate all'autenticazione SSO, aiutano gli sviluppatori a estendere tali capacità su diverse applicazioni.

Middleware app programming interfaces diagram

Interfacce di programmazione delle applicazioni (API)

A molti servizi middleware si accede tramite le API, insiemi di strumenti, definizioni e protocolli che consentono alle applicazioni di comunicare tra loro. Tramite un livello comune, le API permettono di connettere prodotti e servizi completamente diversi.

Middleware data streaming diagram

Flussi di dati

Le API rappresentano una modalità per condividere i dati tra le applicazioni. Un altro approccio è quello del flusso di dati asincrono, che consiste nella replica di un set di dati in un livello intermedio, da cui i dati possono essere condivisi con più applicazioni. Apache Kafka è uno strumento middleware open source molto diffuso per lo streaming dei dati in tempo reale.

Middleware intelligent business automation diagram

Automazione intelligente dell'azienda

Il middleware è in grado di automatizzare il processo decisionale di sviluppatori, architetti, leader IT e dirigenti d'azienda. L'automazione migliora la gestione e l'efficienza complessiva delle risorse.

Lo sviluppo cloud-native offre numerosi vantaggi ma implica anche una maggiore complessità. Il deployment delle applicazioni viene oggi eseguito su più infrastrutture, dai sistemi on premise ai cloud pubblici e i tipi di architettura possono variare notevolmente. Gli sviluppatori si muovono tra numerosi strumenti, linguaggi e framework, e sono incentivati a fare di più, in meno tempo e a costi ridotti.

Davanti a tali difficoltà, le organizzazioni adottano il middleware per accelerare lo sviluppo delle applicazioni e contenerne i costi. Il middleware può supportare un funzionamento omogeneo e coerente degli ambienti applicativi anche su piattaforme altamente distribuite.

Grazie al middleware, puoi creare le tue applicazioni in un ambiente e distribuirle in un altro. Tutto funziona allo stesso modo.

Le moderne applicazioni enterprise vengono progettate per essere eseguite, sia on premise che nel cloud, in base alle esigenze di scalabilità dell'azienda. Per realizzarle, gli sviluppatori devono utilizzare un ambiente applicativo con capacità di base unificate. Il middleware è il perno su cui ruota la creazione di un ambiente di questo tipo.

Esso consiste nei seguenti quattro livelli di capacità a cui si aggiungono gli strumenti.

Container

È il livello del middleware che gestisce la distribuzione dei cicli di vita dell'applicazione in modo uniforme. Fornisce le capacità DevOps con CI/CD, gestione dei container e service mesh.

Runtime

È il livello che contiene gli ambienti di esecuzione del codice personalizzato. Il middleware può fornire runtime e framework leggeri per ambienti cloud altamente distribuiti come microservizi, caching in memory per un accesso rapido ai dati e messaggistica, per velocizzare il trasferimento dei dati.

Integrazione

Il middleware di integrazione fornisce i servizi per la connessione delle app personalizzate e di quelle acquistate, oltre alle risorse Software-as-a-Service (SaaS) tramite messaggistica, integrazione e API andando a formare sistemi funzionanti. Può inoltre fornire servizi di database in memory e di caching dei dati, streaming di dati/eventi, e gestione delle API.

Gestione dell'automazione dei processi e delle decisioni

Questo ultimo livello di sviluppo del middleware aggiunge servizi di ottimizzazione, automazione e gestione delle decisioni intelligenti.

Strumenti

Oltre a questi quattro livelli, il middleware offre strumenti per lo sviluppo applicativo, che consentono ai team di creare applicazioni utilizzando modelli e container già configurati, facilitando la condivisione del codice e lo sviluppo congiunto. Questi strumenti supportano lo sviluppo applicativo omogeneo e coerente e consentono un'esperienza di distribuzione on premise e cloud.

Keep reading

Articolo

Cosa si intende per integrazione?

Cos'è l'integrazione? Scopri cos'è, come introdurla e i vantaggi che offre se abbinata all'open source.

Articolo

Come funziona Apache Kafka?

Apache Kafka è una piattaforma per il data streaming distribuita che permette di pubblicare, sottoscrivere, archiviare ed elaborare flussi di record in tempo reale.

Articolo

Cos'è un'API?

API è l'abbreviazione di interfaccia di programmazione delle applicazioni (application programming interface), un insieme di definizioni e protocolli per la creazione e l'integrazione di software applicativi.

Scopri di più sull'integrazione

Prodotti

Red Hat Integration

Set completo di tecnologie per l'integrazione e la messaggistica.

Red Hat Runtimes

Accelera la distribuzione e lo sviluppo applicativo.

Red Hat Process Automation

Trasforma il tuo business e soddisfa le richieste di un mercato in costante evoluzione.

Red Hat Cloud Services

Semplifica l'esperienza nel cloud ibrido e riduci i costi operativi e la complessità della distribuzione di applicazioni cloud native.

Risorse

Formazione

Corso di formazione gratuito

Red Hat Agile Integration Technical Overview

Illustration - mail

Ricevi contenuti simili

Iscriviti a Red Hat Shares, la nostra newsletter gratuita.