Witam
chciał bym napisać program który by odpowiadał za synchronizacje danych, które z podanych niżej rozwiązań było by lepsze:
- Aplikacja okienkowa
- WCF(hostowany w windows service) + klient z GUI pozwalającym zarządzać synchronizatorem.
Witam
chciał bym napisać program który by odpowiadał za synchronizacje danych, które z podanych niżej rozwiązań było by lepsze:
Czy może ktoś zna lepszy sposób na utworzenie synchronizatora który musi być przede wszystkim niezawodny i działać 24/7?
Job SQL albo Windows Service. Skąd dokąd ma następować ta synchronizacja?
Między różnymi bazami danych, np. MySQL i Oracle. Chciałbym także aby ten synchronizator miał GUI.
Ja bym to widział jako jakiś job na poziomie bazy danych, który odpala procedurę składowaną, która kopiuje dane z jednego serwera na drugi (trzeba je oczywiście jakoś zlinkować). Oracle to produkt klasy enterprise, więc pewno jakieś joby i możliwość linkowania ma.
A GUI możesz sobie dopisać oddzielnie, bo jak zakładam ma tylko konfigurować działanie tego procesu.
Zapomniałem dopisać, taki synchronizator zajmował by się także synchronizacją z API różnych firm np. Allegro, Google itd.
To w takim razie, poszedłbym w stronę Windows Service + oddzielna aplikacja do konfiguracji. Będzie pracować niezależnie od zalogowanego użytkownika, i nie będzie wymagało IIS do działania, więc odpadną wszystkie problemy z jego konfiguracją, no i nikt np. restartując go, nie spieprzy Twojej synchronizacji.
A jak zrealizować taką konfiguracje za pomocą innego programu? Za pomocą pliku? bazy? Bo z tego co szukałem w necie to chyba najbardziej pasuje ten WCF jako singleton hostowany w Windows Service.
Baza to chyba za duży kaliber do tego celu, moim zdaniem edycja app.config wystarczy.
Masz oczywiście namyśli konfiguracje w locie? W takim razie ten plik bym musiał sobie co chwile czytać aby sprawdzić czy ktoś jakiegoś ustawienia nie zmienił?
Jakbyś trzymał konfigurację w bazie, to też byś musiał ją co chwila odczytywać.
A co powiesz o tym WCF hostowanym w Windows Service? Wtedy zmianę inicjował by klient. Biorąc też pod uwagę to że klient powinien na bieżąco dostawać takie informacje jak aktualnie wykonywane zadanie (na którym etapie jest synchronizacja itd.) .