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

Documenti analoghi
Strumenti per l automazione del testing di applicazioni web Javascript-based

TESI DI LAUREA IN INFORMATICA

Gui testing automatico di applicazioni Android tramite emulazione di input ed eventi provenienti da sensori

Realizzazione di uno strumento web-based per la simulazione remota di reti di sensori senza filo

Il Pattern MVC nei Framework di sviluppo per applicazioni Web. Analisi e comparazione di SPRING MVC Framework e ASP.NET MVC Framework.

Sviluppo e manutenzione di un applicazione CAD tramite le WPF e l MV-VM

THE BRAIN BEHIND YOUR BUSINESS

Un architettura orientata ai servizi per la localizzazione di dispositivi mobili

Sviluppo di un applicazione di front-end per il monitoraggio di un Isola Ecologica

Analisi e utilizzo di un framework per lo sviluppo di applicazioni web

MVC - Principio. MVC Model View Controller. MVC - Terminologia. MVC - Funzionamento. Richiesta. Controller. Model. Risposta. View

Strumento e tecnica a supporto del crash testing automatico di applicazioni mobili basato sul sistema operativo Android Anno Accademico 2010/2011

Programma didattico. Sviluppare Applicazioni Distribuite in ambiente. Spring MVC

Realizzazione di un applicazione per la stesura di un Business Plan

Realizzazione di un prototipo di un software web based per la gestione di un inventario comunale

Model View Controller (MVC)

SETA Selection Tool del Sistema ARTIST

Ingegneria del Software 1: Eclipse

Sviluppo di strumenti grafici su una Web Application per il data mining

Anno Accademico 2007/2008

Sviluppo di un ambiente software per la visualizzazione multiplanare di immagini biomedicali

tesi di laurea Anno Accademico 2009/2010 relatore Ch.mo prof. Porfirio Tramontana candidato Pasquale Ludi Matr. 534\000438

Realizzazione di un Tool per l iniezione automatica di difetti all interno di codice Javascript

Un'applicazione per lo scambio di contenuti multimediali in ambiente Android

Programmazione Java Avanzata. MVC Model, View,, Controller. Ing. Gianluca Caminiti

Programma Master Programmatore Java

Progettazione di Sistemi Interattivi. Gli strati e la rete. Struttura e supporti all implementazione di applicazioni in rete (cenni)

Esercitazioni di PROGETTAZIONE DEL SOFTWARE A.A

UNIVERSITA CA FOSCARI VENEZIA - CT0090 INGEGNERIA DEL SOFTWARE 2016/2017 ARRIFORNISCETE. Documento di Analisi e Specifica 1.

Corso di Laurea Ingegneria Informatica Laboratorio di Informatica

Modelli e strumenti per la generazione automatica di codice

Corso Programmazione Java Avanzato

Realizzazione di un sistema di logging prototipale per la piattaforma

Sviluppo di un'interfaccia grafica per l'automatizzazione di campagne di software fault injection. relatore Ch.mo prof.

Studio del linguaggio TROPOS per la modellazione dei requisiti orientata agli agenti

Nell ambito quindi di un ulteriore potenziamento della propria struttura, Klopotek Software & Technology Services S.r.l.

Università di Udine DIEG Dipartimento di Ingegneria Elettrica, Gestionale e Meccanica Laboratorio di Ingegneria Gestionale

e p.c. Componenti C.d.A. Caf Acli srl Impostazione di Chrome come browser predefinito

Analisi e sviluppo di un portale di e-commerce

Soluzione WebGIS Regione Piemonte Gianni Siletto-Silvana Griffa

Architetture Software

Tesi di Laurea Triennale in Ingegneria Informatica REALIZZAZIONE DI UN APPLICATIVO PER LA GESTIONE DI FOGLI DI LAVORO INTEGRATO IN OUTLOOK 2010

3.3.6 Gli operatori Le funzioni di accesso al tipo Le strutture di controllo Le funzioni

TCL PAD: UN EDITOR DI TESTO ESTENDIBILE, INCORPORABILE E CON INTERFACCE DI TEXT-PROCESSING

Implementazione di un servizio VoIP in ambienti SOA per mobile computing

Informatica. Progettazione ed implementazione di un tool per il supporto al debug nella pratica di sviluppo Test Driven

Realizzazione di strumenti per il testing di accessibilità di applicazioni web

AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma

UNIVERSITA DEGLI STUDI DI NAPOLI FEDERICO II

PROGETTAZIONE E SVILUPPO DI UN. Relatore: Studente: Paolo Merialdo Valerio Barbagallo

SOMMARIO DESIGN PATTERN

Sviluppo di applicazioni mobili su piattaforma Maemo

SOMMARIO DESIGN PATTERN INTRODUZIONE AI DESIGN PATTERN INGEGNERIA DEL SOFTWARE. Introduzione. Cos è un design pattern. Cos è un design pattern

Sommario 1 Introduzione progetto Soluzione Integrazione Conclusioni... 10

Valutazione Comparativa Sperimentale di Tecniche di Testing di Applicazioni Android

UML. Il linguaggio UML e ArgoUML. Ingegneria dei sistemi software 2009/ /09/2009

Applicazioni distribuite e sistemi ad oggetti distribuiti. RPC RMI - Web Services 1

Sintesi e sperimentazione di un modello di propagazione sonora per l analisi di reti di sensori sottomarine

Ambienti di Sviluppo. Linguaggi compilati

UNIVERSITA' CA' FOSCARI DI VENEZIA. Facoltà di Scienze MM.FF.NN. - Dipartimento di Informatica Tesi di Laurea Triennale

Progetto e sviluppo di unʼapplicazione iphone per lʼaccesso a reti di sensori senza fili."

Applicazione: GAS - Gestione AcceSsi

MISSION. Ideas and code!

J2EE (o JEE): Framework Java per lo sviluppo di applicazioni WEB Enterprise, che vivono in rete e che siano accessibili attraverso browser.

iseries Informazioni preliminari su Client Access Express

Un applicazione per il trasferimento file in ambiente Symbian

Fondamenti di sviluppo mobile su Android

Corso di QoS e sicurezza nelle reti Lezione del 11/03/2015

Un sistema per l'emulazione delle reti su cluster di macchine virtuali Anno Accademico 2007/2008

Testing automatico di applicazioni Android

Reti di Telecomunicazioni Lezione del 15/11/2013

AscotWeb - mediatore Versione dicembre 2015

JUG Ancona Italy. Google Web Toolkit. Giovanni Baleani Programmatore Java. Filippetti S.r.l.

Prof. Pagani corrado JAVA

APPENDICE 4 AL CAPITOLATO TECNICO

Sistema Operativo Chrome: Analisi degli aspetti peculiari.

SISTEMA UNICO E CENTRALIZZATO

Test in automatico di programmi Android

LINGUAGGI E UTENTI DI UN DBMS

E il software applicativo che deve adattarsi alle esigenze dei processi aziendali. Non il contrario.

Sviluppi e Casi di Test in JAVA/J2EE con framework STRUTS per Sistema di Riconciliazione Economica on-line

BRIDGE COUNSULTING. dove Cantiere Novoli Aula "Roberto Bracco" Ed. D6 - via delle Pandette 9 Firenze

Applicazione: SIPER Servizi In linea per il PERsonale

Tecnologie dei Sistemi di Automazione

Progetto e sviluppo di una Applicazione Android per l accesso a reti di sensori senza filo

ICT-Progetti Offerta formativa. Catalogo corsi 2017 per i privati

ERP, ENTERPRISE RESOURCE PLANNING

Tivoli User Group Italia 30 Novembre S2Rules. Francesco Ronsivalle - S2Company Giovanni Salvia S2Company IBM Corporation

Piattaforma di Comunicazione Unificata

Sviluppo di una piattaforma per lo streaming multimediale in ambiente Android

Progetto ed implementazione di un tool di supporto allo sviluppo di applicazioni per Linux LibeRTOS

Sistemi informativi secondo prospettive combinate

SOA case study. Un esempio di progetto SOA. Le esperienze maturate sul campo. organizzato da:

Open Database Connectivity (ODBC)

Progetto di un sistema di videosorveglianza basato su tecnologie multi-agente Corso di Laurea Magistrale in Ingegneria Informatica

Le metodologie utilizzate saranno interattive e affiancate dalla realizzazione di project work utili a rendere concrete le lezioni teoriche.

SISTEMA GESTIONE TOMBINI

Sistemi Di Elaborazione Dell informazione

System Design (SD) MGT MiGiocoTutto

Confronto tra strumenti e tecniche per il Reverse Engineering in Macromedia Flash e Microsoft Silverlight

Transcript:

tesi di laurea Analisi e comparazione dei Framework OpenSwing e Google Web Toolkit. Anno Accademico 2009/2010 relatore Ch.mo prof. Porfirio Tramontana correlatore Ing. Luca Anniciello candidato Gianluca Russo Matr. 534/2100

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.

Pattern Model View Controller Architectural Pattern, utilizzato per dividere l applicazione in tre componenti con ruoli e funzionalità ben distinte CONTROLLER Incapsula la logica di controllo Ha la responsabilità di gestire le richieste in ingresso Interagisce con il Model, passando i dati provenienti dalla View MODEL Implementa la logica di Business Incapsula la tecnologia di accesso ai dati Notifica alla View i cambiamenti Ha la responsabilità di gestione del database 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

Google Web Toolkit Google Web Toolkit è un toolkit di sviluppo Open Source per la creazione e l ottimizzazione di applicazioni Ajax complesse, basate su browser. Sviluppo Permette di scrivere applicazioni Ajax in Java e compilare il codice sorgente in JavaScript altamente ottimizzato, che viene eseguito in tutti i browser, inclusi browser mobile per Android e Iphone.. Debug È possibile effettuare il debug delle applicazioni direttamente dall IDE preferito, oppure da browser web. Ottimizzazione Il compilatore GWT rimuove il codice non utilizzato, ottimizza le stringhe, suddivide il codice in più segmenti per un avvio più veloce. Esecuzione Due modalità: Development Mode e Web Mode, L applicazione creata si comporterà come una tradizionale applicazione desktop. History RPC Deferred Binding User Interface Libray WindowBuilder Pro No-Install

OpenSwing OpenSwing è una suite di componenti grafici avanzati Open Source, basata sul toolkit Swing che fornisce un utile supporto alla creazione di applicazioni complesse. Caratteristiche: ÈÈ un framework che aggiunge molteplici funzionalità alla libreria base Swing di Java per la creazione di interfacce grafiche Favorisce lo sviluppo di applicazioni Enterprise basate su GUI ricche di contenuti. Definisce le linee guida per la progettazione di un applicazione e dei suoi componenti, ed il loro corretto utilizzo. Disaccoppiamento tra sviluppo di GUI e problematiche relative alla logica dei dati Utilizzabile da tutte le piattaforme (a patto che sia installato Java Runtime Environment) Data Binding Graphical Editor MVC Java Web Start

Modelli di comunicazione Modello tradizionale Client- (sincrono) Client Interazione Interazione Interazione Utente Utente Utente Richiesta Risposta Processo Network Tempo Richiesta Risposta Processo Modello Asincrono di applicazioni Ajax Browser Ajax Engine Azione Update Processo Client Richiesta Risposta Processo Processo Evento Esterno Tempo Interazione Utente Update Update Azione Update Network Processo Client Risposta Richiesta Processo

Caso studio Analisi dei Requisiti 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, Utenti e Vendite. Use case diagram Dall analisi dei requisiti è possibile estrarre le funzionalità del sistema, intese come le possibili interazioni dell utente con esso Utente Visualizza Utenti e Vendite Inserisce Utenti e Vendite Elimina Utenti e Vendite Modifica Utenti e Vendite

Progettazione dell architettura Dalle specifiche dei requisiti, è possibile progettare l architettura generale del sistema CONTROLLER VIEW L architettura è composta da tre moduli ben distinti: Model (condiviso dalle due applicazioni) Controller View MODEL <<reside> > +Utente <<reside>> +Vendita <<reside>> +ListaVendite ConnessioneDB <<reside>> +ListaUtenti Database

Interfaccia utente Google Web Toolkit OpenSwing

Confronto Google Web Toolkit OpenSwing 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

Conclusioni OpenSwing è ormai già presente da molto tempo sul mercato, ha acquisito un elevato grado di maturità che viene preferita in quelle particolari applicazioni di tipo Enterprise, gestionali, ERP etc. Google Web Toolkit è ancora un framework giovane, ma che si basa su una tecnologia, quella Ajax, che sta diventando sempre più lo standard per le nuove applicazioni L adozione del pattern MVC, garantisce al software di essere aumentato per far fronte ai nuovi requisiti, e di essere esteso per renderlo interoperabile con ulteriori sistemi e tecnologie Sviluppi futuri: Verificare le nuove funzionalità messe a disposizione dalla v.2.1 di GWT, in particolare i nuovi tool di sviluppo: