UNIVERSITÀ DEGLI STUDI DI FIRENZE                       Facoltà di Ingegneria                Corso di Laurea in Ingegneria...
Sommario• Obiettivo• Scenario di riferimento: la TV digitale terrestre• Il porting di applicazioni web su piattaforma MHP•...
ObiettivoSviluppo di un’applicazione MHP che consenta ilporting di servizi e contenuti finora disponibilisolo su Web, sull...
Lo standard DVBLo standard DVB fa riferimento alle specificherilasciate dall’ETSI al fine di regolare latrasmissione telev...
Lo standard MHPMHP è uno standard aperto per la televisionedigitale interattiva nato come estensione deglistandard esisten...
Applicazioni MHP: le XletMHP si basa su un set di API Java cheforniscono classi e interfacce per lo sviluppodi servizi int...
Dal Web al DTTIl porting di applicazioni web in applicazioniMHP consiste nel trasporto di servizi, contenutie funzionalità...
Strategie di progettazioneRealizzazione di un proxy-server con lafunzione di gateway applicativo tra Trenitalia ela piatta...
Strategie di progettazioneRealizzazione di un micro-browser di contenutiXHTML                         Richieste HTTP      ...
L’ambiente di sviluppo
Iter di sviluppoFase 1 • Studio dell’architettura della piattaforma Web • Scelta dei metodi di estrapolazione contenuti   ...
Funzionamento dell’applicazione                                                                                           ...
Iter di sviluppoFase 2 • Progettazione architettura lato client MHP      Natura modulare      Separazione tra i componen...
HTTPSConnection                                   MyConnectionManager                                   Welcome           ...
Funzionamento dell’applicazione                   : TravelChoice      : SystemEventsManager         : RateChoice      : Ac...
Iter di sviluppoFase 3 • Analisi dei contenuti HTML e scelta delle librerie     J-Tidy     nanoXML     HAVi/AWTFase 4 •...
Elaborazione dei contenuti                     <tr class="odd">                             <td>09:10<br>FI.SMN</td>      ...
Elaborazione dei contenuti
La fase di pagamento                      HTTPS                              Server del sistema di      Client MHP        ...
Dimostrazione
Conclusioni e sviluppi futuri• Trasferimento di un servizio web su piattaformaMHP• Rappresentazione fedele dei contenuti u...
Grazie per l’attenzione
Upcoming SlideShare
Loading in …5
×

Analisi e trasferimento di un’applicazione web di servizio su piattaforma mhp

942 views

Published on

Analisi e trasferimento di un’applicazione web di servizio su piattaforma mhp - Mirko Manetti - AA 2009-2010 Relatori: Prof. Vito Cappellini, Dr. Roberto Caldelli, Ing. Rudy Becarelli, Ing. Francesco Filippini, Ing. Riccardo Giorgetti

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
942
On SlideShare
0
From Embeds
0
Number of Embeds
302
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Analisi e trasferimento di un’applicazione web di servizio su piattaforma mhp

  1. 1. UNIVERSITÀ DEGLI STUDI DI FIRENZE Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Tesi di laurea Analisi e trasferimento di un’applicazione web di servizio su piattaforma MHPCandidato: Relatori:Mirko Manetti Prof. Vito Cappellini Dr. Roberto Caldelli Ing. Francesco Filippini Ing. Rudy Becarelli Ing. Riccardo Giorgetti Anno Accademico 2009/2010
  2. 2. Sommario• Obiettivo• Scenario di riferimento: la TV digitale terrestre• Il porting di applicazioni web su piattaforma MHP• Sviluppo dell’applicazione MHP Trenitalia• Dimostrazione dell’applicazione realizzata• Conclusioni e sviluppi futuri
  3. 3. ObiettivoSviluppo di un’applicazione MHP che consenta ilporting di servizi e contenuti finora disponibilisolo su Web, sulla televisione digitale terrestre Segnale digitale terrestre Broadcaster TV & Set Top Box Canale di ritorno
  4. 4. Lo standard DVBLo standard DVB fa riferimento alle specificherilasciate dall’ETSI al fine di regolare latrasmissione televisiva digitale. MPEG-2
  5. 5. Lo standard MHPMHP è uno standard aperto per la televisionedigitale interattiva nato come estensione deglistandard esistenti DVB e MPEG.
  6. 6. Applicazioni MHP: le XletMHP si basa su un set di API Java cheforniscono classi e interfacce per lo sviluppodi servizi interattivi per la televisione digitale Xlet Application Manager
  7. 7. Dal Web al DTTIl porting di applicazioni web in applicazioniMHP consiste nel trasporto di servizi, contenutie funzionalità presenti su Web Server sulla Tvdigitale interattivaL’attività di parsing risulta particolarmenteimpegnativa laddove i contenuti resi disponibili dalcontent provider non hanno un formato compatibilecon la piattaforma MHP
  8. 8. Strategie di progettazioneRealizzazione di un proxy-server con lafunzione di gateway applicativo tra Trenitalia ela piattaforma DVB-MHP Richieste Richieste HTTP PROXY HTTP Web MHP SERVER Server Client Java Trenitali Servlet HTML a XML + JavaScript
  9. 9. Strategie di progettazioneRealizzazione di un micro-browser di contenutiXHTML Richieste HTTP MHP Web Logica Canale di ritorno Server Client Trenitali HTML + Javascript a 3
  10. 10. L’ambiente di sviluppo
  11. 11. Iter di sviluppoFase 1 • Studio dell’architettura della piattaforma Web • Scelta dei metodi di estrapolazione contenuti (Parser XML) • Studio delle possibili tecniche di porting (JavaBean)
  12. 12. Funzionamento dell’applicazione System Servizio di acquisto biglietti ferroviari su Digitale Terrestre Scegli tariffa viaggio <<include>> Consulta treni Verifica disponiblità <<include>> <<include>> <<include>> Scegli opzioni viaggio <<include>> Utente <<include>> <<include>> Acquista biglietto Scegli preferenze viaggio Compila intestazione biglietto <<include>> <<include>> <<include>> Conferma acquisto <<include>> Scegli modalità consegna biglietto Inserisci dati consegna domicilio <<extend>> <<include>> Inserisci dati pagamento <<include>> <<include>> Scegli modalità pagamento Inserisci dati autenticazione Conferma pagamentoSistema di pagamento
  13. 13. Iter di sviluppoFase 2 • Progettazione architettura lato client MHP  Natura modulare  Separazione tra i componenti  Facile riusabilità e manutenibilità
  14. 14. HTTPSConnection MyConnectionManager Welcome <<Singleton>> +connect_noCert() #createHTTPConnection() Dettaglio -init() +handshake() #createHTTPSConnection() +getGraphicComponent() +handshakeCompleted() -rateList: Vector +setGraphicComponent() +fireErrorEvent() -ratePrice: Vector +componentFocusGained() +fireContentEvent() -rateAvail: Vector +componentFocusLost() +addHTTPSConnectionListener() -preferences: Vector +componentAtionPerformed() +removeHTTPSConnectionListener() -rateSelected: String +attivaRitorno() -selectedChoice: int -car: String Page1Adapter -isRegional: boolean TravelChoice ActionPage1 -totalPrice: String +parse() -stazin: String +actionPerformed() -dataPreProcessing() -stazout: String -init() -getData() -datag: String +displayData() -datam: String +getGraphicComponent() -dataa: String <<Singleton>> +setGraphicComponent() -timesh: String ManagerDispatcher +componentFocusGained() -okForm: boolean +componentFocusLost() Page2Adapter ActionPage2 -det: String+init() <<Singleton>> -urlOption: String+getScene() RateChoice SystemEventsManager +parse() +urlTrenoposti: String +actionPerformed() -dataPreProcessing()+getContext() JTidyCleaner -urlPref: String+getWelcome() -repository -noRegionalParsing() -postoclick: boolean+getTravelChoice() -init() -regionalParsing() -ordnum: String +setDefaultPageContent() +registerKeys() +createWellFormedDOM()+getTravelDetailsPopUp() -recuperaDatiTariffe() -cartnum: String +dataUpdate() +unregisterKeys() +editDOM()+getRateChoice() -recuperaPreferenze() -codicePNR: String +getGraphicComponent() +userEventReceived()+getRateInfoPopUp() -popolaDettaglioTariffe() -codiceMaster: String +setGraphicComponent() +handleExit()+getOptionPopUp() +handleRed() -tipoPagamento: String+getPreferencesPopUp() +componentFocusGained() -importo: String +componentFocusLost() +handleYellow()+getDelivery() +handleBlue() -valuta: String HTMLAdapter+getPaySummary() +handleGreen() -numOrd: String+getPostoclick() +handleOk() -idNegozio: String+getPayment() Delivery +streamToStringConverter() -emaileserc: String +handleDown()+getPayConfirm() +removeSpecialChar() -userid: String +handleUp()+getMessagesPopUp() -init() +removeComments() -email: String +handleLeft() Page6Adapter +getGraphicComponent() +handleRight() ActionPage6 -token: String +setGraphicComponent() +handleBack() -cardType: String +componentFocusLost() +actionPerformed() +parse() -cardNumber: String +componentFocusGained() -dataPreProcessing() -monthExpired: String +setPageContent() -payDataProcess() -yearExpired: String +checkDeliveryForm() -cvv2: String +setVisibleForm() -firstName: String -lastName: String -PaReq: String Payment -PaRes: String Page7Adapter -termUrl: String -init() ActionPage7 -MD: String +getGraphicComponent() +parse() +setGraphicComponent() -dataProcessing() +setAttribute() +actionPerformed() +componentFocusGained() +getAttribute() +componentFocusLost() +saveForm()
  15. 15. Funzionamento dell’applicazione : TravelChoice : SystemEventsManager : RateChoice : ActionPage2 : HTMLAdapter : JTidyCleaner : Page2Adapter : Dettaglio: Utente 1 : keyPressed() 2 : handleEvent() 3 : actionPerformed() 4 : createHTTPConnection() 5 : streamToStringConverter() 6 : removeSpecialChar() 7 : removeComments() 8 9 : createWeelFormedDOM() 10 11 : parse() 12 : getData() 13 : updateData() 14 15 16 17 : setVisible()
  16. 16. Iter di sviluppoFase 3 • Analisi dei contenuti HTML e scelta delle librerie  J-Tidy  nanoXML  HAVi/AWTFase 4 • Scrittura del codice • Testing
  17. 17. Elaborazione dei contenuti <tr class="odd"> <td>09:10<br>FI.SMN</td> <td>10:45<br>ROMA TE</td> <td>01:35</td> <td>9505 FRECCIAROSSA</td> <td><img alt="ES Italia AV" src="http://static.trenitalia.com/it/......."></td> <td>62,00 &euro;</td> <td>44,00 &euro;</td> </tr>
  18. 18. Elaborazione dei contenuti
  19. 19. La fase di pagamento HTTPS Server del sistema di Client MHP pagamento Sanpaolo• HttpsUrlConnection non implementata nella JVM 1.3• Implementazione della classe MyHttpsConnection• Programmazione a livello trasporto sfruttando imetodi della classe SSLSocket
  20. 20. Dimostrazione
  21. 21. Conclusioni e sviluppi futuri• Trasferimento di un servizio web su piattaformaMHP• Rappresentazione fedele dei contenuti unita asemplicità d’usoSviluppi futuri:• Suggeritore automatico per inserimento dati• Modulo per il recupero dati carta di credito• Modulo universale per il pagamento su DTT
  22. 22. Grazie per l’attenzione

×