DISKUSE
Chyba aplikace Notes: Soubor neexistuje. (profile)
10.05.2023 07:53

Co se děje ? Jak se pracuje v jazyce vzorců ? (2)
21.04.2023 14:15

Co se starou dokumentací k R3, R4, ...?
05.04.2023 14:41

Událost, při neexistenci přílohy. (2)
05.04.2023 11:51

Jak zjistit vložení přílohy. (4)
21.03.2023 11:14

Rámec nebo okno ? (10)
22.02.2023 10:14

Vylepseni designera 9.01 (3)
02.02.2023 20:27

Jak resit casove narocneho agent na frontendu (13)
25.01.2023 19:15

10.05.2023 07:53

Co se děje ? Jak se pracuje v jazyce vzorců ? (2)
21.04.2023 14:15

Co se starou dokumentací k R3, R4, ...?
05.04.2023 14:41

Událost, při neexistenci přílohy. (2)
05.04.2023 11:51

Jak zjistit vložení přílohy. (4)
21.03.2023 11:14

Rámec nebo okno ? (10)
22.02.2023 10:14

Vylepseni designera 9.01 (3)
02.02.2023 20:27

Jak resit casove narocneho agent na frontendu (13)
25.01.2023 19:15

ŠKOLENÍ
REKLAMA
KOMENTÁŘE
Druhý díl miniseriálu s podtitulem Architektúra Unread Marks.
Architektúra Unread Marks
Ako nástroj tejto architektúry použili dva komponenty:
Unread Journal je tabuľka záznamov o čítacích aktivitách klienta Notes. Inak povedané – je to akýsi "log". UJ je uložený mimo databázy v súbore Cache.ndk (resp. Cache.dsk) dátového adresára Notes klienta. Samotný obsah UJ predstavujú riadky s UNID číslami dokumentov, ktoré boli prečítané resp. boli označené ako neprečítané.
Pre ujasnenie - najdôležitejšie UJ fakty:
Unread Table je tabuľka, v ktorej sú zapísané NoteID nečítaných dokumentov pre daného používateľa. Inak povedané: Koľko používateľov otvorilo databázu, toľko UT vzniklo. Jednotlivé UT sú uložené priamo v databáze vo forme špeciálnych dokumentov (Note), pričom ich identifikátorom je hierarchické meno používateľa. Pre zjednodušenie sa dajú porovnať s profile dokumentmi, ktorých kľúčom je @UserName. Na rozdiel od nich sa však počas replikácie neprenáša (rozdiel nastal vo verzii 6.03 – ale o tom až v ďalšej časti). Samotný obsah UT predstavujú riadky s číslami NoteID dokumentov, ktoré daným používateľom neboli prečítané (resp. neboli označené ako prečítané).
Takže ešte raz, najdôležitejšie UT fakty:
Prečo tak komplikovaný UM aparát? Odpoveď je jednoduchá: Distribuované prostredie Domino/Notes, kde je potrebné zabezpečiť používateľovi "jednotnú" informáciu o stave čítania/nečítania dokumentov, nezávisle od repliky. Keďže UT sa automaticky nereplikuje (až od istých verzií a aj to len pre workstation/server), bol ako synchronizačný "engine" použitý UJ. V nasledujúcej kapitole je na konkrétnom príklade objasnený mechanizmus synchronizácie.
Pri návrhu architektúry UM vychádzali jej tvorcovia z nasledujúcich axióm:
- Pre každého používateľa bude existovať v databáze jeho vlastný index nečítaných dokumentov
- Pre viac replík databázy sa tento index nebude prenášať
- Pri aktívnej práci s databázou a budú informácie zapisovať aj lokálne (mimo databázu) tak, aby v prípade otvorenia inej repliky bol zosynchronizovaný index
Ako nástroj tejto architektúry použili dva komponenty:
- Unread Journal (UJ)
- Unread Table (UT)
Unread Journal je tabuľka záznamov o čítacích aktivitách klienta Notes. Inak povedané – je to akýsi "log". UJ je uložený mimo databázy v súbore Cache.ndk (resp. Cache.dsk) dátového adresára Notes klienta. Samotný obsah UJ predstavujú riadky s UNID číslami dokumentov, ktoré boli prečítané resp. boli označené ako neprečítané.
Pre ujasnenie - najdôležitejšie UJ fakty:
- UJ nie je súčasťou databázy, ale klientského prostredia v súbore Cache.ndk
- UJ obsahuje zoznam aktivít o čítaní dokumentov
- Dokument je identifikovaný cez UNID, čo je jedinečné v rámci všetkých replík
- UJ je limitovaná veľkosťou
Unread Table je tabuľka, v ktorej sú zapísané NoteID nečítaných dokumentov pre daného používateľa. Inak povedané: Koľko používateľov otvorilo databázu, toľko UT vzniklo. Jednotlivé UT sú uložené priamo v databáze vo forme špeciálnych dokumentov (Note), pričom ich identifikátorom je hierarchické meno používateľa. Pre zjednodušenie sa dajú porovnať s profile dokumentmi, ktorých kľúčom je @UserName. Na rozdiel od nich sa však počas replikácie neprenáša (rozdiel nastal vo verzii 6.03 – ale o tom až v ďalšej časti). Samotný obsah UT predstavujú riadky s číslami NoteID dokumentov, ktoré daným používateľom neboli prečítané (resp. neboli označené ako prečítané).
Takže ešte raz, najdôležitejšie UT fakty:
- UT je súčasťou databázy, nie klientského prostredia
- UT je jedinečná pre používateľa (@UserName)
- UT sa nereplikuje medzi replikami databázy
- UT obsahuje zoznam nečítaných dokumentov
- Nečítaný dokument je identifikovaný cez NoteID, čo je však jednoznačné len v danej replike databázy
Prečo tak komplikovaný UM aparát? Odpoveď je jednoduchá: Distribuované prostredie Domino/Notes, kde je potrebné zabezpečiť používateľovi "jednotnú" informáciu o stave čítania/nečítania dokumentov, nezávisle od repliky. Keďže UT sa automaticky nereplikuje (až od istých verzií a aj to len pre workstation/server), bol ako synchronizačný "engine" použitý UJ. V nasledujúcej kapitole je na konkrétnom príklade objasnený mechanizmus synchronizácie.
Autor: Miroslav Uhlár
Datum: 24.05.2004
Sdílet článek Seznam komentářů
Zatím nebyl přidán žádný komentář. Buďte první!
Související články: