Interní a externí prvky v ArchiMate

Jazyk ArchiMate nabízí výbornou věc, kterou UML v základu nemá – interní a externí elementy. Každá z core vrstev jazyka totiž aktivní a behaviorální prvky dělí právě do uvedených dvou skupin. A zcela správně. K čemu je to dobré?

Ukažme si nejprve příklad, kterým není nic jiného než základní vzor použití obchodní vrstvy.

Obchodní vrstva

Obchodní vrstva: Interní a externí prvky

Na něm je vidět, že obchodní rozhraní a obchodní služba jsou externí prvky. Shodou okolností to jsou věci, které vidí ten, kdo nám přináší peníze, tedy zákazník. Ten ví, že když chce např. koupit televizi (služba Prodej televizorů), tak může přijít do kamenné prodejny (obchodní rozhraní) nebo na e-shop (taktéž obchodní rozhraní).

Oproti tomu tu máme obchodní roli a obchodní proces. Přiznejme si na rovinu, že nás jakožto zákazníky ani proces, ani role naprosto nezajímají. A vlastně nám do toho ani nic není. Pokud půjdu reklamovat uvedenou televizi, tak ji na prodejně předám prodavači a očekávám, že výsledkem bude vyřízení této reklamace. Jak přesně toto vyřizování probíhá, je interní věcí obchodníka, který musí dodržet literu zákona. A právě proto jsou tyto prvky interní.

Když se obchodní vrstva setká s tou aplikační

Pojďme dále. Tedy ani ne tak dále, jako spíše níže do aplikační vrstvy. Obchodní procesy a role pomáhá automatizovat nebo alespoň ulehčit „nějaký software“. Ve skutečnosti jde o rozhraní aplikací, ke kterým uživatel (role) přistupuje a přes toto rozhraní vykoná požadovanou činnost, např. zadá reklamační protokol. Jinými slovy software poskytuje uživateli nějakou službu. Není proto náhoda, že na aplikační úrovni jsou právě aplikační rozhraní a aplikační služba externí prvky.

Business vrstva se setkává s aplikační vrstvou

Když se nad tím zamyslíme, tak je to vlastně naprosto logické. Uživatel (role) vyžaduje nějakou funkčnost od softwaru, ke kterému přistupuje přes nějaké jeho rozhraní. Mí kolegové již jistě tuší, kam tím mířím. Často jsem je totiž ve chvíli, kdy přišli s požadavkem od businessu, unavoval větou: „ať už nám přestanou kecat do aplikací, ale raději řeknou, co chtějí, aby aplikace uměla.“ Zadavatel totiž nedohlédne na celé aplikační podhoubí (a ani to není jeho úkol) a neví tedy, zda jím zvolená aplikace je ta správná. Jinými slovy: zadavatel určuje, co má aplikace umět (služba) a někdo zkušený a zodpovědný z oblasti aplikační úrovně určí, která aplikace to bude. To vše např. na základě funkcí, které tato aplikace poskytuje. To však má být zadavateli, který je z obchodní vrstvy, jedno. Podobně jako zákazníkovi jsou ukradené vnitřní procesy firmy.

Interní a externí prvky aplikační vstvy

A technologická vrstva

Jistě si nyní již představíte, jak je to s technologickou vrstvou. Inu, naprosto stejně. Pro lidé zodpovědné za aplikační komponentu je důležité pouze to, jaké služby technologie poskytují a jak se k nim dostanou. K tomu slouží technologické služby a technologická rozhraní.

Od aplikace k technologiím

Konečně záležitosti týkajících se nasazení na konkrétní hardware či virtuální server nechejme na technolozích.

Interní a externí prvky technologické vrstvy

Ucelený příklad

Celé povídání ještě lépe vynikne na následujícím příkladu.

Vrstvy a použití interních a externích prvků

V rámci projektové dodávky změn je třeba připravit model řešení. K tomu potřebujeme nějaké GUI s možností (službou) vytvářet model. Z pohledu procesu dodávky (Solution Delivery Process) projektu je jedno, jaký nástroj to bude.

Z pohledu aplikační vrstvy určíme, že to bude Sparx Systems Enterprise Architect. To je aplikace pro Windows, tak vyžaduje, aby měla k dispozici API operačního systému Windows a dále možnost ukládat data. K tomu má technologickou vrstvu, které tato rozhraní a služby poskytuje. A nástroji pak musí být úplně ukradené, zda např. pro ukládání dat je na disku formát NTFS nebo FAT32.

Závěr

A na závěr na chvíli zpět k UML. Jak by se to dalo pomocí něho vyřešit? Možností je více. Některé prvky umožňují skrýt svou implementaci. U komponent můžeme hovořit o black-boxu a white-boxu, u klasifikátorů (např. třída) máme veřejné a soukromé viditelnosti vlastností (atributy a operace). Dále nám mohou pomoci stereotypy, kterými prvky na interní a externí můžeme rozdělit. Jenže kvůli univerzálnosti UML bychom zvolený postup museli zaznamenat tak, aby čtenář tušil, co se mu snažíme sdělit.

Zanechat odpověď

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *