|
SQL Replicator je relativně nezávislý modul aplikace, pro jeho správnou funkci však musí aplikace splňovat určitá pravidla:
Definice entit a jejich vztahů V aplikaci je potřeba definovat používané entity reprezentující tabulky databáze. Pro každou entitu je nutné nadefinovat počet, typ a jména jejích sloupců a závislosti mezi sloupci. Je třeba připomenout, že všechny tabulky, které se mají zúčastňovat replikace, musí mít tvar entity. To znamená, že řádky každé takové tabulky musí mít vlastní, nezávislý identifikátor. Nejde tedy jednoduše replikovat časté spojovací tabulky, které obsahují pouze záznamy o cizích klíčích v jiných tabulkách.
Podpora rowinfo Aplikace musí definovat záznamy rowinfo pro všechny řádky entit, které se zúčastní replikace.
Aktualizace rowinfo Aplikace musí zajistit aktualizaci záznamů rowinfo při každé změně obsahu dat v řádcích entity.
Přístupové metody entit Aplikace musí definovat přístupové metody na modifikaci jednotlivých řádků všech entit, které se zúčastňují replikace. Tyto přístupové metody musí být schopné nastavit a nebo vložit jeden řádek dané entity do databáze a, v případě vložení nového záznamu, vrátit jeho nový identifikátor.
Metody zotavení z replikačního konfliktu Je třeba zdůraznit, že při vytváření replikačního konfliktu vytváří replikátor nové záznamy přímo v tabulkách příslušných entit. Je tedy potřebné, aby aplikace uměla detekovat, zda je příslušný řádek tabulky platný, nebo se jedná o konflikt. Pro usnadnění této detekce je umístěn příznak konfliktu přímo do tabulky entity. |