Architekti munkánk során komplex rendszerekkel
foglalkozunk. A tervezés fontos, meghatározó része a munkánknak. Mégis sok
esetben nem használjuk a tervezés szabványait, az érintettek számára nehezen hozzáférhetők
és újrahasznosíthatók korábbi munkáink eredményei. Így aztán drágán tervezünk,
nem hatékonyan használjuk az erőforrásainkat. Vannak nyílt szabványok, van
elérhető központilag menedzselt eszköz, amit használhatunk. Egy akár teljesen
ingyenesen is elérhető megoldást mutatok be az alábbiakban.
Ezzel a megoldással jobb minőségű tervek
készülhetnek, akár mindenki számára elérhetőek a munka eredményei, egyszerűen
újrahasznosíthatók.Nézetek
Mivel foglalkozik az enterprise architekt, milyen területek tervezésével? A TOGAF fogalmait használva üzleti, adat, alkalmazás és technológiai területet fed le az architekti munka.(A TOGAF-ról több korábbi blog bejegyzésem is tartalmaz további részleteket, például: itt, itt, itt és itt is)
A komplex architektúrák több nézet
együttesével írhatók le. Az architekt felelőssége annak meghatározása, hogy
hány nézet elkészítése szükséges. Nyilván a feltétlenül szükségesnél több nézet
elkészítése többlet erőforrás felhasználással, nagyobb költségekkel járna, így
aztán nem célszerű. Másrészről azonban a szükségesnél kevesebb (vagy nem
megfelelő) nézet elkészítése nem tudja biztosítani, hogy valóban az ideális
architektúra valósuljon meg.
Közös nyelv
Ha a nézetek szükséges mennyisége rendben is van, még mindig komoly problémát jelenthet a közös nyelv hiánya.Kell tehát egy közös nyelv!
Zavaros ábrák helyett egyértelmű, tiszta kommunikációra van szükség, félreérthetőség, kétértelműség nélkül. A következetesség, a különböző nézetek összefüggőségének, harmóniájának biztosítása is fontos feladat. A megfelelő vizuális megjelenítés kulcskérdés. Lehetőleg a nézeteknek az egyszerű tájékoztatáson, információ közlésen túlmenően támogatni kell elemzések elvégzését is.
A fenti lehetséges problémákra átfogó megoldást nyújthat egy megfelelő szabvány használata. Nos szerencsére létezik az architektúra modellezési nyelv elfogadott nyílt szabványa, ez az ArchiMate.
(Az ArchiMate több korábbi blog bejegyzésemnek is tárgya volt, például: itt, itt, itt, itt és itt)
ArchiMate
Mit nyújt az ArchiMate szabvány? Egy grafikus nyelvet
biztosít, architektúrák leírására alkalmas fogalmakkal. A szabvány egy komplett
keretrendszert tartalmaz a fogalmak rendszerezésére. Természetesen
rendelkezésre állnak a szabványban a szükséges grafikai jelölések a fogalmak
megjelenítésére. Ezeken túl még nagyon hasznos elképzeléseket tartalmaz a
szabvány a különböző érintett személyek számára alkalmas vizualizációkról. Az
ArchiMate egy nyílt szabvány, amit a The Open Group gondoz. A nyelv
népszerűségét mutaja, hogy jelen cikk írásakor az ArchiMate LinkedIn csoport
tagjainak száma meghaladta a 10 000 számot.
A nyelv kapcsán meg kell említenünk, hogy a
sikeres architekti munkához a szabványos tervező nyelven kívül legalább ugyanilyen
fontos a munka módszertani hátterét biztosító enterprise architect
keretrendszer is. A TOGAF (The Open Group Architecture Framework) és az
ArchiMate szorosan kapcsolódnak amint az alábbi ábra is mutatja. A közös pontot
az jelenti, hogy a tervezett rendszer leírását a különböző érintett szereplők
sajátos nézőpontjainak megfelelő nézetek elkészítése biztosítja.
A TOGAF
részletesen leírja annak folyamatát, hogy hogyan célszerű ezeket a nézeteket
elkészíteni. Az ArchiMate pedig konkrét eszközt ad a jól definiált grafikus
nyelv segítségével ezen nézetek egyértelmű, félreérthetetlen, következetes
elkészítésére.
Több szintű modellek
Komplex rendszerek esetében (amilyenek a nagyvállalatok, az összetett IT rendszerek, a bonyolult adatközponti infrastruktúrák, stb.) több szinten célszerű modellezni. Ezek közül az ArchiMate az egyik fontos modellezési szintet szolgálja ki: a nagyon magas szintű stratégia modelleknél jóval konkrétabb, de a megvalósítási modelleknél magasabb szintű tartalom elkészítésére szolgál.Az ArchiMate keretrendszere
Az ArchiMate szabvány nem csak felsorolja a nyelv által használt fogalmakat és azok jelöléseit, de egy komplett rendszert ír le a fogalmak rendszerezésével. Ebben az ArchiMate fogalmak egyrészről rétegekbe rendeződnek, másik szempontból pedig aspektusokba vannak szervezve. Az alábbi ábra mutatja az ArchiMate rétegeit és aspektusait. Egy példaként tartalmaz három alapfogalmat is, mindhárom az üzleti rétegből, de különböző aspektusokból.Egy egyszerű ArchiMate nézet a fent használt fogalmak használatával:
Verziókezelés
Amikor több nézet készül, esetleg több szakember párhuzamosan dolgozik ezek kialakításán és különböző változatokat dolgoznak ki, akkor a fent ismertetett szabványos nyelv alkalmazásán kívül még célszerű egy korszerű verzió kezelő megoldást is alkalmazni.Az 1980-as évektől a legismertebb korai verziókövető rendszer a CVS volt. Azóta sok hasonló rendszert fejlesztettek. Alapvetően a Linux kernel fejlesztésének támogatására létrehoztak egy saját verziókezelőt. Cél volt a gyorsaság, egyszerűség, a nem-lineáris fejlesztés (párhuzamos branchek) támogatása és a nagy projektek hatékony kezelése. Így jött létre a legnépszerűbb szabadon használható elosztott verziókövető rendszer a Git.
Az architektúra nézetek készítése során
(csakúgy, mint például a szoftverek forráskódjának fejlesztésekor is) jelentős
mennyiségű digitális tartalom elkészítése a feladat, aminek során nagy
mennyiségű módosítás történik, amiben több szakember vesz részt. Ezekkel a tevékenységekkel kapcsolatban fontos cél a változások nyomon követhetősége.
A Git előnyei közé tartozik, hogy elosztott, rugalmas,
könnyű vele branch-eket használni, gyors és jól használható más rendszerekkel együtt
is. Bármilyen tartalom kezelhető vele, a klasszikus példa a forráskód, de sok
más digitális tartalom, így az architektúra nézetek esetében is igen hasznos.GitHub
Az interneten igen népszerű a GitHub webalapú Git repository hosztoló szolgáltatás. Van ingyenes és fizetős hozzáférése is. Jelképe az Octocat, ami részben macska, részben polip lény, emberi arccal.
A webes szolgáltatás itt érhető el: www.github.com. Emellett a szolgáltatás
mellett a vállalatok, nagyobb szervezetek számára fontos a GitHub Enterprise
szoftver is. Ez hasonló a GitHub nyilvános szolgáltatásához, de kifejezetten nagy,
vállalati szoftver fejlesztő csoportok használatára tervezték és tipikusan vállalati
tűzfalon belül üzemeltetett megoldásként használják a nagyobb szervezetek.
Kliens alkalmazás az ArchiMate használatához
A GitHub kiváló eszköz az architektúra nézetek verzió-kezelt tárolására és megosztására. Szükséges mellette egy kliens alkalmazás, ami az architektúra nézetek szerkesztését, ember számára értelmezhető megjelenítését biztosítja. Az ArchiMate szabványt szerencsére több szoftver gyártó is támogatja és különböző architekti munkát támogató szoftverek érhetők el a szoftver piacon. Most egy ingyenesen hozzáférhető, nyílt forráskódú ArchiMate modellező alkalmazást mutatunk be, ez az Archi.
Az Archi a legelterjedtebb ingyenes ArchiMate
modellező eszköz. Egy szabad és nyílt forráskódú modellező eszköz ArchiMate
modellek és vázlatos rajzok készítéséhez. Az Archit világszerte több ezer
architect használja.
Az Archi asztali alkalmazáshoz létezik egy
plugin, ami kényelmesen elérhetővé teszi az alkalmazásból a GitHub verzió
kezelő szolgáltatásait. Ezáltal az architect szakember által az Archi kliens
programban elkészített szabványos ArchiMate nézetek elhelyezhetők akár a
nyilvános github.com verzió kezelőben, akár nagyvállalatok esetében a céges
tűzfalon belül üzemeltetett GitHub Enterprise rendszerekben és ezzel az ilyen
rendszerek szolgáltatásai kihasználhatók az architektúra nézetek fejlesztése
során is.
Maga az Archi kliens alkalmazás az ArchiMate
nézetek elkészítésén kívül több hasznos szolgáltatást biztosít, többek között
riportok készíthetők több népszerű dokumentum formátumban az elkészült
nézetekről.
Másik hasznos szolgáltatás, hogy az Archi
nézetekben szereplő komponensekről, kapcsolataikról minden adat kimenthető és
Excel-ben feldolgozható.
Talán még ennél is fontosabb egy másik
exportálási (és importálási) funkció: szabványos ArchiMate® Model Exchange File
Format formátumban is kimenthető a munka eredménye. Ez a formátum szintén a The
Open Group által kidolgozott szabvány és a jó hír az, hogy bár a szabvány
viszonylag új, már is több szoftver gyártó támogatja. Az említett model
exchange formátumot támogatják pl. a következő eszközök: BiZZdesign Architect,
Sparx Enterprise Architect, ArchiRepo és természetesen az Archi is.
Összefoglalás
A fentebb leírt megoldás
műszaki részét az alábbi ArchiMate nézet szemlélteti.
Az ismertetett megoldás tehát a TOGAF keretrendszer módszertanának használata mellett az ArchiMate modellező nyelvnek az Archi kliens programban történő alkalmazását javasolja a GitHub verziókezelő rendszerben történő tárolással együtt. Ezek alkalmazásával javul az architekti munka eredményeinek minősége, az újrahasznosítás erős támogatásával csökkenhet a tervező munka költsége is miközben valódi értéket termel a szervezet számára.