ARCHITETTURA CLIENT/SERVER

 

In informatica per “architettura client/server” si intende un sistema formato da uno o più client connessi ad un singolo server per lo svolgimento di un servizio.

Il vantaggio di avere un server unico che gestisce gli accessi è che si evitano conflitti di interessi generati dalla richiesta simultanea di risorse, in quanto un server è in grado di soddisfare molte richieste contemporaneamente.

Per poter funzionare un sistema client/server si appoggia ai protocolli (pacchetti di istruzioni) che si occupano di mettere in comunicazione i vari soggetti.

La rete internet, le reti lan, la maggiorate dei sistemi operativi sono basati su di una architettura client server.

 

Prendiamo un caso ad esempio:

Apriamo Google e digitiamo “Itsos Albe Steiner"

Il nostro browser (client) invia una richiesta ai server di google (cerca “Itsos Albe Steiner”)

Il server di google esegue la ricerca utilizzando i suoi algoritmi di ricerca.

Ci invia la risposta sotto forma di pagina web contenente i risultati via HTTP

L’engine del nostro browser legge le informazioni contenute nella pagina web e ci permette di visualizzarla sotto forma grafica

A questo punto abbiamo i risultati visualizzati sullo schermo e scegliamo si seguire il link “www.itsosmilano.it”

Il nostro browser invia la richiesta di connessione al server (itsosmilano.it) e richiede la pagina “home"

Il server elabora la richiesta e ci invia in risposta la pagina che abbiamo richiesto via HTTP (www.itsosmilano.it/home)

Il browser riceve e visualizza la pagina.

  • Protocolli di Rete

In telecomunicazione un protocollo di rete è la descrizione della logica di funzionamento della rete stessa.

Per poter comunicare tra di loro due o più macchine elettroniche necessitano di potersi scambiare informazioni correttamente interpretabili.

Un protocollo contiene tutte le istruzioni di cui un computer ha bisogno per poter interagire con un altro computer.

 

Esistono migliaia di protocolli di rete, con diverse funzioni e applicazioni.

I più conosciuti sono ad esempio :

  • HTTP (Hyper Text Transfer Protocol) Si usa per la ricezione /e quindi la visualizzazione) delle pagine web.
  • HTTPS (Secure Hyper Text Transfer Protocol)  Uguale all’http con l’aggiunta di un livello di sicurezza, tutti i dati inviati attraverso questo protocollo vengono criptati.
  • FTP (File Transfer Protocol) Si usa per lo scambio di file generici.
  • SMTP (Simple Mail Transfer Protocol) Utilizzato per l’invio delle E-mail
  • POP (Post Office Protocol) Si usa per la ricezione delle E-mail
  • ADSL (Asymmetric Digital Subscriber Line) Protocollo di trasmissione a livello fisico, si usa per consentire dei punti di acceso ad internet a velocità elevata.
  • NFC (Near Field Comunication) Si usa per lo scambio di informazioni/dati tra due dispositivi molto vicini ad una distanza massima di 10cm
  • Bluetooth Si usa per lo scambio di informazioni/dati tra due dispositivi relativamente vicini ad una distanza massima di 100m

PUBBLICAZIONE DI UN SITO

 

  • Modalità di pubblicazione di un sito

 

I siti web si dividono in due grandi categorie statici e dinamici, ognuno a procedure diverse per la pubblicazione, ma l’idea d base rimane sempre quella di caricare tutti i file che servono al sito (html, script, immagini) su di un server web a cui vi è associato un dominio.

 

Il primo passo è quindi quello di procurarsi un hosting con associato almeno un dominio, che abbia sufficiente spazio di archiviazione per tutti i file.

Nel caso si utilizzi un CMS è necessario che allo spazio hosting sia associato anche un database.

 

Nel caso di un sito web statico a questo punto è sufficiente caricare i file tramite un client ftp ed il sito web è immediatamente online e funzionante.

 

Se invece si utilizza un CMS è necessario installarlo nel nostro spazio web e procedere a caricare/creare i contenuti che saranno automaticamente ed immediatamente pubblicati.

 

 

  • Problematiche di pubblicazione di un sito

 

Nel corso della pubblicazione di un sito si possono riscontrare alcuni problemi comuni.

 

  • Disponibilità nome dominio scelto
  • Supporto e scelta versione php sul server
  • Peso eccessivo delle immagini
  • Problematiche legate alle URL

 

 

-Uno dei problemi maggiori che possiamo incontrare è che il nome di dominio che abbiamo scelto per il nostro sito sia già utilizzato da qualcun altro.

Siccome i nomi di dominio sono unici e non si possono ripetere, abbiamo due possibilità:

  • Scegliere un altro nome
  • Provare a convincere il proprietario di tale dominio a venderci il nome, per fare ciò esistono degli apposti servizi di compravendita e ci si può quindi affidare a dei broker professionisti. (Es. nidona.com)

 

-Se nel nostro sito è presente un form per l’invio di mail o utilizziamo un CMS è necessario assicurarsi che il nostro server supporti il php e sia correttamente configurato (più del 80% dei server web ormai supportano il php).

Per farlo è sufficiente andare nel pannello di controllo del nostro servizio di hosting e scliegliere quale versione del php utilizzare (ad esempio Drupal 7 richiede 5.4 o superiori, Drupal 8 richiede 5.5.9 o superiori).

Inoltre per l’installazioni di particolari software può essere necessario modificare le impostazioni del php, modificando il file Php.ini

 

-Un’altro fattore da tenere in considerazione quando si publica un sito è la dimensione di immagini e video che andiamo a caricare sul sito questo infatti impatterà moltissimo sulla velocità di caricamento delle pagine

Per evitare il problema si possono seguire poche regole:

  • Definire la dimensione delle immagini uguale alla dimensione massima con cui appaiono sul sito.
  • Utilizzare il giusto formato (JPG per le fotografie e le immagini complesse, PNG per immagini vettoriali o colori pieni).
  • Utilizzare un buon livello di compressione che alleggerisca il file..
  • Su photoshop è disponibile la funzione “esporta per il web” in cui sono presenti diversi preset di impostazioni creati appositamente per l’utilizzo on-line.

 

-Se durante la costruzione del sito abbiamo usato un server simulato off-line o un servizio di hosting gratuito (Es. Altervista) per testarne il funzionamento o se lo stiamo trasferendo, bisogna ricordarsi di controllare tutti i link, in modo che siano aggiornati con il nuovo nome di dominio.

Se abbiamo un sito molto grande con moltissimi link  possiamo affidarci a servizi come brokenlinkcheck.com che sono in grado di controllare tutti i link presenti in pochi minuti.

I CMS (Content Management System)

 

In informatica un content management system, in acronimo CMS (sistema di gestione dei contenuti in italiano), è uno strumento software, installato su un server web, il cui compito è facilitare la gestione dei contenuti di siti web, svincolando il webmaster da conoscenze tecniche specifiche di programmazione Web.

Ne esistono sia gratuiti che a pagamento e spesso è possibile ampliare le loro funzioni attraverso l’installazione di plugin o modulo aggiuntivi.

Funzionano con un database in cui vengono salvate tutte le informazioni e i contenuti che vengono poi richieste dagli utenti.

 

 

  • Wordpress

 

WordPress è una piattaforma di "personal publishing" e content management system (CMS), scritta in PHP e che usa come database MySQL o Microsoft SQL Server, che consente la creazione di un sito internet formato da contenuti testuali o multimediali, facilmente gestibili ed aggiornabili. Creata da Matt Mullenweg, è distribuita con la licenza GNU General Public License.

Ogni versione del programma è dedicata ad un musicista jazz.

WordPress supporta un solo blog per installazione, ma ne esiste anche una versione multi-utente, WordPress MU, anch'essa distribuita con la stessa licenza.

 

 

  • Joomla!

 

Joomla! è un software di content management (CMS) per siti web, realizzato completamente in linguaggio PHP. È pubblicato con licenza open source GNU GPL v.2. È nato nel settembre 2005 da una scissione (fork) dal codice del CMS (Content Management System) Mambo; attualmente è in rapido sviluppo, sotto la guida di un gruppo di programmatori (per buona parte ex-sviluppatori di Mambo) riuniti nell'associazione no-profit Open Source Matters.

 

 

  • Magento

 

Magento è un Content Manager System realizzato in PHP e appositamente concepito per la realizzazione di siti Web dedicati al commercio elettronico, è quindi una piattaforma per l'e-commerce; la prima versione di questa applicazione risale al 31 marzo del 2008, ma il lavoro per il suo sviluppo ebbe inizio nel gennaio del 2007.

Il CMS è stato realizzato da una società, la Varien, i cui tecnici hanno deciso di utilizzare lo Zend Framework come base dell'applicazione; Magento viene rilasciato sotto Open Software License in versione 3.0, è scaricabile gratuitamente e liberamente utilizzabile rispettando i termini della licenza.

 

 

  • Drupal

 

Drupal è un CMS open source sviluppato da una community internazionale di appassionati e sostenitori, è un software modulare che consente attraverso l’installazione di determinati moduli di estenderne la le funzionalità per poter creare forum, blog, e-commerce, piattaforme intranet o CRM (Client Relationship Management).

Attraverso l’uso dei temi è possibile personalizzare la veste grafica del sito in pochi click, e il tutto senza conoscere nessun linguaggio di programmazione.

 

Ecco come eseguire con Drupal le principali operazioni che ci permettono di creare un sito.

 

  • Installare un nuovo tema

 

  1. Andare su Drupal.org e scegliere un nuova tema tra quelli disponibili.
  2. Nella scheda di download del tema scegliere il pacchetto .tar.gz
  3. Scegliere la voce “Appearance/Apperenza” dal menu di drupal del nostro sito
  4. Schiacciare su “Intsall new theme/Installa nuovo tema"
  5. Caricare il pacchetto .tar.gz scaricato in precedenza
  6. Se si desidera attivare il tema è possibile farlo attraverso la schermata successiva all’installazione riuscita

 

 

  • Attivare un tema già installato

 

  1. Scegliere la voce “Appearance/Apperenza” dal menu di drupal
  2. Da questa scheda è possibile vedere tutti i temi installati sul sito sia quelli attivi che quelli disattivati.
  3. Per attivare un tema schiacciare sul pulsante “Enable/attiva” sotto al suo nome
  4. Per selezionarlo come tema principale schiacciare su “Set as default"

 

 

  • Installare un nuovo modulo

 

  1. Andare su Drupal.org e scegliere il modulo necessario tra quelli disponibili.
  2. Nella scheda di download del modulo scegliere il pacchetto .tar.gz
  3. Scegliere la voce “Modules/Moduli” dal menu di drupal del nostro sito
  4. Schiacciare su “Intsall new module/Installa nuovo modulo"
  5. Se si desidera attivare il modulo è possibile farlo attraverso la schermata successiva all’installazione riuscita

 

 

  • Attivare un modulo già installato

 

  1. Scegliere la voce “Modules/Modul” dal menu di drupal
  2. Da questa scheda è possibile vedere tutti i moduli installati sul sito sia quelli attivi che quelli disattivati.
  3. Per attivarli e disattivarli è sufficiente mettere la spunta nella casella “Enable/attiva” della tabella

 

 

  • Creazione menu

 

  1. Scegliere la voce "Structure/Struttura” dal menu di drupal del nostro sito.
  2. Scegliere la voce “Menus/Menù" tra i link presenti.
  3. Da questa pagina è possibile scegliere quale menù modificare, Scegliere Main menu per modificare quello principale.
  4. Schiacciare su "Edit menu/Modifica menù" se si desidera modificarne il nome.
  5. Schiacciare su “Add link" se si desidera aggiungere nuove voci al menù.

 

 

  • Creazione nuove pagine

 

  1. Scegliere la voce "Structure/Struttura” dal menu di drupal del nostro sito.
  2. Scegliere la voce “Pages/Pagine" tra i link presenti.
  3. Da questa pagina è possibile creare, importare, modificare e gestire tutte le pagine del nostro sito, schiacciare su “Add custom page”  per aggiungerne una.
  4. Inserire il nome della nuova pagina, il percorso e selezionare le voci opzionali a seconda dei bisogni.