Úvod
Přestoupil jsem z dobře zajeté staré firmy pracují tradičním způsobem let devadesátých (Oracle Forms a RDB, částečně Java1.4 či 5), do mladé, agilnější firmy používající modernější a více sexy nástroje (např. Java7, OSGi, Vaadin...).Zde bylo krásně vidět, jak se posouvají trendy ve vývoji aplikací a jaký je rozdíl v přemýšlení mladých a starších vývojářů.
Jedním takovým ukázkovým příkladem je použití objektově relačního mapování (ORM):
- Ve firmě "ze staré školy" se kladl veliký důraz na relační databázi. Systémy byly obvykle psané v PL\SQL a v Javě tak, aby obě technologie byly v symbióze - Náročné datové operace se soustředily do databáze, uživatelské rozhraní do Javy. ORM byl "pouze" druhotný nástroj pro snažší propojení těchto technologií.
- Naproti tomu nadšení vývojáři v mladé firmě všechny úlohy systému soustředí jen a jen do Javy. ORM se stalo středobodem datové struktury a relační databáze je pouze skrytým úložištěm.
Nemusím ani naznačovat, že v produkčním prostředí se s rostoucími daty
začaly vznikat vážné výkonnostní problémy způsobené chybějícími indexy, neefektivními dotazy a někdy i nevhodnými programátorskými postupy.
A právě to mě přivedlo k zamyšlení se nad příčinou vzniku celé věci:
A právě to mě přivedlo k zamyšlení se nad příčinou vzniku celé věci:
Automatickým přidáním ORM vrstvy do systému se vývojáři velice zjednodušil svět. Vytvořit a udržovat datový model aplikace se zmenšil na pár anotací v POJO objektu, kde všechno funguje snadno a automaticky. K vývoji stačí několik málo jednoduchých metod typu findByXXX a systém (v laboratorních podmínkách) běží jako po másle. Dochází k jakémusi "přeskočení" principů relační databáze a vkročení rovnou do světa Javy. Pro vývojáře je pohodlnější iterovat a filtrovat nad výsledkem dotazu než napsat takový dotaz, aby dostal do Javy jen minimální potřebné záznamy.
Právě proto jsem se rozhodl v naší firmě provést menší osvětu v podobě školní s ukázkami a předvést i méně zkušeným kolegům, co všechno se dá v relační databázi dělat a k čemu vlastně relační db původně sloužily.
Výsledkem mého snažení se stala zajímavá sada jednoduchých ukázek, ze kterých bych rád vytvořil krátký seriál.
Jednotlivá témata: