InterSystems Caché Relační svět skončil? Databázové technologie. Pro mnohé stále ještě magické spojení způsobující obavy a nedůvěru. A co teprve ve spojení s pojmy jako "relační" nebo "objektová"? Negativní pocity jsou ale zcela zbytečné a plně to svými schopnostmi dokazuje také databázová platforma společnosti InterSystems - Caché. Platforma Caché je prostředí pro tvorbu a provoz komplexních databázových aplikací, které využívají podporu různorodých přístupů k uloženým datům. Jedním ze základních rozdílů oproti konkurenčním čistě relačním nebo čistě objektovým produktům je to, že Caché umožňuje pracovat s daty jak z pohledu objektového, tak relačního. Vše umožňuje vícerozměrný datový model, který nabízí efektivní uložení a správu dat. Komplikované dotazy pro propojení více tabulek a pohledů je tak možné přepsat do přirozených dotazů. Důležitá přitom není jen možnost zápisu, ale také způsob provádění dotazu - celý mechanismus je přirozené povaze kladených dotazů přizpůsoben již ve svých základech, nikoli simulován nad relačními datovými strukturami. Metody ukládání dat Jednotkou uložených dat jsou přitom tzv. globály, které ve skutečnosti představují množinu řídkých vícerozměrných polí (odtud také označení vícerozměrný datový model). Způsob uložení dat má kladný vliv na minimalizaci vstupně-výstupních diskových operací, a v konečném důsledku tedy i na zlepšení výkonu výsledné databázové aplikace. Díky odbourání složitého propojování tabulek a pohledů, známého v relačních databázích, nepředstavuje větší problém ani nárůst počtu konkurenčních uživatelů. Ničím nemožným přitom v návaznosti na konkrétní řešení nejsou ani řádově tisícovky konkurenčních uživatelů. V případě zájmu vývojářů je ale i nadále možné k datům přistupovat pomocí příkazů jazyka SQL. Používání Caché tedy není nijak svázáno s nutností využívat objektové postupy. Zajímavou vlastností globálů je to, že pro uložení dat není nezbytná definice typů a rozsahů dat. Data "vznikají" v okamžiku jejich uložení. Jednotlivé přístupy k datům vlastně představují "pouhou" projekci. Ta může být objektová, relační nebo jakákoli jiná - například prostřednictvím technologie XML. Z objektových mechanismů jsou podporovány všechny nejznámější - od vlastností přes metody a dědičnost až třeba po polymorfismus. Základ je základ Hlavním stavebním prvkem databázových aplikací využívajících Caché jsou třídy, jejichž definice jsou uloženy ve slovníku tříd (Caché Class Dictionary). Slovník tříd je vlastně sám o sobě databází. Stejně jako k jakýmkoli jiným datům je i k metadatům uloženým v tomto slovníku možné přistupovat objektově. Třídy je možné v Caché definovat a vytvářet několika způsoby, mezi prakticky použitelné varianty patří například nástroj Caché Studio nebo příkazy skupiny Data Definition Language (podmnožina jazyka SQL). Třídy je možné vytvářet a upravovat i programově pomocí dalších jazyků, a to díky objektovému aplikačnímu rozhraní. Interně jsou třídy definovány pomocí jazyka Class Definition Language, vyvinutého společností InterSystems. Využitelnost platformy Caché zvyšuje i podpora otevřenosti - například třídy je možné definovat také pomocí dokumentu XML, nechybí spolupráce s objekty ActiveX, webovými službami, Javou nebo EJB. Předdefinované způsoby uložení je v případě nutnosti možné přizpůsobit konkrétním požadavkům - z hlediska vývojáře aplikace se ale nic nemění, samotná aplikační logika je řešena pouze jednou. Součástí platformy je z programátorského i provozního pohledu výkonný programovací procedurální jazyk Caché ObjectScript. Nejnovější alternativou je také Caché Basic. Nezbytné komponenty Základním administrátorským a přístupovým nástrojem je produkt Caché Studio, zpříjemňující celou řadu běžných činností především prostřednictvím intuitivního grafického rozhraní. Mimo jiné podporuje i vývoj a ladění programového kódu svázaného s jednotlivými třídami. Pro větší projekty nechybí ani spolupráce s významnými nástroji CASE, především pak s produkty řady Rose od společnosti Rational Software. Součástí platformy Caché je totiž také aplikační server a podpora dynamicky generovaného obsahu v podobě technologie Caché Server Pages. Nechybí ani možnost využití Javy. Zajímavá je i možnost bezproblémového přenosu výsledné aplikace využívající programových prostředků Caché na libovolnou jinou relační databázovou platformu. Tuto přenositelnost zajišťuje brána Caché Relational Gateway, která umožňuje sestavený dotaz (aplikací i databázovým strojem Caché) zaslat na jiný server. V takovém případě je ovšem nezbytné počítat s určitým poklesem výkonu. Má šanci? Na rozdíl od některých konkurenčních postrelačních platforem je Caché k dispozici pro celou řadu operačních systémů; mezi hlavní patří především přední unixové systémy a Windows. Jednouživatelskou verzi je možné získat zcela zdarma a lze si tak plnohodnotně vyzkoušet všechny hlavní možnosti. Dobrá je přehledně zpracovaná dokumentace. Caché lze považovat za vážného konkurenta klasických relačních platforem. Přihlédneme-li navíc k rostoucímu zájmu zákazníků o alternativy právě k systémům vycházejícím z relačního datového modelu, má Caché veškeré předpoklady v konkurenčním boji následujících let obstát. Marek Kocan InterSystems Caché Komplexní multiplatformní prostředí pro vývoj a provoz databázových aplikací. Výrobce InterSystems, USA