Interazione fra applicazioni
|
|
|
- Valentina Rossini
- 9 anni fa
- Просмотров:
Транскрипт
1 WEB SERVICES
2 Successo del Web Negli anni passati il Web ha avuto un enorme successo principalmente per due motivi: Semplicità: Ubiquità Per un fornitore di servizi è semplice raggiungere un numero molto elevato di utenti. Per un utente è semplice accedere ad un servizio ovunque esso si trovi Si tratta però di un sistema fortemente orientato all interazione tra utenti e sistemi
3 Interazione fra applicazioni L evoluzione dell utilizzo di Internet e del Web ha fatto emergere l esigenza di interazioni fra applicazioni in diversi contesti: Un programma di gestione aziendale deve poter integrare le informazioni locali con quelle messe a disposizione su Internet dai fornitori, dalle banche o dall amministrazione pubblica Un applicazione per agenti mobiliari deve poter attingere in tempo reale a informazioni provenienti dai mercati finanziari di tutto il mondo e organizzarle in un quadro coerente Il sistema di gestione di una biblioteca ha la necessità di cercare un libro sia nel catalogo locale che in quello di un sistema bibliotecario più vasto (Comune, Provincia, Università )
4 Limiti del web Purtroppo il modello del web non è adatto all interazione fra applicazioni Si basa su modello molto semplice: L utente, usando un browser, trasmette un URL, digitandolo direttamente oppure cliccando su un link Il web server restituisce una pagina HTML che viene resa graficamente dal browser In un colloquio fra applicazioni questo schema presenta due elementi critici: Gli URL sono uno strumento troppo rudimentale per esprimere richieste complesse e articolate L HTML è in qualche modo un ibrido tra un linguaggio per descrivere il contenuto informativo e un linguaggio per descrivere la presentazione. Non c è una separazione netta fra forma e contenuto.
5 Un nuovo modello Queste considerazioni hanno portato alla definizione di un nuovo modello in grado di superare queste limitazioni: i web services. Si è scelto un approccio di tipo evolutivo: Continuare ad utilizzare HTTP come protocollo di trasporto delle informazioni, in modo da riutilizzare l infrastruttura già esistente e conservare la semplicità del modello di interazione Trovare uno strumento più adeguato per descrivere gli elementi del colloquio: la richiesta e la risposta. Per quanto riguarda questo secondo aspetto la scelta è caduta su XML
6 XML e SOAP XML è conosciuto soprattutto come linguaggio per la descrizione di documenti In realtà è adatto a descrivere qualunque contenuto informativo, anche molto complesso e articolato Può quindi essere utilizzato per esprimere sia le richieste che le risposte, in un modello di interazione come quello che abbiamo appena delineato E stato definito un protocollo chiamato SOAP - basato su HTTP e XML - che definisce un modo semplice ed efficace per creare interazioni fra applicazioni e sistemi attraverso Internet SOAP è un protocollo di invocazione remota: permette di richiedere ad un applicazione remota di svolgere una determinata azione e di restituire dei risultati
7 7 Cos è un web service? Un WS è un applicazione software identificata da un URI, le cui interfacce pubbliche e relativi binding sono definiti e descritti in XML. La sua definizione può essere trovata da altre applicazioni software. Questi ultimi possono poi interagire con il WS seguendo le direttive presenti nella definizione del servizio, usando messaggi XML trasportati da protocolli internet. ( Web Services Architecture
8 Introduzione Interazione tra applicazioni web Modello di interazione tra applicazioni basato su standard esistenti o emergenti: - HTTP (Hypertext Transfer Protocol) -XML(Extensible Markup Language) -SOAP(Single Object Access Protocol) -WSDL(Web Services Description Language) - UDDI (Universal Description Discovery and Integration)
9 Definizione di web services Un web service è un interfaccia che descrive un insieme di operazioni accessibili sulla rete tramite messaggi standardizzati XML. Un Web service è descritto usando una notazione XML formale standard (service description). La service description contiene tutte le informazioni necessarie per l interazione con il servizio: il formato dei messaggi (relativi alle operazioni), il protocollo di trasporto e la localizzazione del servizio.
10 L interfaccia nasconde i dettagli di implementazione del servizio (hardware, software, linguaggio di programmazione). Un web service corrisponde ad una specifica azione o ad un insieme di azioni. Può essere usato da solo o con altri web services per realizzare una transazione complessa.
11 The Web Services Model - Service Description Service Producer Service WSDL,UDDI Publish Bind Service Registry Find WSDL,UDDI Service Consumer Service Description
12 Ruoli in una architettura web services Service producer. E il proprieterio del servizio. Da un punto di vista architetturale, rappresenta il nodo che contiene il servizio. Service consumer E l applicazione che sta cercando, chiamando o iniziando un interazione con un servizio. Un service consumer può essere un browser o un applicazione (es., un altro web service) Service register Registro che contiene le descrizioni di servizi pubblicate su richiesta dei service producer e ricercate dai service consumer.
13 Operazioni in una architettura web services Publish Per essere accessibile una descrizione di un servizio deve essere pubblicata in modo che il service consumer la possa ritrovare. Find L operazione di find può avvenire in due fasi distinte per il consumer: a tempo di progetto del programma per ricercare la descrizione dell interfaccia, a run time per effettuare il binding del servizio richiesto. Bind L interazione con un servizio ha luogo usando le informazioni di binding nella descrizione del servizio per localizzare e chiamare il servizio
14 Web Services Come funziona? Il service consumer si collega ad un registro UDDI (internet o intranet) Ricerca (per categorie, per fornitore, ecc ) il servizio che gli interessa (esempio: web services che fornisca le quotazioni di mercato) Trova la descrizione del servizio (funzionalità, dove collegarsi, come invocarlo) Si collega al server del fornitore del servizio ed usufruisce del servizio il service consumer è un applicazione software I web services sono applicazioni web che forniscono servizi ad altre applicazioni web
15 Web Services Tecnologie SOAP Simple Object Access Protocol Protocollo per lo scambio di informazioni in un architettura distribuita e decentralizzata. E un protocollo di invocazione remota: permette di richiedere ad un applicazione remota di svolgere una determinata azione e di restituire dei risultati. Basato su XML WSDL Web Services Definition Language Standard utilizzato per la descrizione di un web service; fornisce cosa un servizio può fare (richieste, risposte e parametri) dove risiede e come chiamarlo.basato su XML UDDI Universal Description, Discovery and Integration Standard utilizzato per la pubblicazione di servizi in rete
16 SOAP: un esempio Vediamo un semplice esempio: un applicazione finanziaria (client) che colloquia con un servizio che fornisce in tempo reale le quotazioni di borsa. L elemento più semplice di questa interazione è la richiesta dell ultima quotazione di una determinata azione. Vediamo lo schema del colloquio: L applicazione client costruisce una richiesta in XML usando la sintassi definita da SOAP L applicazione client trasmette la richiesta ad un server Web usando HTTP Il server riceve ed interpreta la richiesta trasformandola in un comando che viene passato ad un applicazione residente sul server L applicazione sul server riceve il comando e ricava dal proprio database l informazione richiesta L applicazione sul server crea una risposta, sempre in formato XML con sintassi SOAP e la restituisce al server web Il server web la restituisce all applicazione client sotto forma di risposta HTTP.
17 SOA (Service Oriented Architecture) SOA è uno strumento per ottenere un composite computing model utilizzando web services technology stack, ossia SOAP, WSDL, UDDI. Un web service è costituito da due parti: servizio: rappresenta l implementazione di un web service, di dimensioni e complessità qualsiasi, ospitato da un nodo ed utilizzabile da applicazioni che operano su altri nodi. descrizione del servizio: rappresenta l interfaccia del servizio descritta in XML. La descrizione comprende i tipi di dati utilizzati, le operazioni, la modalità di binding, l indirizzo di rete (URL) del nodo.
18 RUOLI dei partecipanti Provider Proprietario del servizio. Il servizio ha: - una descrizione XML - una implementazione concreta che incapsula il suo comportamento. Si accede al servizio tramite SOAP e HTTP (o SMTP). Il servizio può implementare un protocollo di richiesta/risposta (RPC), oppure ricevere messaggi e fornire risposte in modo asincrono
19 Registro Contiene: - nome, descrizione e localizzazione del servizio - informazioni necessarie per fare uso del servizio Si può accedere a queste informazioni in fase di sviluppo di una applicazione oppure run time. La struttura del Registro consente di ricercare prima se esiste un certo tipo di servizio; in caso affermativo di trovare la sua interfaccia.
20 Richiedente Può essere una persona che usa un browser Un applicazione (es. un altro web service)
21 Interazioni dei partecipanti Pubblicazione. È quasi sempre di tipo dinamico utilizzando il protocollo UDDI (Universal Description, Discovery and Integration). Prospettiva futura:applicazioni ricercano dinamicamente i servizi di cui hanno bisogno da compagnie non conosciute senza la necessità dell intervento umano. Tecnologie utilizzate: SOAP, WSDL, UDDI : tutte basate su XML.
22 Web Services SOAP Il richiedente fa una richiesta (SOAP request), il server ascolta su una porta, accetta la richiesta, esegue il servizio (service) ed invia il risultato al richiedente (SOAP response) SOAP request Service Client SOAP response Server
23 Web Services Esempio di richiesta SOAP POST /StockQuote HTTP/1.1 Host: Content-Type: text/xml; charset="utf-8" Content-Length: nnnn SOAPAction: "Some-URI" <SOAP-ENV:Envelope xmlns:soap-env=" SOAP-ENV:encodingStyle=" <SOAP-ENV:Body> <m:getlasttradeprice xmlns:m="some-uri"> <symbol>dis</symbol> </m:getlasttradeprice> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
24 Web Services Esempio di risposta SOAP HTTP/ OK Content-Type: text/xml; charset="utf-8" Content-Length: nnnn <SOAP-ENV:Envelope xmlns:soap-env=" SOAP-ENV:encodingStyle=" <SOAP-ENV:Body> <m:getlasttradepriceresponse xmlns:m="some-uri"> <Price>34.5</Price> </m:getlasttradepriceresponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
25 WSDL Per poter utilizzare un servizio è necessario conoscerne le caratteristiche Il protocollo WDSL (Web Services Definition Language), basato sempre su XML, svolge proprio questa funzione WDSL dice: Cosa un servizio può fare (richieste, risposte e parametri) Dove risiede Come invocarlo Vediamo il documento WSDL che descrive il servizio a cui abbiamo acceduto nell esempio di poco fa
26 WSDL: descrizione dei tipi La prima parte di uno schema WSDL descrive i tipi. <types> <schema> <element name="tradepricerequest"> <complextype> <all> <element name="tickersymbol" type="string"/> </all> </complextype> </element> <element name="tradeprice"> <complextype> <all> <element name="price" type="float"/> </all> </complextype> </element> </schema> </types>
27 WSDL: messaggi e operazioni Troviamo quindi la descrizione dei messaggi: <message name="getlasttradepriceinput"> <part name="body" element="xsd1:tradepricerequest"/> </message> <message name="getlasttradepriceoutput"> <part name="body" element="xsd1:tradeprice"/> </message> E la descrizione delle operazioni: ogni operazione è costituita da un messaggio di richiesta e uno di risposta: <porttype name="stockquoteporttype"> <operation name="getlasttradeprice"> <input message="tns:getlasttradepriceinput"/> <output message="tns:getlasttradepriceoutput"/> </operation> </porttype>
28 WDSL: binding e servizio Il binding è il collegamento tra un tipo di operazione (type), un nome di operazione (name) e l azione da eseguire (soapaction): <binding name="stockquotesoapbinding type="tns:stockquoteporttype"> <soap:binding> <operation name="getlasttradeprice > <soap:operation soapaction= "/> <input> </input> <output> </output> </operation> </binding> L ultima parte del documento descrive il servizio e l indirizzo web da utilizzare per accedervi: <service name="stockquoteservice"> <port name="stockquoteport binding="tns:stockquotebinding"> <soap:address location=" </port> </service>
29 UDDI In un mondo popolato da servizi Web nasce la necessità di rintracciarli A questo scopo è stato sviluppato uno standard, denominato UDDI (Universal Description, Discovery e Integration System) UDDI rappresenta in qualche modo l equivalente di un elenco telefonico online, che permette di rintracciare i web services Infatti UDDI offre 3 servizi i cui nomi si ispirano al mondo della telefonia: White pages: permette di trovare un servizio per nome Yellow pages: permette di trovare un servizio per categoria Green Pages: fornisce informazioni tecniche sui servizi offerti da una determinata azienda Un fornitore di servizi UDDI (IBM, Microsoft, SAP ecc.) gestisce un registro elettronico denominato UBR (UDDI Business Registry) che è accessibile sia per pubblicare che per rintracciare i web services
30 Web Services: riepilogo Che cosa sono quindi in sintesi i web services: Sono applicazioni autonome, modulari, autodescrittive, che possono essere pubblicate, rintracciate e invocate attraverso il web. Permettono di realizzare interazioni fra sistemi attraverso Internet e consentono di integrare funzioni applicative distribuite. Un web service è costituito da 3 elementi: Un meccanismo per la pubblicazione e la rintracciabilità: UDDI Un meccanismo di descrizione: WSDL Un meccanismo di invocazione: SOAP
31 Web services e oggetti distribuiti I web services possono essere considerati come una nuova forma di RMI dove: SOAP ha il ruolo di protocollo di trasporto applicativo (come IIOP) WSDL ha il ruolo di IDL Esistono strumenti (vedi Axis per Java), in grado di creare lo scheletro dei client e dei server sulla base di WSDL Il vantaggio fondamentale rispetto a CORBA/IIOP è la possibilità di passare attraverso i firewall I web services estendono a internet il mondo degli oggetti distribuiti, nati in ambito di rete locale Sono più flessibili e realizzano un accoppiamento molto più blando fra client e server
fornitore di servizi utente all interazione tra utenti e sistemi
WEB SERVICES Successo del Web Negli anni passati il Web ha avuto un enorme successo principalmente per due motivi: Semplicità: Ubiquità Per un fornitore di servizi è semplice raggiungere un numero molto
Introduzione ai Web Services Alberto Polzonetti
PROGRAMMAZIONE di RETE A.A. 2003-2004 Corso di laurea in INFORMATICA Introduzione ai Web Services [email protected] Introduzione al problema della comunicazione fra applicazioni 2 1 Il Problema
Web Services Security
Web Services Security Introduzione ai Web Services Davide Marrone Sommario Cosa sono i web services Architettura dei web services XML-RPC SOAP (Simple Object Access Protocol) WSDL (Web Services Description
Servizi di interscambio dati e cooperazione applicativa Guida alla gestione dei servizi web Mipaaf
Servizi di interscambio dati e cooperazione applicativa Indice 1 Introduzione... 3 2 Accesso ai servizi... 4 2.1 La richiesta di convenzione... 4 2.2 Le credenziali di accesso al sistema... 5 2.3 Impostazione
Web Services. Scoperta del servizio UDDI. Descrizione del servizio WSDL. Accesso al servizio SOAP XML. Starto di comunicazione HTTP
Web Services I web services servono a rendere interoperabili le applicazioni e favoriscono la loro integrazione. I servizi web sono applicazioni software che possono essere scoperte, descritte e usate
Programmazione di servizi web SOAP
Luca Cabibbo Architettura dei Sistemi Software Programmazione di servizi web SOAP dispensa asw860 marzo 2017 What is elegance? Soap and water! Cecil Beaton 1 - Fonti The Java EE 7 Tutorial https://docs.oracle.com/javaee/7/tutorial/
Architetture Client/Server. Un architettura è centralizzata quando i dati e le applicazioni (programmi) risiedono in un unico nodo elaborativo
Basi di Dati Architetture Client/Server D B M G Architettura centralizzata Un architettura è centralizzata quando i dati e le applicazioni (programmi) risiedono in un unico nodo elaborativo Tutta l intelligenza
Informatica: arte e mestiere 3/ed
Internet l Indice Storia di Internet Il protocollo TCP/IP Indirizzi IP Intranet e indirizzi privati Nomi di dominio World Wide Web Ipertesti URL e HTTP Motori di ricerca Posta elettronica Architettura
CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI
CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI Introduzione alle basi di dati (2) 2 Modelli dei dati, schemi e istanze (1) Nell approccio con basi di dati è fondamentale avere un certo livello di
Un introduzione ai Web service
Un introduzione ai Web service Valeria Cardellini Università di Roma Tor Vergata Definizione di Web service Definizione fornita del W3C http://www.w3.org/tr/ws-arch/ A Web service is a software system
Definizione di Web service (2) Un introduzione ai Web service. Caratteristiche dei Web service. Valeria Cardellini Università di Roma Tor Vergata
Definizione di Web service Definizione fornita del W3C http://www.w3.org/tr/ws-arch/ Un introduzione ai Web service Valeria Cardellini Università di Roma Tor Vergata A Web service is a software system
La Roadmap dello sviluppo per System i5: dalle Applicazioni Legacy alla SOA
IBM System i5 La Roadmap dello sviluppo per System i5: dalle Applicazioni Legacy alla SOA Massimo Marasco System i Technical Sales Support [email protected] Oriented Architecture (SOA) Servizio
ALLEGATO C STANDARD TECNICI DELLA BORSA CONTINUA NAZIONALE DEL LAVORO
ALLEGATO C STANDARD TECNICI DELLA BORSA CONTINUA NAZIONALE DEL LAVORO Standard tecnici Gli standard tecnici di riferimento adottati sono conformi alle specifiche e alle raccomandazioni emanate dai principali
1 Vincenzo de Stefano SAP e Servizi Web http://desvino.altervista.org
1 Vincenzo de Stefano SAP e Servizi Web http://desvino.altervista.org Prefazione. Da Hello World a Hello World Wide Web. Hello World è la prima frase stampata a video dal primo programma di esempio scritto
Approfondimento. Web Services
Approfondimento Web Services Esame di Programmazione per il Web Fedele Ladisa INDICE Capitolo 1. Introduzione 1.1 Introduzione ai Web Services 1.2 Architettura dei Web Services 1.3 Stack protocollare di
Corso di Applicazioni Telematiche
Service Oriented Architectures e Web Services Corso di Applicazioni Telematiche A.A. 20010-11 Prof. Simon Pietro Romano Università degli Studi di Napoli Federico II Facoltà di Ingegneria Cos è un Web Service?
Introduzione a Service Oriented Architecture e Web Service
Università degli Studi di Roma Tor Vergata Dipartimento di Ingegneria Civile e Ingegneria Informatica Introduzione a Service Oriented Architecture e Web Service Corso di Sistemi Distribuiti e Cloud Computing
Capitolo 16 I servizi Internet
Capitolo 16 I servizi Internet Storia di Internet Il protocollo TCP/IP Indirizzi IP Intranet e indirizzi privati Nomi di dominio World Wide Web Ipertesti URL e HTTP Motori di ricerca Posta elettronica
Reti di Calcolatori Servizi di Rete Laboratorio di Didattica in Rete
Reti di Calcolatori Servizi di Rete Laboratorio di Didattica in Rete Reti di calcolatori Protocolli di Trasmissione: Il modello ISO/OSI L architettura TCP/IP Protocolli di trasmissione Un protocollo di
Argomenti XML JSON. Linguaggi per la definizione e lo scambio di dati strutturati, semi-strutturati, non strutturati. XML Data Model JSON
XML JSON Argomenti 2 Linguaggi per la definizione e lo scambio di dati strutturati, semi-strutturati, non strutturati XML Data Model JSON 3 XML XML extensible Markup Language 4 Modello di dati XML Nato
Architetture di rete. 4. Le applicazioni di rete
Architetture di rete 4. Le applicazioni di rete Introduzione L avvento di tecnologie (hw, sw, protocolli) di rete avanzate ha permesso la nascita di architetture software molto evolute che permettono lo
INFORMATICA. Prof. MARCO CASTIGLIONE. Istituto Tecnico Statale Tito Acerbo - PESCARA
INFORMATICA Prof. MARCO CASTIGLIONE Istituto Tecnico Statale Tito Acerbo - PESCARA 1.1 Introduzione Internet è una rete di calcolatori collegati tra loro e fisicamente posizionati in tutto il mondo RETE
Interoperabilità e cooperazione applicativa tra sistemi informativi
Interoperabilità e cooperazione applicativa tra sistemi informativi Michele Ruta Dipartimento di Ingegneria Elettrica e dell Informazione Politecnico di Bari 1di 29 Indice Introduzione ai Port Community
Sistema WebGIS per l accesso a dati geografici eterogenei distribuiti su internet, l elaborazione GIS e la restituzione online.
Sistema WebGIS per l accesso a dati geografici eterogenei distribuiti su internet, l elaborazione GIS e la restituzione online. Luciano Fortunati, Giulio Massei ISTI-CNR [email protected],
Mariarosaria Napolitano. Architettura TCP/IP. Corso di: Laboratorio di tecnologie informatiche e telematiche
Mariarosaria Napolitano Architettura TCP/IP Corso di: Laboratorio di tecnologie informatiche e telematiche Contesto e Prerequisiti Contesto E' rivolto agli studenti del V anno degli Istituti Tecnici Industriali
Service Oriented Architecture
Service Oriented Architecture Università degli Studi di L Aquila [email protected] http://www.di.univaq.it/gdellape Engineering IgTechnology Info92 Maggioli Informatica Micron Technology Neta
NUOVO GDR. Guida all uso dei Web Services
NUOVO Controllo del documento Stato delle Revisioni - Gestione Documenti Riservati Rev.n Autore Motivo della Revisione Data 1.0 TERNA Prima stesura 06/2017 Approvazione ed emissione Redatto da: Riesaminato
Web services. 25/01/10 Web services
Web services Tecnologia per il computing distribuito standard W3C non dissimile da RMI, CORBA, EJB... Relazione con il Web Websites for humans, Web Services for software :-) un Web service ha un indirizzo
Architettura a oggetti distribuiti
Luca Cabibbo Architettura dei Sistemi Software Architettura a oggetti distribuiti dispensa asw435 marzo 2018 First Law of Distributed Object Design: Don t distribute your objects! Martin Fowler 1 - Fonti
PARTE 11. Web Services
PARTE 11 Web Services Parte 11 Modulo 1: Motivazioni Il miraggio dell informatica moderna Integrazione delle applicazioni Interoperabilità In pratica, ogni meccanismo che consenta a diversi sistemi software
Specifiche di Interfacciamento al Sistema Centralizzato Nazionale Targhe e Transiti (SCNTT)
DIPARTIMENTO DELLA PUBBLICA SICUREZZA Direzione Centrale dei Servizi Tecnico Logistici e della Gestione Patrimoniale Sistema Integrato di Videosorveglianza sviluppato nell ambito del progetto Vie Sicure
Architetture orientate ai servizi
Architetture orientate ai servizi 1 Web Service Nuovo paradigma di sistema informativo basato su componenti software distribuiti I Web Service sono applicazioni indipendenti, modulari, autodescrittive,
Informatica. Alfredo Cuzzocrea. Reti di Calcolatori
Informatica Alfredo Cuzzocrea PROTOCOLLI DI COMUNICAZIONE Protocolli di comunicazione: regole che formalizzano la cooperazione tra calcolatori collegati in rete (dalle caratteristiche fisiche del segnale
Panoramica della soluzione ibrida Servizi di integrazione applicativa di SharePoint 2013
Panoramica della soluzione ibrida Servizi di integrazione applicativa di SharePoint 2013 Christopher J Fox Microsoft Corporation Novembre 2012 Si applica a: SharePoint 2013, SharePoint Online Riepilogo:
Web Service per richiamare Starcheck. Versione: 2 Data: 14/01/14 Autore: InfoCamere
Web Service per richiamare Starcheck Versione: 2 Data: 14/01/14 Autore: InfoCamere 1. Introduzione al documento...3 1.1 Novità introdotte rispetto alla precedente emissione...3 1.2 Scopo e campo di applicazione
Come funziona internet
Come funziona internet Architettura client server URL/URI Richiesta (Request) Risposta (Response) Pagina url e uri Uno Uniform Resource Identifier (URI, acronimo più generico rispetto ad "URL") è una stringa
SMS Gateway - Specifiche WS. Specifica Tecnica
Specifica Tecnica Revisione Data Elaborato da Verificato da Note 1 21/02/13 Stefano Peruzzi Gianni Antini Mod. ST-rev002_2013-02-21 Pag. 1/11 Indice 1 Oggetto...3 2 Scopo del documento...3 3 Riferimenti...3
Introduzione alle Basi di Dati
Introduzione alle Basi di Dati Angelo Chianese, Vincenzo Moscato, Antonio Picariello, Lucio Sansone Basi di dati per la gestione dell'informazione 2/ed McGraw-Hill Capitolo 1 Appunti dalle lezioni SQL
