Middleware












In informatica con middleware si intende un insieme di programmi informatici che fungono da intermediari tra diverse applicazioni e componenti software. Sono spesso utilizzati come supporto per sistemi distribuiti complessi con architetture multitier. L'integrazione dei processi e dei servizi, residenti su sistemi con tecnologie e architetture diverse, è un'altra funzione delle applicazioni middleware.


Esso oggi identifica una serie di strumenti come DBMS, Web server, Application server, sistemi di gestione dei contenuti ed altri strumenti basati sul concetto di sviluppo e pubblicazione di applicazioni e contenuti. Gli sviluppi attuali si dirigono verso XML, SOAP, servizi Web e architetture orientate al servizio.




Indice






  • 1 Cenni storici


  • 2 Definizione


  • 3 Caratteristiche ed utilizzo


  • 4 Esempi


  • 5 Note


  • 6 Voci correlate





Cenni storici |


Il middleware ha iniziato a guadagnare popolarità durante gli anni ottanta del XX secolo, come soluzione al problema di connettere le nuove applicazioni ai vecchi sistemi preesistenti (sistemi legacy), sebbene il termine sia stato usato fin dal 1968[1]. Il middleware inoltre ha facilitato il calcolo distribuito, cioè la connessione di molteplici applicazioni per formare un'applicazione più grande, solitamente in una rete.



Definizione |


Una definizione tecnica, reperibile sul sito dell'Università degli Studi di Roma "La Sapienza"[2], è testualmente:


.mw-parser-output .citazione-table{margin-bottom:.5em;font-size:95%}.mw-parser-output .citazione-table td{padding:0 1.2em 0 2.4em}.mw-parser-output .citazione-lang{vertical-align:top}.mw-parser-output .citazione-lang td{width:50%}.mw-parser-output .citazione-lang td:first-child{padding:0 0 0 2.4em}.mw-parser-output .citazione-lang td:nth-child(2){padding:0 1.2em}



«(…) un software di connessione che consiste in un insieme di servizi e/o di ambienti di sviluppo di applicazioni distribuite che permettono a più entità (processi, oggetti, ecc.), residenti su uno o più elaboratori, di interagire attraverso una rete di interconnessione a dispetto di differenze nei protocolli di comunicazione, architetture dei sistemi locali, sistemi operativi, ecc.»



ovvero trattasi di comunicazione tra processi (IPC).


Letteralmente "software di mezzo", il middleware trova applicazione nelle architetture[3] a tre strati, o architettura three-tier, cioè:[4]






«Per middleware si intende il software che rende accessibile sul Web risorse hardware o software che prima erano disponibili solo localmente o su reti non Internet.»



Proseguendo nell'analisi del suo utilizzo, il middleware, secondo lo schema dato dall'Università di Roma, risulta composto da:



  • ambiente di sviluppo applicativo (elaborato da uno sviluppatore software);

  • servizi di configurazione ed amministrazione del sistema;

  • servizi di astrazione e cooperazione, che possono essere intesi come il cuore del software e che si dividono in 3 applicazioni primarie:

    • directory service;

    • security service;

    • time service;



  • servizi di comunicazione: esso è inserito tra le applicazioni distribuite (suo strato sovrastante) e l'infrastruttura di comunicazione (suo strato sottostante).



Caratteristiche ed utilizzo |


Alcuni middleware contengono il codice sorgente completo, altri rilasciano una semplice interfaccia API per una libreria binaria precompilata. Alcuni di questi possono essere licenziati in maniera differente, solitamente per garantirsi un incasso maggiore nella vendita del relativo codice. Un esempio tipico di utilizzo del middleware è il "gestore delle transazioni", ovvero un componente che è interposto tra l'utente e il "gestore del database", o l'applicazione in generale, o il sistema client/server; in queste situazioni, il middleware accelera il completamento delle richieste dell'utilizzatore, raggruppandole, riducendo il numero delle richieste di collegamento al database, e rendendo ogni collegamento il più efficiente possibile. Esempi di questo tipo di programmi sono CICS, IBM WebSphere MQ, Tibco, Tivoli, TradeXpress di Generix Group, Tuxedo e Apache Tomcat.


L'utilizzo di uno strato software aggiuntivo, il middleware appunto, può consentire un più elevato livello di servizio per gli utenti, ed un più elevato livello di astrazione per i programmatori. Può inoltre facilitare la manutenzione, la stesura e l'integrazione di applicazioni. Tale ruolo è, per certi versi, un'evoluzione del ruolo del middleware, che in partenza era limitato a ricercare l'efficienza nel sistema.


Lo sviluppo delle tecnologie internet ha portato molti degli originali produttori a rivedere la loro offerta per migliorare l'integrazione con il nuovo strumento, ma ha portato anche alla nascita di nuovi attori nel mercato come Mercator, Vitria, e Webmethods. Alcuni consorzi come la "Apache Software Foundation" e la "ObjectWeb consortium" hanno tra i loro compiti, il facilitare lo sviluppo di piattaforme middleware open source.



Esempi |


Alcune aziende si sono specializzate nello sviluppo di "middleware", software in grado di mettere in comunicazione i differenti strati architetturali e facilitare il compito di chi ha il ruolo di progettare i singoli componenti (ad esempio una pagina web). Alcuni di questi middleware funzionano come dei veri e propri BUS, offrendo funzionalità di intermediazione e orchestrazione in maniera semplificata (ad es. tramite drag & drop dei componenti).


Tra i prodotti presenti sul mercato possiamo citare Oracle Service Bus (OSB) di Oracle Corporation, Tibco Enteprise Service Bus della Tibco Software e Mule Enterprise Service Bus di MuleSoft, che in base a Gartner Magic Quadrant rappresentano i principali player. Anche IBM ha in catalogo diversi prodotti middleware[5] tra cui WebSphere è uno dei più utilizzati.



Note |




  1. ^ Nick Gall, Origin of the term middleware, su ironick.typepad.com, 30 luglio 2005.


  2. ^ Microsoft PowerPoint - SOII-middleware.ppt Archiviato l'11 maggio 2006 in Internet Archive.


  3. ^ Informatica generale - DISI


  4. ^ Giuseppe Zito, Lezione 8 - Creazione di middleware in Java per l'accesso a database, su infn.it, Istituto Nazionale di Fisica Nucleare - Sezione di Bari (archiviato dall'url originale il 10 ottobre 2007).


  5. ^ http://www.ibm.com/middleware/it-it/



Voci correlate |



  • Application server

  • Computer grafica 3D

  • Database management system

  • Motore grafico

  • Software

  • Web server


.mw-parser-output .CdA{border:1px solid #aaa;width:100%;margin:auto;font-size:90%;padding:2px}.mw-parser-output .CdA th{background-color:#ddddff;font-weight:bold;width:20%}



Controllo di autorità
GND (DE) 4426067-2





InformaticaPortale Informatica

TelematicaPortale Telematica



Popular posts from this blog

浄心駅

カンタス航空