Che cos’è, come funziona e a cosa serve il middleware

Che cos’è, come funziona e a cosa serve il middleware

Con il termine middleware si indica un insieme di componenti software che realizzano una macchina virtuale (ovvero un insieme di servizi fra loro coerenti e simulanti il comportamento di un unico elaboratore che fosse progettato per erogarli). La macchina virtuale è messa a disposizione delle applicazioni, che la usano mediante chiamate ai servizi da questa offerti. Il middleware realizza la macchina virtuale usando servizi  offerti da apparati hardware e software di livello più basso, si veda a tal proposito la figura seguente.

L'idea alla base del middleware

Generalmente si distingue fra due tipi di middleware: generalizzato e orientato  a specifici tipi di servizio. Il middleware generalizzato è il substrato della maggior parte delle interazioni tra componenti di un sistema distribuito; include gli strumenti di comunicazione, i servizi di sicurezza, i servizi di indirizzamento, i meccanismi di sincronizzazione, i servizi di accodamento.

Fra i middleware orientati a specifiche classi di servizio ricordiamo, a titolo di esempio:

  • il middleware per accesso a basi di dati, come Open Data Base ConnectivityODBC;
  • il middleware per la gestione di transazioni, come quello previsto dal modello Distributed Transaction Processing – DTP del consorzio X/Open;

Nell’ambito del DOC, i middleware che permettono a un insieme complesso di oggetti distribuiti di cooperare su una rete di calcolatori sono riconducibili a tre tecnologie principali (si veda la figura seguente):

  • middleware generalizzati a oggetti, per governare le complessità dei sistemi a oggetti distribuiti facendoli apparire come se fossero centralizzati;
  • tecnologie basate su Web, per la diffusione dei servizi informatici a vaste popolazioni di utenti, accentrando presso un singolo nodo logico (Web site) la logica elaborativa;
  • tecnologie di incapsulamento dei sistemi legacy, che permettono di usufruire dei sistemi informativi e transazionali offerti dalle vecchie architetture di elaborazione nel nuovo contesto tecnologico, valorizzando così gli investimenti pregressi.
Le tecnologie a oggetti distribuiti
Le tecnologie a oggetti distribuiti

Il ruolo che le tre classi tecnologiche hanno è quindi il seguente:

  • i middleware generalizzati a oggetti realizzano la macchina virtuale che permette la progettazione e la realizzazione di un sistema distribuito come costituito da più oggetti applicativi fra loro cooperanti; nello sviluppo applicativo il sistema è modellato secondo un paradigma a oggetti, che promuove la modularità, la riusabilità e la manutenibilità e le problematiche proprie della distribuzione del sistema sulla rete di calcolatori sono affrontate dal middleware generalizzato a oggetti e da chi, a livello sistemistico, è chiamato a configurarlo e ottimizzarlo;
  • le tecnologie Web based permettono la diffusione dei servizi informativi e transazionali offerti dagli oggetti di cui il sistema distribuito si compone su reti Internet, Intranet o Extranet; queste tecnologie costituiscono il mezzo più moderno di diffusione dei servizi all’utenza, sia per la praticità e la gradevolezza dell’interfaccia utente offerta, sia per l’economicità del supporto all’esercizio;
  • le tecnologie di incapsulamento di sistemi legacy permettono di ottenere oggetti applicativi corrispondenti ai servizi transazionali (incapsulamento di transazioni host esistenti) o ai servizi informativi (incapsulamento di accesso a archivi di dati esistenti) offerti dai sistemi legacy; in questo modo i servizi offerti dai sistemi esistenti possono essere sfruttati nel nuovo contesto tecnologico, valorizzando gli investimenti pregressi e permettendo l’adozione di percorsi di migrazione graduali dalle vecchie alle nuove architetture di sistemi informatici.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: www.vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *