L’idea alla base del middleware

L’idea alla base del 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.
Precedente Evoluzione delle architetture dei sistemi informatici Successivo Le caratteristiche specifiche del Distributed Object Computing (DOC)

Lascia un commento

*