Server, hosting, Asp, Php, Windows, Linux

Ecco una rapida descrizione degl significato di alcune parole chiave nel mondo dell’hosting web professionale e non…

SERVER

Per server si intende comunemente un computer dedicato allo svolgimento di un servizio preciso (come la gestione di una rete locale o geografica), alla gestione delle periferiche di stampa (print server), allo scambio e condivisione di dati fra i computer (file server, database server), all’invio o inoltro di posta elettronica (mail server) od a contenere i file in un sito web (web server).

Utilizza un sistema operativo di rete. I computer collegati e che utilizzano il servizio del server, si chiamano client. A volte lo stesso computer svolge diverse funzioni di server (es: sia file server che print server). Quando sono collegati tra di loro, attraverso una rete, i server formano un’unica risorsa computazionale definita come server cluster.

In realtà, il termine server si riferisce più correttamente al software installato su di un computer (server software). I server software si dividono solitamente in file server, che permettono agli utenti di salvare e accedere ai file su un computer in comune, e application server, dove il server viene usato per far funzionare un programma applicativo e condividerne le funzionalità tra gli utenti.

HOSTING

In ambito informatico si definisce come hosting (dall’inglese to host, ospitare) un servizio che consiste nell’allocare su un web server i file contenenti le pagine di un intero sito web rendendolo cosí accessibile dalla rete internet.

Tale “server web”, definito “host”, è connesso alla rete internet in modalità idonea a garantire l’accesso ai suddetti file tramite browser, con identificazione dei contenuti tramite dominio ed indirizzo IP. In sintesi, i fornitori di servizi di hosting ospitano diversi siti web su appositi server e li rendono disponibili sulla rete internet.

L’hosting varia in base alla dimensione di memoria necessaria ad ospitare il sito web, immagini, video e altri contenuti speciali. Tecnicamente definita hosting storage, ed al volume di traffico consentito mensilmente, tecnicamente definito hosting data transfer.

L’hosting si differenzia anche in base al fatto che sia effettuato con server dedicato (ovvero un server web che effettui l’hosting di un unico sito web) o con server condiviso (hosting di una pluralità di siti sul medesimo server), con dominio unico o pluri-dominio.

WEBFARM

Con il termine webfarm si identifica un insieme di server web, spesso interconnessi, collegati ad un gateway comune e trovantisi nello stesso luogo, di proprietà di un’unica azienda o provider. Solitamente i computer di una webfarm sono controllati da un amministratore capo, chiamato anche “senior administrator”, e dal suo gruppo di lavoro, che hanno la responsabilità del corretto funzionamento della farm, anche in termini di sicurezza informatica e generale.

SERVERFARM

Server Farm (letteralmente Fattoria di Server) è un termine inglese utilizzato in informatica per indicare una serie di server collocati in un ambiente unico in modo da poterne centralizzare la gestione, la manutenzione e la sicurezza. Spesso, all’interno delle server farm, vengono costituiti dei sistemi cluster per gestire in maniera migliore carichi di lavoro pesanti o critici (server email, web, database, rendering, GRID…).

Le server farm sono solitamente realizzate in ambienti climatizzati, protetti da accessi non autorizzati e sviluppati in colonne di Rack destinati a singoli clienti.

Non è raro, infatti, trovare server farm composte da centinaia, se non da migliaia di server. La realizzazione di una server farm permette di distribuire i costi di costruzione e gestione di una struttura sicura e di abbattere i costi per la connettività.

Quando le server farm vengono realizzate con l’esplicito obiettivo di affittarne lo spazio, si parla di Data Center o Network Operating Center

ASP

In informatica, le Active Server Pages (Pagine Server Attive, in genere abbreviato in ASP) sono pagine web contenenti, oltre al puro codice HTML, degli scripts che verranno eseguiti dal server per generare il codice HTML da inviare al browser dell’utente (proprio per questo vengono in genere definite pagine web dinamiche). In questo modo è possibile mostrare contenuti dinamici (ad esempio estratti da database che risiedono sul server web) e modificarne l’aspetto secondo le regole programmate negli scripts, il tutto senza dover inviare il codice del programma all’utente finale (al quale va inviato solo il risultato), con un notevole risparmio di tempi e banda.

Il linguaggio più usato è il VBScript (simile – come sintassi – al linguaggio Visual Basic di Microsoft), ma è possibile utilizzare anche il JScript (simile al linguaggio JavaScript), il PerlScript (simile al Perl), il Rexx ed il Python (un linguaggio emergente utilizzato moltissimo dal motore di ricerca Google).

Le possibilità offerte dal sistema sono fortemente orientate verso l’interfaccia con un corrispondente database, rendendo così possibile lo sviluppo di siti dinamici basati sulle informazioni contenute nel database. è possibile interfacciare le pagine ASP con qualsiasi tipo di database che abbia un driver OLE-db o ODBC, come ad esempio Access, SQL Server, MySQL, Oracle, Firebird, Sybase e tanti altri.

Funziona ufficialmente solo sul web server Microsoft IIS. Nonostante questo, per quanti utilizzano piattaforme GNU/Linux è disponibile un emulatore che consente di eseguire i codici ASP senza dover riscrivere l’intero progetto ma soltanto una piccola porzione di esso. Nel diffuso web server Apache, ad esempio, è possibile utilizzare pagine dalla sintassi simile ad ASP installando e configurando il modulo Apache:ASP funzionante sulla base di Perl.

Una caratteristica molto apprezzata dagli utilizzatori dell’interprete ASP è la semplice e comprensibile sintassi di programmazione che rende la curva di apprendimento di tale linguaggio poco ripida. L’interprete ASP, tuttavia, presenta alcuni limiti, specialmente di prestazioni.

Principali concorrenti di ASP sono il PHP, che funziona in modo molto simile, ma con una sintassi del tutto diversa dal VBScript, e l’unione di Perl e CGI, che è un meccanismo meno integrato nella sola pagina web e quindi più macchinoso da gestire, che tuttavia permette al programmatore più flessibilità.

ASP è stato ufficialmente abbandonato, seppure continua ancora ad essere supportato e può funzionare sulle ultime versioni di IIS, in favore di ASP.NET, ormai giunto alla versione 2.0, che consente di creare applicazioni web su piattaforma Microsoft che possono sfruttare anche funzionalità avanzate e, soprattutto, contare su un’infrastruttura molto più avanzata, qual è quella offerta dal .NET Framework in accoppiata con IIS 6.

PHP

PHP è un linguaggio di scripting interpretato con licenza open source, utilizzato principalmente per la realizzazione di applicazioni web lato server e pagine web dinamiche. Il suo nome è un acronimo ricorsivo che sta per: Hypertext PreProcessor (PHP: preprocessore di ipertesti).

PHP riprende per molti versi la sintassi C, come peraltro fanno molti linguaggi moderni; riprende però anche alcune caratteristiche sintattiche del Perl, per facilitare l’apprendimento a chi già conosce questo linguaggio.

è un linguaggio a tipizzazione debole e sebbene a partire dalla versione 5 sia stata introdotta una embrionale forma di programmazione ad oggetti, non può tuttavia essere propriamente definito un linguaggio orientato agli oggetti. Non si può infatti considerare la classe ‘object’ precursore dei tipi di dati base definiti da PHP. Certi costrutti derivati dal C, come gli operatori fra bit e la gestione di stringhe come array, permettono in alcuni casi di agire a basso livello; tuttavia è fondamentalmente un linguaggio di alto livello, caratteristica questa rafforzata dalla cura quasi pignola che viene dedicata allo sviluppo delle sue moltissime API, oltre 3079 funzioni del nucleo base. PHP è in grado di interfacciarsi a moltissimi database tra cui MySQL, PostgreSQL, Oracle, Firebird, IBM DB2, Microsoft SQL Server solo per citarne alcuni, e supporta numerose tecnologie, come XML, SOAP, IMAP, FTP, CORBA. Si integra anche con altri linguaggi/piattaforme quali Java e .NET e si può dire che esista un wrapper per ogni libreria esistente, come CURL, GD, Gettext, GMP, Ming, OpenSSL ed altro.

Fornisce un’API specifica per interagire con Apache, nonostante funzioni naturalmente con numerosi server web. è anche ottimamente integrato con il database MySQL, per il quale possiede più di una API. Per questo motivo esiste un’enorme quantità di script e librerie in PHP, disponibili liberamente su Internet. La versione 5, comunque, integra al suo interno un piccolo database embedded, SQLite.

Dispone di un archivio chiamato PEAR che mette a disposizione un framework di librerie riusabili per lo sviluppo di applicazioni PHP e di PECL che raccoglie tutte le estensioni conosciute scritte in C.
Inoltre PHP, sebbene sia concepito per la programmazione web, può essere utilizzato per scrivere script a linea di comando e grazie all’estensione php-gtk, è possibile sviluppare applicazioni con interfaccia grafica lato client.

WINDOWS

Microsoft Windows è una famiglia di sistemi operativi prodotta da Microsoft a partire dal 1985 per l’utilizzo su personal computer, ma esistono anche versioni di Windows specifiche per server e sistemi embedded. Più precisamente, le versioni a 16 bit non sono sistemi operativi ma ambienti operativi. Windows possiede la maggior parte del mercato dei sistemi operativi client.

Windows è un sistema operativo concepito fin dall’inizio per essere portabile su differenti architetture, sebbene si sia diffuso quasi esclusivamente su computer con architettura Intel x86 (in passato sono state prodotte alcune versioni di Windows NT per DEC Alpha, MIPS, PowerPC e SPARC, oggi non più supportate). Attualmente sono supportate anche le nuove piattaforme a 64 bit di Intel e AMD.

Le varie famiglie di Windows hanno caratteristiche tecniche molto diverse fra loro. Le versioni a 16 bit erano semplicemente degli “ambienti grafici” che fornivano al programmatore un insieme di librerie e servizi per l’interfaccia grafica. In realtà le funzioni di base (l’input/output, l’accesso ai dischi e la gestione della memoria) sfruttavano i servizi del BIOS e del DOS.
Le versioni ibride a 16/32 bit (la famiglia Windows 9x) disponevano invece di un proprio kernel in modalità protetta, che tuttavia era un’evoluzione del kernel in modalità reale del DOS.

La famiglia Windows NT, invece, è basata su un kernel completamente nuovo a 32 bit (64 bit in alcune versioni recenti) con architettura a microkernel ibrido.
Ciò che rende uniformi tutti i sistemi Windows è l’interfaccia ad alto livello al programmatore, costituita dalle Windows API che hanno mantenuto una forma sostanzialmente immutata da Windows 1 ad oggi.

Windows è sin dall’origine un sistema operativo grafico, pensato per essere usato con il mouse, e a differenza dei sistemi Unix l’intefaccia grafica è un componente essenziale non opzionale. Solo nelle prime versioni di Windows NT il sottosistema grafico operava in user mode, ma a partire dalla versione 4.0 è stato portato a livello kernel per motivi di prestazioni.

Microsoft è stata spesso accusata di avere copiato l’interfaccia di Windows dal sistema operativo del Macintosh di Apple, il Mac OS. Alcuni affermano che la GUI sia stata rubata dalla Xerox; Apple, tuttavia, aveva stipulato un contratto con Xerox per poter utilizzare le sue risorse all’interno del progetto Macintosh. Per distribuire la prima versione di Windows, Microsoft ottenne una licenza da Apple. La versione di Windows tuttavia non disponeva della possibilità di avere finestre affiancate, che erano ancora una caratteristica pressoché esclusiva del Macintosh: per questo in Windows 1 le finestre occupavano sempre tutto lo schermo. In Windows 2.0 Microsoft introdusse le finestre affiancate, e Apple citò in giudizio Microsoft. La causa legale si risolse, molti anni dopo, con una trattativa privata, i cui dettagli non sono completamente noti al pubblico.

La shell di Windows fino alla versione 3.1 era divisa in diversi programmi: Executive nelle prime versioni e in seguito Program Manager e File Manager. Il grande passo avanti si ebbe con la shell Explorer di Windows 95 (in italiano Gestione risorse), caratterizzata in particolare dalla Barra delle applicazioni e dal Menu di avvio. Era inoltre presente un moderno Desktop, come quello presente da anni in altri sistemi operativi.

Dal paradigma di Explorer hanno preso ispirazione molte altre shell (in particolare i window manager KDE e GNOME). Però secondo alcuni la shell di Windows 95 non sarebbe una vera innovazione, ma per molti versi la copia di interfaccie di precedenti sistemi operativi. Spesso il precursore di Explorer è considerata la shell di Acorn Archimedes del 1987, che disponeva di un componente simile alla Barra delle applicazioni. In realtà qualcosa di simile era presente già in Windows 1.0, nel 1985. Però concetti quali il desktop, il cestino e la navigazione del file system per finestre erano presenti da anni, in varie forme, in molti altri sistemi operativi. Tuttavia Explorer fu il frutto di una lunga ricerca di ergonomia da parte di Microsoft, che studiò con l’ausilio di esperti il modo in cui gli utenti interagivano con il computer. Non si fa quindi torto ai suoi precursori dicendo che Explorer è stata la prima shell davvero integrata, coerente e costruita secondo i bisogni dell’utente.

Il desktop di Windows e tutte le interfacce grafiche prima di esso hanno causato un cambiamento significativo nell’interazione tra computer e utente: con esso è possibile svolgere molti compiti (task in inglese) comuni e complessi con una minima conoscenza del computer. Tuttavia, l’interfaccia isola l’utente dai processi interni del sistema, rendendo più difficile controllarlo e configurarlo. Questa è stata una limitazione iniziale solo per gli utenti esperti che si erano formati con i sistemi operativi a linea di comando.

LINUX

Linux è il nome del kernel originariamente sviluppato da Linus Torvalds. Il nome Linux, a dispetto dell’assonanza tra il nome dell’ideatore e quello del sistema (Linus – Linux), è da attribuire a Ari Lemke, l’amministratore che rese per primo disponibile Linux su internet via FTP. In particolare Linux era il nome della directory in cui risiedevano i file del nuovo sistema operativo. Il nome scelto da Torvalds era Freax, una combinazione tra “free”, “freak” e “x”, per indicare la caratteristica di un sistema Unix-like.

Con il termine “Linux” spesso si indica erroneamente il sistema operativo libero basato sul kernel Linux e sul sistema GNU, che secondo una parte della comunità informatica dovrebbe per questo chiamarsi “GNU/Linux”.

Oggi, Torvalds continua a dirigere lo sviluppo dei kernel, mentre altre parti del sistema, come le componenti GNU, sono sviluppate separatamente. Il compito di fornire un sistema integrato, che combina tutte le componenti di base con le interfacce grafiche (come per esempio GNOME o KDE, che a loro volta si basano sulla presenza dell’X Window System) e con il software applicativo, viene ora svolto dalle distribuzioni. Nel 1996 fu scelto come logo ufficiale di Linux un pinguino disegnato da Larry Ewing e ad esso venne dato il nome di TUX come abbreviazione di Torvalds UniX. Altre fonti sostengono si tratti dell’abbreviazione di TUXedo che in inglese significa il nostro “giacca e cravatta” a causa della colorazione del corpo del pinguino. Oggi GNU/Linux resta il sistema operativo preferito da migliaia di programmatori sparsi in tutto il mondo, è usato soprattutto come server in ambienti di produzione ma ultimamente ha conosciuto anche la sua affermazione in ambiente desktop.

GNU/Linux è il prodotto di appassionati indipendenti creato per pura sfida intellettuale, senza vincoli commerciali. Questo ha generato due importanti conseguenze:

  • in primo luogo il risultato ottenuto è la sorprendente collaborazione di migliaia di programmatori sparsi in tutto il Mondo, (per questo viene considerato come il più grosso progetto collaborativo della storia dell’uomo).
  • il secondo aspetto è la “liberalizzazione” del prodotto: GNU/Linux è un software libero che permette agli utenti di avere a disposizione un sistema operativo completamente funzionante slegato dalle classiche leggi commerciali.

L’aspetto della libertà del programma mette al centro l’utente garantendogli la possibilità di visionare e modificare i codici sorgenti, la possibilità di usare il software per qualsiasi scopo, la possibilità di ridistribuirlo nel formato originario o da lui modificato. Il sistema GNU/Linux è da considerare trasparente e completamente configurabile, infatti a volte, Microsoft Windows, dietro una patina di apparente semplicità, nasconde il funzionamento logico del proprio computer e l’impossibilità di ottenere il risultato finale voluto. Questa filosofia permette lo scambio di informazioni tra gli utenti e i programmatori e ha come risultato un prodotto che risulta avere prestazioni migliori in alcuni ambiti rispetto agli attuali concorrenti commerciali. GNU/Linux è meno esposto degli altri sistemi operativi ai virus ed in genere ai maleware informatici per vari motivi:

  • chi sviluppa software maligno, generalmente, desidera colpire il maggior numero di macchine possibile: data la diffusione di Windows assai maggiore rispetto a quella di sistemi operativi basati su Linux, tendenzialmente il malware in circolazione è progettato per infettare macchine Windows, quindi incompatibile con Linux (solo raramente i virus sono multipiattaforma).
  • gli utenti di Linux sono meno numerosi, ma più preparati tecnicamente o conoscono per lo meno alcune delle basi di un sistema operativo, sono consapevoli di cosa stanno facendo e qual è il risultato che vogliono ottenere.
  • l’infezione di una macchina di solito è limitata al singolo utente e quindi non compromette, di norma, l’intero sistema operativo.
  • quando viene scoperto un problema in un prodotto di software libero si ha la patch (correzione) di solito nel giro di poche ore o giorni rendendo vane le possibilità di un virus di sfruttare tale falla.

Oggigiorno, quasi tutto l’hardware è compatibile con GNU/Linux.

Esistono principalmente due soluzioni all’incompatibilità degli eseguibili di altri sistemi operativi: utilizzare soluzioni come Wine oppure aggirare il problema e utilizzare un applicativo simile sviluppato per Linux. In entrambi i casi possono esserci possibilità di successo e svantaggi che non possono essere valutati se non caso per caso.

Non esiste un’unica versione di GNU/Linux, ma esistono diverse distribuzioni solitamente create da comunità di sviluppatori o società, che preparano e scelgono i pacchetti da includere. Tutte le distribuzioni condividono il kernel di Linux, mentre si differenziano tra loro per il cosiddetto “parco software”, cioè i pacchetti preparati e/o selezionati dagli sviluppatori per la distribuzione stessa, per il sistema di gestione del software e per i servizi di assistenza/manutenzione offerti.

Esistono distribuzioni eseguibili direttamente da CD senza che sia richiesta l’installazione sul proprio hard disk, come Knoppix e derivate: sono chiamate distribuzioni “live” o “desktop CD”.

Alcune tra le principali distribuzioni Linux sono (in ordine alfabetico):

* ALT linux
* Arch Linux
* CentOS
* Damn Small Linux
* Debian GNU/Linux
* Dynebolic
* Fedora Core
* Fox Desktop
* Gentoo Linux
* Knoppix
* Kororaa
* Mandriva Linux, fino al 2004 nota con il nome “Mandrake Linux”
* Mepis
* Pardus
* Puppy Linux
* RedHat
* Rxart
* Slackware (anche nella derivata (live) Slax)
* Slamd 64
* So.Di.Linux
* SUSE Linux
* Ubuntu Linux (anche nelle varianti Xubuntu, Kubuntu, Edubuntu, Ubuntu Lite)

fonte: wikipedia

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

You can add images to your comment by clicking here.