Agosto/Settembre 2010 - e-Lite

Transcript

Agosto/Settembre 2010 - e-Lite
01KTFCV – Architetture Distribuite per i Sistemi Informativi Aziendali
Tesina Individuale
Testo per la sessione di Agosto/Settembre 2010
La società Trip4Fun offre ai propri utenti (registrati) la possibilità di effettuare prenotazioni aeree a
basso costo a partire dall’aereoporto più vicino alla propria città di residenza. Tale città è memorizzata
nel profilo di ciascun utente. In aggiunta ad un’ampia scelta di voli a basso costo, gli utenti possono
usufruire della possibilità di conoscere manifestazioni culturali nelle vicinanze della città di arrivo, nei
giorni immediatamente seguenti la data di arrivo specificata durante la prenotazione. Per offrire i propri
servizi, Trip4Fun si avvale della collaborazione di due servizi esterni rispettivamente denominati
CheapFlightBot e AllEvents.
Il servizio esterno CheapFlightBot offre un servizio di ricerca e prenotazione per tutta una serie di
compagnie aeree affiliate. Dati un aeroporto di partenza (identificato tramite l’apposito codice
internazionale), un aeroporto di arrivo (diverso da quello di partenza) e una data arrivo del viaggio, esso
è in grado di recuperare tutti i voli diretti che collegano le due località. Inoltre esso fornisce un servizio
aggiuntivo in grado di identificare l’aereoporto più vicino ad una data località geografica avvalendosi, a
sua volta di un servizio esterno (si assuma quindi che tale funzionalità sia disponibile e che non sia
oggetto di progettazione). Inoltre esso è in grado di fornire l’elenco di tutti gli aereoporti serviti e
l’elenco delle 5 migliori offerte speciali a partire da un determinato aereoporto.
Per ogni collegamento tra due aereoporti CheapFlightBot fornisce: il numero di itinerario, il prezzo e il
numero di posti disponibili, la data, l’ora di partenza e di arrivo a destinazione. Il servizio CheapFlightBot
mette a disposizione (in consultazione) le informazioni da esso gestite mediante un'interfaccia a Web
Service (da progettare).
Il servizio allEvents permette, data una località (espressa mediante il nome della città o il codice dell’
aereoporto di tale città), una data e un intervallo di tempo (in termini di giorni), di ottenere l’elenco di
manifestazioni che si svolgono nelle vicinanze della località stessa, nei limiti dell’intervallo temporale
fissato. Per ogni manifestazione esso fornisce il titolo, l’indirizzo esatto della manifestazione, la tipologia
di manifestazione (spettacolo, cinema, sport), la data e l’ora, una breve descrizione ed un puntatore alla
pagina web dell’evento. Il servizio AllEvents mette a disposizione (in consultazione) le informazioni da
esso gestite mediante un'interfaccia a Web Service (da progettare).
Si progetti e si realizzi il sistema informativo della società Trip4Fun con le seguenti funzionalità minime:



L’accesso è riservato agli utenti registrati, identificati da un’opportuna password. La home page
del sito dovrà richiedere le credenziali di autenticazione (username e password).
I form di login e di registrazione devono essere gestiti mediante tecniche di validazione lato
client.
Una volta eseguito il login, ogni utente viene portato ad una pagina contenente:
o Un messaggio di benvenuto
01KTFCV – Architetture Distribuite per i Sistemi Informativi Aziendali
o





Un form di “ricerca voli” che richieda la data di partenza e la località di arrivo. La data
deve poter essere digitate manualmente o mediante selezione su di un calendario. La
località di arrivo può essere solamente uno degli aereoporti serviti da CheapFlightBot e
deve offrire una funzionalità di suggerimento e completamento automatico.
La pagina deve inoltre visualizzare le tre destinazioni più a basso costo attualmente prenotabili
(offerte speciali, ottenute mediante apposita richiesta a CheapFlightBot)
Una volta compilato il form di ricerca, l’utente avrà accesso ad una pagina di risultati che dovrà
mostrare:
o Un elenco selezionabile dei primi dieci voli disponibili ordinati per prezzo e numero di
posti liberi.
o Un elenco (inizialmente non visibile) selezionabile delle 3 manifestazioni più vicine alla
data e ora di arrivo del volo selezionato dall’utente.
Le manifestazioni dovranno essere mostrate solo dopo la selezione da parte dell’utente di uno
dei voli proposti. Le informazioni relative alle manifestazioni dovranno essere caricate
dinamicamente (ajax) in funzione di quanto selezionato.
Dopo la lista dei Voli, un link “next” permette di visualizzare i dieci voli seguenti in ordine di
prezzo e disponibilità. Se il link “next” è stato selezionato almeno una volta, verrà inoltre
presentato un link “prev” che permetterà di visualizzare i dieci voli precedenti.
Dopo la lista delle Manifestazioni, un link “More” permetterà di aggiungere rispettivamente 3
nuove voci all’elenco già visualizzato (da realizzarsi dinamicamente mediante ajax).
L’accesso al servizio CheapFlightBot avviene sulla base di un abbonamento annuale per ciò che
riguarda le informazioni sui voli e sugli aereoporti serviti, mentre i seguenti servizi vengono fatturati
a consumo e quindi occorre richiedere un dato solo quando necessario: l’identificazione
dell’aereoporto più vicino ad una data località, ed il servizio AllEvents.