Archive for July, 2009

Implementace audit info pomocí Spring AOP

Posted by Martin on July 28, 2009
java, spring / 5 Comments

V každém projektu se snažím přidávat do entit uložených v databázi alespoň informaci o tom kdo a kdy daný objekt vložil do databáze. Specifikace to často nezmiňuje vyjma případů, kdy entita nevyžaduje nějaký sofistikovanější způsob sledování historie změn. Ze zkušenosti se mi však již několikrát vyplatilo jednoduchou audit informaci v databázi mít.

Řešení by mělo splňovat několik požadavků:

  1. Nemělo by žádným způsobem přidávat práci programátorovi řešícímu business logiku. Tedy vyloučeno je explicitní volání metod, nastavování atributů objektu atd. Z tohoto pohledu by mělo být vše naprosto transparentní.
  2. Přidaná informace musí obsahovat informace o autorovi záznamu. Pro portálovou webovou aplikaci se může například jednat o přihlášeného uživatele. V případě volání stejné logiky ze skriptu dávkově by se pak mohlo jednat o login name uživatele na linuxovém serveru atd. Z toho důvodu odpadá řešení pomocí stored procedure na databázovém serveru. Respektive jsem nepřišel na žádné univerzální a jednoduché řešení. Pokud o něčem víte pak neváhejte komentovat. Rád se něčemu přiučím.

Jaké jsou tedy možnosti? Pokud je projekt řešen v Javě a jako ORM je použilo Hibernate pak se přímo nabízí použití implementace rozhraní org.hibernate.Interceptor (javadoc). Pro poslední dva projekty, kterých jsem se účastnil bylo toto řešení uspokojivě použito a slouží dobře. Má však z mého úhlu pohledu několik nevýhod.
Continue reading…

Tags: , , ,

Pro začátek

Posted by Martin on July 27, 2009
Uncategorized / Comments Off

Vítejte při čtení prvního příspěvku tady. Uvidím jestli mě to bude dál bavit a jak se to všechno vyvine.

Psát vlastní blog jsem plánoval už delší dobu a po skončení dlouhodobého projektu v Německu a návratu do ČR mám prozatím více volného času. Nainstalovat na nakonfigurovat WordPress je vážně otázka hodinky a výsledek je tato nová podoba mého webu.