|
Reti Aperte e Soluzioni Integrate per le Scuole
Il server web provvede a gestire le connessioni dei browser internet e a trasferire ad essi il contenuto di file di testo che descrivono, attraverso un apposito linguaggio (HTML: Hyper Text Markup Language) l'aspetto che dovranno avere le pagine visualizzate. Fare click qui per aprire il diagramma relativo. Nei diagrammi di implementazione i cubi rappresentano dei dispositivi fisici, le linee continue delle connessioni esistenti tra questi, i cerchi sono delle interfacce. I rettangoli decorati rappresentano dei componenti software: il cubo che li ospita rappresenta un nodo sul quale sono installati. Le linee tratteggiate rappresentano delle dipendenze logiche. Una relazione di ereditarietà è descritta da una freccia con la punta a forma di triangolo: questa relazione indica che il nodo da cui la freccia parte è una particolare istanza della classe più generale di nodi sui quali la freccia punta. Dal diagramma si evince che il server web è un nodo dotato di una scheda di rete (perché evidentemente deve potersi collegare alla rete Internet). Non è specificato se si tratti di un nodo con numero IP pubblico o privato perchè questo dipende dal tipo di servizio che la macchina deve svolgere: se il servizio è rivolto all'interno della Scuola è opportuno che si tratti di una macchina con IP privati, altrimenti il suo IP dovrà essere pubblico. È naturalmente sempre possibile far convivere su una rete più Web Server. In particolare (vedi qui) è talvolta utile separare i servizi rivolti verso l'esterno da quelli rivolti all'interno utilizzando due web server (uno con IP pubblico ed uno con IP privato) parzialmente sincronizzati (perché l'intersezione degli insiemi dei documenti di entrambi i server può non essere vuota). L'unico elemento strettamente necessario per realizzare un web server, dal punto di vista software, è un server HTTP (httpd). Il più comune è apache. Questo componente installa un servizio che si pone in attesa di connessione attraverso una porta Internet e, qualora la connessione venga accettata, trasferisce al client, per mezzo di questa, il contenuto delle pagine descritte in linguaggio HTML residenti sul server web come file di testo. Il server web in questo modo può servire solo pagine statiche e queste devono risiedere fisicamente sul server. Se i redattori delle pagine sono abituati ad usare macchine Windows è probabile che vogliano continuare a servirsene. Se al server web si aggiungono le componenti Samba (sia lato server che client) è possibile garantire agli utenti Windows la possibilità di condividere il proprio lavoro con il server web (vedi servizi di condivisione delle risorse). Per generare pagine dinamiche (il cui contenuto possa variare in base alla connessione o a dei parametri passati attraverso dei form) si può usare il protocollo CGI (Common Gateway Interface) che permette di eseguire brevi programmi sul server che generino il codice HTML da servire. Perl è tra i linguaggi più adatti a questo scopo. Esso dispone di moduli opzionali che permettono una semplice gestione del protocollo CGI ed il collegamento a database esterni (Perl::CGI e Perl::DBI, rispettivamente). Un altro componente utile è il linguaggio PHP, utilizzato anch'esso per servire pagine dinamiche, specialmente quando questa richieda il collegamento ad un database per ottenere i dati da servire. PHP dispone di metodi nativi per interrogare le basi di dati e per trasformare i risultati delle queries in codice HTML. Nei casi più complessi, in cui i redattori delle pagine siano molti ed in cui si abbia necessità di coordinarne il lavoro e di supervisionare le pagine prima di pubblicarle, è utile usare un CMF (Content Management Framework) come Plone. Si tratta di uno strumento complesso, che richiede l'uso di un ulteriore componente (Zope: un application server per la realizzazione di CMF), che d'altro canto permette lo sviluppo di siti web particolarmente ricchi e funzionali separando nettamente la logica del servizio dagli aspetti grafici che possono essere sviluppati da persone indipendenti che non hanno più l'obbligo di produrre file opportunamente formattati. Ora che il modello implementativo è definito puoi passare allo studio dei diagrammi delle classi per analizzare le dipendenze tra i pacchetti software che dovrai installare. |
||
Home - Metodologia - Soluzioni - How To
|