Dopo Natale puoi... Matteo Zignani. 20 dicembre 2013



Documenti analoghi
Master Quiz. Matteo Zignani. 18 agosto 2014

Questua: aste online social

Messaggi volatili. Matteo Zignani. 10 gennaio 2015

News sharing. Matteo Zignani. 21 dicembre 2013

Progetto Gennaio 2016

Progetto Gennaio 2013: Social Chat Internazionale

Progetto Febbraio Appello 1: Diffusione di tweets sul grafo di Twitter

Progetto Gennaio 2017

Influenza da browser

Sistema Informativo Gestione Fidelizzazione Clienti MANUALE D USO

Come si può vedere, la regola è stata fatta in modo da spostare tutti i messaggi di Spam nella cartella del cestino.

1. RETI INFORMATICHE CORSO DI LAUREA IN INGEGNERIA INFORMATICA SPECIFICHE DI PROGETTO A.A. 2013/ Lato client

Università degli Studi di L Aquila. Facoltà di Ingegneria. Corso di Laurea in Ingegneria Elettronica Corso di Sistemi Informativi

COMUNICAZIONE UTENTI SISTEMI-PROFIS INSTALLAZIONE GE.RI.CO e PARAMETRI2015

Sistema Gestionale FIPRO. Dott. Enea Belloni Ing. Andrea Montagnani

DENUNCE EDILCONNECT GUIDA COMPILAZIONE

flusso delle informazioni... 2 password... 3 password/ inserimento di una nuova richiesta... 4 le condizioni di vendita... 6

Guida alla registrazione on-line di un DataLogger

GESTIONE INCASSI SAGRA. Ver. 2.21

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.

GUIDA UTENTE PRIMA NOTA SEMPLICE

MANUALE UTENTE Fiscali Free

STUDIUM.UniCT Tutorial per gli studenti

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

Servizi Remoti. Servizi Remoti. TeamPortal Servizi Remoti

GUIDA ALL USO DEL PORTALE DI PRENOTAZIONE LIBRI ON LINE

Guida Compilazione Piani di Studio on-line

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

Manuale di Aggiornamento BOLLETTINO. Rel H4. DATALOG Soluzioni Integrate a 32 Bit

Manuale per i Fornitori

1) GESTIONE DELLE POSTAZIONI REMOTE

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

Guida al sistema. Dott. Enea Belloni

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste

RICHIESTE INTERVENTO

Contagion: il tuo amico è il vero nemico...etchi

MICHELANGELO Piattaforma autorizzativa per la gestione di interventi riservata ai fornitori

Il client deve stampare tutti gli eventuali errori che si possono verificare durante l esecuzione.

MANUALE PARCELLA FACILE PLUS INDICE

ELENCO CLIENTI FORNITORI Patch1

C.I.C. Centro Informazione e Consulenza. Guida all uso del registro elettronico

SOSEBI PAPERMAP2 MODULO WEB MANUALE DELL UTENTE

SOMMARIO Gruppo 4 - All right reserved 1

2. LOGIN E RECUPERO DATI DI ACCESSO

Portale tirocini. Manuale utente Per la gestione del Progetto Formativo

MAGAZZINO FISCALE (agg. alla rel )

GUIDA ALL UTILIZZO DEL PORTALE DELLA RETE DEI COMUNI OGLIO PO

M.U.T. Modulo Unico Telematico

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

PORTALE PASSPARTÙ Manuale dell utente VERSIONE 2.0. Copyright 2015 QUI! Group Spa

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

Tipi di utente Pagina di Accesso BUW prevede due tipi di utente

NAVIGAORA HOTSPOT. Manuale utente per la configurazione

Guida operativa. My Legal Corner. BestSoft SOFTWARE IN SANITÀ

Vittorio Veneto,

Il calcolo delle provvigioni con Excel

Manuale Utente Albo Pretorio GA

ISTRUZIONI SULLE OPERAZIONI DI CAMBIO ANNO CONTABILE 2005/2006 LIQUIDAZIONE IVA - STAMPA REGISTRI - CHIUSURA/APERTURA CONTI

Istruzioni Iscrizione Portale Stage e Placement per L Azienda

ANNO SCOLASTICO

SIAR - Versione

Valutazione della Didattica On-Line

PROGRAMMA GESTIONE TURNI MANUALE UTENTE. Programma Gestione Turni Manuale Utente versione 1.1

Angelo Gueli da Puntoedu.indire Corso sull uso delle Nuove Tecnologie 1

ACCESSO AL SISTEMA HELIOS...

Tutorial per l installazione del J2SE 6 e configurazione del sistema operativo

- DocFinance Manuale utente

Software Servizi Web UOGA

Università di Parma Facoltà di Ingegneria. Polo Tecnologico Nettuno

Manuale Utente. Gestione Richieste supporto Data Warehouse. Della Ragioneria Generale dello Stato. Versione 1.0. Roma, Ottobre 2015


Reti di Calcolatori. Il Livello delle Applicazioni

Entrare nel sistema. Clicca su Entra per entrare nel sistema. PAGINA 1

Guida all utilizzo di Moodle per gli studenti

Lezione 1 Introduzione

Il web server Apache Lezione n. 3. Introduzione

Manuale di istruzioni sulle maschere per il calcolo del punteggio e del voto (unico) degli studenti che sostengono la Prova nazionale 2011

Registratori di Cassa

Tutorial per il profilo utente REDATTORE

Progetto: ARPA Fonte Dati. ARPA Fonte Dati. Regione Toscana. Manuale Amministratore

Versioni x.7.9 Note Operative

SU Suap. IS357_03_01 Lettera aggiornamento SUAP vers Pagina 1 di 10

Manuale Operativo per l utilizzo della piattaforma E-Learning@AQ. Versione 1.1

filrbox Guida all uso dell interfaccia WEB Pag. 1 di 44

L unica linguaggi, consueti. domande e ambiti imprevisti o, comunque, diversi, in generale, da quelli più

Istruzione Operativa Richiesta di Offerta on-line in busta chiusa digitale

Gestione delle informazioni necessarie all attività di validazione degli studi di settore. Trasmissione degli esempi da valutare.

NOVITÀ SITI COMMERCIALISTA

Guida alla registrazione on-line di un NovaSun Log

COME FARE UNA RICHIESTA DI ASSISTENZA ON LINE (AOL)

Progetto di Ingegneria del Software 2. SWIMv2

Manuale d uso [Rev.1 del 07/08/2015] Manutenzione impianti termici Ver [05/01/2015]

VADEMECUM PER L ATTIVAZIONE DEL TIROCINIO (Studente e Azienda)

Omnia Web Timesheet. Manuale utente

Manuale d'uso. Manuale d'uso Primo utilizzo Generale Gestione conti Indici di fatturazione Aliquote...

REOL-Services Quick Reference Ver. 1.1 Tecno Press Srl. 1

Università Politecnica delle Marche. Progetto Didattico

Note di rilascio. Aggiornamento disponibile tramite Live Update a partire dal. Il supporto per Windows XP e Office 2003 è terminato

Cerca Compra Vendi. Guida passo per passo all utilizzo del sito

Analisi di una Rete Sociale

Transcript:

UNIVESITÁ DEGLI STUDI DI MILANO LAUREA TRIENNALE IN COMUNICAZIONE DIGITALE PROGETTO LABORATORIO DI RETI DI CALCOLATORI Dopo Natale puoi... Matteo Zignani 20 dicembre 2013 1 PRESENTAZIONE DEL PROBLEMA Il lascito del Natale è tanta felicità e tanti regali indesiderati fatti dai nostri parenti o amici; regali di una bruttezza e inutilità incorporabile. Questo fenomeno è la fortuna di molti siti di aste online, che dopo le festività vedono incrementare il numero di oggetti messi all asta in attesa che qualche cliente col gusto per l orrido faccia un offerta. Questo sistema delle aste ha un piccolo difetto, specialmente in queste occasioni: può capitare che un nostro amico tenti di acquistare un oggetto che lui stesso ci ha regalato. Il progetto che lo studente deve sviluppare tenta di risolvere questo inconveniente. In particolare il servizio da implementare prevede che un utente iscritto possa vendere un oggetto e garantisce che l oggetto non possa essere visualizzato e acquistato da uno dei suoi amici. Il servizio, quindi, deve gestire gli utenti connessi e la compravendita degli oggetti. Alla base dell architettura client/server su cui si fonda il progetto, abbiamo una rete sociale rappresentante le relazioni di amicizia tra gli utenti iscritti al nostro servizio. In generale il servizio permette di vendere e acquistare oggetti, solitamente frutto del Natale, senza offendere i nostri amici. L erogazione del servizio è garantita e gestita da una serie di API che il servizio stesso mette a disposizione. Le API e le modalità di richiesta delle stesse saranno descritte nella sezione successiva. Lo studente deve sviluppare solamente la parte server dell architettura descritta. Per quanto riguarda il client si possono utilizzare vari programmi per la fase di test: telnet (Linux e Mac), putty () o un qualsiasi browser facendo richieste a localhost:<portaserverinascolto>. Il server DEVE essere MULTITHREAD. 1

2 API Nelle seguenti sottosezioni vengono descritti il formato delle API e le risorse offerte dal server inerenti la gestione della social network e della compravendita di oggetti. 2.1 FORMATO DELLA RICHIESTA Il server riconosce come valide le richieste che seguono il protocollo HTTP. In particolare il server riconosce solo richieste con metodo di accesso di tipo GET. Per questo motivo lo studente NON deve implementare un server HTTP completo ma un suo piccolo sottoinsieme. Un esempio di possibile richiesta valida può essere: GET <URL Risorsa con eventuali parametri> HTTP/1.0 Il server deve verificare la validità della riga di intestazione e ignorare tutti i campi settati nella definizione dell header. Una volta rilevata la stringa vuota di terminazione della richiesta, il server deve eseguire l operazione richiesta dall URL e rispondere secondo il formato HTTP. Se la richiesta è andata a buon fine, il formato della risposta è: <messaggio> dove < messag g io > è un messaggio testuale che dipende dalla risorsa invocata. Nel caso di un qualsiasi errore il formato della risposta sarà: HTTP/1.0 400 ERRORE <messaggio> Anche in questo caso < messag g io > contiene un messaggio di errore dipendente dalla risorsa invocata. 2.2 LOGIN La risorsa login è stat eliminata dal progetto. Per indicare quale utente richiede la risorsa, ogni risorsa richiede un parametro aggiuntivo chiamato nomeu t ent e. 2.3 VENDITA DI UN OGGETTO Un utente nomeutente può vendere un oggetto utilizzando la risorsa vendi. La risorsa vendi accetta come nomi di parametri validi nomeog g et to e prezzo. Il primo indica il nome (stringa) dell oggetto da vendere mentre il secondo ne specifica il prezzo (numero intero). Un possibile esempio di richiesta di vendita valida è il seguente: 2

GET /vendi?nome=lampadaikea&prezzo=20&nomeutente=aldo /HTTP/1.0 Oggetto lampadaikea messa in vendita per 20 euro 2.4 ACQUISTI DISPONIBILI Un utente nomeu t ent e può visualizzare gli oggetti messi in vendita utilizzando la risorsa vedipr odot ti. La risorsa non prevede nessun parametro oltre a nomeutente. Si noti che la risorsa restituisce SOLO oggetti che sono stati messi in vendita dai NON-amici dell utente che effettua la richiesta. Per esempio se A e B sono amici e A vende una lampada, quest ultima non comparirà nella lista degli oggetti in vendita richiesta da B. Un possibile esempio di richiesta valida è il seguente: GET /vediprodotti?nomeutente=aldo /HTTP/1.0 lampadaikea 20 sediainfaggio 50 sopramobileinceramica dentieradellanonna 1500 Il corpo della risposta contiene una serie di linee di testo e ogni linea segue il formato < pr odot to >< spazio >< prezzo >. 2.5 COMPRARE UN OGGETTO Un utente nomeutente può comprare un oggetto utilizzando la risorsa compr a. Questa risorsa necessita dell argomento nome in cui si deve specificare il nome dell oggetto da comprare. Una volta che l oggetto è stato comprato non è più disponibile nella lista degli oggetti in vendita restituita dalla risorsa vedipr odot ti.un possibile esempio di richiesta di acquisto valida è la seguente: 3

GET /compra?nome=lampadaikea&nomeutente=aldo /HTTP/1.0 lampadaikea è tuo!!! 2.6 VENDITE EFFETTUATE Un utente nomeutente può verificare quali oggetti messi in vendita dall utente stesso sono stati venduti per mezzo della risorsa vediv endi te. La risorsa non prevede alcun parametro oltre a nomeutente. Si noti che la risorsa restituisce SOLO gli oggetti che sono stati messi in vendita dall utente loggato e successivamente venduti. Un possibile esempio di richiesta valida è il seguente: GET /vedivendite?nomeutente=aldo /HTTP/1.0 lampadaikea dentieradellanonna 1500 2.7 CREAZIONE DELLA SOCIAL NETWORK Per quanto riguarda la rete sociale che impone i vincoli sulla vendita, essa viene caricata al momento della creazione del servizio e non può essere modificato durante l esecuzione dello stesso. Il caricamento avviene per mezzo di un file chiamato listaamici.txt e che contiene una lista degli archi non orientati presenti nella rete sociale. Ogni riga del file rappresenta un arco e segue il formato: <nomeutente>-<nomeutente> dove < nomeutente > rappresenta un segnaposto (< e > non vanno inseriti). Lo studente deve prevedere una classe per il caricamento della social network da un file. Il file listaamici.txt si trova sul sito del corso di Reti come materiale di supporto al progetto. 4

3 MODALITÀ DI CONSEGNA Il progetto è individuale e verranno presi provvedimenti nel caso ci sia il sospetto di una eventuale copiatura. In particolare non verranno ammessi alla discussione del progetto e quindi saranno automaticamente esclusi dall appello quei progetti con almeno un file con indice di similarità superiore al 55% (moss, tool di Stanford). Questo per non incentivare progetti scritti singolarmente ma frutto di brain-storming troppo di gruppo. Il linguaggio da utilizzare per lo sviluppo è Java. Il codice del progetto e i relativi jar delle librerie utilizzate devono essere inviati al docente in una directory compressa (zip o tar.gz) denominata progettogennaio2014. La mail deve avere come oggetto ProgettoGennaio2014 e contenere nel corpo nome, cognome e numero di matricola dello studente. Il materiale deve essere consegnato entro le 23:59:59 del 09 gennaio 2014. Valgono tassativamente le seguenti regole: Il codice che non compila non verrà considerato I progetti consegnati dopo la data di consegna non saranno ritenuti validi Per essere considerato sufficiente e quindi ammissibile per la discussione, il progetto deve implementare correttamente tutte le funzioni precedentemente illustrate. Principali criteri di valutazione del codice: Gestione di possibili errori nell input da parte dell utente Modularità del codice e rispetto del paradigma ad oggetti Gestione oculata delle eccezioni Uso appropriato dei commenti Gestione e risoluzione di eventuali problematiche legate alla concorrenza sia lato client sia lato server Per chiarimenti, dubbi potete contattare il docente all indirizzo matteo.zignani@unimi.it, specificando come oggetto obbligatorio ProgettoReti. Eventuali modifiche al testo del progetto saranno comunicate sulla pagina web del corso. 5