MODEL-VIEW-CONTROLLER PROBLEMA

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "MODEL-VIEW-CONTROLLER PROBLEMA"

Transcript

1 MODEL VIEW CONTROLLER DESIGN PATTERN MODEL-VIEW-CONTROLLER INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica, A.A Architetturali Model view controller 2 INTRODUZIONE E CONTESTO PROBLEMA Pattern architetturale Inizialmente utilizzato per GUI Smalltalk-80 ora pattern base dell architettura J2EE,.NET, RoR e dei maggiori framework JS: AngularJS, BackboneJS,... Supporto a diverse tipologie di utenti con diverse interfacce Rischio di duplicazione del codice ( cut and paste ) Contesto d utilizzo Applicazioni che devono presentare attraverso una GUI un insieme di informazioni Le informazioni devono essere costantemente aggiornate Separation of concerns Le persone responsabili dello sviluppo hanno compentenze differenti 3 4

2 NECESSITÀ Accesso ai dati attraverso viste differenti Ad esempio: HTML/Js, JSP, XML, JSON I dati devono poter essere modificati attraverso interazioni differenti con i client Ad esempio: messaggi SOAP, richieste HTTP, SOLUZIONE E STRUTTURA Disaccoppiamento (separation of concerns) Model: dati di business e regole di accesso View: rappresentazione grafica Controller: reazione della UI agli input utente (application logic) Il supporto a diverse viste non deve influire sulle componenti che forniscono le funzionalità base. 5 6 SOLUZIONE E STRUTTURA SOLUZIONE E STRUTTURA Model Definisce il modello dati Regole di business Dati e le operazioni su questi Progettato mediante tecniche object oriented Design pattern Notifica alla view aggiornamenti del modello dati Observer pattern deve visualizzare sempre dati aggiornati! 7 Gestisce la logica di presentazione verso i vari utenti Metodi di interazione con l applicazione Cattura gli input utente e delega al controller l elaborazione Aggiornamento push model La view deve essere costantemente aggiornata Utilizzo design pattern Observer MVC in un solo ambiente di esecuzione (i.e. Javascript) Aggiornamento pull model La view richiede aggiornamenti solo quando è opportuno MVC su diversi ambienti di esecuzione Strategia JEE classico (JSP, Servlet) 8

3 SOLUZIONE E STRUTTURA STRATEGIE Controller Trasforma le interazioni dell utente (view) in azioni sui dati (model) Realizza l application logic Esiste un Controller per ogni View Design patten Strategy Modifica degli algoritmi che permettono l interazione utente con il model. Input 1 Input 2 Controller T(Input 1) T(Input 2) Model 9 Nativo Web based (server) View: JSP Controller: Servlet Controller centralizzato Una sola servlet come controller (Front Controller pattern) Configurazione tramite XML o annotazioni Model: EJB / Hibernate / MyBatis Web based (client, single page application) View: Javascript e template Controller: Javascript (routing) Model: Javascript Sincronizzazione con backend tramite API REST/SOAP 10 COLLABORAZIONI COLLABORAZIONI Design pattern Observer ( push model ) Design pattern Observer ( push model ) Controller osserva View View osserva Model 11 12

4 ESEMPIO PRATICO - PULL MODEL Ricordate il nostro esempio? Esempio Il cliente sfoglia il catalogo ed aggiunge i prodotti desiderati al carrello della spesa. Quando il cliente termina l acquisto e deve pagare, lo stesso fornisce le informazioni sulla consegna dei prodotti e sulla carta di credito. Il sistema verifica l autorizzazione al pagamento con carta di credito e conferma l acquisto immediatamente e mediante una successiva mail. ESEMPIO PRATICO - PULL MODEL Il pattern MVC in Java Controller Model Proviamo a dare un esempio di GUI progettata utilizzando MVC (pull model) 13 View 14 ESEMPIO PRATICO - PULL MODEL ESEMPIO PRATICO - PULL MODEL Selezione di un prodotto e aggiunta al carrello View: pagina JSP di selezione del prodotto taglib uri="tlds/taglib.tld" prefix="tg" %> <html> <head>aggiungi carrello</head> <body> <form action="selezione_prodotto.do" method="post"> <tg:for name="prodotto" value="${catalogo.prodotto"> <tg:checkbox name="${prodotto.nome" value="${prodotto.id" display="${prodotto.descrizione" /> </tg:for> </form> </body> </html> Lista di prodotto 15 Selezione di un prodotto e aggiunta al carrello Controller: HttpServlet, trasformazione e redirezione public class ServletControllo extends HttpServlet { public void doget(request, response){ String prod = request.getparameter("checkboxprod"); HttpSession session = request.getsession(true); Recupero input Prodotto prodselez = (session.getattribute("listaprodotti")).get(prod); Carrello carrello = (Carrello) session.getattribute("carrello"); carello.addprodotto(prodselez); response.sendredirect("sezioneprodotti"); 16 Selezione destinazione del processo

5 ESEMPIO PRATICO - PULL MODEL Selezione di un prodotto e aggiunta al carrello Model: business, aggiunta del prodotto al carrello public class ServletControllo extends HttpServlet { public void doget(request, response){ String prod = request.getparameter("checkboxprod"); HttpSession session = request.getsession(true); Prodotto prodselez = (session.getattribute("listaprodotti")).get(prod); Carrello carrello = (Carrello) session.getattribute("carrello"); carello.addprodotto(prodselez); response.sendredirect("sezioneprodotti"); Operazioni di business 17 ESEMPIO PRATICO PUSH MODEL Esempio Vogliamo costruire un applicazione che permetta la gestione di foto e album fotografici da parte di un utente. Model var Photo = Backbone.Model.extend({ // Default attributes for the photo defaults: { src: "placeholder.jpg", caption: "A default image", viewed: false, // Ensure that each photo created has an `src`. initialize: function() { this.set( { "src": this.defaults.src ); ); Modello dati semplice 18 ESEMPIO PRATICO PUSH MODEL CONSEGUENZE var buildphotoview = function ( photomodel, photocontroller ) { //... var render = function () { photoel.innerhtml = _.template( "#phototemplate", { src: photomodel.getsrc() Templating ); ; photomodel.addsubscriber( render ); photoel.addeventlistener( "click", function () { photocontroller.handleevent( "click", photomodel ); ); //... return { showview: show, hideview: hide ; ; Operazioni esposte dalla vista Osservazione modello e comunicazione attiva con controller 19 Riuso dei componenti dei model Riutilizzo dello stesso model da parte di differenti view Miglior manutenzione e processo di test Supporto più semplice per nuovi tipi di client Creazione nuova view e controller Maggiore complessità di progettazione Introduzione molte classi per garantire la separazione 20

6 MODEL VIEW PRESENTER Presenter (passive view) Man in the middle Osserva il modello Aggiorna e osserva la vista (dumb) Interfaccia di comunicazione Metodi setter e getter per il recupero dei dati Si riduce ad un template di visualizzazione e ad un interfaccia di comunicazione Può essere sostituita da un mock in fase di test In Js si espone un protocollo 21 MODEL VIEW VIEWMODEL Separazione sviluppo UI dalla business logic Model Modella i dati, senza le operazioni su essi (dumb) Model Proiezione del modello per una vista Binding con la vista e il modello Dati e operazioni che possono essere eseguiti su una UI Dichiarativa (utilizzando linguaggi di markup) Two-way data-binding con proprietà del ViewModel Non possiede più lo stato dell applicazione. 22 MODEL VIEW VIEWMODEL GLOSSARIO Comunicazione tramite data-binding e eventi JEE Java Enterprise Edition Insieme di specifiche per l implementazione di applicazioni enterprise Partecipazione attiva del ViewModel sui dati del Model Enterprise Java Bean (EJB), Servlet, Java Server Pages (JSP), Web services, Portlet, JMS,....NET Framework corrispondente in casa Microsoft RoR, Ruby on Rails Framework di agile programming basato su Ruby Grails 23 Framework di agile programming basato su Groovy 24

7 RIFERIMENTI Design Patterns, Elements of Reusable Object Oriented Software, GoF, 1995, Addison-Wesley GUI Arichitectures MVC Core J2EE MVC design pattern Core J2EE Front controller pattern ontcontroller.html Learning Javascript Design Patterns book/ 25

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

J2EE (o JEE): Framework Java per lo sviluppo di applicazioni WEB Enterprise, che vivono in rete e che siano accessibili attraverso browser. Il Pattern MVC J2EE (o JEE): Framework Java per lo sviluppo di applicazioni WEB Enterprise, che vivono in rete e che siano accessibili attraverso browser. Il famework Sun J2EE Component, Container e Connector:

Dettagli

Esercitazioni di PROGETTAZIONE DEL SOFTWARE A.A. 2011-2012

Esercitazioni di PROGETTAZIONE DEL SOFTWARE A.A. 2011-2012 Sapienza Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica Corso di Laurea in Ingegneria Informatica ed Automatica Corso di Laurea in Ingegneria dei Sistemi Informatici

Dettagli

CORSO DI PROGRAMMAZIONE JAVA

CORSO DI PROGRAMMAZIONE JAVA CORSO DI PROGRAMMAZIONE JAVA Corso di Programmazione Java Standard Edition ( MODULO A) OBIETTIVI ll corso ha come obiettivo quello di introdurre la programmazione a oggetti (OOP) e di fornire solide basi

Dettagli

Applicazione: GAS - Gestione AcceSsi

Applicazione: GAS - Gestione AcceSsi Riusabilità del software - Catalogo delle applicazioni Gestione ICT Applicazione: GAS - Gestione AcceSsi Amministrazione: Consiglio Nazionale delle Ricerche (CNR) Responsabile dei sistemi informativi Nome

Dettagli

Implementazione di MVC. Gabriele Pellegrinetti

Implementazione di MVC. Gabriele Pellegrinetti Implementazione di MVC Gabriele Pellegrinetti 2 Come implementare il pattern Model View Controller con le tecnologie JSP, ASP e XML Implementazione del pattern MVC in Java (JSP Model 2) SUN è stato il

Dettagli

Programmazione server-side: Java Servlet

Programmazione server-side: Java Servlet Programmazione server-side: Java Servlet Corso di Applicazioni Telematiche A.A. 2006-07 Lezione n.11 parte II Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Cos

Dettagli

SWIM v2 Design Document

SWIM v2 Design Document PROGETTO DI INGEGNERIA DEL SOFTWARE 2 SWIM v2 DD Design Document Matteo Danelli Daniel Cantoni 22 Dicembre 2012 1 Indice Progettazione concettuale Modello ER Entità e relazioni nel dettaglio User Feedback

Dettagli

DESIGN PATTERN CREAZIONALI INGEGNERIA DEL SOFTWARE INTRODUZIONE SINGLETON. Scopo dei design pattern creazionali

DESIGN PATTERN CREAZIONALI INGEGNERIA DEL SOFTWARE INTRODUZIONE SINGLETON. Scopo dei design pattern creazionali DESIGN PATTERN CREAZIONALI DESIGN PATTERN CREAZIONALI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica, A.A. 2013 2014 rcardin@math.unipd.it

Dettagli

Framework di Middleware. per Architetture Enterprise

Framework di Middleware. per Architetture Enterprise Framework di Middleware per Architetture Enterprise Corso di Ingegneria del Software A.A.2011-2012 Un po di storia 1998: Sun Microsystem comprende l importanza del World Wide Web come possibile interfaccia

Dettagli

Da Settembre 2010 Oggi. Go Project srl via Alessandria 88, Roma. Inail Istituto Nazionale Infortuni sul Lavoro

Da Settembre 2010 Oggi. Go Project srl via Alessandria 88, Roma. Inail Istituto Nazionale Infortuni sul Lavoro F O R M A T O E U R O P E O P E R I L C U R R I C U L U M V I T A E Qualifica: INFORMAZIONI PERSONALI Nome Nazionalità italiana Data di nascita 08/10/1974 ESPERIENZA LAVORATIVA Date (da a) Da Settembre

Dettagli

Architetture Software

Architetture Software Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Ingegneria del Software Architetture Software Giulio Destri Ing. del Sw: Architettura - 1 Scopo del modulo

Dettagli

Mobile & Technology. Area di formazione. Corso ios base. Corso ios avanzato. Il mondo delle App: idee, creatività, business.

Mobile & Technology. Area di formazione. Corso ios base. Corso ios avanzato. Il mondo delle App: idee, creatività, business. Area di formazione Mobile & Technology 01 02 03 04 05 Corso ios base Corso ios avanzato Il mondo delle App: idee, creatività, business Progetto App AngularJS - Up and running 01 Corso ios base Ore: 24

Dettagli

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

Sviluppo e manutenzione di un applicazione CAD tramite le WPF e l MV-VM Metodologie e strumenti per il reengineering del workflow management Tesi di Laurea tramite le WPF e l MV-VM 2011/2012 Relatore Ch.mo prof. Porfirio Tramontana Correlatore Ch.mo ing. Davide Affaticati

Dettagli

La Roadmap dello sviluppo per System i5: dalle Applicazioni Legacy alla SOA

La Roadmap dello sviluppo per System i5: dalle Applicazioni Legacy alla SOA IBM System i5 La Roadmap dello sviluppo per System i5: dalle Applicazioni Legacy alla SOA Massimo Marasco System i Technical Sales Support massimo_marasco@it.ibm.com Oriented Architecture (SOA) Servizio

Dettagli

L architettura MVC (Model- View-Controller) Introduzione

L architettura MVC (Model- View-Controller) Introduzione L architettura MVC (Model- View-Controller) Introduzione Architettura MCV L architettura MVC è un insieme di regole per strutturare un sito-web dinamico. Queste regole complicano la struttura del sito,

Dettagli

Il Pattern PROXY. Ex presentazione realizzata dallo studente Paolo Melchiori (matricola 65734) nell a.a. 2007-2008

Il Pattern PROXY. Ex presentazione realizzata dallo studente Paolo Melchiori (matricola 65734) nell a.a. 2007-2008 UNIVERSITÀ DEGLI STUDI DI BRESCIA FACOLTÀ DI INGEGNERIA CORSO DI LAUREA SPECIALISTICA IN INGEGNERIA INFORMATICA DIPARTIMENTO DI ELETTRONICA PER L'AUTOMAZIONE Il Pattern PROXY Ex presentazione realizzata

Dettagli

Introduzione al Model-View-Controller (MVC)

Introduzione al Model-View-Controller (MVC) Introduzione al Model-View-Controller (MVC) Maurizio Cozzetto 9 Luglio 2009 Indice 1 Model-View-Controller 1 1.1 Definizione.................................................. 1 1.2 Soluzione...................................................

Dettagli

Lezione di Basi di Dati 1 18/11/2008 - TECNOLOGIE PER IL WEB: CGI - AJAX SERVLETS & JSP

Lezione di Basi di Dati 1 18/11/2008 - TECNOLOGIE PER IL WEB: CGI - AJAX SERVLETS & JSP EVOLUZIONE DEL WEB: PAGINE STATICHE vs PAGINE DINAMICHE Il Web è nato a supporto dei fisici, perché potessero scambiare tra loro le informazioni inerenti le loro sperimentazioni. L HTTP è nato inizialmente

Dettagli

Area di formazione. Mobile & Technology. Ingolosito dalle nuove tecnologie? Appassionato di sviluppo App e Mobile? Corso ios avanzato Swift

Area di formazione. Mobile & Technology. Ingolosito dalle nuove tecnologie? Appassionato di sviluppo App e Mobile? Corso ios avanzato Swift Area di formazione Mobile & Technology Ingolosito dalle nuove tecnologie? Appassionato di sviluppo App e Mobile? 01 02 03 04 05 Corso ios base Swift Corso ios avanzato Swift AngularJS Up and running Ideare

Dettagli

Applicazione: SIPER Servizi In linea per il PERsonale

Applicazione: SIPER Servizi In linea per il PERsonale Riusabilità del software - Catalogo delle applicazioni Gestione Personale Applicazione: SIPER Servizi In linea per il PERsonale Amministrazione: Consiglio Nazionale delle Ricerche (CNR) Responsabile dei

Dettagli

DESIGN PATTERN ESERCITAZIONE PREPARAZIONE ALL ESAME, PARTE II INGEGNERIA DEL SOFTWARE. La soluzione corretta è la c)

DESIGN PATTERN ESERCITAZIONE PREPARAZIONE ALL ESAME, PARTE II INGEGNERIA DEL SOFTWARE. La soluzione corretta è la c) DESIGN PATTERN Barrare con una X la lettera del diagramma delle classi che fra i seguenti rappresenta in modo corretto il design pattern architetturale Model View Controller (MVC) ESERCITAZIONE PREPARAZIONE

Dettagli

Breve introduzione curata da Alessandro Benedetti. Struts2-Introduzione e breve guida

Breve introduzione curata da Alessandro Benedetti. Struts2-Introduzione e breve guida Breve introduzione curata da Alessandro Benedetti Struts2-Introduzione e breve guida 22-11- 2008 1 Struts 2 Costruisci,attiva e mantieni! Apache Struts 2 è un framework elegante ed estensibile per creare

Dettagli

Strutture di accesso ai dati

Strutture di accesso ai dati Strutture di accesso ai dati 1 A L B E R T O B E L U S S I P A R T E I I A N N O A C C A D E M I C O 2 0 1 0-2 0 1 1 Gestore dei metodi di accesso 2 E il modulo del DBMS che trasforma il piano di esecuzione

Dettagli

Breve introduzione allo sviluppo WEB. a cura di Ciro Attanasio - ciro.attanasio@email.cz

Breve introduzione allo sviluppo WEB. a cura di Ciro Attanasio - ciro.attanasio@email.cz Breve introduzione allo sviluppo WEB a cura di Ciro Attanasio - ciro.attanasio@email.cz Partiamo (1 di 1) Come funziona il WEB e quali tecnologie lo compongono Cos è un Client (1 di 2) Un client, in informatica,

Dettagli

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

PROGETTAZIONE E SVILUPPO DI UN. Relatore: Studente: Paolo Merialdo Valerio Barbagallo PROGETTAZIONE E SVILUPPO DI UN SIMULATORE ECONOMICO FISCALE Relatore: Studente: Paolo Merialdo Valerio Barbagallo Sommario il problema: gestione e ottimizzazione del bilancio piattaforma J2EE e framework

Dettagli

Componenti di una applicazione. Un programma applicativo è strutturato come un insieme organizzato di tre componenti funzionali:

Componenti di una applicazione. Un programma applicativo è strutturato come un insieme organizzato di tre componenti funzionali: Componenti di una applicazione Un programma applicativo è strutturato come un insieme organizzato di tre componenti funzionali: Un sottosistema di interfaccia con l utente (IU, user interface o anche presentation

Dettagli

Corso Android Corso Online Sviluppo su Cellulari con Android

Corso Android Corso Online Sviluppo su Cellulari con Android Corso Android Corso Online Sviluppo su Cellulari con Android Accademia Futuro info@accademiafuturo.it Programma Generale del Corso di Sviluppo su Cellulari con Android Programma Base Modulo Uno - Programmazione

Dettagli

Framework. Impianti Informatici. Web application - tecnologie

Framework. Impianti Informatici. Web application - tecnologie Framework Web application - tecnologie Web Application: tecnologie 2 Java-based (J2EE) Sviluppata inizialmente da Sun Cross-platform e open source Gestire direttamente le funzionalità dell applicazione

Dettagli

Marco Faella Il paradigma Model-View-Controller. Il pattern Strategy.

Marco Faella Il paradigma Model-View-Controller. Il pattern Strategy. Marco Faella Il paradigma Model-View-Controller. Il pattern Strategy. 10 Lezione n. Parole chiave: Java Corso di Laurea: Informatica Insegnamento: Linguaggi di Programmazione II Email Docente: faella.didattica@gmail.com

Dettagli

Università degli Studi "Roma Tre" Dipartimento di Informatica ed automazione. Facoltà di Ingegneria. Laurea Magistrale in Ingegneria Informatica

Università degli Studi Roma Tre Dipartimento di Informatica ed automazione. Facoltà di Ingegneria. Laurea Magistrale in Ingegneria Informatica Università degli Studi "Roma Tre" Dipartimento di Informatica ed automazione Facoltà di Ingegneria Laurea Magistrale in Ingegneria Informatica Tesi di Laurea Sistema informativo per la gestione dei processi

Dettagli

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

Realizzazione di uno strumento web-based per la simulazione remota di reti di sensori senza filo tesi di laurea Realizzazione di uno strumento web-based per la simulazione remota di reti di sensori senza filo Anno Accademico 2009/2010 relatore Ch.mo prof. Marcello Cinque correlatore Ing. Catello di

Dettagli

Introduzione ad Architetture Orientate ai Servizi e Web Service

Introduzione ad Architetture Orientate ai Servizi e Web Service Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Introduzione ad Architetture Orientate ai Servizi e Web Service Corso di Sistemi Distribuiti Stefano Iannucci iannucci@ing.uniroma2.it Anno

Dettagli

Sviluppo di applicazioni web con il pattern Model-View-Controller. Gabriele Pellegrinetti

Sviluppo di applicazioni web con il pattern Model-View-Controller. Gabriele Pellegrinetti Sviluppo di applicazioni web con il pattern Model-View-Controller Gabriele Pellegrinetti 2 MVC: come funziona e quali sono vantaggi che derivano dal suo utilizzo? La grande diffusione della tecnologia

Dettagli

Esercitazione sui Design Pattern

Esercitazione sui Design Pattern Esercitazione sui Design Pattern Pattern Creazionali Singleton Permette la creazione di una sola istanza della classe all interno dell applicazione Fornisce un metodo con cui ottenere l istanza Il costruttore

Dettagli

Componenti Web: client-side e server-side

Componenti Web: client-side e server-side Componenti Web: client-side e server-side side Attività di applicazioni web Applicazioni web: un insieme di componenti che interagiscono attraverso una rete (geografica) Sono applicazioni distribuite logicamente

Dettagli

Architettura MVC-2 A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 2 / 2 0 1 3

Architettura MVC-2 A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 2 / 2 0 1 3 Architettura MVC-2 A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 2 / 2 0 1 3 Verso l architettura MVC-2 2 Il secondo passo verso l architettura MVC-2 è quello di separare il controllo dell

Dettagli

1 Applicazione J2EE sul SAP WAS con SAP NWDS http://desvino.altervista.org

1 Applicazione J2EE sul SAP WAS con SAP NWDS http://desvino.altervista.org 1 Applicazione J2EE sul SAP WAS con SAP NWDS http://desvino.altervista.org Applicazione J2EE sul SAP WAS con SAP NWDS. Il SAP Web Application Server fornisce un framework integrato per lo sviluppo e l

Dettagli

GenLApp Generazione Lista di Applicazioni. Design Patterns. Classi Essenziali. Modellazione Dati. Progettazione della Linea di Prodotti

GenLApp Generazione Lista di Applicazioni. Design Patterns. Classi Essenziali. Modellazione Dati. Progettazione della Linea di Prodotti Progettazione della Linea di Prodotti GenLApp Generazione Lista di Applicazioni Progettazione della Linea di Prodotti Classi Essenziali Responsabilità sui 3 Livelli Architetturali Descrizione delle Responsabilità

Dettagli

Candidato: Luca Russo Docente: Prof. Raffaele Montella. 27 Marzo 2013

Candidato: Luca Russo Docente: Prof. Raffaele Montella. 27 Marzo 2013 e di e di Candidato: Luca Russo Docente: Corso di laurea in Informatica Applicata Facoltá di Scienze e Tecnologie Programmazione su Reti 27 Marzo 2013 Traccia d esame Sviluppare multitier con disaccoppiamento

Dettagli

INFORMAZIONI PERSONALI

INFORMAZIONI PERSONALI F O R M A T O E U R O P E O P E R I L C U R R I C U L U M V I T A E INFORMAZIONI PERSONALI NOME INDIRIZZO SERRA DAVIDE VIA CARTESIO N 25, 80144, NAPOLI, ITALIA. CELLULARE 333 86 333 86 EMAIL NAZIONALITÀ

Dettagli

1. Destinatari e requisiti di ingresso. 2. Durata sede e organizzazione del corso. 3. Oggetto della formazione

1. Destinatari e requisiti di ingresso. 2. Durata sede e organizzazione del corso. 3. Oggetto della formazione Summer school per lo sviluppo di applicazioni software enterprise Sottotitolo: "Formazione, seminari e sviluppo software in Java. Implementazione di un caso di studio reale" Sardegna Ricerche, nell ambito

Dettagli

WEBsfa: l automazione della forza vendita via Web

WEBsfa: l automazione della forza vendita via Web WEBsfa: l automazione della forza vendita via Web White Paper 1 Gennaio 2005 White Paper Pag. 1 1/1/2005 L automazione della Forza Vendita Le aziende commerciali che che sviluppano e alimentano il proprio

Dettagli

CORSO DI PROGRAMMAZIONE JAVA STANDARD + ENTERPRISE EDITION

CORSO DI PROGRAMMAZIONE JAVA STANDARD + ENTERPRISE EDITION CORSO DI PROGRAMMAZIONE JAVA STANDARD + ENTERPRISE EDITION 0 DURATA 200 ore CONTENUTI Oracle PL/SQL Introduzione al PL/SQL Cenni su SQL con utilizzo di SQL*PLUS Configurazione ambiente Developer DB Classi,

Dettagli

Applicazioni web. Sommario. Parte 6 Servlet Java. Applicazioni web - Servlet. Alberto Ferrari 1. Servlet Introduzione alle API ed esempi

Applicazioni web. Sommario. Parte 6 Servlet Java. Applicazioni web - Servlet. Alberto Ferrari 1. Servlet Introduzione alle API ed esempi Applicazioni web Parte 6 Java Alberto Ferrari 1 Sommario Introduzione alle API ed esempi Tomcat Server per applicazioni web Alberto Ferrari 2 Alberto Ferrari 1 Java: da applet a servlet In origine Java

Dettagli

Architetture di sistema

Architetture di sistema Università di Bergamo Facoltà di Ingegneria Applicazioni Internet B Paolo Salvaneschi B1_1 V1.6 Architetture di sistema Il contenuto del documento è liberamente utilizzabile dagli studenti, per studio

Dettagli

Programma didattico. Sviluppare Applicazioni Distribuite in ambiente. Spring MVC

Programma didattico. Sviluppare Applicazioni Distribuite in ambiente. Spring MVC Programma didattico Sviluppare Applicazioni Distribuite in ambiente Spring MVC Programma del corso 1.Progettazione e Sviluppo Database Relazionali Questa competenza permette di Progettare e Sviluppare

Dettagli

Architettura e tecnologie per lo sviluppo del Setup-Dashboard. Setup Srl Information Technologies

Architettura e tecnologie per lo sviluppo del Setup-Dashboard. Setup Srl Information Technologies Architettura e tecnologie per lo sviluppo del Setup-Dashboard Setup Srl Information Technologies 1 Introduzione INTRODUZIONE In seguito a diverse richieste, Setup ha deciso di sviluppare un modulo denominato

Dettagli

SOMMARIO DIAGRAMMI DEI PACKAGE

SOMMARIO DIAGRAMMI DEI PACKAGE SOMMARIO INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica, A.A. 2011 2012 2 rcardin@math.unipd.it SOMMARIO 3 4 Specifica Tecnica Diagrammi

Dettagli

Corso Analista Programmatore Java Corso Online Analista Programmatore Java

Corso Analista Programmatore Java Corso Online Analista Programmatore Java Corso Analista Programmatore Java Corso Online Analista Programmatore Java Accademia Futuro info@accademiafuturo.it Programma Generale del Corso Analista Programmatore Java Tematiche Trattate Modulo Uno

Dettagli

Allegato 1 CIG 58703795FF PROCEDURA DI AFFIDAMENTO PER LA FORNITURA DI UNA PIATTAFORMA PER SERVICE MASHUP AND DELIVERY CAPITOLATO TECNICO

Allegato 1 CIG 58703795FF PROCEDURA DI AFFIDAMENTO PER LA FORNITURA DI UNA PIATTAFORMA PER SERVICE MASHUP AND DELIVERY CAPITOLATO TECNICO PROCEDURA DI AFFIDAMENTO PER LA FORNITURA DI UNA PIATTAFORMA PER SERVICE MASHUP AND DELIVERY CAPITOLATO TECNICO SOMMARIO 1 Oggetto della Fornitura... 3 2 Composizione della Fornitura... 3 2.1 Piattaforma

Dettagli

Concetti base. Impianti Informatici. Web application

Concetti base. Impianti Informatici. Web application Concetti base Web application La diffusione del World Wide Web 2 Supporto ai ricercatori Organizzazione documentazione Condivisione informazioni Scambio di informazioni di qualsiasi natura Chat Forum Intranet

Dettagli

Vaudi Valerio Via Sessa Aurunca 8 00042 Anzio Roma valerio.vaudi@gmail.com 069873633 339/2381976 14/12/1985 Italiana Maschile VDAVLR85T14A323Q

Vaudi Valerio Via Sessa Aurunca 8 00042 Anzio Roma valerio.vaudi@gmail.com 069873633 339/2381976 14/12/1985 Italiana Maschile VDAVLR85T14A323Q Curriculum Vitae Informazioni personali Cognome Nome Indirizzo C.A.P. Citta Provincia E-mail Telefono Cellulare Data di nascita Cittadinanza Sesso Codice fiscale Vaudi Valerio Via Sessa Aurunca 8 00042

Dettagli

Analisi e sviluppo di un portale di e-commerce

Analisi e sviluppo di un portale di e-commerce tesi di laurea Analisi e sviluppo di un portale di e-commerce 2011/2012 relatore Ch.mo prof. Porfirio Tramontana correlatore Ch.mo Antonio Agliata candidato Roberta Petruzzo Matr. 534/1042 Introduzione

Dettagli

Progettazione: Tecnologie e ambienti di sviluppo

Progettazione: Tecnologie e ambienti di sviluppo Contratto per l acquisizione di servizi di Assistenza specialistica per la gestione e l evoluzione del patrimonio software della Regione Basilicata. Repertorio n. 11016 del 25/09/2009 Progettazione: Tecnologie

Dettagli

Architetture di sistema

Architetture di sistema Università di Bergamo Facoltà di Ingegneria Applicazioni Internet B Paolo Salvaneschi B1_1 V1.7 Architetture di sistema Il contenuto del documento è liberamente utilizzabile dagli studenti, per studio

Dettagli

Pattern Architetturali e Analisi Architetturale

Pattern Architetturali e Analisi Architetturale Pattern Architetturali e Analisi Architetturale Ingegneria del Software parte II Andrea Bei Pattern Architetturali Pattern Architetturale Descrive il modello organizzativo strutturale di un sistema software

Dettagli

Corso analista programmatore Java. Corso analista programmatore Java Programma

Corso analista programmatore Java. Corso analista programmatore Java Programma Corso analista programmatore Java Programma 1.1 Obiettivo e modalità di fruizione L obiettivo del corso è di fornire le conoscenze tecniche e metodologiche per svolgere la professione di Programmatore

Dettagli

Università degli studi di Ferrara. Sviluppo di un Web Service per la classificazione del suolo e sua integrazione sul Portale SSE

Università degli studi di Ferrara. Sviluppo di un Web Service per la classificazione del suolo e sua integrazione sul Portale SSE Università degli studi di Ferrara Facoltà di scienze MM.FF.NN. Corso di Laurea Specialistica in Informatica Sviluppo di un Web Service per la classificazione del suolo e sua integrazione sul Portale SSE

Dettagli

DESIGN PATTERN STRUTTURALI INGEGNERIA DEL SOFTWARE INTRODUZIONE ADAPTER. Scopo Convertire l interfaccia di una classe in un altra.

DESIGN PATTERN STRUTTURALI INGEGNERIA DEL SOFTWARE INTRODUZIONE ADAPTER. Scopo Convertire l interfaccia di una classe in un altra. DESIGN PATTERN STRUTTURALI DESIGN PATTERN STRUTTURALI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica, A.A. 2013 2014 rcardin@math.unipd.it

Dettagli

Basi di dati e Web (Moduli: Laboratorio e Siti Web centrati sui Dati) Prova scritta del 14 luglio 2008

Basi di dati e Web (Moduli: Laboratorio e Siti Web centrati sui Dati) Prova scritta del 14 luglio 2008 Basi di dati e Web (Moduli: Laboratorio e Siti Web centrati sui Dati) Prova scritta del 14 luglio 2008 Avvertenze: e severamente vietato consultare libri e appunti; chiunque verrà trovato in possesso di

Dettagli

F O R M A T O E U R O P E O

F O R M A T O E U R O P E O F O R M A T O E U R O P E O P E R I L C U R R I C U L U M V I T A E Informazioni personali Nome e Cognome Caruso Indirizzo Via Casale dei Greci 1bis 95031 Adrano (Catania) Telefono 3288850975 E-mail andrealuca.caruso@gmail.com

Dettagli

SCUOLA POLITECNICA. 1 semestre Facoltativa Voto in trentesimi

SCUOLA POLITECNICA. 1 semestre Facoltativa Voto in trentesimi SCUOLA ANNO ACCADEMICO OFFERTA 2015/2016 ANNO ACCADEMICO EROGAZIONE 2017/2018 CORSO DILAUREA INSEGNAMENTO TIPO DI ATTIVITA' AMBITO CODICE INSEGNAMENTO 18033 SETTORI SCIENTIFICO-DISCIPLINARI SCUOLA POLITECNICA

Dettagli

Programmazione Java Avanzata

Programmazione Java Avanzata Programmazione Java Avanzata Introduzione a Servlet e Struts 2 Ing. Giuseppe D'Aquì 1 Testi Consigliati Java Enterprise in a nutshell, 3 rd edition (O'Reilly) Struts 2 in Action Brown, Davis, Stanlick

Dettagli

PROGRAMMA CORSO Analista Programmatore JAVA - ORACLE

PROGRAMMA CORSO Analista Programmatore JAVA - ORACLE PROGRAMMA CORSO Analista Programmatore JAVA - ORACLE 1. JAVA 1.1 Introduzione a Java Introduzione Cosa è Java 1.2 Sintassi e programmazione strutturata variabili e metodi tipi di dati, array operatori

Dettagli

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

Il Pattern MVC nei Framework di sviluppo per applicazioni Web. Analisi e comparazione di SPRING MVC Framework e ASP.NET MVC Framework. tesi di laurea Il Pattern MVC nei Framework di sviluppo per applicazioni Web. Analisi e comparazione di SPRING MVC Framework e ASP.NET MVC Framework. Anno Accademico 2008/2009 relatore Ch.mo prof. Porfirio

Dettagli

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 9 Architettura Model-View-Controller (MVC) Adottando l'architettura MVC e la tecnologia Servlet-JSP, un'applicazione web può essere realizzata

Dettagli

Introduzione alla programmazione Http lato server in Java

Introduzione alla programmazione Http lato server in Java Introduzione alla programmazione Http lato server in Java Tito Flagella Laboratorio Applicazioni Internet - Università di Pisa Slide API Java Titleper il Protocollo Http Programmazione Client java.net.url

Dettagli

Corso Android Corso Online Programmatore Android

Corso Android Corso Online Programmatore Android Corso Android Corso Online Programmatore Android Accademia Domani Via Pietro Blaserna, 101-00146 ROMA (RM) info@accademiadomani.it Programma Generale del Corso Modulo Uno - Programmazione J2ee 1) Programmazione

Dettagli

Port Community System del Porto di Ravenna CONFIGURAZIONE

Port Community System del Porto di Ravenna CONFIGURAZIONE Port Community System del Porto di Ravenna CONFIGURAZIONE SOMMARIO Indicazioni generali... 3 Dipendenze software... 4 Lato server... 4 Lato client... 4 Organizzazione del sistema... 5 Struttura delle directory...

Dettagli

Corso Programmazione Java Android. Programma

Corso Programmazione Java Android. Programma Corso Programmazione Java Android Programma 1.1 Obiettivo e modalità di fruizione L obiettivo del corso è di fornire le conoscenze tecniche e metodologiche per svolgere la professione di Programmatore

Dettagli

Interoperabilità e cooperazione applicativa tra sistemi informativi

Interoperabilità e cooperazione applicativa tra sistemi informativi Interoperabilità e cooperazione applicativa tra sistemi informativi Michele Ruta Dipartimento di Ingegneria Elettrica e dell Informazione Politecnico di Bari 1di 29 Indice Introduzione ai Port Community

Dettagli

ALLEGATO 8.1 DESCRIZIONE PROFILI PROFESSIONALI

ALLEGATO 8.1 DESCRIZIONE PROFILI PROFESSIONALI PROCEDURA DI SELEZIONE PER L AFFIDAMENTO DEL SERVIZIO DI PROGETTAZIONE, ANALISI, SVILUPPO, MANUTENZIONE ADEGUATIVA, CORRETTIVA ED EVOLUTIVA DI SISTEMI INFORMATIVI SU PIATTAFORMA IBM WEBSPHERE BPM (EX LOMBARDI)

Dettagli

Corso Programmazione Java Avanzato

Corso Programmazione Java Avanzato Corso Programmazione Java Avanzato Codice: ITJA0113 Durata: 40 ore Descrizione corso Questo corso fornisce una panoramica sulle tecnologie impiegate per la realizzazione di applicazioni web basate sulla

Dettagli

Progettazione di interfacce web indipendenti dal dispositivo

Progettazione di interfacce web indipendenti dal dispositivo Progettazione di interfacce web indipendenti dal dispositivo Candidato Izzo Giovanni, Matr. 41/1305 Relatore Prof. Porfirio Tramontana 1 Panoramica su contesto ed obiettivi Il contesto della tesi è legato

Dettagli

simplesoad SERVICE ENGINEER

simplesoad SERVICE ENGINEER SIMPLE ENGINEERING simplesoad SERVICE ENGINEER TRAINING CYCLE SHEET SIMPLESOAD_SE_COURSE_SHEET_IT_2007032701 SIMPLE ENGINEERING 2007 - ALL RIGHTS RESERVED. SIMPLE ENGINEERING IS AN INDEPENDENT EUROPEAN

Dettagli

Architettura SW Definizione e Notazioni

Architettura SW Definizione e Notazioni Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Stili Architetturali E. TINELLI Architettura SW Definizione e Notazioni Definizione ANSI/IEEE Std Std1471-2000

Dettagli

Streaming Tool per CoFFEE

Streaming Tool per CoFFEE Streaming Tool per CoFFEE a cura di Gerardo Lombardo CoFFEE Cooperative Face-to-Face Educational Environment Groupware Suite di applicazioni distribuite (in LAN) per il problem solving collaborativo in

Dettagli

Tipi fondamentali di documenti web

Tipi fondamentali di documenti web Tipi fondamentali di documenti web Statici. File associati al web server il cui contenuto non cambia. Tutte le richieste di accesso conducano alla visualizzazione della stessa informazione. Dinamici. Non

Dettagli

Meet O Matic. Design Document. Autori: Matteo Maggioni Luca Mantovani. Matricola: 721923 721014

Meet O Matic. Design Document. Autori: Matteo Maggioni Luca Mantovani. Matricola: 721923 721014 Meet O Matic Design Document Autori: Matteo Maggioni Luca Mantovani Matricola: 721923 721014 1 Indice 1 Introduzione 4 2 Architettura 4 3 Definizione della base di dati 6 3.1 Tabelle, campi e chiavi primarie.................

Dettagli

Progettazione e sviluppo di un Network Management System per reti wireless in configurazione Mesh-AP

Progettazione e sviluppo di un Network Management System per reti wireless in configurazione Mesh-AP Progettazione e sviluppo di un per reti wireless in configurazione Mesh-AP Relatore: Ing. TOMMASO PECORELLA 11 aprile 2006 Correlatore: Ing. LEONARDO MACCARI UNIVERSITÀ DEGLI STUDI DI FIRENZE Facoltà di

Dettagli

Tecnologie di Sviluppo per il Web

Tecnologie di Sviluppo per il Web Tecnologie di Sviluppo per il Web Applicazioni Web J2EE Framework per il Modello 2 it.unibas.pinco versione 3.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Estensione di un sistema per la gestione semi-automatica di siti didattici con XML

Estensione di un sistema per la gestione semi-automatica di siti didattici con XML Università degli Studi di Milano Bicocca Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Informatica Estensione di un sistema per la gestione semi-automatica di siti didattici con

Dettagli

PRIMO MODULO. DURATA: 80 ore CONTENUTI

PRIMO MODULO. DURATA: 80 ore CONTENUTI 0 PRIMO MODULO DURATA: 80 ore CONTENUTI 1. Introduzione alla programmazione a. Cosa è la programmazione strutturata b. Strutture dati c. Come si affronta una problematica da risolvere d. Quali sono i passi

Dettagli

Java Server Pages. Corso di Applicazioni Telematiche. A.A. 2006-07 Lezione n.18 Prof. Roberto Canonico

Java Server Pages. Corso di Applicazioni Telematiche. A.A. 2006-07 Lezione n.18 Prof. Roberto Canonico Java Server Pages Corso di Applicazioni Telematiche A.A. 2006-07 Lezione n.18 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Java Server Pages (JSP) Java Server

Dettagli

Servlet e JDBC. Servlet e Web Server. Servlet e Web Server. Servlet e Web Server. Richieste. Servlet. Servlet:

Servlet e JDBC. Servlet e Web Server. Servlet e Web Server. Servlet e Web Server. Richieste. Servlet. Servlet: e JDBC Programmazione in Rete e Laboratorio Matteo Baldoni Dipartimento di Informatica Universita` degli Studi di Torino C.so Svizzera, 185 I-10149 Torino e : estensioni del Java API permettono di scrivere

Dettagli

Curriculum Vitae di. Pietro Martinelli

Curriculum Vitae di. Pietro Martinelli Curriculum Vitae di Pietro Martinelli Informazioni generali nato a Brescia il 19/03/1978 residenza e domicilio a Brescia in via Colle Fiorito n. 23 - c.a.p. 25123 cell. 3470189513, 3207297747 email: amicofragile@gmail.com

Dettagli

Curriculum Vitae Europass

Curriculum Vitae Europass Curriculum Vitae Europass Informazioni personali Nome / Cognome Indirizzo 20, via Cortesa, 38091, Valdaone, Trento, Italia. Telefono 3472443934 E-mail alberto.bugna@gmail.com Cittadinanza Italiana Data

Dettagli

RRF Reply Reporting Framework

RRF Reply Reporting Framework RRF Reply Reporting Framework Introduzione L incremento dei servizi erogati nel campo delle telecomunicazioni implica la necessità di effettuare analisi short-term e long-term finalizzate a tenere sotto

Dettagli

Capitolo 1. Relazione di progetto

Capitolo 1. Relazione di progetto Indice 1. Relazione di progetto... 1 1.1. Introduzione... 1 1.1.1. Diagrammi delle attività... 1 1.2. Descrizione dell'architettura... 2 1.2.1. Diagrammi preliminari dell'architettura... 2 1.2.2. Diagrammi

Dettagli

Piattaforma di Betting On Line

Piattaforma di Betting On Line Piattaforma di Betting On Line Agenda Introduzione Giochi e servizi disponibili Strumenti esterni integrati Back office Architettura del sistema Componente web Componente web service Backend Attività di

Dettagli

Design Patterns. Sommario. Architettura a 3 Livelli Concetti Generali Presentazione Dominio Sorgente Dati DIB 1. Design Patterns DIB 2

Design Patterns. Sommario. Architettura a 3 Livelli Concetti Generali Presentazione Dominio Sorgente Dati DIB 1. Design Patterns DIB 2 DIB 1 Sommario Architettura a 3 Livelli Concetti Generali Presentazione Dominio Sorgente Dati DIB 2 Architettura a 3 Livelli DIB 3 Architettura a 3 Livelli Presentazione Gestione dell interazione degli

Dettagli

Progettazione e Sviluppo dell Applicazione Web Share Mobile per Dispositivi Mobili Multipiattaforma. Elaborato di Laurea di: Marco Stanzani

Progettazione e Sviluppo dell Applicazione Web Share Mobile per Dispositivi Mobili Multipiattaforma. Elaborato di Laurea di: Marco Stanzani UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria Enzo Ferrari Sede di Modena Corso di Laurea Specialistica in Ingegneria Informatica Progettazione e Sviluppo dell Applicazione Web

Dettagli

Progettazione di Applicazioni Web

Progettazione di Applicazioni Web 1 Argomenti della lezione Progettazione di Applicazioni Web Sviluppo delle applicazioni Processo di sviluppo Formalismi grafici di supporto diagrammi UML (cenni) Scelta dell architettura Sviluppo di applicazioni

Dettagli

Applicazione: OIL Online Interactive helpdesk

Applicazione: OIL Online Interactive helpdesk Riusabilità del software - Catalogo delle applicazioni: Gestione ICT Applicazione: OIL Online Interactive helpdesk Amministrazione: Consiglio Nazionale delle Ricerche (CNR) Responsabile dei sistemi informativi

Dettagli

Programmare in ambiente Java Enterprise: l offerta formativa di Infodue

Programmare in ambiente Java Enterprise: l offerta formativa di Infodue Tecnologia e professionalità al servizio del business, dal 1986 Programmare in ambiente Java Enterprise: l offerta Copyright 2006 Infodue S.r.l. La programmazione nell era era del Web Computing L evoluzione

Dettagli

Laboratorio di reti II: Java Server Pages

Laboratorio di reti II: Java Server Pages Laboratorio di reti II: Java Server Pages Stefano Brocchi brocchi@dsi.unifi.it 6 aprile, 2009 Stefano Brocchi Laboratorio di reti II: Java Server Pages 6 aprile, 2009 1 / 34 JSP - Java Server Pages Le

Dettagli

Siti web centrati sui dati Architettura MVC-2: i JavaBeans

Siti web centrati sui dati Architettura MVC-2: i JavaBeans Siti web centrati sui dati Architettura MVC-2: i JavaBeans 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con

Dettagli

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) 12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica,

Dettagli

Server-side Programming: Java servlets Parte II

Server-side Programming: Java servlets Parte II Corso di Laurea Specialistica in Ingegneria Informatica Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni Corso di Reti di Applicazioni Telematiche a.a. 2009-2010 Server-side Programming:

Dettagli

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

Realizzazione di un prototipo di un software web based per la gestione di un inventario comunale tesi di laurea inventario comunale Anno Accademico 2009/2010 relatore Ch.mo prof. Porfirio Tramontana correlatore Ch.mo Ing. Luigi Pontillo candidato Michele Vitelli Matr. 534 2170 Redazione dell Inventario

Dettagli