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:


Způsoby a syntaxe tvorby služeb dokumentů

Služby dokumentu se umísťují do elementu struktury services, který je sourozencem k elementu struktury area) a na rozdíl od obsahu dokumentu může celou službu tvořit i jediný prvek (tag element).


Základní zásady pro vytváření služeb

Je důležité si nejprve uvědomit, že službu dokumentu vytváříme až dle potřeb dokumentu jiného, který této služby bude využívat. Postup návrhu by byl tedy takový, že po vytvoření obsahu dokumentu člov...


Další zásady pro služby

Do oblastí a prvků vytvářených jako služby je třeba uvádět všechny segmenty, které mají být nabídnuty jiným dokumentům. Uvedeme-li prázdnou oblast s představou, že se zde nabídnou všechny prvky dokum...


Dědění struktury služby z jiné služby

Používáme-li v oblasti dokumentu odkaz na službu jiného dokumentu (a přebíráme tak připravenou strukturu dle služby), zapisujeme v drtivé většině případů jen odkaz na tuto službu bez vyjmenovávání po...


Doplnění cizího segmentu vlastním

Mohou nastat situace, kdy chceme informace převzaté z cizího dokumentu pomocí oblasti doplnit ještě informacemi dalšími, které budeme ukládat v dokumentu místním nebo je budeme přebírat z jiného zdro...


Ošetření vlastností pomocí služeb

Při přebírání segmentů z cizího dokumentu se vlastnosti přebraných segmentů v novém (cílovém) dokumentu nastavují dle segmentů v tomto cizím dokumentu. Pomocí uvedení ve službě můžeme některé z těcht...


Shrnující služba bez odkazu

Zvláštním případem jsou tzv. speciální služby, které jsou tvořeny tagem area a neodpovídají svým identifikačním jménem (name) žádné kmenové oblasti a ani nemají uveden odkaz na některou jinou z oblas...


Ošetření bezpečnostních přístupů ve službách

Hledisko přístupu k datům (secrecy-lev a section) může být řešeno zvlášť pro vlastní dokument (v tagu content) a zvlášť pro služby, které nabízí (struktura services). Tím bude například umožněno, že ...


Možnost použít jen vyjmenované potomky služby

Někdy je výhodné (zejm. u pohledových dokumentů), abychom využili již existující služby zdrojového dokumentu s tím, že nás zajímají jen vybrané potomky. Vlastností použití oblasti služby je automatic...


Kmen definiceSpecifikace skupin dokumentůDefinice šablon prvkůDefinice šablon oblastíSyntaxe odkazů na segmentyPodmíněnost segmentůVýrazy pro filtrySlužby - propojování dokumentů