İki ilgili sistem geliştiriyoruz. Bunlardan biri (A) müşterilerimizin makinelerine kurulacaktır. Kalan (B) kuruluşum tarafından kullanılacaktır.
Her sistemin kendi veritabanı (ilişkisel) vardır ve şemaları farklıdır. Ancak, her iki sistemin de senkronize edilmesi gerekir. Ek olarak, B'deki bazı değişikliklerin tüm A sınıfı sistemlere, diğeri ise sadece belirli bir sisteme aktarılması gerekir.
Bazı müşterilerin İnternet bağlantısı yoktur, bu nedenle bazı durumlarda senkronizasyonun dosya alışverişi yoluyla yapılması gerekir.
Bu nedenle, bu sorunu şu şekilde çözmeyi planlıyoruz:
- Her sistem kendi veritabanının değişikliğini tutar. MongoDB ile uygulamayı planlıyoruz.
- Bir sistem bir senkronizasyon işlemini başlattığında, yapılan tüm değişiklikleri bir günlükten alır. Sistem B ise, alınan değişiklikler hedefe bağlıdır. Ardından, sistem bunları XML biçiminde serileştirir ve son olarak (bir dosya veya ağ aracılığıyla) gönderir.
- Diğer uç nokta değişiklik kümesini aldığında, bunların serisini kaldırır. Daha sonra sistem, veriler üzerinde gerekli olabilecek bazı dönüşümler yapar ve son olarak değişiklikleri kaydeder. Bu adımda, gerekirse sistem mevcut olabilecek çatışmaları çözmelidir.
- Son olarak, alıcı sistem değişikliklerini (ve diğer çatışma çözümleme ürünlerini) gönderir.
Bu yaklaşım uygulanabilir, ölçeklenebilir ve zarif mi? Ne tür değişiklikler veya eklemeler yapardınız?