Il middleware accelera lo sviluppo di applicazioni distribuite semplificando la connettività tra applicazioni, componenti applicativi e origini dati back-end.
WebSphere Hybrid Edition
Red Hat OpenShift on IBM Cloud
WebSphere Application Server
MQ
IBM API Connect
Event Streams
Il middleware è un software che consente uno o più tipi di comunicazione o connettività tra due o più applicazioni o componenti applicativi in una rete distribuita. Semplificando la connessione di applicazioni che non sono state progettate per connettersi tra loro e fornendo funzionalità per connetterle in modo intelligente, il middleware semplifica lo sviluppo delle applicazioni e accelera il time-to-market.
Esistono molti tipi di middleware. Alcuni, come i broker di messaggi o i monitor di elaborazione delle transazioni, si concentrano su un tipo di comunicazione. Altri, come i server di applicazioni Web o il middleware per dispositivi mobili, forniscono l'intera gamma di capacità di comunicazione e connettività necessarie per creare un particolare tipo di applicazione. Altri ancora, come un'offerta integration platform as a service (iPaaS) o un enterprise service bus (EBS), funzionano come hub di integrazione centralizzato per collegare tutti i componenti di un'azienda. (Esiste persino un middleware che consente agli sviluppatori di creare il proprio middleware personalizzato).
Il middleware è stato così chiamato perché il primo middleware in genere fungeva da mediatore tra un front-end dell'applicazione, o client, e una risorsa di back-end, ad esempio un database, un'applicazione mainframe o un dispositivo hardware specializzato, a cui il client avrebbe potuto richiedere dati.
Ma il middleware odierno opera ben oltre questo ambito. Il middleware del portale, ad esempio, comprende il front-end dell'applicazione e gli strumenti per la connettività del back-end; il middleware del database in genere include il proprio archivio dati. E come leggerai di seguito, una classe emergente di middleware sfrutta la tecnologia dei contenitori per aiutare gli sviluppatori a connettersi alle risorse distribuite su più cloud.
Al livello più elementare, il middleware consente agli sviluppatori di creare applicazioni senza dover creare un'integrazione personalizzata ogni volta che devono connettersi a componenti dell'applicazione (servizi o microservizi), origini dati, risorse di elaborazione o dispositivi.
Lo fa fornendo servizi che consentono a diverse applicazioni e servizi di comunicare utilizzando framework di messaggistica comuni come JSON (JavaScript object notation), REST (representational state transfer), XML (extensible markup language), SOAP (simple object access protocol) o servizi web. In genere, il middleware fornisce anche servizi che abilitano componenti scritti in diversi linguaggi, come ad esempio Java, C++, PHP, and Python - to talk with each other.
Oltre a fornire questa interoperabilità che consente di risparmiare lavoro, il middleware include anche servizi che aiutano gli sviluppatori
Esistono molti tipi diversi di middleware. Alcuni di questi si concentrano su specifici tipi di connettività, altri su applicazioni, componenti applicativi e dispositivi specifici; alcuni combinano funzionalità middleware per un'attività di sviluppo specifica. Tra i tipi di software middleware più conosciuti e più comunemente utilizzati vi sono:
Il middleware di integrazione delle applicazioni aziendali consente a un'organizzazione di stabilire un hub di integrazione aziendale: un modo standardizzato per connettere tutte le applicazioni, i componenti delle applicazioni, i processi aziendali e le origini dati di back-end nell'intera azienda.
Fino a circa dieci anno fa, il principale middleware di integrazione delle applicazioni aziendali era enterprise service bus (ESB), che fungeva da hub d'integrazione in una service-oriented architecture (SOA). Oggi un modello ospitato nel cloud chiamato integration-platform-as-a-service, o iPaaS, consente a un'organizzazione di connettere all'interno del proprio data center applicazioni, dati, processi e servizi in ambienti on-premise, cloud privato e cloud pubblico, senza il lavoro e le spese di acquisto, installazione, gestione e manutenzione del middleware di integrazione (e dell'hardware su cui viene eseguito).
Il middleware della piattaforma (o middleware della piattaforma applicativa) può supportare ulteriormente lo sviluppo di applicazioni e accelerare la distribuzione delle applicazioni fornendo un ambiente di hosting runtime, come ad esempio un ambiente Java RE(Java runtime environment), o contenitori o entrambi, per l'applicazione o la logica aziendale. Il middleware della piattaforma può includere o combinare server di applicazioni aziendali, server Web e sistemi di gestione dei contenuti, nonché gli altri tipi di middleware elencati in precedenza.
Cloud-native un approccio allo sviluppo delle applicazioni che sfrutta le fondamentali tecnologie di cloud computing, con l'obiettivo di fornire uno sviluppo, un'implementazione e una gestione coerenti in ambienti locali, cloud privati o pubblici.
In pratica, oggi le applicazioni cloud native sono applicazioni create da microservizi, e distribuite in contenitori gestiti tramite Kubernetes. I microservizi sono componenti applicativi con abbinamenti minimi che comprendono il proprio stack e possono essere distribuiti e aggiornati indipendentemente l'uno dall'altro e comunicano tra loro utilizzando una combinazione di API REST, broker di messaggi e flussi di eventi. I contenitori sono degli eseguibili leggeri che impacchettano il codice dell'applicazione, come i microservizi, abbinati alle sole librerie e dipendenze del sistema operativo necessarie per eseguire tale codice su qualsiasi infrastruttura IT o cloud tradizionale.
Nell'insieme, queste e le tecnologie correlate, creano una potente piattaforma "develop-once-deploy-anywhere" da utilizzare nel cloud per la distribuzione di nuove applicazioni cloud ibride e per la modernizzazione dei sistemi legacy tradizionali. Ma danno luogo anche ad un ambiente di sviluppo complesso che combina ancora più applicazioni software, origini dati, linguaggi di programmazione, strumenti e sistemi distribuiti.
Il middleware può risolvere parte di questa complessità, ma l'esecuzione di applicazioni containerizzate con il middleware convenzionale può aggiungere complessità proprie, nonché il tipo stesso di sovraccarico dell'infrastruttura che i container sono stati progettati per eliminare. Per questo motivo, popolari piattaforme di sviluppo di applicazioni per il cloud, quali Cloud Foundry (link esterno a IBM) e Red Hat Open Shift, sono evolute per includere il middleware containerizzato, middleware modulare in modo da impacchettare in un contenitore solo le funzioni di connettività richieste.
Man mano che le organizzazioni accelerano la loro trasformazione digitale, all'interno della quale il middleware svolge un ruolo chiave, la necessità di automazione si amplia. Un passo verso una maggiore automazione dell'operatività aziendale e dell'IT deve iniziare con piccoli progetti di successo misurabili, che puoi quindi ridimensionare e ottimizzare per altri processi e in altre parti della tua organizzazione.
Collaborando con IBM, avrai accesso alle funzionalità di automazione basate sull'AI, inclusi dei flussi di lavoro predefiniti per contribuire ad accelerare l'innovazione rendendo ogni processo più intelligente.
Fai un passo avanti:
Inizia con un account IBM Cloud oggi stesso.
Dai flussi di lavoro di business alle operazioni IT, la nostra automazione con tecnologia AI può aiutarti. Scopri come si stanno trasformando le aziende leader.
Un ambiente di runtime server Java flessibile e dotato di misure di sicurezza complete per le applicazioni aziendali
Gestisci il tuo ecosistema di API su più cloud, promuovendo al contempo gli sforzi di socializzazione e monetizzazione
IBM Event Streams una piattaforma di streaming di eventi, basata su Apache Kafka, aiuta a reagire agli eventi praticamente in tempo reale fornendo ai clienti esperienze più coinvolgenti.
Red Hat OpenShift on IBM Cloud™ utilizza OpenShift in ambienti pubblici e ibridi per una maggiore velocità, reattività al mercato, scalabilità e affidabilità.