giovedì 5 dicembre 2013

Tutti I Tipi Di Server (Cosa Sono e Come Funzionano)

Server indica genericamente un sottosistema informatico di elaborazione che fornisce, a livello logico e a livello fisico, un qualunque tipo di servizio ad altre componenti (client) che ne fanno richiesta attraverso una rete di computer, all'interno di un sistema informatico o direttamente in locale su un computer.
In ambito informatico tale parola viene usata in maniera quasi maniacale quando si tratta di discutere di architetture software, di rete, etc
Spesso, quindi, si fa confusione tra i diversi tipi di server cui ci si riferisce e questa confusione è anche dovuta al fatto che molti software attuali permettono un'intersezione fra diverse funzionalità precedentemente attribuite ad un solo server.


COSA SONO I SERVER INFORMATICI?
In infomatica, per server si intendono combinazioni di hardware o software progettati per fornire servizi ai client.
Se usato da solo, il termine si riferisce tipicamente ad un computer su cui è installato un sistema operativo server, ma è comunemente usato per riferirsi ad ogni software o hardware dedicato capace di fornire servizi.
Al termine server, così come per il termine client, possono dunque riferirsi sia la componente hardware che la componente software che forniscono le funzionalità o servizi di cui sopra.
La macchina hardware server si dice anche capace di offrire risorse in termini di servizio al client che ne fa richiesta.


COME FUNZIONANO
I server offrono servizi al client tipicamente in modalità richiesta/risposta lavorando a livello applicativo del modello ISO-OSI e del modello TCP/IP secondo i dettami del particolare protocollo di rete che regola il suo funzionamento per l'espletamento del servizio al client.
Tipicamente l'espletamento del servizio per il client è preceduta da una fase di definizione di un socket (coppia indirizzo IP/porta) e successiva instaurazione della connessione con il server tramite TCP o UDP, con il server che possiede un indirizzo IP statico a causa dei legami intrinseci con il nome di dominio (che è inevitabilmente fisso) attraverso il DNS. Le porte dedicate ai server sono tipicamente porte note e statiche, dipendenti dal particolare servizio espletato.
La creazione di applicazioni di rete, per quanto riguarda la connessione, ricade all'interno degli ambiti della cosiddetta programmazione socket. Tipicamente tale ambito di programmazione fa uso di opportune chiamate di sistema o API Socket al sistema operativo del server e del client per realizzare la connessione affidabile sia in modalità iterativa sia concorrente gestendo anche tutti i possibili errori o eccezioni.


TIPI DI SERVER
Nel parlare dell'architettura di un sistema si tende ad associare ad ogni servizio XYZ un server denominato XYZ Server oppure Server XYZ. Per esempio: si pensi ad un archiettura software in cui esiste il bisogno di memorizzare i dati trattati(servizio di dabatase), quindi esiste un database Server.
Alcuni software particolarmente comuni cui ci si riferisce con l'appellativo di server sono:
WebSphere: si riferisce a tutta una catena di software IBM, ma in particolare al WebSphere Application Server che appunto fa da piattaforma d'esecuzione per applicazioni web interoperabili.
WebLogin: si tratta di un altro Application Server della BEA Systems sotto Oracle, anche questo come WebSphere della IBM, è contornato da un famiglia abbastanza ampia di altri applicativi.
Apache Tomcat: si tratta di un ambiente open source sviluppato per le servlet, cioè è un servlet container. Tuttavia per far girare il codice Java è necessario anche un web server e per questo Apache Tomcat ingloba anche le funzionalità di Web Server (si tratta di un HTTP Web Server puramente per Java). Quindi Apache Tomcat è meglio definito come web container ed è uno dei più usati attualmente data la sua semplicità di installazione/configurazione/utilizzo.
JBoss: è un Application Server open source basato sulla piattaforma Java Enteprise Edition (JEE), sviluppato dall'aziensa JBoss sotto Red Hat e supportato da un ampia comunità web.
Apache HTTP Server: è il Web Server software più usato. E' conosciuto anche col solo nome di Apache ed è sviluppato dall'Apache Software Foundation insieme ad una miriade di altri progetti per il web, praticamente tutti open source.
MySQL: uno dei sistemi per database più usati, attualmente sviluppato dalla Sun Microsystem. Si tratta di un RDBMS che ingloba le funzionalità di Database Server.
PostgreSQL: è un ORDBMS opensource, anch'esso molto usato. Ingloba le funzionalità di Database Server.

Nessun commento:

Posta un commento