SlideShare a Scribd company logo
1 of 47
-63500160020<br />Università degli Studi di Trieste<br />Facoltà di Ingegneria<br />Corso di Laurea Specialistica in Ingegneria Informatica<br />Anno Accademico 2009/2010<br />Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici<br />Laureando:Luca Gregoretti<br />Relatore:Chiar.mo prof. Maurizio FERMEGLIA<br />Sommario TOC  quot;
1-3quot;
    1 Introduzione: PAGEREF _Toc288639339  42 Stato dell’arte PAGEREF _Toc288639340  62.1 Software per gestione riferimenti bibliografici PAGEREF _Toc288639341  62.1.1 Software per la trasformazione dei formati PAGEREF _Toc288639342  62.1.2 Sistemi per la gestione dei riferimenti bibliografici PAGEREF _Toc288639343  62.1.3 Sistema U-Gov PAGEREF _Toc288639344  102.2 Descrizione dei formati PAGEREF _Toc288639345  122.2.1 Formato BibTex PAGEREF _Toc288639346  132.2.2 Formato ISI PAGEREF _Toc288639347  142.2.3 Formato RIS PAGEREF _Toc288639348  162.2.4 Differenze con formato di U-Gov PAGEREF _Toc288639349  173 Analisi del problema PAGEREF _Toc288639350  233.1 Requisiti del sistema PAGEREF _Toc288639351  233.2 Struttura già esistente PAGEREF _Toc288639352  244 Progettazione del Middleware PAGEREF _Toc288639353  284.1 Definizione della struttura interna del Middleware PAGEREF _Toc288639354  284.2 Progettazione delle interfacce PAGEREF _Toc288639355  305 Riprogettazione del database PAGEREF _Toc288639356  345.1 Modifica struttura fisica PAGEREF _Toc288639357  345.2 Progettazione stored procedure PAGEREF _Toc288639358  356 Interfaccia del progetto PAGEREF _Toc288639359  366.1 Interfaccia principale PAGEREF _Toc288639360  366.2 Interfaccia controllo per immissione dati nel database PAGEREF _Toc288639361  377 Esempio di utilizzo PAGEREF _Toc288639362  398 Conclusioni PAGEREF _Toc288639363  44Appendice PAGEREF _Toc288639364  46Bibliografia: PAGEREF _Toc288639365  47<br />1 Introduzione:<br />I riferimenti bibliografici sono tutte le informazioni riguardanti una determinata pubblicazione quale ad esempio il titolo, gli autori, il nome della rivista su cui è edito.<br />Lo scopo di questa tesi è stata la progettazione e l’implementazione di una piattaforma middleware che permettesse la gestione automatica dei riferimenti bibliografici riguardanti le pubblicazioni a cui ha partecipato personale della facoltà.<br />È stato sviluppato per automatizzare le operazioni di inserimento dei riferimenti data la mancanza di software specifico preesistente.<br />Per raggiungere lo scopo dell’elaborato si sono definiti i seguenti obiettivi secondari:<br />O1 Studio dello stato dell’arte dei programmi di reference manager e i formati: verificare lo stato dell’arte dei reference manager per comprendere quali formati importano ed esportano e la descrizione di alcuni di essi;<br />O2 Analisi del problema: comprendere tutti i requisiti e studiare la struttura già esistente;<br />O3 Progettazione del sistema: trovare la soluzione più adatta al problema e definire una struttura del sistema;<br />O4 Implementazione: sviluppare tutto il codice necessario per il suo funzionamento e apportare, se necessario, modifiche ai sistemi già esistenti.<br />Il software utilizzato per creare il tutto è stato il seguente:<br />Microsoft Windows Server 2008: sistema operativo del server,<br />VMWare Workstation: per emulare il sistema operativo del server,<br />Microsoft Visual Studio 2008: per la realizzazione del sistema richiesta dal committente,<br />Microsoft SQL Server 2008: DBMS in cui è stato creato il database già esistente,<br />Microsoft Visio 2007: per la creazione di tutti i diagrammi presenti.<br />Nel capitolo 2 verranno illustrati alcuni software per la gestione di riferimenti bibliografici ponendo l’attenzione ai formati che possono importare o esportare, per finire con la descrizione di alcuni di essi.<br />Nel capitolo 3 saranno definiti i requisiti e analizzata la struttura già esistente.<br />Nel capitolo 4 si procederà alla descrizione della struttura interna del middleware e alla definizione di tutte le interfacce necessarie per il raggiungimento dell’obiettivo prefissato.<br />Nel capitolo 5 verranno descritte le modifiche che saranno necessarie al database già esistente.<br />Nel capitolo 6 saranno spiegate le interfacce utente del sistema.<br />Nel capitolo 7 si mostrerà un esempio di utilizzo del software creato.<br />2 Stato dell’arte<br />In questo capitolo verranno illustrati alcuni software per la gestione di riferimenti bibliografici ponendo l’attenzione ai formati che possono importare o esportare. Successivamente alcuni formati verranno descritti più in dettaglio visto che serviranno nel capitolo 5 per la progettazione del sistema.<br />2.1 Software per gestione riferimenti bibliografici<br />Oggi sono disponibili database bibliografici, per esempio Scopus o WOS, dove è possibile esportare alcuni riferimenti interessanti per essere salvati o citate in pubblicazioni.<br />Vista la grande varietà di formati disponibili si sono sviluppati due tipi di applicazioni:<br />Programmi che trasformano da un formato in un altro;<br />Programmi che implementano una vera e propria gestione dei riferimenti.<br />2.1.1 Software per la trasformazione dei formati<br />Questi software sono stati sviluppati per dare la possibilità di convertire i formati bibliografici in altri che possano essere importati dove servono.<br />2.1.2 Sistemi per la gestione dei riferimenti bibliografici<br />I reference manager consistono in un database dove vengono salvati tutti i riferimenti e possono essere organizzati. Alcuni possono integrarsi con word processors.<br />Possono essere di due tipo:<br />Il primo web-based accessibile utilizzando un qualsiasi browser;<br />Il secondo un’applicazione installata su un computer.<br />Di seguito viene inserita una tabella per mostrare alcuni reference manager.<br />SoftwareSviluppato daCosto (USD)Open sourceLicenza2collabElsevierGratisNoProprietariaAigaionAigaion developersGratisSiGPLBebopALaRI InstituteGratisSiBSDBibDeskBibDesk developersGratisSiBSDBiblioscapeCG InformationUS$79-299NoProprietariaBibSonomyUniversity of KasselGratisNoProprietariaBibusBibus developersGratisSiGPLBookendsSonny SoftwareUS$99NoProprietariaCitaviSwiss Academic SoftwareUS$111-231 / Gratis per progetto fino a 100 riferimentiNoProprietariaCiteULikeOversity LimitedGratisNoProprietariaConnoteaNature Publishing GroupGratisSiGPLEndNoteThomson ReutersUS$299.95NoProprietariaJabRefJabRef developersGratisSiGPLJumper 2.0Jumper NetworksGratisSiGPLKBibTeXKBibTeX developersGratisSiGPLMendeleyMendeleyUS$4.99-9.99 per month / Gratis quot;
Earthquot;
 accountNoProprietaria(OS API clients exist)PapersMekentosjUS$42NoProprietariaPDF StacksPDF StacksUS$39NoProprietariaPybliographerpybliographer developersGratisSiGPLQiqqaQiqqaGratisNoProprietariarefbaserefbase developersGratisSiGPLRefDBrefdb developersGratisSiGPLReference ManagerThomson ReutersUS$239.95NoProprietariaReferencerReferencer developersGratisSiGPLRefWorksRefWorksUS$100 per yearNoProprietariaScholar's AidScholar's Aid, Inc.US$149 / Gratis Lite versionNoProprietariaSenteThird Street Software, Inc.US$129.95NoProprietariaWikindxMark GrimshawGratisSiGPLWizFolioWizPatentUS$25 / Gratis Basic versionNoProprietariaZoteroCenter for History and New Media at GMUGratisSiGPL<br />In questa tesi è più interessante approfondire in quali formati i reference manager sopra indicati possono importare i riferimenti.<br />SoftwareBibTeXCopacCSAEndnote/Refer/BibIXISIMedlineMODS XMLOvidPubMedRISSciFinder2collabNoNoNoNoNoNoNoNoNoSiNoAigaionSiNoNoNoNoNoNoNoNoSiNoBebopSiNoNoNoNoNoNoNoNoNoNoBibDeskSiSiNoSiSiSiSiNoSiSiSiBiblioscapeSiSiSiSiSiSiNoSiSiSiSiBibSonomySiNoNoSiNoNoNoNoNoNoNoBibusSiNoNoSiSiSiNoNoNoSiNoBookendsSiSiSiSiSiSiNoSiSiSiSiCitaviSiSiSiSiSiSiSiSiSiSiSiCiteULikeSiNoNoNoNoNoNoNoNoSiNoConnoteaSiNoNoSiSiNoSiNoNoSiNoEndNoteNoNoSiSiSiSiNoSiSiSiSiJabRefSiNoSiSiSiSiNoSiSiSiSiJumper 2.0SiNoNoSiSiSiSiNoSiNoNoKBibTeXSiNoNoSiNoNoDipendeNoSiSiNoMendeleySiNoNoSiNoNoNoNoNoSiNoPapersSiNoNoNoNoNoNoNoNoSiNoPybliographerSiNoNoSiSiSiNoSiNoNoNoQiqqaSiNoNoNoNoNoNoNoNoNoNorefbaseSiSiSiSiSiSiSiNoSiSiSiRefDBSiSiNoSiSiSiSiNoSiSiSiReference ManagerSiNoSiSiSiSiNoSiSiSiSiReferencerSiNoNoSiNoNoSiNoNoSiNoRefWorksSiSiSiSiSiSiNoSiSiSiSiScholar's AidNoNoNoSi?SiNoNoSi?NoSenteSiNoSiSiSiNoNoSiSiSiSiWikindxSiDipendeNoSiDipendeNoDipendeNoSiSiNoWizFolioNoNoNoNoNoNoNoNoNoSiNoZoteroSiNoNoSiParzialeNoSiParzialeSiSiNo<br />Della tabella qui sopra si può evincere che i formati più supportati in ordine decrescente sono:<br />BibTex;<br />RIS;<br />EndNote;<br />PubMed;<br />ISI.<br />I formati supportati maggiormente per l’esportazione dei riferimenti bibliografici, analizzando la tabella successiva, risultano gli stessi della tabella precedente:<br />BibTex;<br />RIS;<br />EndNote.<br />SoftwareBibTeXEndnote/Refer/BibIXMedlineMODS XMLRIS2collabSiNoNoNoSiAigaionSiNoNoNoSiBebopSiNoNoNoNoBibDeskSiNoSiSiSiBiblioscapeSiSiSiNoSiBibSonomySiSiNoNoSiBibusSiSiSiNoSiBookendsSiSiSiNoSiCitaviSiSiNoNoSiCiteULikeSiNoNoNoSiConnoteaSiSiNoSiSiEndNoteSiSiSiNoSiJabRefSiSiNoSiDipendeJumper 2.0SiSiNoSiSiKBibTeXSiSiNoDipendeSiMendeleySiSiNoNoSiPapersSiSiNoNoSiPybliographerSiSiSiNoNoQiqqaSiNoNoNoNorefbaseSiSiNoSiSiRefDBSiSiNoSiSiReference ManagerSiNoNoNoSiReferencerSi????RefWorksSiNoNoNoSiScholar's AidNo?NoNoNoSenteSiSiNoNoSiWikindxSiSiNoNoSiWizFolioNoNoNoNoSiZoteroSiSiNoSiSi<br />Nel caso in cui nelle tabelle compaia il termine “Dipende” si fa riferimento ad l’utilizzo di software aggiuntivo.<br />2.1.3 Sistema U-Gov<br />E’ un sistema sviluppato da Cineca e si occupa di gestire in modo efficace tutti i processi di ateneo, in modo da rendere accessibili i dati a tutte le persone interessate.<br />Le aree di interesse spaziano dalla contabilità alla gestione degli esami universitari, all’attività di ricerca, qui sotto è riportato uno schema che illustra le aree di competenza.<br />Il modulo di nostro interesse è quello della ricerca perché riguarda la gestione dei riferimenti bibliografici.<br />Cos’è U-GOV Ricerca<br />L’U-GOV Ricerca è una parte del progetto U-Gov e consente di monitorare e gestire l’intera attività di ricerca di ateneo. Non è un’applicazione di tipo stand alone, ma è ben integrata con il resto del sistema.<br />Anche questo modulo è composto di più parti ciascuna delle quali atta alla gestione di diverse problematiche. In particolare esiste un modulo chiamato catalogo e valutazione della ricerca nel quale vengono inserite tutte le pubblicazioni sviluppate in ateneo riguardante questo tipo di attività in modo da preservare il patrimonio di pubblicazioni e renderne la ricerca maggiormente efficace.<br />Tutti i dati presenti nel catalogo vengono poi propagati nelle varie strutture interessate al trattamento degli stessi nelle modalità riportate in figura qui sotto:<br />In questo modo si ha la possibilità di accedere a dei dati sempre uguali ovunque ci si trovi riducendo la possibilità di errore, oppure l’indisponibilità del dato stesso.<br />Per l’immissione dei dati è prevista un’interfaccia web la quale oltre all’immissione manuale permette l’inserimento dei riferimenti bibliografici anche attraverso file nei seguenti formati:<br />ISI<br />BIBTEXT<br />ENDNOTE<br />MODS<br />OAI<br />PUBMED (avendo l’accortezza di esportarlo in versione XML)<br />Per la gestione di ciò che riguarda l’archivio riviste, questo sistema permette l’interfacciamento al sistema ANCE (Catalogo delle riviste) in modo da eliminare la presenza in locale di questi dati.<br />2.2 Descrizione dei formati<br />Qui di seguito verranno descritti alcuni formati, utilizzati da Scopus e WOS, che sono stati introdotti nel paragrafo precedente. Per finire si delineeranno le differenze di questi con quelli proposti dal sistema U-Gov.<br />2.2.1 Formato BibTex<br />Il primo formato che verrà presentato è il BibTex, che risulta uno dei più supportati. L’estensione tipica di questo formato è .bib . E’ un file di testo e la sua struttura è abbastanza semplice.<br />Ogni registrazione inizia con la dichiarazione del tipo di riferimento, nella forma @tipo. Questi possono essere vari per esempio article, book ed ecc. Dopo il tipo viene messa la parentesi graffa aperta “{” per indicare l’inizio del riferimento. La parola che segue immediatamente la parentesi viene definita come chiave di citazione che deve essere unica per tutte le registrazioni del file. Esiste uno standard libero in cui si indica il cognome dell’autore seguito dall’anno di pubblicazione.<br />Quello che segue sono i campi e i dati del riferimento. I nomi dei campi a sinistra sono parole chiave per il BibTex, e vengono seguite dal segno uguale “=”. Poi tra le virgolette vengono messi i dati. Si può anche usare le parentesi graffe ma vengono sconsigliato visto che possono avere anche altri ruoli. Alla fine di ogni attributo deve essere messa una virgola per delimitare gli uno dagli altri, ma non c’è ne bisogno nell’ultimo attributo perché la chiusura viene fatto con la parentesi graffa chiusa “}” che non permette ambiguità.<br />Ogni tipo di riferimento ha dei campi obbligatori oppure opzionali. Nel nostro caso il tipo di riferimento è article che si riferisce ad articolo di giornale o rivista. I sui campi obbligatori sono:<br />author : il nome dell’autore, in caso di autori devo essere separati dalla parola chiave “and”,<br />title : il titolo del lavoro,<br />journal : il nome del giornale,<br />year : l’anno di pubblicazione.<br />E i suoi campi opzionali:<br />volume : il volume del giornale,<br />number : qualsiasi informazione aggiuntiva che può essere utile al lettore,<br />pages : uno o più numeri di pagine o un intervallo,<br />month : il mese in cui il lavoro è stato pubblicato,<br />note : qualsiasi informazione aggiuntiva che piò aiutare il lettore.<br />Per completezza possono anche essere aggiunte parole chiavi, non facenti parte del formato, per specificare meglio il riferimento.<br />Gestione particolare viene fatta alla parola chiave author. Il formato accetta il nome dell’autore seguito dal cognome oppure il cognome virgola nome. Se viene usato il primo metodo nel caso di cognomi composto per esempio “John von Neumann” il BibTex assumerà che l’ultima parola sia il cognome, e tutte le altre il nome. Per ovviare a questo problema basta racchiudere tra parentesi graffe le parole che dovrebbero andare insieme. Quindi l’esempio diventerebbe “John {von Neumann}”.<br />Qui sotto viene presento un esempio di riferimento in formato BibTex. E’ di tipo article, vengono indicati tutti i campi obbligatori come author, title, journal, year, alcuni opzionali come volume, number, pages. Ma sono presenti anche campi come issn, doi, url che vengono aggiunti per completezza.<br />@article{Alessi198493,author = quot;
P. Alessi and I. Kikic and M. Fermeglia and C. Noninoquot;
,title = quot;
Liquid-liquid equilibrium data for ternary systems containing organic acid, hydrocarbon and waterquot;
,journal = quot;
Fluid Phase Equilibriaquot;
,volume = quot;
18quot;
,number = quot;
1quot;
,pages = quot;
93 - 102quot;
,year = quot;
1984quot;
,issn = quot;
0378-3812quot;
,doi = quot;
DOI: 10.1016/0378-3812(84)80024-2quot;
,url = quot;
http://www.sciencedirect.com/science/article/B6TG2-43VCVK2-6/2/2d9b4ef3e087c2ff61806db23beb39e6quot;
}<br />2.2.2 Formato ISI<br />Il secondo formato è quello ISI che si tratta di un file di testo. I primi tre caratteri di ogni riga sono dedicati ai tag.<br />Ogni file inizia con il tag “FN” che identifica il tipo di file che di solito è “ISI Export Format”. Seguito da “VR” per indicare la versione, finisce con “EF” end of file.<br />Il riferimento inizia sempre con il tag “PT” seguito dal tipo di pubblicazione (book, journal o abbreviato J) e si conclude con “ER” fine del record.<br />Per semplicità verranno citati soltanto alcuni tag:<br />AU: il nome dell’autore nel formato cognome virgola nome. Se sono più di uno, gli altri vanno messi su righe diverse, lasciando i primi tre caratteri vuoti;<br />BP: il numero della prima pagina;<br />DE: le parole chiave proposte dall’autore;<br />EP: il numero dell’ultima pagina;<br />PY: l’anno di pubblicazione;<br />SO: il nome del giornale;<br />TI: il titolo della pubblicazione;<br />VL: il volume.<br />Di seguito viene inserito un esempio di riferimento bibliografico in formato ISI.<br />FNISI Export FormatVR1.0PTJTIA novel approach to thermophysical properties prediction forchloro-fluoro-hydrocarbonsAUFermeglia, MPricl, SSOFLUID PHASE EQUILIBRIAVL166IS1BP21EP37PY1999TC15UTWOS:000084257700002SN0378-3812EREF<br />Si può vedere l’intestazione del file “FN” “VR” , l’inizio del riferimento “PT”, i vari campi, la chiusura del riferimento “ER” e la chiusura del file “EF”.<br />2.2.3 Formato RIS<br />Ultimo formato descritto è il RIS. E’ anche esso un file di testo e la sua struttura è abbastanza semplice. Ogni riferimento è composto da vari campi, e ognuno è preceduto da un’etichetta o “tag” di sei caratteri. Ogni tag ha le prime due lettere maiuscole seguite da due spazi, un trattino “-” e infine un altro spazio. Alla fine di ogni campo deve essere inserito il “carriage return/line feed”.<br />Tutti i riferimenti devo iniziare con il tag “TY  - ” seguito dal tipo di riferimento per esempio JOUR, BOOK. E concludersi con “ER  - ”. Gli altri possono essere in qualsiasi ordine e anche, in alcuni casi, ripetuti come per indicare tutti gli autori.<br />Qui sotto riporto una selezione dei tag del formato:<br />T1  - : il titolo del lavoro;<br />AU  - : il nome dell’autore. Nel caso in cui ne siano di più uno deve essere indicato su una riga diversa ripetendo il tag. Il formato del nome deve essere: cognome, nome, suffisso. L’ultimo parametro può essere opzionale;<br />PY  - : l’anno della pubblicazione in formato aaaa/mm/gg;<br />KW  - : le parole chiave. Ognuna su una riga diversa;<br />SP  - : il numero di pagina iniziale;<br />EP  - : il numero di pagina finale;<br />JO  - : il nome del giornale;<br />VL  - : il numero di volume.<br />Di seguito viene presentato un esempio di riferimento bibliografico usando il formato RIS. Si può capire che si tratta di un articolo di giornale “TY  -  JOUR”, il titolo “T1”, il nome del giornale “JO”, informazione aggiuntive come “VL” il volume “IS”, “SP” e “EP”. E si può notare che i diversi autori sono posti ognuno su una riga con il tag “AU”.<br />TY  - JOURT1  - Liquid-liquid equilibrium data for ternary systems containing organic acid, hydrocarbon and waterJO  - Fluid Phase EquilibriaVL  - 18IS  - 1SP  - 93EP  - 102PY  - 1984///AU  - Alessi, P.AU  - Kikic, I.AU  - Fermeglia, M.AU  - Nonino, C.SN  - 0378-3812M3  - doi: DOI: 10.1016/0378-3812(84)80024-2UR  - http://www.sciencedirect.com/science/article/B6TG2-43VCVK2-6/2/2d9b4ef3e087c2ff61806db23beb39e6ER  -<br />2.2.4 Differenze con formato di U-Gov<br />In questo capito verranno analizzate le differenze tra i formati presi in considerazione nella sezione precedente e i file esportati dal sistema U-Gov.<br />2.2.4.1 Formato Bibtex<br />Per prima cosa tratteremo il formato BibTex. Di seguito viene riportato un esempio di output del sistema U-Gov in questo formato.<br />@ARTICLE{,  author = {Toth R. and  Fermeglia M. and Pricl S. and  Mensitieri G. and  LavorgnaM. and  Piscitelli F.},  title = {Sodium montmorillonite silylation: Unexpected effect of the aminosilanechain length},  journal = {JOURNAL OF COLLOID AND INTERFACE SCIENCE},  year = {2010},  volume = {351},  pages = {108--115},  keywords = {Simulazione molecolare},  url = {http://www.scopus.com/inward/record.url?eid=2-s2.0-77956228853&partnerID=40&md5=cb071899e06c4c4f322a45d8353c124f}}<br />Per prima cosa si nota, all’inizio del riferimento, la mancanza della chiave di citazione che sarebbe dovuta essere tra la parentesi graffa e la virgola. La seconda riguarda i nomi degli autori che sono riportati nella forma cognome nome, andrebbero divisi da una virgola.<br />Applicando le due variazioni esposte sopra al riferimento si otterrebbe il seguente risultato.<br />@ARTICLE{Toth2010,author = {Toth, R. and  Fermeglia, M. and Pricl, S. and  Mensitieri, G. and  Lavorgna,M. and  Piscitelli, F.},title = {Sodium montmorillonite silylation: Unexpected effect of the aminosilanechain length},journal = {JOURNAL OF COLLOID AND INTERFACE SCIENCE},year = {2010},volume = {351},pages = {108--115},keywords = {Simulazione molecolare},url = {http://www.scopus.com/inward/record.url?eid=2-s2.0-77956228853&partnerID=40&md5=cb071899e06c4c4f322a45d8353c124f}}<br />2.2.4.2 Formato ISI<br />Adesso verrà trattato il formato ISI. Di seguito viene riportato un esempio di output del sistema U-Gov in questo formato.<br />PTArticleAUP.  CosoliM.  FermegliaM.  FerroneTIMolecular Simulation of Atrazine Adhesion and Diffusion in a Saturated Sand ModelSOMolecular Simulation of Atrazine Adhesion and Diffusion in a Saturated Sand ModelSESOIL & SEDIMENT CONTAMINATIONPY2010PD2010VL19BP72EP87DI10.1080/15320380903390505PG15UTWOS:000273988200005ERPTArticleAUTonelli M. Boido V. La Colla P.L., Loddo R., Posocco P., Paneni M.S., Fermeglia M., Pricl S.TIPharmacophore modeling, resistant mutant isolation, docking, and MM-PBSA analysis: Combined experimental/computer-assisted approaches to identify new inhibitors of the bovine viral diarrhea virus (BVDV)SOPharmacophore modeling, resistant mutant isolation, docking, and MM-PBSA analysis: Combined experimental/computer-assisted approaches to identify new inhibitors of the bovine viral diarrhea virus (BVDV)IDsimulazioneSEBIOORGANIC & MEDICINAL CHEMISTRYPY2010PD2010VL18BP2304EP2316PG12ER<br />Per prima cosa si può notare la mancanza nella prima riga del tag “FN” che definire il tipo di file seguito dal tag “VR” per la versione: di norma “FN ISI Export Format” “VR 1.0” . E il tag di chiusura del file “EF”.<br />Adesso analizziamo i singoli record che iniziano con il tag “PT” e terminano con “ER”.<br />Il tag “PT” non può essere seguito da “Article”, se si riferisce a un articolo pubblicato su rivista, deve essere “journal” oppure semplicemente “J”.<br />Vengono usati in modo erroneo i tag:<br />“SO”: si riferisce al titolo del giornale e non al titolo della pubblicazione;<br />“SE”: si riferisce a una collana di libri non al titolo della rivista;<br />“PD”: si riferisce al giorno e al mese della pubblicazione per esempio “JUN 8” o soltanto “JUN” non all’anno che viene specificato nel tag “PY”.<br />Altra differenza è nella gestione degli autori, che dovrebbero essere uno per riga ed indicato prima il cognome seguito dalla virgola e poi il nome, ma questo errore può essere anche imputato a problemi di immissione. Al contrario della mancanza di allineamento dovuto al non rispetto dello spazio del tag, in questo caso 3 spazi.<br />Di seguito vengono riproposti gli stessi due record nel formato ISI.<br />FNISI Export FormatVR1.0PTJAUCosoli, P.Fermeglia, M.Ferrone, M.TIMolecular Simulation of Atrazine Adhesion and Diffusion in a Saturated Sand ModelSOSOIL & SEDIMENT CONTAMINATIONPY2010VL19BP72EP87DI10.1080/15320380903390505PG15UTWOS:000273988200005ERPTJAUTonelli, M.Boido, V.La Colla P.L.Loddo R.Posocco P.Paneni M.S.Fermeglia M.Pricl S.TIPharmacophore modeling, resistant mutant isolation, docking, and MM-PBSA analysis: Combined experimental/computer-assisted approaches to identify new inhibitors of the bovine viral diarrhea virus (BVDV)IDsimulazioneSOBIOORGANIC & MEDICINAL CHEMISTRYPY2010VL18BP2304EP2316PG12EREF<br />Come si può notare sono stati aggiunti i tag “FN”, “VR” e “ER”. Gli autori sono stati allineati, corretto l’uso del tag “SO”, e l’eliminazione dei tag errati “SE” e “PD”.<br />In questo capito, corrispondente all’obiettivo O1, è stato analizzato lo stato dell’arte e i principali formati per i riferimenti bibliografici. Si è visto che la maggior parte dei reference manager importa e esporta i formati BibTex e RIS. Quindi si è passati ad analizzare alcuni formati non potendo affermare una superiorità di uno rispetto agli altri.<br />3 Analisi del problema<br />In questo capito verranno definiti i requisiti e analizzata la struttura già esistente.<br />3.1 Requisiti del sistema<br />Richiesta fondamentale è stata la definizione di un middleware per la gestione dei riferimenti bibliografici che possa gestire le informazioni derivanti da vari formati di catalogazione delle pubblicazioni. Come si vede in figura 3.1 intorno al middleware verranno sviluppate interfacce che permettano l’acquisizione delle informazioni e la loro esportazione, con la possibilità di interagire con il database presente nella facoltà.<br />Figura 3.1 Struttura del sistema<br />Bisognerà creare un’interfaccia utente per l’importazione e l’esportazione dei formati bibliografici, una per controllare la correttezza delle informazioni che verranno inserite nel database.<br />Vincolo progettuale è la necessità di mantenere la struttura del database invariata perché sfruttata da altre applicazioni, quindi bisognerà creare una struttura software al di sopra di esso che permetta di eseguire le funzioni richieste.<br />3.2 Struttura già esistente<br />Qui di seguito viene riportato la struttura E/R del database. Come si può vedere l’entità principale è “Titolo” che contiene i dati fondamentali dei riferimenti. E’ messa in relazione con il “Luogo” dove può essere presentata in un congresso o pubblicata su una rivista. E’ anche in relazione con lo “Staff” per definire chi è accreditato per la pubblicazione. Ed infine relazionata con “Keyword” per selezionare le parole chiave.<br />Figura 3.2 Schema E/R del database<br />Il database è stato realizzato nel seguente modo.<br />Figura 3.3 Schema del database<br />Adesso verranno descritte le principali tabelle.<br />tblTitoliID_titoloCodice che identifica UNIVOCAMENTE la pubblicazione. CHIAVE PRIMARIAAutoriLista completa degli autori, immessi nella forma nome virgola cognomeRiferimentoRiferimenti della pubblicazione nella formaVolume : Pag iniziale – Pagina finale (Anno)ID_StatoChiave esterna alla tabella tblStatoTitolo. Per indicare lo stato della pubblicazione. Per esempio pubblicatoID_RivistaChiave esterna alla tabella tblRiviste.ID_CongressoChiave esterna alla tabella tblCongressiAnnoAnno della pubblicazioneTitoloTitolo della pubblicazioneID_TipoPubbChiave esterna alla tabella tblTipoPubbl. Per indicare il tipo di pubblicazione. Per esempio articolo su rivista<br />tblRivisteID_RivistaCodice che identifica UNIVOCAMENTE la rivista. CHIAVE PRIMARIADenominazioneTitolo della rivista.RivistaInternazionalePer identificare se è una rivista internazioleLuogo pubblicazioneIl luogo della pubblicazione<br />tblKeywordID_KeywordCodice che identifica UNIVOCAMENTE la parola chiave. CHIAVE PRIMARIAKeywordLa parola chiave<br />tblStaffID_StaffCodice che identifica UNIVOCAMENTE la persona dello staff. CHIAVE PRIMARIACognomeCognomeNomeNome<br />In questo capito, corrispondente all’obiettivo O2, sono stati delineati tutti i requisiti che dovrà rispettare il sistema ed è stato analizzata la struttura del database esistente che non potrò essere modifica.<br />4 Progettazione del Middleware<br />In questo capitolo verrà descritto la struttura interna del middleware e verranno definite tutte le interfacce necessarie per il raggiungimento dell’obiettivo prefissato all’inizio dell’elaborato.<br />4.1 Definizione della struttura interna del Middleware<br />Per definire la struttura interna del middleware è stato utile analizzare i formati ISI, RIS, BibTex, soprattutto metterli a confronto.<br />Nella tabella seguente è stata schematizzata la struttura dei formati dei riferimenti in modo da evidenziare quello più completo per il nostro scopo.<br />SpecificationFormato ISIFormato RISFormato BibTexAbstractABN2 Authors fullAFA1-A2-A3AuthorArt num of new APS journals in ISIAP Article number of new APS journalsAR AuthorsAUAU ISBNBNSN Beginning pageBPSPpagesResearch groupC1 Group authorsCA Conference locationCL Cited referencedCR Conference titleCT Conference DateCY Original keywordsDEKWKeywordsDOIDIdoiDocument typeDTTypeEditorsED E-mail AddressesEM Ending pageEPEPpagesEnd of a recordER File nameFN Funding agency and grant numberFU Funding textFX IDS number (ISI original)GA New keyboard given by ISIIDKWKeywordsIssueISIS 20 character journal title abbreviationJ9 ISO journal title abbreviationJIJO LanguageLA Cited reference countNR Pubblication DatePDY1-PY-Y2Month - yearPublisher addressPAADAddressthe number of pagePG Publisher cityPICY Part numberPN Pubblication typePTTY PublisherPUPBPublisherPublication yearPY Reprint addressRPRP Book series titleSET3booktitle - seriesSpecial issueSI ISSNSNSNissnjournal title, in fullSOJF-JAjournalConference sponsorSPorganizationSupplementSU Times citedTC TitleTIT1-TITitleISI unique article identifierUT VolumeVLVLnumber - volumePublisher web addressWP URLURURurlReference ID IDkeyUnpublished work reference CT Field alphanumeric character BT Notes N1Annote - noteSecondary title T2 Availability AV Link to PDF L1 Link to full text  L2 Database key CrossrefEdition of a book EditionHow published HowPublishedSponsoring istitution istitutionName of the school school<br />Come si può vedere il formato che risponde maggiormente alle nostre esigenze è quello ISI.<br />Quindi si è deciso di definire la struttura interna del middleware utilizzando come modello quella del formato ISI.<br />4.2 Progettazione delle interfacce<br />Come richiesto nei requisiti bisogna progettare anche le interfacce di importazione ed esportazione dei formati bibliografici e quella di controllo delle informazioni che verranno immesse nel database.<br />Ogni formato analizzato ha delle peculiarità che lo differenziano dagli altri, quindi senza necessità di intervento umano si può stabilire di che tipo siano. Allora si è deciso di creare un modulo, come si può vedere in figura 4.1, che accettasse tutti i tipi di file e autonomamente selezioni la tipologia di formato avviandone la decodifica in modo da prepararlo all’immissione nel middleware.<br />Figura 4.1 Schematizzazione modulo immissione riferimenti<br />Per eseguire l’export si è creato un modulo, come in figura 4.2, che seguendo l’indicazione dell’utente scelga la tipologia di formato desiderato e poi scriva il file su disco.<br />Figura 4.2 Schematizzazione modulo esportazione riferimenti<br />Per quanto riguarda l’interfaccia per il controllo delle informazioni sui riferimenti da inserire nel database, riportato in figura 4.3, si è dovuto prima progettare un’interfaccia che permettesse all’utente la loro visione, poi la creazione di un altro strato composto da stored procedure che potessero ristrutturare i dati in maniera da renderli compatibili alla struttura del database.<br />Figura 4.3 Schematizzazione moduli salvataggio riferimenti su database<br />In questo capito, corrispondente all’obiettivo O3, è stato progettato tutto il sistema definendo per prima cosa la struttura interna del middleware per poi passare alle interfacce di comunicazione con l’esterno e il database.<br />5 Riprogettazione del database<br />In questo capitolo verranno descritte le modifiche che saranno necessarie al database.<br />5.1 Modifica struttura fisica<br />Come detto nel capitolo 3, vincolo progettuale era il non modificare la struttura relazionale e logica del database visto che veniva usufruito da altri servizi.<br />Dopo l’analisi del database si è deciso di aggiungere nella tabella riguardante le riviste un campo che potesse definirle meglio ed diminuire i possibili errori di battitura. Il campo rappresenta il codice ISSN che è il numero internazionale per identificare i periodici, come quotidiani o riviste, a stampa o elettronici.<br />Così facendo viene modificata solo la struttura fisica del database non contravvenendo ai requisiti e la tabella risultante viene riportata qui sotto.<br />tblRivisteID_RivistaCodice che identifica UNIVOCAMENTE la rivista. CHIAVE PRIMARIADenominazioneTitolo della rivista.RivistaInternazionalePer identificare se è una rivista internazioleLuogo pubblicazioneIl luogo della pubblicazioneISSNIdentificativo della rivista<br />5.2 Progettazione stored procedure<br />Per supplire alle altre mancanze si è scelto di creare uno strato software in grado di trasformare i dati ricevuti dal modulo di controllo dei riferimenti al database.<br />Le stored procedure create sono di due tipi:<br />di visualizzazione che servono per reperire tutti i nomi dello staff e controllare se la pubblicazione non è stata già registrata;<br />di immissione che serve per inserire un nuovo riferimento bibliografico nel database.<br />Visto che non è stato possibile reperire tutti i codici ISSN delle riviste, in fase di inserimento viene effettuato un controllo prima per i ISSN se negativo si procede alla ricerca tramite il nome della rivista che determina l’inserimento di un nuovo record o alla modifica di quello esistente.<br />In questo capito si sono esposte le modifiche effettuate al database dei riferimenti bibliografici della facoltà e descritto il funzionamento delle stored procedure che servono alla ristrutturazione dei dati proveniente dal sistema descritto in questo elaborato.<br />6 Interfaccia del progetto<br />In questo capitolo verranno descritte le interfacce utente del sistema.<br />6.1 Interfaccia principale<br />Avviato il programma si avvia l’interfaccia riportata qui sotto.<br />Figura 6.1 Interfaccia principale<br />Per prima cosa al centro dell’interfaccia troviamo un datagridview per visualizzare i riferimenti bibliografici che sono stati caricati.<br />In basso a sinistra troviamo il tasto Importa che fa apparire la finestra apri file dove è possibile scegliere il file da importare, alla fine viene visualizzata una form di report che informa del numero di riferimenti caricati e in quale formato erano.<br />Poi in basso in centro troviamo il tasto Esporta che fa aprire la finestra di salva file per scegliere il nome del file da esportare. Al suo ok viene visualizzata una form di report con il numero di riferimenti e il formato in cui sono stati salvati. Affianco a questo tasto troviamo una combo box che al suo interno riporta tutti i tipi di formati che il sistema può esportare.<br />Dopo la combo box troviamo il tasto Salva su DB che apre l’interfaccia per l’immissione dei riferimenti nel database.<br />Infine in basso a destra troviamo il tasto Chiudi che serve a chiudere il programma.<br />6.2 Interfaccia controllo per immissione dati nel database<br />Premuto il tasto salva su DB si apre la seguente form.<br />Figura 6.2 Interfaccia salva in DB<br />Partendo dall’alto ci sono sei textbox dove vengono riportati i dati presenti nei riferimenti bibliografici caricati, con la possibilità di modificarli.<br />Sotto c’è un datagridview per visualizzare, modifica, aggiungere le parole chiavi. Affianco c’è un altro che consente di visualizzare, modificare o aggiungere lo staff accreditato della pubblicazione che viene riempito dai nomi del personale della facoltà presenti nella lista degli autori.<br />In basso a sinistra troviamo i tasti Indietro e Avanti che servono per navigare tra i riferimenti. Alla loro destra troviamo il tasto Salva che serve a memorizzare i dati nel database. In basso a destra troviamo il tasto Chiudi che ci riporta all’interfaccia principale.<br />Nel caso in cui il riferimento sia già presente nel database il tasto salva viene disabilitato come anche gli altri campi e viene visualizzato sotto il nome della rivista la scritta “Riferimento già presente nel database”<br />In questo capito, corrispondente all’obiettivo O4, è stato implementato tutta la logica di funzionamento del sistema.<br />7 Esempio di utilizzo<br />In questo capitolo verrà mostrato un esempio di utilizzo del software creato.<br />Figura 7.1 Interfaccia principale<br />Per prima cosa bisogna caricare un file di riferimenti bibliografici, per fare ciò basta premere sul tasto Importa.<br />Figura 7.2 Apri file<br />Si sceglie il file desiderato e si preme Apri.<br />Figura 7.3 Form di report<br />Alla fine verrà mostrato una form che segnalerà quanti riferimenti e di che tipo sono stati caricati.<br />Figura 7.4 Interfaccia principale dopo caricamento<br />Premendo OK nella form di report si chiuderà e si possono vedere il titolo, il nome della rivista e l’anno dei riferimenti caricati.<br />Figura 7.5 Interfacci immissione nel DB con record già esistente<br />Premendo il tasto Salva su DB si aprirà l’interfaccia di controllo dei dati. In questo caso il riferimento è già presente nel database allora sono stati disabilitati tutti i campi ed è comparsa la scritta in rosso “Riferimento già presente nel database”.<br />Figura 7.6 Interfacci immissione nel DB con record da inserire<br />Premendo il tasto Avanti si passa al successivo riferimento. Non essendo già nel database può essere salvato, per far ciò basta premente salva e il riferimento scompare visualizzando il successivo.<br />Finita l’immissione si può premere il tasto chiusi sia dell’interfaccia di immissione dati nel database sia in quella principale.<br />In questo capitolo si è mostrato un esempio di funzionamento del programma realizzato in questo elaborato.<br />8 Conclusioni<br />In questo capitolo vengono analizzati gli obiettivi di questa tesi, per discutere il loro raggiungimento o meno e proporre sviluppi futuri.<br />Il primo obiettivo secondaro era lo studio dello stato dell’arte dei programmi di reference manager e i formati. Per quanto riguarda i reference manager sono stati analizzati i vari formati di import ed export rilevando i formati maggiormente utilizzati: BibTex e RIS. Per la descrizione dei formati si sono delineati due tipologie una che utilizza un preambolo di dimensione fissa e una con l’indicazione di parole chiave.<br />Il secondo riguardava l’analisi del problema portando alla comprensione di tutti i requisiti e allo studio del database in uso nella facoltà. Requisito fondamentale era la definizione di un middleware per la gestione dei riferimenti e la non possibilità di modificare l’architettura del database.<br />Il terso era la progettazione del sistema in tutte le sue parti, mostrando quale formato interno è stato scelto per il middleware e definito tutti i moduli richiesti nei requisiti.<br />Il quarto, l’implementazione di tutto il sistema, apportando le modifiche al database, creando tutte le stored procedure necessarie, e creando tutti i moduli descritti nella progettazione.<br />In conclusione l’obiettivo principale dell’elaborato che era la progettazione e l’implementazione di una piattaforma middleware per la gestione dei riferimenti bibliografici è stata raggiunta.<br />Per fare ciò sono state scritte circa milleottocentosessantotto righe di codice non autogenerato, sei stored procedure, modificata una tabella nel database e dodici classi.<br />Questo progetto però non è stato ancora testato nel reale sistema ma solo tramite l’ambiente di sviluppo. Un’ipotetica fase successiva sarà quella di testarlo sul database esistente in modo da vedere se la coesistenza con gli altri elementi già esistenti è funzionante, eventualmente controllare che i requisiti nel tempo non siano variati.<br />Sviluppi futuri potrebbero essere la definizione di moduli di import/export in altri formati, trasformare l’applicazione in un webservice, lo sviluppo di un’interfaccia web.<br />Appendice<br />L’appendice è presente nel cd allegato.<br />Struttura del CD:<br />ocumenti: i documenti della tesi,<br />odice: il codice in formato VS 2010,<br />B: il database in formato backup del Sql Server 2008,<br />ormati: alcuni esempi di formati in ingresso e in uscita dal Middlaware.<br />Bibliografia:<br />[Marco Ferrero, 2008] Marco Ferrero SQL, Apogeo<br />[Nadia Bianchi, Alessandro Valli, 2002] c# reference, McGrawHill<br />[Autori Vari, 2007] SQL Server, Guida per l’amministratore di rete, Hoepli<br />[Sharp John, 2008] Microsoft Visual C# 2008 passo per passo, Mondadori Informatica<br />[MSDN, 2011] http://msdn.microsoft.com/it-it/default.aspx (referenze per le classi)<br />[Maurizio Fermeglia, 2011]Dispense del professor Maurizio Fermeglia su Store Procedure e stesura requisiti database<br />
Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici
Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici
Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici
Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici
Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici
Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici
Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici
Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici
Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici
Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici
Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici
Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici
Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici
Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici
Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici
Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici
Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici
Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici
Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici
Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici
Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici
Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici
Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici
Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici
Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici
Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici
Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici
Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici
Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici
Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici
Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici
Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici
Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici
Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici
Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici
Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici
Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici
Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici
Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici
Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici
Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici
Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici
Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici
Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici
Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici
Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici

More Related Content

Similar to Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici

Visual Studio Performance Tools
Visual Studio Performance ToolsVisual Studio Performance Tools
Visual Studio Performance ToolsAndrea Tosato
 
Continuous Integration e High Quality Code
Continuous Integration e High Quality CodeContinuous Integration e High Quality Code
Continuous Integration e High Quality CodeDaniele Mondello
 
Introduzione al web (2/2) - 18/19
Introduzione al web (2/2) - 18/19Introduzione al web (2/2) - 18/19
Introduzione al web (2/2) - 18/19Giuseppe Vizzari
 
JAMP DAY 2010 - ROMA (1)
JAMP DAY 2010 - ROMA (1)JAMP DAY 2010 - ROMA (1)
JAMP DAY 2010 - ROMA (1)jampslide
 
5 - Introduzione al Web (2/2)
5 - Introduzione al Web (2/2)5 - Introduzione al Web (2/2)
5 - Introduzione al Web (2/2)Giuseppe Vizzari
 
eZ magazine: soluzione completa per la gestione multicanale della tua rivista
eZ magazine: soluzione completa per la gestione multicanale della tua rivistaeZ magazine: soluzione completa per la gestione multicanale della tua rivista
eZ magazine: soluzione completa per la gestione multicanale della tua rivistaGabriele Francescotto
 
Cms, Content Management System. Sistema di gestione dei contenuti
Cms, Content Management System. Sistema di gestione dei contenutiCms, Content Management System. Sistema di gestione dei contenuti
Cms, Content Management System. Sistema di gestione dei contenutiGiulia S
 
Porting evolutivo di una applicazione per la gestione di riferimenti bibliogr...
Porting evolutivo di una applicazione per la gestione di riferimenti bibliogr...Porting evolutivo di una applicazione per la gestione di riferimenti bibliogr...
Porting evolutivo di una applicazione per la gestione di riferimenti bibliogr...Giulio Ambrogi
 
5 - Introduzione al Web (2/2) - 17/18
5 - Introduzione al Web (2/2) - 17/185 - Introduzione al Web (2/2) - 17/18
5 - Introduzione al Web (2/2) - 17/18Giuseppe Vizzari
 
Progetto e implementazione di un processo per l'assemblaggio di documenti htm...
Progetto e implementazione di un processo per l'assemblaggio di documenti htm...Progetto e implementazione di un processo per l'assemblaggio di documenti htm...
Progetto e implementazione di un processo per l'assemblaggio di documenti htm...Nicola Furlan
 
Silverlight in Action
Silverlight in ActionSilverlight in Action
Silverlight in ActionDotNetMarche
 
Drupal
DrupalDrupal
DrupalNaLUG
 
Wordpress - Primi passi | Mafaldida
Wordpress  - Primi passi | MafaldidaWordpress  - Primi passi | Mafaldida
Wordpress - Primi passi | MafaldidaGiulia Costa
 
La piattaforma josh - Scenario strategico della piattaforma software di it Co...
La piattaforma josh - Scenario strategico della piattaforma software di it Co...La piattaforma josh - Scenario strategico della piattaforma software di it Co...
La piattaforma josh - Scenario strategico della piattaforma software di it Co...it Consult
 
Progettazione e sviluppo di un'applicazione web per la gestione di dati di at...
Progettazione e sviluppo di un'applicazione web per la gestione di dati di at...Progettazione e sviluppo di un'applicazione web per la gestione di dati di at...
Progettazione e sviluppo di un'applicazione web per la gestione di dati di at...daniel_zotti
 
SVILUPPO DI UNA APPLICAZIONE PER L’ACQUISIZIONE DI DATI DA SUPPORTO CARTACEO:...
SVILUPPO DI UNA APPLICAZIONE PER L’ACQUISIZIONE DI DATI DA SUPPORTO CARTACEO:...SVILUPPO DI UNA APPLICAZIONE PER L’ACQUISIZIONE DI DATI DA SUPPORTO CARTACEO:...
SVILUPPO DI UNA APPLICAZIONE PER L’ACQUISIZIONE DI DATI DA SUPPORTO CARTACEO:...guest12aaa586
 
Continous Delivery & HQ Code
Continous Delivery & HQ CodeContinous Delivery & HQ Code
Continous Delivery & HQ CodeDaniele Mondello
 

Similar to Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici (20)

Visual Studio Performance Tools
Visual Studio Performance ToolsVisual Studio Performance Tools
Visual Studio Performance Tools
 
PLM@NET
PLM@NETPLM@NET
PLM@NET
 
Continuous Integration e High Quality Code
Continuous Integration e High Quality CodeContinuous Integration e High Quality Code
Continuous Integration e High Quality Code
 
Introduzione al web (2/2) - 18/19
Introduzione al web (2/2) - 18/19Introduzione al web (2/2) - 18/19
Introduzione al web (2/2) - 18/19
 
JAMP DAY 2010 - ROMA (1)
JAMP DAY 2010 - ROMA (1)JAMP DAY 2010 - ROMA (1)
JAMP DAY 2010 - ROMA (1)
 
5 - Introduzione al Web (2/2)
5 - Introduzione al Web (2/2)5 - Introduzione al Web (2/2)
5 - Introduzione al Web (2/2)
 
eZ magazine: soluzione completa per la gestione multicanale della tua rivista
eZ magazine: soluzione completa per la gestione multicanale della tua rivistaeZ magazine: soluzione completa per la gestione multicanale della tua rivista
eZ magazine: soluzione completa per la gestione multicanale della tua rivista
 
Dot net framework 2
Dot net framework 2Dot net framework 2
Dot net framework 2
 
Cms, Content Management System. Sistema di gestione dei contenuti
Cms, Content Management System. Sistema di gestione dei contenutiCms, Content Management System. Sistema di gestione dei contenuti
Cms, Content Management System. Sistema di gestione dei contenuti
 
Relazione Agic
Relazione AgicRelazione Agic
Relazione Agic
 
Porting evolutivo di una applicazione per la gestione di riferimenti bibliogr...
Porting evolutivo di una applicazione per la gestione di riferimenti bibliogr...Porting evolutivo di una applicazione per la gestione di riferimenti bibliogr...
Porting evolutivo di una applicazione per la gestione di riferimenti bibliogr...
 
5 - Introduzione al Web (2/2) - 17/18
5 - Introduzione al Web (2/2) - 17/185 - Introduzione al Web (2/2) - 17/18
5 - Introduzione al Web (2/2) - 17/18
 
Progetto e implementazione di un processo per l'assemblaggio di documenti htm...
Progetto e implementazione di un processo per l'assemblaggio di documenti htm...Progetto e implementazione di un processo per l'assemblaggio di documenti htm...
Progetto e implementazione di un processo per l'assemblaggio di documenti htm...
 
Silverlight in Action
Silverlight in ActionSilverlight in Action
Silverlight in Action
 
Drupal
DrupalDrupal
Drupal
 
Wordpress - Primi passi | Mafaldida
Wordpress  - Primi passi | MafaldidaWordpress  - Primi passi | Mafaldida
Wordpress - Primi passi | Mafaldida
 
La piattaforma josh - Scenario strategico della piattaforma software di it Co...
La piattaforma josh - Scenario strategico della piattaforma software di it Co...La piattaforma josh - Scenario strategico della piattaforma software di it Co...
La piattaforma josh - Scenario strategico della piattaforma software di it Co...
 
Progettazione e sviluppo di un'applicazione web per la gestione di dati di at...
Progettazione e sviluppo di un'applicazione web per la gestione di dati di at...Progettazione e sviluppo di un'applicazione web per la gestione di dati di at...
Progettazione e sviluppo di un'applicazione web per la gestione di dati di at...
 
SVILUPPO DI UNA APPLICAZIONE PER L’ACQUISIZIONE DI DATI DA SUPPORTO CARTACEO:...
SVILUPPO DI UNA APPLICAZIONE PER L’ACQUISIZIONE DI DATI DA SUPPORTO CARTACEO:...SVILUPPO DI UNA APPLICAZIONE PER L’ACQUISIZIONE DI DATI DA SUPPORTO CARTACEO:...
SVILUPPO DI UNA APPLICAZIONE PER L’ACQUISIZIONE DI DATI DA SUPPORTO CARTACEO:...
 
Continous Delivery & HQ Code
Continous Delivery & HQ CodeContinous Delivery & HQ Code
Continous Delivery & HQ Code
 

Recently uploaded

San Giorgio e la leggenda del drago.pptx
San Giorgio e la leggenda del drago.pptxSan Giorgio e la leggenda del drago.pptx
San Giorgio e la leggenda del drago.pptxMartin M Flynn
 
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxLorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxlorenzodemidio01
 
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia RomanaXI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia RomanaStefano Lariccia
 
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxLorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxlorenzodemidio01
 
XIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia RomanaXIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia RomanaStefano Lariccia
 
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxLorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxlorenzodemidio01
 
RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.
RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.
RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.giuliofiorerm
 
Lorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxLorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxlorenzodemidio01
 

Recently uploaded (8)

San Giorgio e la leggenda del drago.pptx
San Giorgio e la leggenda del drago.pptxSan Giorgio e la leggenda del drago.pptx
San Giorgio e la leggenda del drago.pptx
 
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxLorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
 
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia RomanaXI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
 
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxLorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
 
XIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia RomanaXIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
 
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxLorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
 
RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.
RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.
RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.
 
Lorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxLorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptx
 

Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici

  • 1. -63500160020<br />Università degli Studi di Trieste<br />Facoltà di Ingegneria<br />Corso di Laurea Specialistica in Ingegneria Informatica<br />Anno Accademico 2009/2010<br />Progettazione e realizzazione di una piattaforma middleware per la gestione automatica di riferimenti bibliografici<br />Laureando:Luca Gregoretti<br />Relatore:Chiar.mo prof. Maurizio FERMEGLIA<br />Sommario TOC quot; 1-3quot; 1 Introduzione: PAGEREF _Toc288639339 42 Stato dell’arte PAGEREF _Toc288639340 62.1 Software per gestione riferimenti bibliografici PAGEREF _Toc288639341 62.1.1 Software per la trasformazione dei formati PAGEREF _Toc288639342 62.1.2 Sistemi per la gestione dei riferimenti bibliografici PAGEREF _Toc288639343 62.1.3 Sistema U-Gov PAGEREF _Toc288639344 102.2 Descrizione dei formati PAGEREF _Toc288639345 122.2.1 Formato BibTex PAGEREF _Toc288639346 132.2.2 Formato ISI PAGEREF _Toc288639347 142.2.3 Formato RIS PAGEREF _Toc288639348 162.2.4 Differenze con formato di U-Gov PAGEREF _Toc288639349 173 Analisi del problema PAGEREF _Toc288639350 233.1 Requisiti del sistema PAGEREF _Toc288639351 233.2 Struttura già esistente PAGEREF _Toc288639352 244 Progettazione del Middleware PAGEREF _Toc288639353 284.1 Definizione della struttura interna del Middleware PAGEREF _Toc288639354 284.2 Progettazione delle interfacce PAGEREF _Toc288639355 305 Riprogettazione del database PAGEREF _Toc288639356 345.1 Modifica struttura fisica PAGEREF _Toc288639357 345.2 Progettazione stored procedure PAGEREF _Toc288639358 356 Interfaccia del progetto PAGEREF _Toc288639359 366.1 Interfaccia principale PAGEREF _Toc288639360 366.2 Interfaccia controllo per immissione dati nel database PAGEREF _Toc288639361 377 Esempio di utilizzo PAGEREF _Toc288639362 398 Conclusioni PAGEREF _Toc288639363 44Appendice PAGEREF _Toc288639364 46Bibliografia: PAGEREF _Toc288639365 47<br />1 Introduzione:<br />I riferimenti bibliografici sono tutte le informazioni riguardanti una determinata pubblicazione quale ad esempio il titolo, gli autori, il nome della rivista su cui è edito.<br />Lo scopo di questa tesi è stata la progettazione e l’implementazione di una piattaforma middleware che permettesse la gestione automatica dei riferimenti bibliografici riguardanti le pubblicazioni a cui ha partecipato personale della facoltà.<br />È stato sviluppato per automatizzare le operazioni di inserimento dei riferimenti data la mancanza di software specifico preesistente.<br />Per raggiungere lo scopo dell’elaborato si sono definiti i seguenti obiettivi secondari:<br />O1 Studio dello stato dell’arte dei programmi di reference manager e i formati: verificare lo stato dell’arte dei reference manager per comprendere quali formati importano ed esportano e la descrizione di alcuni di essi;<br />O2 Analisi del problema: comprendere tutti i requisiti e studiare la struttura già esistente;<br />O3 Progettazione del sistema: trovare la soluzione più adatta al problema e definire una struttura del sistema;<br />O4 Implementazione: sviluppare tutto il codice necessario per il suo funzionamento e apportare, se necessario, modifiche ai sistemi già esistenti.<br />Il software utilizzato per creare il tutto è stato il seguente:<br />Microsoft Windows Server 2008: sistema operativo del server,<br />VMWare Workstation: per emulare il sistema operativo del server,<br />Microsoft Visual Studio 2008: per la realizzazione del sistema richiesta dal committente,<br />Microsoft SQL Server 2008: DBMS in cui è stato creato il database già esistente,<br />Microsoft Visio 2007: per la creazione di tutti i diagrammi presenti.<br />Nel capitolo 2 verranno illustrati alcuni software per la gestione di riferimenti bibliografici ponendo l’attenzione ai formati che possono importare o esportare, per finire con la descrizione di alcuni di essi.<br />Nel capitolo 3 saranno definiti i requisiti e analizzata la struttura già esistente.<br />Nel capitolo 4 si procederà alla descrizione della struttura interna del middleware e alla definizione di tutte le interfacce necessarie per il raggiungimento dell’obiettivo prefissato.<br />Nel capitolo 5 verranno descritte le modifiche che saranno necessarie al database già esistente.<br />Nel capitolo 6 saranno spiegate le interfacce utente del sistema.<br />Nel capitolo 7 si mostrerà un esempio di utilizzo del software creato.<br />2 Stato dell’arte<br />In questo capitolo verranno illustrati alcuni software per la gestione di riferimenti bibliografici ponendo l’attenzione ai formati che possono importare o esportare. Successivamente alcuni formati verranno descritti più in dettaglio visto che serviranno nel capitolo 5 per la progettazione del sistema.<br />2.1 Software per gestione riferimenti bibliografici<br />Oggi sono disponibili database bibliografici, per esempio Scopus o WOS, dove è possibile esportare alcuni riferimenti interessanti per essere salvati o citate in pubblicazioni.<br />Vista la grande varietà di formati disponibili si sono sviluppati due tipi di applicazioni:<br />Programmi che trasformano da un formato in un altro;<br />Programmi che implementano una vera e propria gestione dei riferimenti.<br />2.1.1 Software per la trasformazione dei formati<br />Questi software sono stati sviluppati per dare la possibilità di convertire i formati bibliografici in altri che possano essere importati dove servono.<br />2.1.2 Sistemi per la gestione dei riferimenti bibliografici<br />I reference manager consistono in un database dove vengono salvati tutti i riferimenti e possono essere organizzati. Alcuni possono integrarsi con word processors.<br />Possono essere di due tipo:<br />Il primo web-based accessibile utilizzando un qualsiasi browser;<br />Il secondo un’applicazione installata su un computer.<br />Di seguito viene inserita una tabella per mostrare alcuni reference manager.<br />SoftwareSviluppato daCosto (USD)Open sourceLicenza2collabElsevierGratisNoProprietariaAigaionAigaion developersGratisSiGPLBebopALaRI InstituteGratisSiBSDBibDeskBibDesk developersGratisSiBSDBiblioscapeCG InformationUS$79-299NoProprietariaBibSonomyUniversity of KasselGratisNoProprietariaBibusBibus developersGratisSiGPLBookendsSonny SoftwareUS$99NoProprietariaCitaviSwiss Academic SoftwareUS$111-231 / Gratis per progetto fino a 100 riferimentiNoProprietariaCiteULikeOversity LimitedGratisNoProprietariaConnoteaNature Publishing GroupGratisSiGPLEndNoteThomson ReutersUS$299.95NoProprietariaJabRefJabRef developersGratisSiGPLJumper 2.0Jumper NetworksGratisSiGPLKBibTeXKBibTeX developersGratisSiGPLMendeleyMendeleyUS$4.99-9.99 per month / Gratis quot; Earthquot; accountNoProprietaria(OS API clients exist)PapersMekentosjUS$42NoProprietariaPDF StacksPDF StacksUS$39NoProprietariaPybliographerpybliographer developersGratisSiGPLQiqqaQiqqaGratisNoProprietariarefbaserefbase developersGratisSiGPLRefDBrefdb developersGratisSiGPLReference ManagerThomson ReutersUS$239.95NoProprietariaReferencerReferencer developersGratisSiGPLRefWorksRefWorksUS$100 per yearNoProprietariaScholar's AidScholar's Aid, Inc.US$149 / Gratis Lite versionNoProprietariaSenteThird Street Software, Inc.US$129.95NoProprietariaWikindxMark GrimshawGratisSiGPLWizFolioWizPatentUS$25 / Gratis Basic versionNoProprietariaZoteroCenter for History and New Media at GMUGratisSiGPL<br />In questa tesi è più interessante approfondire in quali formati i reference manager sopra indicati possono importare i riferimenti.<br />SoftwareBibTeXCopacCSAEndnote/Refer/BibIXISIMedlineMODS XMLOvidPubMedRISSciFinder2collabNoNoNoNoNoNoNoNoNoSiNoAigaionSiNoNoNoNoNoNoNoNoSiNoBebopSiNoNoNoNoNoNoNoNoNoNoBibDeskSiSiNoSiSiSiSiNoSiSiSiBiblioscapeSiSiSiSiSiSiNoSiSiSiSiBibSonomySiNoNoSiNoNoNoNoNoNoNoBibusSiNoNoSiSiSiNoNoNoSiNoBookendsSiSiSiSiSiSiNoSiSiSiSiCitaviSiSiSiSiSiSiSiSiSiSiSiCiteULikeSiNoNoNoNoNoNoNoNoSiNoConnoteaSiNoNoSiSiNoSiNoNoSiNoEndNoteNoNoSiSiSiSiNoSiSiSiSiJabRefSiNoSiSiSiSiNoSiSiSiSiJumper 2.0SiNoNoSiSiSiSiNoSiNoNoKBibTeXSiNoNoSiNoNoDipendeNoSiSiNoMendeleySiNoNoSiNoNoNoNoNoSiNoPapersSiNoNoNoNoNoNoNoNoSiNoPybliographerSiNoNoSiSiSiNoSiNoNoNoQiqqaSiNoNoNoNoNoNoNoNoNoNorefbaseSiSiSiSiSiSiSiNoSiSiSiRefDBSiSiNoSiSiSiSiNoSiSiSiReference ManagerSiNoSiSiSiSiNoSiSiSiSiReferencerSiNoNoSiNoNoSiNoNoSiNoRefWorksSiSiSiSiSiSiNoSiSiSiSiScholar's AidNoNoNoSi?SiNoNoSi?NoSenteSiNoSiSiSiNoNoSiSiSiSiWikindxSiDipendeNoSiDipendeNoDipendeNoSiSiNoWizFolioNoNoNoNoNoNoNoNoNoSiNoZoteroSiNoNoSiParzialeNoSiParzialeSiSiNo<br />Della tabella qui sopra si può evincere che i formati più supportati in ordine decrescente sono:<br />BibTex;<br />RIS;<br />EndNote;<br />PubMed;<br />ISI.<br />I formati supportati maggiormente per l’esportazione dei riferimenti bibliografici, analizzando la tabella successiva, risultano gli stessi della tabella precedente:<br />BibTex;<br />RIS;<br />EndNote.<br />SoftwareBibTeXEndnote/Refer/BibIXMedlineMODS XMLRIS2collabSiNoNoNoSiAigaionSiNoNoNoSiBebopSiNoNoNoNoBibDeskSiNoSiSiSiBiblioscapeSiSiSiNoSiBibSonomySiSiNoNoSiBibusSiSiSiNoSiBookendsSiSiSiNoSiCitaviSiSiNoNoSiCiteULikeSiNoNoNoSiConnoteaSiSiNoSiSiEndNoteSiSiSiNoSiJabRefSiSiNoSiDipendeJumper 2.0SiSiNoSiSiKBibTeXSiSiNoDipendeSiMendeleySiSiNoNoSiPapersSiSiNoNoSiPybliographerSiSiSiNoNoQiqqaSiNoNoNoNorefbaseSiSiNoSiSiRefDBSiSiNoSiSiReference ManagerSiNoNoNoSiReferencerSi????RefWorksSiNoNoNoSiScholar's AidNo?NoNoNoSenteSiSiNoNoSiWikindxSiSiNoNoSiWizFolioNoNoNoNoSiZoteroSiSiNoSiSi<br />Nel caso in cui nelle tabelle compaia il termine “Dipende” si fa riferimento ad l’utilizzo di software aggiuntivo.<br />2.1.3 Sistema U-Gov<br />E’ un sistema sviluppato da Cineca e si occupa di gestire in modo efficace tutti i processi di ateneo, in modo da rendere accessibili i dati a tutte le persone interessate.<br />Le aree di interesse spaziano dalla contabilità alla gestione degli esami universitari, all’attività di ricerca, qui sotto è riportato uno schema che illustra le aree di competenza.<br />Il modulo di nostro interesse è quello della ricerca perché riguarda la gestione dei riferimenti bibliografici.<br />Cos’è U-GOV Ricerca<br />L’U-GOV Ricerca è una parte del progetto U-Gov e consente di monitorare e gestire l’intera attività di ricerca di ateneo. Non è un’applicazione di tipo stand alone, ma è ben integrata con il resto del sistema.<br />Anche questo modulo è composto di più parti ciascuna delle quali atta alla gestione di diverse problematiche. In particolare esiste un modulo chiamato catalogo e valutazione della ricerca nel quale vengono inserite tutte le pubblicazioni sviluppate in ateneo riguardante questo tipo di attività in modo da preservare il patrimonio di pubblicazioni e renderne la ricerca maggiormente efficace.<br />Tutti i dati presenti nel catalogo vengono poi propagati nelle varie strutture interessate al trattamento degli stessi nelle modalità riportate in figura qui sotto:<br />In questo modo si ha la possibilità di accedere a dei dati sempre uguali ovunque ci si trovi riducendo la possibilità di errore, oppure l’indisponibilità del dato stesso.<br />Per l’immissione dei dati è prevista un’interfaccia web la quale oltre all’immissione manuale permette l’inserimento dei riferimenti bibliografici anche attraverso file nei seguenti formati:<br />ISI<br />BIBTEXT<br />ENDNOTE<br />MODS<br />OAI<br />PUBMED (avendo l’accortezza di esportarlo in versione XML)<br />Per la gestione di ciò che riguarda l’archivio riviste, questo sistema permette l’interfacciamento al sistema ANCE (Catalogo delle riviste) in modo da eliminare la presenza in locale di questi dati.<br />2.2 Descrizione dei formati<br />Qui di seguito verranno descritti alcuni formati, utilizzati da Scopus e WOS, che sono stati introdotti nel paragrafo precedente. Per finire si delineeranno le differenze di questi con quelli proposti dal sistema U-Gov.<br />2.2.1 Formato BibTex<br />Il primo formato che verrà presentato è il BibTex, che risulta uno dei più supportati. L’estensione tipica di questo formato è .bib . E’ un file di testo e la sua struttura è abbastanza semplice.<br />Ogni registrazione inizia con la dichiarazione del tipo di riferimento, nella forma @tipo. Questi possono essere vari per esempio article, book ed ecc. Dopo il tipo viene messa la parentesi graffa aperta “{” per indicare l’inizio del riferimento. La parola che segue immediatamente la parentesi viene definita come chiave di citazione che deve essere unica per tutte le registrazioni del file. Esiste uno standard libero in cui si indica il cognome dell’autore seguito dall’anno di pubblicazione.<br />Quello che segue sono i campi e i dati del riferimento. I nomi dei campi a sinistra sono parole chiave per il BibTex, e vengono seguite dal segno uguale “=”. Poi tra le virgolette vengono messi i dati. Si può anche usare le parentesi graffe ma vengono sconsigliato visto che possono avere anche altri ruoli. Alla fine di ogni attributo deve essere messa una virgola per delimitare gli uno dagli altri, ma non c’è ne bisogno nell’ultimo attributo perché la chiusura viene fatto con la parentesi graffa chiusa “}” che non permette ambiguità.<br />Ogni tipo di riferimento ha dei campi obbligatori oppure opzionali. Nel nostro caso il tipo di riferimento è article che si riferisce ad articolo di giornale o rivista. I sui campi obbligatori sono:<br />author : il nome dell’autore, in caso di autori devo essere separati dalla parola chiave “and”,<br />title : il titolo del lavoro,<br />journal : il nome del giornale,<br />year : l’anno di pubblicazione.<br />E i suoi campi opzionali:<br />volume : il volume del giornale,<br />number : qualsiasi informazione aggiuntiva che può essere utile al lettore,<br />pages : uno o più numeri di pagine o un intervallo,<br />month : il mese in cui il lavoro è stato pubblicato,<br />note : qualsiasi informazione aggiuntiva che piò aiutare il lettore.<br />Per completezza possono anche essere aggiunte parole chiavi, non facenti parte del formato, per specificare meglio il riferimento.<br />Gestione particolare viene fatta alla parola chiave author. Il formato accetta il nome dell’autore seguito dal cognome oppure il cognome virgola nome. Se viene usato il primo metodo nel caso di cognomi composto per esempio “John von Neumann” il BibTex assumerà che l’ultima parola sia il cognome, e tutte le altre il nome. Per ovviare a questo problema basta racchiudere tra parentesi graffe le parole che dovrebbero andare insieme. Quindi l’esempio diventerebbe “John {von Neumann}”.<br />Qui sotto viene presento un esempio di riferimento in formato BibTex. E’ di tipo article, vengono indicati tutti i campi obbligatori come author, title, journal, year, alcuni opzionali come volume, number, pages. Ma sono presenti anche campi come issn, doi, url che vengono aggiunti per completezza.<br />@article{Alessi198493,author = quot; P. Alessi and I. Kikic and M. Fermeglia and C. Noninoquot; ,title = quot; Liquid-liquid equilibrium data for ternary systems containing organic acid, hydrocarbon and waterquot; ,journal = quot; Fluid Phase Equilibriaquot; ,volume = quot; 18quot; ,number = quot; 1quot; ,pages = quot; 93 - 102quot; ,year = quot; 1984quot; ,issn = quot; 0378-3812quot; ,doi = quot; DOI: 10.1016/0378-3812(84)80024-2quot; ,url = quot; http://www.sciencedirect.com/science/article/B6TG2-43VCVK2-6/2/2d9b4ef3e087c2ff61806db23beb39e6quot; }<br />2.2.2 Formato ISI<br />Il secondo formato è quello ISI che si tratta di un file di testo. I primi tre caratteri di ogni riga sono dedicati ai tag.<br />Ogni file inizia con il tag “FN” che identifica il tipo di file che di solito è “ISI Export Format”. Seguito da “VR” per indicare la versione, finisce con “EF” end of file.<br />Il riferimento inizia sempre con il tag “PT” seguito dal tipo di pubblicazione (book, journal o abbreviato J) e si conclude con “ER” fine del record.<br />Per semplicità verranno citati soltanto alcuni tag:<br />AU: il nome dell’autore nel formato cognome virgola nome. Se sono più di uno, gli altri vanno messi su righe diverse, lasciando i primi tre caratteri vuoti;<br />BP: il numero della prima pagina;<br />DE: le parole chiave proposte dall’autore;<br />EP: il numero dell’ultima pagina;<br />PY: l’anno di pubblicazione;<br />SO: il nome del giornale;<br />TI: il titolo della pubblicazione;<br />VL: il volume.<br />Di seguito viene inserito un esempio di riferimento bibliografico in formato ISI.<br />FNISI Export FormatVR1.0PTJTIA novel approach to thermophysical properties prediction forchloro-fluoro-hydrocarbonsAUFermeglia, MPricl, SSOFLUID PHASE EQUILIBRIAVL166IS1BP21EP37PY1999TC15UTWOS:000084257700002SN0378-3812EREF<br />Si può vedere l’intestazione del file “FN” “VR” , l’inizio del riferimento “PT”, i vari campi, la chiusura del riferimento “ER” e la chiusura del file “EF”.<br />2.2.3 Formato RIS<br />Ultimo formato descritto è il RIS. E’ anche esso un file di testo e la sua struttura è abbastanza semplice. Ogni riferimento è composto da vari campi, e ognuno è preceduto da un’etichetta o “tag” di sei caratteri. Ogni tag ha le prime due lettere maiuscole seguite da due spazi, un trattino “-” e infine un altro spazio. Alla fine di ogni campo deve essere inserito il “carriage return/line feed”.<br />Tutti i riferimenti devo iniziare con il tag “TY - ” seguito dal tipo di riferimento per esempio JOUR, BOOK. E concludersi con “ER - ”. Gli altri possono essere in qualsiasi ordine e anche, in alcuni casi, ripetuti come per indicare tutti gli autori.<br />Qui sotto riporto una selezione dei tag del formato:<br />T1 - : il titolo del lavoro;<br />AU - : il nome dell’autore. Nel caso in cui ne siano di più uno deve essere indicato su una riga diversa ripetendo il tag. Il formato del nome deve essere: cognome, nome, suffisso. L’ultimo parametro può essere opzionale;<br />PY - : l’anno della pubblicazione in formato aaaa/mm/gg;<br />KW - : le parole chiave. Ognuna su una riga diversa;<br />SP - : il numero di pagina iniziale;<br />EP - : il numero di pagina finale;<br />JO - : il nome del giornale;<br />VL - : il numero di volume.<br />Di seguito viene presentato un esempio di riferimento bibliografico usando il formato RIS. Si può capire che si tratta di un articolo di giornale “TY - JOUR”, il titolo “T1”, il nome del giornale “JO”, informazione aggiuntive come “VL” il volume “IS”, “SP” e “EP”. E si può notare che i diversi autori sono posti ognuno su una riga con il tag “AU”.<br />TY - JOURT1 - Liquid-liquid equilibrium data for ternary systems containing organic acid, hydrocarbon and waterJO - Fluid Phase EquilibriaVL - 18IS - 1SP - 93EP - 102PY - 1984///AU - Alessi, P.AU - Kikic, I.AU - Fermeglia, M.AU - Nonino, C.SN - 0378-3812M3 - doi: DOI: 10.1016/0378-3812(84)80024-2UR - http://www.sciencedirect.com/science/article/B6TG2-43VCVK2-6/2/2d9b4ef3e087c2ff61806db23beb39e6ER -<br />2.2.4 Differenze con formato di U-Gov<br />In questo capito verranno analizzate le differenze tra i formati presi in considerazione nella sezione precedente e i file esportati dal sistema U-Gov.<br />2.2.4.1 Formato Bibtex<br />Per prima cosa tratteremo il formato BibTex. Di seguito viene riportato un esempio di output del sistema U-Gov in questo formato.<br />@ARTICLE{, author = {Toth R. and Fermeglia M. and Pricl S. and Mensitieri G. and LavorgnaM. and Piscitelli F.}, title = {Sodium montmorillonite silylation: Unexpected effect of the aminosilanechain length}, journal = {JOURNAL OF COLLOID AND INTERFACE SCIENCE}, year = {2010}, volume = {351}, pages = {108--115}, keywords = {Simulazione molecolare}, url = {http://www.scopus.com/inward/record.url?eid=2-s2.0-77956228853&partnerID=40&md5=cb071899e06c4c4f322a45d8353c124f}}<br />Per prima cosa si nota, all’inizio del riferimento, la mancanza della chiave di citazione che sarebbe dovuta essere tra la parentesi graffa e la virgola. La seconda riguarda i nomi degli autori che sono riportati nella forma cognome nome, andrebbero divisi da una virgola.<br />Applicando le due variazioni esposte sopra al riferimento si otterrebbe il seguente risultato.<br />@ARTICLE{Toth2010,author = {Toth, R. and Fermeglia, M. and Pricl, S. and Mensitieri, G. and Lavorgna,M. and Piscitelli, F.},title = {Sodium montmorillonite silylation: Unexpected effect of the aminosilanechain length},journal = {JOURNAL OF COLLOID AND INTERFACE SCIENCE},year = {2010},volume = {351},pages = {108--115},keywords = {Simulazione molecolare},url = {http://www.scopus.com/inward/record.url?eid=2-s2.0-77956228853&partnerID=40&md5=cb071899e06c4c4f322a45d8353c124f}}<br />2.2.4.2 Formato ISI<br />Adesso verrà trattato il formato ISI. Di seguito viene riportato un esempio di output del sistema U-Gov in questo formato.<br />PTArticleAUP. CosoliM. FermegliaM. FerroneTIMolecular Simulation of Atrazine Adhesion and Diffusion in a Saturated Sand ModelSOMolecular Simulation of Atrazine Adhesion and Diffusion in a Saturated Sand ModelSESOIL & SEDIMENT CONTAMINATIONPY2010PD2010VL19BP72EP87DI10.1080/15320380903390505PG15UTWOS:000273988200005ERPTArticleAUTonelli M. Boido V. La Colla P.L., Loddo R., Posocco P., Paneni M.S., Fermeglia M., Pricl S.TIPharmacophore modeling, resistant mutant isolation, docking, and MM-PBSA analysis: Combined experimental/computer-assisted approaches to identify new inhibitors of the bovine viral diarrhea virus (BVDV)SOPharmacophore modeling, resistant mutant isolation, docking, and MM-PBSA analysis: Combined experimental/computer-assisted approaches to identify new inhibitors of the bovine viral diarrhea virus (BVDV)IDsimulazioneSEBIOORGANIC & MEDICINAL CHEMISTRYPY2010PD2010VL18BP2304EP2316PG12ER<br />Per prima cosa si può notare la mancanza nella prima riga del tag “FN” che definire il tipo di file seguito dal tag “VR” per la versione: di norma “FN ISI Export Format” “VR 1.0” . E il tag di chiusura del file “EF”.<br />Adesso analizziamo i singoli record che iniziano con il tag “PT” e terminano con “ER”.<br />Il tag “PT” non può essere seguito da “Article”, se si riferisce a un articolo pubblicato su rivista, deve essere “journal” oppure semplicemente “J”.<br />Vengono usati in modo erroneo i tag:<br />“SO”: si riferisce al titolo del giornale e non al titolo della pubblicazione;<br />“SE”: si riferisce a una collana di libri non al titolo della rivista;<br />“PD”: si riferisce al giorno e al mese della pubblicazione per esempio “JUN 8” o soltanto “JUN” non all’anno che viene specificato nel tag “PY”.<br />Altra differenza è nella gestione degli autori, che dovrebbero essere uno per riga ed indicato prima il cognome seguito dalla virgola e poi il nome, ma questo errore può essere anche imputato a problemi di immissione. Al contrario della mancanza di allineamento dovuto al non rispetto dello spazio del tag, in questo caso 3 spazi.<br />Di seguito vengono riproposti gli stessi due record nel formato ISI.<br />FNISI Export FormatVR1.0PTJAUCosoli, P.Fermeglia, M.Ferrone, M.TIMolecular Simulation of Atrazine Adhesion and Diffusion in a Saturated Sand ModelSOSOIL & SEDIMENT CONTAMINATIONPY2010VL19BP72EP87DI10.1080/15320380903390505PG15UTWOS:000273988200005ERPTJAUTonelli, M.Boido, V.La Colla P.L.Loddo R.Posocco P.Paneni M.S.Fermeglia M.Pricl S.TIPharmacophore modeling, resistant mutant isolation, docking, and MM-PBSA analysis: Combined experimental/computer-assisted approaches to identify new inhibitors of the bovine viral diarrhea virus (BVDV)IDsimulazioneSOBIOORGANIC & MEDICINAL CHEMISTRYPY2010VL18BP2304EP2316PG12EREF<br />Come si può notare sono stati aggiunti i tag “FN”, “VR” e “ER”. Gli autori sono stati allineati, corretto l’uso del tag “SO”, e l’eliminazione dei tag errati “SE” e “PD”.<br />In questo capito, corrispondente all’obiettivo O1, è stato analizzato lo stato dell’arte e i principali formati per i riferimenti bibliografici. Si è visto che la maggior parte dei reference manager importa e esporta i formati BibTex e RIS. Quindi si è passati ad analizzare alcuni formati non potendo affermare una superiorità di uno rispetto agli altri.<br />3 Analisi del problema<br />In questo capito verranno definiti i requisiti e analizzata la struttura già esistente.<br />3.1 Requisiti del sistema<br />Richiesta fondamentale è stata la definizione di un middleware per la gestione dei riferimenti bibliografici che possa gestire le informazioni derivanti da vari formati di catalogazione delle pubblicazioni. Come si vede in figura 3.1 intorno al middleware verranno sviluppate interfacce che permettano l’acquisizione delle informazioni e la loro esportazione, con la possibilità di interagire con il database presente nella facoltà.<br />Figura 3.1 Struttura del sistema<br />Bisognerà creare un’interfaccia utente per l’importazione e l’esportazione dei formati bibliografici, una per controllare la correttezza delle informazioni che verranno inserite nel database.<br />Vincolo progettuale è la necessità di mantenere la struttura del database invariata perché sfruttata da altre applicazioni, quindi bisognerà creare una struttura software al di sopra di esso che permetta di eseguire le funzioni richieste.<br />3.2 Struttura già esistente<br />Qui di seguito viene riportato la struttura E/R del database. Come si può vedere l’entità principale è “Titolo” che contiene i dati fondamentali dei riferimenti. E’ messa in relazione con il “Luogo” dove può essere presentata in un congresso o pubblicata su una rivista. E’ anche in relazione con lo “Staff” per definire chi è accreditato per la pubblicazione. Ed infine relazionata con “Keyword” per selezionare le parole chiave.<br />Figura 3.2 Schema E/R del database<br />Il database è stato realizzato nel seguente modo.<br />Figura 3.3 Schema del database<br />Adesso verranno descritte le principali tabelle.<br />tblTitoliID_titoloCodice che identifica UNIVOCAMENTE la pubblicazione. CHIAVE PRIMARIAAutoriLista completa degli autori, immessi nella forma nome virgola cognomeRiferimentoRiferimenti della pubblicazione nella formaVolume : Pag iniziale – Pagina finale (Anno)ID_StatoChiave esterna alla tabella tblStatoTitolo. Per indicare lo stato della pubblicazione. Per esempio pubblicatoID_RivistaChiave esterna alla tabella tblRiviste.ID_CongressoChiave esterna alla tabella tblCongressiAnnoAnno della pubblicazioneTitoloTitolo della pubblicazioneID_TipoPubbChiave esterna alla tabella tblTipoPubbl. Per indicare il tipo di pubblicazione. Per esempio articolo su rivista<br />tblRivisteID_RivistaCodice che identifica UNIVOCAMENTE la rivista. CHIAVE PRIMARIADenominazioneTitolo della rivista.RivistaInternazionalePer identificare se è una rivista internazioleLuogo pubblicazioneIl luogo della pubblicazione<br />tblKeywordID_KeywordCodice che identifica UNIVOCAMENTE la parola chiave. CHIAVE PRIMARIAKeywordLa parola chiave<br />tblStaffID_StaffCodice che identifica UNIVOCAMENTE la persona dello staff. CHIAVE PRIMARIACognomeCognomeNomeNome<br />In questo capito, corrispondente all’obiettivo O2, sono stati delineati tutti i requisiti che dovrà rispettare il sistema ed è stato analizzata la struttura del database esistente che non potrò essere modifica.<br />4 Progettazione del Middleware<br />In questo capitolo verrà descritto la struttura interna del middleware e verranno definite tutte le interfacce necessarie per il raggiungimento dell’obiettivo prefissato all’inizio dell’elaborato.<br />4.1 Definizione della struttura interna del Middleware<br />Per definire la struttura interna del middleware è stato utile analizzare i formati ISI, RIS, BibTex, soprattutto metterli a confronto.<br />Nella tabella seguente è stata schematizzata la struttura dei formati dei riferimenti in modo da evidenziare quello più completo per il nostro scopo.<br />SpecificationFormato ISIFormato RISFormato BibTexAbstractABN2 Authors fullAFA1-A2-A3AuthorArt num of new APS journals in ISIAP Article number of new APS journalsAR AuthorsAUAU ISBNBNSN Beginning pageBPSPpagesResearch groupC1 Group authorsCA Conference locationCL Cited referencedCR Conference titleCT Conference DateCY Original keywordsDEKWKeywordsDOIDIdoiDocument typeDTTypeEditorsED E-mail AddressesEM Ending pageEPEPpagesEnd of a recordER File nameFN Funding agency and grant numberFU Funding textFX IDS number (ISI original)GA New keyboard given by ISIIDKWKeywordsIssueISIS 20 character journal title abbreviationJ9 ISO journal title abbreviationJIJO LanguageLA Cited reference countNR Pubblication DatePDY1-PY-Y2Month - yearPublisher addressPAADAddressthe number of pagePG Publisher cityPICY Part numberPN Pubblication typePTTY PublisherPUPBPublisherPublication yearPY Reprint addressRPRP Book series titleSET3booktitle - seriesSpecial issueSI ISSNSNSNissnjournal title, in fullSOJF-JAjournalConference sponsorSPorganizationSupplementSU Times citedTC TitleTIT1-TITitleISI unique article identifierUT VolumeVLVLnumber - volumePublisher web addressWP URLURURurlReference ID IDkeyUnpublished work reference CT Field alphanumeric character BT Notes N1Annote - noteSecondary title T2 Availability AV Link to PDF L1 Link to full text  L2 Database key CrossrefEdition of a book EditionHow published HowPublishedSponsoring istitution istitutionName of the school school<br />Come si può vedere il formato che risponde maggiormente alle nostre esigenze è quello ISI.<br />Quindi si è deciso di definire la struttura interna del middleware utilizzando come modello quella del formato ISI.<br />4.2 Progettazione delle interfacce<br />Come richiesto nei requisiti bisogna progettare anche le interfacce di importazione ed esportazione dei formati bibliografici e quella di controllo delle informazioni che verranno immesse nel database.<br />Ogni formato analizzato ha delle peculiarità che lo differenziano dagli altri, quindi senza necessità di intervento umano si può stabilire di che tipo siano. Allora si è deciso di creare un modulo, come si può vedere in figura 4.1, che accettasse tutti i tipi di file e autonomamente selezioni la tipologia di formato avviandone la decodifica in modo da prepararlo all’immissione nel middleware.<br />Figura 4.1 Schematizzazione modulo immissione riferimenti<br />Per eseguire l’export si è creato un modulo, come in figura 4.2, che seguendo l’indicazione dell’utente scelga la tipologia di formato desiderato e poi scriva il file su disco.<br />Figura 4.2 Schematizzazione modulo esportazione riferimenti<br />Per quanto riguarda l’interfaccia per il controllo delle informazioni sui riferimenti da inserire nel database, riportato in figura 4.3, si è dovuto prima progettare un’interfaccia che permettesse all’utente la loro visione, poi la creazione di un altro strato composto da stored procedure che potessero ristrutturare i dati in maniera da renderli compatibili alla struttura del database.<br />Figura 4.3 Schematizzazione moduli salvataggio riferimenti su database<br />In questo capito, corrispondente all’obiettivo O3, è stato progettato tutto il sistema definendo per prima cosa la struttura interna del middleware per poi passare alle interfacce di comunicazione con l’esterno e il database.<br />5 Riprogettazione del database<br />In questo capitolo verranno descritte le modifiche che saranno necessarie al database.<br />5.1 Modifica struttura fisica<br />Come detto nel capitolo 3, vincolo progettuale era il non modificare la struttura relazionale e logica del database visto che veniva usufruito da altri servizi.<br />Dopo l’analisi del database si è deciso di aggiungere nella tabella riguardante le riviste un campo che potesse definirle meglio ed diminuire i possibili errori di battitura. Il campo rappresenta il codice ISSN che è il numero internazionale per identificare i periodici, come quotidiani o riviste, a stampa o elettronici.<br />Così facendo viene modificata solo la struttura fisica del database non contravvenendo ai requisiti e la tabella risultante viene riportata qui sotto.<br />tblRivisteID_RivistaCodice che identifica UNIVOCAMENTE la rivista. CHIAVE PRIMARIADenominazioneTitolo della rivista.RivistaInternazionalePer identificare se è una rivista internazioleLuogo pubblicazioneIl luogo della pubblicazioneISSNIdentificativo della rivista<br />5.2 Progettazione stored procedure<br />Per supplire alle altre mancanze si è scelto di creare uno strato software in grado di trasformare i dati ricevuti dal modulo di controllo dei riferimenti al database.<br />Le stored procedure create sono di due tipi:<br />di visualizzazione che servono per reperire tutti i nomi dello staff e controllare se la pubblicazione non è stata già registrata;<br />di immissione che serve per inserire un nuovo riferimento bibliografico nel database.<br />Visto che non è stato possibile reperire tutti i codici ISSN delle riviste, in fase di inserimento viene effettuato un controllo prima per i ISSN se negativo si procede alla ricerca tramite il nome della rivista che determina l’inserimento di un nuovo record o alla modifica di quello esistente.<br />In questo capito si sono esposte le modifiche effettuate al database dei riferimenti bibliografici della facoltà e descritto il funzionamento delle stored procedure che servono alla ristrutturazione dei dati proveniente dal sistema descritto in questo elaborato.<br />6 Interfaccia del progetto<br />In questo capitolo verranno descritte le interfacce utente del sistema.<br />6.1 Interfaccia principale<br />Avviato il programma si avvia l’interfaccia riportata qui sotto.<br />Figura 6.1 Interfaccia principale<br />Per prima cosa al centro dell’interfaccia troviamo un datagridview per visualizzare i riferimenti bibliografici che sono stati caricati.<br />In basso a sinistra troviamo il tasto Importa che fa apparire la finestra apri file dove è possibile scegliere il file da importare, alla fine viene visualizzata una form di report che informa del numero di riferimenti caricati e in quale formato erano.<br />Poi in basso in centro troviamo il tasto Esporta che fa aprire la finestra di salva file per scegliere il nome del file da esportare. Al suo ok viene visualizzata una form di report con il numero di riferimenti e il formato in cui sono stati salvati. Affianco a questo tasto troviamo una combo box che al suo interno riporta tutti i tipi di formati che il sistema può esportare.<br />Dopo la combo box troviamo il tasto Salva su DB che apre l’interfaccia per l’immissione dei riferimenti nel database.<br />Infine in basso a destra troviamo il tasto Chiudi che serve a chiudere il programma.<br />6.2 Interfaccia controllo per immissione dati nel database<br />Premuto il tasto salva su DB si apre la seguente form.<br />Figura 6.2 Interfaccia salva in DB<br />Partendo dall’alto ci sono sei textbox dove vengono riportati i dati presenti nei riferimenti bibliografici caricati, con la possibilità di modificarli.<br />Sotto c’è un datagridview per visualizzare, modifica, aggiungere le parole chiavi. Affianco c’è un altro che consente di visualizzare, modificare o aggiungere lo staff accreditato della pubblicazione che viene riempito dai nomi del personale della facoltà presenti nella lista degli autori.<br />In basso a sinistra troviamo i tasti Indietro e Avanti che servono per navigare tra i riferimenti. Alla loro destra troviamo il tasto Salva che serve a memorizzare i dati nel database. In basso a destra troviamo il tasto Chiudi che ci riporta all’interfaccia principale.<br />Nel caso in cui il riferimento sia già presente nel database il tasto salva viene disabilitato come anche gli altri campi e viene visualizzato sotto il nome della rivista la scritta “Riferimento già presente nel database”<br />In questo capito, corrispondente all’obiettivo O4, è stato implementato tutta la logica di funzionamento del sistema.<br />7 Esempio di utilizzo<br />In questo capitolo verrà mostrato un esempio di utilizzo del software creato.<br />Figura 7.1 Interfaccia principale<br />Per prima cosa bisogna caricare un file di riferimenti bibliografici, per fare ciò basta premere sul tasto Importa.<br />Figura 7.2 Apri file<br />Si sceglie il file desiderato e si preme Apri.<br />Figura 7.3 Form di report<br />Alla fine verrà mostrato una form che segnalerà quanti riferimenti e di che tipo sono stati caricati.<br />Figura 7.4 Interfaccia principale dopo caricamento<br />Premendo OK nella form di report si chiuderà e si possono vedere il titolo, il nome della rivista e l’anno dei riferimenti caricati.<br />Figura 7.5 Interfacci immissione nel DB con record già esistente<br />Premendo il tasto Salva su DB si aprirà l’interfaccia di controllo dei dati. In questo caso il riferimento è già presente nel database allora sono stati disabilitati tutti i campi ed è comparsa la scritta in rosso “Riferimento già presente nel database”.<br />Figura 7.6 Interfacci immissione nel DB con record da inserire<br />Premendo il tasto Avanti si passa al successivo riferimento. Non essendo già nel database può essere salvato, per far ciò basta premente salva e il riferimento scompare visualizzando il successivo.<br />Finita l’immissione si può premere il tasto chiusi sia dell’interfaccia di immissione dati nel database sia in quella principale.<br />In questo capitolo si è mostrato un esempio di funzionamento del programma realizzato in questo elaborato.<br />8 Conclusioni<br />In questo capitolo vengono analizzati gli obiettivi di questa tesi, per discutere il loro raggiungimento o meno e proporre sviluppi futuri.<br />Il primo obiettivo secondaro era lo studio dello stato dell’arte dei programmi di reference manager e i formati. Per quanto riguarda i reference manager sono stati analizzati i vari formati di import ed export rilevando i formati maggiormente utilizzati: BibTex e RIS. Per la descrizione dei formati si sono delineati due tipologie una che utilizza un preambolo di dimensione fissa e una con l’indicazione di parole chiave.<br />Il secondo riguardava l’analisi del problema portando alla comprensione di tutti i requisiti e allo studio del database in uso nella facoltà. Requisito fondamentale era la definizione di un middleware per la gestione dei riferimenti e la non possibilità di modificare l’architettura del database.<br />Il terso era la progettazione del sistema in tutte le sue parti, mostrando quale formato interno è stato scelto per il middleware e definito tutti i moduli richiesti nei requisiti.<br />Il quarto, l’implementazione di tutto il sistema, apportando le modifiche al database, creando tutte le stored procedure necessarie, e creando tutti i moduli descritti nella progettazione.<br />In conclusione l’obiettivo principale dell’elaborato che era la progettazione e l’implementazione di una piattaforma middleware per la gestione dei riferimenti bibliografici è stata raggiunta.<br />Per fare ciò sono state scritte circa milleottocentosessantotto righe di codice non autogenerato, sei stored procedure, modificata una tabella nel database e dodici classi.<br />Questo progetto però non è stato ancora testato nel reale sistema ma solo tramite l’ambiente di sviluppo. Un’ipotetica fase successiva sarà quella di testarlo sul database esistente in modo da vedere se la coesistenza con gli altri elementi già esistenti è funzionante, eventualmente controllare che i requisiti nel tempo non siano variati.<br />Sviluppi futuri potrebbero essere la definizione di moduli di import/export in altri formati, trasformare l’applicazione in un webservice, lo sviluppo di un’interfaccia web.<br />Appendice<br />L’appendice è presente nel cd allegato.<br />Struttura del CD:<br />ocumenti: i documenti della tesi,<br />odice: il codice in formato VS 2010,<br />B: il database in formato backup del Sql Server 2008,<br />ormati: alcuni esempi di formati in ingresso e in uscita dal Middlaware.<br />Bibliografia:<br />[Marco Ferrero, 2008] Marco Ferrero SQL, Apogeo<br />[Nadia Bianchi, Alessandro Valli, 2002] c# reference, McGrawHill<br />[Autori Vari, 2007] SQL Server, Guida per l’amministratore di rete, Hoepli<br />[Sharp John, 2008] Microsoft Visual C# 2008 passo per passo, Mondadori Informatica<br />[MSDN, 2011] http://msdn.microsoft.com/it-it/default.aspx (referenze per le classi)<br />[Maurizio Fermeglia, 2011]Dispense del professor Maurizio Fermeglia su Store Procedure e stesura requisiti database<br />