PROGETTO RUBRICA PUBBLICA ATENEO

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "PROGETTO RUBRICA PUBBLICA ATENEO"

Transcript

1 PROGETTO RUBRICA PUBBLICA ATENEO Progetto per l esame di Web 2.0. Prof. Andrea Perego Autori: Dante Attanasio Domenico Gaglioti

2 PROGETTO RUBRICA PUBBLICA ATENEO... 1 OBIETTIVI... 3 SITUAZIONE ATTUALE... 3 SOLUZIONE... 3 OVERVIEW SISTEMA... 4 Flusso informativo... 4 Autenticazione... 6 Sicurezza e Denial of service... 6 Privacy... 7 SPECIFICHE... 7 V-Card... 7 RDF/XML Web Services SOAP Web Services REST IMPLEMENTAZIONE Mappatura database Funzione di ricerca nel database Web services Fogli di stile XSLT ONTOLOGIA Rubrica_ateneo.owl Istanze dell ontologia EVOLUZIONI ATTUALE SITO WEB BIBLIOGRAFIA... 34

3 Obiettivi L obiettivo del progetto è quello di rendere disponibile, tramite protocolli standard i dati relativi ai contatti, al ruolo e alla struttura di afferenza del personale di varie tipologie che afferisce all Università degli Studi dell Insubria. Queste attività possono essere riassunte come la ristrutturazione della Rubrica Pubblica di Ateneo. Una delle prime applicazioni che usufruirà di tale servizio sarà una pagina del nuovo sito web d Ateneo. Situazione attuale Attualmente i dati della rubrica di Ateneo sono memorizzati su un database Sql Server che viene interrogato e popolato da una applicazione web realizzata in proprio all interno del centro S.I.C. con tecnologia Asp.Net e denominata Servizi On Line. Tale applicazione è usata in Ateneo per gestire le richieste e i servizi degli utenti. Tramite task pianificati denominati DTS (Data Transformation Services) di Sql Server, i dati di interesse per la rubrica pubblica vengono quotidianamente esportati sul database dell attuale sito Web nottetempo. Questa modalità di esportazione presenta grossi svantaggi: i dati esposti sulla rubrica Internet non sono aggiornati in tempo reale, ma soltanto dopo l esecuzione del task giornaliero. le procedure create per l esportazione non sono riutilizzabili per altre applicazioni i dati restano chiusi nel database e non sono disponibili per altre applicazioni Soluzione La soluzione prevede di esportare i dati tramite Internet utilizzando un formato standard: V-CARD. I dati saranno quindi interrogabili mediante 2 web service: un web service SOAP realizzato in ASP.NET e pubblicato sul server web IIS 6, già installato nei server d Ateneo. Questo servizio è pensato per l integrazione di applicazioni che necessitano di protocolli di rete sicuri e affidabili come SOAP. Un web service REST realizzato sempre in ASP.NET che sia interrogabile da chiunque, anche da un semplice browser tramite un semplice URL. Entrambi i servizi restituiranno un documento RDF/XML e sarà carico del client tradurre i dati nel formato desiderato tramite fogli di stile. Al client saranno comunque forniti dei fogli di stile

4 reperibili on-line per effettuare le trasformazioni del documento RDF nei formati più comuni, tra cui XHTML, XML e ovviamente VCARD. Una delle applicazioni già note che sfrutterà questi servizi (nel dettaglio il servizio web REST) sarà una pagina web del nuovo sito di Ateneo. Overview sistema I web services dovranno fornire i dati relativi ai contatti di una persona. Verrà interrogato il database per restituire la lista di persone trovate corrispondenti al nominativo indicato dall utente e per ognuno la lista dei suoi contatti. Per ogni utente i dati che verranno forniti saranno i seguenti: Nome e cognome Struttura di afferenza dell Ateneo Ruolo e funzione di afferenza all Ateneo (personale tecnico\amministrativo, docente, etc ) Lista di contatti (mail, fax, telefono) Flusso informativo La richiesta iniziale parte da un client, un qualsiasi agente che sia in grado di interrogare un web services SOAP o REST. In base al web services scelto dovrà passare come parametro una stringa contenente il nome (o parte di esso) che si desidera cercare. Sono accettate soltanto stringhe di almeno 5 caratteri, questo per evitare ricerche sull intera rubrica che potrebbero rallentare il server. Il servizio web userà il parametro ricevuto con la richiesta per effettuare una query sul database ed estrarre i dati. Questi saranno formattati in un documento RDF/XML come da specifiche W3C (1) per il formato VCARD, integrato con le informazioni aggiuntive dell ontologia del sistema. Il documento verrà inviato al client sfruttando lo stesso protocollo di rete usato per la richiesta iniziale. Il grafico in Figura 1 illustra il flusso informativo:

5 Figura 1 - Flusso informativo In Figura 2 è mostrato un diagramma di caso d uso, nel quale l attore utente effettua la richiesta che viene ricevuta dall attore Web Services nella sua generalizzazione (REST o SOAP) ed esegue l azione di ricerca dell utente, a sua volta composta da 3 azioni: l interrogazione al database, la creazione del documento RDF/XML e l eventuale trasformazione nel formato desiderato (XHTML,XML,VCARD). Figura 2 - Diagramma casi d'uso Infine in Figura 3 è mostrata la sequenza di una possibile interrogazione dei web services:

6 Figura 3 - Diagramma di sequenza E importante evidenziare come, per ottimizzare le richieste al WebServices, sia sufficiente una sola chiamata per ottenere tutte le informazioni richieste contenute dal documento RDF/XML. Per ottenere poi i formati desiderati il lavoro è demandato al browser che deve soltanto scaricare i fogli di stile da un repository (che al momento corrisponde allo stesso sito del WebService ma potrebbe essere spostato in qualsiasi posto ottimizzando le risorse). Autenticazione Il servizio di visualizzazione\esportazione dei dati di rubrica non richiede un processo di autenticazione, in quanto i contatti dei dipendenti dell Ateneo sono pubblici e attualmente pubblicati sul sito web dell Università dell Insubria e disponibili senza processi di autenticazione. Sicurezza e Denial of service Essendo questo servizio disponibile al pubblico è necessario predisporre dei sistemi di sicurezza che salvaguardino il servizio web da tecniche di hacking come la sql injection, il cross scripting etc Il linguaggio di programmazione ASP.NET prevede ed implementa delle tecniche che consentono di ostacolare questi meccanismi. Analizzando per esempio la tecnica di sql injection, questa tecnica consiste nello sfruttare i parametri di input del servizio web come cavallo di troia per lanciare script o comandi dannosi per il database. Questa tecnica può essere neutralizzata con

7 un attento esame dei parametri di input, prima di usarli per comporre query SQL. ASP.NET prevede l utilizzo di oggetti definiti Parameter, in cui vengono effettuati controlli sulla tipologia del parametro (intero, date time, stringa etc ) e per i parametri di tipo stringa vengono individuati pattern di stringhe potenzialmente pericolosi e neutralizzati. Per quanto riguarda invece Denial of Service, questa è una tecnica del tutto diversa, il cui obiettivo è quello di rendere il servizio web inutilizzabile sovraccaricandolo di richieste in modo che il server esaurisca le risorse disponibili per soddisfarle tutte e vada quindi in crash. Anche in questo caso, l applicazione ASP.NET prevede tecniche per evitare questo tipo di attacchi (come specificato nella documentazione msdn (2) ). Per esempio: Le richieste possono essere limitate in dimensione (default 4Mb). Per ogni richiesta di un client, viene controllato che questo sia ancora connesso prima di inserire in coda la richiesta. Questo consente di evitare che un hacker possa inviare una serie di richieste simultanee e poi si disconnetta I tempi di esecuzione di una richiesta hanno un timeout configurabile. Questo consente di evitare che una richiesta vada in loop occupando tutte le risorse del server Privacy Tutti i dati esportati dal servizio web non contengono dati sensibili, quindi non ci sono particolari problemi di privacy per la diffusione su Internet tramite i servizi web. Specifiche V-Card I dati della rubrica di Ateneo sono tipi di dati molto comuni e usati in diversi ambiti e da diversi tipi di applicazioni (client di posta, pagine web, cellualari e smart phone). E quindi importante che il web service possa esportare tali dati adattandosi alle esigenze del client che lo interroga. Sono previste quindi 4 formati possibili di diffusione de contatti di un utente: o V-CARD formattato tramite RDF/XML secondo specifiche W3C (1): questo consentirà a tutte le applicazioni web di ottenere i dati in un formato più comune, intuitivo e facilmente renderizzabile in ambito web mediante trasformazione XSLT in linguaggio XHTML. Questo è il formato che viene sempre restituito al browser. La trasformazione negli altri formati avviene tramite fogli di stile;

8 o o V-CARD trasformato in codice XHTML ottenuto tramite trasformazione con foglio di stile dal formato RDF. I dati dell utente vengono rappresentati in uno specchietto riassuntivo, con una struttura minimale, pensata per essere integrata all interno di altre applicazioni; o V-CARD formattato tramite XML: questo formato viene trasformato direttamente dal formato RDF/XML mediante un foglio di stile e ricalca in maniera fedele la struttura del documento originale, semplicemente non contiene predicati RDF. E pensato per applicazioni che non supportano RDF o V-CARD formattato come indicato nel documento RFC (3):utilizzando questo protocollo standard si consente lo scambio dei contatti tra varie applicazioni e vari dispositivi, soprattutto mobili. Nel RFC è definito il formato e i campi che saranno utilizzati per l implementazione del web service. RFC 2426 (4) è stato usato per attingere le specifiche dei campi utilizzati nella nostra implementazione. Nei contatti V-CARD verranno mappati i campi presenti sulla rubrica pubblica, quindi il nome e il cognome, i dati relativi al ruolo della persona all interno dell Ateneo e la struttura di afferenza. Infine la lista di tutti i contatti disponibili, telefoni, mail etc In Tabella 1 è presente la lista dei campi V-CARD che verranno utilizzati nel progetto: (i campi contrassegnati in rosso sono obbligatori, quindi devono essere sempre presenti in ogni contatto V- CARD): Tabella 1 - Elenco campi formato V-CARD Nome campo Descrizione Esempio MIME DIRECTORY FEATURES Name Source Usato come nome da visualizzare nelle informazioni di MIME TYPE (spesso associato al campo source) Indica l origine del contatto (solitamente un ldap, un database o un AD) IDENTIFICATION TYPES Dante Attanasio

9 fn Nome completo, seguendo la Dante Attanasio semantica X.520 Common Name Attribute n Indica le varie parti del nome, Attanasio;Dante includendo prefissi o suffissi onorifici TELECOMMUNICATIONS ADDRESSING TYPE TEL;TYPE=work Un singolo numero telefonico **** formattato in base allo standard X.500. Type indica che questo numero è lavorativo TEL;TYPE=work,cell Come sopra, per la fonia mobile ******* TEL;TYPE=work,fax Come sopra, fax **** Casella di IMPP;TYPE=sip Eventuale account sip X-SKYPE Eventuale account skype ORGANIZATIONAL TYPES TITLE Titolo della persona (inserito soltanto per il personale docente) ORG Campo fisso composta dall organizzazione e la struttura di afferenza Università Insubria;Centro SIC Esempio di contatto vcard BEGIN:VCARD VERSION:3.0 FN:DANTE ATTANASIO N:ATTANASIO;DANTE ORG:Università Insubria;CENTRO DI SERVIZI SISTEMI INFORMATIVI E COMUNICAZIONE; TEL;TYPE=WORK,CELL: TEL;TYPE=WORK,FAX:

10 TEL;TYPE=WORK: URL:www.uninsubria.it X-SKYPE:dante.attanasio X-SIP:dante.attanasio_sip END:VCARD Il formato V-CARD è un formato di testo che risulta molto leggero per la diffusione ma presenta degli svantaggi notevoli: Non è un formato strutturato Non consente di fornire una semantica delle informazioni che contiene, come relazioni tra i dati, proprietà etc Non è un documento trasformabile in formati diversi, come invece può essere un documento XML o RDF/XML RDF/XML Il Resource Description Framework (RDF) è lo strumento base proposto da W3C per la codifica, lo scambio e il riutilizzo di metadati strutturati e consente l'interoperabilità tra applicazioni che si scambiano informazioni sul Web. L'RDF Data Model si basa su tre principi chiave: 1. Qualunque cosa può essere identificata da un Universal Resource Identifier (URI). 2. The least power: utilizzare il linguaggio meno espressivo per definire qualunque cosa. 3. Qualunque cosa può dire qualunque cosa su qualunque cosa. Il W3C ha definito anche una rappresentazione in questo formato per i contatti V-CARD, in quanto il formato testuale usato dai sistemi di posta risulta poco adatto per lo scambio tra applicazioni di vario tipo, soprattutto in ambito web, per i motivi sopra descritti. I punti di forza di questa rappresentazione sono i seguenti: Formato strutturato che grazie ai predicati rdf contiene una descrizione degli oggetti rappresentati E una struttura dati derivata da xml ed è facilmente integrabile nel web2.0 grazie a protocolli di web services molto diffusi nella rete

11 Ontology Web Language è un linguaggio di markup estensione di RDF usato per rappresentare la semantica di un sistema, specificando delle classi, delle proprietà e delle relazioni tra di esse. Lo scopo di OWL è quindi quello di creare delle ontologie che descrivano delle basi di conoscenza, su cui sia possibile effettuare delle deduzioni e integrarle con altre ontologie sfruttando i diffusi strumenti e protocolli di comunicazione tipici dell ambiente web (XML, web services, http etc..). Web Services SOAP Simple Object Access Protocol è un protocollo per lo scambio di informazioni sulla rete. Il W3C ha standardizzato il tipo di servizio che sfrutta il protocollo Http per lo scambio dei pacchetti. Un oggetto SOAP si basa anch esso sul metalinguaggio XML e ha una sua struttura divisa essenzialmente in 2 parti: Il segmento opzionale Header contiene meta-informazioni come quelle che riguardano il routing, la sicurezza e le transazioni. Il segmento obbligatorio Body trasporta il contenuto informativo e talora viene detto carico utile, o payload. Questo deve seguire uno schema definito dal linguaggio XML Schema. Web Services REST Questo tipo di servizio web è stato introdotto per soddisfare i requisiti del più grosso cliente dell applicazione in oggetto, cioè il portale di Ateneo. REST non è un vero e proprio protocollo ma è più un architettura di rete che ha come principio base il concetto di risorsa (fonti di informazioni), a cui si può accedere tramite un identificatore globale (un URI). Per utilizzare le risorse, le componenti di una rete (componenti client e server) comunicano attraverso una interfaccia standard (ad es. HTTP) e si scambiano rappresentazioni di queste risorse (il documento che trasmette le informazioni). Nel nostro caso il protocollo utilizzato per la comunicazione è proprio HTTP e la risorsa è un documento RDF/XML contenente i contatti di un dipendente dell Ateneo. Implementazione Mappatura database I campi del contatto V-CARD saranno mappati sul database esistente dei Servizi On Line. In Figura 4 Schema E-R Database è specificato il diagramma completo dello schema E-R della parte di database utilizzato per la visualizzazione dei dati inerenti i contatti dell utente.

12 Figura 4 Schema E-R Database Lo schema mostra i collegamenti della tabella utenti, che ovviamente contiene i dati anagrafici dell utente. L utente può avere delle strutture di afferenza, per ogni struttura un ruolo diverso. Infine, i Servizi On Line gestiscono le richieste dell utente, in particolare la casella di posta elettronica e le utenze telefoniche. Per entrambe sono quindi presenti delle entità specifiche che gestiscono le varie tipologie di dati e lo stato in cui si trovano. Infine è presente un entità Contatti_usr che consente all utente di inserire dei contatti personali. Tutte queste tabelle saranno disponibili al web services sotto forma di una vista che effettua il join tra le diverse tabelle dello schema e che è denominata come V_RUBRICA_PUBBLICA. Su questa vista verrà effettuata questa query:

13 SELECT DISTINCT cognome,nome,ruolo FROM V_RUBRICA_PUBBLICA WHERE cognome + ' ' + nome LIKE '%?NOME%' Ogni riga di risultato rappresenta un contatto. Ogni riga contiene anche le informazioni anagrafiche dell utente, che nel caso abbia più di un contatto sono duplicate. In Tabella 2 è visualizzato un esempio dei risultati del metodo cerca_persone indicato nel paragrafo successivo. Tabella 2 - Risultati interrogazione vista Cognome Nome Ruolo Matricola Id Tipo Contatto CSA utente contatto ATTANASIO DANTE Personale Tecnico Amministrativo ATTANASIO DANTE Personale Tecnico Amministrativo ATTANASIO DANTE Personale Tecnico Amministrativo ATTANASIO DANTE Personale Tecnico Amministrativo P Fax P Tel P Cell P a.it I campi cognome e nome saranno usati per i campi name, fn e n. Ruolo mappa il campo role. Il campo id_utente e il campo matricola_csa sono due diversi identificativi dell utente, il primo sul database, il secondo nei sistemi di contabilità dell Ateneo Carriere e Stipendi. Entrambi possono essere utili in possibili integrazioni con altri sistemi. Dalle altre colonee vengono estratti i vari contatti degli utenti, ed in base al campo tipo_contatto vengono tipizzati e formattati nel rispettivo campo. I tipi di contatto per cui non è prevista una mappatura verranno ignorati. Funzione di ricerca nel database Entrambi i web services implementano una funzione principale che, data una stringa, effettua la ricerca sul database con la query sopra specificata. Il risultato della query viene quindi formattato in codice RDF/XML come specificato nei paragrafi seguenti.

14 String Cerca_persone(string nome):, passando come parametro una stringa contenente il nome (o una sua parte) restituisce un documento RDF/XML (sempre di tipo stringa) contenente la lista degli utenti corrispondenti ai criteri indicati. o Parametri: nome: Il parametro passato a questo metodo sarà utilizzato come filtro sui campi nome e cognome dell utente nel database. Deve avere almeno 5 caratteri. Nella prima versione del progetto il numero di parametri si limita al nome, ma in versioni successive si possono prevedere ulteriori filtri, per esempio sulla struttura di afferenza o sul ruolo della persona (per esempio Docente o Personale Tecnico Amministrativo). o Return value: E un documento XML/RDF che contiene la lista degli utenti corrispondenti ai criteri indicati nel parametro con la lista di tutti i dati e di tutti i contatti dell utente. La funzione è stata realizzata mediante ASP.NET e il seguente è il codice che genera il documento RDF/XML: //restituisce un documento XML con la lista degli utenti corrispondenti al pattern indicato public XmlDocument searchusers(string name,string struttura_par, string id_utente_par) //effettua la connessione al database SqlCommand cmd = conn.createcommand(); SqlCommand cmd2 = conn.createcommand(); name = name.tolower(); XmlDocument x = new XmlDocument(); DataSet ds = new DataSet(); name = name.replace("'", "''"); name = name.replace(";", ""); name = name.replace(",", ""); name = name.replace("\"", ""); //query che effettua la ricerca degli utenti sulla vista v_rubrica_pubblica cmd.commandtext = "SELECT DISTINCT id_utente,matricola_csa,cognome,nome,ruolo,tipo_contatto,contatto,struttura,indirizzo FROM V_RUBRICA_PUBBLICA "; string and=" WHERE "; //if (id_utente_par!= "") // // cmd.commandtext += and + " id_utente=" + id_utente_par; // //else //

15 if (name!= "") cmd.commandtext += and + " cognome + ' ' + nome and = " AND "; //if (struttura_par!= "") // // cmd.commandtext += and + " struttura LIKE '%" + struttura_par + "%'"; // and = " AND "; // // cmd.commandtext+=" order by id_utente,tipo_contatto,contatto"; SqlParameter par_nome = new DbType.String); par_nome.value = "%" + name + "%"; cmd.parameters.add(par_nome); SqlDataAdapter da_emp = new SqlDataAdapter(cmd); try conn.open(); //inizializzo il file di risposta caricando un file xml di template x.load(server.mappath(template)); //inizializzo le variabili string id_utente = "-1"; string matricola_csa = ""; string cognome = ""; string nome = ""; string struttura = ""; string ruolo = ""; string tipo_contatto = ""; string contatto = ""; string indirizzo = ""; XmlNodeList nodi = x.getelementsbytagname("rdf:rdf"); XmlNode root = nodi.item(0); XmlNode user = x.createelement("employee");//istanzio user per primo utilizzo int users = -1; string[] strutture=new string[5]; int i_strutture = 0; //carico la lista delle struttura da_emp.fill(ds, "employee"); for (int i = 0; i < ds.tables["employee"].rows.count; i++) if (id_utente!= ds.tables["employee"].rows[i]["id_utente"].tostring()) //incremento il contatore users++; //resetto i contatori i_strutture = 0; strutture = new string[5]; //immagazzino i nuovi dati dell'utente cognome = ds.tables["employee"].rows[i]["cognome"].tostring().trim().replace("'","''"); nome = ds.tables["employee"].rows[i]["nome"].tostring().trim().replace("'", "''"); bool isstruttura = cognome.contains("generici");

16 if (isstruttura) cognome = ""; struttura = ds.tables["employee"].rows[i]["struttura"].tostring().replace("'", "''").Replace(" ", "%20"); ruolo = ds.tables["employee"].rows[i]["ruolo"].tostring(); if (isstruttura) ruolo = "Struttura"; tipo_contatto = ds.tables["employee"].rows[i]["tipo_contatto"].tostring(); contatto = ds.tables["employee"].rows[i]["contatto"].tostring(); indirizzo = ds.tables["employee"].rows[i]["indirizzo"].tostring(); id_utente = ds.tables["employee"].rows[i]["id_utente"].tostring(); matricola_csa = ds.tables["employee"].rows[i]["matricola_csa"].tostring(); //creo il tag per il nuovo utente con l'about rdf user = x.createelement("employee",namespace_local); XmlAttribute a = x.createattribute("rdf","about",namespace_rdf); //a.value = nome + "%20" + cognome; a.value = matricola_csa; user.attributes.append(a); root.appendchild(user); XmlNode id_user = x.createelement("id_user",namespace_local); id_user.innertext = id_utente; user.appendchild(id_user); XmlNode m_csa = x.createelement("matricola_csa", NAMESPACE_LOCAL); m_csa.innertext = matricola_csa; user.appendchild(m_csa); NAMESPACE_VCARD); NAMESPACE_VCARD); NAMESPACE_RDF); NAMESPACE_VCARD); //creo i tag dei dati anagrafici vcard:fn,vcard:n (family e given name) XmlNode fn = x.createnode(xmlnodetype.element, "v", "fn", fn.innertext = nome + " " + cognome; user.appendchild(fn); XmlNode fnn = x.createnode(xmlnodetype.element, "v", "n", XmlNode rdf = x.createnode(xmlnodetype.element, "rdf", "Description", XmlNode n = x.createnode(xmlnodetype.element, "v", "family", n.innertext = cognome; rdf.appendchild(n); n = x.createnode(xmlnodetype.element, "v", "given", NAMESPACE_VCARD); n.innertext = nome; rdf.appendchild(n); fnn.appendchild(rdf); user.appendchild(fnn); //get struttura //user.appendchild(getstruttura(x,struttura,indirizzo,ruolo)); //strutture[i_strutture++] = struttura; //inserire is enrolled to n = x.createelement("isenrolledto",namespace_local); a = x.createattribute("rdf","resource",namespace_rdf); a.value = struttura;

17 n.attributes.append(a); user.appendchild(n); //se la struttura non è stata inserita, inserirla XmlNode s = getstruttura(x, struttura, indirizzo, ruolo); if (s!= null) root.appendchild(s); strutture[i_strutture++] = struttura; //aggiungo il primo contatto user.appendchild(getcontatto(x, tipo_contatto, contatto)); else //se la struttura è diversa ne inserisco un altro isenrolledto e faccio un altro check bool uguale=false; struttura = ds.tables["employee"].rows[i]["struttura"].tostring().replace("'", "''").Replace(" ", "%20"); for (int j = 0; j < strutture.length; j++) if (strutture[j]!= null) if (strutture[j] == struttura) uguale = true; break; if (!uguale) ruolo = ds.tables["employee"].rows[i]["ruolo"].tostring(); indirizzo = ds.tables["employee"].rows[i]["indirizzo"].tostring(); NAMESPACE_RDF); //inserire is enrolled to XmlNode n = x.createelement("isenrolledto",namespace_local); XmlAttribute a = x.createattribute("rdf", "resource", a.value = struttura; n.attributes.append(a); user.appendchild(n); //se la struttura non è stata inserita, inserirla XmlNode s = getstruttura(x, struttura, indirizzo, ruolo); if (s!= null) root.appendchild(s); strutture[i_strutture++] = struttura; //ricarico i dati del contatto seguente tipo_contatto = ds.tables["employee"].rows[i]["tipo_contatto"].tostring(); if (contatto!= ds.tables["employee"].rows[i]["contatto"].tostring()) //se il contatto è diverso da quello precedente lo aggiunge //questo controllo consente di evitare il problema per cui, lato database, i contatti venivano

18 //duplicati se l'utente aveva più afferenze contatto = ds.tables["employee"].rows[i]["contatto"].tostring(); //aggiungi gli ulteriori contatti user.appendchild(getcontatto(x, tipo_contatto, contatto)); catch (Exception ex) //intercetto eccezioni, in caso di errori. Popolare un file di log finally //chiudo l'ultimo contatto e chiudo il file da_emp.dispose(); ds.dispose(); conn.close(); return x; Web services L implementazione dei 2 tipi di web services è praticamente identica, cambia soltanto la modalità di connessione al servizio. Il web services SOAP è interrogabile da un client compatibile all indirizzo Il client dovrà aprire una socket, connettersi al servizio web SOAP del quale potrà vedere i metodi esposti, quindi potrà chiamare il metodo e passare il parametro. Infine otterrà un documento RDF/XML che verrà passato all applicazione che ha lanciato il client SOAP e che potrà formattare il documento sfruttuando il foglio di stile xslt disponibile on-line oppure trasformando con un foglio di stile xslt personalizzato. Il webservices REST invece non necessita di una socket di connessione, bensì è sufficiente passare il parametro name a questo URI: In Figura 5 è mostrato il risultato di una chiamata usando come parametro il pattern Attanasio :

19 Figura 5 - Esempio ricerca con un singolo risultato Il documento RDF/XML, se non specificato con altri parametri illustrati nei paragrafi seguenti,trasforma il documento in una pagina XHTML usando il foglio di stile on-line descritto in seguito. Inserendo attan anziché attanasio si ottengono 2 risultati che vengono visualizzati come mostrato in Figura 6:

20 Figura 6 - Esempio ricerca con più di 1 risultato Il codice XHTML ottenuto è volutamente minimale, in quanto questa visualizzazione serve soltanto per avere un risultato leggibile per utenti o applicazioni che non usano questo web service integrato in altre applicazioni. Inoltre, il codice generato può facilmente essere riutilizzato da altre applicazioni per integrare questi semplici specchietti all interno della propria struttura XHTML (come avviene per il portale di Ateneo mostrato in Figura 7 ).

21 Figura 7 - Risultato ricerca integrato con il sito di Ateneo Il foglio di stile usato per la trasformazione XHTML è il seguente: A sua volta il foglio di stile usa un foglio di stile CSS per la visualizzazione dei contenuti ed è disponibile anch esso on-line a questo indirizzo: E però possibile per l utente ottenere il codice RDF/XML senza che siano applicate trasformazioni; per fare ciò è sufficiente aggiungere all URI sopra indicata il parametro rdf=1 come nel seguente esempio:

22 ottenendo così il documento RDF mostrato nello specchietto seguente: <rdf:rdf xml:base="http://w3.ateneo.uninsubria.it/insubriawebservicesrest/rubrica.aspx?name="> <Employee rdf:about="p006010"> <id_user>1196</id_user> <matricola_csa>p006010</matricola_csa> <v:fn>dante ATTANASIO</v:fn> <v:n> <rdf:description> <v:family>attanasio</v:family> <v:given>dante</v:given> </rdf:description> </v:n> <isenrolledto rdf:resource="centro%20di%20servizi%20sistemi%20informativi%20e%20comunicazione"/> <v: > <rdf:description> </rdf:value> </rdf:description> </v: > <v: > <rdf:description> </rdf:description> </v: > <v: > <rdf:description> </rdf:description> </v: > <v: > <rdf:description> </rdf:description> </v: > <v:tel> <rdf:description> <rdf:value> </rdf:value> <rdf:type rdf:resource="http://www.w3.org/2001/vcard-rdf/3.0#work"/> <rdf:type rdf:resource="http://www.w3.org/2001/vcard-rdf/3.0#fax"/> </rdf:description> </v:tel> <v:tel> <rdf:description> <rdf:value> </rdf:value> <rdf:type rdf:resource="http://www.w3.org/2001/vcard-rdf/3.0#work"/> </rdf:description> </v:tel> </Employee> <OrgUnit rdf:about="centro%20di%20servizi%20sistemi%20informativi%20e%20comunicazione"> <hasemployees rdf:resource="s300167"/> <hasemployees rdf:resource="px92721"/> <hasemployees rdf:resource="p006010"/> <hasemployees rdf:resource="p001269"/> <hasemployees rdf:resource="p001110"/> <hasemployees rdf:resource="px95819"/> <hasemployees rdf:resource="p001219"/> <hasemployees rdf:resource="p006028"/>

23 <hasemployees rdf:resource="p001256"/> <hasemployees rdf:resource="p000157"/> <hasemployees rdf:resource="p001214"/> <hasemployees rdf:resource="p001169"/> <hasemployees rdf:resource="p001033"/> <hasemployees rdf:resource="p001014"/> <hasemployees rdf:resource="p001006"/> <hasemployees rdf:resource="p001258"/> <hasemployees rdf:resource="p001293"/> <hasemployees rdf:resource="p001292"/> <hasemployees rdf:resource="p035027"/> <hasemployees rdf:resource="p001103"/> <hasemployees rdf:resource="p001091"/> <hasemployees rdf:resource="p001100"/> <hasemployees rdf:resource="p001170"/> <hasemployees rdf:resource="p001266"/> <hasemployees rdf:resource="p001066"/> <hasemployees rdf:resource="p001736"/> <hasemployees rdf:resource="p001098"/> <v:org> <rdf:description> <v:orgname>universita' Insubria</v:orgname> <v:orgunit>centro%20di%20servizi%20sistemi%20informativi%20e%20comunicazione</v:orgunit> <v:orgaddress>via Valleggio COMO (Piano 0) </v:orgaddress> <v:role>personale Tecnico Amministrativo</v:role> </rdf:description> </v:org> </OrgUnit> </rdf:rdf> Passando invece il parametro xml=1, si ottiene un documento XML, che può risultare più leggero e fruibile per alcune applicazioni che non supportano il formato RDF. Il browser riceve sempre un documento in formato RDF, che però tramite il foglio di stile (disponibile on-line) sotto indicato viene trasformato direttamente dal browser nel seguente documento XML <users> <user id_user="1196" name="dante ATTANASIO"> <id_user>1196</id_user> <matricola_csa>p006010</matricola_csa> <fn>dante ATTANASIO</fn> <n> <family>attanasio</family> <given>dante</given> </n> <isenrolledto>centro DI SERVIZI SISTEMI INFORMATIVI E COMUNICAZIONE</isEnrolledTo> <org name="centro%20di%20servizi%20sistemi%20informativi%20e%20comunicazione"> <orgname>universita' Insubria</orgname> <orgunit>centro%20di%20servizi%20sistemi%20informativi%20e%20comunicazione</orgunit> <orgaddress>via Valleggio COMO (Piano 0) </orgaddress> <role>personale Tecnico Amministrativo</role> <hasemployees matricola_csa="s300167"/> <hasemployees matricola_csa="px92721"/> <hasemployees matricola_csa="p006010"/> <hasemployees matricola_csa="p001269"/>

24 <hasemployees matricola_csa="p001110"/> <hasemployees matricola_csa="px95819"/> <hasemployees matricola_csa="p001219"/> <hasemployees matricola_csa="p006028"/> <hasemployees matricola_csa="p001256"/> <hasemployees matricola_csa="p000157"/> <hasemployees matricola_csa="p001214"/> <hasemployees matricola_csa="p001169"/> <hasemployees matricola_csa="p001033"/> <hasemployees matricola_csa="p001014"/> <hasemployees matricola_csa="p001006"/> <hasemployees matricola_csa="p001258"/> <hasemployees matricola_csa="p001293"/> <hasemployees matricola_csa="p001292"/> <hasemployees matricola_csa="p035027"/> <hasemployees matricola_csa="p001103"/> <hasemployees matricola_csa="p001091"/> <hasemployees matricola_csa="p001100"/> <hasemployees matricola_csa="p001170"/> <hasemployees matricola_csa="p001266"/> <hasemployees matricola_csa="p001066"/> <hasemployees matricola_csa="p001736"/> <hasemployees matricola_csa="p001098"/> </org> </ > <tel> </tel> <fax> </fax> </user> </users> L integrazione con la pagina di ricerca del personale presente sul nuovo sito web, userà proprio questo sistema, dato che ingloberà il codice xml ottenuto dal servizio web all interno del codice XML che viene creato runtime dal CMS di Ateneo. Infine, è possibile ottenere anche il formato VCARD, semplicemente inserendo il parametro vcard=1in coda alla richiesta: In questo caso il foglio di stile usato è comunque disponibile a questo indirizzo, ma la trasformazione viene realizzata lato server per consentire al browser di ricevere il documento già con un mime type corretto, anziché come semplice stringa:

25 Questo foglio di stile trasforma il documento RDF/XML in un documento di tipo testo in formato VCARD, in modo che sia un oggetto che l utente possa salvare (Figura 8) e caricare nei vari client che supportano il formato vcard (come per esempio la maggior parte dei client di posta elettronica come mostrato in Figura 9). Figura 8 - Esempio di salvataggio file vcf

26 Figura 9 - Esempio di un contatto importato in un'applicazione di Windows I web services sono entrambi realizzati in ASP.NET ed usano un codice molto simile per chiamare la funzione sopra descritta e passare il documento RDF/XML come risposta, il seguente è il codice eseguito alla chiamata della pagina del servizio REST: protected void Page_Load(object sender, EventArgs e) if (Request.QueryString.Count > 0) //metodo che viene chiamato al caricamento della pagina if (Request.QueryString["rdf"]!= null) //se viene passato il parametro rdf=1 carico un template che non punta a nessun file xslt e restituisce l'rdf pulito template = "template_data.xml"; if (Request.QueryString["vcard"]!= null) //se viene passato il parametro vcard=1 carico un template xml che punta al foglio di stile rubrica_vcard.xslt template = "template_vcard.xml";

27 if (Request.QueryString["xml"]!= null) //se viene passato il parametro xml=1 carico un template xml che punta al foglio di stile rubrica_toxml.xslt template = "template_xml.xml"; //se nessuno dei due precedenti è stato impostato carico il template di default che usa il foglio di stile rubrica.xslt che trasforma il documento RDF\XML in un documento XHTML string name = ""; string struttura = ""; string id_user = ""; //if (Request.QueryString["name"]!= null Request.QueryString["struttura"]!=null Request.QueryString["id_user"]!=null) if (Request.QueryString["name"]!= null && Request.QueryString["name"].ToString().Length >= 4) //se il parametro name contiene dei dati name = ""; if (Request.QueryString["name"]!= null) name = Request.QueryString["name"].ToString(); struttura = ""; if (Request.QueryString["struttura"]!= null) struttura = Request.QueryString["struttura"].ToString(); id_user = ""; if (Request.QueryString["id_user"]!= null) id_user = Request.QueryString["id_user"].ToString(); if (Request.QueryString["vcard"]!= null) Response.Clear(); Response.ContentType = "text/v-card"; Response.ContentEncoding = System.Text.Encoding.UTF32; //Response.ContentEncoding = System.Text.Encoding.i; XmlDocument doc = searchusers(name, "", ""); XslCompiledTransform myxsltransform = new XslCompiledTransform(); myxsltransform.load(server.mappath("rubrica_vcard.xslt").tostring()); XmlNodeReader reader = new XmlNodeReader(doc); myxsltransform.transform(reader, null, Response.OutputStream); Response.AppendHeader("Content-Disposition", "attachment;filename=" + name + ".vcf"); Response.Flush(); Response.End(); return; else Response.Clear(); Response.ContentType = "text/xml";//imposto il mimetype if (Request.QueryString["xml"]!= null) WriteRubrica(name, struttura, id_user, Response.OutputStream, OP_SEARCH_USERS_XML); else WriteRubrica(name, struttura, id_user, Response.OutputStream, OP_SEARCH_USERS);

28 Response.Flush(); Response.End(); return; else risposta_errore(); else risposta_errore(); public void WriteRubrica(string name, string struttura, string id_user, Stream stream, int type) //XmlTextWriter ijo = (XmlTextWriter)XmlTextWriter.Create(stream); XmlWriterSettings settings = new XmlWriterSettings(); settings.encoding = new UTF8Encoding(false); //settings.encoding = Encoding.GetEncoding("UTF-32");//imposto encoding del file xml settings.indent = true; settings.omitxmldeclaration = false; using (XmlWriter writer = XmlWriter.Create(stream, settings)) XmlDocument doc = new XmlDocument();//crea un documento xml if (type == OP_SEARCH_USERS_XML) doc = searchusers(name, struttura, id_user);//richiama il metodo searchusers che restituisce il documento RDF\XML XslCompiledTransform myxsltransform = new XslCompiledTransform(); myxsltransform.load(server.mappath("rubrica_toxml.xslt").tostring()); XmlNodeReader reader=new XmlNodeReader(doc); myxsltransform.transform(reader, writer); else if (type == OP_PARS_NOT_VALID) doc.load(server.mappath("template_empty.xml")); doc.writecontentto(writer); else if (type == OP_SEARCH_USERS) doc = searchusers(name, struttura, id_user);//richiama il metodo searchusers che restituisce il documento RDF\XML else if (type == OP_SEARCH_STRUTTURE) doc = getcontattistruttura(name); else if (type == OP_LIST_STRUTTURE) doc = getlistastrutture(); doc.writecontentto(writer);//scrive il documento al writer, che è lo stream di oupput dell'oggetto Response, cioè l'oggetto che risponde alla richiesta HTTP

29 Fogli di stile XSLT I fogli di stile sono usati per 3 scopi principali nell applicazione: Il file rubrica.xslt è usato per trasformare il documento RDF/XML in un documento XHTML Il file rubrica_toxml.xslt è usato per convertire da RDF/XML a XML Il file rubrica_vcard.xslt è usato per trasformare il documento RDF/XML in un file VCARD con estensione vcf. Il file rubrica_ateneo.xslt è usato per trasformare l ontologia rubrica_ateneo.owl in un documento XHTML leggibile da un browser per gli utenti finali Rubrica.xslt Il foglio di stile rubrica.xslt, trasforma il documento RDF/XML in un documento XHTML molto semplice che presenta la lista di utenti in cui per ognuno visualizza uno specchietto con le informazioni riguardo al ruolo e alla struttura di afferenza e la lista dei contatti. Questo foglio di stile disponibile all indirizzo è la modalità di default con cui viene trasformato l output su una richiesta al servizio web REST. Ovviamente questo foglio di stile è comunque disponibile per qualsiasi applicazione abbia un documento XML aderente alla ontologia definita. Il file con il codice XSLT è raggiungibile a questo indirizzo: Rubrica_toxml.xslt Questo foglio di stile trasforma il documento RDF originario in un documento analogo ma in formato XML. Questo nasce dall esigenza di avere, per l integrazione con il portale di Ateneo, la lista dei contatti in formato diverso da RDF, non supportato dal cms, dato che la porzione di codice XML generata dal servizio WEB deve essere inglobata in un documento XML più ampio generato run-time dal CMS. L intero documento XML viene poi a sua volta trasformato con dei fogli di stile lato server dal CMS. Nei fogli di stile caricati nel cms sarà presente la parte di codice necessaria alla trasformazione in XHTML definita nel file RUBRICA.XSLT. Il file rubrica_toxml.xslt è raggiungibile a questo indirizzo:

30 Rubrica_vcard.xslt Questo foglio di stile converte il documento XML\RDF in un file testuale aderente allo standard VCARD. Nel caso ci siano più utenti nel documento originario, il formato v-card consente di inserire più contatti accodando le schede v-card nel file. Il file rubrica_vcard.xslt è disponibile a questo indirizzo: Rubrica_ateneo.xslt Questo foglio di stile traduce il documento OWL in un documento XHTML, per renderlo leggibile agli utenti che devono consultare l ontologia. Ontologia Rubrica_ateneo.owl L ontologia della nostra applicazione si basa innanzitutto su un ontologia già esistente che viene importata, cioè l ontologia VCARD ( ). Questa ontologia descrive tutte le classi, le proprietà e le relazioni necessarie per descrivere le varie tipologie di contatti esistenti e le relative associazioni ad una persona. Abbiamo esteso questa ontologia introducendo delle proprietà e delle classi più aderenti al nostro sistema riguardanti un dipendente, definito dalla classe Employee e la sua afferenza ad una unità organizzativa del nostro Ateneo, definita dalla classe OrgUnit. In Figura 10 è mostrato il diagramma di classe per l ontologia:

31 Figura 10 - Diagramma classe ontologia Le proprietà di queste 2 classi sono rappresentate a questo indirizzo: Nella classe Employee è definita la proprietà isenrolledto. Questa proprietà definisce per il soggetto Employee, il predicato isenrolledto, cioè l afferenza all oggeto, cioè una unità organizzativa. Questa proprietà ha una cardinalità minima di una unità organizzativa, cioè un dipendente deve afferire almeno ad una struttura, e non esiste invece un limite superiore. Nella classe OrgUnit è presente la proprietà inversa di isenrolledto, cioè hasemployees, nella quale per il soggetto, cioè l unità organizzativa, vale il predicato hasemployees, cioè ha afferenza con l oggetto, cioè un dipendente. Anche in questo caso, una struttura deve avere almeno 1 dipendente afferente, mentre non c è limite massimo. Infine, per la classe Employee è stato definita una data properties id_user che non era definita nell ontologia vcard e che è un attributo specifico dell ontologia della nostra applicazione web. E stata inoltre aggiunta anche la proprietà matricola_csa che rappresenta la matricola del personale nel sistema di Carriere e Stipendi di Ateneo. Questo valore viene usato per istanziare l entità Employee. Sia matricola_csa che id_user sono due valori che identificano un utente. E stato scelto di esportarli entrambi, in quanto possono essere molto utili come chiave per l integrazione in vari sistemi, come per esempio per tutti i sistemi di Ateneo che usano la matricola come chiave univoca del dipendente.

PROGETTO RUBRICA PUBBLICA ATENEO

PROGETTO RUBRICA PUBBLICA ATENEO PROGETTO RUBRICA PUBBLICA ATENEO Progetto per l esame di Web 2.0. Prof. Andrea Perego Autori: Dante Attanasio Domenico Gaglioti 1 PROGETTO RUBRICA PUBBLICA ATENEO... 1 OBIETTIVI... 3 SITUAZIONE ATTUALE...

Dettagli

b) Dinamicità delle pagine e interattività d) Separazione del contenuto dalla forma di visualizzazione

b) Dinamicità delle pagine e interattività d) Separazione del contenuto dalla forma di visualizzazione Evoluzione del Web Direzioni di sviluppo del web a) Multimedialità b) Dinamicità delle pagine e interattività c) Accessibilità d) Separazione del contenuto dalla forma di visualizzazione e) Web semantico

Dettagli

Internet Architettura del www

Internet Architettura del www Internet Architettura del www Internet è una rete di computer. Il World Wide Web è l insieme di servizi che si basa sull architettura di internet. In una rete, ogni nodo (detto host) è connesso a tutti

Dettagli

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. INFORMATICA Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. APPLICAZIONI WEB L architettura di riferimento è quella ampiamente diffusa ed

Dettagli

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER L architettura CLIENT SERVER è l architettura standard dei sistemi di rete, dove i computer detti SERVER forniscono servizi, e computer detti CLIENT, richiedono

Dettagli

Esercitazione 8. Basi di dati e web

Esercitazione 8. Basi di dati e web Esercitazione 8 Basi di dati e web Rev. 1 Basi di dati - prof. Silvio Salza - a.a. 2014-2015 E8-1 Basi di dati e web Una modalità tipica di accesso alle basi di dati è tramite interfacce web Esiste una

Dettagli

Corso di Informatica. Prerequisiti. Modulo T3 B3 Programmazione lato server. Architettura client/server Conoscenze generali sui database

Corso di Informatica. Prerequisiti. Modulo T3 B3 Programmazione lato server. Architettura client/server Conoscenze generali sui database Corso di Informatica Modulo T3 B3 Programmazione lato server 1 Prerequisiti Architettura client/server Conoscenze generali sui database 2 1 Introduzione Lo scopo di questa Unità è descrivere gli strumenti

Dettagli

Concetti fondamentali dei database database Cos'è un database Principali database

Concetti fondamentali dei database database Cos'è un database Principali database Concetti fondamentali dei database Nella vita di tutti i giorni si ha la necessità di gestire e manipolare dati. Le operazioni possono essere molteplici: ricerca, aggregazione con altri e riorganizzazione

Dettagli

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment Obiettivi d esame PHP Developer Fundamentals on MySQL Environment 1.0 Ambiente di sviluppo 1.1 Web server e database MySQL Comprendere la definizione dei processi che si occupano di fornire i servizi web

Dettagli

Gli XML Web Service. Prof. Mauro Giacomini. Complementi di Informatica Medica 2008/2009 1

Gli XML Web Service. Prof. Mauro Giacomini. Complementi di Informatica Medica 2008/2009 1 Gli XML Web Service Prof. Mauro Giacomini Medica 2008/2009 1 Definizioni i i i Componente.NET che risponde a richieste HTTP formattate tramite la sintassi SOAP. Gestori HTTP che intercettano richieste

Dettagli

14 maggio 2010 Versione 1.0

14 maggio 2010 Versione 1.0 SOFTWARE PER LA GESTIONE DI UN SISTEMA PER LA RILEVAZIONE DELLA QUALITÀ PERCEPITA DAGLI UTENTI, NEI CONFRONTI DI SERVIZI RICHIESTI ALLA PUBBLICA AMMINISTRAZIONE, ATTRAVERSO L'UTILIZZO DI EMOTICON. 14 maggio

Dettagli

19. LA PROGRAMMAZIONE LATO SERVER

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

Dettagli

Il Web-Service SDMX dell ISTAT

Il Web-Service SDMX dell ISTAT Il Web-Service SDMX dell ISTAT Versione: 1.0.0 Data: 05/06/2014 Autore: Approvato da: Modifiche Versione Modifiche Autore Data Indice dei contenuti 1 Introduzione... 4 2 Creazione dell esempio d uso...

Dettagli

Analisi dei Requisiti

Analisi dei Requisiti Analisi dei Requisiti Pagina 1 di 16 Analisi dei Requisiti Indice 1 - INTRODUZIONE... 4 1.1 - OBIETTIVO DEL DOCUMENTO...4 1.2 - STRUTTURA DEL DOCUMENTO...4 1.3 - RIFERIMENTI...4 1.4 - STORIA DEL DOCUMENTO...4

Dettagli

Dispensa di database Access

Dispensa 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

Dettagli

HTML 1. HyperText Markup Language

HTML 1. HyperText Markup Language HTML 1 HyperText Markup Language Introduzione ad HTML Documenti HTML Tag di markup Formattazione del testo Collegamenti ipertestuali Immagini Tabelle Form in linea (moduli) Tecnologie di Sviluppo per il

Dettagli

ProgettAzione V anno Unità 3 - Architetture per applicazioni web Lezione: Esempio sviluppo applicazioni

ProgettAzione V anno Unità 3 - Architetture per applicazioni web Lezione: Esempio sviluppo applicazioni Unità 3 - Architetture per applicazioni web Lezione: Esempio sviluppo applicazioni Web service Hello world con Visual Studio 2012 Si tratta di un semplice esempio di web service, infatti come tutti I programmi

Dettagli

Il DBMS Oracle. Express Edition. Donatella Gubiani e Angelo Montanari

Il DBMS Oracle. Express Edition. Donatella Gubiani e Angelo Montanari Gubiani & Montanari Il DBMS Oracle 1 Il DBMS Oracle Express Edition Donatella Gubiani e Angelo Montanari Il DBMS Oracle Il DBMS Oracle Oracle 10g Express Edition Il DBMS Oracle (nelle sue versioni più

Dettagli

Servizi web in LabVIEW

Servizi web in LabVIEW Servizi web in LabVIEW Soluzioni possibili, come si utilizzano. 1 Soluzioni possibili WEB SERVER Dalla versione 5.1 di LabVIEW è possibile implementare un Web server che consente di operare da remoto sul

Dettagli

Enrico Fagnoni BOTK IN A NUTSHELL

Enrico Fagnoni <e.fagnoni@e-artspace.com> BOTK IN A NUTSHELL Enrico Fagnoni BOTK IN A NUTSHELL 20/01/2011 1 Business Ontology ToolKit Business Ontology Toolkit (BOTK) è un insieme estensibile di strumenti per realizzare applicazioni basate

Dettagli

Introduzione all elaborazione di database nel Web

Introduzione 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

Dettagli

Java Server Pages (JSP) JSP o Servlet? Java Server Pages (JSP) Java Server Pages Costituiscono un estensione della tecnologia delle servlet

Java Server Pages (JSP) JSP o Servlet? Java Server Pages (JSP) Java Server Pages Costituiscono un estensione della tecnologia delle servlet Java Server Pages (JSP) Introduzione alle JSP Linguaggio di scripting lato server HTML-embedded Una pagina JSP contiene sia HTML sia codice Il client effettua la richiesta per la pagina JSP La parte HTML

Dettagli

Integrazione del progetto CART regione Toscana nel software di CCE K2

Integrazione del progetto CART regione Toscana nel software di CCE K2 Integrazione del progetto CART regione Toscana nel software di CCE K2 Data Creazione 04/12/2012 Versione 1.0 Autore Alberto Bruno Stato documento Revisioni 1 Sommario 1 - Introduzione... 3 2 - Attivazione

Dettagli

Web Programming Specifiche dei progetti

Web Programming Specifiche dei progetti Web Programming Specifiche dei progetti Paolo Milazzo Anno Accademico 2010/2011 Argomenti trattati nel corso Nel corso di Web Programming sono state descritti i seguenti linguaggi (e tecnologie): HTML

Dettagli

DATABASE. Progettare una base di dati. Database fisico e database logico

DATABASE. Progettare una base di dati. Database fisico e database logico DATABASE Progettare una base di dati Database fisico e database logico Un DB è una collezione di tabelle, le cui proprietà sono specificate dai metadati Attraverso le operazioni sulle tabelle è possibile

Dettagli

Siti web centrati sui dati Architettura MVC-2: i JavaBeans

Siti 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

Dettagli

Blue s One CTI Enterpris Blue s Attendant Pro/Enterprise SDK - plugin creating tools

Blue s One CTI Enterpris Blue s Attendant Pro/Enterprise SDK - plugin creating tools Blue s One CTI Enterpris Blue s Attendant Pro/Enterprise SDK - plugin creating tools rel. 1.2 ITA 01-06-2012 Introduzione alla creazione del plug-in Questo documento ha lo scopo di illustrare come creare

Dettagli

Il Protocollo HTTP e la programmazione di estensioni Web

Il Protocollo HTTP e la programmazione di estensioni Web Il Protocollo HTTP e la programmazione di estensioni Web 1 Il protocollo HTTP È il protocollo standard inizialmente ramite il quale i server Web rispondono alle richieste dei client (prevalentemente browser);

Dettagli

Andrea Maioli Instant Developer: guida all uso

Andrea Maioli Instant Developer: guida all uso Andrea Maioli Instant Developer: guida all uso 11.8 L editor di temi grafici A partire dalla versione 11.5, Instant Developer contiene uno strumento di aiuto alla personalizzazione dei temi grafici e degli

Dettagli

PHP e MySQL. Guida scaricata da www.webstyling.it

PHP e MySQL. Guida scaricata da www.webstyling.it Home -> Manuali & Tutorials -> Guida PHP PHP e MySQL E' possibile realizzare delle applicazioni in php appoggiandosi ad un database, quale ad esempio MySQL. Con le novità introdotte ai tempi di MySQL 4.1

Dettagli

MANUALE DI INTEGRAZIONE API SMSSmart (v 2.2)

MANUALE DI INTEGRAZIONE API SMSSmart (v 2.2) MANUALE DI INTEGRAZIONE API SMSSmart (v 2.2) Questo documento contiene le informazioni necessarie per l interfacciamento con il gateway SMS di SMSSmart. Il suo utilizzo è riservato ai clienti che abbiano

Dettagli

Primi passi con Jamio Composer. Dall idea applicativa alla soluzione in pochi minuti

Primi passi con Jamio Composer. Dall idea applicativa alla soluzione in pochi minuti Primi passi con Jamio Composer Dall idea applicativa alla soluzione in pochi minuti Comporre una nuova soluzione applicativa Jamio Composer è l ambiente di modellazione della piattaforma Jamio. Le soluzioni

Dettagli

INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO

INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO Basi di dati: Microsoft Access INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO Database e DBMS Il termine database (banca dati, base di dati) indica un archivio, strutturato in modo tale

Dettagli

Sviluppo Applicazioni Mobile Lezione 12 JDBC. Dr. Paolo Casoto, Ph.D - 2012

Sviluppo 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

LABORATORIO. 2 Lezioni su Basi di Dati Contatti:

LABORATORIO. 2 Lezioni su Basi di Dati Contatti: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE BIOLOGICHE Gennaro Cordasco e Rosario De Chiara {cordasco,dechiara}@dia.unisa.it Dipartimento di Informatica ed Applicazioni R.M. Capocelli Laboratorio

Dettagli

maildocpro Manuale Installazione

maildocpro Manuale Installazione maildocpro Manuale Installazione versione 3.4 maildocpro Manuale Installazione - Versione 3.4 1 Indice Indice... 2 Creazione database... 3 Database: MAILDOCPRO... 3 Database: SILOGONWEB... 5 Configurazione

Dettagli

DOCFINDERWEB SERVICE E CLIENT

DOCFINDERWEB SERVICE E CLIENT DOCFINDERWEB SERVICE E CLIENT Specifiche tecniche di interfacciamento al Web Service esposto da DocPortal Versione : 1 Data : 10/03/2014 Redatto da: Approvato da: RICCARDO ROMAGNOLI CLAUDIO CAPRARA Categoria:

Dettagli

APPENDICE B Le Active Server Page

APPENDICE B Le Active Server Page APPENDICE B Le Active Server Page B.1 Introduzione ad ASP La programmazione web è nata con la Common Gateway Interface. L interfaccia CGI tuttavia presenta dei limiti: ad esempio anche per semplici elaborazioni

Dettagli

RenderCAD S.r.l. Formazione

RenderCAD S.r.l. Formazione Corso Descrizione La durata di questo corso è complessivamente di ore 150 di cui 85 ore di teoria, 35 ore di pratica e 30 ore di stage in azienda. Nel nostro territorio esiste una richiesta di tale figura,

Dettagli

Seminario di Sistemi Distribuiti: RPC su SOAP

Seminario di Sistemi Distribuiti: RPC su SOAP Corso di Sistemi Distribuiti Prof. S. Balsamo Seminario di Sistemi Distribuiti: RPC su SOAP [ 777775] 1 INTRODUZIONE 3 2 RPC 3 3 SOAP (SIMPLE OBJECT ACCESS PROTOCOL) 3 4 UTILIZZO DI SOAP COME PROTOCOLLO

Dettagli

Questo punto richiederebbe uno sviluppo molto articolato che però a mio avviso va al di là delle possibilità fornite al candidato dal tempo a disposizione. Mi limiterò quindi ad indicare dei criteri di

Dettagli

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino Integration Services Project SQL Server 2005 Integration Services Permette di gestire tutti i processi di ETL Basato sui progetti di Business Intelligence di tipo Integration services Project SQL Server

Dettagli

Talento LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) L'UTILIZZO DI ALTRI SERVIZI INTERNET. In questa lezione imparerete a:

Talento LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) L'UTILIZZO DI ALTRI SERVIZI INTERNET. In questa lezione imparerete a: Lab 4.1 Utilizzare FTP (File Tranfer Protocol) LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) In questa lezione imparerete a: Utilizzare altri servizi Internet, Collegarsi al servizio Telnet, Accedere

Dettagli

Personalizzazione Stampe

Personalizzazione Stampe Personalizzazione Stampe Validità: Dicembre 2013 Questa pubblicazione è puramente informativa. 24 ORE SOFTWARE non offre alcuna garanzia, esplicita od implicita, sul contenuto. I marchi e le denominazioni

Dettagli

CdL MAGISTRALE in INFORMATICA

CdL MAGISTRALE in INFORMATICA 05/11/14 CdL MAGISTRALE in INFORMATICA A.A. 2014-2015 corso di SISTEMI DISTRIBUITI 7. I processi : il naming Prof. S.Pizzutilo Il naming dei processi Nome = stringa di bit o di caratteri utilizzata per

Dettagli

JDBC versione base. Le classi/interfacce principali di JDBC

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

Dettagli

Nuvola It Data Space

Nuvola It Data Space MANUALE UTENTE INDICE 1. Descrizione servizio... 3 1.1. Informazioni sul servizio di Telecom Italia... 3 1.2. Ruoli e Autenticazione per il servizio di Telecom Italia... 3 1.3. Strumenti... 5 1.4. Documentazione...

Dettagli

Master in Evidence-Based Practice e Metodologia della Ricerca Clinico Assistenziale Mita Parenti. Introduzione ai Database Relazionali

Master in Evidence-Based Practice e Metodologia della Ricerca Clinico Assistenziale Mita Parenti. Introduzione ai Database Relazionali Master in Evidence-Based Practice e Metodologia della Ricerca Clinico Assistenziale Mita Parenti Introduzione ai Database Relazionali Obiettivo e Struttura del corso Comprendere i concetti e gli aspetti

Dettagli

Capitolo 4 Pianificazione e Sviluppo di Web Part

Capitolo 4 Pianificazione e Sviluppo di Web Part Capitolo 4 Pianificazione e Sviluppo di Web Part Questo capitolo mostra come usare Microsoft Office XP Developer per personalizzare Microsoft SharePoint Portal Server 2001. Spiega come creare, aggiungere,

Dettagli

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito)

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito) Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito) Le seguenti istruzioni sono relative all installazione di IBM SPSS Modeler Text Analytics versione 15 mediante un licenza

Dettagli

Manuale per la configurazione di AziendaSoft in rete

Manuale per la configurazione di AziendaSoft in rete Manuale per la configurazione di AziendaSoft in rete Data del manuale: 7/5/2013 Aggiornamento del manuale: 2.0 del 10/2/2014 Immagini tratte da Windows 7 Versione di AziendaSoft 7 Sommario 1. Premessa...

Dettagli

New Fire System. Manuale di istruzioni (Rev. 1.2)

New Fire System. Manuale di istruzioni (Rev. 1.2) New Fire System Manuale di istruzioni (Rev. 1.2) Indice 1. Accesso al sistema di Gestione Docente 3 Gestione dei moduli: Corsi Integrati 4 Logout 7 2. Avvisi Urgenti - NEWS 8 3. Orario delle lezioni 10

Dettagli

Come funziona internet

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

Dettagli

Uso dei data bases con PHP. Prof. Francesco Accaino Iis Altiero Spinelli Sesto Sa Giovanni

Uso dei data bases con PHP. Prof. Francesco Accaino Iis Altiero Spinelli Sesto Sa Giovanni Uso dei data bases con PHP Prof. Francesco Accaino Iis Altiero Spinelli Sesto Sa Giovanni MDAC MDAC è l acronimo di Microsoft Data Access Component e fa parte della tecnologia Microsoft denominata Universal

Dettagli

Una minaccia dovuta all uso dell SNMP su WLAN

Una minaccia dovuta all uso dell SNMP su WLAN Una minaccia dovuta all uso dell SNMP su WLAN Gianluigi Me, gianluigi@wi-fiforum.com Traduzione a cura di Paolo Spagnoletti Introduzione Gli attacchi al protocollo WEP compromettono la confidenzialità

Dettagli

Tecnologie per il Web. Il web: Architettura HTTP HTTP. SSL: Secure Socket Layer

Tecnologie 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

Dettagli

Il Web-Service SDMX dell ISTAT

Il Web-Service SDMX dell ISTAT Il Web-Service SDMX dell ISTAT Versione: 1.0.0 Data: 26/06/2014 Autore: Approvato da: Modifiche Versione Modifiche Autore Data Indice dei contenuti 1 Introduzione... 4 2 Esempio d uso... 5 2.1 Riferimento

Dettagli

Protocolli e architetture per WIS

Protocolli 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

Dettagli

SOMMARIO. 1 ISTRUZIONI DI BASE. 2 CONFIGURAZIONE. 7 STORICO. 9 EDITOR HTML. 10 GESTIONE ISCRIZIONI E CANCELLAZIONI. 11 GESTIONE MAILING LIST.

SOMMARIO. 1 ISTRUZIONI DI BASE. 2 CONFIGURAZIONE. 7 STORICO. 9 EDITOR HTML. 10 GESTIONE ISCRIZIONI E CANCELLAZIONI. 11 GESTIONE MAILING LIST. INDICE 1) SOMMARIO... 1 2) ISTRUZIONI DI BASE... 2 3) CONFIGURAZIONE... 7 4) STORICO... 9 5) EDITOR HTML... 10 6) GESTIONE ISCRIZIONI E CANCELLAZIONI... 11 7) GESTIONE MAILING LIST... 12 8) E-MAIL MARKETING...

Dettagli

Tecnologie e Programmazione Web

Tecnologie e Programmazione Web Presentazione 1 Tecnologie e Programmazione Web Html, JavaScript e PHP RgLUG Ragusa Linux Users Group SOftware LIbero RAgusa http://www.solira.org - Nunzio Brugaletta (ennebi) - Reti 2 Scopi di una rete

Dettagli

Configurazione Stampe

Configurazione Stampe Configurazione Stampe Validità: Febbraio 2013 Questa pubblicazione è puramente informativa. SISECO non offre alcuna garanzia, esplicita od implicita, sul contenuto. I marchi e le denominazioni sono di

Dettagli

Siti interattivi e dinamici. in poche pagine

Siti interattivi e dinamici. in poche pagine Siti interattivi e dinamici in poche pagine 1 Siti Web interattivi Pagine Web codificate esclusivamente per mezzo dell HTML non permettono alcun tipo di interazione con l utente, se non quella rappresentata

Dettagli

La ricerca delle informazioni nei siti web di Ateneo con Google Search Appliance Progetto, implementazione e sviluppi

La ricerca delle informazioni nei siti web di Ateneo con Google Search Appliance Progetto, implementazione e sviluppi La ricerca delle informazioni nei siti web di Ateneo con Google Search Appliance Progetto, implementazione e sviluppi Il progetto del sistema di ricerca delle informazioni L'esigenza del sistema di ricerca

Dettagli

Introduzione ai Sistemi di Gestione di Basi di Dati XML

Introduzione ai Sistemi di Gestione di Basi di Dati XML Introduzione ai Sistemi di Gestione di Basi di Dati Introduzione ai Sistemi di Gestione di Basi di Dati Obiettivi Memorizzare ed estrarre documenti da RDBMS. Trasformare dati tabellari in dati e viceversa.

Dettagli

VERIS. Manuale Utente - Verifica Emissibilità, Inquiry Revoche - - Installazione e gestione -

VERIS. Manuale Utente - Verifica Emissibilità, Inquiry Revoche - - Installazione e gestione - Manuale Utente - Verifica Emissibilità, Inquiry Revoche - - Installazione e gestione - Indice 1. Scopo e campo di applicazione...3 2. Riferimenti...3 3. Definizioni e acronimi...3 4. Introduzione...3 5.

Dettagli

RELAZIONE DI PROGETTO DELL ESAME STRUMENTI PER APPLICAZIONI WEB

RELAZIONE DI PROGETTO DELL ESAME STRUMENTI PER APPLICAZIONI WEB RELAZIONE DI PROGETTO DELL ESAME STRUMENTI PER APPLICAZIONI WEB Studente: Nigro Carlo N.mat.: 145559 Tema: Negozio virtuale Nome sito: INFOTECH Url: http://spaw.ce.unipr.it/progetti/infotech Per il progetto

Dettagli

Architettura MVC-2: i JavaBeans

Architettura 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

Dettagli

Corso di Informatica Modulo T3 B1 Programmazione web

Corso di Informatica Modulo T3 B1 Programmazione web Corso di Informatica Modulo T3 B1 Programmazione web 1 Prerequisiti Architettura client/server Elementi del linguaggio HTML web server SQL server Concetti generali sulle basi di dati 2 1 Introduzione Lo

Dettagli

PC/CSA. Manuale di utilizzo del PC/CSA Specifiche tecniche per lo scarico automatico dei dati dei pagamenti delle violazioni al Codice della Strada

PC/CSA. Manuale di utilizzo del PC/CSA Specifiche tecniche per lo scarico automatico dei dati dei pagamenti delle violazioni al Codice della Strada PC/CSA Manuale di utilizzo del PC/CSA Specifiche tecniche per lo scarico automatico dei dati dei pagamenti delle violazioni al Codice della Strada PC/CSA-SPF-1.0 Versione del 18.04.2001 SOMMARIO 1 INTRODUZIONE

Dettagli

Access. P a r t e p r i m a

Access. P a r t e p r i m a Access P a r t e p r i m a 1 Esempio di gestione di database con MS Access 2 Cosa è Access? Access e un DBMS che permette di progettare e utilizzare DB relazionali Un DB Access e basato sui concetti di

Dettagli

COS È? un estensione gratuita del browser Firefox

COS È? un estensione gratuita del browser Firefox COS È? un estensione gratuita del browser Firefox un programma per la gestione di bibliografie: dalla raccolta dei riferimenti alla formattazione delle citazioni. 2 COSA FA? RACCOGLIE dati bibliografici,

Dettagli

LEZIONE 3. Il pannello di amministrazione di Drupal, configurazione del sito

LEZIONE 3. Il pannello di amministrazione di Drupal, configurazione del sito LEZIONE 3 Il pannello di amministrazione di Drupal, configurazione del sito Figura 12 pannello di controllo di Drupal il back-end Come già descritto nella lezione precedente il pannello di amministrazione

Dettagli

Esame Basi di Dati. 21 Gennaio 2013

Esame Basi di Dati. 21 Gennaio 2013 Esame Basi di Dati 21 Gennaio 2013 Matricola Prog. (Sì/No) Cognome Nome Istruzioni I voti verranno resi disponibili su AlmaEsami. Chi vorrà rifiutare il voto dovrà comunicarlo tassativamente 5 giorni dalla

Dettagli

Questo modello di programmazione può essere utilizzato sia nelle:

Questo modello di programmazione può essere utilizzato sia nelle: Accesso a database Access con WWF Premessa Con l acronimo WWF s intende Window s W orkflow Foundation, una novità di.net Framework 3.0 caratterizzata da un modello di programmazione basato su Workflow

Dettagli

Risultati dell esame degli oggetti scaricati da BackDoor.Flashback sui Mac infetti

Risultati dell esame degli oggetti scaricati da BackDoor.Flashback sui Mac infetti Risultati dell esame degli oggetti scaricati da BackDoor.Flashback sui Mac infetti Il 27 aprile 2012 Il team della società Doctor Web continua a esaminare la prima nella storia botnet di vasta scala creata

Dettagli

OnLine Italiano Manuale dell utente

OnLine Italiano Manuale dell utente OnLine Italiano Manuale dell utente Versione documentazione: ITA2005-a Informazioni sul Copyright Il software descritto in questo documento e tutti i dati inclusi nel pacchetto di installazione sono forniti

Dettagli

Esercizi di JavaScript

Esercizi di JavaScript Esercizi di JavaScript JavaScript JavaScript é un linguaggio di programmazione interpretato e leggero, creato dalla Netscape. E' presente a patire da Netscape 2 in tutti i browser ed é dunque il linguaggio

Dettagli

Software di gestione della stampante

Software di gestione della stampante Questo argomento include le seguenti sezioni: "Uso del software CentreWare" a pagina 3-11 "Uso delle funzioni di gestione della stampante" a pagina 3-13 Uso del software CentreWare CentreWare Internet

Dettagli

SVILUPPO ONTOLOGIE PER LA GESTIONE DOCUMENTALE E LORO INTEGRAZIONE ALL INTERNO DI UNA PIATTAFORMA WEB

SVILUPPO ONTOLOGIE PER LA GESTIONE DOCUMENTALE E LORO INTEGRAZIONE ALL INTERNO DI UNA PIATTAFORMA WEB Facoltà di Ingegneria Corso di Laurea Specialistica in Ingegneria Informatica SVILUPPO ONTOLOGIE PER LA GESTIONE DOCUMENTALE E LORO INTEGRAZIONE ALL INTERNO DI UNA PIATTAFORMA WEB Relatore Chiarissimo

Dettagli

Il Registro dei Servizi di OpenSPCoop i. Il Registro dei Servizi di OpenSPCoop

Il Registro dei Servizi di OpenSPCoop i. Il Registro dei Servizi di OpenSPCoop i Il Registro dei Servizi di OpenSPCoop ii Copyright 2005-2011 Link.it srl iii Indice 1 Introduzione 1 2 Visualizzazione del registro dei servizi HTTP 1 3 Visualizzazione del registro dei servizi UDDI

Dettagli

La Document Orientation. Come implementare un interfaccia

La Document Orientation. Come implementare un interfaccia La Document Orientation Come implementare un interfaccia Per eliminare l implementazione di una interfaccia da parte di una classe o documento, occorre tirarla su di esso tenendo premuto il tasto ctrl.

Dettagli

corso di Access MICROSOFT ACCESS Docente: Andrea Mereu Università degli studi di Cagliari 16 aprile 9 maggio 2012

corso di Access MICROSOFT ACCESS Docente: Andrea Mereu Università degli studi di Cagliari 16 aprile 9 maggio 2012 1 MICROSOFT ACCESS 1 Docente: Andrea Mereu Università degli studi di Cagliari 16 aprile 9 maggio 2012 Che cos'è Access? 2 Access è un'applicazione database (DBMS), cioè un programma che serve a gestire

Dettagli

PHP e Structured Query Language

PHP e Structured Query Language Esercitazioni del corso di Tecnologie per la Comunicazione Aziendale PHP e Structured Query Language Marco Loregian loregian@disco.unimib.it www.siti.disco.unimib.it/didattica/tca2008 Interrogazioni (ripasso)

Dettagli

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4) Architettura del WWW World Wide Web Sintesi dei livelli di rete Livelli di trasporto e inferiori (Livelli 1-4) - Connessione fisica - Trasmissione dei pacchetti ( IP ) - Affidabilità della comunicazione

Dettagli

Corso di Griglie e Sistemi di Elaborazione Ubiqui. Esercitazione su Globus Toolkit 2: LDAP, MDS

Corso di Griglie e Sistemi di Elaborazione Ubiqui. Esercitazione su Globus Toolkit 2: LDAP, MDS Università degli Studi della Calabria Corso di Laurea Specialistica in Ingegneria Informatica A.A. 2003/2004 Corso di Griglie e Sistemi di Elaborazione Ubiqui Esercitazione su Globus Toolkit 2: LDAP, MDS

Dettagli

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (utente singolo)

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (utente singolo) Istruzioni di installazione di IBM SPSS Modeler Text Analytics (utente singolo) Le seguenti istruzioni sono relative all installazione di IBM SPSS Modeler Text Analytics versione 15 mediante un licenza

Dettagli

SCP: SCHEDULER LAYER. a cura di. Alberto Boccato

SCP: SCHEDULER LAYER. a cura di. Alberto Boccato SCP: SCHEDULER LAYER a cura di Alberto Boccato PREMESSA: Negli ultimi tre anni la nostra scuola ha portato avanti un progetto al quale ho partecipato chiamato SCP (Scuola di Calcolo Parallelo). Di fatto

Dettagli

Siti web centrati sui dati (Data-centric web applications)

Siti 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

Dettagli

WEBsfa: l automazione della forza vendita via Web

WEBsfa: l automazione della forza vendita via Web WEBsfa: l automazione della forza vendita via Web White Paper 1 Gennaio 2005 White Paper Pag. 1 1/1/2005 L automazione della Forza Vendita Le aziende commerciali che che sviluppano e alimentano il proprio

Dettagli

ALLEGATO C STANDARD TECNICI DELLA BORSA CONTINUA NAZIONALE DEL LAVORO

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

Dettagli

Nuovo server E-Shop: Guida alla installazione di Microsoft SQL Server

Nuovo server E-Shop: Guida alla installazione di Microsoft SQL Server Nuovo server E-Shop: Guida alla installazione di Microsoft SQL Server La prima cosa da fare è installare SQL sul pc: se si vuole utilizzare SQL Server 2012 SP1 versione Express (gratuita), il link attuale

Dettagli

Simulazione seconda prova Esame di Stato Sito Web - Gestione di un centro agroalimentare all ingrosso (Parte seconda)

Simulazione seconda prova Esame di Stato Sito Web - Gestione di un centro agroalimentare all ingrosso (Parte seconda) Simulazione seconda prova Esame di Stato Sito Web - Gestione di un centro agroalimentare all ingrosso (Parte seconda) Il candidato realizzi inoltre il sito Internet del centro che deve permettere, tra

Dettagli

Sistemi avanzati di gestione dei Sistemi Informativi

Sistemi avanzati di gestione dei Sistemi Informativi Esperti nella gestione dei sistemi informativi e tecnologie informatiche Sistemi avanzati di gestione dei Sistemi Informativi Docente: Email: Sito: Eduard Roccatello eduard@roccatello.it http://www.roccatello.it/teaching/gsi/

Dettagli

TFR On Line PREMESSA

TFR On Line PREMESSA PREMESSA Argo TFR on Line è un applicazione, finalizzata alla gestione del trattamento di fine rapporto, progettata e realizzata per operare sul WEB utilizzando la rete INTERNET pubblica ed il BROWSER

Dettagli

Architetture Web. parte 1. Programmazione in Ambienti Distribuiti A.A. 2003-04

Architetture Web. parte 1. Programmazione in Ambienti Distribuiti A.A. 2003-04 Architetture Web parte 1 Programmazione in Ambienti Distribuiti A.A. 2003-04 Architetture Web (1) Modello a tre livelli in cui le interazioni tra livello presentazione e livello applicazione sono mediate

Dettagli

Progetto Automi e Linguaggi Parser svliluppato con JLex e cup

Progetto Automi e Linguaggi Parser svliluppato con JLex e cup Progetto Automi e Linguaggi Parser svliluppato con JLex e cup Sviluppato da Santoro Carlo Maurizio Matricola:0108/528 Sviluppo terminato il: 18/06/06 TRACCIA DEL PROGETTO Si costruisca, utilizzando la

Dettagli

SQL Server 2005. Integration Services. SQL Server 2005: ETL - 1. Integration Services Project

SQL Server 2005. Integration Services. SQL Server 2005: ETL - 1. Integration Services Project atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and data mining group, SQL Server 2005 Integration Services SQL Server 2005:

Dettagli

Descrizione dettagliata dell ambiente Access 2007

Descrizione dettagliata dell ambiente Access 2007 01 Descrizione dettagliata dell ambiente Access 2007 Premessa Premettiamo da subito che Microsoft Access risulta essere uno degli applicativi della famiglia di Microsoft Office con una curva di apprendimento

Dettagli

Le Reti Informatiche

Le Reti Informatiche Le Reti Informatiche modulo 10 Prof. Salvatore Rosta www.byteman.it s.rosta@byteman.it 1 Nomenclatura: 1 La rappresentazione di uno schema richiede una serie di abbreviazioni per i vari componenti. Seguiremo

Dettagli

LABORATORIO PER IL DESIGN DELLE INTERFACCE PEGORARO ALESSANDRO CASSERO.IT MANUALE DI AGGIORNAMENTO, MANUTENZIONE E USO DEL SITO

LABORATORIO PER IL DESIGN DELLE INTERFACCE PEGORARO ALESSANDRO CASSERO.IT MANUALE DI AGGIORNAMENTO, MANUTENZIONE E USO DEL SITO CASSERO.IT MANUALE DI AGGIORNAMENTO, MANUTENZIONE E USO DEL SITO 1 Installazione e requisiti per il corretto funzionamento del sito: L istallazione è possibile sui più diffusi sistemi operativi. Il pacchetto

Dettagli