cerca
DomVarie
modifica cronologia stampa login logout

Wiki

UniCrema


Materie per semestre

Materie per anno

Materie per laurea


Help

Dom Varie

Torna alla pagina di Tecnologie Web


 :: Appello d'esame di Tecnologie Web - ??? ::

1. Spiegate cos'è un selettore CSS e come potrebbe essere usato per ottenere informazioni diverse di medesimi elementi XHTML

I CSS sono fogli di stile a cascata (cascate style sheets) che permettono di separare contenuto e presentazione. Un selettore CSS fa parte delle regole del foglio di stile e può essere quasiasi tag oppure un insieme di tag.

2. Spiegate cos'è la codifica UTF e con quali scopi fu introdotta

Lo standard Unicode definisce 3 codifiche (UTF-8, 16 e 32). Queste codifiche consentono ad uno stesso dato di essere trasferito utilizzando un vocabolario basato su 1,2 o 4 byte.

  • UTF-8: molto utilizzato nel Web, mantiene la stessa codifica dei caratteri ASCII quindi può essere utilizzato anche su vecchie applicazioni
  • UTF-16: utilizzato quando si vuole bilanciare l'uso della memoria con la velocità di accesso ai dati, i caratteri sono codificati da una coppia di byte
  • UTF-32: utilizzato quando non si hanno problemi di memoria o per vocaboli poco frequenti, ogni carattere è codificato da 4 byte

E' stato introdotto per permettere che il criterio di associazione di un blocco di bit ad un carattere di un alfabeto non sia ambiguo. Infatti prima alfabeti diversi avevano codifiche diverse.

3. Tipi di architetture web?

1. CLIENT - SERVER: il client accede ai servizi e alle risorse del server. L'infomazione, centralizzata nei server viene distribuita in rete ai client: si ha così una combinanzione di una parte (client) che interagisce con l'utente e di un'altra che interagisce con le risorse condivise (server).

Funzioni
CLIENTSERVER
forenisce un'interfaccia grafica per ricevere richieste di servizio dall'utenterisponde alle richieste del client (anche più di uno)
prepara le richieste per i processi servitoricomunica con altri server
analizza i risultati inviati dal servercontiene codice che assicuri la privacy

vantaggi

  • modularità: sw client e server realizzati e modificati in modo indipendente
  • scalabilità: stesse prestazioni variando le condizioni di lavoro
  • miglior sicurezza

svantaggio

  • informazione centralizzata: il deposito dati può essere costoso da realizzare e mantenere

2. PEER TO PEER: ogni utente (peer) è un partecipante con gli stessi diritti e obblighi di ogni altro. L'idea è che gli utenti possiedano sia l'informazione sia il controllo, assenti perciò computer che controllino gli altri o siano in possesso di liste di identificatori di nodi o utenti. I nodi sono altamente dinamici e autonomi (ogni nodo può entrare e uscire quando vuole) e c'è ridondanza di informazioni. Ci sono 2 tipi di P2P:

  1. Puro: tutti i nodi sono davvero ugualmente importanti e ogni peer può funzionare come client, router o server
  2. Ibrido: esiste un supernodo con funzioni diverse dagli altri nodi o addirittura un server che va a raccogliere le informazioni. All'inizio infatti comunico al server chi sono e quali informazioni voglio passare, successivamente non passerò più per il server ma la sua funzione sarà sempre qella di ottimizzare la funzionalità tra nodi diversi siccome sa che informazioni hanno tutti.

vantaggi

  • migliorare la scalabilità: non viene sovraccaricato un solo server con tutte le richieste dei client
  • aumentare la persistenza e la disponibilità delle risorse: c'è infatti ridondanza di informazioni
  • aumentare anonimato

svantaggi

  • sicurezza: garantire autenticità e integrità delle risorse
  • possibile instabilità del sistema: troppo dinamismo tra nodi potrebbe influenzare le prestazioni

3. MODELLO A STRATI: sistema multilivello che comprende più di un server (il carico di elaborazione del singolo server è limitato). Modello a 3 livelli:

  1. livello di presentazione: presenta l'applicazione all'utente finale
  2. livello di applicazione: funzionamento vero e proprio dell'applicazione elaborazione e uso dei dati
  3. livello dei dati: gestione dei dati server per la gestione dei dati e DBMS

Nel livello di applicazione troviamo i server di applicazione che supportano le esigenze dei client di varia natura, ad esempio:

  • gestione della posta elettronica
  • uso di una stessa linea di comunicazione da parte di più terminali
  • autenticazione dell'utente e dei suoi diritti di accesso ecc...

Un esempio di server di applicazione di questo tipo è il nostro amico il gatto Tom della tribù Apache o Apache Tomcat. Esso sviluppa applicazioni web basate su java: le pagine JSP contantono codice java all'interno di codice XHTML; quando il browser richiede una pagina JSP, Tomcat esegue codice java e viene generato dinamicamente il risultato. In questo caso server di applicazione = web server.

Tutto quello che abbiamo visto fino ad ora è a livello locale, ma volessimo far interagire il nostro server con altri server sul web? E se il nostro server utilizzasse un linguaggio diverso da quello di un altro server? Ecco che ci viengono in aiuto i web services.

Rappresentano una soluzione per permettere a sistemi eterogenei di lavorare insieme per realizzare il service oriented computing(programmazione con componenti distribuite sul web). Sono componenti software indipendenti dalla piattaforma e dall'implementazione: un client non può dire quale linguaggio, quale sistema operativo o tipo di computer è stato usato. Usando XML per codificare le comunicazioni, sono infatti indipendenti da piattaforme o linguaggi di programmazione: esso garantisce ricchezza espressiva, estendibilità, portabilità e facilità di comprensione. Inoltre possono essere validati da entrambe le parti che parti che comunicano. Possono essere:

  • descritti usando un linguaggio di descrizione del servizio (un web service deve descrivere se stesso: quali tipi di richieste può soddisfare, quali sono gli argomenti, quale il trasporto)
  • pubblicati in un registro di servizi per sapere dove è localizzato
  • invocati mediante un'API solitamente tramite la rete
  • composti con altri servizi e il servizio può a sua volta essere client di un altro servizio

L'architettura del web service è basata su 3 entità:

  1. service requestor: richiede l'esecuzione del web service
  2. service provider: implementa il servizio e lo rende disponibile per il web
  3. service registry: offre un servizio di pubblicazione e ricerca dei servizi disponibili

Perchè i web service funzionino, oltre ad esserci uno standard predefinito per tutti, deve esserci un modello di comunicazione uguale: un'architettura a stati, in cui ogni livello svolge compiti ben precisi: l'infrastruttura di base è internet con il protocollo HTTP, poi ci sono gli altri protocolli che permettono di svolgere altre funzioni:

- UDDI: servizio di directory pubblico e integrazione che accetta, registra e fornisce informazioni sui web services disponibili. Basati su XML, i registri UDDI forniscono info su servizi nuovi, stato di servizi particolari e disponibiiltà di servizi compatibili. Si basa su SOAP per la trasmissione dei messaggi. Senza UDDI due applicazioni possono comunicare solo se già si conoscono, conoscono i servizi offerti e la loro localizzazione. E' necessario un archivio per mermettere ai web service di rendere pubblica la loro presenza e renderli raggiungibili agli utenti.

- WSDL: standard che regola la descrizione dei servizi. Basato su XML definisce l'interfaccia e i meccanismi di accesso e di interazione verso un servizio. Cosa descrive WSDL? Ad esempio le operazioni (o metodi) forniti dal servizio; dettagli sui formati dei dati e sui protocolli necessari per accedere al servizio; dettagli sulla locazione dei servizio (ad esempio URL, indirizzo email). Per descrivere i web service utilizza dei documenti veri e propri formati da 7 elementi:
1 message (collezione di elementi tipati)
2 operation (scambio di messaggi)
3 portType (collezione di operation)
che forniscono una descrizione astratta e specifica l'insieme di messaggi di scambio per interagire col servizio;
4 type
5 binding
6 port
7 service
che forniscono una descrizione concreta e contiene i dettagli dell'interazione tra requestor e provider dipendenti dal protocollo di accesso al servizio.

- SOAP: protocollo basato su XML che permette la comunicazione tra componenti e applicazioni attraverso le intranet o intenet, indipendentemente dalla piattaforma con cui sono realizzate. Serve per scambiare dati ed invocare metodi su oggetti remoti usando un protocollo applicativo sottostante(HTTP, SMTP, FTP). Definisce:

  • la envelope (busta), cioè il modo di incapsulare i dati da scambiare fra host
  • le regole di codifica dei dati (vengono utilizzate le definizioni di XML schema)
  • come specificare il nome della procedura da chiamare, passare i parametri e ricevere la risposta (valore di ritorno)

L'obiettivo principale del suo utilizzo è limitare l'uso di soluzioni proprietarie che potrebbero essere legati a sw non indipendenti mentre lui usa lo standard HTTP, inoltre permette una facile manutenibilità ed aggiornamento. Ma è un protocollo senza stato e non gestisce la sicurezza.

4. Spiegate le differenze tra gli elementi inline e block.

un elemento inline:

  • Si dispone orizzontalmente in linea con il contenuto del suo contenitore
  • può contenere altri elementi solo di tipo inline
  • ha altezza e larghezza minimale in rapporto al suo contenuto
  • esempio: <span>, <a>,

un elemento di block:

  • forma un blocco e si dispone verticalmente sotto con una nuova linea, ha una linea vuota sotto e sopra
  • si possono impostare misure fisse con “width” e “height”
  • può contenere elementi inline e/o block
  • esempio: <div>,

5. Spiegate con quali motivazioni è stato proposto HTML5

Gli obbiettivi erano di concentrarsi sulla struttura, sull'usabilità e sull'internazionalizzazione.

6. Spiegate brevemente i problemi legati alla codifica dei caratteri dei formati di testo.

Il problema si pone per i dati scambiati dai protocolli, in quanto deve essere non ambiguo il criterio di associazione di un blocco di bit ad un carattere di un alfabeto.

7. Spiegare le principali novità introdotte da HTML 5

  • La sintassi non è più SGML, rimane XML nella versione X/HTML.
  • Introduzione di nuovi elementi: progress, summary, time, video, output …
  • Eliminazione di FONT e CENTER
  • FORM supporta i metodi PUT e DELETE

Torna alla pagina di Tecnologie Web