Služby - propojování dokumentů

Pro smysluplné ukládání informací je mimo jiné zapotřebí jejich vzájemná propojitelnost souvisejících položek. K těmto propojením v systému flexideo slouží klíče, které jsou však ve struktuře databáze generovány automaticky dle potřeby. Na úrovni definice propojujeme jednotlivé dokumenty a vybrané části jejich obsahů, kdy jeden dokument obsahuje přímo či nepřímo část druhého. Vždy tak je jeden dokument brán jako zdrojový a jeden jako cílový s výběrem toho zdrojového. Jako zdrojový například můžeme chápat dokument typu zakaznik a jako cílový dokument typu smlouva, kde je na každé smlouvě vybrán patřičný klient, se kterým byla uzavřena. Tj. smlouva obsahuje kolonky jako je jméno, adresa, číslo aj. Jeden dokument se tak stává přímo (vazba foreign) nebo nepřímo (vazba initial) součástí jiného. Přesto je třeba si zachovat určitý odstup. Jde, mimo jiné, o to, aby případná úprava struktury jednoho dokumentu (zdrojového) nezpůsobila samovolnou úpravu struktury dokumentu jiného. Navíc uspořádání zdrojového dokumentu vůbec nemusí vyhovovat uspořádání dokumentu jiného a už vůbec nepotřebujeme nahlížet všechny, ale pouze na vybrané kolonky zdroje. Je tedy třeba nějakého mezičlánku, který tyto schopnosti zajistí. Tímto mezičlánkem jsou tzv. služby zdrojových dokumentů pro nabídnutí potřebných struktur pro dokumenty cílové. Zachováním či úpravou obsahu služeb řídíme nabízené struktury pro cílové dokumenty bez ohledu na úpravy či zachování struktury vlastního zdrojového dokumentu.

Metodika služeb zdrojových dokumentů má i další výhody. Vezměme jako příklad situaci, kdy máme dokument člověk (viz. definice v násl. části o způsobech a syntaxi), kam ukládáme veškeré osobní informace o všech osobách, které kde v systému flexideo používáme. Je jasné, že dokument člověk bude jako zdroje využívat celá řada dalších dokumentů. Díky službám však můžeme na dokumentu vystavit například dvě služby "Jméno a adresa" a "další údaje". V ostatních dokumentech pak jen provedeme odkaz na jednu ze služeb a struktura cílového dokumentu se nastaví dle struktury odkazované služby. Tyto struktury tak řešíme pak jediném místě a to bez ohledu na příp. potřebné změny struktury v dokumentu člověk.

Vezměme například, že z nějakého důvodu potřebujeme přeskupit strukturu zdrojového dokumentu. Potřebujeme přidat jednu adresu nebo určitý druh doplňujících údajů apod. Takové přidání velmi snadno způsobí změnu struktury dokumentu člověk. Pokud by neexistovaly mezičlánky v podobě služeb, museli bychom změnit celou tu dlouhou řadu dokumentů, které na dokument člověk odkazují. My však díky službám můžeme udělat pouze to, že službu změníme ze strany dokumentu, ale navenek služba zůstane stejná. Samozřejmě, že změna dokumentu člověk mohla být provedena na základě potřeby jiného dokumentu, který pak nemá zájem využívat služeb se starou strukturou. To je ovšem opět velmi snadno řešitelné pomocí přidání služby nové, která bude nabízet i přidané segmenty v nové struktuře dokumentu. V dokumentu, který si změnu vyžádal jen zaměníme název služby a všechny ostatní dokumenty necháme klidně netknuté!

Nyní ke konkrétním způsobům vytváření služeb dokumentů podrobněji: