Πάααααλι το Navision



? Τί γίνεται με αυτόν τον pardner ρε παιδί? Ποιός κάνει τη δουλειά ποιού?






Υποθέτω ότι οι εικόνες που θέλεις να συγκρίνεις προέρχονται πάντα από το ERP και απλά θέλεις να δεις αν μία νέα εικόνα που εμφανίστηκε στο server υπάρχει και στον client. Διαφορετικά, τα πράγματα είναι κομματάκι δύσκολα γιατί τα binaries θα είναι διαφορετικά ακόμα και αν δείχνουν το ίδιο προϊόν.
Αν λοιπόν μιλάμε για περίπτωση synchronization, έχεις διάφορες επιλογές.
Καταρχήν, μπορείς να χρησιμοποιήσεις κάποια λύση του στυλ BranchCache ή DFS-R, ή ακόμα και offline caching κάποιων shared folders για να αφήσεις τα ίδια τα λειτουργικά να κάνουν το synchronization και να μεταφέρουν μόνο τα δεδομένα που έχουν αλλάξει. Σε περιπτώσεις κειμένων ή PDF μάλιστα, θα γλυτώσεις bandwidth και από το differential sync που χρησιμοποιούν τα Windows. Εσύ ως IT ξέρεις προφανώς καλύτερα πως να το κάνεις αυτό

αλλά δεν ξέρω πόσο "φλύαρες" είναι αυτές οι τεχνολογίες και τί μπορεί να σου κοστίσουν πάνω από 3G.
Μία άλλη λύση είναι να κρατάς κάπου το hash κάθε εικόνας και ο κάθε client να συγκρίνει τα hashes των εικόνων του με τα hashes που θα κατεβάζει από το server. Αν τα hashes διαφέρουν, κατεβάζεις τις αντίστοιχες εικόνες. Αυτή είναι η τεχνική που ακολουθούν χονδρικά όλα τα προγράμματα sync με πολλά optimization προφανώς (Dropbox, προφανώς Πίθος, Cyberduck, άπειρα άλλα) . Στην περίπτωση σου αρκεί να κρατάς όλα τα hashes και ονόματα αρχείων σε ένα αρχείο, κατά προτίμηση zipped, το οποίο θα κατεβάζουν και θα διαβάζουν οι clients.
Μπορείς να πας ένα βήμα παραπέρα σε αυτή τη λύση και να ανεβάσεις τα αρχεία σε κάποιο cloud storage το οποίο θα παρέχει αυτόματα τα hashes, όπως το S3, Azure ή CloudFiles. Το Cyberduck
ελέγχει αυτόματα τα MD5 hashes που παρέχουν αυτές οι υπηρεσίες και κατεβάζει μόνο τα αρχεία που άλλαξαν. Εναλλακτικά, μπορείς εύκολα να φτιάξεις μία εφαρμογή που θα χρησιμοποιεί το αντίστοιχο API για να κάνει το sync με αυτές τις υπηρεσίες.
Το σημαντικό σε αυτή την περίπτωση είναι ότι γλυτώνεις θέματα bandwidth, connectivity και availability του server.
Τέλος, μπορείς να πας ένα βήμα παραπέρα και να χρησιμοποιήσεις απευθείας μία υπηρεσία όπως το Dropbox ή το Live Sync για να ανεβάσεις τα αρχεία στην υπηρεσία και να αφήσεις το αντίστοιχο client να κάνει το synchronization όποτε υπάρχει σύνδεση. Το DropBox μάλιστα έχει και HTTP API με το οποίο μπορείς να διαχειριστείς τις εικόνες και να τις μοιράσεις στα client accounts εύκολα. Ο O'Reilly χρησιμοποιεί ήδη αυτό τον τρόπο για να σου στείλει τα ebook που αγοράζεις στο Dropbox account σου.
Φυσικά υπάρχει και ο Πίθος, αλλά δεν νομίζω ότι μπορείς να τους πείσεις ότι είσαι ακόμα φοιτητής ......

Παναγιώτης Καναβός, Freelancer
Twitter: http://www.twitter.com/pkanavos