UNIVERSITA DI FIRENZE Facoltà di Ingegneria. Persistenza Applicazioni Enterprise Uso dei modelli
|
|
- Adolfo Conti
- 8 anni fa
- Visualizzazioni
Transcript
1 UNIVERSITA DI FIRENZE Facoltà di Ingegneria Persistenza Applicazioni Enterprise Uso dei modelli 1
2 IL problema della persistenza APPLICAZIONE (programmi) (oggetti) DATI PERSISTENTI (file, record) (basi di dati) I programmi trattano oggetti (Stato, comportamento, associazioni) La base di dati è fatta di tabelle (valori, relazioni ) 2
3 Problemi 3
4 Struttura a livelli A cosa ci vogliamo portare per il Dominio Logica applicativa 4
5 Terminologia Data Object Sono le entità proprie del dominio applicativo ESEMPI: Fattura, Ordine, Cliente, Impiegato, Prestito, Escursione, Documento, Prenotazione, Pagamento, ecc. Spesso vengono anche indicati come Value Object (o Business object) Service Object Sono gli oggetti che implementano la logica applicativa ESEMPI: Gestore degli ordini, Controllo Pagamenti, Assegnazione lavoro, Registrazione prenotazione, ecc. Indicati anche come Applicative Object, Managers, Control Objects (?), ecc. 5
6 Un modo elementare I dati (Data Objects) sono salvati/recuperati da un file All avvio del programma viene caricato il file con i dati (tutto il grafo del modello di dominio) Tutti gli oggetti sono quindi in memoria La logica applicativo opera sugli oggetti in memoria Al termine il grafo degli oggetti del modello di dominio viene di nuovo salvato (come con Word, Excel, StarUML, ) Non è una vera soluzione 6
7 .Un modo elementare Se ci basta un file system (non una vera base dati) Salvare/caricare i dati (data objects) su/da un file system: Serializzazione (Java) Salva l intero grafo degli oggetti (con tutti i loro attributi ecc.) Uso di librerie, p.e. XStream Genera file XML contenenti il grafo degli oggetti Costruisce un grafo di oggetti a partire dal file XML (conforme) Vediamolo! 7
8 XML (Extended markup Language) Esempio (da wikipedia) <?xml version="1.0" encoding="utf-8"?> <utenti> <utente> <nome>luca</nome> <cognome>ruggero</cognome> <indirizzo>milano</indirizzo> </utente> <utente> <nome>max</nome> <cognome>rossi</cognome> <indirizzo>roma</indirizzo> </utente> </utenti> 8
9 Siamo seri! Usare una base di dati (relazionale) Tenere in memoria solo i data objects che in quel momento servono (oggetti transienti) Ragionare per Transazioni Richiede l adattamento dei due mondi Oggetti Tabelle 9
10 Mismatch 10
11 Come si risolve? 11
12 Modo tradizionale: Procedure Come di utente si che risolve? operano sui dati letti/scritti da/su la Base di dati ODBC (Open Data Base Connectivity) JDBC (Java Data Base Connectivity) Logica di dominio attraverso le entità che lo compongono. Richiede la trasformazione di oggetti in tabelle e viceversa 12
13 Come si risolve? Se l applicazione è complessa la strada è per forza questa: costi di sviluppo (progrmz, testing..) manutenzione ecc 13
14 Soluzione 14
15 Mappatura (impedance mismatch) Mondo OO Mondo RDB Mappatura Va bene per relazioni 1:1 e 1:N Nel caso di relazione N:N ci vuole una tabella di incrocio 15
16 Mappatura (impedance mismatch) Mondo OO Mondo RDB Mappatura Negli oggetti e nelle tabelle Solo negli oggetti 16
17 Mappatura Manuale: Il codice SQL per l accesso ai dati viene prodotto manualmente dal programmatore e integrato nell applicazione Automatica: Attraverso i metadati di mappatura il livello di persistenza provvede ad accedere direttamente ai dati (genera automaticamente il codice SQL necessario) 17
18 Mappatura Trasparente: Il modello di dominio non è sottoposto ad alcun vincolo dovuto allo strato di persistenza; le entità (oggetti corrispondenti ai dati) sono transienti e non sanno di essere persistenti. Invasiva: Il modello di dominio deve implementare e/o estendere classi e interfacce per implementare la mappatura. Le entità persistenti vengono codificate in modo diverso dalle entità transienti (p.e., hanno i metodi per salvarsi, aggiornarsi, ecc.) T I M A 18
19 Mappatura manuale con JDBC JDBC: API standard di JAVA verso il DBMS relazionale (uso di SQL) Accesso alla base dati: Apertura di una connessione verso la base di dati (istanziazione dell'oggetto con ) Preparazione di uno statement SQL (istanziazione dell'oggetto stmt) Esecuzione della query (tramite il metodo executequery() di stmt ) ottenendo un result set. Statement stmt = con.createstatement(); resultset rs = stmt.executequery("select * from PARTECIPANTE"); 19
20 Mappatura manuale con JDBC Come fare: Lasciare i Service Objects invariati Mettere nei Data Object le funzionalità che servono a: Cercare nella base dati Istanziare gli oggetti e assegnare agli attributi i valori letti da DB Salvare gli oggetti (aggiornare la base di dati) copiare i valori degli attributi nei campi delle righe corrispondente 20
21 Esempio Con riferimento ad Agenzia public Partecipante getpartecipante(string cf){ Statement stmt = con.createstatement(); ResultSet rs = stmt.executequery("select * from PARTECIPANTE"); while (rs.next()){ String cfx = rs.getstring("cf"); if (cfx == cf) { Partecipante p = new Partecipante(cF); p.setname(rs.getstring("name")); return p; } } return null; } 21
22 .Esempio Nell applicazione: Partecipante p = agenzia.getpartecipante( BCC... ) Sono state inserite linee di codice per la gestione della persistenza entro i Data Objects (Agenzia) E una soluzione invasiva : le entità di dominio vengono sporcate dal codice di persistenza, violando la separazione tra il livello di dominio e quello di persistenza Evitare!.ma Come? 22
23 ..Come? Non ci sarebbe niente di strano se anche i ServiceObjects avessero accesso a JDBC (p.e. per istanziare i DataObjects) Ma in tal caso la conoscenza della struttura della base di dati verrebbe portata anche nei service objects!!! Ci vuole una soluzione meno invasiva 23
24 ..Come? Ricorrendo al criterio classico dell ingegneria del software: Nascondere, incapsulare a parte i dettagli relativi alla mappatura in modo che i Data Object e i Service Object restino gli stessi. Si introducono i DAO (Data Access Object), oggetti che hanno la responsabilità della mappatura Usati dai Service Object per ottenere i Data Object Un DAO per ogni classe di oggetti Rendono inutile il Contenitore (nel nostro caso Agenzia) 24
25 Mappatura manuale e trasparente (con JDBC) Come si trasforma 25
26 Effetto del DAO Trasparente: I Data Object possono essere codificati come normali classi transienti Cliente non ha richiesto nessuna modifica relativa alla persistenza 26
27 Effetto del DAO Ovviamente questi metodi devono avere parametri appropriati 27
28 DAO in azione 28
29 Valutazione DAO + E trasparente (l unica minima variazione è nell istanziare e usare i DAO) Richiede la scrittura manuale dei DAO (codice SQL), per la gestione della persistenza Quando il dominio è complesso la produzione del codice SQL diventa molto costosa Difficoltà nel testing (del codice SQL) Per semplificare lo sviluppo sono stati resi disponibili i cosiddetti i framework di persistenza (o più semplicemente ORM) 29
30 Persistence framework Un framework di persistenza gestisce la mappatura tra oggetti e base dati in modo automatico e trasparent Open source: Hibernate, OJB (Apache ObJectRelationalBridge), CAYENNE (Apache), JULP (Java Ultra-Lite Persistence), TJDO,... Commerciali: TopLink (Oracle), JDO Genie, JDO Toolkit, 30
31 Persistence Framework (Hibernate) Fa (quasi) tutto lui 31
32 Persistence framework I Data Object sono normali oggetti (transienti) nel dominio I metadati specificano quali sono gli oggetti da considerare persistenti C è un Persistence Manager: fintantoché un oggetto nel dominio è agganciato al persistence manager, il framework rileva i suoi cambiamenti di stato e lo sincronizza con il data base SQL generation Commit and rollbacks Caching Prefetching Ecc. 32
33 Hibernate in azione Sono spariti i metodi save(), load().. 33
34 Lavora con i Metadati di Mapping 34
35 Hibernate 35
36 Architettura con Hibernate Di norma XML 36
37 E bene mantenere i DAO Conviene sempre avere i DAO tra il livello di persistenza e il livello dei service objects Hibernate semplifica l accesso ma ha pur sempre degli aspetti che sanno di base di dati (aprire/chiudere le sessioni, aprire/chiudere le transazioni, riconoscere le eccezioni che genera,..) Meglio nascondere questi aspetti entro i DAO, in modo che la logica applicativa veda un interfaccia pulita. 37
38 Hibernate e DAO 38
39 In pratica Interfaccia del DAO delle Escursioni public interface EscursioneDAO extends GenericDAO<Escursione> { public List<Escursione> getbypartecipante(partecipante p); public List<Escursione> findbydate(data d) ; } GenericDAO è un interfaccia ancora più astratta che definisce operazioni CRUD da prevedere per qualunque tipo di DAO [save(), delete(), ] Sono oggetti 39
40 In pratica public class EscursioneDAOImpl extends GenericAbstractHibernateDAO<Escursione> implements EscursioneDAO { public List<Escursione> getbypartecipante( Partecipante p) { return find("from Escursione e where :partecipante in elements(e.iscrittilista)", "partecipante",p); } public List<Escursione> findbydate(data d) { return find("from Escursione where data = :data", "data", d); 40
41 E ancora migliorabile I Service Object implementano la logica di business Ma devono tenere anche conto di aspetti trasversali, legati alla logica di sistema (logging, transaction management, ecc.) Finisce che i Service Object vengono sporcati con aspetti estranei alla logica di business Ci sono dei framework che liberano i Service Object degli aspetti di sistema e permettono di definire Service Object in cui si tiene conto della sola logica di business. Uno di questi è Spring (Apache) 41
42 Meglio ancora JPA JPA (Java Persistence API) Semplifica di molto il trattamento della persistenza Si tratta di aggiungere poche righe al codice Java (POJO) public class private Integer employeeid; } Si può anche fare a meno dei DAO 42
43 Meglio ancora JPA EJBv3.0 JPA (Java Persistence API) Semplifica di molto il trattamento della persistenza Si tratta di aggiungere poche righe al codice Java (POJO) public class private Integer employeeid; } Si può anche fare a meno dei DAO 43
44 Meglio ancora JPA EJBv3.0 JPA (Java Persistence API) Semplifica di molto il trattamento della persistenza Si tratta di aggiungere poche righe al codice Java (POJO) public class private Integer employeeid; } Si può anche fare a meno dei DAO 44
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
DettagliUNIVERSITA 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
DettagliIntroduzione 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
DettagliProgrammazione 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
DettagliIntroduzione JDBC interfaccia java.sql driver caricare i driver
J D B C DISPENSE Introduzione JDBC (Java Database Connectivity) è un interfaccia completamente Java utilizzata per eseguire istruzioni SQL sui database. L'API JDBC si trova nel pacchetto java.sql; contiene
DettagliObject-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
DettagliOrganizzazione degli archivi
COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i
DettagliSiti 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
Dettagli1. 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
DettagliMappare 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
DettagliArchitettura MVC-2: i JavaBeans
Siti web centrati sui dati Architettura MVC-2: i JavaBeans Alberto Belussi anno accademico 2008/2009 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con
DettagliIntroduzione ai database relazionali
Introduzione ai database relazionali Tabelle Un database (DB) è costituito da un insieme di file che memorizzano dati opportunamente organizzati Nei database relazionale tale organizzazione è costituita
DettagliIntroduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni
Introduzione Ai Data Bases Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni I Limiti Degli Archivi E Il Loro Superamento Le tecniche di gestione delle basi di dati nascono
DettagliCapitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti
Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta
DettagliDispensa di database Access
Dispensa di database Access Indice: Database come tabelle; fogli di lavoro e tabelle...2 Database con più tabelle; relazioni tra tabelle...2 Motore di database, complessità di un database; concetto di
DettagliBasi di dati. Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti
Basi di dati Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti Anno Accademico 2008/2009 Introduzione alle basi di dati Docente Pierangelo
DettagliTelerilevamento e GIS Prof. Ing. Giuseppe Mussumeci
Corso di Laurea Magistrale in Ingegneria per l Ambiente e il Territorio A.A. 2014-2015 Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Strutture di dati: DB e DBMS DATO E INFORMAZIONE Dato: insieme
DettagliLezione 9. Applicazioni tradizionali
Lezione 9 Applicazioni tradizionali Pag.1 Sommario Concetti trattati in questa lezione: SQL nel codice applicativo Cursori API native ODBC Pag.2 SQL nel codice applicativo I comandi SQL possono essere
DettagliTecnologia di un Database Server (centralizzato) Introduzione generale
Introduzione Basi di Dati / Complementi di Basi di Dati 1 Tecnologia di un Database Server (centralizzato) Introduzione generale Angelo Montanari Dipartimento di Matematica e Informatica Università di
DettagliGuida all uso di Java Diagrammi ER
Guida all uso di Java Diagrammi ER Ver. 1.1 Alessandro Ballini 16/5/2004 Questa guida ha lo scopo di mostrare gli aspetti fondamentali dell utilizzo dell applicazione Java Diagrammi ER. Inizieremo con
DettagliAccess. P a r t e p r i m a
Access P a r t e p r i m a 1 Esempio di gestione di database con MS Access 2 Cosa è Access? Access e un DBMS che permette di progettare e utilizzare DB relazionali Un DB Access e basato sui concetti di
DettagliSviluppo Applicazioni Mobile Lezione 12 JDBC. Dr. Paolo Casoto, Ph.D - 2012
+ Sviluppo Applicazioni Mobile Lezione 12 JDBC + Cosa vediamo nella lezione di oggi Oggi analizzeremo insieme una specifica tecnologia Java per l accesso e la manipolazione di basi di dati relazionali
DettagliPROGETTAZIONE 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
DettagliSWIM 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
DettagliI Sistemi Informativi
I Sistemi Informativi Definizione Un Sistema Informativo è un mezzo per acquisire, organizzare, correlare, elaborare e distribuire le informazioni che riguardano una realtà che si desidera descrivere e
DettagliJDBC versione base. Le classi/interfacce principali di JDBC
JDBC versione base Java Database Connectivity è il package Java per l accesso a database relazionali il package contiene interfacce e classi astratte uno dei pregi è la completa indipendenza del codice
DettagliImplementing a new ADT based on the HL7 version 3 RIM. Esempio
Implementing a new ADT based on the HL7 version 3 RIM Esempio Contesto di riferimento Alla fine degli anni 90, sei ospedali vennero fusi allo scopo di formare un unica organizzazione lo University Hospital
DettagliL architettura di un DBMS
L architettura di un DBMS sources: Lucidi del corso di Lucidi del corso di Laboratorio di Basi di dati e sistemi informativi, Montesi, Magnani, Corso di laurea in Informatica per il management, Scienze
DettagliProgettazione : Design Pattern Creazionali
Progettazione : Design Pattern Creazionali Alessandro Martinelli alessandro.martinelli@unipv.it 30 Novembre 2010 Progettazione : Design Pattern Creazionali Aspetti generali dei Design Pattern Creazionali
DettagliBASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015
BASE DI DATI: introduzione Informatica 5BSA Febbraio 2015 Di cosa parleremo? Base di dati relazionali, modelli e linguaggi: verranno presentate le caratteristiche fondamentali della basi di dati. In particolare
DettagliINTRODUZIONE. 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
DettagliSoluzione dell esercizio del 2 Febbraio 2004
Soluzione dell esercizio del 2 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. E evidenziato un sotto caso di uso. 2. Modello concettuale Osserviamo
DettagliIntroduzione alla teoria dei database relazionali. Come progettare un database
Introduzione alla teoria dei database relazionali Come progettare un database La struttura delle relazioni Dopo la prima fase di individuazione concettuale delle entità e degli attributi è necessario passare
DettagliNon si deve fare ALCUN riferimento alla parte specifica di JDBC.
Un applicazione per la quale sia fondamentale l indipendenza dal Database può essere scritta in Java usando le specifiche. (Package java.sql) Non devono essere usate chiamate specifiche del database: Si
DettagliDBMS (Data Base Management System)
Cos'è un Database I database o banche dati o base dati sono collezioni di dati, tra loro correlati, utilizzati per rappresentare una porzione del mondo reale. Sono strutturati in modo tale da consentire
DettagliAl giorno d oggi, i sistemi per la gestione di database
Introduzione Al giorno d oggi, i sistemi per la gestione di database implementano un linguaggio standard chiamato SQL (Structured Query Language). Fra le altre cose, il linguaggio SQL consente di prelevare,
DettagliDATABASE. nozioni di base
DATABASE nozioni di base Un database è una raccolta di informazioni organizzata in modo da poter essere facilmente accessibile per consultazione, modifiche e aggiornamenti. All'inizio della storia dei
DettagliIntroduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico
Introduzione alle basi di dati Introduzione alle basi di dati Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS Gestione delle
DettagliIl linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.
(Structured Query Language) : Il linguaggio è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. prima versione IBM alla fine degli anni '70 per un prototipo di ricerca (System
DettagliLezione V. Aula Multimediale - sabato 29/03/2008
Lezione V Aula Multimediale - sabato 29/03/2008 LAB utilizzo di MS Access Definire gli archivi utilizzando le regole di derivazione e descrivere le caratteristiche di ciascun archivio ASSOCIAZIONE (1:1)
DettagliUso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database
Uso delle basi di dati Uso delle Basi di Dati Il modulo richiede che il candidato comprenda il concetto di base dati (database) e dimostri di possedere competenza nel suo utilizzo. Cosa è un database,
Dettaglicorso di Access MICROSOFT ACCESS Docente: Andrea Mereu Università degli studi di Cagliari 16 aprile 9 maggio 2012
1 MICROSOFT ACCESS 1 Docente: Andrea Mereu Università degli studi di Cagliari 16 aprile 9 maggio 2012 Che cos'è Access? 2 Access è un'applicazione database (DBMS), cioè un programma che serve a gestire
DettagliAzioni. Select e join non consentono di modificare il contenuto del DB. Inserzione di nuovi dati. Azioni desiderate. Aggiornamento di dati
Azioni Select e join non consentono di modificare il contenuto del DB Azioni desiderate Inserzione di nuovi dati Aggiornamento di dati Cancellazione di dati Aggiunta di un record insert into utenti(nome,tel,codice_u)
DettagliProgettazione 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
DettagliDatabase. Francesco Tapparo Informatica e Bioinformatica 2013-14 1/16
Database Francesco Tapparo Informatica e Bioinformatica 2013-14 1/16 Trend attuali CPU sempre più potenti Memorie di massa di dimensioni sempre maggiori Eniac: 180m 2 Memoria: 20 numeri di 10 cifre, meno
DettagliBasi di Dati e Microsoft Access
Basi di Dati e Microsoft Access Lun: 16-18 e Mer: 14-17 Alessandro Padovani padoale@email.it Database: definizione Un database (DB) è una collezione di informazioni organizzata in gruppi, che consentono
DettagliUniversità 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
DettagliBreve 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
DettagliINSERIMENTO DATI BASILARI
PASSO PASSO. Questo applicativo software nasce con l idea di essere molto semplice da usare. Di fatto lo è ed infatti non dispone di un help in linea all interno dello stesso. Tuttavia ci sentiamo in dovere
DettagliJDBC di base. Le classi/interfacce principali di JDBC
JDBC di base Java Database Connectivity è il package Java per l accesso a database relazionali il package contiene interfacce e classi astratte completa indipendenza del codice dal tipo di database o di
DettagliModello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli
Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli gerarchico e reticolare sono più vicini alle strutture
DettagliOgni documento digitalizzato, carta attivo o passivo, viene di infatti accompagnato identità da una sorta di elettron
Arxivar Document & Process Managment Arxivar è il software allinone gestionale per l'archiviazione aziendale OS1. documentale di Tre Ci adatto alle aziende semplice, int SISTEMA DI GESTIONE DOCUMENTALE
DettagliAbilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere
Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report Facoltà di Lingue e Letterature Straniere Le QUERY 2 Che cos è una Query? Una Query rappresenta uno strumento per interrogare un database.
DettagliLe Basi di Dati. Le Basi di Dati
Le Basi di Dati 20/05/02 Prof. Carlo Blundo 1 Le Basi di Dati Le Base di Dati (database) sono un insieme di tabelle di dati strutturate in maniera da favorire la ricerca di informazioni specializzate per
DettagliRiccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino
Integration Services Project SQL Server 2005 Integration Services Permette di gestire tutti i processi di ETL Basato sui progetti di Business Intelligence di tipo Integration services Project SQL Server
DettagliInformatica Generale Andrea Corradini. 19 - Sistemi di Gestione delle Basi di Dati
Informatica Generale Andrea Corradini 19 - Sistemi di Gestione delle Basi di Dati Sommario Concetti base di Basi di Dati Il modello relazionale Relazioni e operazioni su relazioni Il linguaggio SQL Integrità
DettagliFinalità della soluzione... 3. Schema generale e modalità d integrazione... 4. Gestione centralizzata in TeamPortal... 6
Finalità della soluzione... 3 Schema generale e modalità d integrazione... 4 Gestione centralizzata in TeamPortal... 6 Dati gestiti dall Anagrafica Unica... 8 Gestione anagrafica... 9 Storicizzazione...
DettagliProgettazione concettuale
Progettazione concettuale Strategie top-down A partire da uno schema che descrive le specifiche mediante pochi concetti molto astratti, si produce uno schema concettuale mediante raffinamenti successivi
DettagliCorso di Informatica Modulo T3 B2 - Database in rete
Corso di Informatica Modulo T3 B2 - Database in rete 1 Prerequisiti Programmazione web Applicazione web Modello OSI Architettura client/server Conoscenze generali sui database Tecnologia ADO in Visual
DettagliJDBC per l accesso Java a DB. Tito Flagella tito@link.it
JDBC per l accesso Java a DB Tito Flagella tito@link.it JDBC fornisce una libreria standard per l accesso a database relazionali Non è un acronimo ufficiale ma è comunemente interpretato come Java DataBase
DettagliDATABASE. www.andreavai.it
Cos'è un database? Quando si usa? Differenze con i fogli elettronici Le tabelle: record, campi, tipi di dati Chiavi e indici Database relazionali (R-DBMS) Relazioni uno-a-uno Relazioni uno-a-molti Relazioni
DettagliBasi 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!
DettagliUtilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi
Vogliamo creare una struttura per permettere di memorizzari i voti della classe in tutte le materie Per fare questo untilizziamo tre tabelle Alunni,materie,voti Alunni Materie Voti Creo un record per ogni
DettagliCos è ARXIVAR. Un sistema integrato per la Gestione dei documenti DESTRUTTURATI e di provenienza ERP.
Cos è ARXIVAR Un sistema integrato per la Gestione dei documenti DESTRUTTURATI e di provenienza ERP. Una soluzione specifica per l Archiviazione e Gestione documentale. Una gestione flessibile dei processi
DettagliInformatica per le discipline umanistiche 2 lezione 10
Informatica per le discipline umanistiche 2 lezione 10 Parte III: il computer come strumento per l interazione e la comunicazione Si è parlato di identità Parte III: il computer come strumento per l interazione
DettagliJDBC. A. Bechini 2004. Accesso a DataD con Java
JDBC Accesso a DataD atabase ase con Java Utilizzo di DB da applicazioni esterne Un DB contiene e gestisce dati, importanti per varie operazioni supportate da applicazioni software Come può un applicazione
DettagliEsercitazione di Basi di Dati
Esercitazione di Basi di Dati Corso di Fondamenti di Informatica 15/22 Aprile 2004 Progettazione di un Database (DB) Marco Pennacchiotti pennacchiotti@info.uniroma2.it Tel. 0672597334 Ing.dell Informazione,
DettagliGestione delle transazioni. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1
Gestione delle transazioni Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Transazioni v L esecuzione concorrente dei programmi utente è essenziale per le buone prestazioni del DBMS Poiché
DettagliCapitolo 13. Interrogare una base di dati
Capitolo 13 Interrogare una base di dati Il database fisico La ridondanza è una cosa molto, molto, molto brutta Non si devono mai replicare informazioni scrivendole in più posti diversi nel database Per
DettagliIntroduzione al corso
Introduzione al corso Sistemi Informativi L-B Home Page del corso: http://www-db.deis.unibo.it/courses/sil-b/ Versione elettronica: introduzione.pdf Sistemi Informativi L-B Docente Prof. Paolo Ciaccia
DettagliDATABASE. A cura di Massimiliano Buschi
DATABASE A cura di Massimiliano Buschi Introduzione Con Microsoft Access: Immissione dati e interrogazione Interfaccia per applicazioni e report Ma prima bisogna definire alcune conoscenze di base sui
DettagliE-mail: infobusiness@zucchetti.it. Gestione Filtri. InfoBusiness 2.8 Gestione Filtri Pag. 1/ 11
Gestione Filtri InfoBusiness 2.8 Gestione Filtri Pag. 1/ 11 INDICE Indice...2 1. GESTIONE DEI FILTRI...3 1.1. Filtri fissi...3 1.2. Filtro parametrico...5 1.3. Funzione di ricerca...6 2. CONTESTI IN CUI
Dettagli2003.06.16 Il sistema C.R.M. / E.R.M.
2003.06.16 Il sistema C.R.M. / E.R.M. Customer / Enterprise : Resource Management of Informations I-SKIPPER è un sistema di CONOSCENZE che raccoglie ed integra INFORMAZIONI COMMERCIALI, dati su Clienti,
DettagliLinguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2007-2008. Esercitazione. Programmazione Object Oriented in Java
Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2007-2008 Alessandro Longheu http://www.diit.unict.it/users/alongheu alessandro.longheu@diit.unict.it Programmazione Object Oriented in Java
DettagliConcetti preliminari teorici per il corso di Access Avanzato - Sc.Elem Falcone - PON 2010 - Prof. M. Simone
Concetti preliminari per il corso di Access di database e di DBMS Un database è un insieme ben organizzato di informazioni distribuite su più tabelle all interno dello stesso file e gestite da un apposito
DettagliDATABASE RELAZIONALI
1 di 54 UNIVERSITA DEGLI STUDI DI NAPOLI FEDERICO II DIPARTIMENTO DI DISCIPLINE STORICHE ETTORE LEPORE DATABASE RELAZIONALI Dott. Simone Sammartino Istituto per l Ambiente l Marino Costiero I.A.M.C. C.N.R.
DettagliLimiti della gestione tradizionale degli archivi. Prof. Francesco Accarino IIS Altiero Spinelli
Limiti della gestione tradizionale degli archivi IIS Altiero Spinelli Limiti degli archivi tradizionali La gestione tradizionale degli archivi presenta numerosi limiti Gli archivi non consentono un accesso
DettagliRealizzazione di una classe con un associazione
Realizzazione di una classe con un associazione Nel realizzare una classe che è coinvolta in un associazione, ci dobbiamo chiedere se la classe ha responsabilità sull associazione. Diciamo che una classe
DettagliCORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)
Ambiente Access La Guida di Access Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Guida in linea Guida rapida Assistente di Office indicazioni
DettagliUML Diagrammi delle classi. UML Diagramma classi 1
UML Diagrammi delle classi UML Diagramma classi 1 Diagramma delle classi Non è nei nostri obiettivi affrontare UML nel suo complesso Ci concentreremo sui diagrammi delle classi che ci forniscono un linguaggio
DettagliCaratteristiche 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/
DettagliData Base. Master "Bio Info" Reti e Basi di Dati Lezione 6
Data Base 1 Sommario I concetti fondamentali. Database Relazionale.. Query e SQL MySql, Creazione di un db in MySQL con PHPmyAdmin Creazione database e delle Tabelle Query Inserimento Ricerca Modifica
DettagliBASI DI DATI - : I modelli di database
BASI DI DATI - : I modelli di database DAL 1960 ci si e' orientati verso 3 direzioni: 1 MODELLO GERARCHICO Se i dati si presentano naturalmente in una struttura ad albero (ES. File System) Limiti: rigidità
DettagliInformatica 3. Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati. Lezione 10 - Modulo 1. Importanza delle strutture dati
Informatica 3 Informatica 3 LEZIONE 10: Introduzione agli algoritmi e alle strutture dati Modulo 1: Perchè studiare algoritmi e strutture dati Modulo 2: Definizioni di base Lezione 10 - Modulo 1 Perchè
DettagliSistemi di gestione delle basi di dati. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma
Sistemi di gestione delle basi di dati 1 Cos è un DBMS? Una collezione integrata molto grande di dati Modella organizzazioni del mondo reale Entità (ad esempio studenti, corsi) Relazioni (ad esempio, Madonna
DettagliRaggruppamenti Conti Movimenti
ESERCITAZIONE PIANO DEI CONTI Vogliamo creare un programma che ci permetta di gestire, in un DB, il Piano dei conti di un azienda. Nel corso della gestione d esercizio, si potranno registrare gli articoli
DettagliMac Application Manager 1.3 (SOLO PER TIGER)
Mac Application Manager 1.3 (SOLO PER TIGER) MacApplicationManager ha lo scopo di raccogliere in maniera centralizzata le informazioni piu salienti dei nostri Mac in rete e di associare a ciascun Mac i
DettagliProf. Pagani Corrado ESERCITAZIONI DIAGRAMMI DELLE CLASSI UML E JAVA
Prof. Pagani Corrado ESERCITAZIONI DIAGRAMMI DELLE CLASSI UML E JAVA ES 02 - ORGANIZER Voglio un gestionale (organizer) che permetta a ciascun dipendente della mia azienda di inserire le attività che svolgono
DettagliJDBC: Introduzione. Java Database Connectivity (JDBC): parte 1. Schema dei legami tra le classi principali. Principali classi/interfacce di JDBC
JDBC: Introduzione Java Database Connectivity (JDBC): parte 1 Gianluca Moro DEIS - Università di Bologna gmoro@deis.unibo.it Java Database Connectivity è il package Java per l accesso a database relazionali
DettagliProgrammazione a Oggetti Modulo B
Programmazione a Oggetti Modulo B Progetto Dott. Alessandro Roncato 4/10/2011 Progetto Da svolgere singolarmente Scadenza consegna: una settimana prima dello scritto; Valutazione in base a: Corretta compilazione
DettagliDatabase e reti. Piero Gallo Pasquale Sirsi
Database e reti Piero Gallo Pasquale Sirsi Approcci per l interfacciamento Il nostro obiettivo è, ora, quello di individuare i possibili approcci per integrare una base di dati gestita da un in un ambiente
DettagliCorso di Informatica (Basi di Dati)
Corso di Informatica (Basi di Dati) Lezione 1 (12 dicembre 2008) Introduzione alle Basi di Dati Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati 1, Prof. Carlo Batini,
DettagliCandidato: 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
DettagliSOLUZIONE Web.Orders online
SOLUZIONE Web.Orders online Gennaio 2005 1 INDICE SOLUZIONE Web.Orders online Introduzione Pag. 3 Obiettivi generali Pag. 4 Modulo di gestione sistema Pag. 5 Modulo di navigazione prodotti Pag. 7 Modulo
DettagliEsercitazione su JDBC
Esercitazione su JDBC Basi di Dati L Ingegneria dei Processi Gestionali (Ilaria Bartolini - Roberto Cabras) come usare SQL (1) Le istruzioni SQL possono essere eseguite interattivamente Ese JDBC 2 come
DettagliSQL Server 2005. Introduzione all uso di SQL Server e utilizzo delle opzioni Olap. Dutto Riccardo - SQL Server 2005.
SQL Server 2005 Introduzione all uso di SQL Server e utilizzo delle opzioni Olap SQL Server 2005 SQL Server Management Studio Gestione dei server OLAP e OLTP Gestione Utenti Creazione e gestione DB SQL
DettagliCORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity
CORSO DI ALGORITMI E PROGRAMMAZIONE JDBC Java DataBase Connectivity Anno Accademico 2002-2003 Accesso remoto al DB Istruzioni SQL Rete DataBase Utente Host client Server di DataBase Host server Accesso
DettagliScheda 15 Accedere ai DataBase con JDBC
Scheda 15 Accedere ai DataBase con JDBC G IOVANNI PULITI Panoramica: che cosa è JDBC La API JDBC, introdotta per la prima volta con il JDK 1.0, è una API che permette di accedere a database relazionali
DettagliCONTROLLO DI GESTIONE DELLO STUDIO
CONTROLLO DI GESTIONE DELLO STUDIO Con il controllo di gestione dello studio il commercialista può meglio controllare le attività svolte dai propri collaboratori dello studio nei confronti dei clienti
DettagliCREAZIONE DI UN AZIENDA
CREAZIONE DI UN AZIENDA La creazione di un azienda in Businesspass avviene tramite la funzione Aziende Apertura azienda ; dalla medesima sarà possibile richiamare le aziende precedentemente create per
Dettagli