Rozhraní dokumentů a jejich využití

Vybrané finální dokumenty můžeme sjednotit pro různé účely formou tzv. rozhraní. Pokud například máme definovány dokumenty "osoba", "subjekt" a "zastupce_subjektu", můžeme vytvořit rozhraní "kontakt", které bude obsahovat základní strukturu kontaktu, která je společná všem vybraným dokumentům. Uživatel pak může pomocí rozhraní vyhledávat zároveň ve všech vybraných typech dokumentů najednou. Další využití rozhraní je pro definování akcí. Pokud definujeme akci pro rozhraní dokumentů, je tato akce k dispozici i u jednotlivých dokumentů (vlastně pouze u nich - rozhraní jako takové nemá v databázi žádný fyzický základ).

Situace s kontakty se však také dá vyřešit (a asi i lépe) pomocí jednoho jediného typu, který můžeme nazvat například kontakt a pak tří typů pohledových, které budou vlastně jen různými formuláři pro jednu evidenci. Kontakty se dají dle použitého typu i třídit (v obecné oblasti každého dokumentu je kolonka určující pouhledový typ) nebo je možné si určit vlastní specifikaci a pomocí pohledu tuto indikaci určovat. Záleží na návrháři definice a také často na historii či zdrojích dat, zda bude použito několik evidencí (databázových tabulek), které mohou být spojeny rozhraním nebo zda bude pouze evidence (databázová tabulka) jedna a její položky budou tříděny dle svých typů.

Obecně však použití koncepce jedné výchozí evidence s několika typy lze doporučit všude tam, kde je to jen trochu možné. Slučování tabulek pomocí rozhraní nenabízí všechny vymoženosti jednotné struktury jediné tabulky, která je v případě mechanismů pohledů, ať již jde o snadnou možnost převoditelnosti, či možnosti nastavování přehledů aj. Někdy však jsou rozhraní jedinou možností, jak určitou situaci vyřešit.

Vytvoření rozhraní

Rozhraní buď můžeme vytvořit buď na obecné úrovni a to v kmenové části Interface_Definitions (viz. kmen definice nebo můžeme některou ze služeb určitého dokumentu označit pomocí vlastnosti interface a založit tak rozhraní s tím, že jméno služby určuje jméno rozhraní. Podstatou je, aby takovouto službu s daným názvem se stejnou strukturou oblastí a prvků mělo více příbuzných dokumentů. Tím, že dokument má službu určitého jména se značkou interface, se tento dokument řadí mezi dokumenty nabízející dané rozhraní a stává se automaticky součástí přehledů, které jako svůj základ použijí rozhraní shodného jména.

Rozhraní, které má svou nezávislou definici v uzlu Interface_Definitions, může být použito také jako zdrojový typ pro výběrový uzel specifikovaný vlastností source. To je velmi významné, protože tak může dojít k propojení více typů dokumentů jako zdroj typu jediného. Pokud se budeme držet příkladu se třemi typy kontaktů, jež je zmíněn výše, bude tak možné například typ dopis nebo e-mail propojit zdrojově na všechny tři typy dokumentů pomocí typu kontaktu jakožto jejich společného rozhraní. V daném dopise či e-mailu se pak uchovává nejen klíč použité instance kontaktu, ale také její dokumentový typ, který není jednoznačně dán definicí, ale až konkrétním výběrem. Je logické, že toto propojení je možné pouze při použití zdrojového mechanismu initial (viz. možné mechanismy zdroje).

V obecné definici rozhraní je dále také možné specifikovat určitou oblast či prvek jako výběrový uzel. Děje se tak rovněž prostřednictvím vlastnosti source, která je tentokrát uvedena v rozhraní a na rozhraní se neodkazuje. Odkazuje se zpravidla na některý dokument.