2014. június 29., vasárnap

Az ArchiMate architektúra leíró nyelv és az UML

Ez a bejegyzés is úgy születik, mint több korábbi társa: olyan kérdést kaptam, amire a választ célszerűnek látszott mások számára is elérhetővé tenni. Nos, a napokban a régióban dolgozó architekt kollégáim számára tartottam egy bevezető előadást az ArchiMate architektúra leíró nyelvről és ennek végén kaptam az alább ismertetendő kérdést.

Korábbi tudás felhasználása
Az ArchiMate grafikus nyelvről beszélve egy lényeges sajátosság, hogy a nyelv jelölései hasonlóak az UML (Unified Modelling Language) és a BPMN (Business Process Modeling Notation) nyelvek jelöléseihez főként azért, hogy az architekt szakemberek által már korábban megszerzett tudás közelében maradjunk, annak elemeit felhasználhassuk.
Vannak azért a hasonló jelölések mellett lényeges különbségek is például az ArchiMate és az UML között. A különbségekkel kapcsolatos konkrét kérdés ismertetése előtt röviden szükséges néhány fogalom bevezetése.
Néhány fogalom a kérdés előtt
Egy egyszerű példa alapján azonnal érthető a nyelv úgynevezett strukturális és viselkedési elemeinek mibenléte: a „József könyvet olvas” helyzet modellezhető 3 elemmel:
  • József mint szereplő (actor) egy szerkezeti elem,
  • az olvas modellezhető egy folyamatot jelző elemmel (business process), ami példa a viselkedési (behavioral) elemekre,
  • a példában a könyv mint objektum (business object) egy passzív elemként jelenhet meg.

Fontos fogalom még a nézőpont illetve nézet (viewpoit/view) is, hiszen minden érintett félnek lehetnek sajátos egyedi nézőpontjai egy adott architektúrával kapcsolatban.
Az ArchiMate lehetővé teszi a tervező számára, hogy az architektúra egyes nézeteinek kidolgozása során egy azon nézőpont tartalmazzon szerkezeti és viselkedési elemeket is. Az UML esetében viszont lényegesen megkülönböztetik a szerkezeti és a viselkedési diagramokat, a modellezés módja ott jóval szigorúbb.

ArchiMate – UML kérdés
És itt következik a kérdés: vajon az ArchiMate és az UML közötti fenti különbség elsősorban annak a következménye, hogy a két nyelv eltérő feladatokra született (különböző szintek modellezésére), avagy egyszerűen a nagyobb rugalmasság érdekében történt ezen a téren változás az ArchiMate létrehozása során?

Nos, az ArchiMate valóban eltérő megközelítést alkalmaz, mint az UML abban a vonatkozásban, hogy nincsenek előre elszeparálva a fogalmak külön diagramokba, hanem lehetővé teszi a teljes modellre (vagy annak bizonyos elemeire) vonatkozó nézetek elkészítését. Ez a rugalmasság szempontjából is szükséges, de megköveteli ezt a nézetek és nézőpontok (views és viewpoints) megfelelő támogatása is, hiszen ezek nagyon lényegesek az architektúrák definiálásánál. (lásd az IEEE 1471 / ISO 42010 szabványokat is)

Az ArchiMate használata során a tervező 18 előre definiált standard nézőpont közül választhat. Ezek közül némelyek hatóköre egyetlen rétegre vagy aspektusra van korlátozva. A nézőpontokhoz meghatározásra került, hogy mely nyelvi komponensek használhatók az adott nézőpont esetében. Például az úgynevezett rétegzett nézőpont (Layered Viewpoint) esetében egy adott architektúrának bemutatható több rétege és aspektusa is egyetlen diagramon. Ez a nézőpont például tartalmazhat mind szerkezeti mind viselkedési elemeket együttesen. Az alábbi képen erre láthatunk egy példát.




Természetesen a nézőpontoknak és nézeteknek sajátossága, hogy egyenként korlátozott jellegűek. Ezek mindegyike bizonyos korlátokkal mutatja be a teljes architektúrát, általában meghatározott aspektusokból. Ezért egyetlen nézet mindig csak korlátozott, nem teljes képet mutat a rendszerről. A nézetek összekapcsolódnak és sok esetben éppen azzal lehet a legjobban leírni és kommunikálni egy architektúra lényegét, ha bemutatjuk több nézet kombinációját és azok összefüggéseit. 

Akiket érdekel az ArchiMate architektúra modellező nyelv, azoknak ajánlom a nyelv "atyjának", Marc Lankhorst belga szakembernek, az Enterprise Architecture (EA) szakma nemzetközileg elismert szaktekintélyének Budapesten tartott előadását, melyben bemutatta az Enterprise Architecture modellezési szabványát jelentő ArchiMate történetét és fejlesztését és ismertette a szabvány hátterét, céljait és alapelveit is. Az AEA Magyar Tagozat által szervezett szakmai programon látott prezentáció letölthető az említett egyesület honlapjáról