Sistema informatico

Da Wikipedia, l'enciclopedia libera.

Il termine sistema informatico o sistema di elaborazione dati indica genericamente un sistema meccanografico,[1] un computer o un insieme di più computer, apparati o sottosistemi elettronici (server, database, mainframe, supercomputer, switch, router ecc...), tra loro interconnessi in rete, in un'architettura di base tipica client-server, e preposti ad una o più funzionalità o servizi di elaborazione a favore degli utenti.

Composto da hardware e software con un'architettura che varia a seconda delle esigenze e della sua progettazione, un sistema informatico, attraverso opportune applicazioni (es. applicazioni web), elabora dati e informazioni per restituire altri dati ed informazioni utili. Il personal computer è un esempio di sistema informatico relativamente semplice. Tipici invece sono i sistemi informatici aziendali per i propri servizi di business e logistici interni ed esterni. La rete Internet è invece un esempio di sistema informatico molto più complesso, ampiamente distribuito.

Il sistema informativo è invece l'insieme delle attività logiche di gestione delle informazioni, delle relative modalità e degli strumenti tecnologici usati a tale scopo, di cui il sistema informatico ne costituisce la parte infrastrutturale.

Un sistema informatico riveste un'importanza strategica all'interno del contesto aziendale giacché un sistema efficiente e ben progettato e realizzato in prestazioni, efficienza, affidabilità, disponibilità e sicurezza garantisce una migliore gestione delle informazioni aziendali con ricadute positive sulla produttività stessa e quindi sull'operato o business dell’azienda stessa.

Una volta progettato e e realizzato, la gestione del sistema informatico in tutte le sue componenti passa tipicamente attraverso un team di sistemisti o amministratori di sistema, mentre agli utenti rimangono assegnate l'insieme delle funzionalità offerte.

Descrizione[modifica | modifica sorgente]

In teoria anche il più semplice dei computer può essere definito sistema informatico, perché il suo funzionamento richiede la presenza combinata di hardware e software e della memoria RAM e ROM. Tuttavia il termine sistema in informatica prende significato solo in presenza di interconnessioni fra diversi computer, che, insieme, formano un sistema informatico più grande. Interconnettere computer può essere difficile a causa di incompatibilità presenti sia nell'hardware, che nel software installato.

I progettisti dei sistemi non sempre si preoccupano di progettarli prevedendo la futura necessità di collegarli ad altri sistemi. Per questo motivo gli amministratori di sistema (in inglese "sysadmins") sono spesso obbligati a riconfigurare i sistemi per poterli far comunicare, usando un set di regole e vincoli chiamati protocolli, che, in sostanza, descrivono come il sistema "è visto dal mondo esterno" e che definiscono le condizioni necessarie perché i sistemi possano dialogare e interoperare. Quando due sistemi sono "visti dal mondo esterno" nello stesso modo, allora possono essere interconnessi per formare un unico sistema più grande.

Questa "immagine dall'esterno" viene di solito codificata da uno standard, che è un documento che descrive tutte le regole che un dispositivo o un programma devono rispettare. Esistono organismi internazionali, come l'IETF e l'IEEE che si occupano della preparazione e dell'approvazione di questi standard. Quando un sistema rispetta tutte le regole di un certo standard, si dice che "è conforme" (in inglese "compliant") allo standard.

A causa della complessità dei sistemi informatici (dovuta alla sovrapposizione di più strati di HW e SW), della conseguente non-linearità dei fenomeni coinvolti e dell'interazione che alcuni sistemi hanno con input provenienti da decisioni umane, non risulta ancora formalizzata una Teoria dei Sistemi Informatici intesa come formalizzazione matematica (Ingresso-Stato-Uscita) delle relazioni causa-effetto tra gli input (dati) e gli output (dati elaborati) di un sistema informatico.

Pertanto, diversamente da quanto accade in altre specializzazioni dell'Ingegneria, non risulta ancora formalizzato l'analogo di una Tecnica delle Costruzioni (sotto quali leggi e fenomeni fisici i vari sottosistemi informatici interagiscono). Risultano invece standardizzati (de facto) i procedimenti di realizzazione di singoli sistemi isolati, attraverso metodologie consolidate, come ad esempio ER "Entity-Relationship", UML "Unified Modelling Language" e RUP "Rational Unified Process".

Sono formalizzati alcuni procedimenti, basati sulla Teoria delle code, utili per il dimensionamento degli Impianti di Elaborazione Dati e per l'allocazione dei task sulle CPU. Tali procedimenti modellano il fenomeno per mezzo delle classi di servizio delle pratiche da elaborare e delle distribuzioni delle frequenze di arrivo delle stesse all'impianto di elaborazione (p.es distribuzione poissoniana). Esistono metodi basati sull'utilizzo di "best practice" ITIL (Information Technology Infrastructure Library) che vengono proposti per la gestione di processi tipici delle configurazioni dei sistemi informatici.

Caratteristiche[modifica | modifica sorgente]

Il sistema informatico è dunque composto da una parte hardware e una parte software rispettivamente sotto forma di architettura hardware e architettura software tra loro dipendenti.

In generale un sistema informatico deve soddisfare requisiti come:

Funzionalità[modifica | modifica sorgente]

In un sistema informatico tipicamente si distinguono tre strati logici di funzionalità in comunicazione tra loro:

  • logica di presentazione (presentation layer) o front-end ha il compito di presentare i dati all'utente ed inviare le richieste di questi verso la parte centrale-elaborativa del sistema facendo dunque da interfaccia uomo-macchina.
  • logica applicativa o di buissness (application o business layer) fornisce gli applicativi agli utenti tipicamente sotto forma di un application server o un web server per poter usufruire dei servizi offerti dal sistema informativo.
  • logica di accesso ai dati (access data layer) o back-end attraverso server dati che interrogano il database aziendale o il sistema legacy.

Architetture[modifica | modifica sorgente]

In generale ciascuno dei tre strati logici precedenti possono essere implementati in architetture fisiche cosiddette a n-tier, più o meno centralizzate o distribuite:

  • architettura 1-tier: le tre funzionalità logiche sono ospitate su una macchina come sistema centralizzato tipo mainframe;
  • architettura 2-tier: le tre funzionalità logiche sono ospitate sue due macchine, quello di presentazione sugli utenti e gli altri su un application e database server;
  • architettura 3-tier: le tre funzionalità logiche sono implementate ognuna su una macchina o sistema di macchine indipendenti;
  • architettura N-tier: le tre funzionalità logiche sono implementate su più di tre livelli con architetture molto più distribuite.

Rispetto ad un sistema centralizzato un siffatto sistema distribuito su più layer possiede una maggiore complessità di gestione e prestazioni inferiori, ma può vantare una maggiore scalabilità del sistema cioè la possibilità di estensione del sistema in funzione della necessità di aumento di terminali utenti, di server e database nei vari strati, un'alta disponibilità, affidabilità e sicurezza dovute al fatto che il guasto o la violazione su una macchina non inficia il funzionamento o la sicurezza del restante sistema.

La progettazione architetturale dei sistemi è affidata alle figure di software architect e data architect.

Note[modifica | modifica sorgente]

  1. ^ Il sistema meccanogradico oggi è superato, ma è stato in auge per più di sessant'anni: dagli anni novanta del XIX secolo agli anni cinquanta del XX secolo. Il sistema meccanografico è stato soppiantato dal computer elettronico digitale negli anni '50 del XX secolo (anni in cui è iniziata la diffusione e commercializzazione del computer elettronico digitale). Il computer elettronico digitale è l'odierna tipica implementazione del computer.

Bibliografia[modifica | modifica sorgente]

  • Sistemi Informativi - G.Batini, B.Pernici, G.Santucci, D.Ardagna, M.G.Fugini, P.Plebani - Franco Angeli

Voci correlate[modifica | modifica sorgente]