Tesina Applicazioni Telematiche Quiz Multi-utente web-based Studenti: Pasquale Di Rienzo Bartolomeo Ovilio Roberto Pascale.

Slides:



Advertisements
Presentazioni simili
WSDL (Web Services Description Language) Laurea Magistrale in Informatica Reti 2 (2006/07) dott. Federico Paoloni
Advertisements

UDDI (Universal Description, Discovery and Integration Protocol) Laurea Magistrale in Informatica Reti 2 (2006/07) dott. Federico Paoloni
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
EJB Enterprise Java Beans B. Pernici. Approccio Java.
Model – View - Controller
Citrix Metaframe. Metaframe è la soluzione client-server prodotta dalla Citrix in grado di rendere disponibili applicazioni e desktop a qualsiasi dispositivo.
Players: 3 to 10, or teams. Aim of the game: find a name, starting with a specific letter, for each category. You need: internet connection laptop.
MIC 2008, Roma Antonio Pistoia Università Politecnica delle Marche MOODLELab Uno strumento per MOODLE per la gestione dei telelaboratori durante i corsi.
I modelli reticolari Rappresentano graficamente le procedure attraverso nodi e linee; 2. Ogni linea rappresenta unattività; 3. Su ogni linea è riportato.
Un esempio: Registrazione e lettura di dati in un file
Professional Users. Per poter lavorare sul Dizionario, bisogna registrarsi come Utente Professionale – Professional User (solo.
Comunicare con il computer. Posta elettronica2 La posta elettronica La posta elettronica, conosciuta come , abbreviazione del termine inglese electronic.
By Inter-Ware Soft. Tech. Introduzione all'uso del PC Massimo Sgambato.
Microsoft Access Maschere.
Muoversi tra le finestre
Sistema di gestione, documentazione di convegni, presentazioni multimediali.
JavaScript Lezione 5 Tipizzazione ed operazioni tra tipi diversi Istruzioni di input.
Microsoft Access Cosa sono i database, microsoft access, le relazioni e le tabelle.
PRIMI DISEGNI CON CABRI Realizzato da Daniel Bulgarini e Matteo Co CLASSE 2°C LICEO PASCAL MANERBIO.
CLASSE 2^ A settore chimico - biologico CASARANO (LE) a. s Il campeggio ……in verde! Progetto di Ricerca sulla Macchia mediterranea Realizzazione.
Primi passi con Windows: Gestione del Desktop Barra Applicazioni Menu Avvio ISTITUTO COMPRENSIVO N.7 - VIA VIVALDI - IMOLA Via Vivaldi, Imola.
Sito IntergruppoParma.it Nuovo Intergruppo Parma.
OR5 – Rete di trasmissione
SWARMBIT. Ecco cosa vi proponiamo: Maggiore privacy ; Presenza di un doppio profilo: - AGENDA, - BLOG; «Beeschat» Possibilità di interagire con chiunque.
I social commerce [Carpe diem]. I club dacquisto online I social coupon Gli e-tailer tradizionali I facebook shops Esempi di social commerce.
Personalizzazioni. Perché personalizzare Radio-Play Personalizzare Radio-Play permette al tuo brand di crescere e di diffondersi in modo gratuito e potenzialmente.
IL MODO MIGLIORE PER INCREMENTARE IL TUO BUSINESS.
I mille volti della formazione dalle-learning allemployergame Novembre 2012 I mille volti della formazione: dalle-learning allemployergame 4° Release Novembre.
1 Piattaforma di Facility Management Territoriale web 2.0 Segnalare problemi di non emergenza, Ricevere informazioni sul tuo quartiere.
Creare e gestire un sito Web scolastico P.O.N ITIS Marconi Nocera a.s
PORTE APERTE SUL WEB L'officina del webmaster: strumenti, materiali, iniziative, fonti di informazione, e poi perché costruire siti scolastici ? Laura.
Il Booking Engine Html di HermesHotels è studiato per permettere I-Frame sui siti degli Hotels. Disponibile anche in modalità Pop- Up https, simile.
Struttura Aziendale Arianna Montervino 4° A T.G.A A.S 2009/2010 Stage.
«Piazza Mercato» su La conveniente piattaforma pubblicitaria per i partner della campagna!
1 Web Design Internet Agency. 2 Web Design Internet Agency Qual è il valore aggiunto che può portare allimpresa ? Perché è fondamentale oggi avere un.
CI SIAMO! LA LAUREA SI AVVICINA DA DOVE COMINCIO? A cura del Servizio Tesi di Facoltà
Benvenuti nel marketplace dei macchinari per la deformazione della lamiera.
Presenta Progetto Hyper-Club. Hyper-code Via Domenico Mercante 6, Verona (VR) – Tel Cell mail. Chi.
1 SatWeb/Mobile Gestione delle Chiamate Intervento via Internet.
Per avviare la presentazione interattiva premi il pulsante CONTINUA
LA GESTIONE DELLE ATTIVITÀ COMMERCIALI
Share your feet in a heartbeat. Value proposition La caratteristica principale dellapplicazione Swarmbit è la condivisione di file che si contraddistingue.
Presenta Progetto Web Marketing 3.0. Hyper-code Via Domenico Mercante 6, Verona (VR) – Tel Cell mail.
Analisi del video: Come può essere così difficile? Dopo aver visto il documentario, sul sito
ESERCITAZIONI PRATICHE. INTRODUZIONE GENERALE: 1)TUTTI I VIDEO SONO REDATTI DIRETTAMENTE DALLO STAFF DI M & M SPORT LAB 2)SONO ESEGUITI DA SQUADRE CHE.
Tutorial relativo al Mio EBSCOhost. Benvenuti al tutorial dedicato a Mio EBSCOhost, verranno fornite le istruzioni per la configurazione e lutilizzo ottimizzato.
Modulo 1 bis Menù Incolla Esercitazione Un computer è quasi umano, a parte il fatto che non attribuisce i propri errori a un altro computer. (Anonimo)
TAQ Identità oggetto Contenuto Modalità di uso Nome oggetto: numero
Innovazioni versione 4 Bari, 17 ottobre Innovazioni versione 4 Il menù dinamico secondo logica operativa Il ruolo dei Ruoli Facilitare la scelta.
Moduli o Form I Moduli permettono all'utente di immettere informazioni...
Stefania Manca ITD-CNR Genova, 28 Aprile Il Web 2.0 costituisce un approccio filosofico alla rete che ne connota la dimensione sociale, della condivisione,
Istituto degli InnocentiRegione Molise C orso di formazione La comunicazione pubblica La redazione web Campobasso 12/13 Aprile 2004.
DMUX SDI (OUT VTR) AUDIO MIX AUDIO MIX VIDEO VIDEO Il sistema video digitale ( SDI ) contiene sia il video che l'audio, su un unico cavo video e il connettore.
Eldy Lombardia Associazione Eldy Onlus. Dalla piazza di Eldy si può: gestire posta elettronica navigare in Internet aggiornare il vostro profilo chattare.
CD-Easy Sito per la vendita on-line di CD audio. di Annunziato Tonnara Matr A.A. 2003/2004.
INTERNET Internet è una rete a livello mondiale che permette alle persone di comunicare ed ad accedere a banca dati da qualunque parte del mondo e su qualunque.
Gruppo 4: Gelmi Martina, Morelato Francesca, Parisi Elisa La mia scuola ha un sito Web: modelli per la qualità dei siti (Ingegneria del Web)
Prof. Pietro MASTROPIETRO MODELLO CLIENT-SERVER. prof. Pietro MASTROPIETRO Browser Richiesta pag1.htm INTERNET /INTRANE T SERVER WEB pag1.htm pag2.htm.
Sistema Informativo Demanio Idrico marzo Per aumentare lefficienza del servizio abbiamo realizzato un sistema in grado di gestire in modo integrato.
INTERNET Antonio Papa Classe 2^ beat I.S.I.S. G. Meroni a.s. 2007/2008.
Guida alla registrazione ILNarrastorie. Registrazione al sito Dovete registrarvi prima di poter iniziare a raccontare una favola andate QUI. Vi apparirà
System for Card DOCUMENTO PROGRAMMATICO SULLA SICUREZZA Presentazione del Servizio ASP di System for Card.
Hot Spot Vallicom Free Net Distribution Project FEDERFARMA - GENOVA Genova, Venerdì 29 Giugno 2012.
LE RETI E IL DDNS.
Attività Formativa Sviluppo di un WORKFLOW ENGINE di Dott. Riccardo Gasperoni Alessandro Caricato Gabriele Trabucco in collaborazione con Progesi S.p.A.
SoLo mobile client in depth: Mercato mobile, licenze, deploy, uso, features.
Customer Support Research & Development Come registrarsi ed entrare in......ITRC.
Corso di Web Services A A Domenico Rosaci Patterns di E-Business D. RosaciPatterns per l'e-Business.
Configurazione Router IR794- IG601
“Lenuove tecnologie” – Lezione2
Transcript della presentazione:

Tesina Applicazioni Telematiche Quiz Multi-utente web-based Studenti: Pasquale Di Rienzo Bartolomeo Ovilio Roberto Pascale

Analisi dei requisiti Obiettivo principale di questo progetto è lo sviluppo di unapplicativo (sia client che server) che realizzi un quiz multiutente. Oltre alla funzione di base si vuole offrire anche la possibilità di scambiare flussi multimediali in tempo reale (audio/video, testo). Non meno importante la possibilità di usufruire lato client dellapplicativo su una qualsiasi piattaforma e senza necessità di dover installare alcun programma.

Casi duso Lato client: Il client deve poter innanzitutto avere la possibilità di registrare un proprio account di gioco presso il server ed effettuare la procedura di login. Inoltre deve poter scegliere un proprio avatar che lo rappresenterà allinterno del gioco (immagine o video dalla web-cam) e deve poter decidere se condividere la propria voce. Una volta autenticato, lutente dovrà avere la possibilità di scegliere fra più stanze di gioco, e avere la possibilità di scambiare messaggi testuali. Lato server: Lamministratore del gioco dovrà avere la possibilità di configurare a suo piacimento alcune impostazioni di gioco: stanze, scelta numero di rounds, scelta numero di concorrenti per stanza. Inoltre deve avere la possibilità di gestire le impostazioni relative al database contenente le domande: aggiunta/rimozione domande, scelta tra almeno due diversi DBMS.

Casi duso: schermata iniziale gioco

Casi duso: dopo il login

Casi duso: amministratore

Tecnologie utilizzate(1/2) Adobe Flash Openfire Red5 Flash Server Protocolli in gioco HTTP XMPP RTMP

Tecnologie utilizzate(2/2) Per quanto riguarda il formato di scambio dei messaggi (sia per la chat, sia per il gioco) è stato scelto il protocollo XMPP, per via della sua facile estendibilità e della sua diffusione grazie alla quale è facile reperire tecnologie a suo supporto. Avendo fissato la scelta del protocollo, si è deciso di utilizzare Openfire per sviluppare lapplicativo lato server, che quindi ha assunto la forma di un plugin. Per la realizzazione della parte client dellapplicativo la scelta è ricaduta sulla tecnologia Flash di Adobe, largamente diffusa e ormai supportata da qualsiasi browser, eliminando la necessità di installazione del programma da parte degli utenti. Adobe ci ha anche fornito i mezzi per lo streaming audio/video mediante il protocollo RTMP, divenuto ormai uno standard de facto. Come server di streaming abbiamo optato per il server Red5, presente sotto forma di plugin per il server Openfire (non è stato quindi necessario installare due server diversi sulla stessa macchina).

Messaggi scambiati Come accennato è stato necessario estendere XMPP per introdurre messaggi ad hoc per la logica del gioco. Si è agito su due fronti: da una parte si sono usati i messaggi IQ per linterazione con il server di gioco, dallaltra si è deciso di estendere anche i messaggi di presenza introducendovi informazioni di stato prettamente relative al gioco. Le estensioni definite sono tre: Game: per i pacchetti IQ, relativi ai messaggi scambiati durante il gioco (invio domanda da parte del server, relativa risposta da parte del client, e richiesta di partecipare a una partita) GameInfo: per i pacchetti IQ, contenenti informazioni sul numero di stanze e sul numero di giocatori ivi presenti. GamePresence: per i pacchetti Presence, usati dai giocatori per scambiarsi informazioni di stato: scelta dellavatar utilizzato, stato di gioco (ready /not ready).

Esempio:GamePresence

Progettazione server-side Flash Client XMPP Game Handler GameInfo Handler GameMaster Game Database

Ruoli dei componenti server-side GameHandler: Questo componente si occupa di intercettare i pacchetti XMPP inviati dai client relativi al gioco. Al suo interno conserva riferimenti a oggetti di tipo GameMaster, svolgendo la funzione di dispatcher: ogni volta che riceve dei msg dai client, per una determinata stanza di gioco, si occuperà di inoltrarli al GameMaster responsabile. Inoltre inizializza la connessione al Database attraverso il componente GameData. GameMaster: Rappresenta il gestore della stanza di gioco. Esso viene eseguito come Thread, in modo che più GameMaster (e quindi più stanze di gioco) possono essere attivi contemporaneamente. Racchiude i metodi di gestione della logica del gioco, effettuando interazioni con il componente GameDatabase al fine di ottenere le domande da presentare ai client. GameDatabase: E il componente che rappresenta il wrapper del database utilizzato per immagazzinare le domande relative al quiz. Mette a disposizione dunque i metodi di connessione/disconnessione al database, e metodi per effettuare interrogazioni su di esso.

GameInfoHandler: Questo componente si occupa di intercettare i messaggi inviati dai client relativi alle richieste di informazioni sul gioco. Tali richieste rappresentano la volontà dei client di sottoscriversi a ricevere aggiornamenti sullo stato delle stanze di gioco (il numero di partecipanti per stanza). Init: Questa classe rappresenta il Plugin del gioco. Presenta il metodo initializePlugin che viene invocato allavvio del server. Essa ha il compito di istanziare tutti gli altri componenti. Altri componenti Player: E la struttura dati utilizzata per mantenere le informazioni relative ai giocatori (id, username). Domanda: E la struttura dati utilizzata per mantenere informazioni relative alle domande del quiz. Result: E la struttura dati utilizzata per mantenere informazioni relative ai messaggi di risposta alle domande del quiz (numero di risposta, tempo impiegato ecc.)

Console Amministratore Laggiunta/rimozione delle stanze è una caratteristica già presente in Openfire, quindi non cè stato bisogno di implementarla. Lunico accorgimento è quello di creare un servizio apposito chiamato game, in modo da separare le normali stanze di chat da quelle adibite al gioco. Per quanto riguarda la configurazione dei parametri (di gioco e del database) si è utilizzata la tecnologia delle JSP per aggiungere sezioni di setting alla console dellamministratore. Ogni parametro è rappresentato attraverso le variabili dambiente di Openfire chiamate JiveGlobals. Grazie ad esse è possibile modificare alcuni aspetti senza dover ricompilare i sorgenti.

Progettazione client side XMPP(Xiff) RTMP RTMP Il lato client è stato scritto in ActionScript, in particolare si sono rivelate utili le API XIFF per quanto riguarda la comunicazione XMPP con il server di gioco. Il client stabilisce due connessioni persistenti con il server: Una connessione XMPP sulla quale vengono scambiati i messaggi di gioco. Una connessione RTMP sulla quale avviene lo scambio di flussi multimediali. In alcuni scenari (download swf, registrazione ecc.) viene stabilita anche una connessione HTTP. HTTP

Scenari di interazione Scenario Registrazione account Lutente preme il tasto Registra Quando l'utente edita il campo Username, viene inviata una richiesta Http asincrona al server Openfire. Tale richiesta attiva una servlet che controlla se lo username è già stato registrato in precedenza o meno, restituendo lesito al client.

Scenari di interazione Scenario Login Scenario considerato : I server accettano con successo le richieste di connessione

Scenari di interazione Scenario Utente vuole partecipare al gioco In caso di risposta affermativa lutente invierà un messaggio di presence alla stanza in cui comunicherà il suo nuovo stato di ready a tutti gli altri partecipanti. Se lutente decide di non voler più partecipare invia un messaggio di tipo Cancel (cliccando sullapposito tasto).

Scenari di interazione Scenario Utente risponde a una domanda Lutente preme un tasto risposta Alla fine dei round, il server invierà un ulteriore messaggio contenente il vincitore finale (ovvero il giocatore che ha totalizzato il maggior numero di risposte esatte).