Progetto e sviluppo di un tool di sincronizzazione personalizzato tra un server database e un palmare Relatore prof. Sonia Bergamaschi CorrelatoreCandidato ing. Massimiliano MalagutiAndrea Sita Tesi realizzata presso:
Inquadramento del progetto Utilizzo dei palmari come dispositivi di scansione e riconoscimento delle parti Registrazione delloperazione svolta dallutente Sincronizzazione tra il server e il palmare
Sincronizzazione Avviene ogni volta che loperatore inserisce il palmare nella sua base Lapplicativo aggiorna il database remoto Cancella e ricrea quello locale Popola il database locale leggendo da quello remoto
Specifiche di progetto Riconoscimento di una parte tramite lettura del codice a barre Aggiornamento dello stato di una parte movimentata Interfaccia grafica essenziale e semplice Nessuna risoluzione di errori delegata allutente Aggiornamento il più immediato possibile Sincronizzazione in qualsiasi momento
Ambiente di sviluppo Il cliente è partner Microsoft Ambiente di sviluppo: Microsoft Visual Studio.NET 2003 Piattaforma:.NET Compact Framework Linguaggio: C# Accesso ai dati: - MS SQL Server MS SQL Server CE (sul palmare)
Interfaccia grafica Essenziale e chiara Controlli disattivati Sfondo rosso durante la sincronizzazione Sfondo giallo quando è in attesa Tasto refresh per forzare la sincronizzazione
Palmare Aggiornamento DB Sincronizzazione tra palmare e server Server Database remoto Inizio Transazione SQL Commit Database locale Lettura dati Aggiornamento DB locale Transazione sql
Scrittura file XML Sincronizzazione tra palmare e server Server Palmare Database remotoDatabase locale Lettura file XML Aggiornamento DB locale Aggiornamento DB remoto Trasferimento di XML
Sincronizzazione tra palmare e server totale sincronizzazione tempo guadagnato (percentuale) XMLSQL prima volta05:13,002:41,048,56% primo refresh04:42,002:49,040,07% secondo refresh05:16,002:35,050,95% terzo refresh04:46,002:53,039,51% quarto refresh04:42,002:41,042,91% Media04:55,802:43,844,62% Transazione SQL più veloce Più sicura Analisi dei tempi
Gestione degli errori più comuni Errori generati dallutente - errore durante laggiornamento del DB remoto Rollback -errore durante la lettura del DB remoto Form non abilitato Richiesta sincronizzazione
Gestione degli errori più comuni Errori di sistema -errata lettura di setup.ini -errore durante lapertura della connessione -errore in lettura o scrittura del DB remoto -errore di popolamento DB locale -mancato riconoscimento della presenza di rete
Test dellapplicazione Problemi tecnici dovuti ai limiti della piattaforma: -connessione USB tra desktop e palmare (utilizzata per linstallazione dellapplicativo) -chiusura dei thread -metodo per la verifica della connessione di rete (problema di cache)
Test dellapplicazione presso il cliente Primo test -problemi nella connessione utilizzando DHCP -modifiche allinterfaccia grafica (sfondo del form rosso e nuovo form per le informazioni) -introduzione dellimplemen- tazione con XML
Test dellapplicazione presso il cliente Secondo test -ancora problemi nella connessione utilizzando DHCP (il palmare non comunica il suo hostname al server) problema non risolto: limite del sistema operativo -colore di sfondo giallo ad ultimata sincronizzazione
Conclusioni Durante il periodo di stage svolto è stato sviluppato un software di circa 2000 righe che implementa il tool di sincronizzazione Il tool realizzato permette di: Rendere più semplice ed efficiente il lavoro dei magazzinieri Ridurre gli errori di spedizione più comuni Monitorare costantemente e in tempo reale la posizione della merce
Grazie dellattenzione