2014. január 30., csütörtök

ArchiMate és TOGAF


Annak, hogy az ArchiMate előkerüljön mostanában ezeken az oldalakon is, van egy konkrét apropója: nemrég jelent meg a legfrissebb verzió az ArchiMate v2.1, 2013. decemberben.
Na de kezdjük kicsit korábban: mi is az ArchiMate és mi köze van a címben szereplő TOGAF-hoz?
Hogy még messzebbről indítsunk: a TOGAF kapcsán a legtöbb kifogást azzal kapcsolatban hallom, hogy miért nem tartalmaz sokkal több praktikus, gyakorlatban azonnal használható elemet, miért nem határozza meg az ajánlott artifactok pontos formátumát, miért nem javasol konkrét szoftvert az architektek munkájához és hasonlók. Nos, ezek teljesen jogos igények a praktizáló architektek felől, azt viszont fontos pontosan látni, hogy az igényekből mi esik egy általános enterprise architecture (EA) keretrendszer illetékességi területére, és ami nem, azzal mi, hol foglalkozik.
TOGAF-tól az ArchiMate-ig

Mind a TOGAF, mind pedig az ArchiMate az Open Group terméke. Felmerül hát, hogyan könnyíti meg az architektek életét az egyik, a másik vagy a kettő együttes használata?
Azt, hogy mi a kapcsolat az architektúra keretrendszer a modellező nyelv között, az alábbi ábra szemlélteti. A kék dobozokban szereplő fogalmak (Keretrendszer, Módszertan, Nyelv, Eszköz) mellett példaként szerepel a TOGAF, az ADM (a TOGAF keretrendszerben található módszertan, az Architecture Development Method), az ArchiMate nyelv és az Archi szoftver neve.

Bármelyik komoly architektúra keretrendszert nézzük, annak tartalmaznia kell valamiféle architektúra fejlesztési módszert is. Van, amikor ez kifejezetten erős, domináns része a keretrendszernek (a TOGAF esetében ez a helyzet), míg más architektúra keretrendszerek esetleg jobban az architekti termékekre koncentrálnak. Ezért indul a fenti ábra az architektúra keretrendszerrel, ami vagy tartalmazza a saját architektúra fejlesztési módszertanát, vagy hozzá kell kapcsolni egy ilyen módszertant. Bármilyen módszertan szerint is dolgoznak az architektek, kell egy egyezményes nyelv, amit követnek a különböző artifaktok előállítása során. Nos, erre egy példa az ArchiMate. Végezetül a kiválasztott (és szükségszerűen testre szabott) keretrendszer és a kiválasztott, adaptált módszertan és jól definiált modellező nyelv mellett még szükség van (egy vagy a gyakorlatban inkább több) szoftver eszközre is, ami a fentieket támogatja. Erre egy példa az Archi, de ez egy olyan érdekes kérdéskör, ami majd megérdemel egy külön blog bejegyzést is.

A TOGAF és az ArchiMate, a két Open Group szabvány kapcsolatát jól összegzi az alábbi ábra:

 
Szabványos modellező nyelv
Az ArchiMate® tehát egy Open Group szabvány, egy grafikus modellező nyelv az enterprise architecture területre.

Az ArchiMate 2.1 specifikációról bőséges információ található az Open Group honlapján: http://www.opengroup.org/subjectareas/enterprise/archimate

Ha olyan valaki lát egy ArchiMate diagramot, aki ismeri az UML-t, azonnal felmerül a kérdés, mi az UML és az ArchiMate viszonya? Nos, mint ismert az UML egy jól definiált jelkészlettel és definiált jelentéssel jól alkalmazható sokféle artifakt előállítására magas szintű architektúra ábráktól egészen alacsony szintű sequence diagramokig. Ha az ArchiMate-ről beszélünk, röviden úgy jellemezhetjük, hogy ez szintén egy grafikus modellező nyelv, jól meghatározott grafikus elemekkel, de ez utóbbi sokkal inkább a magasabb absztrakciós szinteken használható eredményesen. Az ArchiMate által jól modellezhető világ pontosan az, ami az Enterprise Architect területen szükséges. Röviden fogalmazva az ArchiMate egy UML-szerű grafikus modellező nyelv, ami kifejezetten az EA modellezési igényekre készült.
TOGAF és ArchiMate
A TOGAF az architektúrákat 3 nagy területre csoportosítja. Foglakozik az üzleti, az alkalmazás/adat és a technológiai architektúrával. Az ArchiMate hasonló megközelítést tartalmaz, amikor három különböző réteget kezel, amelyek egymástól függenek. Itt tehát nagyfokú egyezést találunk.

Ahol kisebb mértékű eltérés van a két szabvány között az a következő. A TOGAF esetében van egy „keretrendszer a keretrendszeren belül”: egy Architektúra tartalom keretrendszer (ACF) írja le többek között azt a metamodellt, ami a modellezés során használatos fogalmakat és azok viszonyát dokumentálja, valamint felsorolja az architektúra fejlesztési folyamat egyes fázisai során előállítani javasolt artifaktokat is. Az ArchiMate valamelyest eltérő megoldást tartalmaz. Az ArchiMate külön metamodelleket tartalmaz az üzleti, alkalmazás és technológiai rétegekhez. A kisebb eltérések mellet az ArchiMate mindenképp többletet tartalmaz azon a téren, hogy definiál egy egyértelmű modellezési jelölést és ezzel határozottan plusz értéket ad a TOGAF-hoz. A TOGAF Architektúra keretrendszer használható, megvalósítható az ArchiMate jelrendszer alkalmazásával, azaz előállíthatók a TOGAF által ajánlott nézetek az ArchiMate használatával.
A fentiek alapján akár jogos lehetne a kérdés, miért nem lehet egyszerűen helyettesíteni a TOGAF ACF-et az ArchiMate-tel? Nos, a válasz röviden az, hogy nem lehet. Egyrészt azért sem, mert a TOGAF ACF szélesebb területet ölel fel, mint az ArchiMate (pl. az „E” fázisban implementáció specifikus követelményekkel foglalkozik). Ezen kívül a teljes TOGAF ADM leírás intenzíven hivatkozik a saját ACF elemeire, ezek nem lennének értelmezhetőek az ACF egyszerű kihelyettesítése esetén.

Az új ArchiMate verzió

Visszatérve a bevezetésben említett friss verzióra: az ArchiMate® 2.1 verzió egy úgynevezett „javított kiadás” (maintenance release), a 2012-ben megjelent ArchiMate 2.0 specifikációnak egy módosított kiadása.
A változások részben bővebb magyarázó szöveget jelentenek, részben ismétlések kihagyását, egységesítést, az ábrákon a szöveges résszel való egyezését biztosító módosításokat és hasonló pontosításokat.
A változások részletesebb leírása megtalálható az Open Group U312 számú dokumentumában (ArchiMate® 2.0 Technical Corrigendum) ami az alábbi internet címen érhető el: http://www.opengroup.org/bookstore/catalog/U132

Összegezve a TOGAF és az ArchiMate egymást jól kiegészítő két architekti szabvány, melyek kapcsolata, kölcsönös megfelelése egyre jobb lett az újabb verziókban. Ennek a harmonizációnak a története és pillanatnyi helyzete is egy izgalmas és a napi architekti munka szempontjából érdekes kérdéskör, de ez majd egy másik blog bejegyzésnek lehet a tárgya.