Ριζοσπαστικό? Να ξανασχεδιάσεις την εφαρμογή ώστε να ΜΗΝ δουλεύει έτσι αλλά να χρησιμοποιεί μόνο τα δεδομένα που πραγματικά χρειάζεται. Αυτό είναι ένα πρώτο, μικρό βήμα. Αντί να φορτώνεις π.χ. 100-200 εγγραφές για να τις δείξεις σε ένα grid, να φορτώνεις μόνο τις εγγραφές που θα δείξεις.
Πιο ουσιαστικό βήμα θα είναι να χρησιμοποιήσεις 3-tier αρχιτεκτονική και να βάλεις στον application server το business logic που απαιτεί την χρήση μεγάλου όγκου δεδομένων και να στέλνεις στους clients μόνο τα στοιχεία που χρειάζεται να δείξουν. Μία παραλλαγή σε αυτό είναι να μετατρέψεις την εφαρμογή σε Silverlight με τις λειτουργίες του middle tier στον web server. Το σενάριο αυτό υποστηρίζεται αρκετά καλά μέσω των WCF RIA Services ή/και των ADO.NET Data Services.
Μετά, μπορείς να προσθέσεις τοπικό caching για τις πληροφορίες που δεν χρειάζεται να ανανεώνονται συχνά. Έτσι θα αποφύγεις τη σπατάλη bandwidth.
Πιο συντηρητική λύση, εφόσον μιλάμε για ένα γραφείο, είναι να στηθεί SQL Server και στο δεύτερο γραφείο και να στηθεί replication μεταξύ των δύο βάσεων. Τα περισσότερα δεδομένα έτσι κι αλλιώς δεν αλλάζουν συνέχεια και μπορούν να αντιγράφονται σχετικά αραιά π.χ. μέσω merge replication. Για δεδομένα που πρέπει να εμφανίζονται και στις δύο βάσεις όσο γίνεται γρηγορότερα μπορεί να χρησιμοποιηθεί transactional replication.
Πιό πρόχειρη λύση είναι να μπαίνουν μέσω remote desktop οι απομακρυσμένοι χρήστες σε ένα terminal server στα κεντρικά και να δουλεύουν απομακρυσμένα.
Παναγιώτης Καναβός, Freelancer
Twitter: http://www.twitter.com/pkanavos