La storia delle reti informatiche è un percorso evolutivo che ha trasformato radicalmente il modo in cui elaboriamo e condividiamo le informazioni. Partendo da sistemi centralizzati, si è passati gradualmente a modelli distribuiti, guidati dall'innovazione tecnologica e dalla crescente accessibilità dei computer.
Le reti informatiche hanno le loro radici negli anni '70. L'architettura dominante di quell'epoca si basava su sistemi centrali noti come mainframe.
I mainframe erano calcolatori estremamente potenti e costosi, concentrando tutte le risorse hardware e software in un'unica unità centrale. Per accedere a questi sistemi, si utilizzavano i cosiddetti "terminali stupidi" (o "dummy"), che erano essenzialmente solo tastiere e monitor, privi di capacità di elaborazione propria. Il loro scopo era esclusivamente quello di connettersi al mainframe per condividere le sue risorse.
Questo modello centralizzato, pur efficiente per l'epoca, presentava un punto critico significativo: se il mainframe si guastava, l'intera rete si bloccava. Di conseguenza, l'affidabilità del sistema centrale era di cruciale importanza.
Un punto di svolta fondamentale si verificò nel 1981, quando IBM commercializzò il primo Personal Computer (PC) con sistema operativo MS-DOS. Questa innovazione rappresentò una vera e propria rivoluzione.
L'introduzione del PC ha reso l'informatica accessibile a un pubblico molto più ampio, spostando il potere di elaborazione dal centro (il mainframe) verso l'utente finale.
Un mainframe è un computer grande e dotato di elevata capacità di elaborazione, in grado di supportare l'utilizzo contemporaneo da parte di centinaia o addirittura migliaia di utenti; attraverso i terminali ad esso collegati gli utenti inseriscono i dati di input e ricevono in uscita output.
A partire dalla fine degli anni '80, l'evoluzione delle tecnologie ha portato all'affermazione di nuovi modelli di sviluppo delle reti, inaugurando l'era dell'informatica distribuita.
Questo cambiamento è stato stimolato dal fenomeno del "downsizing" (riduzione delle dimensioni), caratterizzato dalla migrazione di utenti e applicazioni dai grandi sistemi mainframe a mini-computer e, soprattutto, a personal computer. I PC, che nel frattempo erano diventati notevolmente più potenti dei mainframe di dieci anni prima, hanno reso obsoleta la necessità di affidarsi a un unico sistema centrale per la maggior parte delle operazioni.
L'informatica distribuita ha permesso di decentralizzare l'elaborazione, riducendo la dipendenza da un singolo punto di fallimento e offrendo maggiore flessibilità e resilienza alle reti moderne.
I minicomputer sono stati una categoria di computer di medie dimensioni emersa negli anni '60 e '70. Erano caratterizzati da:
Capacità multiutente: Erano in grado di supportare contemporaneamente diverse decine di utenti interattivi.
Potenza di calcolo: Offrivano una potenza di elaborazione significativa, pur non raggiungendo quella dei mainframe più grandi.
Costo: Avevano un costo inferiore rispetto ai mainframe, nell'ordine di decine o centinaia di migliaia di euro.
Inizialmente, i minicomputer furono utilizzati come alternativa più economica ai mainframe. Molti sistemi adottarono un'architettura simile a quella dei mainframe, mantenendo la centralizzazione e utilizzando ancora "terminali stupidi" (privi di capacità di elaborazione propria) collegati al minicomputer. Questo modello offriva il vantaggio principale di ridurre i costi e di favorire la diffusione dell'informatica in aziende e istituzioni che non potevano permettersi un mainframe tradizionale.
Tuttavia, l'impatto dei minicomputer andò oltre la semplice riduzione dei costi: essi rappresentarono un passo fondamentale verso la decentralizzazione dell'elaborazione, preparando il terreno per l'era dei personal computer e dell'informatica distribuita.
Oggi il termine Mainframe è sinonimo di elaborazione sicura, affidabile, autonoma e flessibile.
Un mainframe gestisce un carico di lavoro misto, eseguendo contemporaneamente diverse attività che differiscono per complessità e impegno elaborativo. Il sistema è ottimizzato per mantenere le priorità assegnate e armonizzare le varie necessità di elaborazione, garantendo la massima efficienza. Una delle caratteristiche distintive del mainframe è la sua elevata affidabilità. Le configurazioni hardware e software sono progettate per resistere a guasti e interruzioni, offrendo una disponibilità continua del servizio, essenziale per settori critici come il bancario, assicurativo e la pubblica amministrazione.
Lo scenario in cui il mainframe si inserisce è cambiato significativamente nel tempo:
Configurazione Passata (Centralizzata): In passato, il mainframe accentrava su di sé tutte le funzioni informatiche dell'organizzazione. Questo includeva il controllo degli accessi, l'elaborazione di calcoli numerici complessi, la gestione delle reti e molto altro. Era un modello "host-centrico" dove il mainframe era il punto di riferimento unico per tutte le attività.
Configurazione Attuale (Distribuita): Oggi, con l'affermazione dell'informatica distribuita e del modello client/server, il mainframe è spesso integrato in una configurazione che include altri server specializzati. Molte funzioni sono demandate a server dedicati (ad esempio, per l'e-business, il cloud computing o servizi specifici), che risultano più efficienti ed economicamente vantaggiosi per certi tipi di carico di lavoro.
In questo scenario moderno, il mainframe non ha perso la sua importanza; al contrario, continua a essere il pilastro per le applicazioni mission-critical che richiedono massime prestazioni, sicurezza e disponibilità, affiancando e integrandosi con le architetture server più recenti.
Possiamo dire che nei sistemi centrali sono rimaste tre funzioni fondamentali:
Data base server,
Application server
Presentation server
A partire dalla fine degli anni ’90, con l’esplosione del fenomeno internet e dei mercati globali, è emerso un nuovo disegno di azienda, non più monolitica e chiusa, ma “aperta” e con interazioni sempre più strette con agenti esterni (fornitori, clienti, ecc.), flessibilità sempre più spinte e in grado di riposizionare costantemente la propria attività.
Tutto ciò, supportato dalle nuove tecnologie, ha influito sui modelli infrastrutturali che sono:
Modello Host Centrico
Modello Client/Server
Modello Web Application
Modello Service Oriented
Questo modello è legato alla visione storica del mainframe come "hub" centrale per dati e applicazioni. Caratterizzato da un sistema chiuso, l'Host Centrico accentrava tutte le funzioni informatiche (controllo accessi, calcoli complessi, gestione reti) sul mainframe.
Caratteristiche: Il sistema opera in completa autonomia con scarse interazioni esterne e presenta una limitata adesione agli standard informatici.
Flessibilità e Utenti: La flessibilità è ridotta, poiché ogni modifica richiede un'implementazione "ad hoc". Gli utenti, solitamente dipendenti aziendali, si connettono tramite terminali "stupidi" che offrono solo visualizzazione di caratteri, spesso limitati dalla scarsa potenza e dagli alti costi delle reti trasmissive dell'epoca.
Con l'avvento dei PC e delle reti, il modello monolitico è stato suddiviso in processi client (richiedenti servizi) e processi server (fornitori di servizi). L'elemento centrale di questo modello è la rete.
Caratteristiche: Diversi Personal Computer, dotati di interfacce grafiche (GUI), si connettono alla rete (locale o meno) e assumono le funzioni che in precedenza erano svolte interamente dal mainframe.
Questo modello rappresenta un'evoluzione del Client/Server, standardizzando l'accesso alle applicazioni tramite Internet.
Caratteristiche: Il client utilizza un browser web come interfaccia, mentre i servizi applicativi sono forniti da un web server. I protocolli di comunicazione TCP/IP e HTTP sono alla base di questo modello, che integra l'accesso alle applicazioni in modo sempre più standardizzato e compatibile con il web.
Il Service Oriented Architecture (SOA) rappresenta un passo avanti significativo. L'obiettivo è connettere una grande varietà di sistemi senza i vincoli legati a software proprietario.
Caratteristiche: Permette la stretta cooperazione tra programmi scritti in linguaggi differenti ed eseguiti su sistemi operativi diversi, senza l'intervento di codice proprietario e a costi accettabili.
Vantaggi: Un vantaggio rilevante è la maggiore riutilizzabilità dei componenti (Web Service), che rende più veloce ed economica la realizzazione di nuove applicazioni.
Il fattore chiave che ha guidato l'avvento dell'informatica distribuita è stata l'ideazione del Personal Computer (PC) a metà degli anni '70. Frutto di una ricerca che ha drasticamente ridotto i costi delle componenti elettroniche, il PC è stato concepito come una macchina utilizzabile da un singolo utente alla volta.
Lo sviluppo del PC ha permesso una svolta epocale: la migrazione delle applicazioni dai grandi e monolitici mainframe verso reti di personal computer e minicomputer. Questa transizione ha segnato l'inizio della decentralizzazione dell'elaborazione.
L'evoluzione delle reti di telecomunicazione ha contribuito in modo significativo a questo cambiamento. Una maggiore disponibilità di banda, la riduzione dei costi di connessione, l'affermazione dello standard TCP/IP e la crescente potenza di elaborazione individuale dei PC hanno favorito la nascita di un nuovo modello infrastrutturale: il Modello Client/Server.
A differenza dell'era dei mainframe, dove era necessario condividere le risorse di calcolatori centrali costosi e potenti, il modello Client/Server ha permesso di sfruttare la potenza distribuita.
Le reti di calcolatori offrono diversi vantaggi rispetto al mainframe tradizionale:
Fault Tolerance (Resistenza ai Guasti): Il guasto di una singola macchina non paralizza l'intera rete. Inoltre, la componentistica dei PC è economica, rendendo la sostituzione del computer guasto facile e veloce.
Economicità: L'hardware e il software per i computer distribuiti costano significativamente meno rispetto a quelli per i mainframe.
Gradualità della Crescita e Flessibilità (Scalabilità): Espandere una rete esistente aggiungendo nuove funzionalità o potenza di calcolo è relativamente poco costoso e graduale.
Nonostante i vantaggi, le reti di computer presentano alcune vulnerabilità rispetto ai mainframe:
Minore Sicurezza: Una rete distribuita è potenzialmente più vulnerabile di un mainframe. Un malintenzionato può ottenere accesso più facilmente, talvolta semplicemente accedendo fisicamente ai cablaggi della rete. Inoltre, un'infezione da worm può propagarsi rapidamente tra i sistemi interconnessi, rendendo il processo di disinfezione lungo e complesso.
Alti Costi di Manutenzione: Con l'espansione e l'aggiunta di nuove funzionalità e servizi, la struttura della rete tende a diventare complessa e i computer eterogenei. Questo rende la manutenzione costosa in termini di ore lavorative e gestione.