Systém Digital Data Cube© Framework přináší zcela odlišný způsob pohledu na vývoj databázových aplikací, než je doposud běžné. To je patrné zejména ve způsobu návrhu datového modelu a kolekce abstraktních tříd, které s tímto modelem pracují. Nasazení Digital Data Cube© Frameworku vede ke zpřehlednění zdrojového kódu, minimalizaci chyb, zkrácení vývojového cyklu a podstatným úsporám nákladů na vývoj.
Používáte pro podporu vývoje databázových aplikací produkty třetích stran, ORM frameworky a pod.? Pak jste asi zaznamenali okamžik, kdy se od jisté velikosti projektu začnete potýkat s řadou problémů, o nichž jste na počátku vývoje neměli nejmenší tušení. Čím více je Váš projekt rozsáhlejší, tím více se cítíte být omezenější a svázanější počátečními pravidly. Máte pocit, že jste zahnáni do slepé uličky. Vzniklé problémy pak řešíte nestandardní implementací. Zjišťujete, že se Vaše původně ideální koncepce rozpadá, ztrácíte přehled nad konzistencí zdrojového kódu, řízením projektu i náklady na vývoj. Ty byly, mimo jiné, již dávno překročeny.
V takovém případě je nutné hledat jiná řešení. Jedním z nich, které naznačené problémy řeší, je Digital Data Cube© Framework. Framework, který Vám nabízí mnohem více.
Digital Data Cube© Framework (dále jen DDCF) vznikl na základě dlouholetých zkušeností s vývojem databázových aplikací, neboť použití dostupných ORM frameworků nevedlo k předpokládaným výsledkům - usnadnění vývojového cyklu. DDCF je systémové řešení, určené jako jádro pro vývoj rozsáhlých databázových systémů, kde je důležitou součástí ochrana uložených údajů a sofistikované řízení jejich změn.
DDCF je postaven na definici základních premis:
- Databázové aplikace běží v multiuživatelském prostředí.
- Výsledky zpracování, které vrátí databázový server klientovi, jsou v ten okamžik zastaralé
- Data, uložená v databázi, odrážejí realitu a v čase mohou nabývat různých hodnot.
- Provedené změny dat musí (mohou) být schvalovány nebo odmítány
- Aplikace může čerpat data z jakéhokoliv datového zdroje bez nutnosti úprav zdrojového kódu.
Dodržení základní myšlenky umožnilo vyvinout koncepční řešení, které dává vývojářům databázových aplikací možnosti, jenž u jiných systémů (ORM a pod.) nejsou dostupná. Vaše databázové aplikace, postavené na DDCF mohou:
- pracovat s jakoukoliv databází bez úpravy zdrojového kódu aplikace
- napojovat se na datové zdroje jak přes VPN tak přes webové služby
- držet plnou historii změn záznamů
- vracet aktuální data k jakémukoliv dni v minulosti tak, jak byla k tomuto dni uložena
- vybírat záznamy, které byly za zvolené období vytvořeny, modifikovány či odstraněny
- monitorovat provedené změny v databázi
- schvalovat a případně odmítat prováděné změny a to až do 49 úrovní
- identifikovat uživatele, který data změnil (maker) či změnu schválil (checker)
- zabezpečovat ochranu přepisování dat v multiuživatelském provozu
- odstraňovat již nepotřebné záznamy a v případě potřeby je opětovně obnovovat do původní podoby
- současně ukládat a zpracovávat data v tzv. multijazykovém režimu
- být nezávislé na počtu jazyků, ve kterých jsou data simultálně ukládána
- komentovat jakékoliv záznamy a změny záznamů poznámkami v daném jazyce
- připojovat binární přílohy ke všem záznamům v databázi
DDCF přináší zcela nový způsob řešení vývoje. Umožňuje implementaci jisté, předem dané, množiny požadavků na vlastnosti a chování databázových aplikací (viz. výše), a to pomocí tříd odvozených ze základních virtuálních tříd DDCF. Mechanismy databáze (zde relačního typu, s jejich systémem tabulek a sloupců) jsou rozšířeny o zcela nový způsob definice struktur dat v databázi a k nim příslušných ovládacích funkcí a tvoří základ funkčnosti DDCF.
Pro snadné nasazení nabízí DDCF množství abstraktních tříd (předků), jenž mají implementovány veškeré kontrolní mechanismy. Tyto třídy pokrývají všechna možná řešení, potřebná pro vývoj databázových aplikací. Z nich si vývojový tým již odvozuje (dědí) své vlastní konkrétní implementace. Řada tříd (předků) je připravena ve finálním stavu. Ty je možné pouze zdědit bez dalšího rozšíření. Jedná se např. o Poznámku, Přílohu a pod. Ostatní typy tříd je po odvození nutné rozšířit o konkrétní požadované vlastnosti.
Unikátní implementovanou vlastností DDCF jsou jazykové verze záznamů. Pozor, neplést si s jazykovou verzí aplikace! DDCF umožňuje současné zpracování údajů multijazyčně. To znamená, že přihlášení uživatelé pracují s aplikací na jedné databázi ve svém nativním jazyce a data jsou jim z databáze vracena (zobrazována) podle jejich jazykového nastavení (v češtině, němčině, angličtině a pod). Systém DDCF zabezpečuje, aby se např. skladová položka „šroub“ zobrazila v němčině jako „Schraube“, v angličtině jako „bolt“ a ve slovenštině jako „skrutka“. Počet současně používaných jazyků není omezen a v případě implementace dalšího jazyka není nutné upravovat jak zdrojový kód aplikace, tak ani strukturu databáze!
Veškeré možnosti DDCF nelze ošetřit pouze v kódu frameworku. Je nutné implementovat i řadu kontrolních mechanismů přímo v databázi. DDCF je využitelný v rámci databází, které umožňují pracovat s uloženými procedurami nebo minimálně s parametrizovanými dotazy. Proto se vývojový tým neobejde bez znalostí konkrétní databáze, což může znalec ORM frameworků považovat za nevýhodu. Pozitiva převládají v okamžiku vývoje rozsáhlých databázových systémů, kdy potřebujeme mít řadu věcí pod kontrolou. Lze tak plně využít všech možností databáze - schémata databáze, vracet počítané sloupce, provádět validace vstupně – výstupních operací přímo v databázi a pod. Samozřejmě rychlost odezvy je, oproti jiným frameworkům, nesrovnatelná.
DDCF nepodporuje tvorbu dotazů přímo v kódu aplikace (např. pomocí LINQ2SQL a pod.), neboť se jedná o nejčastější příčinu vzniku chyb. To proto, že v aplikacích nejsou vytvářeny pouze triviální dotazy typu „podej záznam podle Id“, ale i dotazy složitější. Je-li tvořen složitý dotaz, spojující více tabulek, včetně použití agregovaných funkcí, dochází k větší pravděpodobnosti vzniku chyby. Případně chybný výsledek dotazu může být zapříčiněn jak omezenou množinou testovaných dat, na níž se dotaz ladí, tak i znalostmi a zkušenostmi vývojáře. Nepříjemný problém může nastat v okamžiku ostrého nasazení, kdy je nutné zpracovávat již obsáhlé množiny záznamů. Pak jakákoliv banální chyba v konstrukci dotazu, který vrací nesprávné výsledky, vede k nutnosti opravy zdrojového kódu, k nové kompilaci a novým instalacím, což je nepřijatelné. Z pohledu DDCF jsou tyto situace řešeny právě na straně databáze.
DDCF komunikuje s datovými zdroji prostřednictvím poskytovatelů dat (data providers) a to jak v rámci VPN (prostřednictvím connection stringu), tak v rámci webových služeb. Součástí dodávaného řešení je MSSQL data provider a WebService data provider. Vývojáři si ale mohou snadno odvodit jakéhokoliv data providera dle svých potřeb.
Rozsáhké konfigurace, známé z jiných systémů, nejsou při nasazení DDCF potřebné. Výhodou DDCF, mimo jiné, je snadná implementace a jednotný přístup. Tím je docíleno zpřehlednění a zjednodušení zdrojového kódu (standardizace), včetně minimalizace vzniku potencionálních chyb v kódu, což vede ke snadnému osvojení si systému vývojáři a zkrácení vývojového cyklu.
Jak bylo zmíněno výše, DDCF je úzce propojen s databází. Ne však ve smyslu závislosti na SQL syntaxi konkrétní databáze, ale ve smyslu struktury tabulek a dalších podpůrných prvků, které je nutné do příslušné databáze implementovat. Nasazení DDCF předchází školení vývojového týmu, jehož cílem je objasnit jak strukturu a implementaci DDCF, tak i seznámení se s návrhem datového modelu a základním obsahem databáze.
DDCF je synonymem pro inovativní řešení v oblasti vývoje rozsáhlých databázových systémů, kam vnáší zcela odlišný pohled. Implementuje řadu unikátních vlastností a odstraňuje tzv. úzké profily při vývoji. Umožňuje přímé nasazení ve firmách, které vyvíjejí rozsáhlé databázové systémy s důrazem na zabezpečení citlivých dat, jako je státní správa, zdravotnictví, finanční a pojišťovací oblast, ekonomická či personální oblast a pod. Popsané vlastnosti jsou snadno aplikovatelné na jakékoliv databázové řešení, aniž by muselo být dodatečně vyvíjeno či upravováno.
Pomocí DDCF nejenže můžete postavit jakoukoliv databázovou aplikaci s výše uvedenými vlastnostmi, ale současně zkrátit časový limit a dosáhnout významných úspor nákladů na její vývoj.
Podrobnější informace získáte na http://digitaldata3d.eu.