FaxChange novinky Obsah dokumentace Uživatelská dokumentace Administrátorská dokumentace Rejstřík pojmů Technická podpora Hledání on-line

DBEvents servis

FaxChange servis "FaxChange.DBEvents" monitoruje aplikační eventlog a pokud se zaloguje záznam od Faxchange, servis uloží kopii záznamu do databáze. Servis byl implementován jako součást řešení pro Českou Spořitelnu, a.s.

Instalace

Instalace se spouští dávkovým souborem X:\FaxChange\i386\server\SETUP\_dbevents.cmd
kde "X" znamená písmeno CD mechaniky, ve které je vloženo UMS CD. Soubor je nutno spouštět z lokální CD mechaniky nebo z namapovaného síťového disku! Instalace servisu začíná tímto dialogem:

Zadejte servisní účet a heslo pro servis. Měl by být stejný jako pro ostatní FaxChange servisy.

Aktuálně jsou podporovány tři databázové systémy - Microsoft Access, Microsoft SQL Server a Oracle - do kterých lze ukládat záznamy z eventlogu. Vyberte si, který chcete použít - setup defaultně nabízí ten, který FaxChange používá pro svoje data.

Pokud jste vybrali Microsoft Access databázi, zadejte databázový soubor (Data source) a jméno/heslo pro přístup k databázi. Všimněte si, že výchozí hodnoty jsou nabízeny na základě konfigurace FaxChange.

Pokud jste vybrali Microsoft SQL Server databázi, zadejte databázový server (Data source), jméno databáze (Initial catalog) a jméno/heslo pro přístup k databázi. Všimněte si, že výchozí hodnoty jsou nabízeny na základě konfigurace FaxChange.

Pokud jste vybrali Oracle databázi, zadejte SID databáze (Data source) a jméno/heslo pro přístup k databázi. Všimněte si, že výchozí hodnoty jsou nabízeny na základě konfigurace FaxChange.

V dalším kroku se konfigurace uloží do větve HKLM\Software\Datasys\FaxChange\global\dbeventlog v registry, servis se nainstaluje a zaregistruje do tabulky FaxChange system attendanta. Potom se zobrazí dialog s výsledkem instalace:

Stiskněte tlačítko Konec a instalace je ukončena.

Odinstalace

Odinstalace se spouští tímtéž dávkovým souborem jako instalace - X:\FaxChange\i386\server\SETUP\_dbevents.cmd
Soubor je nutno spouštět z lokální CD mechaniky nebo z namapovaného síťového disku! Detekuje se konfigurace servisu a odinstalace začíná tímto dialogem:

Následně se servis odinstaluje a z registry se smaže konfigurace. Potom se zobrazí dialog s výsledkem odinstalace:

Stiskněte tlačítko Konec a odinstalace je ukončena.

Jak servis pracuje

Servis "FaxChange.DBEvents" se po svém startu zaregistruje do service control manageru (SCM). SCM potom zavolá startovací rutinu, která spouští 2 thready - jeden pro monitorování eventlogu a druhý pro ukládání záznamů do databáze.

Startovací rutina načte z registry konfigurační položky pro logovací účely. Jedná se o položky dir a level uložené v registry větvi HKLM\Software\Datasys\FaxChange\log\system.
Položka dir říká, kde je logovací adresář a položka level určuje úroveň logování - ta udává množství informací zapisovaných do logu a může nabývat jednu z těchto hodnot: "NONE" (nic se neloguje), "FATAL", "ERROR", "WARNING", "INFO", "DEBUG" nebo "TRACE" (velmi intenzívní logování). Soubor logu je generován do podadresáře "fxdbevt" logovacího adresáře.

Monitorovací thread vyhledá poslední zprávu v eventlogu a čeká na nové záznamy. Jakmile se do eventlogu zapíše nová zpráva, přečte ji. Pokud jméno zdroje zprávy začíná textem "FaxChange", předpokládá se, že ji vygeneroval FaxChange a je předána ukládacímu threadu k uložení do databáze.

Ukládací thread nejprve inicializuje databázové objekty. Zkontroluje, zda databáze existuje a pokud ne, buďto ji vytvoří (pokud je to Access databáze) nebo se servis ukončí (pokud je to SQL server nebo Oracle). Když databáze existuje, hledá se tabulka "FXEVENTS" a pokud neexistuje, vytvoří ji pomocí SQL příkazu. Potom servis zkusí otevřít databázové spojení. Pokud tato operace není úspěšná, další pokus o otevření se provádí vždy při novém požadavku na uložení záznamu do databáze až dokud otevření není úspěšné. Všimněte si, že předchozí záznamy jsou ztraceny. Po inicializaci thread čeká na zprávy od monitorovacího threadu. Pokud je nějaká zpráva přijata, je uložena do databáze pomocí připraveného SQL INSERT příkazu.

Při zastavení servisu thready dostanou signál k ukončení činnosti. Monitorovací thread se odregistruje z eventlog notifikátoru a ukončí se. Ukládací thread uzavře databázové spojení, uvolní všechny objekty a rovněž se ukončí. Startovací rutina servisu oznámí SCM, že se servis zastavil a ukončí se.

Příklad uložených dat

Zde je pohled na Access databázi s několika událostmi uloženými FaxChange.DBEvents servisem:

zpět na začátek