Progetto e sviluppo di un tool di sincronizzazione personalizzato tra un server database e un palmare Relatore prof. Sonia Bergamaschi Correlatore Candidato ing. Massimiliano Malaguti Andrea Sita Tesi realizzata presso: Inquadramento del progetto Utilizzo dei palmari come dispositivi di scansione e riconoscimento delle parti Registrazione dell’operazione svolta dall’utente Sincronizzazione tra il server e il palmare Sincronizzazione Avviene ogni volta che l’operatore inserisce il palmare nella sua base L’applicativo 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 all’utente 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 2000 - 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 Transazione sql Sincronizzazione tra palmare e server Server Palmare Inizio Transazione SQL Lettura dati Aggiornamento DB Commit Aggiornamento DB locale Database remoto Database locale Trasferimento di XML Sincronizzazione tra palmare e server Palmare Server Scritturafile fileXML XML Lettura Aggiornamento DB remoto Aggiornamento DB locale Database remoto Database locale Sincronizzazione tra palmare e server Analisi dei tempi totale sincronizzazione XML SQL tempo guadagnato (percentuale) prima volta 05:13,0 02:41,0 48,56% primo refresh 04:42,0 02:49,0 40,07% secondo refresh 05:16,0 02:35,0 50,95% terzo refresh 04:46,0 02:53,0 39,51% quarto refresh 04:42,0 02:41,0 42,91% Media 04:55,8 02:43,8 44,62% Tempo totale Transazione 05:45,6 04:19,2 02:52,8 01:26,4 XML SQL 00:00,0 SQL XML 1 2 3 4 5 SQL più veloce Più sicura Gestione degli errori più comuni Errori generati dall’utente - - errore durante l’aggiornamento 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 l’apertura della connessione errore in lettura o scrittura del DB remoto errore di popolamento DB locale mancato riconoscimento della presenza di rete Test dell’applicazione Problemi tecnici dovuti ai limiti della piattaforma: - connessione USB tra desktop e palmare (utilizzata per l’installazione dell’applicativo) - chiusura dei thread - metodo per la verifica della connessione di rete (problema di cache) Test dell’applicazione presso il cliente Primo test - - problemi nella connessione utilizzando DHCP modifiche all’interfaccia grafica (sfondo del form rosso e nuovo form per le informazioni) introduzione dell’implementazione con XML Test dell’applicazione 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 dell’attenzione