Progettazione e Realizzazione di un Portale sul Digitale Terrestre per l’azienda A.S.U.R. Zona 7 Cos’è il digitale terrestre? Rappresenta il passaggio essenziale verso la convergenza di informatica e telecomunicazioni e consente di trasformare l’apparecchio televisivo in una piattaforma per lo sviluppo dei servizi interattivi, che si aggiungono così alla funzione tradizionale di diffusione circolare dei segnali. Cosa Cambierà? I vantaggi dello standard digitale si riassumono in due principali ordini di fattori: • il potenziamento del servizio televisivo in termini di quantità e di qualità. A parità di frequenze utilizzate per le reti televisive analogiche, il numero dei programmi digitali irradiabili potrebbe quadruplicarsi o quintuplicarsi. • l’offerta di una serie di servizi aggiuntivi di tipo interattivo accessibili tramite il televisore. L'adattatore digitale da applicare al normale televisore ha capacità di memoria e di elaborazione tali da trattare e immagazzinare le informazioni: l’utente le può acquisire in forma interattiva semplicemente collegando l'apparecchio alla linea telefonica domestica. Attraverso il televisore i servizi interattivi potranno essere utilizzati da soli o abbinati alle trasmissioni televisive per arricchire i programmi di informazione a richiesta. Il macro-modello relativo all’architettura di rete adatta allo sviluppo della televisione digitale terrestre LO STANDARD MHP Il consorzio (DVB) ha definito uno standard di formattazione e trattamento degli elementi di multimedialità e interattività (tramite canale di ritorno) dei programmi denominato MHP (Multimedia Home Platform), cioè “piattaforma multimediale domestica”. Da un punto di vista strettamente tecnico la norma MHP definisce un insieme di primitive informatiche raccolte in varie librerie dette API (Application Programming Interface). Un decoder compatibile MHP è una macchina in grado di “eseguire” le primitive previste nelle API specificate nello standard. In tal modo si possono realizzare e modificare con la massima flessibilità tipica dei prodotti software, da parte dei fornitori di servizi e applicazioni TV, programmi televisivi digitali che diventano ipso-facto ricevibili, anzi eseguibili, su tutti i decoder compatibili MHP. X-LET Nello standard MHP le applicazioni sono chiamate Xlet e possono essere composte solo da tipologie precise di dati: classi java, file xml o txt, immagini png o jpg o gif, audio mp2 e video mpg. Il flusso in uscita dal Multiplexer (Transport Stream) viene modulato, trasmesso e quindi ricevuto sul decoder interattivo (set-top-box) che come già detto offre la possibilità di connessioni a server dedicati o ad Internet tramite modem analogico o tecnologie più avanzate come l’ADSL. Perché il Digitale Terrestre? Vantaggi per l’A.S.U.R.: Opportunità di raggiungere la quasi totalità della popolazione nazionale Possibilità di sfruttare l’interazione con l’utente tramite il canale di ritorno Possibilità di fornire informazioni personali riservate tramite autenticazione dell’utente Vantaggi per gli utenti: Il telecomando è l’unica periferica di controllo all’interno dei portali rendendo, così, facile la navigazione Possibilità di effettuare prenotazioni (o altro) senza la necessità di recarsi presso gli sportelli dell’azienda sanitaria Il Progetto Studio, progetto ed implementazione di una Xlet (programma Java conforme allo standard MHP - Multimedia Home Platform) per fornire agli utenti del digitale terrestre alcuni servizi che la A.S.U.R. attualmente eroga sul suo portale Internet. Obbiettivo 1 Creare una applicazione in grado di accedere (in lettura e/o in scrittura) ad un database remoto Il database contiene informazioni: di carattere generale sulle strutture ospedaliere sui dottori sulle specialità etc. Obbiettivo 2 Il portale deve poter essere usufruito anche da persone con poche conoscenze informatiche. E’ necessario, pertanto, realizzare un portale dotato di un aspetto grafico semplice ed intuitivo in grado di guidare l’utente (attraverso brevi spiegazioni all’interno delle pagine) nelle scelte da effettuare. Problemi 1) 2) 3) Trasmettere l’intero database è una operazione troppo onerosa MHP non prevede API per la gestione dei database all’interno del Set Top Box Il database può contenere informazioni riservate che non devono essere accessibili a tutti Soluzione I problemi si possono risolvere creando una applicazione Server che faccia da ponte tra il client (STB) ed il database, utilizzando il canale di ritorno. Il server elabora le richieste (query) del client e trasmette solo le informazioni necessarie. Modello di riferimento Soluzione In questo modo: 1) si evita di trasmettere tutto il database. 2) Non si dà la possibilità di accedere ad informazioni riservate 3) Il STB non ha alcun database da gestire Comunicazione Client - Server Le funzionalità di rete di java sono raggruppate in diversi package. Le funzionalità di base sono dichiarate dalle classi e dalle interfacce del package java.net, attraverso le quali java offre comunicazioni basate su flussi che permettono alle applicazioni di vedere le reti come flussi di dati. I Socket Una socket rappresenta il terminale di un canale di comunicazione bidirezionale. Le comunicazioni basate su socket permettono a un programma di leggere da o di scrivere in un socket proprio come se si trattasse di un file. Java offre due tipi di socket: Di flusso (stream socket) Di datagramma (datagram socket) Quale Scegliere? Nel caso di stream socket, un processo stabilisce una connessione con un altro processo; mentre la connessione è in atto, i dati scorrono tra i processi attraverso un flusso continuo. Questi socket forniscono un servizio orientato alla connessione. Il protocollo utilizzato per la trasmissione è il TCP (Transmission Control Protocol). Nel caso di datagram socket, vengono trasmessi pacchetti di informazioni. Questo protocollo non è il più adatto ai nostri scopi perché, diversamente dal TCP, il protocollo utilizzato, ovvero UDP (User Datagram Protocol), è un servizio senza connessione, che non garantisce che i pacchetti giungano a destinazione nel modo corretto. Per questo motivo si è scelto di adoperare i socket di flusso ed il protocollo TCP per la comunicazione tra client e server. Il Server La creazione di un server con java comporta l’esecuzione di cinque fasi: 1. 2. 3. 4. 5. creare un oggetto ServerSocket attesa di una connessione ottenere gli oggetti OutputStream e InputStream elaborazione chiusura della connessione Esempio di applicazione Server MServer.java JDBC Java DataBase Connectivity, o JDBC, rappresenta un'astrazione che permette di scrivere del codice Java che si interfacci con un DataBase generico, prescindendo dalle specifiche del singolo produttore. JDBC Affinché ciò sia realmente possibile, è necessario che le API di JDBC si interfaccino, a un livello successivo, con le librerie specifiche del particolare DB con cui si intende comunicare. Nel nostro caso, l’applicazione Server diventa client nella comunicazione col database. JDBC Driver Quando si crea una connessione con un DataBase non è necessario creare dei socket né ricorrere alle classi del package java.net. Tutti i dettagli della connessione sono gestiti da una classe appartenente alla libreria specifica del DB che si vuole utilizzare. Tale classe è nota come Driver. Quello che avviene nella pratica è che il codice del client si avvale di una classe denominata DriverManager alla quale viene delegato il compito di creare la connessione con il DataBase. Usare il JDBC La comunicazione con il database avviene in 4 fasi: 1. 2. 3. 4. Caricare in memoria il Driver Utilizzare il DriverManager per stabilire la connessione al database interrogare il database (ResultSet) Chiudere la connessione Le classi responsabili della comunicazione con il database sono: •SQLAccess.java •DBAccess.java Realizzazione del progetto Il portale per l’A.S.U.R. Zona 7 La Home Page si presenta come in figura: Il portale per l’A.S.U.R. Zona 7 Questa applicazione è interattiva e sfrutta il canale di ritorno per far si che il Ste-Top-Box non carichi in memoria tutta la mole di dati. Le informazioni vengono inviate tramite connessione internet solo quando richieste dall’utente durante la sua navigazione. A seguito di determinate scelte dell’utente, si stabilisce una connessione con il server dell’azienda (è qui che risiede l’applicazione Server descritta in precedenza) e per mezzo di una query (interrogazione) si prelevano i dati richiesti dall’apposito DataBase. Le Sezioni Il portale si suddivide in tre sezioni (più la guida): - Percorsi - Struttura - Numeri Utili - Guida Alla sezione si accede premendo il tasto colorato corrispondente sul telecomando. Nell’area Percorsi sono reperibili tutte le informazioni su azioni, documentazione e strutture dell'ambito sanitario attraverso semplici funzioni di ricerca. Nell’area Struttura sono contenute informazioni su: - A.S.U.R. (generale) - A.S.U.R. Zona 7 - U.R.P. Zona 7 (ufficio relazioni con il pubblico) - Informazioni sui dottori generici, specialisti e pediatri - Ospedali della Zona 7 Nell’area Numeri Utili si può consultare l'elenco dei numeri telefonici di maggiore utilità, come ad esempio: la guardia medica, i centralini dei vari distretti, etc. Architettura della Home Page I nomi all’interno dei rettangoli corrispondono ai nomi delle classi che realizzano la relativa pagina. Home DescrPerc TipiRicercaContainer MenuStrutt NumUtili3 Help Architettura della Sezione Percorsi L’Area Percorsi prevede 3 tipi di ricerca: per PAROLA CHIAVE per CATEGORIA per SPECIALITA’ TipiRicercaContainer ParolaChiave Categoria SpecialitaContainer2 Percorsi StruttSpecContainer DatiPercorso PrestazioniContainer ArgCorr DottContainer Esempio di come si presenta la sezione percorsi Esempio di come si presenta la sezione percorsi Architettura della Sezione Struttura MenuStrutt ASURgen Zona7 URP Dottori Chiaravalle Osimo Loreto Ospedali Esempio di come si presenta la sezione Struttura Esempio di come si presenta la sezione Struttura Esempio di come si presenta la sezione Struttura Esempio di come si presenta la sezione Struttura Esempio di come si presenta la sezione Numeri Utili Esempio di come si presenta la sezione Aiuto Sviluppi Futuri Il progetto è stato realizzato per dare una idea di come potrebbe essere il portale dell’ASUR se decidesse di espandere i suoi servizi anche sul digitale terrestre. La possibilità di consultare un database remoto rappresenta, tuttavia, soltanto un piccolo passo nel cammino da intraprendere per l’implementazione di un vero e proprio portale. Sviluppi Futuri Avendo la possibilità di espandere il progetto, si potrebbero implementare altri servizi, ad esempio: •prenotazione delle prestazioni •personalizzazione dell’aspetto grafico •visualizzazione dei referti medici •Mailing personali (per ricordare gli appuntamenti e/o informare sugli eventi) •Ampliamento del database •Ecc.