Beta

Arkkitehtuuri

Mitä arkkitehtuuri on?

Organisaation ja tietojärjestelmien kehittämisen yhteydessä arkkitehtuuri on työväline, tapa ja toimintamalli jäsentää, kuvata ja suunnitella keskeiset tarkastelukokonaisuuden rakenneosat, elementit ja niiden väliset suhteet sekä liitokset ympäristöönsä.

Tarkastelutasoista riippuen arkkitehtuurista puhutaan useilla käsitteillä. Tavallisimmin esillä ovat kokonaisarkkitehtuuri, integraatioarkkitehtuuri, tietojärjestelmä-/sovellusarkkitehtuuri ja ohjelmistoarkkitehtuuri. Nämä kytkeytyvät toisiinsa ja muodostavat kokonaisuuden.

Seuraavassa on määritelty yleistasolla kokonaisarkkitehtuuri sekä tietojärjestelmä-/sovellusarkkitehtuuri.

Suunnittelutyön ohella myös arkkitehtuurityö on vahvaa vuoropuhelua ja yhdessä tekemistä eri asiantuntija-alojen välillä. Tämän takia työssä korostuu kyky esittää ja kuvata asioita eri tarpeista ja kuitenkin yhdenmukaisesti. Työ on tämän takia merkittävässä määrin myös eräänlaista tulkin työtä. Tätä tulkkausta tukee ja parantaa esitysten ja kuvausten määrämuotoisuus.

Kokonaisarkkitehtuuri

Kokonaisarkkitehtuuri (KA) on systemaattinen lähestymistapa tavallisimmin organisaation toiminnan ja sen rakenteiden jäsentämiseen, kehittämiseen ja hallinnoimiseen. Kokonaisarkkitehtuuriin liittyvät määritelmät, suunnitelmat, kuvaukset, toimintatavat, menetelmät, ohjeet, kehityshankkeet ja –projektit ja eräissä tulkinnoissa myös toteutukset. Kokonaisarkkitehtuurityö on osa organisaation strategiatyötä, johtamisprosessia sekä talouden ja toiminnan suunnittelua.

Kokonaisarkkitehtuurissa on siis kyse siitä, että koko organisaation tai yrityksen toimintaa hallitaan ja kehitetään kokonaisuutena, joka koostuu osioista ja niiden välisistä suhteista. Kokonaisarkkitehtuuri on sovitulla tavalla toteutettavia kuvauksia ja ratkaisuja siitä, miten työyhteisön periaatteet, prosessit, tiedot, järjestelmät, käsitteet, sovellukset, teknologia, infrastruktuuri ja resurssit toimivat yhdessä vuorovaikutteisesti.

Kokonaisarkkitehtuuri on myös menetelmä, jolla toteutetaan määrämuotoisia, loogisia ja hierarkisia kuvauksia, joissa eri kerrokset linkitetään ja sovitetaan toisiinsa.

Helsingin kaupungilla kokonaisarkkitehtuuri perustuu JHS 179 -suositukseen rakenteeseen, jonka perustana on Open Groupin TOGAF KA -malli ja -viitekehys.

Nykytila ja tavoitetila

Muutoksen hallinnan ja kehittämisen yhteydessä on hyvä määritellä käsitteet nykytila ja tavoitetila.

Nykytila kuvaa tietyllä ajanhetkellä (esimerkiksi kehityshankkeen alussa) vallinnutta tilannetta, toteutusta ja ratkaisuja tarkastelukohteen (esimerkiksi hankkeen tai organisaation) näkökulmasta katsottuna.

Tavoitetilaa määriteltäessä erittäin hyvänä apuvälineenä on myös tahtotilan vision (Päämäärä) tunnistaminen. Se on tavallisesti ideaalinen tai unelman tyyppinen kuvaus siitä mitä tavoitellaan eli on selkeästi myös epärealistinen. Visio auttaa kuitenkin tavoitetilan suuntaamisessa erityisesti voimakkaiden muutosvoimien keskellä. Kärjistetysti voisi sanoa, että mennäänkö vasemmalle vai oikealle.

Tavoitetila on kehittämistoimenpiteiden ja toimintaympäristön muutosten kautta syntyvä tulevaisuuden tilanne. Tavoitetila on realistinen tahtotila, jota lähdetään toteuttamaan vision suuntaan. Suurten muutosten yhteydessä määritellään lisäksi osatavoitteita eli esimerkiksi mikä tavoitetila asetetaan vuoden päähän, jos varsinainen tavoitetila on kahden vuoden päässä.

Tavoitetilan pitää siis kyetä myös vastaamaan realistisesti ympäröivien muutosvoimien asettamiin vaatimuksiin eli niihin vaatimuksiin, jotka tekevät nykytilasta kestämättömän.

Kun tavoitetila on asetettu ja nykytila ymmärretään, voidaan niiden pohjalta määritellä tarvittavat etenemispolut ja -tavat eli miten siirrytään nykytilasta tavoitetilaan sekä millä keinoin siirtymä tapahtuu!

Arkkitehtuurin elinkaari

 

Kokonaisarkkitehtuurin näkökulmat

Kokonaisarkkitehtuurissa asioita tarkastellaan neljästä keskeisestä näkökulmasta. Nämä näkökulmat ovat:

 

Nakokulmat

 

Nämä näkökulmat tarkastelevat samaa kokonaisuutta eri suunnista. Tämä tavoitteena on helpottaa ja auttaa asioiden hahmottamista ja erityisesti monimutkaisten ympäristöjen jäsentelyä, sekä lisätä ymmärrystä kokonaisuudesta: mitä ollaan tekemässä ja mikä vaikuttaa mihinkin.

Kun kaikki nämä näkökulmat ovat mukana on helpompi tarkastella erilaisten muutosten vaikutuksia kokonaisuuteen. Lisäksi näkökulmat helpottavat eri ammattialojen ja asiantuntemuksen käyttöä eri alueilla. Esimerkiksi tiedonhallinnan näkökulmasta keskeisten tietokäsitteiden ja rakenteiden suunnittelu ja jäsentely verrattuna toimintaprosessien suunnitteluun.


Näiden eri arkkitehtuurinäkökulmien välille on myös määritelty periaatteelliset yhteydet JHS 179:n rakenteessa. Nämä yhteydet ovat suosituksia, mutta tarvittavia yhdistäviä kuvauksia kannattaa käyttää ja määritellä käyttötarpeiden mukaan. Oheisessa kuvassa on JHS 179 -rakenteen mukaiset yhteydet eri näkökulmien välillä.

Kokonaisarkkitehtuurin näkökulmien suhteet toisiinsa

 

Kokonaisarkkitehtuurin tasot

Kokonaisarkkitehtuurin kuvauskehys sisältää neljä eri abstraktiotasoa eli käsitteellistä tasoa sekä viidentenä toimeenpanon tason. Viides taso tuo loogisena jatkumona toteutussuunnitelmat osaksi kokonaisarkkitehtuurin kehittämisprosessia. Tietoturvallisuus, palvelutuotanto ja integraatiotarpeet otetaan huomioon kunkin näkökulman mukaisessa suunnittelussa.

Kokonaisarkkitehtuurin tasot helpottavat asioiden jäsentelyä näkökulmien sisällä. Erityisesti kehittämisen osalta ne kuvaavat myös asioiden käsittelyn tarkkuustasoa. Erityisesti kehittämistarpeet tunnistetaan tavallisesti taso tasolta. Tämä ei kuitenkaan ole kiveen hakattu asia vaan on hyvä määritellä kehittämistavan ja erityisesti kehittämistavoitteen sekä olemassa olevien ratkaisujen ja kuvausten perusteella.

Nämä tasot ovat:

  • periaattellinen taso ohjaa suunnittelua ja kuvaamista eli vastaa kysymykseen miksi
  • käsitteellinen taso kuvaa tarpeita ja palveluja  eli vastaa kysymykseen mitä
  • looginen taso kuvaa rakenteita eli vastaa kysymykseen miten
  • fyysinen taso kuvaa ratkaisuja  eli vastaa kysymykseen millä

Toimeenpanon taso kuvaa toimeenpanon keinoja ja vastaa kysymykseen miten edetään. 

Kokonaisarkkitehtuurin kuvaukset

Edellä mainituista tarkastelutasoista ja näkökulmista muodostuu kuvauskehikko, joka on JHS 179:n mukainen. 

Perus ja laajennetut kuvaukset

 

 

Ohjelmistoarkkitehtuuri

Ohjelmistoarkkitehtuuri käsittelee tavallisimmin yksittäisen tietojärjestelmän sisäisiä ohjelmistoteknisiä rakenteita ja toteutuksia sisältäen mm. tietokanta-, käyttöliittymä- ja rajapintatoteutukset.

Ohjelmistoarkkitehtuurin merkittävin yhteys kokonaisarkkitehtuuriin liittyy tietojärjestelmän käsittelemien tietojen hallintaan ja sen tarjoamiin tietojärjestelmäpalveluihin sekä siihen miten yksittäinen tietojärjestelmä kytkeytyy näiden palveluiden kautta osaksi laajempaa kokonaisuutta, joko rajapintojen ja niitä käyttävien liittymien eli integraatioiden sekä käyttöliittymien kautta.

Tietojärjestelmien kehitystyötä ei kuitenkaan ohjaa vain kokonaisarkkitehtuuri. Tärkeimmät muut kehitystyötä ohjaavat asiat ovat asiakaskeskeisyys (käyttökokemus), tietoturva ja talous.

Tarkastelutasojen ja näkökulmien kehikossa ohjelmistoarkkitehtuurin osalta suunnitellaan tietojärjestelmän sisäinen ohjelmistotekninen rakenne (osajärjestelmiä, kirjastoja, moduuleita tms.), joka toteuttaa tietojärjestelmäpalveluita.

Toinen oleellinen asia on sovelluksen käyttämien tietojen fyysiset tietorakenteet ja niiden suunnittelu, toteutus ja hallinta. Erityisen oleellista tietorakenteissa on tunnistaa tietojärjestelmän rooli tietojen hallinnassa eli mitkä tiedot tietojärjestelmä hallitsee itse ja mahdollisesti toimii tietojen ns. Master-järjestelmänä muille tietojärjestelmille ja mitkä tiedot tietojärjestelmä saa käyttöönsä muilta tietojärjestelmiltä sekä miten tietojärjestelmä tukee hyvää tiedonhallintaa ja varmistaa tietojen hyvän laadun.

Ohjelmistoarkkitehtuurissa on kiinnittettävä erityistä huomiota käyttöliittymien laatuun ja helppokäyttöisyyteen sekä rajapintoihin eli tietojärjestelmän integroitavuuteen.

 

Kehitysmenetelmät ja arkkitehtuurityö

Eritasoinen arkkitehtuuri ja organisaation suunnittelutyö liittyvät oleellisesti kehitysmenetelmiin, sillä ne ovat tapa työstää muutoksia ohjatusti, hallitusti ja läpinäkyvästi. Näin ollen arkkitehtuurityö on käytännössä aina osa kehitysmenetelmää ja sen mukaista kehittämistyötä.

Mitä arkkitehtuuri- ja suunnittelutyötä kehittämishankkeissa ja – projekteissa tulee tehdä ja missä vaiheessa? Kuvaus tästä on sulautettu osaksi ketterää ja perinteistä vaihemallia.

Oleellista on täsmentää hankkeen tavoite kehittämishankkeen alussa ja sovituissa välipisteissä. Tämän tarkentamisen myötä voidaan tarkastella, mitä arkkitehtuurinäkökulmia pitää käyttää: riittääkö vain tietojärjestelmäarkkitehtuurityö vai tarvitaanko strategiasta lähtevää kokonaisarkkitehtuurityötä? 

Hankkeen kokoluokkakysymystä voi hahmottaa esimerkiksi seuraavilla kysymyksillä:

  • Koskeeko kehittämishanke useita vai yhtä loppuasiakaspalvelua tai toimintaprosessia?
  • Koskeeko kehittämishanke yhtä tietojärjestelmää, sen osaa vai useampia tietojärjestelmiä?
  • Onko kehittämisen tavoitetila kaupunkitasoinen loppuasiakaspalvelu vai jonkun organisaation yksittäisen tiimin paikallinen tiedonhallintatarve?
  • Luodaanko kokonaan uutta ratkaisua vai kehitetäänkö olemassa olevaa?
  • Tarvitaanko ratkaisussa uutta tietojärjestelmää vai voidaanko muutokset tehdä olemassa oleviin järjestelmiin?

 

Luonnos