Konkretnie.
Chodzi o aplikację do zarządzania przychodnią stomatologiczną. Obecnie mamy dwa gabinety w dwóch miejscach. Może się to rozszerzyć.
Współdzielone prawie wszystkie dane.
Baza pacjentów, terminarz itp itd.top.
Najbardziej czułym punktem jest terminarz. Pacjenci zapisywani są non stop.
Rozumiem że dużym problemem mogą być :
- konflikty. Ktoś zapisze na jednej końcówce pacjenta do specjalisty X a równolegle ktoś inny bez dostępu do netu zrobi o samo.
- szybkość propagacji zmian danych - tak aby tych konfliktów było jak najmniej
- blokowanie dostępu do danych przez mechanizmy synchronizacji - propagacji zmian danych
Co rozważamy aby użyć - macie doświadczenia z poniższymi ???
Ogólnie mamy dylemat.
Oprogramować to samemu od podstaw - czyli się narobić ;).
Skorzystać z czegoś gotowego i się nie narobić. Osobiście czuję niebezpieczeństwo iż po pewnym czasie wyjdzie czegoś to się nie da zrobić bo jest to w "czarnej skrzynce".
**RabbitMQ **- ogólnie messaging - czyli każda baza osobno
- dużo roboty (Rabbit daje tylko mechanizm transportu i propagacji zmian, ale samą obsługę komunikatów i ich wysyłanie, trzeba samemu zrobić) - to generalnie trochę spory minus
- duża kontrola
- można zautomatyzować (czyli dodanie nowego gabinetu, klienta, to tylko parę ustawień i samo powinno się ogarnąć)
**SymmetricDS **(soft do replikacji)
- java, więc zaczynamy mieszać środowiska
- niby open source, ale mają też bogatszą wersję PRO, przez co dokumentacja jest trochę słaba
- problem z automatyzacją ? każdy kolejny gabinet, trzeba by konfigurować, testować itd..
- wszystko to konfiguracja w plikach tekstowych, czyli jak nie uruchomisz i nie zadziała, to nie wiesz, że jest źle
? nie bardzo wiem jak merge się obsługuje
- obsługuje master/master
- są w sieci informacje, że ludzie z tego korzystają
**SQL Anywhere **- http://sybase.com.pl/products/sql_anywhere.
Piszą że są dobrzy w te klocki ;)
Microsoft Sync Framework - macie z tym doświadczenie?
- nigdzie nie jest jasno napisane, że M$ będzie to dalej wspierał/rozwijał (zrobili open source chyba w 2012 i cisza od tamtej pory, więc wygląda na coś trochę przestarzałego, z drugiej strony jest jakaś wtycza do Azure, więc technologii wiądącej na tą chwilę w M$)
- stworzone specjalnie do tego
- sporo przykładów, choć raczej nie dzisiejszych
- daje dość dużo gotowych klocków, które można wykorzystać, więc powinno skrócić robotę a jednocześnie dać możliwość ingerencji, dostosowania
- używają tego u mnie w pracy do synchronizacji na komórki z iOS m.in.