Introduzione al mondo della persistenza. Dott. Doria Mauro

Dimensione: px
Iniziare la visualizzazioe della pagina:

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

Transcript

1 Hibernate Introduzione al mondo della persistenza Dott. Doria Mauro

2 La questione della persistenza Il modo dei database è complesso e le tecniche e le tecnologie sono molte. Per anni nel mondo Java si è dibattuto sulla persistenza. Opinioni discordanti su come realizzarla: Nessun codice java: la persistenza realizzata con stored procedure e il DBMS Speciali componenti come gli Entity beans la tecnica CMP Utilizzo dei DAO con le operazioni CRUD realizzate con JDBC 2 e ancora: come realizzare la portabilità se ogni DBMS ha il proprio dialetto? Si dovrebbe passare ad un OODBMS?

3 Persistenza manuale con JDBC DBC non ha automatismi di nessun tipo per cui la logica della persistenza è totalmente demandata allo sviluppatore. La persistenza occupa tipicamente il 30% del codice di una applicazione 3 JDBC sembra essere la scelta più adatta in quanto rende comodo e semplice l accesso ai dati. Utilizzando JDBC bisogna risolvere manualmente il model mismatch Utilizzare JDBC è un lavoro lungo che richiede una grande manutenzione; ci si accorge che molte operazioni possono essere automatizzate!

4 Persistenza con la serializzazione Java possiede un meccanismo di persistenza molto potente chiamato serializzazione. La serializzazione è alla base di molte tecniche Java, come RMI (Remote Method Invocation). Con la serializzazione è possibile salvare l intero (o una parte) objects graph in un file, per poi recuperarlo successivamente. Questa tecnica consente di salvare lo stato degli oggetti in un certo istante di tempo come uno stream di byte. 4 Nessun model mismatch Per recuperare un singolo oggetto è necessario deserializzare l intero stream di dati. Questo, di fatto, non rende questa tecnica una opzione valida.

5 Persistenza con gli EJB EJB 2.1 utilizza un motore interno per la persistenza di particolari bean detti entity bean. Tale soluzione si chiama CMP (Container-Managed Persistence) 5 Implementa un automatismo per il mapping con il DB. NOTA: EJB 3.0 utilizza un motore ORM (come Hibernate) per la persistenza attraverso lo standard JPA (Java Persistence API). Corrispondenza uno-a-uno tra entity e tabelle Non supporta associaizoni e query polimorfiche Non sono portabili tra le piattaforme EJB Gli Entity beans non sono serializabili. E necessario ricorrere al patter DTO per il remoting E un modello estremamente invasivo. Gli entity beans non sono utilizzabili al di fuori della piattaforma EJB (nonostante il nome)

6 Object-oriented database systems Gli OODBMS sono molto potenti e sembrano essere la scelta più appropriata per una applicazione ad oggetti. L ODMG (Object Data Management Group) ha definito le specifiche di accesso al OODBMS in diversi linguaggi e molti OODBMS supportano queste specifiche. Queste specifiche, però, sono attualmente insufficienti mancando di una grossa quantità di funzionalità importanti. Questo ha portato ad una scarsa attenzione nei confronti di questa soluzione. 6 Nonostante ultimamente la specifica JDO (Java Data Object) ha tentato un nuovo rilancio questa soluzione, questa rimane estremamente impopolare.

7 Object Relational Mapping (ORM) Ultimamente però una soluzione sembra far convergere le diverse linee di pensiero. Questa soluzione si chiama: Object Relational Mapping (ORM) Hibernate è un framework opensource che implementa la soluzione ORM 7

8 Persistenza in una appicazione OO Che si intende per persistenza in una applicazione Object Oriented? Un oggetto vive oltre il processo run-time nel quale è stato costruito. Il suo stato viene storato sul disco Lo stato viene ripristinato prelevandolo dal disco e assegnandolo ad un oggetto in modo da ricreare la stessa situazione che si aveva al momento in cui è stato storato sul disco. 8 Questo vale sia per un singolo oggetto che per molti oggetti anche interconnessi tra loro.

9 Persistenza in una appicazione OO In una applicazione Object Oriented non tutti gli oggetti sono persistenti. Gli oggetti di cui non si vuole la persistenza si chiamano transient. Una applicazione Java è un mix di oggetti transienti e oggetti persistenti. Ma come organizzare al meglio gli oggetti che compongono l applicazione? 9

10 Architettura stratificata Una applicazione di dice ben ingegnerizzata quando l architettura su cui si basa è ben progettata. Una buona architettura si basa su: Suddivisione degli aspetti Conseguente stratificazione (layers) del codice in base agli aspetti 10 NOTA: Per semplicità, escludiamo da discorso i cross cutting concern, cioè gli aspetti trasversali che richiedono una diversa visione dell architettura (basata sul paradigma Aspect Oriented)

11 Layers Un layer per definizione è: Uno strato di codice in grado di comunicare con lo strato che immediatamente lo precede (comunicazione verso l alto) Uno strato di codice che dipende dallo strato immediatamente successivo (dipendenza verso il basso) Il numero e il tipo di layers cambia in base alla applicazione che si intende costruire 11

12 Interazione tra strati applicativi Esempio di applicazione web con Struts 1: View Controller ActionForm Model HTML o JSP ActionServlet ActionMapping Serivces Object Bean Bean JSP Action DAO Bean 12 ActionForward

13 Rapporto tra oggetti e DB Model Business Layer Impiegato Serivces nome Salario dataassunzione DAO impiegato Impiegato nome salario dataassunzione Impiegato 13 Persistence Layer Classe entità del domain model

14 Interazione tra strati applicativi Persistence layer: è composta da classi e componenti responsabili del salvataggio e il recupero da uno o più data sotore (tipicamente DB). Questo contiene quindi, il domain model (le classi che rappresentano le entità di business). Database: data sotore che contiene la rappresentazione persistente dello stato del sistema. Il database è una entità esterna all applicazione Java. Nel caso si tratti di un RDB (database relazionale), questo include anche lo schema ed eventualmente stored procedure. 14

15 Persistenza in una appicazione OO Quale ruolo gioca il DBMS in una applicazione? Al DBMS vengono demandate molte funzionalità vitali legate alla persistenza come: 15 Storage effettivo dei dati Indicizzazione, ordinamento e ricerca Concorrenza Integraità Condivisione e accesso a diversi utenti e diverse applicazioni Sicurezza.

16 Persistenza in una appicazione OO Quindi cosa dovrebbe fare il persistence layer, cioè lo strato di codice Java dedicato alla persistenza? Storare, organizzare, e recuperare dati strutturati dal DB Gestire la concorrenza e l integrità questi dati Mettere in condivisione questi dati 16 I dati strutturati in Java sono gli oggetti del domain model. La business logic interagisce con il domain model realizzando a run-time un grafo interconnesso di oggetti.

17 I due mondi a confronto Su un DBMS i dati vengono trattati attraverso il linguaggio SQL: ciò significa proiezioni e join; i dati vengono sempre trattati in forma tabellare Una applicazione ad oggetti tratta i dati come un grafo interconnesso di oggetti utilizzato dalla business logic 17 Una qualunque soluzione che cerchi di automatizzare il rapporto tra questi due mondi deve necessariamente essere complessa!!!

18 I due mondi a confronto Il modello dei dati di un DBMS e il modello dei dati di una applicazione ad oggetti sono diversi NON SI TRATTA DI DUE MODI DIVERSI DI TRATTARE O VISUALIZZARE I DATI DI UNO STESSO MODELLO. SI TRATTA DI DUE MODELLI DIVERSI La differenza tra i due mondi prende il nome di: 18 The paradigm mismatch

19 Domande? The paradigm mismatch Serializzazione persistence layer JDBC business logic 19 OODBMS transient domain model Persistence layer Object Relational Mapping EJB

UNIVERSITA DI FIRENZE Facoltà di Ingegneria. Persistenza Applicazioni Enterprise Uso dei modelli

UNIVERSITA DI FIRENZE Facoltà di Ingegneria. Persistenza Applicazioni Enterprise Uso dei modelli UNIVERSITA DI FIRENZE Facoltà di Ingegneria Persistenza Applicazioni Enterprise Uso dei modelli 1 IL problema della persistenza APPLICAZIONE (programmi) (oggetti) DATI PERSISTENTI (file, record) (basi

Dettagli

Object-Relational Mapping

Object-Relational Mapping Object-Relational Mapping Versione Preliminare Antonella Poggi Dipartimento di informatica e Sistemistica Sapienza Università di Roma Progetto di Applicazioni Software Anno accademico 2008-2009 Questi

Dettagli

UNIVERSITA DI FIRENZE Facoltà di Ingegneria. Persistenza Applicazioni Enterprise Uso dei modelli

UNIVERSITA DI FIRENZE Facoltà di Ingegneria. Persistenza Applicazioni Enterprise Uso dei modelli UNIVERSITA DI FIRENZE Facoltà di Ingegneria Persistenza Applicazioni Enterprise Uso dei modelli 1 IL problema della persistenza APPLICAZIONE (programmi) (oggetti) DATI PERSISTENTI (file, record) (basi

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

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

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

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

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

Progetto di Applicazioni Software

Progetto di Applicazioni Software Progetto di Applicazioni Software Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2008/2009 Questi lucidi sono stati prodotti sulla

Dettagli

INTRODUZIONE. Data Base Management Systems evoluzione tecniche gestione dati

INTRODUZIONE. Data Base Management Systems evoluzione tecniche gestione dati INTRODUZIONE Accesso ai dati tramite DBMS Livelli di astrazione Modello dei dati: schema / istanza / metadati Alcuni modelli dei dati Linguaggi per DBMS Architettura di base di un DBMS cesarini - BDSI

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

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

Progetto di Applicazioni Software

Progetto di Applicazioni Software Progetto di Applicazioni Software Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2010/2011 Questi lucidi sono stati prodotti sulla

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

Mappare il DB senza XML. Introduzione alle annotation di Hibernate3

Mappare il DB senza XML. Introduzione alle annotation di Hibernate3 Introduzione alle annotation di Hibernate3 a cura di Lucio Benfante Hibernate Hibernate è un framework che realizza un object/relational mapping (ORM) fra oggetti Java e strutture di un database relazionale

Dettagli

Architetture per le applicazioni web-based. Mario Cannataro

Architetture per le applicazioni web-based. Mario Cannataro Architetture per le applicazioni web-based Mario Cannataro 1 Sommario Internet e le applicazioni web-based Caratteristiche delle applicazioni web-based Soluzioni per l architettura three-tier Livello utente

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

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

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

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

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

Basi di Dati. Introduzione ai sistemi di basi di dati. K.Donno - Introduzione ai sistemi di basi di dati

Basi di Dati. Introduzione ai sistemi di basi di dati. K.Donno - Introduzione ai sistemi di basi di dati Basi di Dati Introduzione ai sistemi di basi di dati Introduzione ai sistemi di basi di dati Gestione dei Dati Una prospettiva storica File system verso DBSM Vantaggi di un DBMS Modelli dei dati Utenti

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

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

Programmazione Java Avanzata

Programmazione Java Avanzata Programmazione Java Avanzata Accesso ai Dati Ing. Giuseppe D'Aquì Testi Consigliati Eclipse In Action Core J2EE Patterns - DAO [http://java.sun.com/blueprints/corej2eepatterns/patterns/dataaccessobject.html]

Dettagli

Introduzione ai sistemi di basi di dati

Introduzione ai sistemi di basi di dati Basi di Dati Introduzione ai sistemi di basi di dati Alessandro.bardine@gmail.com alessandro.bardine@iet.unipi.it Introduzione ai sistemi di basi di dati Gestione dei Dati Una prospettiva storica File

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

Università degli Studi di Bologna Facoltà di Ingegneria. Tecnologie Web L-A A.A. 2014 2015. Esercitazione 08 DAO e Hibernate

Università degli Studi di Bologna Facoltà di Ingegneria. Tecnologie Web L-A A.A. 2014 2015. Esercitazione 08 DAO e Hibernate Università degli Studi di Bologna Facoltà di Ingegneria Tecnologie Web L-A A.A. 2014 2015 Esercitazione 08 DAO e Hibernate Agenda Pattern DAO e framework Hibernate progetto d'esempio relativo alla gestione

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

Mapping delle associazioni. Dott. Doria Mauro doriamauro@gmail.com

Mapping delle associazioni. Dott. Doria Mauro doriamauro@gmail.com Hibernate Mapping delle associazioni Dott. Doria Mauro doriamauro@gmail.com Mapping delle associazioni Abbiamo visto come vi sia un mapping dedicato per le associazioni tra classi entity e classi value.

Dettagli

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Introduzione ai Database! Tipologie di DB (gerarchici, reticolari, relazionali, oodb) Introduzione ai database Cos è un Database Cos e un Data Base Management System (DBMS)

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

Progetto di Applicazioni Software

Progetto di Applicazioni Software Progetto di Applicazioni Software Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2010/2011 I lucidi del corso sono stati prodotti

Dettagli

1. BASI DI DATI: GENERALITÀ

1. BASI DI DATI: GENERALITÀ 1. BASI DI DATI: GENERALITÀ BASE DI DATI (DATABASE, DB) Raccolta di informazioni o dati strutturati, correlati tra loro in modo da risultare fruibili in maniera ottimale. Una base di dati è usualmente

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

Use Case Driven Object Modeling: ICONIX

Use Case Driven Object Modeling: ICONIX Use Case Driven Object Modeling: ICONIX Un esempio di specifica, analisi, progetto e sviluppo utilizzando ICONIX (applicazione web) Ditta di Noleggio Dvd Un sistema per la gestione di una ditta di noleggio

Dettagli

Informatica Documentale

Informatica Documentale Informatica Documentale Ivan Scagnetto (scagnett@dimi.uniud.it) Stanza 3, Nodo Sud Dipartimento di Matematica e Informatica Via delle Scienze, n. 206 33100 Udine Tel. 0432 558451 Ricevimento: giovedì,

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

Software per la gestione di musei di arte contemporanea1

Software per la gestione di musei di arte contemporanea1 Software per la gestione di musei di arte contemporanea1 Identificativo del progetto: CA Nome documento: System Design(SD) Identificativo del documento: 6 CA_SD_E1_R1 Data del documento: 21/05/2012 Prima

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

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

Considera tutti i requisiti funzionali (use cases) NON deve necessariamente modellare i requisiti non funzionali

Considera tutti i requisiti funzionali (use cases) NON deve necessariamente modellare i requisiti non funzionali Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Progettazione OO E. TINELLI Punto di Partenza Il modello di analisi E una rappresentazione minima del

Dettagli

Facoltà di Farmacia - Corso di Informatica

Facoltà di Farmacia - Corso di Informatica Basi di dati Riferimenti: Curtin cap. 8 Versione: 13/03/2007 1 Basi di dati (Database, DB) Una delle applicazioni informatiche più utilizzate, ma meno conosciute dai non informatici Avete già interagito

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

Il Provvedimento del Garante

Il Provvedimento del Garante Il Provvedimento del Garante Il provvedimento del Garante per la Protezione dei dati personali relativo agli Amministratori di Sistema (AdS) Misure e accorgimenti prescritti ai titolari dei trattamenti

Dettagli

Indice. Ringraziamenti dell Editore

Indice. Ringraziamenti dell Editore Prefazione Autori Ringraziamenti dell Editore XVII XXI XXIII 1 Introduzione 1 1.1 Sistemi informativi, informazioni e dati 1 1.2 Basi di dati e sistemi di gestione di basi di dati 3 1.3 Modelli dei dati

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

Curriculum Vitae INFORMAZIONI PERSONALI COGNOME NOME

Curriculum Vitae INFORMAZIONI PERSONALI COGNOME NOME INFORMAZIONI PERSONALI COGNOME NOME Curriculum Vitae GIOVANNETTI ANTONIO INDIRIZZO Via della Riserva Nuova, 73 00132 Roma TELEFONO +39 328 8990184 EMAIL antonio.giovannetti@gmail.com GVNNTN74H05I838O Italiana

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

CURRICULUM VITAE Ing. Alessandro Craviolatti

CURRICULUM VITAE Ing. Alessandro Craviolatti CURRICULUM VITAE Ing. Alessandro Craviolatti Via E. De Filippo, 13 S.Anastasia (NA) Tel. 0815305484 Cell. 3289684006 E-mail: ale.craviolatti@tiscali.it Data di nascita: 18/01/1975 Luogo di nascita: Napoli

Dettagli

DA DEFINIRE Sede del corso: Presso GI Formazione in Piazza IV novembre 5, Milano Orari dalle 9.00 alle 13.00 e dalle 14.00 alle 18.

DA DEFINIRE Sede del corso: Presso GI Formazione in Piazza IV novembre 5, Milano Orari dalle 9.00 alle 13.00 e dalle 14.00 alle 18. PERIODO : DA DEFINIRE Sede del corso: Presso GI Formazione in Piazza IV novembre 5, Milano Orari dalle 9.00 alle 13.00 e dalle 14.00 alle 18.00 A CHI E RIVOLTO IL CORSO Questo progetto si rivolge a tutti

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

Aspetti applicativi e tecnologia

Aspetti applicativi e tecnologia Aspetti applicativi e tecnologia Premessa Architetture usate per i database Le prime applicazioni erano definite monolitiche, cioè un unico computer (mainframe) gestiva sia le applicazioni che i dati,

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

UNA RELEASE ROBUSTA E COLLAUDATA IN CONTESTI NAZIONALI ED INTERNAZIONALI EVOLUZIONE DELLA PIATTAFORMA ASSICURATIVA ALL IN ONE

UNA RELEASE ROBUSTA E COLLAUDATA IN CONTESTI NAZIONALI ED INTERNAZIONALI EVOLUZIONE DELLA PIATTAFORMA ASSICURATIVA ALL IN ONE L offerta di Value+, in origine focalizzata sulla gestione dei Rami Vita e dei Fondi Pensione attraverso il sistema invita, diffuso in Italia e all estero, si è arricchita nel corso degli anni estendendosi

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

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

NoSQL http://nosql. nosql-database.org/ Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Linguaggi e Tecnologie Web A. A.

NoSQL http://nosql. nosql-database.org/ Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Linguaggi e Tecnologie Web A. A. Corso di Laurea Specialistica in Ingegneria Informatica Corso di Linguaggi e Tecnologie Web A. A. 2011-2012 NoSQL http://nosql nosql-database.org/ Eufemia TINELLI Cosa è NoSQL? 1998 il termine NoSQL è

Dettagli

Registro SPICCA Architettura del Software

Registro SPICCA Architettura del Software Registro SPICCA Architettura del Software Versione 1.0 del 25/08/2009 Sommario 1 Introduzione... 4 1.1 Scopo... 4 1.2 Obiettivo... 4 1.3 Riferimenti... 4 1.4 Panoramica del documento... 4 2 Rappresentazione

Dettagli

PROGRAMMAZIONE MODULARE. Periodo mensile. Ore previste

PROGRAMMAZIONE MODULARE. Periodo mensile. Ore previste PROGRAMMAZIONE MODULARE Indirizzo: INFORMATICA SIRIO Disciplina: INFORMATICA Classe: QUINTA Ore previste: 16 di cui 66 ore di teoria e 99 ore di laboratorio. N. modulo Titolo Modulo Titolo unità didattiche

Dettagli

Indice. Indice... 2 1. Premessa e scopo del documento... 3 2. Ambiente operativo... 4 3. Architettura di sistema... 5

Indice. Indice... 2 1. Premessa e scopo del documento... 3 2. Ambiente operativo... 4 3. Architettura di sistema... 5 Realizzazione di un sistema informatico on-line bilingue di gestione, monitoraggio, rendicontazione e controllo del Programma di Cooperazione Transfrontaliera Italia - Francia Marittimo finanziato dal

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

UNICAL Università della Calabria

UNICAL Università della Calabria UNICAL Università della Calabria Corso di Laurea in Ingegneria Informatica e Applicazioni in Rete Titolo tesi: Sviluppo di un'applicazione Web Based dedicata alla gestione di profili utente su un generico

Dettagli

UNIVERSITÀ DEGLI STUDI DI TRENTO Facoltà di Scienze Matematiche, Fisiche e Naturali.

UNIVERSITÀ DEGLI STUDI DI TRENTO Facoltà di Scienze Matematiche, Fisiche e Naturali. UNIVERSITÀ DEGLI STUDI DI TRENTO Facoltà di Scienze Matematiche, Fisiche e Naturali. Corso di laurea triennale in Informatica Elaborato finale QUAESTIO: UN APPLICAZIONE WEB PER IL MONITORAGGIO DELLA SODDISFAZIONE

Dettagli

Progetto di Applicazioni Software

Progetto di Applicazioni Software Progetto di Applicazioni Software Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2008/2009 I lucidi del corso sono stati prodotti sulla base del

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

POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica TESI DI LAUREA

POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica TESI DI LAUREA POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica TESI DI LAUREA Architetture Web basate su Enterprise JavaBeans in ambiente Open Source Relatori Ing. Fulvio Corno

Dettagli

APPROXIMATE SEARCH: PROBLEMATICHE DELLE RICERCHE DI DATI NON ESATTI IN DATABASES DI GROSSE DIMENSIONI

APPROXIMATE SEARCH: PROBLEMATICHE DELLE RICERCHE DI DATI NON ESATTI IN DATABASES DI GROSSE DIMENSIONI Facoltà di Scienze Matematiche Fisiche e Naturali Corso di Laurea in Informatica APPROXIMATE SEARCH: PROBLEMATICHE DELLE RICERCHE DI DATI NON ESATTI IN DATABASES DI GROSSE DIMENSIONI Candidato: Relatore:

Dettagli

Requisiti della Business Intelligence

Requisiti della Business Intelligence Realizzazione di un sistema informatico on-line bilingue di gestione, monitoraggio, rendicontazione e controllo del Programma di Cooperazione Transfrontaliera Italia - Francia Marittimo finanziato dal

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

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

Soluzioni tecnologiche a supporto dello sviluppo di sistemi informativi sulla qualità: l esperienza SIDI

Soluzioni tecnologiche a supporto dello sviluppo di sistemi informativi sulla qualità: l esperienza SIDI Soluzioni tecnologiche a supporto dello sviluppo di sistemi informativi sulla qualità: l esperienza SIDI A cura di Concetta Pellegrini ISTAT Istituto Nazionale di Statistica Servizio Metodologie, Tecnologie

Dettagli

DD - Design Document

DD - Design Document Politecnico di Milano Progetto di Ingegneria del Software 2 DD - Design Document Autori: Claudia Foglieni Giovanni Matteo Fumarola Massimo Maggi Professori: Elisabetta Di Nitto Raffaela Mirandola 1 gennaio

Dettagli

Caratteristiche principali. Contesti di utilizzo

Caratteristiche principali. Contesti di utilizzo Dalle basi di dati distribuite alle BASI DI DATI FEDERATE Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti Università di Roma La Sapienza Anno Accademico 2006/2007 http://www.dis.uniroma1.it/

Dettagli

è laforzadel gruppo www.evolviti.it Evolviti s.r.l. - Via Gian Domenico Romagnosi, 1b - 00196 Roma - tel 0688816711

è laforzadel gruppo www.evolviti.it Evolviti s.r.l. - Via Gian Domenico Romagnosi, 1b - 00196 Roma - tel 0688816711 e ela forzadel singolo è laforzadel gruppo www.evolviti.it Evolviti s.r.l. Via Gian Domenico Romagnosi, 1b 00196 Roma tel 0688816711 ii SOMMARIO CHI SIAMO 1 INFO GENERALI, LA MISSION....................

Dettagli

BASI DI DATI I Lezione n 2 25/09/2009

BASI DI DATI I Lezione n 2 25/09/2009 BASI DI DATI I Lezione n 2 25/09/2009 Fumarola Roberta, Galeano Antonio Andrea Linguaggio di modellazione Insieme di simboli e regole atto a descrivere la struttura e le funzionalità di un Database prima

Dettagli

Applicazione: Posta Ibrida

Applicazione: Posta Ibrida Riusabilità del software Catalogo delle applicazioni Gestione Documentale Applicazione: Posta Ibrida Amministrazione: INPS Istituto Nazionale della Previdenza Sociale Responsabile dei sistemi informativi

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

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

8. Sistemi Distribuiti e Middleware

8. Sistemi Distribuiti e Middleware 8. Sistemi Distribuiti e Middleware Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 8. Sistemi distribuiti e Middleware 1 / 32 Sommario 1 Sistemi distribuiti

Dettagli

Marketing Territoriale: Banca dati informativa artistico-culturale. Comune di Molfetta

Marketing Territoriale: Banca dati informativa artistico-culturale. Comune di Molfetta SOLUZIONE: N SOLUZIONE 1 PROGETTO: AMMINISTRAZIONE DI RIFERIMENTO: Marketing Territoriale: Banca dati informativa A.pu.lie Comune di Molfetta 1 INDICE SOLUZIONE: 1 MARKETING TERRITORIALE: BANCA DATI INFORMATIVA

Dettagli

Laboratorio di Progettazione e Sviluppo di Sistemi Informatici

Laboratorio di Progettazione e Sviluppo di Sistemi Informatici 1 Laboratorio di Progettazione e Sviluppo di Sistemi Informatici 2 Laboratorio di Progettazione e Sviluppo di Sistemi Informatici Parte del corso intersettoriale "Laboratorio di Progettazione e Sviluppo

Dettagli

Progettazione della Web Application Niente di Nuovo Mercatino dell Usato

Progettazione della Web Application Niente di Nuovo Mercatino dell Usato Università del Salento Facoltà di Ingegneria Corso di Laurea in Ingegneria dell Informazione Progetto del corso di Ingegneria del Software Progettazione della Web Application Niente di Nuovo Mercatino

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

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

Progettazione di Sistemi Interattivi. Gli strati e la rete. Struttura e supporti all implementazione di applicazioni in rete (cenni) Progettazione di Sistemi Interattivi Struttura e supporti all implementazione di applicazioni in rete (cenni) Docente: Daniela Fogli Gli strati e la rete Stratificazione da un altro punto di vista: i calcolatori

Dettagli

Le scelte tecnologiche di RUP System

Le scelte tecnologiche di RUP System Cremona 22 novembre 2007 Le scelte tecnologiche di System - Metarete Linguaggio di programmazione Linguaggio di programmazione: Java Semplice e robusto Orientato agli oggetti Indipendente dalla piattaforma

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

JSIS. Java Solution Integrated Suite

JSIS. Java Solution Integrated Suite JSIS Java Solution Integrated Suite architettura JSIS I sistemi ERP offrono le funzionalità e le integrazioni necessarie per offrire una vista unitaria e trasversale verso tutti i processi critici di business

Dettagli

UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTA DI INGEGNERIA DIPARTIMENTO DI SISTEMI E INFORMATICA. Elaborato di Tecnologie del Software per Internet

UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTA DI INGEGNERIA DIPARTIMENTO DI SISTEMI E INFORMATICA. Elaborato di Tecnologie del Software per Internet UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTA DI INGEGNERIA DIPARTIMENTO DI SISTEMI E INFORMATICA Elaborato di Tecnologie del Software per Internet JMSWEB 2 SISTEMA PER LO SCAMBIO DI MESSAGGI TRA APPLICAZIONI

Dettagli

Atti del 6 Censimento Generale dell Agricoltura IL SISTEMA INFORMATICO INTEGRATO

Atti del 6 Censimento Generale dell Agricoltura IL SISTEMA INFORMATICO INTEGRATO Atti del 6 Censimento Generale dell Agricoltura IL SISTEMA INFORMATICO INTEGRATO 3 Atti del 6 Censimento Generale dell Agricoltura IL SISTEMA INFORMATICO INTEGRATO Atti a cura di: Giampaola Bellini Fascicolo

Dettagli

Programmazione Java Avanzata

Programmazione Java Avanzata Programmazione Java Avanzata Struts 2 (Parte 4) Ing. Giuseppe D'Aquì Testi Consigliati http://struts.apache.org/2.x/docs/tag-reference. Struts 2 In Action (Manning) Practical Apache Struts 2 Web 2.0 Projects

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

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

Luca Milan http://fewbit.com info@fewbit.com

Luca Milan http://fewbit.com info@fewbit.com Luca Milan http://fewbit.com info@fewbit.com At its worst business logic can be very complex. Rules and logic describe many different cases and slants of behavior, and it s this complexity that objects

Dettagli

ERP Trend Enterprise Tecnologia

ERP Trend Enterprise Tecnologia ERP Trend Enterprise Tecnologia SOLUZIONI GESTIONALI PER LE AZIENDE //TDAINFORMATICA/ ERP/ TREND ENTERPRISE INTRODUZIONE ARCHITETTURA DI TREND TECNOLOGIA SCHEMA APPLICATIVO GUIDA PER ESPERTI SOFTWARE ERP

Dettagli

L evoluzione delle Applicazioni Distribuite

L evoluzione delle Applicazioni Distribuite L evoluzione delle Applicazioni Distribuite Dai terminali a fosfori verdi al Client-Server a Internet Architettura basata su Mainframe thin client su 3270 a fosfori verde server TP-Monitor su Mainframe

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

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