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

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

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

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

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

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

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

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

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

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

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 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

è 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

SOFTWARE DEVELOPMENT JUNIOR SPECIALIST

SOFTWARE DEVELOPMENT JUNIOR SPECIALIST SKILL4YOU ACADEMY MICROSOFT SOFTWARE DEVELOPMENT JUNIOR SPECIALIST PERCORSO ACADEMY MICROSOFT SOFTWARE DEVELOPMENT JUNIOR SPECIALIST A CHI E RIVOLTO IL CORSO ACADEMY MICROSOFT SOFTWARE DEVELOPMENT JUNIOR

Dettagli

Realizzazione di un software di gestione allocazione risorse e analisi dei movimenti finanziari correlati

Realizzazione di un software di gestione allocazione risorse e analisi dei movimenti finanziari correlati Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica tesi di laurea Realizzazione di un software di gestione allocazione risorse e analisi dei movimenti finanziari correlati Anno Accademico 2012/2013

Dettagli

Formazione sulla piattaforma Java2EE

Formazione sulla piattaforma Java2EE cprsjava2ee Formazione Personale Applicativo JAVA Pag 1 di 8 Formazione sulla piattaforma Java2EE Obiettivo: Figure interessate Informare sulle tecniche OOP OOA e OOD applicate alla piattaforma Java2EE-JSP-

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

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

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

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

Le transazioni. Dott. Doria Mauro doriamauro@gmail.com

Le transazioni. Dott. Doria Mauro doriamauro@gmail.com Hibernate Le transazioni Dott. Doria Mauro doriamauro@gmail.com Introduzione La demarcazione delle transazioni può essere fatta: In maniera programmatica: demarcazione all interno del codice applicativo.

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

POSA: Un catalogo di pattern architetturali. (seconda parte) [POSA1] Pattern-Oriented Software Architecture A System of Patterns, 1996

POSA: Un catalogo di pattern architetturali. (seconda parte) [POSA1] Pattern-Oriented Software Architecture A System of Patterns, 1996 Luca Cabibbo Architetture Software POSA: Un catalogo di pattern architetturali (seconda parte) Dispensa ASW 361 ottobre 2014 Quando una decisione ha senso in molte circostanze diverse, probabilmente è

Dettagli

Francesco Catania. Stato civile: Coniugato Nazionalità: Italiana Data di nascita: 27/12/1956 Luogo di nascita:palermo

Francesco Catania. Stato civile: Coniugato Nazionalità: Italiana Data di nascita: 27/12/1956 Luogo di nascita:palermo E-mail: f.catania@fcservice.com Francesco Catania INFORMAZIONI PERSONALI Stato civile: Coniugato Nazionalità: Italiana Data di nascita: 27/12/1956 Luogo di nascita:palermo CULTURA E FORMAZIONE SPECIALIZZAZIONI

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

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

i5/os per processi di business efficienti e flessibili

i5/os per processi di business efficienti e flessibili L ambiente operativo integrato leader nel settore i5/os per processi di business efficienti e flessibili Caratteristiche principali Middleware integrato per processi di business efficienti. Funzioni integrate

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

Progettazione della componente applicativa

Progettazione della componente applicativa 7 Progettazione della componente applicativa In questo capitolo illustreremo la progettazione della componente applicativa di un sistema informativo. La metodologia da noi utilizzata sarà basata sull utilizzo

Dettagli

Configurazione di base. Dott. Doria Mauro doriamauro@gmail.com

Configurazione di base. Dott. Doria Mauro doriamauro@gmail.com Hibernate Configurazione di base Dott. Doria Mauro doriamauro@gmail.com I file di configurazione Hibernate prevede l uso dei file di configurazione formato XML. I principali file sono: Un file di configurazione

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

B e n v e n u t i. Modena, 30 Marzo 2012

B e n v e n u t i. Modena, 30 Marzo 2012 B e n v e n u t i Modena, 30 Marzo 2012 Agenda 14.00 - L idea Con.net 2.0 (Federico Baietta) 14.20 - Demo (Mirko Seghetti) 15.15 - Pausa caffè 15.30 - Approfondimento tecnico (Stefano Bonato) 16.00 - Aspetti

Dettagli

Architetture Software Milano

Architetture Software Milano Architetture Software Approccio tradizionale allo sviluppo I limiti del modello requisiti, progetto, implementazione Il concetto di architettura software Il concetto di stile architetturale I principali

Dettagli

Java Model 2, J2EE e MVC

Java Model 2, J2EE e MVC Java Model 2, J2EE e MVC Home Page del corso: http://www-db.disi.unibo.it/courses/tw/ Versione elettronica: 5.01.J2EE.pdf Versione elettronica: 5.01.J2EE-2p.pdf 1 Java Model 2 Nel progetto di applicazioni

Dettagli

Java e solidarietà: il progetto Jug4Tenda

Java e solidarietà: il progetto Jug4Tenda Java e solidarietà: il progetto Jug4Tenda www.jugancona.it Jug Marche Relatore: Andrea Del Bene Java e solidarietà: il progetto Jug4Tenda Agenda Storia del progetto Architettura Processo di sviluppo Riferimenti

Dettagli

Applicazione: SAI - Sistema di Audit Interno

Applicazione: SAI - Sistema di Audit Interno Riusabilità del software Catalogo delle applicazioni: Amministrativo/Contabile Applicazione: SAI Sistema di Audit Interno Amministrazione: Agenzia delle Entrate Responsabile dei sistemi informativi Nome

Dettagli

SDD System design document

SDD System design document UNIVERSITA DEGLI STUDI DI PALERMO FACOLTA DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA INFORMATICA TESINA DI INGEGNERIA DEL SOFTWARE Progetto DocS (Documents Sharing) http://www.magsoft.it/progettodocs

Dettagli

Modulo Loyalty Activator

Modulo Loyalty Activator Modulo Loyalty Activator 1 Che cosa è Market Activator Market Activator è una suite composta da quattro diversi moduli che coprono esigenze diverse, ma tipicamente complementari per i settori marketing/commerciale

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

ISTITUTO TECNICO ECONOMICO AMBROGIO FUSINIERI VICENZA PROGRAMMAZIONE ATTIVITA' DIDATTICA A.S. 2014-2015 MATERIA: TECNOLOGIE DELLA COMUNICAZIONE

ISTITUTO TECNICO ECONOMICO AMBROGIO FUSINIERI VICENZA PROGRAMMAZIONE ATTIVITA' DIDATTICA A.S. 2014-2015 MATERIA: TECNOLOGIE DELLA COMUNICAZIONE ISTITUTO TECNICO ECONOMICO AMBROGIO FUSINIERI VICENZA Via G. D Annunzio, 15-36100 VICENZA Tel. 0444563544 Fax 0444962574 sito web: www.itcfusinieri.eu E-mail: protocollo@itcfusinieri.it - vitd010003@pec.istruzione.it

Dettagli

Basi di dati (3) Ing. Integrazione di Impresa A.A. 2007/08

Basi di dati (3) Ing. Integrazione di Impresa A.A. 2007/08 Università di Modena e Reggio Emilia Panoramica Basi di dati (3) Ing. Integrazione di Impresa A.A. 2007/08 Docente: andrea.bulgarelli@gmail.com Argomento: struttura SQL Server (1.0)! Componenti! Edizioni!

Dettagli

POLO DI INNOVAZIONE NEL SETTORE ICT ALLEGATO TECNICO

POLO DI INNOVAZIONE NEL SETTORE ICT ALLEGATO TECNICO PIATTAFORMA SERVIZI PER IMPRESE DEL SETTORE ENERGIA PREMESSA ALLEGATO TECNICO Evoluzione del mercato elettrico: tappe della liberalizzazione! Direttiva 96/92/CE del Parlamento Europeo e del Consiglio del

Dettagli

DEFINIZIONI FONDAMENTALI

DEFINIZIONI FONDAMENTALI Consorzio per la formazione e la ricerca in Ingegneria dell'informazione DEFINIZIONI FONDAMENTALI Per vincere ci vuole una buona partenza... Docente: Cesare Colombo CEFRIEL colombo@cefriel.it http://www.cefriel.it

Dettagli