Obiettivo della lezione
|
|
- Annalisa Cocco
- 6 anni fa
- Visualizzazioni
Transcript
1 Obiettivo della lezione Lezione 17 Enterprise JavaBeans (5) Vittorio Scarano Corso di Sistemi Distribuiti ( ) Laurea Specialistica in Informatica Università degli Studi di Salerno Comprendere quanto è complesso scrivere un EJB entity che la cui persistenza sia a carico del bean stesso (Bean Managed Persistent) 2 Organizzazione della lezione Due modalità diverse degli Entity EJB Entity bean e le due modalità di persistenza Le caratteristiche di un Entity Bean Bean Managed Persistent (BMP) Implementazione di un BMP Entity bean E necessario che sia scritto il codice che accede al database per poter assicurare la persistenza degli oggetti entity se lo fa lo sviluppatore, allora si ha un bean-managed persistent bean (BMP Entity Bean) altrimenti, lo fa il container e si ha un container-managed persistent bean (CMP Entity Bean) lo sviluppatore informa solamente del tipo di operazioni e della struttura del bean, poi il container a deployment time crea il codice necessario enorme risparmio di codice 3 4
2 Creazione e distruzione di Entity EJB Un esempio di creazione All atto della creazione e rimozione di un entity Se il metodo di un AccountBean è: si deve fisicamente creare nel DB di supporto (ad es.) una riga in una tabella (creazione) oppure si deve cancellare L oggetto Home dell Entity si occupa di effettuare la creazione dell entity che prende come parametri i dati necessari per riempire il record e restituisce un parametro di chiave primaria (come definito dallo sviluppatore) public AccountPK ejbcreate(string accountid, String owner) throws.. La interfaccia di home deve avere: public Account create(string accountid, String owner) throws La creazione di un entity EJB Altre caratteristiche di Entity EJB Ricerca di entity Necessario specificare, per gli entity bean-managed, uno (o più) metodi di finder() servono per poter implementare la ricerca di un dato bean corrispondono di solito ad una SELECT SQL Modifica di dati del Bean senza usare EJB ovviamente, se si usa un DB, si possono modificare i dati direttamente sul DB (utile per i legacy) e i cambi sono riflessi sull entity attenzione alla configurazione del container per i problemi di caching! Problemi di coerenza 7 8
3 Organizzazione della lezione Contesto di Entity EJB: javax.ejb.entitycontext Entity bean e le due modalità di persistenza Ereditato da javax.ejb.ejbcontext, aggiunge Le caratteristiche di un Entity Bean Bean Managed Persistent (BMP) Implementazione di un BMP Entity bean oltre a metodi per la gestione dei EJBObject (una specie di this) il metodo getprimarykey() che restituisce la chiave associata alla istanza del bean A cosa serve? essenzialmente per evitare che ci siano problemi con il riuso ed il pooling di risorse: si chiama per poter sapere ejbload() da che riga della tabella deve caricare i dati oppure si chiama per ejbremove() 9 10 BMP Entity Bean: : i metodi da implementare Metodo setentitycontext() 11 Per un BMP Entity Bean sono da implementare un certo numero di metodi: setentitycontext() ejbfindxxxx() ejbhomexxxx() ejbcreate() ejbpostcreate() ejbactivate() ejbload() ejbstore() ejbpassivate() ejbremove() unsetentitycontext() 12 se il container genera una nuova istanza (per aumentare il pool disponibile), il metodo viene chiamato subito dopo per associare il bean all ambiente memorizzare il context in una variabile membro per accessi successivi (ad es. sicurezza) definire altre risorse necessarie per il bean (senza riferimento alcuno a quali dati il bean sta rappresentando) il bean è nel pool e non contiene dati in quanto non legato a nessun oggetto EJB
4 Metodi finder: ejbfindxxx() Metodi di home: ejbhomexxxx() localizzare istanze di dati nel sistema di memorizzazione persistente. Per un BMP almeno un metodo finder deve essere definito ricerca attraverso una query (via JDBC o altro) sul DB e restituisce una primary key il bean non è più nel pool, contiene dati specifici all interno in quanto viene associato ad un oggetto EJB metodi che non si riferiscono ad una istanza di dati particolare (contare il numero di record in una tabella) una sorta di metodi statici per tutti gli entity beans di quel tipo accessibili via la Home interface Es. contare quanti righi (record) ha una tabella non applicabile, in quanto non viene influenzato alcun entity bean Metodi di creazione: ejbcreate() Metodi di post-creazione: ejbpostcreate() 15 quando un client chiama create() sull oggetto Home, allora il container chiama ejbcreate() su un bean nel pool responsabile creazione e inizializzazione possibile non crearli (se si vuole creare dati solo via DB) controllati i parametri, si usa una INSERT SQL nel DB restituisce la primary key l istanza non è più nel pool ed ha dati specifici 16 necessario definire un ejbpostcreate() per ogni ejbcreate() (con la stessa firma) viene chiamato subito dopo la ejbcreate() dopo che l oggetto EJB viene associato con i dati completare la installazione dell oggetto, settando parametri extra (potrebbero essere stati usati da dati precedentemente memorizzati nel bean) l istanza non è più nel pool, ha dati specifici e contiene eventuali dati addizionali inizializzati correttamente
5 Metodo ejbactivate() Metodo ejbload() quando un client chiama un metodo di un EJB object ma nessuna istanza è legata a quell oggetto, il container prende un bean del pool e lo rende ready (attivazione), subito dopo chiama il metodo acquisisce le risorse necessarie (es. socket) al bean non si devono leggere i dati nel bean (c è ejbload() per questo e viene chiamato subito dopo) il bean è ready per poter leggere i dati dopo la attivazione di un bean, viene chiamato questo metodo per caricare i dati del DB nel bean attraverso il metodo getprimarykey() (del contesto) il Bean reperisce informazioni che permettono di caricare i dati attraverso una query il bean è ready e contiene i dati necessari Metodo ejbstore() Metodo ejbpassivate() il container chiama il metodo per sincronizzare i dati nell oggetto con il DB aggiorna esplicitamente la rappresentazione nel DB dei dati dell oggetto (tipicamente una query UPDATE) il bean in-memory contiene gli stessi dati del DB il container chiama il metodo per far ritornare il bean nel pool di bean disponibili (passivazione) rilascia le risorse acquisite (socket, etc.) attraverso la ejbactivate() non si devono scrivere i dati nel DB (c è ejbstore() per questo ed è stato chiamato subito prima di ejbpassivate()) il bean è nel pool e non contiene più dati usabili (che sono nel DB) 19 20
6 Metodo ejbremove() Metodo unsetentitycontext() elimina i dati dal DB (non l oggetto, che viene rimesso nel pool) attraverso il metodo getprimarykey() (del contesto) il Bean reperisce informazioni che permettono di identificare i dati da cancellare (attraverso una REMOVE SQL) il bean è nel pool ed i dati che conteneva non sono più utilizzabili e sono stati cancellati anche dal DB eliminare la associazione del bean con il contesto il metodo viene chiamato quando il container vuole ridurre la dimensione del pool e vuole eliminare l oggetto rilasciare le risorse eventualmente acquisite con setentitycontext() l oggetto verrà reso disponibile per la garbage collection Alcuni commenti sui metodi finder (1) Alcuni commenti sui metodi finder (2) Tra i metodi finder, deve essere presente (almeno) Se il metodo finder di un AccountBean è: ejbfindbyprimarykey() Un finder deve restituire una PrimaryKey oppure un insieme di PrimaryKey I client non invocano mai i metodi finder sull oggetto ma sulla interfaccia quindi necessario definire nella interfaccia la controparte di ogni metodo finder definito nell EJB nell EJB deve avere lo stesso nome e signature (a parte il valore restituito) della interface con ejb iniziale e la f di Find maiuscola esempio: findbyname(string s) diventa ejbfindbyname(string s) public AccountPK ejbfindbigaccounts(int minimum) throws FinderException La interfaccia di home (locale) deve avere: public Accountlocal findbigaccounts(int minimum) throws FinderException se la interfaccia di home remota ha lo stesso metodo deve lanciare anche RemoteException 23 24
7 Organizzazione della lezione Implementazione di un BMP entity bean 25 Entity bean e le due modalità di persistenza Le caratteristiche di un Entity Bean Bean Managed Persistent (BMP) Implementazione di un BMP Entity bean 26 Complessa e tediosa un esempio (cap. 6 di Mastering EJB ) di gestione di un account Presentiamo la implementazione per grandi linee i dettagli ed il codice serviranno per il confronto con i Container-managed Persistent (CMP) Entity Beans Commento sulle interfacce tipicamente gli entity bean implementano solamente le interfacce local, in quanto tipicamente vengono chiamati solamente da altri oggetti (EJB session, servlet, etc.) che sono locali per motivi di testing, viene comunque di solito fornita una interface remota (che viene soppressa in produzione) Lo schema di AccountBean Commenti su Account e AccountLocal Sono le interfaccia (remota e locale) offerte dal container verso il client Metodi di business: deposit() withdraw() Vari metodi accessori getbalance() (e non il setbalance() ) getaccountid() e setaccountid() Differenza i metodi della interfaccia remota lanciano RemoteException 27 28
8 Commenti su AccountHome.java e AccountLocalHome.java Oggetto Home (factory) che interagisce con il bean remota e locale Metodi implementati Account create(string accountid, String ownername) e versione locale che restituisce AccountLocal Account findbyprimarykey(accountpk key) Collection findbyownername(string name) restituisce un insieme di primary keys gettotalbankvalue() indipendente da uno specifico account, restituisce il totale di tutti gli account nella banca Commenti su AccountPK.java Rappresenta la classe di primary key che viene utilizzata per la identificazione Importante caratteristica offerta al progettista poter contare su una chiave che non è una semplice estensione di ID numeriche/stringa ma che può essere adattata ad ogni circostanza Esempio: pensate alle matricole di studenti ed a come si cerca di codificare informazioni semantiche aggiuntive su una semplice codifica numerica 556/xxxx nuovo ordinamento, 56/xxxx vecchio ordinamento La primary key: AccountPK Commenti su AccountBean.java 31 public class AccountPK implements java.io.serializable { public String accountid; public AccountPK (String id) { this.accountid = id; public AccountPK () { public String tostring() { return accountid; public int hashcode() { return accountid.hashcode(); public boolean equals(object account) { return ((AccountPk) account).accountid.equals(accountid); Serializzabile Unico variabile membro Costruttori Metodi di utilità tostring() hashcode() equals() 32 Tre parti di codice da implementare i campi che rappresentano lo stato del bean che verranno caricati e memorizzati dal/nel database i metodi di business esposti attraverso interfaccia locale e remota (AccountLocal e Account) i metodi richiesti dalla specifica EJB creatori, post-creatori, finder, attivazione/passivazione, load/store Le prime due parti sono semplici da codificare mentre quella relativa alla interazione con il database risulta essere più complessa dovendo gestire tutte le interazioni di stato con il database
9 Commenti su AccountException.java Il deployment descriptor di Account (1) Una semplice gestione delle eccezioni è necessaria Anche se la classe semplicemente delega tutto ai metodi della superclasse Exception è importante poter distinguere tra eccezioni che sono generate a causa di errori nella logica del bean che gestisce un account e quelle invece generate da una altra componente del nostro sistema <ejb-jar> <enterprise-beans> <entity> <ejb-name>account</ejb-name> <home>examples.accounthome</home> <remote>examples.account </remote> <local-home>examples.accountlocalhome </local-home> <local>examples.accountlocal</local> <ejb-class>examples.accountbean </ejb-class> <persistence-type>bean </persistence-type> <prim-key-class>examples.accountpk </prim-key-class> <reentrant>false</reentrant>. Tipo del bean Nome delle varie interfacce Persistenza a carico del Bean La classe di chiave primaria Non è prevista la esecuzione multithread all interno Il deployment descriptor di Account (2) Il ciclo di vita di un BMP entity bean 35 <resource-ref> <res-ref-name>jdbc/ejbpool </res-ref-name> <res-type>javax.sql.datasource </res-type> <res-auth>container</res-auth> </resource-ref> </entity> </enterprise-beans> <assembly-descriptor> <container-transaction> <method> <ejb-name>account</ejb-name> <method-intf>local</method-intf> <method-name>*</method-name> </method>.// stesso per Account remoto Indicazione delle risorse utilizzate come JDBC dal nostro bean maggiori dettagli seguono Descrizione delle transazioni per tutti i metodi (locali e remoti) viene richiesta la gestione delle transazioni da parte del container 36 istanze non ancora create istanze create ma non ancora riempite con dati e con risorse non inizializzate istanze legate a dati specifici
10 Come connettersi ad una risorsa Una parte di AccountBean.java: getconnection() 37 Una resource factory rappresenta un fornitore di risorse di qualsiasi tipo: come JDBC driver, JMS driver o altre (accessibili con J2EE Container Architecture) Il meccanismo è gestito dal container il che permette, ad esempio, il connection pooling riutilizzo di socket Per potersi connettere ad una risorsa, si usa JNDI buona caratteristica, garantisce portabilità, etc. Un esempio in AccountBean.java un metodo getconnection() per ottenere una connessione ad un driver JDBC 38.. public Connection getconnection() throws Exception { try{ Context ctx= new InitialContext(); javax.sql.datasource ds = (javax.sql.datasource) ctx.lookup( java:comp/env/jdbc/ejbpool ); return ds.getconnection(); catch (Exception e) { e.printstacktrace() throw e; Un metodo usato in tutti gli accessi al DB Si ottiene il contesto di default settato a carico del container Si fa lookup di una risorsa definita come EJB Reference specificata nel file di deployment Si restituisce la connessione.. che viene usata così.. Una parte di AccountBean.java : ejbload() Una rilettura del deployment descriptor di Account // metodo ejbload() PreparedStatement pstmt = null; Connection conn = null; try { conn=getconnection(); pstmt = conn.preparestatement( select ownername, balance from accounts where id =? ); pstmt.setstring(1,id); ResultSet rs = pstsmt.executequery(): rs.next(); ownername = rs.getstring( ownername ); balance = rs.getdouble( balance );.. Metodo per caricare i dati nel bean in memoria Viene reperita la primary key.. poi Si ottiene la connessione al DB Si prepara lo statement SQL Lo si istanzia con la id Si esegue la query Si prelevano i risultati <resource-ref> <res-ref-name>jdbc/ejbpool </res-ref-name> <res-type>javax.sql.datasource </res-type> <res-auth>container</res-auth> </resource-ref> </entity> </enterprise-beans>.. Si indica una risorsa indicandone il nome (EJB reference) mantenuta a carico dal container il tipo la autorizzazione a carico di chi è (Application/Container) 39 40
ENTERPRISE JAVABEANS
ENTERPRISE JAVABEANS Approfondimento per il corso Sistemi Distribuiti A.A. 2002/2003 Marchiori Ilaria 780070 Università Ca Foscari Venezia CENNI SULLA PROGRAMMAZIONE A COMPONENTI 3 Introduzione 3 Che cos
DettagliGli EJB offrono vari vantaggi allo sviluppatore di una applicazione
Gli EJB offrono vari vantaggi allo sviluppatore di una applicazione Un ambiente di esecuzione che gestisce o naming di oggetti, sicurezza, concorrenza, transazioni, persistenza, distribuzione oggetti (location
DettagliEJB Components. Leonardo Mariani Esercitazione di Sistemi Distribuiti. Oggetti Distribuiti
EJB Components Leonardo Mariani Esercitazione di Sistemi Distribuiti 1 Oggetti Distribuiti 2 Middleware Esplicito 3 Middleware Implicito 4 Tipica Applicazione J2EE 1/2 5 Tipica Applicazione J2EE 2/2 6
DettagliCaricamento della classe driver. Apertura della connessione. DriverManager.getConnection() Creazione di uno statement
JDBC Programmazione in Ambienti Distribuiti V 1.4 Marco Torchiano 2006 Uso di JDBC Caricamento della classe driver Class.forName() Apertura della connessione DriverManager.getConnection() Creazione di
DettagliLuca Cabibbo. Persistenza di oggetti
AP Analisi S Analisi e Progettazione del Software Persistenza di oggetti aprile 2004 1 Persistenza di oggetti Motivazioni e contenuti Contesto applicazioni sviluppate mediante le moderne tecniche di OOA/OOD/OOP
DettagliJDBC. Marco Tessarotto Programmazione dei Web Server Anno Accademico
JDBC Marco Tessarotto Programmazione dei Web Server Anno Accademico 2004-2005 JDBC JDBC (Java Database Connectivity) è una API Java per accedere ed elaborare dati in una sorgente dati (di solito un db
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
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
DettagliProgrammazione a oggetti
Programmazione a oggetti Quanti oggetti, tra di loro parlando, fanno programmi. Pilu Crescenzi piluc@dsi.unifi.it Università di Firenze Programmazione a oggetti p.1/32 Cosa è un oggetto Una scatola software
DettagliProgrammazione Java Avanzata Programmazione Object- Oriented in Java
Programmazione Java Avanzata Programmazione Object- Oriented in Java Ing. Gianluca Caminiti Testi di Riferimento (Java) Cay Horstmann Concetti di informatica e fondamenti di Java Apogeo, 2007 (Versione
DettagliDomande utili alla preparazione dell orale di Informatica all Esame di Stato
Domande utili alla preparazione dell orale di Informatica all Esame di Stato 1.Al livello fisico un database si appoggia ai files per contenere i suoi dati? 2.Esistono altri modelli di organizzazione oltre
DettagliINTRODUZIONE A J2EE 1.4 E AI SERVIZI WEB ENTERPRISE
00-PRIME PAGINE 2-07-2003 10:04 Pagina V Indice Prefazione XI PARTE PRIMA INTRODUZIONE A J2EE 1.4 E AI SERVIZI WEB ENTERPRISE 1 Capitolo 1 Le ragioni di tanto interesse 3 1.1 Enterprise in J2EE 3 Definizione
DettagliCorso di Algoritmi e Strutture dati Programmazione Object- Oriented in Java (Parte I)
Corso di Algoritmi e Strutture dati Programmazione Object- Oriented in Java (Parte I) Ing. Gianluca Caminiti Sommario ( OOP ) Programmazione Object-Oriented Incapsulamento, Ereditarietà, Polimorfismo Richiami
DettagliSerializzazione Java. Serializzazione. Calendario esercitazioni e laboratori. Applicazioni della Serializzazione
Calendario esercitazioni e laboratori 29 Marzo esercitazione 12 Aprile esercitazione 26 Aprile laboratorio (lab721) 2 Maggio laboratorio (lab721) 3 Maggio esercitazione 9 Maggio laboratorio (???) 17 Maggio
DettagliUguaglianza e copia di oggetti
Uguaglianza e copia di oggetti Sommario 1. Classi Object e Class 2. Uguaglianza superficiale e uguaglianza profonda 3. Copia superficiale e copia profonda 4. Uguaglianza e copia in classi derivate 1 La
DettagliDefinizione di classi. Walter Didimo
Definizione di classi Walter Didimo Definizione di classi Fino ad ora abbiamo imparato a: creare oggetti da classi già pronte usare gli oggetti creati, invocando metodi la creazione e l uso di oggetti
DettagliEreditarietà (ultima)
Ereditarietà (ultima) Classi astratte Un ibrido tra classi e interfacce Hanno alcuni metodi implementati normalmente, altri astratti Un metodo astratto non ha implementazione abstract class AccountTransaction...
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
DettagliOCA JAVA 7 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL ANNO
CENTRO STUDI ULISSE Via Buccino, n. 22 - C.a.p. 84018 - Scafati (SA) Tel. Fax. 081.19970299-339.2365416-349.4152010 E-mail: info@centrostudiulisse.it - www.centrostudiulisse.it OCA JAVA 7 SE PROGRAMMER
DettagliLa classe java.lang.object
La classe java.lang.object In Java: Gerarchia di ereditarietà semplice Ogni classe ha una sola super-classe Se non viene definita esplicitamente una super-classe, il compilatore usa la classe predefinita
Dettagli1 EJB e Portal Component Object http://desvino.altervista.org
1 EJB e Portal Component Object http://desvino.altervista.org In questo tutorial studiamo come sfruttare la tecnologia EJB, Enterprise JavaBean, all interno del SAP Netweaver Portal. In breve, EJB è un
DettagliLaboratorio di reti II: Gestione di database lato server
Laboratorio di reti II: Gestione di database lato server Stefano Brocchi brocchi@dsi.unifi.it 23 marzo, 2009 Stefano Brocchi Laboratorio di reti II: Database 23 marzo, 2009 1 / 32 Uso di database lato
Dettagli18 - Classi parzialmente definite: Classi Astratte e Interfacce
18 - Classi parzialmente definite: Classi Astratte e Interfacce Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/
Dettagli19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
19 - Eccezioni Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso
DettagliProgrammazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre 2014. Negli esercizi proposti si utilizzano le seguenti classi:
Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 22 settembre 2014 TEMPO DISPONIBILE: 2 ore Negli
Dettagli2011 Politecnico di Torino 1
SQL per le applicazioni Call Level Interface Le richieste sono inviate al DBMS per mezzo di funzioni del linguaggio ospite soluzione basata su interfacce predefinite API, Application Programming Interface
DettagliCORSO DI PROGRAMMAZIONE JAVA STANDARD + ENTERPRISE EDITION
CORSO DI PROGRAMMAZIONE JAVA STANDARD + ENTERPRISE EDITION 0 DURATA 200 ore CONTENUTI Oracle PL/SQL Introduzione al PL/SQL Cenni su SQL con utilizzo di SQL*PLUS Configurazione ambiente Developer DB Classi,
DettagliOpen Database Connectivity (ODBC)
Open Database Connectivity (ODBC) Open Database Connectivity (ODBC), proposto dalla Microsoft nel 1991, fornisce un interfaccia applicativa standard che permette ad una generica applicazione di accedere
DettagliModelli a Componenti e Enterprise Java Beans
Modelli a Componenti e Enterprise Java Beans Università di Bologna CdS Laurea Magistrale in Ingegneria Informatica I Ciclo - A.A. 2010/2011 02 Modelli a Componenti e Enterprise Java Beans (base) Docente:
DettagliProgrammazione orientata agli oggetti La classe Object, metodi e classi final, this. Object
Programmazione orientata agli oggetti La classe, metodi e classi final, this 1 La classe Negli esempi fatti nella prima parte del corso abbiamo definito alcune classi, per esempio Counter e Orologio, senza
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
DettagliOgni ufficio è formato da 100 dipendenti, i quali hanno a loro volta 3 clienti ciascuno. Inoltre, ad ogni ufficio sono stati assegnati 4 fornitori.
Tecnologia delle Basi Dati Analisi del dbms Postgresql. Luigi Cestoni Prima Parte Descrizione del Database Abbiamo realizzato un database costituito da quattro tabelle: 1. dipendente( id,nome,cognome,eta,telefono,idufficio)
DettagliLaboratorio di reti I
Laboratorio di reti I Stefano Brocchi brocchi@dsi.unifi.it 13 ottobre, 2009 Stefano Brocchi Laboratorio di reti I 13 ottobre, 2009 1 / 27 Introduzione Obiettivi del corso Aspetti di programmazione Java
DettagliGESTIONE DEGLI ERRORI
GESTIONE DEGLI ERRORI Spesso vi sono istruzioni critiche, che in certi casi possono produrre errori L approccio classico consiste nell inserire controlli (if else..) per cercare di intercettare a priori
DettagliSQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi:
SQL e linguaggi di programmazione L interazione con l ambiente SQL può avvenire in 3 modi: in modo interattivo col server attraverso interfacce o linguaggi ad hoc legati a particolari DBMS attraverso i
DettagliGestione delle eccezioni in Java
Gestione delle eccezioni in Java Fondamenti di Informatica Ingegneria Gestionale Canale AL 1 Le eccezioni in Java Exception handling: insieme di costrutti e regole sintattiche e semantiche presenti nel
DettagliCorso di Reti di Calcolatori L-A
Università degli Studi di Bologna Facoltà di Ingegneria Corso di Reti di Calcolatori L-A Esercitazione 6 (svolta) Java RMI Luca Foschini Anno accademico 2010/2011 Esercitazione 6 1 Specifica: il Client
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
DettagliMicrosoft Access (parte 5) Query. Query. Query. Query. Creare una query
Microsoft Access (parte 5) Anno accademico: 2008-2009 Per estrarre informazioni da un database si utilizzano delle query : procedure di interrogazione Si può creare più query per ogni tabella Occorre avere
DettagliEsercitazione n 2. Obiettivi
Esercitazione n 2 Obiettivi Progettazione di una applicazione Java Utilizzo di classi come schemi Utilizzo di costruttori Utilizzo di stringhe Uguaglianza tra oggetti Utilizzo di classi come componenti
DettagliI.I.S. G. COSSALI - ORZINUOVI DATABASE. Marzo 2017 Prof. Dario Tomasoni 1
I.I.S. G. COSSALI - ORZINUOVI DATABASE Marzo 2017 Prof. Dario Tomasoni 1 IMPOSTAZIONE 60 min = Database concetti + Esercizi; 10 min = pausa; 30 min = Linguaggio SQL; 30 min = Database prove LibreOffice
DettagliPRIMO MODULO. DURATA: 80 ore CONTENUTI
0 PRIMO MODULO DURATA: 80 ore CONTENUTI 1. Introduzione alla programmazione a. Cosa è la programmazione strutturata b. Strutture dati c. Come si affronta una problematica da risolvere d. Quali sono i passi
DettagliUtilizzando per la connessione al database un driver di Tipo 1:
Basi di Dati Esercitazione JDBC 25 maggio 2005 Paolo Cappellari Esercizi Considerando il seguente schema: Fornitori (CodiceFornitore, Nome, Indirizzo, Citta) Prodotti (CodiceProdotto, Tipo, Marca, Modello)
DettagliServlet & JDBC. Alberto Belussi. anno accademico 2008/2009
Servlet & JDBC Alberto Belussi anno accademico 2008/2009 Servlet: interazione con un DBMS In Java è possibile interagire con un DBMS attraverso l uso della libreria JDBC (Java Database Connectivity). http://java.sun.com/javase/technologies/database
DettagliTecnologia e Applicazioni Internet 2011/12
Tecnologia e Applicazioni Internet 2011/12 Lezione 4 - Persistenza Matteo Vaccari http://matteo.vaccari.name/ matteo.vaccari@uninsubria.it Perché usare un DB relazionale? Per l accesso concorrente ai dati
DettagliServlet & JDBC ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010. Servlet: interazione con un DBMS. In Java è possibile interagire con un DBMS attraverso
Servlet & JDBC 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 Servlet: interazione con un DBMS In Java è possibile interagire con un DBMS attraverso l uso della libreria JDBC (Java Database Connectivity).
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
DettagliViene richiesto di MIN CARD(S,E) = 1 UPDATE DELETE MAX CARD(S,E) = 3 INSERT UPDATE
Dato il seguente schema E/R E la sua traduzione nel seguente schema relazionale: disponibile in http://www.dbgroup.unimo.it/sire/20110513/20110513.bak Viene richiesto di 1) Risolvere la seguente interrogazione
Dettagli1 Applicazione J2EE sul SAP WAS con SAP NWDS http://desvino.altervista.org
1 Applicazione J2EE sul SAP WAS con SAP NWDS http://desvino.altervista.org Applicazione J2EE sul SAP WAS con SAP NWDS. Il SAP Web Application Server fornisce un framework integrato per lo sviluppo e l
DettagliEnterprise Java Beans e Web Services
Università degli Studi di Salerno Relazione: Enterprise Java Beans e Web Services Prof. Auletta Vincenzo Partecipanti Antonio Autorino 156/000006 Nicola Vitiello 156/000001 Pasquale Paola 156/000003 Indice
DettagliIl TDA Dictionary. Definizione informale. I metodi del TDA Dictionary 1. Applicazioni. I metodi del TDA Dictionary 2. I metodi del TDA Dictionary 3
Il TDA Dictionary Definizione informale Il TDA Dictionary (dizionario) modella una collezione di voci su cui è possibile effettuare delle ricerche Una voce è una coppia (chiave, elemento) Le principali
DettagliPolimorfismo parametrico vs polimorfismo per inclusione
Polimorfismo parametrico vs polimorfismo per inclusione Esercizio Definire il tipo di dato Stack con operazioni Push( element ) Pop() Non forzare una specifica implementazione Non forzare un tipo specifico
DettagliLe conversazioni. Dott. Doria Mauro
Hibernate Le conversazioni Dott. Doria Mauro doriamauro@gmail.com Introduzione alle conversazioni In una applicazione reale le operazioni sono organizzate in classi controller con le funzioni di business
DettagliConnessione con MySQL
Connessione con MySQL Architettura Server-Side Eventuali parametri cookie sessioni Elaborazione SELECT... DATABASE Quando i dati sono molti e la persistenza deve andare altre la sessione o la durata
DettagliLe 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.
DettagliCorso di Applicazioni Telematiche
Corso di Applicazioni Telematiche A.A. 2008-09 Lezione n.12 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Una Servlet è un componente software scritto in Java,
Dettagli03FYZ TECNICHE DI PROGRAMMAZIONE Esercitazione di Laboratorio 03 es.1 23 Marzo 2016
03FYZ TECNICHE DI PROGRAMMAZIONE Esercitazione di Laboratorio 03 es.1 23 Marzo 2016 Obiettivi dell esercitazione: Utilizzo del pattern MVC Utilizzo di HashSet Introduzione alla complessità ESERCIZIO 1
DettagliVariabili e Metodi di classe Interfacce e Package Gestione di File in Java
Fondamenti di Informatica Variabili e Metodi di classe Interfacce e Package Gestione di File in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Variabili di classe: Static Una variabile di classe
DettagliBasi di dati e Web (Moduli: Laboratorio e Siti Web centrati sui Dati) Prova scritta del 14 luglio 2008
Basi di dati e Web (Moduli: Laboratorio e Siti Web centrati sui Dati) Prova scritta del 14 luglio 2008 Avvertenze: e severamente vietato consultare libri e appunti; chiunque verrà trovato in possesso di
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
DettagliLe eccezioni in Java
Eccezioni 1 Le eccezioni in Java i tipi di eccezione sono particolari classi che contengono solo il costruttore ci possono essere più costruttori overloaded sono definite in moduli separati da quelli che
DettagliOggetti. Oggetti e classi. Utilizzo di classi. Classe
Oggetti Oggetti e classi Oggetto: entità che può essere manipolata nel programma mediante l invocazione di metodi Black box dotato di:! Interfaccia pubblica " Metodi visibili " Comportamento dell oggetto!
DettagliProgrammazione ad oggetti
Programmazione ad oggetti OOP La programmazione orientata agli oggetti (Object Oriented Programming) ha l obiettivo di formalizzare gli oggetti del mondo reale e di costruire con questi un mondo virtuale.
DettagliProgrammazione server-side: Java Servlet
Programmazione server-side: Java Servlet Corso di Applicazioni Telematiche A.A. 2006-07 Lezione n.11 parte II Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Cos
Dettagli14 - Metodi e Costruttori
14 - Metodi e Costruttori Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it
DettagliAlberi Binario in Java
Alberi Binario in Java Realizzare un albero binario di ricerca. L albero binario è di ricerca se esiste una relazione di ordinamento tra i valori dei nodi (valori comparabili). In particolare, dato un
Dettagli24 - Possibili approfondimenti
24 - Possibili approfondimenti Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it
DettagliA. Lorenzi, A. Rizzi Java. Programmazione ad oggetti e applicazioni Android Istituto Italiano Edizioni Atlas
Classi e oggetti A. Lorenzi, A. Rizzi Java. Programmazione ad oggetti e applicazioni Android Istituto Italiano Edizioni Atlas Oggetti La programmazione orientata agli oggetti, OOP (Object-Oriented Programming),
DettagliCloneNotSupportedException clone() Object clone() protected native Object clone() throws CloneNotSupportedException this
Clonazione Importante esempio di eccezione controllata è CloneNotSupportedException che può essere lanciata dal metodo nativo clone() della classe Object. La dichiarazione di clone() è la seguente: protected
DettagliInterfacce. Un interfaccia Java è una collezione di metodi astratti (e di costanti) Un metodo astratto è un metodo non implementato
Interfacce 1 Interfacce Un interfaccia Java è una collezione di metodi astratti (e di costanti) Un metodo astratto è un metodo non implementato costituito dall intestazione senza il corpo della definizione
DettagliProgrammazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014
Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 11 luglio 2014 TEMPO DISPONIBILE: 2 ore Negli esercizi
DettagliEreditarietà. Ereditarietà. Ereditarietà. Ereditarietà
L ereditarietà è il meccanismo attraverso cui viene implementata la relazione di specializzazione (is-a). L ereditarietà è il meccanismo attraverso cui una classe (derivata) eredita da un altra classe
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
DettagliPROVA FINALE Ingegneria del software
PROVA FINALE Ingegneria del software Ing. Jody Marca jody.marca@polimi.it Laboratorio N 4 Cos è JDBC 2 JDBC significa Java Database Connectivity Standard definito da Sun MicroSystems per connettere programmi
DettagliFONDAMENTI DI INFORMATICA C Linguaggio Java: Eccezioni
Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria CORSO DI FONDAMENTI DI INFORMATICA C Linguaggio Java: Eccezioni Prof. Zambonelli, Ing. Cabri, Ing. Denti, Ing. Andrea Aime Zambonelli,
DettagliIl linguaggio Java. La superclasse universale Object
Il linguaggio Java La superclasse universale Object La classe Object La classe Object è la superclasse, diretta o indiretta, di ogni classe La classe Object definisce lo stato ed il comportamento base
DettagliIl profilo EJB. Appendice C. Enterprise Java Beans: concetti di base
Appendice C Il profilo EJB Si approfondisce nella presente appendice quanto illustrato per sommi capi al termine del Capitolo 2. Prima di trattare approfonditamente il profilo EJB, è riportata una breve
DettagliInformatica per le Scienze Umane. Introduzione al corso: programma
Informatica per le Scienze Umane Introduzione al corso: programma 1 Obiettivi del corso Fornire le conoscenze e le competenze necessarie alla rappresentazione e al trattamento consapevole delle informazioni
DettagliAstrazioni sui dati : Specifica di Tipi di Dato Astratti in Java
Astrazioni sui dati : Specifica di Tipi di Dato Astratti in Java 1 Specifica ed Implementazione di Tipi di Dato Astratti in Java cos è un tipo di dato astratto specifica di tipi di dati astratti un tipo
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
DettagliRemote Method Invocation
JAVA RMI LSO 2008 Remote Method Invocation Perché RMI? L obiettivo è di permettere ad una applicazione in esecuzione su una macchina locale di invocare i metodi di un oggetto in esecuzione su un altro
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
DettagliInserire record. Microsoft Access. Inserire/modificare record. Inserire record. Cancellare record. Inserire/modificare record
Inserire record Microsoft Access Maschere (II) Una maschera può essere sfruttata non solo per vedere dati ma anche per immettere nuovi record, per modificarli o per cancellarli (come in visualizzazione
DettagliSQL - Structured Query Language
SQL - Structured Query Language Lab 05 Alessandro Lori Università di Pisa 27 Aprile 2012 Riepilogo esercitazione precedente Operatori insiemistici (UNION, INTERSECT, EXCEPT) Riepilogo esercitazione precedente
DettagliProva d Esame Compito A
Domanda 1 A) Si richiede di analizzare le seguenti sezioni di codice. Il candidato indichi il risultato dell esecuzione del main. public class Father { private static int counter=0; private int code; public
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
DettagliUso di classi e oggetti. Prof. Francesco Acarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni
Uso di classi e oggetti Prof. Francesco Acarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni Tipi di dati Tipi primitivi: interi Java fornisce otto tipi primitivi indipendenti dall implementazione
DettagliRETI DI CALCOLATORI Linguaggio Java: Eccezioni
Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Reggio Emilia CORSO DI RETI DI CALCOLATORI Linguaggio Java: Eccezioni Prof. Franco Zambonelli Lucidi realizzati in collaborazione
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
DettagliProgrammazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo
Programmazione Orientata agli Oggetti Emilio Di Giacomo e Walter Didimo Una metafora dal mondo reale la fabbrica di giocattoli progettisti Un semplice giocattolo Impara i suoni Dall idea al progetto Toy
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
DettagliProgrammazione con Java
Programmazione con Java Classi e istanze in Java Definizione di classe in Java A meno che non si usino classi già scritte da altri, prima di poter creare un qualsiasi oggetto devo creare la sua rappresentazione:
DettagliInstallazioni preliminari
Installazioni preliminari È uscita la versione 6u23 dell SDK. Disponibile a: http://www.java.com/en/download/index.jsp Per installare Eclipse invece andare su: http://www.eclipse.org Stile Sono elementi
DettagliTema Di Progetto 1 Descrizione
Tema Di Progetto 1 Descrizione Acquisto On Line Applicazione Web-based per la simulazione di un flusso di acquisto di un prodotto on-line. Deve essere generata una (o più) pagine di catalogo con contenuto
DettagliTesina esame Programmazione di Sistemi Mobile realizzata da Roberto Giuliani matricola Sicurezza e Permission in Android
Tesina esame Programmazione di Sistemi Mobile realizzata da Roberto Giuliani matricola 633688 Sicurezza e Permission in Android La sicurezza al giorno d oggi è uno degli aspetti più importanti dell informatica!
DettagliLaboratorio di Basi di Dati
Laboratorio di Basi di Dati Esercitazione PostgreSQL Dopo aver lanciato il client grafico pgadmin III di PostgreSQL svolgere le operazioni descritte nel seguito, tenendo presenti i suggerimenti forniti
DettagliEsempi in Java di program.ne O-O
Esempi in Java di program.ne O-O Ereditarietà Polimorfismo statico e dinamico Esercitazione laboratorio Interfaccia Comparable e Comparator 1 Gerarchia di ereditarietà Persona IS_A Docente Studente Tecnico
DettagliJDBC. Dispense per il corso di Ingegneria del Web
JDBC Dispense per il corso di Ingegneria del Web Revisione 05/11 Giuseppe Della Penna (giuseppe.dellapenna@di.univaq.it) Dipartimento di Informatica Università degli studi dell'aquila Java Database Connectivity:
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
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
Dettagli