Introduzione al Middleware

By Francesco Allassia

Le applicazioni aziendali su scala industriale (enterprise), oltre ad essere distribuite su sistemi software eterogenei, richiedono requisiti di prestazioni, scalabilità, fault tolerance, estensibilità.
La progettazione, la configurazione e la manutenzione delle applicazioni enterprise è di per sé un compito complesso; d’altro canto è sempre più crescente la necessità di applicazioni e processi aziendali flessibili, elastici e reattivi.

Il middleware svolge un ruolo cruciale per le applicazioni enterprise, permettendo di integrare i componenti dell’infrastruttura in modo affidabile, e semplificando sviluppo e gestione.
Può essere definito come lo strato software che risiede “in mezzo” alle applicazioni, uno strato intermedio che consente l’interoperabilità tra le piattaforme, i processi e le tecnologie più disparate.
All’interno dell’infrastruttura aziendale, il middleware fornisce un livello di astrazione tra i componenti e le applicazioni che vi accedono per fornire o richiedere servizi. Divenedo il cuore dell’infrastruttura, consente agli sviluppatori di concentrarsi sulla logica di business piuttosto che sulla complessità dell’accesso ai servizi e la comunicazione tra i componenti.
La sua collocazione è al di sopra delle reti ed al di sotto delle applicazioni software.

Le caratteristiche fondamentali del middleware sono:

  1. Accesso: permettere di accedere a risorse locali e remote con le stesse modalità
  2. Locazione: permettere di accedere alle risorse senza conoscerne la locazione
  3. Concorrenza: permettere ad un insieme di processi di operare concorrentemente su risorse condivise senza interferire tra loro
  4. Guasti: permettere il mascheramento dei guasti in modo che gli utenti possano completare le operazioni richieste anche se occorrono guasti hw e/o sw
  5. Mobilità: permettere di spostare risorse senza influenzare le operazioni utente
  6. Prestazioni: permettere di riconfigurare il sistema al variare del carico
  7. Scalabilità: permettere alle applicazioni di espandersi in modo scalabile senza modificare la struttura del sistema e degli algoritmi applicativi

Esistono diverse tipologie di middleware:

  • Transaction Processing Middleware: semplifica la progettazione di applicazioni che richiedono esecuzione di transazioni distribuite (TP monitors: IBM CICS, BEA TUXEDO, Transarc Encina, . . . )
  • Message Oriented Middleware: supporta lo scambio di messaggi tra applicazioni distribuite attraverso le code in modalità asincrona. Esegue routing/trasformazione di messaggi e coordinamento dei processi di business (IBM WebSphere MQ, Sun ToolTalk . . . )
  • Object-Oriented Middleware: è basato sull’Object Request Broker (ORB), un software che gestisce la comunicazione tra oggetti. Permette di sviluppare applicazioni ad oggetti distribuiti (Java RMI/JINI, CORBA . . . )
  • Remote Procedure Calls (RPC): permette di invocare facilmente una procedura residente su di una macchina remota
  • Portal: permette l’interazione tra l’utente desktop e sistemi di back-end e servizi (IBM WebSphere Portal Server, Tibco Enterprise Portal . . . )
  • Database: permette l’accesso diretto alle strutture dati e prevede l’interazione diretta i database. Dispone di una grande varietà di opzioni di connettività (IBM DataJoiner, Sybase Direct Connect . . . )

Tag: , , , , , , , ,

Una Risposta a “Introduzione al Middleware”

  1. Message-Oriented Middleware (MOM) « mondokubu Dice:

    [...] MOM e Integrazione « Introduzione al Middleware Sincrono e Asincrono [...]

Lascia un commento