Le risorse
Transcript
Le risorse
Lezione 3 – Progettazione di siti Ingegneria dei Processi Aziendali Modulo 1 – Servizi Web Unità didattica 1 – Protocolli Web Ernesto Damiani Università di Milano Elementi base della progettazione di servizi Web 1. Risorse: elementi basilari del Web 2. URL: identificano ogni risorsa 3. Tipi di contenuto: adattabilità e sopravvivenza sul Web 4. Scambio di informazioni: scambio di documenti non di argomenti 5. Link: connessioni, non incapsulamenti 6. Payload e protocollo: le corrette informazioni nel posto giusto 7. Punti di vista: informazioni da ogni prospettiva e in ogni direzione Le risorse • Le risorse sono gli elementi costitutivi del Web • Ogni attività sul Web è una CRUD sulle risorse (Creating, Retrieving, Updating e Deleting) • Una risorsa è un’entità concettuale – Tutto ciò non riguarda, però, i servizi Web, bensì le informazioni, perché un servizio web è solo un mezzo per ottenere una risorsa Informazioni e risorse • Come le informazioni, anche le risorse sono elementi concettuali astratti “rappresentati” concretamente in forme diverse • Mentre le informazioni sono rappresentate sotto forma di testo, audio e immagini, le risorse sono rappresentate nei formati HTML, XML e MP3 Identificazione delle risorse • L’aeroporto Malpensa (MXP) ha questi aeroplani (numero di coda): FX12 and BA99. FX12 percorre questa rotta: MXP-LAX. BA99 percorre questa rotta: MXP-ALT • Le risorse sono: – Aeroporto Malpensa, MXP – Aeroplano con numero di coda FX12 – Aeroplano con numero di coda BA99 – Rotta MXP-LAX – Rotta MXP-ALT Risorse dell’aeroporto Malpensa URL e identificazione delle risorse • Il Web è tutto per le risorse. Se non si conosce l’indirizzo di una risorsa, la risorsa non serve a nulla! • Legge delle risorse: ogni risorsa deve essere identificata con un URL – Questa legge è fondamentale per il Web che Tim BernersLee ( direttore del W3C) chiama Assioma 0 del Web Design • Vantaggi: – Le risorse raggiungibili singolarmente sono individuabili tramite motori di ricerca (ad esempio Google) – Le singole risorse possono avere metadati individualizzati per la catalogazione Assioma 0 del Web Design Assioma 0: tutte le risorse sul Web devono essere univocamente identificate con un URL • Identificazione delle risorse dell’aeroporto tramite URL Tipi di contenuto (1) • In natura, la varietà genera adattamento il che significa sopravvivenza • Molti tipi diversi di client usano il Web e richiedono informazioni “rappresentate” in modo diversi • Le rappresentazioni vengono espresse attraverso il tipo di contenuto (MIME) – HTML, GIF, JPEG, XML, MP3, MPEG, SVG, Testo, CSS, SOAP Tipi di contenuto (2) • Un servizio Web vive in un ecosistema servendo molti tipi diversi di client, quindi deve funzionare con informazioni rappresentate in un modo che va bene per tutti • Più tipi di contenuto offre un servizio Web e più client possono utilizzare il servizio – (Un servizio Web che offre solo un tipo di contenuto è destinato all’estinzione) Risorse e rappresentazioni • Una risorsa è un’entità concettuale, ma i contenuti con cui si lavora sono reali • Se si assegna un URL a una risorsa questa dà come ritorno una (reale) rappresentazione • Il potere del Web viene dalla navigazione attraverso risorse concettuali ma lavorando con rappresentazioni reali Esempio di risorsa e rappresentazione (1) Esempio di risorsa e rappresentazione (2) • Il client invoca una risorsa Web immettendo il suo identificatore (URL) • Viene restituita una rappresentazione della risorsa (in questo caso come un documento HTML) • Il tipo di contenuto (MIME) che la risorsa dovrebbe restituire si basa dinamicamente sulle capacità o sui desideri del destinatario e la natura della risorsa Tipi di contenuto (MIME) • Ci sono oltre 350 tipi di contenuto Scambio di informazioni • Il Web è un nuovo ambiente di programmazione • La sfida del Web è pensare in termini di scambio di informazioni con le risorse • Sul Web si lavora con risorse sotto forma di documenti con specifici tipi di contenuto • I principi che sono alla base della scalabilità del Web impongono che i documenti evitino informazioni specifiche per l’elaborazione desiderata, il servizio di destinazione o altri dettagli di implementazione Attraversamento del ponte (1) Attraversamento del ponte (2) • La programmazione strutturata ci ha insegnato di scomporre un problema in unità di codice logiche (subroutine) • OOP ha introdotto la manipolazione di oggetti al posto delle unità di codice Accoppiamento e accoppiamento lasco (1) Accoppiamento e accoppiamento lasco (2) • Contiene informazioni specifiche del processo – ad esempio, il nome della subroutine • Lega il client al servizio Web • Contaminato dall’esperienza precedente con programmazione OO e strutturata Accoppiamento e accoppiamento lasco (3) Accoppiamento e accoppiamento lasco (4) • Documenti liberi da informazioni specifiche dell’elaborazione – Client e server possono evolvere indipendentemente – Il documento (dati) può essere usato da altri servizi – Il documento (dati) può essere usato in modi imprevisti Link • I link consentono una rete di informazioni scalabile in modo lasco • I link facilitano lo scambio veloce e rapido di informazioni • I cambiamenti al contenuto del documento si propagano istantaneamente a qualsiasi altro documento che faccia riferimento a esso • Le relazioni implicate dai link sono esse stesse informazioni • I link non incorporano informazioni ma collegano a esse Link al carburante e alla manutenzione Il paradigma del Web è una rete di informazioni, quindi la rappresentazione non incorpora i dati relativi al carburante e alla manutenzione, ma collega a essi • Payload e protocollo (le giuste informazioni al posto giusto) • Il payload è il corpo del messaggio ed è specifico della transazione • Il protocollo è l’header del messaggio e contiene le informazioni generali per il trasporto • In base al progetto, nel payload le informazioni sono nascoste – Nel payload si dovrebbero inserire le informazioni specifiche dell’applicazione • In base al progetto, nell’header le informazioni sono tutte visibili – In generale, nell’header si dovrebbero inserire le informazioni applicabili al Web Terminologia: header e payload Vantaggi • Il Web non ha né una prima né un’ultima pagina, non ha paragrafi e nemmeno capitoli – offre tantissime informazioni e consente di saltare da una all’altra L’utente arriva in un sito Web, esamina i link e poi ne sceglie uno che definirà il punto di vista e il principio organizzativo • • A differenza delle tassonomie che definiscono singoli punti di vista, il Web include molte organizzazioni di informazioni • Progettare risorse di informazioni non vuol dire decidere la giusta gerarchia o organizzazione, ma assicurare che i link esistano per tutti i rapporti significativi tra singoli elementi informativi Punto di vista del personale a terra dell’aeroporto Punto di vista del pilota I link consentono entrambi i punti di vista! Link e modello mentale dell’utente • Supponendo che l’utente sia un membro del personale a terra dell’aeroporto e che il suo modello mentale sia che un aeroplano percorra una determinata rotta, nelle informazioni relative ad una rotta può essere tentato di fornire dati relativi a quella rotta, ma non deve farlo! Deve inserire un link all’aeroplano che percorre la rotta e questo supporterà altri modelli mentali, ad esempio, quelli dei piloti FINE