Programmazione Java Avanzata Il Framework Spring

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Programmazione Java Avanzata Il Framework Spring"

Transcript

1 Programmazione Java Avanzata Il Framework Spring Ing. Gianluca Caminiti

2 Riferimenti Spring (scaricate il reference) Beginning Spring 2 - From Novice to Professional. APress (sample del capitolo 1)

3 Overview della Struttura

4 Overview della Struttura Core Container Inversion Of Control (IoC) e Dependency Injection; Bean - creazione, gestione e manipolazione di oggetti (beans). Context aggiunge le funzionalità JNDI, EJB, JMX, internazionalizzazione(i18n), ecc. Expression Language - linguaggio per interrogare e modificare oggetti a runtime. Data Access/Integration Livello di astrazione per l'accesso ai dati mediante tecnologie eterogenee tra loro (JDBC, Hibernate, ecc.) Spring AOP Aspect Oriented Programming. Supporto delle operazioni trasversali tra più oggetti (es. logging). Web Spring MVC Framework (moduli Web-Servlet e Web-Portlet). Testing Integrazione con JUnit, e presenza di Mock objects per il testing del codice in isolamento.

5 Programmazione Java Avanzata Inversion of Control e Dependency Injection Ing. Gianluca Caminiti

6 Riferimenti Spring Beginning Spring 2 - From Novice to Professional. APress (capitolo 3). (sample del capitolo 1) IoC (articolo originale in inglese) wp (traduzione in italiano)

7 Inversion of Control L'Inversion of Control è un principio architetturale nato alla fine degli anni ottanta, basato sul concetto di invertire il controllo del flusso di sistema (Control Flow) rispetto alla programmazione tradizionale. Programmazione tradizionale: lo sviluppatore definisce la logica del flusso di controllo, specificando le operazioni di creazione, inizializzazione degli oggetti ed invocazione dei metodi. IoC: Si inverte il control flow, facendo in modo che non sia più lo sviluppatore a doversi preoccupare di questi aspetti, ma il framework, che reagendo a qualche "stimolo" se ne occuperà per suo conto. Questo principio è anche conosciuto come Hollywood Principle ("Non chiamarci, ti chiameremo noi").

8 Dependency Injection Il termine Dependency Injection (DI) è utilizzato per riferirsi ad una specifica implementazione dello IoC DI è rivolta ad invertire il processo di risoluzione delle dipendenze, facendo in modo che queste vengano iniettate (a run-time) dall'esterno. Esempio di tight coupling : Una classe A si dice dipendente dalla classe B se ne usa in qualche punto i servizi offerti. Uso del costruttore Uso di una Factory Uso di un servizio di naming (lookup)

9 Dipendenza fra classi

10 Problema Le dipendenze sono scolpite nel codice Il principale problema è il fatto che ogni volta che si vuole cambiare la dipendenza, si deve modificare il codice

11 Dependency Injection Un componente esterno (assembler) si occupa della creazione degli oggetti e delle loro relative dipendenze. Gli oggetti sono assemblati e le dipendenze risolte con l'utilizzo dell'injection. In particolare esistono tre forme di injection: Constructor Injection - la dipendenza viene iniettata tramite l'argomento del costruttore Setter Injection - la dipendenza viene iniettata attraverso un metodo "set" Interface Injection - mapping tra interfaccia e relativa implementazione (non utilizzato in Spring)

12 IoCMotivationExample1

13 IoC Container Lo IoC Container fornisce un contesto altamente configurabile per la creazione e risoluzione delle dipendenze di componenti (bean, da non confondere con i JavaBean, che seguono le convenzioni note ) E realizzato da due interfacce: BeanFactory, che definisce le funzionalità di base per la gestione dei bean ApplicationContext, che estende queste funzionalità basilari aggiungendone altre tipicamente enterprise come ad esempio la gestione degli eventi, l'internazionalizzazione e l'integrazione con AOP

14 IoC Container L'interfaccia BeanFactory rappresenta la forma più semplice di IoC Container in Spring e ha il compito di: * creare i bean necessari all'applicazione * inizializzare le loro dipendenze attraverso l'utilizzo dell'injection * gestirne l'intero ciclo di vita Per fare ciò, il container si appoggia a configurazioni (via XML) impostate dall'utente che, riflettendo lo scenario applicativo, specificano i bean che dovranno essere gestiti dal container, le dipendenze che intercorrono tra questi oltre alle varie configurazioni specifiche.

15 SpringExample2

16 Programmazione Java Avanzata Spring MVC Ing. Gianluca Caminiti

17 Riferimenti Spring spring-mvc-step-by-step.pdf (contenuto nella cartella docs del file spring-framework sec01-with-dependencies.zip) Spring reference Beginning Spring 2 - From Novice to Professional. APress (Capitolo 6)

18 MVC Overview Il Pattern MVC aiuta a realizzare la separazione fra gli aspetti di logica, presentazione e controllo (uso) dell applicazione web. Model incapsula i dati dell applicazione. View presenta all utente lo stato dei dati e le risposte del sistema. Controller riceve/elabora le richieste dell utente e richiede al model gli aggiornamenti sui dati.

19 Spring MVC Overview

20 Spring MVC Esiste un servlet principale (DispatcherServlet) che si occupa di ricevere le richieste dell utente e le smista (a seconda delle necessità) al/ai Controller appropriati. DispatcherServlet riceve per primo la request dell utente. La configurazione di questo servlet (che è nascosto dal framework) avviene tramite un file di configurazione (per default, dispatcher-servlet.xml) che si aggiunge al sempre presente web.xml. STEP 1. DispatcherServlet consulta HandlerMapping e invoca il Controller associato alla richiesta dell utente.

21 Spring MVC STEP 2. Il Controller elabora la richiesta invocando i metodi di servizio appropriati e restituisce un oggetto ModelAndView al DispatcherServlet. Tale oggetto contiene principalmente i dati del modello e il nome della View che sarà usata per presentare tali dati. STEP 3. Il DispatcherServlet invia il nome della View al ViewResolver che associa l effettiva View da invocare. Un riferimento a tale View è restituito al DispatcherServlet. STEP 4. Il DispatcherServlet invia l oggetto contenente i dati del Model alla View scelta per presentare i risultati. La View presenta i risultati utilizzando i dati del Model.

22 SpringExample5 E un semplice esempio di Hello World che usa Spring MVC.

23 SpringExample6 Per gestire i form si deve estendere la classe SimpleFormController. Creiamo un semplice form di registrazione e lo gestiamo tramite Spring MVC. During the HTTP GET request the formview will be rendered. When the form is submitted (during the HTTP POST request) the onsubmit() method of the UserController class will be called, on successful execution of the method the successview will be rendered.

24 SpringExample7 Adesso si mostrerà come popolare il form in modo dinamico.

25 SpringExample8 Effettuiamo la validazione del form con Spring Creiamo una classe UserValidator che implementa l interfaccia Validator. Sovrascriviamo il metodo validate() che effettua la validazione. Nella pagina JSP aggiungiamo il tag form:errors per mostrare gli errori (direttamente nel form). Si deve infine collegare la classe UserValidator con la classe UserController. Poiché però questa estende la classe SimpleFormController, il metodo validate() sarà invocato automaticamente. E possibile porre i messaggi di errore in un file separato (.properties).

26 SpringExample9 Questo esempio verte sull uso di un semplice interceptor. Un Interceptor può intercettare una richiesta web prima che essa venga gestita e dopo che lo è stata. Ciò è utile per il debug in primo luogo. Ogni classe Interceptor deve estendere la classe HandlerInterceptorAdapter. Qui si crea un Logger Interceptor tramite tale estensione. Si possono sovrascrivere i tre metodi prehandle(), posthandle() e aftercompletion(). prehandle() sarà chiamato prima di gestire la richiesta. posthandle() sarà chiamato dopo aver gestito la la richiesta aftercompletion() sarà chiamato dopo avere prodotto i risultati. Si usa in ciascuno di tali metodi log4j per il logging effettivo che avverrà sulla console.

27 SpringExample10 L uso della classe MultiActionController permette di raggruppare multipe azioni nello stesso controller.

Programmazione Java Avanzata Spring - JDBC

Programmazione Java Avanzata Spring - JDBC Programmazione Java Avanzata Spring - JDBC Ing. Gianluca Caminiti Riferimenti Spring http://www.springsource.org/ (scaricate il reference) Beginning Spring 2 - From Novice to Professional. APress. 2008

Dettagli

Spring Intro Una panoramica del framework open source. Giovedì 18 febbraio 2016

Spring Intro Una panoramica del framework open source. Giovedì 18 febbraio 2016 Spring Intro Una panoramica del framework open source Giovedì 18 febbraio 2016 Programma della mattinata 9.45-10.45: Primo Modulo Introduzione a Spring Framework Panoramica delle componenti principali

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

Reti di Calcolatori L-S A.A. 2007/2008. Sviluppo e collaudo di un'applicazione web mediante IoC e AOP. di Franchi Alessandro matr.

Reti di Calcolatori L-S A.A. 2007/2008. Sviluppo e collaudo di un'applicazione web mediante IoC e AOP. di Franchi Alessandro matr. Reti di Calcolatori L-S A.A. 2007/2008 Sviluppo e collaudo di un'applicazione web mediante IoC e AOP di Franchi Alessandro matr. 0000219521 Introduzione Le specifiche J2EE definiscono una piattaforma per

Dettagli

Programmazione Java Avanzata PATTERN

Programmazione Java Avanzata PATTERN Programmazione Java Avanzata PATTERN Anno 2011/2012 Pattern Una soluzione progettuale generale a un problema ricorrente Elementi per il riuso di software ad oggetti Vantaggiosi e obbligatori da usare Pattern

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

Scuola Politecnica e delle Scienze di Base Corso di Laurea in Ingegneria Informatica. Elaborato finale in Programmazione 2

Scuola Politecnica e delle Scienze di Base Corso di Laurea in Ingegneria Informatica. Elaborato finale in Programmazione 2 Scuola Politecnica e delle Scienze di Base Corso di Laurea in Ingegneria Informatica Elaborato finale in Programmazione 2 Il framework Spring MVC per lo sviluppo di applicazioni enterprise Anno Accademico

Dettagli

JUG Ancona Italy. Andrea Del Bene. Jug Marche

JUG Ancona Italy. Andrea Del Bene. Jug Marche JUG Ancona Italy SpringMVC AndreaDelBene JugMarche Cos'èSpringMVC? Spring MVC è il sotto-framework di Spring che permetti di servirsi del Framework Spring per realizzare applicazioni web. Possiamo quindi

Dettagli

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

AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma PROGETTAZIONE E REALIZZAZIONE DI UN SISTEMA WEB MULTI-AGENTE PER LA PIANIFICAZIONE DI ITINERARI Relatore: prof. Ing.

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

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

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

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

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

Architettura MVC-2. Alberto Belussi. Anno accademico 2006/2007

Architettura MVC-2. Alberto Belussi. Anno accademico 2006/2007 Architettura MVC-2 Alberto Belussi Anno accademico 2006/2007 Verso l architettura MVC-2 Il secondo passo verso l architettura MVC-2 è quello di separare il controllo dell esecuzione, che rimane alla servlet,

Dettagli

Laboratorio di Basi di Dati e Web

Laboratorio di Basi di Dati e Web Laboratorio di Basi di Dati e Web 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

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

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

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

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

Architettura Model-View-Controller (MVC)

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

Dettagli

INTRODUZIONE E CONTESTO PROBLEMA. DEPENDENCY INJECTION INGEGNERIA DEL SOFTWARE Università degli Studi di Padova. Scopo. Esempio naive.

INTRODUZIONE E CONTESTO PROBLEMA. DEPENDENCY INJECTION INGEGNERIA DEL SOFTWARE Università degli Studi di Padova. Scopo. Esempio naive. DEPENDENCY INJECTION DEPENDENCY INJECTION INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica, A.A. 2014 2015 rcardin@math.unipd.it Architetturali

Dettagli

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

3.3.6 Gli operatori Le funzioni di accesso al tipo Le strutture di controllo Le funzioni IIndice Capitolo 1 Da dove partiamo: pagine web statiche 1 1.1 Principi di base.............................. 1 1.1.1 Il paradigma client-server.................... 1 1.1.2 Ipertesto, multimedia, ipermedia................

Dettagli

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

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 10 Architettura Model-View-Controller (MVC) L'architettura MVC può essere applicata anche alla tecnologia PHP secondo diversi approcci. In questa

Dettagli

Web framework in ambito Java: Java Server Faces

Web framework in ambito Java: Java Server Faces POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Monografia di Laurea Web framework in ambito Java: Java Server Faces Terzulli Pierangelo matr. 113149 A.A. 2006/

Dettagli

Università degli Studi di Pisa

Università degli Studi di Pisa Università degli Studi di Pisa Facoltà di Ingegneria Corso di Laurea Specialistica in Ingegneria Informatica per la Gestione d Azienda Tesi di laurea specialistica Reengineering di un modulo di un sistema

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

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI Introduzione alle basi di dati (2) 2 Modelli dei dati, schemi e istanze (1) Nell approccio con basi di dati è fondamentale avere un certo livello di

Dettagli

VirtualPiano Giada Gibertoni, Meshua Galassi e Lorenzo Valentini 30 maggio

VirtualPiano Giada Gibertoni, Meshua Galassi e Lorenzo Valentini 30 maggio VirtualPiano Giada Gibertoni, Meshua Galassi e Lorenzo Valentini 30 maggio 2016 1 Indice 1. Analisi 1.1. Idea 3 1.2. Requisiti 3 1.3. Miglioramenti futuri 3 2. Design 2.1. Architettura 4 2.2. Pattern utilizzati

Dettagli

Design Principle. immagini da SOLID Motivational Posters, by Derick Bailey

Design Principle. immagini da SOLID Motivational Posters, by Derick Bailey Design Pattern Design Principle immagini da SOLID Motivational Posters, by Derick Bailey Single Responsibility Principle Single Responsibility Principle A class should have only one reason to change. Open

Dettagli

Esempi al calcolatore su: 1) Costruttori ed ereditarietà 2) Subtyping e polimorfismo

Esempi al calcolatore su: 1) Costruttori ed ereditarietà 2) Subtyping e polimorfismo Esempi al calcolatore su: 1) 2) Subtyping e polimorfismo 1 Esempio 1: 2 Introduzione Java prevede due automatismi legati ai costruttori: Se una classe non ha costruttori viene creato automaticamente il

Dettagli

Corso di Applicazioni Telematiche

Corso di Applicazioni Telematiche Corso di Applicazioni Telematiche A.A. 2008-09 Lezione n.12 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Una Servlet è un componente software scritto in Java,

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

MODEL-VIEW-CONTROLLER PROBLEMA

MODEL-VIEW-CONTROLLER PROBLEMA 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. 2013 2014 rcardin@math.unipd.it

Dettagli

Verso l architettura MVC-2 Java Server Pages (JSP)

Verso l architettura MVC-2 Java Server Pages (JSP) Verso l architettura MVC-2 Java Server Pages (JSP) 1 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 JSP Una pagina JSP può essere vista come uno schema di pagina Web dove: le

Dettagli

Tesina esame Programmazione di Sistemi Mobile Realizzato da Roberto Giuliani Matricola icloud. Inserimenti, modifiche e cancellazioni

Tesina esame Programmazione di Sistemi Mobile Realizzato da Roberto Giuliani Matricola icloud. Inserimenti, modifiche e cancellazioni Tesina esame Programmazione di Sistemi Mobile Realizzato da Roberto Giuliani Matricola 633688 icloud Inserimenti, modifiche e cancellazioni icloud Prima di iniziare ad osservare le strutture e le varie

Dettagli

EJB Components. Leonardo Mariani Esercitazione di Sistemi Distribuiti. Oggetti Distribuiti

EJB Components. Leonardo Mariani Esercitazione di Sistemi Distribuiti. Oggetti Distribuiti EJB Components Leonardo Mariani Esercitazione di Sistemi Distribuiti 1 Oggetti Distribuiti 2 Middleware Esplicito 3 Middleware Implicito 4 Tipica Applicazione J2EE 1/2 5 Tipica Applicazione J2EE 2/2 6

Dettagli

Homework 2. 1 Il problema. Corso di Fondamenti di Informatica II. 26 Novembre L'Albero dei divisori

Homework 2. 1 Il problema. Corso di Fondamenti di Informatica II. 26 Novembre L'Albero dei divisori Homework 2 Corso di Fondamenti di Informatica II BIAR2 (Ing. Informatica e Automatica) e BSIR2 (Ing. dei Sistemi) A.A. 2010/2011 26 Novembre 2010 Sommario Questo documento fornisce informazioni relative

Dettagli

JUG Ancona Italy Spring Framework

JUG Ancona Italy Spring Framework JUG Ancona Italy Spring Framework Andrea Del Bene Jug Marche Spring: perché e nato e perché lo voglio imparare? Quando si decide di investire in un nuova tecnologia è indispensabile capire il valore aggiunto

Dettagli

Corsi di Ingegneria del Software / Interazione Uomo - Macchina Paolo Bottoni

Corsi di Ingegneria del Software / Interazione Uomo - Macchina Paolo Bottoni Corsi di Ingegneria del Software / Interazione Uomo - Macchina Paolo Bottoni Temi per il progetto Esempi Angry Birds / Cut the Rope Amazon Mechanical Turk / Bugzilla British Library / British Museum Eclipse

Dettagli

Sommario 1 Introduzione progetto Soluzione Integrazione Conclusioni... 10

Sommario 1 Introduzione progetto Soluzione Integrazione Conclusioni... 10 SISS SUITE Sommario 1 Introduzione... 3 2 progetto... 3 3 Soluzione... 3 4 Integrazione... 10 5 Conclusioni... 10 2 1 INTRODUZIONE L OMNICOM SISS Suite è una libreria DLL espressamente concepita per facilitare

Dettagli

Esercitazione sui Design Pattern. lunedì 29 aprile 13

Esercitazione sui Design Pattern. lunedì 29 aprile 13 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

Modelli e strumenti per la generazione automatica di codice

Modelli e strumenti per la generazione automatica di codice tesi di laurea Anno Accademico 2005-2006 relatore Ch.mo prof. Porfirio Tramontana candidato Valerio Lombardi Matr. 534/237 Contesto e Contributo Fusione tra il mondo della modellazione e della programmazione

Dettagli

NETSHOP: un centro commerciale virtuale

NETSHOP: un centro commerciale virtuale Seconda Università degli Studi di Napoli Facoltà di Ingegneria Tesi di Laurea in Ingegneria Informatica NETSHOP: un centro commerciale virtuale Relatore: Candidato: Ch.mo Prof. Luigi Luongo Antonio d Acierno

Dettagli

Introduzione a JSF: Le basi in un esempio. Giulio Rossetti 20/09/2007

Introduzione a JSF: Le basi in un esempio. Giulio Rossetti 20/09/2007 Introduzione a JSF: Le basi in un esempio. Giulio Rossetti 20/09/2007 Introduzione: Java Server Faces è un framework, le cui specifiche sono rese disponibili dalla Sun, che permette di realizzare GUI in

Dettagli

Laboratorio di Basi di Dati e Web

Laboratorio di Basi di Dati e Web Laboratorio di Basi di Dati e Web 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

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

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

Strumenti per l automazione del testing di applicazioni web Javascript-based tesi di laurea Strumenti per l automazione del testing di applicazioni web Javascript-based Anno Accademico 2005/2006 relatore Ch.mo prof. Porfirio Tramontana 1 candidato Salvatore Agnello Matr. 41/2612

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Classi e metodi astratti Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2015/2016 Fondamenti di Informatica T-1 Allegra De Filippo 1 / 15 Classa astratta: definizione

Dettagli

JSIS JSIS L architettura JSIS

JSIS JSIS L architettura JSIS JSIS JSIS L architettura JSIS La piattaforma JSIS Java Solution Integrated Suites, interamente realizzata dai nostri laboratori di sviluppo software, è una soluzione che integra la gestione di diverse

Dettagli

Infrastruttura per la Cooperazione Applicativa

Infrastruttura per la Cooperazione Applicativa Infrastruttura per la Cooperazione Applicativa - C.A.R.T. Linee guida per lo sviluppo di interfacce tra il Sistema Informativo Locale e il Nodo Applicativo Locale Ver. 1.2 Linee guida per lo sviluppo di

Dettagli

Il pattern FACTORY è un pattern di tipo Creazionale secondo la classificazione della GoF I pattern di tipo creazionali si occupano della costruzione

Il pattern FACTORY è un pattern di tipo Creazionale secondo la classificazione della GoF I pattern di tipo creazionali si occupano della costruzione Il pattern Factory Il pattern FACTORY è un pattern di tipo Creazionale secondo la classificazione della GoF I pattern di tipo creazionali si occupano della costruzione degli oggetti e delle problematiche

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

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

Sistemi Mobili e Wireless Android Action bar e menu

Sistemi Mobili e Wireless Android Action bar e menu Sistemi Mobili e Wireless Android Action bar e menu Stefano Burigat Dipartimento di Matematica e Informatica Università di Udine www.dimi.uniud.it/burigat stefano.burigat@uniud.it Action bar Dalla versione

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

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

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

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

CODE MODEL - Modalità di scrittura del codice

CODE MODEL - Modalità di scrittura del codice CODE MODEL - Modalità di scrittura del codice Visual Studio supporta due modelli per la codifica di pagine web: - Codice Inline: Questo modello è il più vicino al tradizionale ASP. Tutto il markup HTML

Dettagli

Introduzione a Visual Studio 2005

Introduzione a Visual Studio 2005 Fondamenti di Informatica e Laboratorio T-AB Ingengeria dell Automazione a.a. 2008/2009 Introduzione a Visual Studio 2005 Outline Solutions e Projects Visual Studio e il linguaggio C Visual Studio Schermata

Dettagli

L architettura software generale

L architettura software generale L architettura software generale L architettura si basa su una struttura multi-tier che implementa i SERVIZI (funzionalità rese disponibili agli utenti) utilizzando una modellizzazione a componenti ( Component

Dettagli

Il Sistema Operativo

Il Sistema Operativo Il Sistema Operativo Il sistema operativo Con il termine sistema operativo si intende l insieme di programmi e librerie che opera direttamente sulla macchina fisica mascherandone le caratteristiche specifiche

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

Architettura Tecnica i. Architettura Tecnica

Architettura Tecnica i. Architettura Tecnica i Architettura Tecnica ii Copyright 2005-2011 Link.it s.r.l. iii Indice 1 Scopo del documento 1 1.1 Abbreviazioni..................................................... 1 2 Overview 1 2.1 La PdD........................................................

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

Sviluppo di una web-application per itinerari turistici in Spring MVC: autenticazione tramite social network

Sviluppo di una web-application per itinerari turistici in Spring MVC: autenticazione tramite social network Università degli Studi di Salerno Facoltà di Scienze Matematiche Fisiche e Naturali Tesi di Laurea di I livello in Informatica Sviluppo di una web-application per itinerari turistici in Spring MVC: autenticazione

Dettagli

Fondamenti di Informatica T-1. Classi e metodi astratti

Fondamenti di Informatica T-1. Classi e metodi astratti Classi e metodi astratti 2 Classi astratte L'ereditarietà è utile per rappresentare tassonomie e gerarchie di entità reali. Non sempre però tutti i livelli della gerarchia rappresentano entità concrete.

Dettagli

ALCAINI MARCO 667032 Modellazione concettuale di applicazioni Web basate su architettura MVC Indice

ALCAINI MARCO 667032 Modellazione concettuale di applicazioni Web basate su architettura MVC Indice INDICE ALCAINI MARCO 667032 Modellazione concettuale di applicazioni Web basate su architettura MVC Indice 1 Introduzione... 3 2 MVC Model 2 e Apache Jakarta Struts... 6 2.1 Modello MVC (Model View - Controller)...

Dettagli

Enterprise @pplication Integration Software S.r.l.

Enterprise @pplication Integration Software S.r.l. SAP rel.1.0 : SAP State: Final Date: 03-27-200 Enterprise @pplication Integration Software S.r.l. Sede legale: Via Cola di Rienzo 212-00192 Rome - Italy Tel. +39.06.6864226 Sede operativa: viale Regina

Dettagli

Introduzione al mondo della persistenza. Dott. Doria Mauro doriamauro@gmail.com

Introduzione al mondo della persistenza. Dott. Doria Mauro doriamauro@gmail.com Hibernate Introduzione al mondo della persistenza Dott. Doria Mauro doriamauro@gmail.com La questione della persistenza Il modo dei database è complesso e le tecniche e le tecnologie sono molte. Per anni

Dettagli

Verso l architettura MVC-2 Java Server Pages (JSP)

Verso l architettura MVC-2 Java Server Pages (JSP) Verso l architettura MVC-2 Java Server Pages (JSP) 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 JSP Una pagina JSP può essere vista come uno schema di pagina Web dove: le parti statiche sono scritte in

Dettagli

Introduzione ORGANIZZAZIONE DEL LIBRO. Il libro è composto da 12 capitoli organizzati nelle tre parti seguenti:

Introduzione ORGANIZZAZIONE DEL LIBRO. Il libro è composto da 12 capitoli organizzati nelle tre parti seguenti: Introduzione Questo libro, espressamente rivolto ai programmatori esperti in Java, tratta gli elementi essenziali della piattaforma Java 2 Enterprise Edition (J2EE) e analizza in modo particolare le nuove

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

Introduzione ai connettori

Introduzione ai connettori Luca Cabibbo Architetture Software Dispensa ASW 810 ottobre 2014 Le relazioni tra elementi sono ciò che dà valore aggiunto ai sistemi. Eberhardt Rechtin 1 -Fonti [Shaw] Mary Shaw, Procedure Calls are the

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

DBMS. Alice Pavarani

DBMS. Alice Pavarani DBMS Alice Pavarani DBMS Insieme di programmi che offrono gli strumenti per gestire una base di dati Permette di: definire la struttura delle tabelle recuperare le informazioni manipolare i dati memorizzati

Dettagli

Corso Online. We Train Italy info@wetrainitaly.it

Corso Online. We Train Italy info@wetrainitaly.it Corso Online Programmatore Java New Edition We Train Italy info@wetrainitaly.it Programma Generale del Corso Programmatore Java New Edition 1. Introduzione al corso Java da 0 al web Presentazione del corso

Dettagli

Alcuni Design Pattern in Java

Alcuni Design Pattern in Java Marco Faella Alcuni Design Pattern in Java basato su Progettazione del Software e Design Pattern in Java, di Cay Horstmann Pattern ITERATOR Contesto: 1) Un oggetto (aggregato) contiene altri oggetti (elementi)

Dettagli

Ereditarietà. Ereditarietà. Ereditarietà. Ereditarietà

Ereditarietà. Ereditarietà. Ereditarietà. Ereditarietà L ereditarietà è il meccanismo attraverso cui viene implementata la relazione di specializzazione (is-a). L ereditarietà è il meccanismo attraverso cui una classe (derivata) eredita da un altra classe

Dettagli

Architettura Connettore Alfresco Share

Architettura Connettore Alfresco Share Direzione Sistemi Informativi Portale e Orientamento Allegato n. 2 al Capitolato Tecnico Indice Architettura Connettore Alfresco Share 1. Architettura del Connettore... 3 1.1 Componente ESB... 4 1.2 COMPONENTE

Dettagli

Il framework Spring. Scuola Politecnica e delle Scienze di Base Corso di Laurea in Ingegneria Informatica. Elaborato finale in Programmazione II

Il framework Spring. Scuola Politecnica e delle Scienze di Base Corso di Laurea in Ingegneria Informatica. Elaborato finale in Programmazione II Scuola Politecnica e delle Scienze di Base Corso di Laurea in Ingegneria Informatica Elaborato finale in Programmazione II Il framework Spring Anno Accademico 2015-2016 Relatore: Ch.mo prof. Marcello Cinque

Dettagli

ALTRI TIPI DI CONNESSIONE

ALTRI TIPI DI CONNESSIONE ALTRI TIPI DI CONNESSIONE Socket Un socket è una connessione a una porta su un computer remoto, che è usata per scambiare informazioni con comandi HTTP Supponiamo che la nostra applicazione voglia ricevere

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

Basi di dati D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2012/13

Basi di dati D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2012/13 Basi di dati D O C E N T E P R O F. A L B E R T O B E L U S S I Anno accademico 2012/13 Informazioni generali sull organizzazione Insegnamento annuale su due semestri Orario I Semestre Lunedì 11.30 13.30

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

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

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

Ingegneria del Software

Ingegneria del Software Ingegneria del Software Analisi Object Oriented ed Elementi di Programmazione OO Origini Le metodologie ad oggi nascono negli anni 70 ma si affermano solo nelgi anni 80 grazie alla nascita dei linguaggi

Dettagli

Gli EJB offrono vari vantaggi allo sviluppatore di una applicazione

Gli EJB offrono vari vantaggi allo sviluppatore di una applicazione Gli EJB offrono vari vantaggi allo sviluppatore di una applicazione Un ambiente di esecuzione che gestisce o naming di oggetti, sicurezza, concorrenza, transazioni, persistenza, distribuzione oggetti (location

Dettagli

SETA Selection Tool del Sistema ARTIST

SETA Selection Tool del Sistema ARTIST Selection Tool del Sistema ARTIST L incarico è stato affidato al RTI composta da: Kayser Italia S.r.l. Daxo con capogruppo Kayser Italia s.r.l. SETA () Espandibilità e flessibilità Delocalizzazione istallazione

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

Applicazioni Web con JavaServer Faces (JSF)

Applicazioni Web con JavaServer Faces (JSF) Applicazioni Web con JavaServer Faces (JSF) a cura di Damiano Distante damiano.distante@unitelma.it Un po di storia Settembre 2002 pubblicazione della prima December 2003 - proposta di versione finale

Dettagli

SOMMARIO DESIGN PATTERN

SOMMARIO DESIGN PATTERN INTRODUZIONE AI DESIGN PATTERN INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica, A.A. 2014 2015 rcardin@math.unipd.it 2 DESIGN PATTERN

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

Esempio: Costruttori ed ereditarietà

Esempio: Costruttori ed ereditarietà Esempio: 1 Introduzione Java prevede due automatismi legati ai costruttori: Se una classe non ha costruttori viene creato automaticamente il costruttore di default (quello senza parametri) Se in un costruttore

Dettagli

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

SOMMARIO DESIGN PATTERN INTRODUZIONE AI DESIGN PATTERN INGEGNERIA DEL SOFTWARE. Introduzione. Cos è un design pattern. Cos è un design pattern INTRODUZIONE AI DESIGN PATTERN 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 DESIGN PATTERN

Dettagli

Design Patterns. Introduzione 2. Introduzione 3

Design Patterns. Introduzione 2. Introduzione 3 Design Patterns Introduzione Design patterns: factory, singleton, adapter, composite, decorator, observer Introduzione I Design Patterns sono stati applicati per la prima volta nell architettura Per costruire

Dettagli

Analizzatori Lessicali con JLex. Giuseppe Morelli

Analizzatori Lessicali con JLex. Giuseppe Morelli Analizzatori Lessicali con JLex Giuseppe Morelli Terminologia Tre concetti sono necessari per comprendere la fase di analisi lessicale: TOKEN: rappresenta un oggetto in grado di rappresentare una specifica

Dettagli