Hattrick Stadium
Corso di Reti di Calcolatori LS
Anno Accademico 2005/2006
Dolif Emilano
matr. 0000196349
Sommario







Introduzione
Hattrick Stadium
Client
Server
CORBA
Conclusioni & Sviluppi futuri
Manuale d’uso
Introduzione

Un nuovo tipo di videogames
Una volta i videogames erano utopia, una volta i videogames
erano solo in sala giochi, recentemente i videogames erano "la
playstation", oggi, grazie ad internet e all' ADSL, si può giocare
on-line a costo zero con tutto il mondo.
Il più conosciuto al mondo è Hattrick.

Che cos’è Hattrick ?
Hattrick è un gioco manageriale di calcio on-line che permette
agli utenti registrati di gestire una squadra di calcio. L’utente ha
la possibilità di controllare lo stato della squadra, impartire gli
ordini per l’allenamento, intervenire sul mercato per vendere o
comprare giocatori, o per fare una semplice chiacchierata con
altri utenti conosciuti all’interno del gioco.
Hattrick Stadium

Che cos’è ?
Hattrick Stadium vuole essere un programma integrativo di
Hattrick che offre l’opportunità ai giocatori di seguire più
partite in contemporanea, fino ad un numero massimo di
10.

Servizi disponibili



Load/Unload partite;
Segnalazione aggiornamento :
 Video;
 Audio (disattivabile);
Internazionalità
L’applicazione è disponibile in tre lingue : italiano, inglese e
tedesco.
Architettura
IDL Interface
STUB
SKELETON
ORB
Client
Trd
nec
t
Op
tio
n
Con
s
Interface
Options
Lo
ad
Dele
Load
te
Delete
TrdAgg
GestoreXml
Client
.form
.java
Il comportamento dell’applicazione può essere suddiviso in tre fasi :



Fase di organizzazione ;
Fase di connessione a server e ricezione dei dati ;
Fase di gestione dei dati ;
Client

Interface

Load/Delete
offre all’utente
una panoramica di tutte le
partite selezionate.
raggiungibili
dal
menu
“Strumenti”
permettono
il
caricamento e l’eliminazione
delle partite.

Options
consente di
selezionare la lingua con cui
si
desidera
utilizzare
l’applicazione, ricevere le
cronache
e
abilitare/
disabilitare i segnali audio.
Client

Trd



estende la classe Thread;
si occupa dell’attivazione della classe TrdAgg ogni 60 secondi, dello stato
dell’aggiornamento e di visualizzare il countdown del prossimo;
TrdAgg si occupa dell’aggiornamento vero e proprio dell’applicazione:



crea l’ oggetto Client;
recupera le informazioni richieste;
aggiunge alle cronache le azioni salienti avvisando l’utente con un segnale
sonoro e visualizzando un’icona grafica accanto alla partita corrispondente;

GestoreXml

Client
si occupa del recupero delle informazioni salvate su un
documento xml utilizzato come database. Per la realizzazione è stata importata la
libreria JDom che offre ottime soluzioni java-based per l’accesso, la manipolazione
e la produzione di file xml.
gestisce la vera e propria connessione con il Server, si occupa della
inizializzazione dell’ORB, della determinazione del contesto, della creazione dello
Stub , dell’invocazione dei metodi ed infine del recupero dei risultati.
Server
Interfaccia
ar
St

to
t, S
p,
s
Re
et
St
ar
.form
t,
St
op
,R
.java
es
et
Trd
Server
GestoreXml
MessageImpl
Il compito del Server è quello di fornire le informazioni richieste dal Client:
 Una richiesta di aggiornamento semplice (singolo minuto) ;
 Una richiesta di aggiornamento dal minuto iniziale al minuto attuale ;
Server

Interfaccia

Trd

Server gestisce la connessione con il Client compiendo le seguenti azioni:
visualizza il minuto corrente delle partite e mette a disposizione tre
comandi : Start, Stop, Reset.
estende la classe Thread e si occupa del cronometro e della sua
visualizzazione sull’interfaccia.








inizializza l’ORB;
risolve il naming context;
ottiene un riferimento al POA;
crea l’oggetto servant e lo registra presso il POA;
attiva il POA;
attiva i servizi;
ImplMessage implementa i metodi richiesti dal Client al Server.
GestoreXml si occupa della gestione dei file xml.
CORBA

Middleware :


Infrastruttura per l’interazione tra Client e Server.
Indipendenza tra Client e Server :


L'ORB intercetta la chiamata e si prende l'incarico di cercare un oggetto
che possa realizzare la richiesta, gli passa i parametri, ne invoca i
metodi e restituisce il risultato.
Il Client non deve essere al corrente di dove sia posto l'oggetto, del suo
linguaggio di programmazione, sistema operativo o di ogni altro aspetto
di sistema che non sia parte dell'interfaccia di un oggetto.
Conclusioni & Sviluppi futuri

Conclusioni :



L’applicazione sopra descritta presenta e risolve le problematiche
consuete che nascono tra due unità indipendenti che
interagiscono tra di loro per fornire/ottenere informazioni.
Il progetto è stato testato più volte sia in locale che su diverse
macchine ( 5 nello specifico) e l’esito è sempre stato positivo.
Sviluppi futuri :


Un primo passo per il miglioramento dell’applicazione sarebbe
quello di provvedere alla replicazione del server per consentire di
far fronte ai guasti e per ottimizzare i tempi di risposta.
Un ulteriore sviluppo futuro riguarda l’aspetto manageriale
dell’applicazione: la possibilità di implementare la gestione delle
partite di coppa e quindi dei tempi supplementari e dei rigori.
Manuale d’uso

Avviamento del servizio di nomi:


Salvataggio dell’ IOR :


All’avvio viene richiesto di indicare il file contenente l’IOR.
Cronache :


Copiare l’IOR del tnameserv su un file di testo;
Avvio del Client e del Server :


Digitare da shell il comando “tnameserv”;
Sono momentaneamente disponibili le cronache di 5 partite. L’ID delle partite
sono contenuti all’interno del file “ID-Match.txt” presente all’interno della cartella
Client.
Durata delle partite :


La durata reale di una partita di Hattrick è di 90 minuti più ulteriori 15 minuti di
intervallo tra primo e secondo tempo
Per velocizzare la simulazione un minuto reale è stato ridotto a soli 12 secondi,
quindi la durata totale di una partita in Hattrick Stadium è di 21 minuti.
Bibliografia e Riferimenti

[1] http://www.cinidisicilia.it/dblog/articolo.asp?articolo=153

[2] http://www.hattrick.org

[3] http://www.it.gnome.org/gnomefaq/1-0/corba.html

[4] http://www.jdom.org
Scarica

presentazione