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:
- Accesso: permettere di accedere a risorse locali e remote con le stesse modalità
- Locazione: permettere di accedere alle risorse senza conoscerne la locazione
- Concorrenza: permettere ad un insieme di processi di operare concorrentemente su risorse condivise senza interferire tra loro
- Guasti: permettere il mascheramento dei guasti in modo che gli utenti possano completare le operazioni richieste anche se occorrono guasti hw e/o sw
- Mobilità: permettere di spostare risorse senza influenzare le operazioni utente
- Prestazioni: permettere di riconfigurare il sistema al variare del carico
- 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: coda, message, messaggio, middleware, mom, oriented, queue, WebSphere, wmq

Luglio 8, 2008 alle 4:21 pm
[...] MOM e Integrazione « Introduzione al Middleware Sincrono e Asincrono [...]