Viime aikoina on tuntunut, että suhteellisen nuorta ArchiMate®-mallinnuskieltä on alettu käyttää vähän joka paikassa. Sellaisissakin joihin se ei sovellu tai sitä ei ole tarkoitettu – vähän samaan tyyliin kuin UML:ää aikoinaan. Mihin ArchiMate® sitten käy ja mihin ei?
ArchiMate-mallinnuskieli on Open Groupin kehittämä kuvaustapa kokonaisarkkitehtuurin kuvaamiseen. Open Groupin TOGAF®-viitekehyksessä puhutaan kovasti, että tietyt kuvaukset olisi syytä tehdä, mutta ei anneta ohjeita, miten tai millä kielellä. Eniten maailmalla ohjelmistojen suunnitteluun käytetty UML (Unified Modeling Language) on kyllä elinkaarensa aikana kehittynyt ilmaisuvoimassa huimasti, mutta ylätason arkkitehtuurin kuvaamiseen siitä puuttuu vielä ilmaisuvoimaa. Näistä syistä Open Group päätti kehittää ylätason arkkitehtuurille ihan oman kuvauskielen ArchiMaten.
ArchiMate® on siis tarkoitettu kokonaisarkkitehtuurin (KA) kuvaamiseen. Siinä onkin elementtejä ja kerroksia liiketoiminnan ns. päästä päähän kuvaamiseen aina strategian suunnittelusta liiketoiminnan kautta niitä tukevien tietojärjestelmien ja teknologian kuvaamiseen. Mutta koska on kyse kokonaisarkkitehtuurista, kaikkea kuvataan lähinnä ylätasolla vastaten kysymykseen ’mitä?’. Mitä toimintaan vaikuttavia tekijöitä on? Mitä toiminnan palveluita ja prosesseja on? Mitä tietoa tarvitaan? Mitä järjestelmiä ja niiden palveluja on? Mitä järjestelmiä tarvitaan tukemaan liiketoimintaprosesseja? Jne.
ArchiMate ei siis vastaa siihen, miten prosessit toimivat. Miten niiden tarkempi kulku suunnitellaan ja kuvataan. Itse asiassa ArchiMate® 3 Specification sanoo suoraan, että jos on tarkoitus kuvata prosessien kulkua, käyttäkää prosessien mallinnuskieltä BPMN (Business Process Modeling & Notation). Myös BPMN on standardoitu kuvauskieli. Täytyy sanoa, että tämä on ensimmäinen kerta, jolloin standardissa viitataan toiseen standardiin, joka on jopa eri ryhmittymän kehittämä!
Tietoarkkitehtuurin osalta mielipiteet ovat varsin jakautuneet. Toisten mielestä ArchiMaten liiketoiminnan käsitteet (business object) riittävät hyvin käsitemallin tekemiseen, vaikka niille ei voi kuvata tietoja/attribuutteja eikä yhteyksille lukumääriä. Itse olen monesti havainnut käytännössä, että tämä ei riitä. Vasta kun käsitteelle antaa muutaman tärkeimmän attribuutin, siitä tulee yksiselitteisesti määritelty. Samoin on aivan eri asia kuvata, voiko asiakkaalla olla monta osoitetta vai ettemme tiedä sitä – on vain yhteys. Tässä kohtaa itse käännyn UML:n luokkakaavion puoleen yksinkertaistetussa muodossa.
ArchiMate ei vastaa myöskään siihen, miten järjestelmät tulisi suunnitella. Se katsoo niitä lähinnä ulkopuolelta mustina laatikkoina. Tai no – kyllähän sillä pystyy kuvaamaan järjestelmän toiminnot (funktiot), mutta sitäkin käytetään lähinnä kuvamaan, mitä toimintoja järjestelmä voi tehdä. Ei siis sitä, miten toimintalogiikka etenee. Kovin usein ArchiMatea on ruvettu käyttämään myös järjestelmien sisäisen arkkitehtuurin eli sovellusarkkitehtuurin kuvaamiseen, mutta siinä loppuvat eväät kesken. Esimerkiksi samanaikaisuuden kuvaaminen tai komponentin sisäisten rakenteiden (osien, part) ja niiden osallistuminen ulkopuoliseen toiminnallisuuteen porttien kautta ei onnistu ArchiMatella. Mutta niitä eväitä löytyykin sitten UML:stä ja jos on kyse sulautetuista järjestelmistä, SysML:stä (System Modeling Language). Sovellusarkkitehtuurissa usein tarvittavien ratkaisumallien kuvaaminenkin onnistuu UML:n sekvenssikaavioilla tms. huomattavasti helpommin.
Summa summarum: kuvauskieli tarpeen mukaan. ArchiMate on nimensäkin mukaisesti arkkitehtuurin kaveri tai kumppani, mutta nimen omaan kokonaisarkkitehtuurin. Se ei ole siis viisasten kivi, joka sopii kaikkiin käyttötarkoituksiin.
Lisää ArchiMatesta ja sen käyttötavoista kuulet Johdanto ArchiMate® 3 kuvauskieleen -kurssillamme. Ja jos tarvitset sertifiointia, meiltä saa nyt Suomen ensimmäiset akkreditoidut ArchiMate-sertifiointikurssit, joita koulutamme BiZZdesignin kouluttajina. Kaikki ArchiMate-kurssit löydät Oppia.fi-sivustolta.