Le tecnologie AJaX e Hibernate per lo sviluppo di by zwj23860

VIEWS: 46 PAGES: 11

									                                   Le tecnologie AJaX e Hibernate per lo sviluppo di nuove applicazioni per il Web




tesi di laurea

Le tecnologie AJaX e Hibernate per lo sviluppo di nuove applicazioni per il Web
Anno Accademico 2007/2008




Relatore
Ch.mo prof. Domenico Cotroneo


Correlatore
Ch.mo prof. Marcello Cinque

Candidato
Alessandro Paolillo
Matr. 534/1783
                                  Le tecnologie AJaX e Hibernate per lo sviluppo di nuove applicazioni per il Web



                                  Contributo


Lo sviluppo delle tecnologie Internet ha alimentato negli ultimi anni la
diffusione delle RIA (“Rich Internet Application”) nel contesto del “Web 2.0”.

Si sono approfondite tecnologie di sviluppo:
 ●   AJaX (insieme di tecnologie indipendenti);
 ●   Il framework Hibernate;

E' stato sviluppato un esempio classico di una applicazione web RIA
                                                          Le tecnologie AJaX e Hibernate per lo sviluppo di nuove applicazioni per il Web




         Applicazioni web tradizionali vs. Nuove Applicazioni

Il confronto tra le applicazioni Web tradizionali e le nuove va fatta principalmente
nei punti in cui le applicazioni “tradizionali” creano molti problemi.


               Applicazioni Tradizionali                                           Nuove Applicazioni

    Sfruttano maggiore banda perché il server restituisce              Il server invia al browser meno informazioni,
                  al browser intere pagine Html                        solo quelle relative all'elaborazione richiesta
              Le pagine risultano poco interattive.              Rendono le pagine più interattive e aggiornabili gradualmente
              Il client ad ogni click cambia pagina
    Il server impiega più tempo per restituire il risultato           Il server lavora solo su piccole porzioni di pagine
        dell'elaborazione perché lavora su intere pagine
    I rallentamenti nella comunicazione dipendono solo            Un abuso di AJaX porta rallentamenti nella comunicazione
                             dalla rete
       Il browser non ha problemi perché l'elaborazione            Un uso inadeguato di Javascript può mandare in overflow
                          è tutta sul server                                       la memoria del browser
                                   Le tecnologie AJaX e Hibernate per lo sviluppo di nuove applicazioni per il Web



                                   AJaX (1/2)

AJaX è l'acronimo per (Asynchronous JavaScript and XML).

Ajax fornisce un approccio completamente nuovo alle applicazioni web. Con l'uso
di questa tecnologia è possibile distribuire più intelligenza dal lato client.
Con AjaX il client non aspetta più risposte dal server ma ad ogni click può
continuare la sua navigazione
                                  Le tecnologie AJaX e Hibernate per lo sviluppo di nuove applicazioni per il Web



                                 AJaX (2/2)
AJaX si basa su l'utilizzo dell'oggetto XmlHTTPRequest per l'interscambio
asincrono di dati tra il browser ed il web server.
 ●   onreadystatechange: per registrare l'handler da invocare al completamento
     della richiesta;
 ●   send: si occupa di inviare la richiesta vera e propria al Server;
In questo modo possiamo inviare una richiesta asincrona al server.
                                  Le tecnologie AJaX e Hibernate per lo sviluppo di nuove applicazioni per il Web



                              Hibernate (1/2)

Hibernate (H8) è una soluzione Object-relational-mapping (ORM) per il
linguaggio di programmazione Java.
È un software free, open source e distribuito sotto licenza LGPL.
Hibernate fornisce un framework, che mappa un modello di dominio orientato
agli oggetti in un classico database relazionale.

Hibernate fornisce funzionalità di interrogazione e recupero dei dati da una base
di dati.

Lo scopo di Hibernate è quello di aiutare lo sviluppatore nei più comuni compiti
di programmazione legati alla persistenza dei dati.
                                  Le tecnologie AJaX e Hibernate per lo sviluppo di nuove applicazioni per il Web



                               Hibernate (2/2)

Hibernate usa il database e i dati di
configurazione per garantire i servizi di
persistenza all'applicazione.

Hibernate è composto da:
 ●   una configurazione completa in un
     file chiamato hibernate.cfg.xml o
     hibernate.properties
 ●   un     mapping     oggetto/relazione
     definito in un documento XML.
                                    Le tecnologie AJaX e Hibernate per lo sviluppo di nuove applicazioni per il Web



                                Applicazione RIA

Si è realizzata un'applicazione web per la condivisione di una rubrica attraverso
browser.

Nella programmazione lato client sono state sviluppate due pagine Html:
 ● una pagina per il Login;

 ● una pagina contenente la rubrica condivisa.




Le due pagine importano tre librerie Javascript sviluppate per avviare il motore
AjaX, e per gli handler delle richieste asincrone.

Nella programmazione lato server si è adottato J2EE:
 ● sono state implementate delle servlet per accettare le richieste dai client;

 ● sono stati implementati 2 oggetti persistenti, Contatto e Utente, con l'uso di H8.
                            Le tecnologie AJaX e Hibernate per lo sviluppo di nuove applicazioni per il Web



                       Applicazione RIA




Il sequence diagram mostra come avviene l'aggiornamento della rubrica
                               Le tecnologie AJaX e Hibernate per lo sviluppo di nuove applicazioni per il Web



                       Snapshot dell'applicazione
                                                                          Il client 1 inserisce:

                                                          (Marcello, Cinque, m.cinque@gmail.com, 0987655)

                                                                       client 2 vede la modifica




Lista degli utenti
    collegati

Rubrica dei contatti
                                          Le tecnologie AJaX e Hibernate per lo sviluppo di nuove applicazioni per il Web



                                         Conclusioni

In questo lavoro di tesi si sono affrontate tecnologie tali da rendere le applicazioni Web più vicine
a quelle desktop.

E' stata sviluppata un'applicazione web come caso di studio in modo tale da valutare tutte le
tecnologie studiate.

La tecnologia AJaX ha reso l'applicazione più interattiva, i tempi di elaborazione e di risposta del
server brevi ma allo stesso tempo si è riscontrato che un abuso di tale tecnologia può rallentare la
comunicazione con il server.

Il framework Hibernate ha semplificato la programmazione lato server nell'interazione con la base
di dati ma non ha del tutto isolato il programmatore dall'onere di conoscere la struttura relazionale
della base di dati.

								
To top