IMPLEMENTAZIONE DI UN TOOL PARAMETRIZZATO PER LA RICERCA E LA VISUALIZZAZIONE DELLE DIFFERENZE TRA DOCUMENTI  XML<br />Tut...
Laureando: Paolo ImportuniFacoltà di Ingegneria dell’Informazione<br />2<br />XML lingua franca per la comunicazione tra a...
XML<br />esempio di utilizzi:<br />dalle applicazioni finanziarie alle sequenze genomiche<br />standard per la memorizzazi...
Laureando: Paolo ImportuniFacoltà di Ingegneria dell’Informazione<br />4<br />Le informazioni in rete cambiano velocemente...
Xml diffingesempi di impiego<br />per identificare le variazioni subite dalle banche dati di interesse biologico<br />per ...
Laureando: Paolo ImportuniFacoltà di Ingegneria dell’Informazione<br />6<br />Use Case cosa può variare in un documento XM...
Difficoltà<br />perché il confronto è difficile?<br />Si tratta di informazione strutturata<br />Laureando: Paolo Importun...
Laureando: Paolo ImportuniFacoltà di Ingegneria dell’Informazione<br />8<br />Service Configuration<br /><?xml version="1....
Laureando: Paolo ImportuniFacoltà di Ingegneria dell’Informazione<br />9<br />Service Configuration<br /><?xml version="1....
Laureando: Paolo ImportuniFacoltà di Ingegneria dell’Informazione<br />10<br /><?xml version="1.0" encoding="utf-8" ?><br ...
STATO DELL’ARTEtools disponibili in Rete<br />strumenti  line-oriented<br />strumenti  per confronto di strutture gerarchi...
Una nuova implementazione?<br />sorgenti non disponibili<br />output dalla scarsa immediatezza grafica<br />difficile gest...
Implementazione<br />Laureando: Paolo ImportuniFacoltà di Ingegneria dell’Informazione<br />13<br />Implementazione di un ...
Implementazione<br />Laureando: Paolo ImportuniFacoltà di Ingegneria dell’Informazione<br />14<br />Utilizzare le informaz...
Matching dei nodi<br />Laureando: Paolo ImportuniFacoltà di Ingegneria dell’Informazione<br />15<br />Implementazione di u...
Matching<br />Laureando: Paolo ImportuniFacoltà di Ingegneria dell’Informazione<br />16<br />Implementazione di un tool pa...
Matching sintattico<br />Laureando: Paolo ImportuniFacoltà di Ingegneria dell’Informazione<br />17<br />Implementazione di...
Matching semantico<br />Laureando: Paolo ImportuniFacoltà di Ingegneria dell’Informazione<br />18<br />Implementazione di ...
Matching sintattico<br />Laureando: Paolo ImportuniFacoltà di Ingegneria dell’Informazione<br />19<br />Implementazione di...
Matching semantico<br />Laureando: Paolo ImportuniFacoltà di Ingegneria dell’Informazione<br />20<br />Implementazione di ...
Laureando: Paolo ImportuniFacoltà di Ingegneria dell’Informazione<br />21<br />File diconfigurazione<br /><?xml version="1...
Implementazione<br />Laureando: Paolo ImportuniFacoltà di Ingegneria dell’Informazione<br />22<br /><ul><li>Variazioni del...
Inserimenti nuovi nodi
Cancellazione nodi</li></ul>Implementazione di un tool parametrizzato per la ricerca e la visualizzazione delle differenze...
Implementazione<br />Laureando: Paolo ImportuniFacoltà di Ingegneria dell’Informazione<br />23<br />Riallineamento dei due...
Patching<br />Laureando: Paolo ImportuniFacoltà di Ingegneria dell’Informazione<br />24<br />Implementazione di un tool pa...
Performance  1<br />Laureando: Paolo ImportuniFacoltà di Ingegneria dell’Informazione<br />25<br />Implementazione di un t...
Performance  2<br />Laureando: Paolo ImportuniFacoltà di Ingegneria dell’Informazione<br />26<br />Implementazione di un t...
Upcoming SlideShare
Loading in …5
×

Xml Diff Diffing Tesi

666 views

Published on

Slides for discussion of my dissertation

Published in: Technology, News & Politics
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
666
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Xml Diff Diffing Tesi

  1. 1. IMPLEMENTAZIONE DI UN TOOL PARAMETRIZZATO PER LA RICERCA E LA VISUALIZZAZIONE DELLE DIFFERENZE TRA DOCUMENTI XML<br />Tutor universitario:Prof.ssa Sara Comai<br />Laureando:Paolo Importuni<br />
  2. 2. Laureando: Paolo ImportuniFacoltà di Ingegneria dell’Informazione<br />2<br />XML lingua franca per la comunicazione tra agenti che operano in Rete <br />Implementazione di un tool parametrizzato per la ricerca e la visualizzazione delle differenze tra documenti Xml<br />
  3. 3. XML<br />esempio di utilizzi:<br />dalle applicazioni finanziarie alle sequenze genomiche<br />standard per la memorizzazione di parametri di configurazione <br />classificazione di codici sorgenti (progetti, namespace, classi, metodi...)<br />descrizione di dati e metadati esportati da database<br />Laureando: Paolo ImportuniFacoltà di Ingegneria dell’Informazione<br />3<br />Implementazione di un tool parametrizzato per la ricerca e la visualizzazione delle differenze tra documenti Xml<br />
  4. 4. Laureando: Paolo ImportuniFacoltà di Ingegneria dell’Informazione<br />4<br />Le informazioni in rete cambiano velocemente ...<br />..assume grande importanza la capacità di rilevare cambiamenti tra diverse versioni di uno stesso documento Xml !<br />Implementazione di un tool parametrizzato per la ricerca e la visualizzazione delle differenze tra documenti Xml<br />
  5. 5. Xml diffingesempi di impiego<br />per identificare le variazioni subite dalle banche dati di interesse biologico<br />per il versioncontrol di progetti di sviluppo software<br />per il confronto e la sincronizzazione di database<br />...<br />Laureando: Paolo ImportuniFacoltà di Ingegneria dell’Informazione<br />5<br />Implementazione di un tool parametrizzato per la ricerca e la visualizzazione delle differenze tra documenti Xml<br />
  6. 6. Laureando: Paolo ImportuniFacoltà di Ingegneria dell’Informazione<br />6<br />Use Case cosa può variare in un documento XML?<br />Implementazione di un tool parametrizzato per la ricerca e la visualizzazione delle differenze tra documenti Xml<br />
  7. 7. Difficoltà<br />perché il confronto è difficile?<br />Si tratta di informazione strutturata<br />Laureando: Paolo ImportuniFacoltà di Ingegneria dell’Informazione<br />7<br />Implementazione di un tool parametrizzato per la ricerca e la visualizzazione delle differenze tra documenti Xml<br />
  8. 8. Laureando: Paolo ImportuniFacoltà di Ingegneria dell’Informazione<br />8<br />Service Configuration<br /><?xml version="1.0" encoding="utf-8" ?><br /><configuration><br /> <system.serviceModel><br /> <services><br /> <service type=“HelloService"<br /><endpoint address=“http://localhost/HelloService"<br /> binding=“basicHttpBinding"/><br /> </service><br /> </services><br /> </system.serviceModel><br /></configuration><br />Implementazione di un tool parametrizzato per la ricerca e la visualizzazione delle differenze tra documenti Xml<br />
  9. 9. Laureando: Paolo ImportuniFacoltà di Ingegneria dell’Informazione<br />9<br />Service Configuration<br /><?xml version="1.0" encoding="utf-8" ?><br /><configuration><br /> <system.serviceModel><br /> <services><br /> <service type=“HelloService"<br /><endpoint address=“http://87.14.122.30/WCFService"<br /> binding=“NetTCPBinding"/><br /> </service><br /> </services><br /> </system.serviceModel><br /></configuration><br />Implementazione di un tool parametrizzato per la ricerca e la visualizzazione delle differenze tra documenti Xml<br />
  10. 10. Laureando: Paolo ImportuniFacoltà di Ingegneria dell’Informazione<br />10<br /><?xml version="1.0" encoding="utf-8" ?><br /><configuration><br /> <system.serviceModel><br /> <services><br /> <service type=“HelloService"<br /><endpoint address=“http://localhost/HelloService"<br /> binding=“basicHttpBinding“/><br /> </service><br /> </services><br /> </system.serviceModel><br /></configuration><br /><?xml version="1.0" encoding="utf-8" ?><br /><configuration><br /> <system.serviceModel><br /> <services><br /> <service type=“HelloService"<br /><endpoint address=“http://87.14.122.30/WCFService"<br /> binding=“NetTCPBinding"/><br /> </service><br /> </services><br /> </system.serviceModel><br /></configuration><br />Implementazione di un tool parametrizzato per la ricerca e la visualizzazione delle differenze tra documenti Xml<br />
  11. 11. STATO DELL’ARTEtools disponibili in Rete<br />strumenti line-oriented<br />strumenti per confronto di strutture gerarchiche<br />Gnu Diff<br />CVS<br />Laureando: Paolo ImportuniFacoltà di Ingegneria dell’Informazione<br />11<br />Html Diff<br />MH-Diff<br />XmlDiffGUI (IBM)<br />X-Diff<br />Xy-Diff<br />DeltaXml<br />....<br />Implementazione di un tool parametrizzato per la ricerca e la visualizzazione delle differenze tra documenti Xml<br />
  12. 12. Una nuova implementazione?<br />sorgenti non disponibili<br />output dalla scarsa immediatezza grafica<br />difficile gestire file di grosse dimensioni<br />difficile gestire molti livelli di nesting<br />necessità di incorporare le differenze rilevate su uno o l’altro dei documenti<br />Laureando: Paolo ImportuniFacoltà di Ingegneria dell’Informazione<br />12<br />Implementazione di un tool parametrizzato per la ricerca e la visualizzazione delle differenze tra documenti Xml<br />
  13. 13. Implementazione<br />Laureando: Paolo ImportuniFacoltà di Ingegneria dell’Informazione<br />13<br />Implementazione di un tool parametrizzato per la ricerca e la visualizzazione delle differenze tra documenti Xml<br />
  14. 14. Implementazione<br />Laureando: Paolo ImportuniFacoltà di Ingegneria dell’Informazione<br />14<br />Utilizzare le informazioni provenienti dai metadati per capire quali nodi confrontare<br />Implementazione di un tool parametrizzato per la ricerca e la visualizzazione delle differenze tra documenti Xml<br />
  15. 15. Matching dei nodi<br />Laureando: Paolo ImportuniFacoltà di Ingegneria dell’Informazione<br />15<br />Implementazione di un tool parametrizzato per la ricerca e la visualizzazione delle differenze tra documenti Xml<br />
  16. 16. Matching<br />Laureando: Paolo ImportuniFacoltà di Ingegneria dell’Informazione<br />16<br />Implementazione di un tool parametrizzato per la ricerca e la visualizzazione delle differenze tra documenti Xml<br />
  17. 17. Matching sintattico<br />Laureando: Paolo ImportuniFacoltà di Ingegneria dell’Informazione<br />17<br />Implementazione di un tool parametrizzato per la ricerca e la visualizzazione delle differenze tra documenti Xml<br />
  18. 18. Matching semantico<br />Laureando: Paolo ImportuniFacoltà di Ingegneria dell’Informazione<br />18<br />Implementazione di un tool parametrizzato per la ricerca e la visualizzazione delle differenze tra documenti Xml<br />
  19. 19. Matching sintattico<br />Laureando: Paolo ImportuniFacoltà di Ingegneria dell’Informazione<br />19<br />Implementazione di un tool parametrizzato per la ricerca e la visualizzazione delle differenze tra documenti Xml<br />
  20. 20. Matching semantico<br />Laureando: Paolo ImportuniFacoltà di Ingegneria dell’Informazione<br />20<br />Implementazione di un tool parametrizzato per la ricerca e la visualizzazione delle differenze tra documenti Xml<br />
  21. 21. Laureando: Paolo ImportuniFacoltà di Ingegneria dell’Informazione<br />21<br />File diconfigurazione<br /><?xml version="1.0" encoding="utf-8" ?><br /><configuration><br /><FmModule key=“Nome”/><br /><Application key=“Caption”/><br /><TreeView key=“HelloService”/><br /><ViewItem key=“Nome”/><br /><Prop key=“Nome”/><br /> <PropUpkey=“Nome”/><br /> <DetailModalEntry key=“FileName”/><br /><Acl key=“Nome”/><br /><child key=“skip”/><br /></configuration><br />Implementazione di un tool parametrizzato per la ricerca e la visualizzazione delle differenze tra documenti Xml<br />
  22. 22. Implementazione<br />Laureando: Paolo ImportuniFacoltà di Ingegneria dell’Informazione<br />22<br /><ul><li>Variazioni del valore dei nodi foglia
  23. 23. Inserimenti nuovi nodi
  24. 24. Cancellazione nodi</li></ul>Implementazione di un tool parametrizzato per la ricerca e la visualizzazione delle differenze tra documenti Xml<br />
  25. 25. Implementazione<br />Laureando: Paolo ImportuniFacoltà di Ingegneria dell’Informazione<br />23<br />Riallineamento dei due documenti<br />Implementazione di un tool parametrizzato per la ricerca e la visualizzazione delle differenze tra documenti Xml<br />
  26. 26. Patching<br />Laureando: Paolo ImportuniFacoltà di Ingegneria dell’Informazione<br />24<br />Implementazione di un tool parametrizzato per la ricerca e la visualizzazione delle differenze tra documenti Xml<br />
  27. 27. Performance 1<br />Laureando: Paolo ImportuniFacoltà di Ingegneria dell’Informazione<br />25<br />Implementazione di un tool parametrizzato per la ricerca e la visualizzazione delle differenze tra documenti Xml<br />
  28. 28. Performance 2<br />Laureando: Paolo ImportuniFacoltà di Ingegneria dell’Informazione<br />26<br />Implementazione di un tool parametrizzato per la ricerca e la visualizzazione delle differenze tra documenti Xml<br />
  29. 29. Conclusioni<br />Uno strumento di diffing ha grande valore per il controllo di versionamento e coerenza delle informazioni<br />Caso pratico: file di grandi dimensioni e molti livelli di nesting esportati da un gestionale aziendale<br />Gli strumenti disponibili in Rete si dimostrano insufficienti sotto l’aspetto semantico<br />Implementazione di un tool configurabile tramite un file Xml<br />Si sposta il confronto dei nodi dal piano sintattico a quello semantico<br />Lo strumento è stato effettivamente utilizzato per la sincronizzazione dei file esportati dal database<br />Laureando: Paolo ImportuniFacoltà di Ingegneria dell’Informazione<br />27<br />Implementazione di un tool parametrizzato per la ricerca e la visualizzazione delle differenze tra documenti Xml<br />
  30. 30. Problemi aperti e futuri sviluppi<br />Prestazioni migliorabili<br />Se la modellazione del Xml è carente è difficile trovare una chiave esplicita<br />Possibiità di adottare delle euristiche per valutare eventuali variazioni minime nel valore dei nodi<br />Porting da applicazione desktop a web application<br />Laureando: Paolo ImportuniFacoltà di Ingegneria dell’Informazione<br />28<br />Implementazione di un tool parametrizzato per la ricerca e la visualizzazione delle differenze tra documenti Xml<br />

×