Università di Roma T or Vergata Facoltà di Ingegneria Corso di Basi di Dati A.A. 2001/2002. Andrea D'Ambrogio
|
|
- Simona Amanda Carbone
- 8 anni fa
- Visualizzazioni
Transcript
1 , di Basi di Dati 12 novembre Università di Roma T or Vergata Facoltà di Ingegneria di Basi di Dati A.A. 2001/2002 -DYD 'DWDEDVH &RQQHFWLYLW\ Andrea D'Ambrogio 12 novembre 2001! "#$% &'((%)"**"+ 6- FR. DFFHVV/ 0 '% di Basi di Dati 12 novembre $SSOLFD]LRQ 1 La maggior parte delle applicazioni SW attuali (soprattutto in ambito gestionale) sono basate sul paradigma C/S (client/server) con il server che gestisce l accesso ad uno o più DB sottostanti 1 Per la gestione di tali DB si fa solitamente uso di DBMS relazionali, che mettono a disposizione funzionalità necessarie per applicazioni missioncritical, quali: 2 Concorrenza (accesso multiutente) 2 Gestione della distribuzione 2 Gestione delle transazioni 2 Throughput elevato 2 Data recovery 3 Nell ambito dei DBMS relazionali il SQL (Structured Query Language) fornisce ai programmatori uno strumento per definire e manipolare dati in modo standard e universale, indipendentemente dallo specifico DBMS sottostante 3 In modo analogo, l' API JDBC (Java Data Base Connectivity) mette a disposizione uno strumento standard per l' accesso trasparente a DBMS relazionali (tramite SQL) da applicazioni realizzate in Java 1
2 :; <=>>;?8@6@8A di Basi di Dati 12 novembre C Presentation layer: gestisce la raccolta delle richieste utente e la presentazione dei risultati forniti dal sistema software C Application processing layer: incapsula la logica mediante cui il sistema software realizza specifiche funzionalità C Data management layer: gestisce l'accesso ai dati del sistema software (tipicamente tramite DBMS) Presentation layer Application processing layer Data management layer $SSOLFDWLRB OD\HUV D E F E G Ë HEIEJK LMNNKOHPFPHQ di Basi di Dati 12 novembre $UFKLWHWWXUR &S WZRWLHU Thin-client model Presentation Server Data management Application processing Fat-client model Presentation Application processing Server Data management 2
3 T U V U Ẅ Ü XUYUZ[ \]^^[_X`V`Xa di Basi di Dati 12 novembre c In una architettura C/S three-tier i tre strati applicativi vengono eseguiti da processi distinti che possono essere ospitati su host distribuiti ed eterogenei c Rispetto alle architetture C/S two-tier si ottengono miglioramenti in termini di: d performance d flessibilità d manutenibilità d riusabilità d scalabilità Presentation Server Application processing Server Data management $UFKLWHWWXUb &6 WKUHHWLHU e f g f ḧ f ifjfkl mnoolpiqgqir (VHPSLs G t DUFK u &6 di Basi di Dati 12 novembre WKUHHWLHU Internet banking system HTTP interaction Web server Account service provision SQL query Datab ase server SQL Customer account database 3
4 v w x w ÿ ẅ zw{w } ~ } z x zƒ di Basi di Dati 12 novembre $SSOLFD]LRQ -'%& JDBC è un insieme di classi e interfacce, scritte nel linguaggio di programmazione Java, per l'esecuzione di istruzioni SQL. Riferimenti: Sun Microsystems, JDBC 1.2 API, January 1998 Sun Microsystems, JDBC 2.1 API, November 1999 Essendo realizzate in Java, le applicazioni JDBC possono essere implementate sia come applicazioni stand-alone che come applet da eseguire all'interno di browser web (con vantaggi rispetto a soluzioni web di tipo CGI in termini di manutenibilità, robustezza, sicurezza e facilità di sviluppo) JDBC può essere usato come strumento per la realizzazione di architetture C/S sia di tipo two-tier (fat o thin client) che di tipo three-tier Rispetto a soluzioni proprietarie per l'accesso remoto a DBMS (es. Oracle SQL*Net/Net8) JDBC fornisce un vantaggio considerevole, ovvero l'indipendenza dallo specifico DBMS usato v w x w ÿ ẅ zw{w } ~ } z x zƒ di Basi di Dati 12 novembre DVV WLSLF G XQDSSOLFD]LRQˆ -'%& Caricamento del driver JDBC Apertura della connessione al DB, specificando l'url del DB (nella forma jdbc:<subprotocol>:<subname>) Eventuale interrogazione del DBMS al fine di ricavare informazioni su funzionalità aggiuntive messe a disposizione Eventuale recupero di metainformazioni (schema del DB) Definizione ed invio dell'istruzione SQL Elaborazione dei risultati (la transazione viene completata quando tutti i risultati sono stati recuperati) Chiusura della connessione al DB 4
5 Š Œ Ž Ž Œ Ž di Basi di Dati 12 novembre 'ULYH -'%& Il driver JDBC è il componente fondamentale di una applicazione JDBC Il driver permette di stabilire la connessione con il database, e implementa il protocollo necessario per la comunicazione tra client (applicazione JDBC) e server (DBMS) Dal punto di vista dell'api, realizzare un driver JDBC significa implementare l'interfaccia java.sql.connection Dal punto di vista del protocollo, l'oggetto istanziato dalla classe che implementa tale interfaccia converte le richieste di trasporto delle istruzioni SQL secondo due possibili modalità: š Conversione in chiamate native del DBMS (driver types 1 e 2) š Conversione in network stream da inviare ad un componente remoto in grado di realizzare la connessione al DBMS (driver types 3 e 4) Inoltre, il driver JDBC deve essere in grado di effettuare il mapping tra i tipi di dato del JDBC (definiti in java.sql.types) ed i tipi di dato del DBMS, ed interpretare le sequenze di escape SQL La specifica JDBC permette di introdurre estensioni ai tipi di dato, per creare tipi SQL user-defined e mapparli su classi Java Š Œ Ž Ž Œ Ž di Basi di Dati 12 novembre '% GULYHU 7\SH JDBC-ODBC bridge Richiede l'installazione di un driver ODBC (Open Data Base Connectivity). Converte le richieste JDBC in richieste ODBC, inviate al driver ODBC mediante chiamate native. Un driver JDBC di tipo 1 (sun.jdbc.odbc.jdbcodbcdriver) è incluso all'interno del Sun JDK (Java Development Kit). Application (Java) œ Ÿž ªª JDBC Dr iver T ype 1 ODBC Dr iver ² ³ µ ¹ µ «± µ º»» DB MS 5
6 ¼ ½ ¾ ½ ½ À½Á½Âà ÄÅÆÆÃÇÀȾÈÀÉ di Basi di Dati 12 novembre '%Ê GULYHU 7\SH Native API Si interfaccia direttamente ad un driver per uno specifico DBMS o ad un'api specifica, come ad es. la Oracle OCI (Oracle Call Interface). Un esempio di driver JDBC di tipo 2 è il driver JDBC OCI fornito con il DBMS Oracle. Application (Java) Ë ÌŸÍ JDBC Dr iver T ype 2 ÎÏÐÑ Ò Ó ÔÏÕÕ Vendor API Ý Þ Ö ØÚÙÛÜ ß âãã ß à á¹à ß DB MS ä å æ å ç å èåéåêë ìíîîëïèðæðèñ di Basi di Dati 12 novembre '%ò GULYHU 7\SH Open Protocol-Net Invia le richieste JDBC ad una sorgente dati remota mediante un protocollo di rete vendor-neutral (host redirection). Un esempio di driver JDBC di tipo 3 è il driver RmiJdbc sviluppato da INRIA/France Mediation Project Application (Java) ó ôÿõ JDBC Dr iver T ype 3 üúýþÿ ö øúùúû ÿ ü ÿý Net S erver Gateway DB MS 6
7 + 9 "!#$ % %"!'&)( )( * -'% GULYHU 7\SH di Basi di Dati 12 novembre Proprietary Protocol-Net Invia le richieste JDBC ad una sorgente dati remota mediante un protocollo di rete vendor-specific (host redirection). Un esempio di driver JDBC di tipo 4 è il driver JDBC Thin fornito con il DBMS Oracle. Application (Java),-/. JDBC Dr iver T ype ? 1:;=<>;=: 354'67 3A?;0 :A@@ 1 Net S erver Gateway DB MS BCDCECFC GC H"IJK L L"I'MF)N D)N FO di Basi di Dati 12 novembre UDFOH -'%& GULYHUV 7
8 ^ _ PQRQSQTQ UQ V"WXY Z Z"W'[T)\ R)\ T] di Basi di Dati 12 novembre &RPXQLFD]LRQH FOLHQWVHUYHU -'%& DPELHQW L PQRQSQTQ UQ V"WXY Z Z"W'[T)\ R)\ T] di Basi di Dati 12 novembre UDFOH -'%& 7KLQ 'ULYHU ` Driver di tipo 4 scritto interamente in Java (quindi platform-independent) e conforme allo standard JDBC 1.2 ` Usa i Java sockets per la connessione diretta al server Oracle ed è usato tipicamente per lo sviluppo di applet JDBC, sia in configurazione two-tier che three-tier (ma può essere usato anche per applicazioni Java stand-alone) ` Fornisce una propria implementazione (emulazione) dello stack TCP/IP di Oracle Net8 e, nel caso delle applet, richiede che il browser abbia la capacità di supportare i Java sockets ` Richiede che sia in esecuzione un TNS listener che accetti connessioni tramite socket TCP/IP sul DB server ` Non richiede che sia installato software Oracle sul lato client (il driver JDBC Thin può essere scaricato con l'applet da eseguire). Anche se il protocollo HTTP è stateless, una volta che il driver JDBC stabilisce la connessione con il server, la comunicazione mantiene lo stato ` Esegue connessioni con ogni DB Oracle versione o successive 8
9 abcbdbeb fb g"hij k k"h'le)m c)m en di Basi di Dati 12 novembre '%o 2&p 'ULYHU q Driver di tipo 2 orientato allo sviluppo di applicazioni C/S Java o middleware Java-based (Oracle Web Application Server) q Converte le richieste JDBC in chiamate alla OCI (Oracle Call Interface), che sono poi inviate al DB server Oracle tramite Net8 q E' scritto parte in Java e parte in C, e l'uso di chiamate native rende il driver platform-specific q Richiede l'installazione di Net8 sul lato client e la presenza delle librerie OCI (è però compatibile con tutte le versioni di Oracle e supporta tutti gli adattatori Net8) q Può essere usato nelle seguenti configurazioni: r Con una applicazione Java in esecuzione sul client in configurazione twotier r Con una applicazione Java in esecuzione su middle tier in una configurazione three-tier r Con un Java servlet in esecuzione su middle tier in una configurazione three-tier stutvtwt xt y"z{ } }"z'~w) u) w di Basi di Dati 12 novembre HTXLVLW G VLVWHPD L DPELHQWƒ 0LFURVRI :LQGRZ 17 Sun Microsystems Java Developer's Kit (JDK) versione e 1.1.x (i driver JDBC per Oracle non sono compatibili con il JDK versione 1.2) Installazione degli Oracle Java Server Products (creazione directory jdbc in [ORACLE_HOME]) Aggiunta delle voci [ORACLE_HOME]\jdbc\lib\classes102.zip (JDK 1.0.2) o [ORACLE_HOME]\jdbc\lib\classes111.zip (JDK 1.1.x) Aggiunta della voce [ORACLE_HOME]\lib alla variabile d'ambiente CLASSPATH alla variabile d'ambiente PATH (solo per driver JDBC OCI) 9
10 ˆ Š Œ Ž" " ' Œ) Š) Œ di Basi di Dati 12 novembre *HWWLQ VWDUWHG Per una semplice applicazione JDBC che si connetta ad un database Oracle (in esecuzione sull'host myhost con SID orcl) ed esegua una query occorre sviluppare codice per implementare i seguenti passi: 1. Importazione package Java 2. Registrazione dei driver JDBC 3. Apertura connessione verso il DB 4. Creazione di un oggetto Statement 5. Esecuzione della query con ritorno di oggetto ResultSet 6. Elaborazione dei risultati in ResultSet 7. Chiusura di ResultSet 8. Chiusura di Statement 9. Chiusura della connessione š œ "žÿ "ž' ) ),PSRUWD]LRQH di Basi di Dati 12 novembre SDFNDJ -DYD 9 Aldilà del tipo di driver usato, il codice dell applicazione JDBC deve contenere le seguente direttive di import: import java.sql.* import java.math.* 9 Qualora si volessero usare le Oracle JDBC Extensions (non necessarie per lo sviluppo di semplici applicazioni JDBC) vanno anche importati i seguenti package: oracle.jdbc.driver.* oracle.sql.* 10
11 ª «" ± ±" '²«)³ )³ «di Basi di Dati 12 novembre HJLVWUD]LRQµ GH GULYH -'%& I driver Oracle installati sul sistema vanno registrati eseguendo l istruzione: DriverManager.registerDriver (new oracle.jdbc.driver.oracledriver()); oppure, in alternativa, l istruzione: Class.forName( oracle.jdbc.driver. OracleDriver ); ª «" ± ±" '²«)³ )³ «di Basi di Dati 12 novembre $SHUWXU FRQQHVVLRQµ YHUV¹ L º '%» driver JDBC OCI Connection conn = DriverManager.getConnection ("jdbc:oracle:oci8:@myhoststring", "scott", "tiger"); se MyHostS tring è una entry in T NS NAME S.OR A corrispondente a myhost, altrimenti: Connection conn = DriverManager.getConnection ("jdbc:oracle:oci8:@(description=(address=(host=myhost) (protocol=tcp)(port=1521))(connect_data=(sid=orcl)))", "scott", "tiger");» driver JDBC Thin Connection conn = DriverManager.getConnection ("jdbc:oracle:thin:@myhost:1521:orcl", "scott", "tiger"); oppure, in alternativa: Connection conn = DriverManager.getConnection ("jdbc:oracle:thin:@(description=(address=(host=myhost) (protocol=tcp) (port=1521))(connect_data=(sid=orcl)))", "scott", "tiger"); 11
12 ¼½¾½ ½À½ Á½ Â"ÃÄÅ Æ Æ"Ã'ÇÀ)È ¾)È ÀÉ di Basi di Dati 12 novembre Ê Creazione oggetto Statement *HVWLRQH TXHU\ Ê Esecuzione query Statement stmt = conn.createstatement(); ResultSet rset = stmt.executequery ("SELECT nome,cognome FROM Dipendente, Commesso WHERE Dipendente.DipId = Commesso.DipId"); S elezione Ê riga E laborazione ris ultati while (rset.next()) S elezione colonne System.out.println (rset.getstring(1), rset.getstring(2)); un oggetto di classe ResultSet definisce implicitamente un curs ore, il cui nome può essere ottenuto invocando il metodo getcursorname() ¼½¾½ ½À½ Á½ Â"ÃÄÅ Æ Æ"Ã'ÇÀ)È ¾)È ÀÉ di Basi di Dati 12 novembre &KLXVXUË RJJHWWL 9 Chiusura oggetto ResultSet rset.close(); 9 Chiusura oggetto Statement stmt.close(); 9 Chiusura oggetto Connection conn.close(); 12
13 ÌÍÎÍÏÍÐÍ ÑÍ Ò"ÓÔÕ Ö Ö"Ó' Ð)Ø Î)Ø ÐÙ di Basi di Dati 12 novembre import java.sql.*; import java.math.*; import java.io.*; 8Ú HVHPSLR class JdbcTest { public static void main (String args []) throws SQLException { DriverManager.registerDriver (new oracle.jdbc.driver.oracledriver()); Connection conn = "scott", "tiger"); Statement stmt = conn.createstatement (); ResultSet rset = stmt.executequery ("SELECT nome,cognome FROM Dipendente, Commesso WHERE Dipendente.DipId = Commesso.DipId"); while (rset.next ()) System.out.println (rset.getstring (1), (rset.getstring (2)); } rset.close(); stmt.close(); conn.close(); } ÛÜÝÜÞÜßÜ àü á"âãä å å"â'æß)ç Ý)ç ßè di Basi di Dati 12 novembre &RPSLOD]LRQé éëê HVHFX]LRQH υ Compilazione file sorgente Java (JdbcTest.java) prompt> javac JdbcTest.java o Esecuzione prompt> java JdbcTest p Output a video Paolo Rossi Mario Rossi Paolo Bianchi Mario Verdi 13
14 ú ìíîíïíðí ñí ò"óôõ ö ö"ó' ð)ø î)ø ðù di Basi di Dati 12 novembre PDSSLQJV 'DWDW\SH StandardJDBC Datatypes JavaNativeDatatypes SQLDatatypes OracleExtensions java.sql.types.char java.lang.string CHAR oracle.sql.char java.sql.types.varchar java.lang.string VARCHAR2 oracle.sql.char java.sql.types.longvarchar java.lang.string LONG oracle.sql.char java.sql.types.numeric java.math.bigdecimal NUMBER oracle.sql.number java.sql.types.decimal java.math.bigdecimal NUMBER oracle.sql.number java.sql.types.bit boolean NUMBER oracle.sql.number java.sql.types.integer int NUMBER oracle.sql.number java.sql.types.real float NUMBER oracle.sql.number java.sql.types.float double NUMBER oracle.sql.number java.sql.types.double double NUMBER oracle.sql.number java.sql.types.binary byte[] NUMBER oracle.sql.number java.sql.types.date java.sql.date DATE oracle.sql.date java.sql.types.time java.sql.time DATE oracle.sql.date java.sql.types.timestamp javal.sql.timestamp DATE oracle.sql.date ûüýüþüÿü ü ÿ ý ÿ di Basi di Dati 12 novembre UDFOH -'%& ([WHQVLR 7\SHV SQL Datatype JDBC Extensions for SQL Datatypes Oracle Extensions ROWID oracle.jdbc.driver.oracletypes.rowid oracle.sql.rowid user-defined types of the REF CURSOR category oracle.jdbc.driver.oracletypes.cursor java.sql.resultset BLOB oracle.jdbc.driver.oracletypes.blob oracle.sql.blob CLOB oracle.jdbc.driver.oracletypes.clob oracle.sql.clob BFILE oracle.jdbc.driver.oracletypes.bfile oracle.sql.bfile Collections (varrays and nested tables) oracle.jdbc.driver.oracletypes.array oracle.sql.array 14
15 ! " " #$%&%&' di Basi di Dati 12 novembre * SQL92 escape syntax 3/64/ VWRUH( SURFHGXUHV L) -'%& CallableStatement cs1 = conn.preparecall ( "{call proc (?,?)}" ) ; CallableStatement cs2 = conn.preparecall ( "{? = call func (?,?)}" ) ; * Oracle escape syntax CallableStatement cs3 = conn.preparecall ( "begin proc (:1, :2); end;" ) ; CallableStatement cs4 = conn.preparecall ( "begin :1 := func(:2,:3); end;" ) ; Sull'oggetto di classe CallableStatement restituito da conn.preparecall() vanno invocati i metodi per l'inserimento dei parametri e l'esecuzione della stored procedure. Per l esecuzione si usa il metodo execute() quando è necessario gestire i risultati (restituiti tramite un oggetto della classe ResultSet) oppure, in alternativa, il metodo executeupdate(), quando non è prevista la restituzione di risultati (ad es. in caso di INSERT, UPDATE, DELETE, etc.) +,-,.,/, 0, $/7&-7&/8 di Basi di Dati 12 novembre 'RFXPHQWD]LRQ9 +70/ : JDBC TM - Connecting Java and Databases in JDK TM 1.1.x Documentation : Oracle8i JDBC Developer's Guide and Reference in Oracle Documentation Library (Oracle8i Java Products, Release 8.1.5) 15
JDBC 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
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
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
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
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
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
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
DettagliDBMS ed Applicazioni Motivazioni
DBMS ed Applicazioni Motivazioni Sin ora abbiamo visto SQL come linguaggio per interrogare DBMS da interfaccia interattiva Nella pratica, un efficace sfruttamento delle potenzialità dei DBMS deriva dalla
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
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
DettagliJDBC Driver Manager. JDBC Architettura generale. JDBC - Tipi di dato. JDBC - Flusso applicativo. JDBC - Tipi di dato. ODBC Driver. Livello di gestione
Interfacce DBMS in breve Corso di BD1 Ripasso comandi applicazione JDBC Manipolazione estensioni OR in JDBC Interfacce per DBMS Problema: Far accedere un applicazione ad una base di dati Soluzione: Librerie
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
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
DettagliCapitoli 8 e 9. SQL embedded. Applicazioni tradizionali Applicazioni Internet. Sistemi di basi di dati Raghu Ramakrishnan, Johannes Gehrke
Capitoli 8 e 9 Applicazioni tradizionali Applicazioni Internet SQL embedded SQL nel codice applicativo I comandi SQL possono essere chiamati dall interno di un programma in un linguaggio ospite (ad esempio
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
DettagliJava: la libreria delle classi
Java: la libreria delle classi Applet anatomia di un applet cenni di html La libreria JDBC per l accesso ai database il package java.sql 213 Applet Un applet è una applicazione Java che ha una forma particolare
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
DettagliAccesso a Database con JDBC
1 Sommario Accesso a Database con JDBC Introduzione architettura generale di riferimento flusso tipico delle applicazioni ODBC/JDBC ODBC architettura il flusso generale di un applicazione ODBC JDBC architettura
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
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
DettagliIntroduzione. 8- Programmazione di una base di dati attraverso JDBC ESEMPIO
8- Programmazione di una base di dati attraverso JDBC Introduzione ai differenti approcci - JDBC: Architettura e Programmazione Introduzione Nella pratica gli utenti finali accedono al contenuto di una
DettagliSQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS)
1 SQL Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS) a.a. 2014/2015 http://www.di.uniba.it/~lisi/courses/basi-dati/bd2014-15.htm Dott.ssa Francesca A. Lisi dott.ssa Francesca A.
DettagliCome trattare il risultato di un comando SQL (relazioni) che
USO DI SQL DA PROGRAMMI: PROBLEMI 1 Come collegarsi alla BD Come trattare gli operatori SQL Come trattare il risultato di un comando SQL (relazioni) che Come scambiare informazioni sull esito delle operazioni.
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
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
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
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
DettagliSQL e applicazioni. Capitolo 8. SQL e linguaggi di programmazione. Applicazioni ed SQL: architettura. Una difficoltà importante.
SQL e applicazioni Capitolo 8 Applicazioni tradizionali In applicazioni complesse, l utente non vuole eseguire comandi SQL, ma programmi, con poche scelte SQL non basta, sono necessarie altre funzionalità,
DettagliConcetti 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
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
Dettagli@2011 Politecnico di Torino. Pag. 1. Architettura distribuita. Architetture Client/Server. Architettura centralizzata. Architettura distribuita
Architettura client/ stazioni utente Basi di ati Architetture /Server B locali M BG Architettura centralizzata Un architettura è centralizzata quando i dati e le (programmi) risiedono in un unico Tutta
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
DettagliCorso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008)
Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008) Introduzione a Java: primo programma, installazione dell ambiente di sviluppo, compilazione ed esecuzione 1 Introduzione Java è un linguaggio
DettagliProgetto 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
Dettagli10.1. Un indirizzo IP viene rappresentato in Java come un'istanza della classe InetAddress.
ESERCIZIARIO Risposte ai quesiti: 10.1. Un indirizzo IP viene rappresentato in Java come un'istanza della classe InetAddress. 10.2. Un numero intero in Java è compreso nell'intervallo ( 2 31 ) e (2 31
DettagliEsercitazione 4 JDBC
JDBC Obiettivi dell esercitazione Familiarizzare con l'organizzazione dell'ambiente di lavoro per la realizzazione di applicazioni Java Utilizzare i costrutti di base della libreria JDBC per 1. la gestione
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,
DettagliLaboratorio di Sistemi Fondamenti di JDBC (parte1) Java. Fondamenti di JDBC
Fondamenti di JDBC Concetto di driver Il dialogo fra applicazione e DBMS non è mai gestito direttamente ma passa in genere per un opportuno modulo software chiamato driver che agisce da interfaccia fra
DettagliProgrammazione 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]
DettagliProtocolli e architetture per WIS
Protocolli e architetture per WIS Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di informazioni e servizi Le architetture moderne dei WIS
DettagliProgetto 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
DettagliSiti web centrati sui dati (Data-centric web applications)
Siti web centrati sui dati (Data-centric web applications) 1 A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 2 / 2 0 1 3 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente
DettagliJDBC: Java e database.
JDBC: Java e database. Introduzione all architettura e esempi di utilizzo 1.0 INTRODUZIONE ALL ARCHITETTURA JDBC è (anche se non ufficialmente riconosciuto da Sun) l acronimo per Java DataBase Connectivity.
DettagliMDAC. Attualmente la versione disponibile di MDAC è la 2.8 ma faremo riferimento alla 2.6. ADO Active Data Objects ADO OLE DB ODBC
MDAC MDAC è l acronimo di Microsoft Data Access Component e fa parte della tecnologia Microsoft denominata Universal Data Access (UDA). Mette a disposizione una serie di componenti per l accesso a svariate
DettagliDBMS e Linguaggi di programmazione nell'era di Internet
DBMS e Linguaggi di programmazione nell'era di Internet Crippa Francesco fcrippa@tiscalinet.it Crippa Francesco (GPL) 1 Programma del corso DBMS nati per il WEB: MySQL Postgres Il cuore del WWW, il web
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!
DettagliStrumenti per la programmazione
Editing del programma Il programma deve essere memorizzato in uno o più files di testo editing codice sorgente 25 Traduzione del programma Compilazione: è la traduzione effettuata da un compilatore Un
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/
DettagliProgrammazione Java: JDBC
Programmazione Java: JDBC romina.eramo@univaq.it http://www.di.univaq.it/romina.eramo/tlp Roadmap Introduzione Risorse Driver Contesto Applicativo SQL Classi e interfacce Passi» Registrare un driver» Stabilire
DettagliAPPENDICE. Procedure in SQL (1)
APPENDICE Procedure in SQL Transazioni in SQL Embedded SQL Remote Procedure Call Appendice 1 Procedure in SQL (1) Standard SQL2 permette di definire procedure, associate a singoli comandi SQL, memorizzate
DettagliComponenti 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
DettagliTUTORIAL. CREAZIONE DI TRIGGER IN ORACLE LITE 8i MEDIANTE CLASSI JAVA
TUTORIAL CREAZIONE DI TRIGGER IN ORACLE LITE 8i MEDIANTE CLASSI JAVA Michele de Nittis Generalità... 2 Modello di Caricamento e Pubblicazione... 3 Modello Per Allegato (Attachment)... 9 Esempio di creazione
DettagliEsercitazione sulle libpq - libreria C per PostgreSQL
Esercitazione sulle libpq - libreria C per PostgreSQL Roberto Tronci roberto.tronci@diee.unica.it Basi di Dati A.A. 2007/2008 Tronci ( roberto.tronci@diee.unica.it ) Esercitazione libpq Basi di Dati 2007/2008
DettagliProgrammazione in Java Parte I: Fondamenti
Programmazione in Java Parte I: Fondamenti Lezione 1 Dott. Marco Faella Riferimenti Testi consigliati: Progettazione del software e design pattern in Java di C.S. Horstmann Apogeo Gli esempi di codice
DettagliIndice. Java. JDBC è l interfaccia di base standard di Java ai database relaionali
Java java database connectivity -- jdbc G. Prencipe prencipe@di.unipi.it Indice JDBC: Java Data Base Connectivity connessioni a basi di dati esecuzione di statement SQL accesso ai result set JDBC: Java
DettagliJava e PL/SQL. Simona Rotolo
Java e PL/SQL Simona Rotolo 2 Con l'uscita di Oracle 8i è possibile costruire componenti software che accedono ai dati Oracle utilizzando in modo congiunto i linguaggi PL/Sql e Java. In tal modo è possibile
DettagliTecnologie di Sviluppo per il Web
Tecnologie di Sviluppo per il Web Programmazione su Basi di Dati: JDBC Concetti Fondamentali versione 1.0 G. Mecca mecca@unibas.it Università della Basilicata JDBC >> Sommario Concetti Fondamentali Introduzione
DettagliRMI Remote Method Invocation
RMI Remote Method Invocation [Pagina intenzionalmente vuota] (1 12 2004) slide 4:1/18 (p.106) Un applicazione RMI è un applicazione distribuita ad oggetti. Applicazione RMI tipica, strutturata in: server:
DettagliL evoluzione delle Applicazioni Distribuite
L evoluzione delle Applicazioni Distribuite Dai terminali a fosfori verdi al Client-Server a Internet Architettura basata su Mainframe thin client su 3270 a fosfori verde server TP-Monitor su Mainframe
DettagliDBMS ED APPLICAZIONI (CAPITOLO 6) SQL incluso in codice applicativo Embedded SQL Cursori Dynamic SQL JDBC Stored procedures
1 DBMS ED APPLICAZIONI (CAPITOLO 6) SQL incluso in codice applicativo Embedded SQL Cursori Dynamic SQL JDBC Stored procedures Progettazione 2 Dominio Applicativo PROGETTAZIONE CONCETTUALE PROGETTAZIONE
DettagliApplicazioni web centrati sui dati (Data-centric web applications)
Applicazioni web centrati sui dati (Data-centric web applications) 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente lo strumento di riferimento
DettagliAPPLICAZIONI DELLE BASI DI DATI
APPLICAZIONI DELLE BASI DI DATI APPLICAZIONI TRADIZIONALI APPLICAZIONI INTERNET SQL EMBEDDED SQL nel codice applicativo! I comandi SQL possono essere chiamati dall interno di un programma in un linguaggio
DettagliTecnologie per il Web. Il web: Architettura HTTP HTTP. SSL: Secure Socket Layer
Tecnologie per il Web Il web: architettura e tecnologie principali Una analisi delle principali tecnologie per il web Tecnologie di base http, ssl, browser, server, firewall e proxy Tecnologie lato client
DettagliLe command line di Java
Le command line di Java Esercitazioni di Programmazione 2 Novella Brugnolli brugnoll@science.unitn.it Ambiente di lavoro Per compilare ed eseguire un programma Java abbiamo bisogno di: The JavaTM 2 Platform,
DettagliTratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET)
Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET) Ipotesi di partenza: concetti di base del networking Le ipotesi di partenza indispensabili per poter parlare di tecniche di accesso
DettagliBasi di Dati Esercitazione JDBC. Giugno 2007
Basi di Dati Esercitazione JDBC Giugno 2007 Esercizi Considerando il seguente schema: Fornitori (CodiceFornitore, Nome, Indirizzo, Citta) Prodotti (CodiceProdotto, Tipo, Marca, Modello) Catalogo (CodiceFornitore,
DettagliCorso Web programming
Corso Web programming Modulo T3 A1 Modelli di programmazione 1 Prerequisiti Concetto di rete Processi e thread Concetti generali sui database 2 1 Introduzione Un particolare ambito della programmazione
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:
DettagliIntroduzione a Oracle 9i
Introduzione a Oracle 9i Ing. Vincenzo Moscato - Overview sull architettura del DBMS Oracle 9i L architettura di Oracle 9i si basa sul classico paradigma di comunicazione client-server, in cui sono presenti
DettagliArchitetture Informatiche. Dal Mainframe al Personal Computer
Architetture Informatiche Dal Mainframe al Personal Computer Architetture Le architetture informatiche definiscono le modalità secondo le quali sono collegati tra di loro i diversi sistemi ( livello fisico
DettagliSocket & RMI Ingegneria del Software - San Pietro
Socket & RMI Ingegneria del Software - San Pietro Socket È possibile trattare la comunicazione di rete allo stesso modo con cui è possibile trattare la lettura da file. La classe Socket rappresenta la
DettagliIntroduzione all elaborazione di database nel Web
Introduzione all elaborazione di database nel Web Prof.ssa M. Cesa 1 Concetti base del Web Il Web è formato da computer nella rete Internet connessi fra loro in una modalità particolare che consente un
Dettagli19. LA PROGRAMMAZIONE LATO SERVER
19. LA PROGRAMMAZIONE LATO SERVER Introduciamo uno pseudocodice lato server che chiameremo Pserv che utilizzeremo come al solito per introdurre le problematiche da affrontare, indipendentemente dagli specifici
DettagliMODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it
MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo
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
Dettagliappunti delle lezioni Architetture client/server: applicazioni server
Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture /: applicazioni 1 La logica dei Abbiamo visto che un applicazione si connette e comunica con un applicazione mediante
DettagliCenni di programmazione distribuita in C++ Mauro Piccolo piccolo@di.unito.it
Cenni di programmazione distribuita in C++ Mauro Piccolo piccolo@di.unito.it Socket Nei sistemi operativi moderni i servizi disponibili in rete si basano principalmente sul modello client/server. Tale
DettagliSviluppo di applicazioni per basi di dati
Sviluppo di applicazioni per basi di dati 1 Sviluppo di applicazioni per basi di dati Quattro parti: Gestione dati Business rules (vincoli di integrità e dati derivati) Logica applicativa Interfaccia utente
DettagliArchitetture e applicazioni web
Architetture e applicazioni web L o Guido Porruvecchio Tecnologia e Applicazioni della Rete Internet Cosa è un'applicazione web E' un particolare tipo di applicazione che si appoggia sulle tecnologie,
DettagliArchitetture Informatiche. Dal Mainframe al Personal Computer
Architetture Informatiche Dal Mainframe al Personal Computer Architetture Le architetture informatiche definiscono le modalità secondo le quali sono collegati tra di loro i diversi sistemi ( livello fisico
DettagliDominio applicativo. Progettazione. v SQL incluso in codice applicativo v Embedded SQL v Cursori v Dynamic SQL v JDBC v Stored procedures
Dominio applicativo (Capitolo 6) v SQL incluso in codice applicativo v Embedded SQL v Cursori v Dynamic SQL v JDBC v Stored procedures Basi di dati 1 Docente Claudia Amari 1 Progettazione PROGETTAZIONE
DettagliBasi di Dati: Corso di laboratorio
Basi di Dati: Corso di laboratorio Lezione 10 Raffaella Gentilini 1 / 46 Sommario 1 Introduzione: DB e Programmazione 2 3 2 / 46 Approcci alla Programmazione di un DB Meccanismi Disponibili 1 Linguaggi
DettagliLuca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni server
Versione 30.5.05 Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture client/: applicazioni 1 La logica dei socket Abbiamo visto che un applicazione client si connette
DettagliProgrammazione Client-Server
Programmazione Client-Server Davide Taibi davide.taibi@uninsubria.it The Java Platform Java Technology Enabled Devices Java Technology Enabled Desktop Workgroup Server High-End Server The Java Platform
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
DettagliUniversità degli studi Roma Tre Dipartimento di informatica ed automazione. Tesi di laurea
Università degli studi Roma Tre Dipartimento di informatica ed automazione Tesi di laurea Reingegnerizzazione ed estensione di uno strumento per la generazione di siti Web Relatore Prof. P.Atzeni Università
DettagliProva Finale a.a. 2011/2012. Laboratorio 1: Introduzione a Java e Eclipse
Prova Finale a.a. 2011/2012 Laboratorio 1: Introduzione a Java e Eclipse 1 Java 6 Standard Edition Linguaggio Java (... (javac, Tool di sviluppo Librerie per l'interfaccia grafica Librerie di base Macchina
DettagliInformatica DR KLOE Calcolo
Informatica DR KLOE Calcolo Progettazione e gestione sotto il sistema operativo Unix di un database per un esperimento che produce almeno 1200 Terabyte. Informatica DR KLOE Calcolo Tutore: Giuseppe Fortugno
DettagliUN PROGRAMMA APPLICATIVO: ACCESS Access è un programma del pacchetto Office che permette di realizzare database
UN PROGRAMMA APPLICATIVO: ACCESS Access è un programma del pacchetto Office che permette di realizzare database Per comprendere al meglio cosa sia un database, dobbiamo prima introdurre il concetto di
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
DettagliSPSS Inc. Data Access Pack - Istruzioni di installazione per Windows
i SPSS Inc. Data Access Pack - Istruzioni di installazione per Windows Per ulteriori informazioni sui prodotti software SPSS Inc., visitare il sito Web all indirizzo http://www.spss.it o contattare: SPSS
DettagliLaboratorio di Basi di Dati
Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 9 Architettura Model-View-Controller (MVC) Adottando l'architettura MVC e la tecnologia Servlet-JSP, un'applicazione web può essere realizzata
DettagliArchitettura 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
DettagliLaboratorio di Basi di Dati e Web
Laboratorio di Basi di Dati e Web Docente: Alberto Belussi Lezione 1 SQL Structured Query Language SQL è stato definito nel 1973 ed è oggi il linguaggio più diffuso per i DBMS relazionali Il linguaggio
DettagliJava: Compilatore e Interprete
Java: Compilatore e Interprete Java Virtual Machine Il bytecode non è Linguaggio Macchina. Per diventarlo, deve subire un ulteriore trasformazione che viene operata dall interprete Java in modalità JIT
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
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)
DettagliSistemi centralizzati e distribuiti
Sistemi centralizzati e distribuiti In relazione al luogo dove è posta fisicamente la base di dati I sistemi informativi, sulla base del luogo dove il DB è realmente dislocato, si possono suddividere in:
DettagliParte II: Reti di calcolatori Lezione 10
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Parte II: Reti di calcolatori Lezione 10 Giovedì 3-04-2014 1 Reti per la distribuzione
DettagliPanoramica: che cosa è necessario
Scheda 02 L installazione dell SDK G IOVANNI PULITI Panoramica: che cosa è necessario Per poter lavorare con applicazioni Java o crearne di nuove, il programmatore deve disporre di un ambiente di sviluppo
Dettagli