Witam,
Napisałem aplikacje która działa następująco:
- Jest centralna baza danych online z danymi wszystkich klientów
- Są klienci pracujący offline z własnymi kopiami danych (struktura bazy centralnej i klienckiej jest taka sama), na żądanie wykonywana jest synchronizacja danych ale każdy klient musi pobierać tylko te dane do których ma uprawnienia!
Obecnie mam web-service który jest wywoływany przez klienta i za pomocą niego po kolei porównuję np tabele A na serwerze z tabelą A u klienta (mam pola data ostatniej modyfikacji itp)
Problem polega na tym że rozwiązanie takie jest mało wydajne. Web-Service napisany cały od A do Z prze zemnie, działa i wycisnąć się już z niego więcej nie da!
Proszę osoby mające już do czynienia najlepiej w środowiskach komercyjnych z rozwiązywaniem podobnych problemów synchronizacji danych. Próbowałem w pierwszych rewizjach projektu użyć dostępnego Frameworka: Microsoft Sync Framework (nie pod WCF a w kodzie klienta - WPF) ale po pierwsze problem był z przekazywaniem podczas synchronizacji dynamicznych parametrów (chodziło o to że użytkownik A miał dostęp tylko do danych gdzie rola w jakiej jest jest wskazana) a po drugie piekielnie wolno to działało (znalazłem nawet oficjalny komunikat że jest to jakiś błąd i należy przenieść z kodu klienta ten mechanizm do webserwica), zrezygnowałem tez ponieważ według moich obserwacji projekt MS Sync jest nierozwijany od 2010 roku (wersja 2.1 lub 4.0 bo tu tez jest komplikacja i niejasność na stronie projektu).
Dlatego jeśli ktoś spotkał się z jakimś rozwijanym i dobrym narzędziem, biblioteką, mechanizmem i może je polecić zarazem jeśli jest dla tego narzędzia silne wsparcie i jest ono rozwijane a nie zapomniane to prosze o linki.
Ponadto jezli ktoś mógłby podzielić się radami (bo miał podobny problem do rozgryzienia) to też proszę o takie (np. napisz WCF Data Service i synchronizuj tak i tak...)
Pozdrawiam
Oskar