cerca
TemiEsameTW13
modifica cronologia stampa login logout

Wiki

UniCrema


Materie per semestre

Materie per anno

Materie per laurea


Help

Return to Temi Esame TW 13  (Edit)

Uni.TemiEsameTW13 History

Hide minor edits - Show changes to output

Added lines 122-123:

NOTA: vedi esame 15/07/2008 per soluzione più precisa e completa.
Changed line 242 from:
for (int i=0; i<strings.lenght; i++) { %>
to:
for (int i=0; i<strings.length; i++) { %>
Changed lines 126-127 from:
'''2-''' restituisce Bob, preso dai due last-name dell'elemento "author", non dell'elemento "publication"
to:
'''2-''' restituisce gli elementi figli di book col nome "last-name", in questo caso entrambi valgono Bob, quindi preso dai due last-name dell'elemento "author", non dell'elemento "publication"
Changed lines 134-138 from:
'''6-'''

to:
'''6-''' restituisce l'elemento figlio "last-name" di author
Changed lines 141-142 from:
%warning%'''WARNING'''\\
Manca soluzione
to:
* bookstore/book/node()
* bookstore/magazine/@style
* bookstore/book/author/award
Added line 63:
Changed lines 85-95 from:
<book style="novel" id="myfave">
<author>
<first-name>Toni</first-name>
<last-name>Bob</last-name>
<degree from="Trenton U">B.A.</degree>
<degree from="Harvard">Ph.D.</degree>
<award>Pulitzer</award>
<publication>Still in Trenton</publication>
<publication>Trenton Forever</publication>
</author>
<price intl="Canada" exchange="0.7">6.50</price>
to:
<book style="novel" id="myfave">
<author>
<first-name>Toni</first-name>
<last-name>Bob</last-name>
<degree from="Trenton U">B.A.</degree>
<degree from="Harvard">Ph.D.</degree>
<award>Pulitzer</award>
<publication>Still in Trenton</publication>
<publication>Trenton Forever</publication>
</author>
<price intl="Canada" exchange="0.7">6.50</price>
Added line 107:
Added lines 122-137:

'''1-''' Restituisce il secondo libro perché è l'unico con l'attributo style uguale all'attributo specialty(entrambi valgono "novel")\\
book[2]

'''2-''' restituisce Bob, preso dai due last-name dell'elemento "author", non dell'elemento "publication"

'''3-''' corrisponde a tutti i nodi degli attributi, quindi restituisce tutti gli attributi presenti nel documento

'''4-''' mmm non so perché l'ho messo

'''5-''' restituisce l'ultimo elemento figlio che fa parte dell'elemento "author", quindi in questo caso "publication"

'''6-'''

Added line 61:
Changed lines 63-77 from:
<book style="textbook">
<author>
<first-name>Mary</first-name>
<last-name>Bob</last-name>
<publication>Selected Short Stories of
<first-name>Mary</first-name>
<last-name>Bob</last-name>
</publication>
</author>
<editor>
<first-name>Britney</first-name>
<last-name>Bob</last-name>
</editor>
<price>55</price>
</book>
to:
<book style="textbook">
<author>
<first-name>Mary</first-name>
<last-name>Bob</last-name>
<publication>Selected Short Stories of
<first-name>Mary</first-name>
<last-name>Bob</last-name>
</publication>
</author>
<editor>
<first-name>Britney</first-name>
<last-name>Bob</last-name>
</editor>
<price>55</price>
</book>
Changed lines 80-81 from:
<price>2.50</price>
<subscription price="24" per="year"/>
to:
<price>2.50</price>
<subscription price="24" per="year"/>
Added line 83:
Changed lines 85-105 from:
<author>
<first-name>Toni</first-name>
<last-name>Bob</last-name>
<degree from="Trenton U">B.A.</degree>
<degree from="Harvard">Ph.D.</degree>
<award>Pulitzer</award>
<publication>Still in Trenton</publication>
<publication>Trenton Forever
</publication>
</author>
<price intl="Canada" exchange="0.7">6.50
</price>
<excerpt>
<p>It was a dark and stormy night
.</p>
<p>But then all nights in Trenton seem dark and
stormy to someone who has gone through what
<emph>I</emph> have.</p>
<definition-list>
<term>
Trenton</term>
<definition>misery</definition>
</definition-list>
</excerpt>
</book>
to:
<author>
<first-name>Toni</first-name>
<last-name>Bob</last-name>
<degree from="Trenton U">B.A.</degree>
<degree from="Harvard">Ph.D.</degree>
<award>Pulitzer</award>
<publication>Still in Trenton</publication>
<publication>Trenton Forever</publication>
</author>
<price intl="Canada" exchange="0.7">6.50</price>
<excerpt>
<p>It was a
dark and stormy night.</p>
<p>But then all nights in
Trenton seem dark and
stormy to someone who has gone through what
<emph>I</emph> have.</p>
<definition-list>
<term>Trenton</term>
<definition>misery</definition>
</definition-list>
</excerpt>
</book>
Changed lines 13-15 from:
xmlns:ns="http://bpms.intalio.com/FirstProcess/Time"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
to:
xmlns:ns="http://bpms.intalio.com/FirstProcess/Time"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
Changed lines 18-22 from:
<xs:complexType>
<xs:sequence>
<xs:element name="city" type="xs:string"/>
</xs:sequence>
</xs:complexType>
to:
<xs:complexType>
<xs:sequence>
<xs:element name="city" type="xs:string"/>
</xs:sequence>
</xs:complexType>
Added line 24:
Changed lines 26-31 from:
<xs:complexType>
<xs:sequence>
<xs:element name="UTCTime" type="xs:string"/>
<xs:element name
="cityTime" type="xs:string"/>
</xs:sequence>
</xs:complexType>
to:
<xs:complexType>
<xs:sequence>
<xs:element name="UTCTime" type="xs:string"/>
<
xs:element name="cityTime" type="xs:string"/>
</xs:sequence>
</xs:complexType>
Added lines 102-105:
@]
>><<

[@
Deleted line 112:
>><<
Deleted lines 36-37:
'''1.b Descrivete in linguaggio naturale il significato di quanto espresso nel documento.'''\\\
Changed lines 39-40 from:
%warning%'''WARNING'''\\
Manca soluzione
to:
E' uno schema XML. Gli schemi XML sono un miglioramento dei DTD con lo scopo quindi di definire la struttura di un documento XML e i tipi di dati. Uno schema definisce:
* gli ''elementi'' che possono apparire in un documento
* gli ''attributi'' che possono apparire in un documento
* le ''relazioni'' tra elementi padre-figlio
* l'''ordine'' degli elementi
* il ''numero'' degli elementi

'''1.b Descrivete in linguaggio naturale il significato di quanto espresso nel documento.'''\\\

%red%[-'''SOLUZIONE'''-]

Questo schema è per un document XML che restituisce l'ora esatta andandola a prendere da un sito (http://bpms.intalio.com/FirstProcess/Time) e visualizzando a video il risultato.
Changed lines 197-199 from:
%warning%'''WARNING'''\\
Manca soluzione
to:
>>left bgcolor=#f5f9fc width=auto border='2px solid #cccccc' padding=5px<<
[@
<html>
<head>
<title> Stringhe </title>
</head>
<body>
<%
String [] strings=new String[3];
strings[0]= “gli”;
strings[1]= “amici”;
strings[2]= “swappa”;
for (int i=0; i<strings.lenght; i++) { %>
String[<%= i %>] = <%=strings[i] %> <br>
<% } %>
</body>
</html>
@]
>><<
Added lines 41-43:
%warning%'''WARNING'''\\
Manca soluzione
Added lines 109-111:
%warning%'''WARNING'''\\
Manca soluzione
Added lines 197-199:

%warning%'''WARNING'''\\
Manca soluzione
Added lines 127-133:

La globalizzazione di Internet ha proposto il problema di rendere correttamente gli alfabeti di migliaia di lingue nel mondo.\\
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.
Come trasmettere un messaggio con uno strumento in grado di trasmettere solo punti e linee? Ovviamente è necessaria una codifica: ad ogni carattere associamo un numero che trasmettiamo o, nel nostro caso, memorizziamo.\\
Una codifica che si affermò in modo universale fu quella standard ASCII (1963), che comprendeva 128 caratteri (7 bits) tra cui alcuni caratteri di controllo che erano utilizzati per le trasmissioni e la gestione del terminale. 128 caratteri non sono molti ma erano sufficienti per codificare la lingua inglese che non usa le lettere accentate.\\
Per permettere la codifica di lingue che utilizzano molti caratteri accentati lo standard ASCII fu esteso a 8 bits.\\
Per semplificare le comunicazioni nell'era dell'informatizzazione globale è stata introdotta una codifica detta UNICODE in cui si arrivano ad utilizzare fino a 32 bits per carattere: è possibile rappresentare anche tutti gli ideogrammi cinesi.
Added lines 111-122:

'''DOM (Document Object Model)''': definisce interfacce, proprietà e metodi per manipolare documenti XML.\\
'''SAX (Simple API for XML)''': è un’interfaccia per leggere e manipolare file XML (quindi è un'API basata su eventi per il parsing di documenti XML).\\\

Differenze:
* modalità di interazione tra le API(Application Programming Interface) e l’applicazione che ne fa uso.

In '''DOM''' è indispensabile leggere e sottoporre a parsing tutto il documento prima che il relativo modello a oggetti possa essere messo a disposizione di un'applicazione DOM. Ciò comporta che l'intero documento venga mantenuto in memoria e questo provoca un overhead non indifferente. Questo aspetto rende DOM poco adatto per applicazioni di trasformazione di documenti o per applicazioni che richiedano il parsing incrementale dei dati, come i protocolli di comunicazione e scambio di messaggi. DOM infatti non fornisce alcun supporto esplicito per effettuare il parsing di documenti o la serializzazione di nuovi documenti verso dispositivi di memorizzazione esterni.\\\

In '''SAX''' ogni volta che il parser incontra un tag iniziale, un tag finale, dei dati di tipo carattere oppure un'istruzione di elaborazione, lo comunica direttamente al programma client, di conseguenza non bisogna aspettare che l'intero documento venga letto prima di poter agire sui dati presenti all'inizio del documento, perché il documento stesso viene passato al programma pezzo per pezzo, dall'inizio alla fine. Quindi non è necessario che l'intero documento risieda in memoria (cosa che invece avviene con DOM).\\
Questo comporta - memoria, - tempo di caricamento, + tempo per singolo accesso.
Added lines 121-130:

CGI (Common Gateway Interface) è un’interfaccia standard che permette ad un web server di comunicare con altre applicazioni e programmi autonomi.\\
''Funzionamento'':
# Il client esegue una richiesta al web server.
# Il web server passa la richiesta ad un programma esterno.
# Il programma esterno riceve la richiesta, crea contenuti dinamici che tramite il server vengono inviati al client.
'''Problemi''':
# Vengono mischiate presentazione e logica: formato scomodo sia per gli sviluppatori che per i programmatori.
# Velocità: ad ogni richiesta del client, il server deve inoltrare questa richiesta al programma CGI che nel frattempo era stato chiuso (CGI stateless).
# Ad ogni richiesta di risorsa alla CGI, il web server crea un nuovo processo à spreco di risorse.
Added lines 127-144:

I Cookie sono dei file di testo non interpretabili lasciati in consegna ad un client che può grazie ad essi mantenere lo stato di precedenti connessioni.\\
Alla prima richiesta di un client, il server fornisce la risposta più un header aggiuntivo, il cookie, con dati arbitrari, e con la specifica di usarlo per ogni successiva richiesta.\\
Prima di effettuare ogni richiesta al server, il client verifica se ha sul suo disco un cookie di quel server; se lo trova ne copia il contenuto nell'header della richiesta HTTP.\\
In sostanza i cookie permettono di simulare una sessione.

Attach:TW09Ex4.jpg

Esempi di campi contenuti in un cookie:\\
''Comment'': una stringa leggibile di descrizione del cookie.\\
''Domain'': il dominio per cui il cookie è valido.\\
''Max-Age'': la durata di validità del cookie in secondi.\\
''Path'': l'URI per il quale il cookie è valido.\\
''Secure'': la richiesta che il client contatti il server usando soltanto un meccanismo sicuro(HTTPS).\\
''Version'': la versione della specifica a cui il cookie aderisce.\\\\

Lo svantaggio dei cookie è che possono portare ad una violazione della privacy e, nel caso si riuscisse a leggere i cookie di un determinato utente, provocare spamming.\\
''Nota'': i cookie essendo file di testo non possono essere portatori di virus, perché non possono essere eseguiti, cosa necessaria per qualsiasi codice dannoso.
Added lines 38-39:

%red%[-'''SOLUZIONE'''-]
Added lines 1-144:
[[Torna alla pagina di Tecnologie Web -> TecnologieWeb]]
----

%titolo%''':: Appello d'esame di Tecnologie Web - 14/01/2009 ::'''

!!Esercizio 1
'''Considerando il seguente documento XML:'''
>>left bgcolor=#f5f9fc width=auto border='2px solid #cccccc' padding=5px<<

[@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema targetNamespace="http://bpms.intalio.com/FirstProcess/Time"
xmlns:ns="http://bpms.intalio.com/FirstProcess/Time"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xs:element name="TimeRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="city" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="TimeResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="UTCTime" type="xs:string"/>
<xs:element name="cityTime" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
@]
>><<

'''1a. Definite il tipo di documento.'''\\\

'''1.b Descrivete in linguaggio naturale il significato di quanto espresso nel documento.'''\\\

!!Esercizio 2
'''Considerate la seguente istanza XML e le espressioni Xpath sottostanti:'''
>>left bgcolor=#f5f9fc width=auto border='2px solid #cccccc' padding=5px<<

[@
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="myfile.xsl" ?>
<bookstore specialty="novel">
<book style="textbook">
<author>
<first-name>Mary</first-name>
<last-name>Bob</last-name>
<publication>Selected Short Stories of
<first-name>Mary</first-name>
<last-name>Bob</last-name>
</publication>
</author>
<editor>
<first-name>Britney</first-name>
<last-name>Bob</last-name>
</editor>
<price>55</price>
</book>
<magazine style="glossy" frequency="monthly">
<price>2.50</price>
<subscription price="24" per="year"/>
</magazine>
<book style="novel" id="myfave">
<author>
<first-name>Toni</first-name>
<last-name>Bob</last-name>
<degree from="Trenton U">B.A.</degree>
<degree from="Harvard">Ph.D.</degree>
<award>Pulitzer</award>
<publication>Still in Trenton</publication>
<publication>Trenton Forever</publication>
</author>
<price intl="Canada" exchange="0.7">6.50</price>
<excerpt>
<p>It was a dark and stormy night.</p>
<p>But then all nights in Trenton seem dark and
stormy to someone who has gone through what
<emph>I</emph> have.</p>
<definition-list>
<term>Trenton</term>
<definition>misery</definition>
</definition-list>
</excerpt>
</book>
</bookstore>
Xpath1: book[/bookstore/@specialty=@style]
Xpath2: book/*/last-name
Xpath3: @*
Xpath4: my:book
Xpath5: book/author[last()]
Xpath6: author[* = "Bob"]
@]
>><<

'''2a. Listate per ogni espressione Xpath i nodi XML ritornati.'''\\\

'''2b. Scrivete un tipo di espressione Xpath non proposta nell’esercizio.'''\\\

%red%[-'''SOLUZIONE'''-]

!!Esercizio 3

'''3a. Spiegate la differenza tra i due più diffusi parser XML: SAX e DOM.'''\\\

%red%[-'''SOLUZIONE'''-]

'''3b. Spiegate brevemente i problemi legati alla codifica dei caratteri dei formati di testo.'''\\\

%red%[-'''SOLUZIONE'''-]

!!Esercizio 4

'''CGI: cosa sono, come funzionano, problemi.'''\\\

%red%[-'''SOLUZIONE'''-]

!!Esercizio 5

'''Cookies: cosa sono, vantaggi e svantaggi.'''\\\

%red%[-'''SOLUZIONE'''-]

!!Esercizio 6
'''Scrivere un esempio di codice JSP in cui viene dichiarato e inizializzato un array di stringhe (String) di dimensione fissata. Il codice deve poi stampare a video il contenuto dell’array, specificando la posizione della stringa nell’array e il contenuto. Spiegare quali elementi di script sono stati utilizzati.'''

[@
<html>
<head>
<title> Esercizio 6 <\title>
<\head>
<body>
<%-- dichiarazione e inizializzazione dell’array--%>
<%-- stampa--%>
<\body>
<\html>
@]

%red%[-'''SOLUZIONE'''-]

----
[[Torna alla pagina di Tecnologie Web -> TecnologieWeb]]