Analisi e comparazione dei Framework OpenSwing e Google Web ...

11
Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica Analisi e comparazione dei Framework OpenSwing e Google Web Toolkit per lo sviluppo di interfacce utente con paradigma MVC tesi di laurea Analisi e comparazione dei Framework OpenSwing e Google Web Toolkit per lo sviluppo di interfacce utente con paradigma MVC. relatore Ch.mo prof. Porfirio Tramontana correlatore Ing. Luca Anniciello candidato Gianluca Russo Matr. 534/2100 Anno Accademico 2009/2010

Transcript of Analisi e comparazione dei Framework OpenSwing e Google Web ...

Page 1: Analisi e comparazione dei Framework OpenSwing e Google Web ...

Facoltà di Ingegneria

Corso di Studi in Ingegneria Informatica

Analisi e comparazione dei Framework OpenSwing e Google Web Toolkit

per lo sviluppo di interfacce utente con paradigma MVC

tesi di laurea

Analisi e comparazione dei Framework OpenSwing e Google Web Toolkit per lo sviluppo di interfacce utente con paradigma MVC.

relatoreCh.mo prof. Porfirio Tramontana

correlatoreIng. Luca Anniciello

candidatoGianluca RussoMatr. 534/2100

Anno Accademico 2009/2010

Page 2: Analisi e comparazione dei Framework OpenSwing e Google Web ...

� Obiettivi del progetto:

Facoltà di Ingegneria

Corso di Studi in Ingegneria Informatica

Analisi e comparazione dei Framework OpenSwing e Google Web Toolkit

per lo sviluppo di interfacce utente con paradigma MVC

� Obiettivi del progetto:� Analizzare i due framework di sviluppo Open Source Google Web Toolkit e

OpenSwing basati su linguaggio Java.� Adottando il pattern MVC, sviluppare due applicazioni interfacciate ad un

database, utilizzando tutti i componenti grafici forniti dai framework.

� Necessità dell’azienda Aera:� Valutare l’adozione di uno dei due framework utilizzando il pattern MVC, per

il futuro sviluppo di applicazioni della realtà aziendale.

Page 3: Analisi e comparazione dei Framework OpenSwing e Google Web ...

Pattern Model View ControllerPattern Model View Controller• Architectural Pattern, utilizzato per dividere l’applicazione in tre componenti con ruoli e funzionalità ben distinte

MODEL

� Implementa la logica di Business

CONTROLLER

�Incapsula la logica di controllo

Facoltà di Ingegneria

Corso di Studi in Ingegneria Informatica

Analisi e comparazione dei Framework OpenSwing e Google Web Toolkit

per lo sviluppo di interfacce utente con paradigma MVC

� Implementa la logica di Business

� Incapsula la tecnologia di accesso ai dati

� Notifica alla View i cambiamenti

� Ha la responsabilità di gestione del

database

�Incapsula la logica di controllo

� Ha la responsabilità di gestire le richieste

in ingresso

� Interagisce con il Model, passando i dati

provenienti dalla View

VIEW

�Implementa la logica di presentazione

�Visualizza i dati forniti dal Model

�Ha la responsabilità di interagire con gli

utenti

�Invia gli input utente al Controller

Page 4: Analisi e comparazione dei Framework OpenSwing e Google Web ...

Facoltà di Ingegneria

Corso di Studi in Ingegneria Informatica

Analisi e comparazione dei Framework OpenSwing e Google Web Toolkit

per lo sviluppo di interfacce utente con paradigma MVC

Google Web ToolkitGoogle Web Toolkit

Google Web Toolkit è un toolkit di sviluppo Open Source per la creazione e l’ottimizzazione di applicazioni Ajaxcomplesse, basate su browser.

SviluppoPermette di scrivere applicazioni Ajax in Java e

OttimizzazioneIl compilatore GWT rimuove il codice non utilizzato,Permette di scrivere applicazioni Ajax in Java e

compilare il codice sorgente in JavaScriptaltamente ottimizzato, che viene eseguito in tutti

i browser, inclusi browser mobile per Android e Iphone..

DebugÈ possibile effettuare il debug delleapplicazioni direttamente dall’IDE preferito,oppure da browser web.

Il compilatore GWT rimuove il codice non utilizzato,ottimizza le stringhe, suddivide il codice in piùsegmenti per un avvio più veloce.

EsecuzioneDue modalità: Development Mode e Web Mode,L’applicazione creata si comporterà come unatradizionale applicazione desktop.

History

RPC

Deferred Binding

User Interface Libray

WindowBuilder Pro

No-Install

Page 5: Analisi e comparazione dei Framework OpenSwing e Google Web ...

Facoltà di Ingegneria

Corso di Studi in Ingegneria Informatica

Analisi e comparazione dei Framework OpenSwing e Google Web Toolkit

per lo sviluppo di interfacce utente con paradigma MVC

OpenSwingOpenSwing

OpenSwing è una suite di componenti grafici avanzati Open Source, basata sul toolkit Swing che fornisce un utilesupporto alla creazione di applicazioni complesse.

Caratteristiche:

�È un framework che aggiunge molteplici funzionalità alla libreria

Data Binding

Java Web Start

MVC

Graphical Editor

�È un framework che aggiunge molteplici funzionalità alla libreriabase Swing di Java per la creazione di interfacce grafiche

�Favorisce lo sviluppo di applicazioni Enterprise basate su GUI ricche dicontenuti.

�Definisce le linee guida per la progettazione di un’applicazione e deisuoi componenti, ed il loro corretto utilizzo.

�Disaccoppiamento tra sviluppo di GUI e problematiche relative allalogica dei dati

�Utilizzabile da tutte le piattaforme (a patto che sia installato JavaRuntime Environment)

Page 6: Analisi e comparazione dei Framework OpenSwing e Google Web ...

Facoltà di Ingegneria

Corso di Studi in Ingegneria Informatica

Analisi e comparazione dei Framework OpenSwing e Google Web Toolkit

per lo sviluppo di interfacce utente con paradigma MVC

Modelli di comunicazioneModelli di comunicazione

Interazione Interazione Interazione

Utente Utente Utente

Client

Richiesta RichiestaRisposta Risposta

Network

Modello tradizionale

Client- ServerServer Processo Processo

Server Server

Tempo

Interazione

AzioneUtente

Update

Ajax Engine

Richiesta RichiestaRisposta

Server Processo Processo

Server Server

Network

Tempo

Browser

AzioneUpdate Update UpdateProcesso

Esterno

Processo

Server

Update

ClientClient

Processo

Evento

Risposta

Azione

Client- Server(sincrono)

Modello Asincrono di applicazioni

Ajax

Page 7: Analisi e comparazione dei Framework OpenSwing e Google Web ...

Caso studioCaso studio

Sviluppare due applicazioni con i framework GWT e OpenSwing che basandosi sul pattern MVC,utilizzino la stessa logica di business e tutti gli elementi grafici messi a disposizione dagli stessi,interfacciandosi ad una base di dati per visualizzare, eliminare, inserire e modificare due tabelle, Utentie Vendite.

• Analisi dei Requisiti• Analisi dei Requisiti

Facoltà di Ingegneria

Corso di Studi in Ingegneria Informatica

Analisi e comparazione dei Framework OpenSwing e Google Web Toolkit

per lo sviluppo di interfacce utente con paradigma MVC

e Vendite.

• Use case diagram• Use case diagram

Visualizza Utenti e Vendite

Inserisce Utenti e Vendite

Elimina Utenti e Vendite

Modifica Utenti e Vendite

Utente

Dall’analisi dei requisiti è possibileestrarre le funzionalità delsistema, intese come le possibiliinterazioni dell’utente con esso

Page 8: Analisi e comparazione dei Framework OpenSwing e Google Web ...

Progettazione dell’architetturaProgettazione dell’architettura

VIEWCONTROLLER

� Dalle specifiche dei requisiti, è possibile progettare l’architettura generale del sistema

Facoltà di Ingegneria

Corso di Studi in Ingegneria Informatica

Analisi e comparazione dei Framework OpenSwing e Google Web Toolkit

per lo sviluppo di interfacce utente con paradigma MVC

MODEL

+Utente

+Vendita

+ListaUtenti

+ListaVendite

Database

<<reside>>

<<reside>>

<<reside>>

<<reside>>

ConnessioneDB

� L’architettura è composta da tre moduli ben distinti:

• Model (condiviso dalle due applicazioni)• Controller• View

Page 9: Analisi e comparazione dei Framework OpenSwing e Google Web ...

Interfaccia utenteInterfaccia utente

• Google Web Toolkit• Google Web Toolkit • OpenSwing• OpenSwing

Facoltà di Ingegneria

Corso di Studi in Ingegneria Informatica

Analisi e comparazione dei Framework OpenSwing e Google Web Toolkit

per lo sviluppo di interfacce utente con paradigma MVC

Page 10: Analisi e comparazione dei Framework OpenSwing e Google Web ...

ConfrontoConfronto

Google Web ToolkitGoogle Web Toolkit OpenSwingOpenSwing

• Non richiede l’installazione nel client • Pattern Model View Controller integrato

Facoltà di Ingegneria

Corso di Studi in Ingegneria Informatica

Analisi e comparazione dei Framework OpenSwing e Google Web Toolkit

per lo sviluppo di interfacce utente con paradigma MVC

• Non richiede l’installazione nel client

• Più sicurezza

• Nessun accesso alle risorse del sistema

• Comunicazione asincrona

• Più reattività

• Maggiore efficienza della rete

• Aggiornamenti automatici

• Richiede JavaScript abilitato

• Linguaggio Java

• Pattern Model View Controller integrato

• Meccanismo di data binding

• Componenti grafici avanzati per applicazioni Enterprise

• Richiede Java Runtime Environment

• Estende le funzionalità di Java Swing

• Aggiornamenti automatici (con Java Web Start)

• Accesso alle risorse del sistema

• Tradizionale applicazione desktop

• Linguaggio Java

Page 11: Analisi e comparazione dei Framework OpenSwing e Google Web ...

ConclusioniConclusioni

� Google Web Toolkit è ancora un framework giovane, ma che si basa su una tecnologia, quellaAjax, che sta diventando sempre più lo standard per le nuove applicazioni

� OpenSwing è ormai già presente da molto tempo sul mercato, ha acquisito un elevato grado dimaturità che viene preferita in quelle particolari applicazioni di tipo Enterprise, gestionali, ERP etc.

Facoltà di Ingegneria

Corso di Studi in Ingegneria Informatica

Analisi e comparazione dei Framework OpenSwing e Google Web Toolkit

per lo sviluppo di interfacce utente con paradigma MVC

Sviluppi futuri:

� L’adozione del pattern MVC, garantisce al software di essere “aumentato” per far fronte ai nuovirequisiti, e di essere esteso per renderlo interoperabile con ulteriori sistemi e tecnologie

� Verificare le nuove funzionalità messe a disposizione dalla v.2.1 di GWT, in particolarei nuovi tool di sviluppo: