Torna alla pagina di Tecnologie Web
:: Appello d'esame di Tecnologie Web - ??? ::
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.
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.
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.
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).
CLIENT | SERVER |
---|---|
forenisce un'interfaccia grafica per ricevere richieste di servizio dall'utente | risponde alle richieste del client (anche più di uno) |
prepara le richieste per i processi servitori | comunica con altri server |
analizza i risultati inviati dal server | contiene codice che assicuri la privacy |
vantaggi
svantaggio
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:
vantaggi
svantaggi
3. MODELLO A STRATI: sistema multilivello che comprende più di un server (il carico di elaborazione del singolo server è limitato). Modello a 3 livelli:
Nel livello di applicazione troviamo i server di applicazione che supportano le esigenze dei client di varia natura, ad esempio:
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:
L'architettura del web service è basata su 3 entità:
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:
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.
un elemento inline:
un elemento di block:
Gli obbiettivi erano di concentrarsi sulla struttura, sull'usabilità e sull'internazionalizzazione.
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.