Mashup - Sustainability

  • View
    384

  • Download
    1

Embed Size (px)

DESCRIPTION

A mashup is a Web application that combines data from one or more sources into a single integrated tool. The goal of the project is the possibility to visualize sustainable restaurants on the territory.

Transcript

  • 1.P ROGETTO L AB . C OMPUTER GRAPHICS Raffaele De Amicis, Giuseppe Conti Debiasi Alberto 26/08/2009

2. 26/8/2009PROGETTO LAB. COMPUTER GRAPHICS Sommario Introduzione .......................................................................................................................... 2 Oggetti Utilizzati................................................................................................................... 2Fornitore ............................................................................................................................ 2Ristorante........................................................................................................................... 2Piatto .................................................................................................................................. 2Ingrediente ......................................................................................................................... 3 Servizi Esterni Coinvolti ....................................................................................................... 4http://maps.google.com/ ..................................................................................................... 4http://www.ip-adress.com/ ................................................................................................. 4http://www.paginegialle.it/ ................................................................................................ 5http://en.wikibooks.org/ ..................................................................................................... 5http://chuck-wright.com/.................................................................................................... 6 Gestione Database................................................................................................................. 7Struttura Database ........................................................................................................... 7 Informazioni sui fornitori .............................................................................................. 7 Informazioni sui ristoratori ........................................................................................... 7 Informazioni sui piatti ................................................................................................... 8 Informazioni sui prodotti ............................................................................................... 9Creazione Database ........................................................................................................... 9 Inserimento di Ristoranti e Fornitori............................................................................ 9 Inserimento di Piatti e Prodotti .................................................................................... 9 Creazione del Men e della lista Prodotti ..................................................................... 9 Aggiunta fornitori per ogni prodotto ............................................................................. 9 Ruoli Interni ........................................................................................................................ 10Ruolo Utente .................................................................................................................... 10Ruolo Ristoratore ............................................................................................................. 13Ruolo Fornitore ................................................................................................................ 16 Informazioni Ricavate ......................................................................................................... 18Prezzo ............................................................................................................................... 18Distanza ........................................................................................................................... 18Sostenibilit ..................................................................................................................... 191 3. 26/8/2009INTRODUZIONE Questo progetto riguarda in generale lalimentazione; ci sono tre parti coinvolte: Lutente: pu visualizzare un insieme di ristoranti secondo dei diversi criteri. Il ristoratore: pu visualizzare un insieme di fornitori secondo diversi criteri, pu assegnare fornitori agli ingredienti che compongono i suoi piatti, pu creare o modificare il proprio men. Il fornitore: pu creare la lista dei propri prodotti, pu a sua volta acquistare i prodotti da altri fornitori secondo diversi criteri. OGGETTI UTILIZZATI Gli oggetti in java che ho creato sono i seguenti:Fornitore Loggetto fornitore ha i seguenti attributi: Coordinate: latitudine , longitudine Nome Fornitore Indirizzo Fornitore Codice Postale Regione Telefono Lista Prodotti Ristorante Loggetto ristorante ha i seguenti attributi:Coordinate: latitudine , longitudine Nome Ristorante Indirizzo Ristorante Codice Postale Regione Telefono Men: lista piatti Lista IngredientiPiatto Loggetto piatto lelemento che compone il men del ristorante, ha i seguenti attributi:Nome Piatto Url: che corrisponde alla pagina di Wikipedia del piatto Lista ingredienti Prezzo 2 4. 26/8/2009 Ingrediente Loggetto ingrediente lelemento che compone un piatto, ha i seguenti attributi:Nome Ingrediente Prezzo Nome fornitore3 5. 26/8/2009SERVIZI ESTERNI COINVOLTI Questo progetto un Mashup di componenti, in seguito sono riportati i servizi internet che ho utilizzato.http://maps.google.com/ Ho utilizzato questo servizio per ricavare le informazioni riguardanti le coordinate di una carta localit. Oppure viceversa, cio date la longitudine e la latitudine viene restituita la localit. In seguito ho riportato un esempio: In questo esempio vengono restituite le coordinate di Trentohttp://www.ip-adress.com/ Quando lutente avvia il programma, questultimo utilizza il sito http://www.ip- adress.com/ per avere la posizione geografica calcolata dallindirizzo IP della macchina nella quale viene eseguito il programma. 4 6. 26/8/2009 Pagina web con lindirizzo IP e la rispettiva localizzazione geografica http://www.paginegialle.it/ Ho utilizzato questo servizio per avere le informazioni sui ristoranti e fornitori presenti nel Trentino. In questo esempio vengono restituiti i ristoranti presenti a Trento http://en.wikibooks.org/ Ho utilizzato questo servizio per avere un gran numero di pietanze con i rispettivi ingredienti.5 7. 26/8/2009In questo esempio vengono visualizzati una lista di piatti presenti in wikipedia. http://chuck-wright.com/ Ho utilizzato questo servizio per avere la formula utilizzata per calcolare il consumo di Co2. Ho preso il codice del sito scritto in javascript e ho riscritto la parte di codice relativa al consumo di Co2 in java. Ho utilizzato la prima parte della tabella; quella riguardante il consumo in auto6 8. 26/8/2009GESTIONE DATABASE Struttura Database Questo progetto utilizza i file .xml per salvare le informazioni.Il database diviso in 4 parti:Informazioni sui fornitori Ogni file contiene le informazioni di un fornitore, il nome del file composto dalle coordinate del fornitore (latitudine e longitudine). Il seguente schema mostra un fornitore salvato in un file xml.Esempio di un fornitore salvato in un file xmlAttualmente sono presenti nel database 168 fornitori.Informazioni sui ristoratori Ogni file contiene le informazioni di un ristorante, il nome del file composto dalle coordinate del ristorante (latitudine e longitudine). Il seguente schema mostra un ristorante salvato in un file xml.7 9. 26/8/2009Esempio di un ristorante salvato in un file xmlAttualmente sono presenti nel database 241 ristoranti.Informazioni sui piatti Ogni file contiene le informazioni di un piatto, il nome del file composto dal nome del piatto. Il seguente schema mostra un piatto salvato in un file xml.Esempio di un piatto salvato in file xml (Spaghetti alla carbonara)8 10. 26/8/2009 Attualmente sono presenti nel database 524 piatti.Informazioni sui prodotti Ogni file contiene le informazioni di un prodotto, il nome del file composto dal nome del prodotto. Il seguente schema mostra un prodotto salvato in un file xml.Esempio di un prodotto salvato in un file xmlAttualmente sono presenti nel database 666 prodotti. Creazione Database Poich il progetto coinvolge un gran numero di ristoranti, fornitori, piatti e prodotti ho creato un programma per la creazione del database. Ho seguito le seguenti fasi:Inserimento di Ristoranti e Fornitori Il progetto ha lo scopo di analizzare i prodotti in trentino quindi ho utilizzato http://www.paginegialle.it/ per avere i fornitori e i ristoranti presenti a Trento, Rovereto, Bolzano. Poi ho salvato i risultati nel database.Inserimento di Piatti e Prodotti Per avere un gran numero di piatti con i rispettivi ingredienti ho utilizzato http://en.wikibooks.org/. I prodotti invece sono tutti gli ingredienti che compongono i piatti trovati. Poi ho salvato i risultati nel database.Creazione del Men e della lista Prodotti Per ogni ristorante ho inserito in modo casuale 25 piatti con un prezzo che varia da 0.1 a 100 euro (generato casualmente).Per ogni fornitore ho inserito in modo casuale 150 prodotti con un prezzo che varia da 0.1 a 15 euro (generato casualmente).Aggiunta fornitori per ogni prodotto Per ogni prodotto appartenente ai fornitori viene assegnato il rispettivo fornitore con probabilit di 0.5.Se si assegna a un prodotto un fornitore, questultimo viene scelto casualmente tra i produttori che posseggono quel prodotto con un prezzo inferiore a quello del compratore. 9 11. 26/8/2009RUOLI INTERNI Quando il programma avviato, compare un questito; bisogna scegliere quale ruolo si ha: Finestra che appare quando si avvia il programmaRuolo Utente Lutente non pu modificare e/o salvare le informazioni presenti nel programma. Pu visualizzare i ristora