Strumenti personali
Tu sei qui: Portale Soluzioni Open Source Cos'è l'Open Source Content Management System Il contesto: World Wide Web, HTML, sviluppi
Azioni sul documento

Il contesto: World Wide Web, HTML, sviluppi

Nota: questa è la vista stampabile contenente tutte le pagine del manuale in una sola pagina. Se si preferisce c'è disponibile la versione suddivisa in più pagine.

Una breve ma chiara introduzione ai CMS, cosa sono, come sono nati e come si utilizzano. A cura del Dott. Sergio Brero.

1. HTML e siti statici

I primi siti internet.

Il World Wide Web nasce dal lavoro di Tim Berners-Lee presso il CERN di Ginevra e vede praticamente la luce nel 1991 basato sul protocollo di comunicazione HTTP, sviluppato come protocollo di rete per la distribuzione di documenti scritti in HTML (Hyper Text Markup Lenguage) visualizzabili dagli utenti via browser, un programma apposito che rende il codice HTML.
Originariamente consisteva in una serie di documenti usati dagli scienziati e dai ricercatori per condividere idee e informazioni. Mano a mano che sempre più utenti iniziarono ad usare la rete si sviluppò la necessità di interagire con questi documenti ma il modello operativo originario consisteva in un server Web che non faceva altro che fornire, su richiesta, i vari documenti.
Con questo sistema, senza un esplicito intervento del programmatore, i contenuti delle pagine non cambiavano mai, questo rendeva le informazioni ivi contenute difficilmente riutilizzabili e decisamente poco flessibili oltre che assai onerose da tenere aggiornate.
HTTP infatti è un semplice protocollo con comandi elementari di richiesta e risposta, dove un browser dopo aver inviato al server la richiesta di un determinato documento attraverso il comando GET si vede restituire dal server sotto forma di codice HTML il documento specifico che rende sullo schermo dell'utente.
Tuttavia nel corso del tempo è diventato evidente che l'HTML aveva alcuni limiti intrinseci che impedivano agli sviluppatori di sfruttare appieno le potenzialità del medium sul quale veniva utilizzato; il più grosso di questi si è dimostrato essere la commistione fra elementi di presentazione, cioè come devono essere disposti i vari componenti di una pagina, ed elementi di strutturazione, ovvero com'è organizzata logicamente una pagina.
Con l'introduzione dei fogli di stile o CSS questa contraddizione si è fortemente attenuata e con l'uso di passaggi intermedi per la generazione di codice HTML, la triplice XML-DTD-CSS, è ormai possibile presentare le stesse informazioni per “viste” diverse a seconda del device o della versione del software che le richiedono, quindi viste solo testo per browser testuali o lettori braille, versioni semplificate per la stampa o apposite per palmari, cellulari ecc.
Tuttavia rimane il fatto che le informazioni non possono essere utilizzate contemporaneamente in contesti diversi e che è quindi molto difficile e costoso tenere traccia delle duplicazioni, tenere tutte le parti di un sito aggiornato, presentare nelle varie sezioni contenuti che siano coerenti fra di loro, provvedere a mantenere attivi i link senza lasciarne di obsoleti.
Nella mente degli sviluppatori ha cominciato a farsi strada l'idea che se i contenuti (le informazioni) fossero stati del tutto indipendenti dalla disposizione sia visiva che logica all'interno delle pagine di un sito e richiamabili a piacere tramite richieste specifiche, per venire poi strutturati e impaginati prima dell'invio al browser che ne aveva fatto richiesta, sarebbe diventato molto più semplice la gestione delle grosse moli di dati che si stavano creando, sia abbassando i costi di gestione e manutenzione, sia rendendo più efficienti i sistemi con cui si rendevano accessibili le informazioni agli utenti di internet.

2. CGI e Server Scripting

L'evoluzione dell'HTML.

I programmatori non tardarono ad accorgersi che se HTML poteva essere scritto a mano, uno script Perl, ad esempio, poteva avere la stessa funzione e lo stesso risultato dato che al browser sarebbe sempre stato inviato codice HTML che sarebbe stato interpretato nella maniera tradizionale. Così incorporando nella URL di un documento alcuni parametri ad hoc usabili come variabili una richiesta HTML può diventare una query ad un database i cui risultati vengono trasformati dallo script in codice HTML che il server invia a seguito della richiesta ad un browser.
Nacque così CGI (Common Gateway Interface) che fu creata per consentire proprio l'interazione fra gli utenti e i siti Web e che incrementò in maniera significativa la funzionalità pratica di Internet. Improvvisamente i documenti potevano cambiare in funzione dei parametri cui erano associati, incorporando dati da altre sorgenti o modificandoli o creando nuovi collezioni di dati attraverso form con cui gli utenti inviavano al server informazioni.
Ma dal momento che CGI solamente definisce come il server Web debba comunicare con i programmi deputati a processare le informazioni provenienti dalla rete, i programmatori si trovavano nella costante necessità di riscrivere da capo tutte le altre componenti di una applicazione Web ogni volta che volevano implentare qualche cosa di nuovo.
Inoltre il funzionamento di CGI, che in pratica riceve una determinata richiesta da un browser, di solito la richiesta di un file in una determinata directory o con .cgi come estensione, ne interpreta i parametri come coppie chiave/valore e le intestazioni come variabili d'ambiente per poi svolgere determinate azioni in base a questi valori, di solito un accesso ad un database dal quale attinge le informazioni richieste, per generare infine del codice HTML e fornire al browser una risposta comprensibile alla richiesta HTTP che era sta inviata; ebbene,questo modo di CGI di funzionare crea sul server un nuovo processo per ogni richiesta, la qual cosa in situazioni di elevato traffico rende o troppo onerosa (necessità di avere troppe macchine dedicate al processamento delle richieste), o troppo lenta (le macchine che ci sono sono sovraccariche di lavoro) la soddisfazione delle richieste HTTP.
A un certo punto di sviluppo del traffico in rete quindi CGI diventa decisamente inappropriato a gestire le richieste del mercato.

3. Linguaggi di scripting

Una rassegna dei principali linguaggi di scripting.

I linguaggi di scripting lato server sono ad oggi la migliore risposta che è stata fornita dalla comunità informatica per semplificare e rendere più efficace la creazione di pagine dinamiche. Questi linguaggi consentono ai server sui quali sono configurati gli opportuni moduli, di assemblare al momento la pagina che il client richiede, prendendone i contenuti da sorgenti esterne, fornendo contemporaneamente gli stessi contenuti in più contesti, non intasando il server di processi e cambi di contesto dal momento che girano come muduli interni allo stesso server HTTP di solito una sola istanza di un processo.


I più diffusi sono:

      • ASP, sviluppato da Microsoft, le pagine .asp possono contenere al loro interno spezzoni di HTML che non vengono processati ma inviati così come sono e parti VBScript basato su VisualBasic o Jscript, linguaggio simile a Javascript e utilizzato nelle Java Server Page

      • PHP, linguaggio a sorgente aperto espressamente sviluppato per il web che com ASP consente di mescolare parti di HTML e di PHP, l'estensione delle pagine è .php e consente sia la connessione con i database sia la generazione di pagine in più linguaggi, come XML, HTML, XHTML oppure di documenti PDF e filmati Flash.

      • JSP-J2EE queste tecnologie per server Web hanno combinato tutte le potenzialità di Java con la connettività a database, l'accesso alle reti, le operazioni multithread e, soprattutto, un nuovo modello di elaborazione. I servlet e le pagine JSP operano da un'unica istanza che rimane in memoria e utilizza più thread per rispondere simultaneamente a più richieste di servizi. I servlet e le pagine JSP possono inoltre utilizzare l'ambiente J2EE (Java 2 Enterprise Edition) che consente di realizzare applicazioni sofisticate e solide.

Esiste inoltre la possibilità di utilizzare come linguaggi di scripting lato server anche Python o PERL, a condizione che siano supportati dal server e che siano installati i relativi moduli.

Con questi sistemi la pagina che l'utente va a visualizzare con il suo browser non è altro che l'output di un processo innescato dalla richiesta di un deteminato insieme di contenuti, non più un documento creato una volta per tutte da un programmatore.

L'attenzione è quindi focalizzata sui contenuti che vengono considerati come del tutto separati ed indipendenti dalla modalità con la quale verranno riprodotti sullo schermo dell'utente; a sua volta la disposizione visuale, il layout, può quindi essere gestito a prescindere dai contenuti specifici che vi verranno rappresentati.

La gestione separata dei due momenti fondamentali della funzione di un sistema di pubblicazione di informazioni via internet/intranet, la creazione dei contenuti e la loro disposizione in uno spazio digitale, è il primo passo che è stato necessario per iniziare a riflettere su come utilizzare meglio le possibilità che la diffusione elettronica dei dati poteve offrire. Sono iniziate così a circolare nella comunità degli sviluppatori, librerie di applicazioni web che permettevano di mettere online semplici portali in maniera automatica che potevano poi essere personalizzati in modo da avere un look originale i cui contenuti poteveno essere facilmente aggiornati e sostituiti senza la necessità di intervenire in alcun modo sulla rappresentazione delle pagine.

Erano nate le pagine dinamiche, le basi per la costruzione di applicazioni complesse che saranno poi i CMS, i sistemi di gestione dei contenuti

« dicembre 2024 »
dicembre
lumamegivesado
1
2345678
9101112131415
16171819202122
23242526272829
3031