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