Tieturin TOGAF 9 Certified -kurssi menee syvemmälle suunnittelun avainkohtiin

Kävin vajaa kuukausi sitten opiskelemassa TOGAF 9 -kokonaisarkkitehtuuriviitekehyksen perusosion Tieturin kurssilla ja nyt edessä oli Open Groupin TOGAF 9 sertifioinnin jälkimmäinen Certified osuus. Vaikka työtehtäväni eivät suoranaisesti liity yritysarkkitehtuurin kehittämiseen, tarjoaa TOGAF keinoja ja ideoita myös omaan työhöni ja teknisen arkkitehdin roolissa on hyvä tietää perusteet maailman yleisimmin käytetystä yritysarkkitehtuuriviitekehyksestä, johon myös julkisen hallinnon JHS-179 -suositus pohjaa. Kuten ensimmäisenkin osion, myös toisen osion opiskelumateriaali löytyy verkosta, mutta osallistuin Tieturin järjestämälle TOGAF 9 Certified -kurssille, joka tarjoaa (level 2) -sertifikaatin suorittamiseen tarvittavat tiedot ja valmiudet.

TOGAF 9 lyhyesti

”Arkkitehtuuri on tarpeettoman luovuuden rajoittamista” – antiikin kreikka

Open Groupin TOGAF, eli The Open Group Architecture Framework, on maailman yleisimmin käytetty kokonaisarkkitehtuuriviitekehystä ja sekä ilmainen että vapaasti saatavilla oleva viitekehys yrityksen sisäiseen kehittämiseen. Viitekehyksen ideana on pienentää kokonaisarkkitehtuurin suunnittelemisen riskejä, kustannuksia sekä lyhentää sen suunnitteluun kuluvaa aikaa ja se tarjoaa sen saavuttamiseksi kehittämismetodin (ADM) ja työkaluja. TOGAF on myös perustana Suomen julkishallinnon käyttämässä kokonaisarkkitehtuurin suunnittelumenetelmässä (JHS-179). En ala tässä käymään tarkemmin viitekehystä läpi, vaan kiinnostuneet voivat lukea siitä TOGAF-dokumentaatiosta.

Suomessa TOGAFia kouluttavat ainakin Tieturi ja Wakaru.

Tieturin TOGAF 9 Certified -kurssi

TOGAF 9 Certified -kurssi on TOGAF 9 Foundationin jatkokurssi, jonka kolmipäiväinen kokonaisuus tarjoaa osallistujalle TOGAF 9 Certified (level 2) -sertifikaatin suorittamiseen tarvittavat tiedot ja valmiudet. Kun Foundation kurssi tarjosi lähinnä yleisnäkemyksen kokonaisarkkitehtuuriviitekehykseen ja sen vaiheisiin, opettaa Certified -kurssi syvällisesti yritysarkkitehtuurin suunnittelun avainkohdat, kuinka suunnittelu tehdään TOGAF -viitekehyksen avulla, miten soveltaa TOGAFia ja ymmärtää sen tarjoamat näkökulmat.

Tieturi TOGAF 9 Certified -kurssin ensimmäisen päivän piirustuksia

Tieturin kurssi käy aihepiirin läpi 524 kalvon ja 12 testisertifiointikysymyksen avulla, joka toimi Jari Kasslinin vetämänä hyvin, antaen TOGAFin eri vaiheisiin liittyvistä tekniikoista ja asioista hieman syvällisemmän kuvan ja valmistaen sertifiointitestiin. Jatkokurssilla asia käytiin läpi hieman enemmän luennonomaisesti kuin vajaa kuukausi sitten käymälläni peruskurssilla, vaikka muutama arkkitehtuurin suunnitteluun liittyvä ryhmäharjoitus tehtiin. Kahteen ja puoleen päivään oli ahdettu lyhyt kertaus TOGAFin peruskurssista, ADM:n vaiheisiin liittyvien tekniikoiden läpikäynti, TOGAFin osa-alueiden tarkempi käsittely, testiharjoituskysymysten pohdinta ja muutama ryhmäharjoitus.

Kävin Certified-kurssin suhteellisen nopeasti Foundationin jälkeen, joten perusasiat olivat vielä hyvin muistissa, mutta kurssin aikana ei juurikaan peruskurssin aiheita sivuttu, vaan syvennyttiin juuri niihin aiheisiin, jotka jäivät avoimiksi ja herättivät ”miten se tapahtuu käytännössä” (siis millä tekniikoilla) -kysymyksiä. Jatkokurssilla sai paremman käsityksen miten TOGAFia voisi hyödyntää myös omassa työssä ja miten viitekehyksen tekniikoita voisi soveltaa. Käytännön esimerkkejä ei Certified-kurssikaan tarjoa, vaan asiat ovat enemmän strategisella ja loogisella tasolla. Sertifiointitestiä ajatellen etenkin testiharjoituskysymysten läpikäynti ja vastausten pisteyttäminen testiä ajatellen 5, 3, 1 ja 0 -jaottelulla toimi hyvin asian sisäistämiseksi.

Tieturin TOGAF 9 Certified -kurssi toimi mielestäni hyvin aiheeseen syventymiseen ja tarjosi selkeämmän kuvan kokonaisuudesta ja sertifiointitestissä vaadittavista asioista, kuin mitä pelkkää TOGAF 9 dokumentaatiota tavaamalla saa. Kolmipäiväinen kokonaisuus maksoi 1750e + alv, joten edullinen kurssi ei ole. Halvempi vaihtoehto myös jatkokurssilla on käyttää Open Group myymää opiskeluopasta (29,95 dollaria) ja harjoitustestiä (0,99 dollaria), mutta en osaa sanoa miten hyvin ne yksistään toimisivat sertifiointitestiä ajatellen. Sertifiointitesti kustansi 278e + alv.

”Kokonaisarkkitehtuuri on teknologiatietoista, mutta niin paljon kuin mahdollista, teknologiariippumatonta”

Kurssin jälkeen pidetty TOGAF 9 Certified -sertifiointitesti sisälsi kahdeksan skenaariopohjaista kysymystä (monivalinta, pisteytys: 5, 3, 1,0), joista piti saada vähintään 24 pistettä. Aikaa vastaamiseen oli hieman yli pari tuntia, josta käytin noin puolet. Nyt kysymyksissä ei enää leikitelty sanavalinnoilla tai nippelitiedolla, vaan arvioitiin TOGAFin soveltamista ”oikeaan” arkkitehtuuritapaukseen. Muutamiin kysymyksiin paras vastaus löytyi helposti, mutta vaikka 90% (36/40 pistettä) tuloksen perusteella voisi olettaa testin olleen suhteellisen helppo, jäi muutamien kysymysten kohdalla arpomaan parasta vaihtoehtoa. Mutta mikä tärkeintä, nyt on myös TOGAF 9 Certified -sertifikaatti suoritettu.

Kolme päivää teoriaa esitteli paljon uusia asioita, joten pohdiskeltavaa ja kerrattavaa riittää myös kurssin jälkeen.

Asioita, joita et löydä uusista Macbook Pro Retina -malleista

Applen Macbook on aina ollut mielestäni tyylikäs ja toimiva kokonaisuus, etenkin unibody-alumiinikotelon esittelemisen jälkeen, mutta jäin kaipaamaan muutamia pieniä yksityiskohtia, kun viisi vuotta vanha 13″ Macbookkini vaihtui uusimpaan 13″ Macbook Pro -malliin. Ulkoisesti viisi vuotta ei kuitenkaan ole juurikaan muuttanut kannettavan designia, mutta muutamia mielestäni käteviä ja tyylikkäitä asioita on matkan varrella tippunut.

Tässä 6 asiaa, joita et uusista Macbook Pro Retina (late 2013) -malleista löydä.

1. Virtaledi

Näet helposti yhdellä vilkaisulla valkoisesta LED-valosta, onko koneesi päällä (palaa), nukkumassa (sykkii) vai sammutettu (pimeä).

2. Tyylikäs virtanappi

Virtanappi on upotettu runkoon.

3. Optinen asema

Nykyään vähemmän tarvittu, mutta välillä olisi käyttöä DVD-RW -asemalle.

4. Akun virtaindikaattori

Oliko siellä akussa virtaa vai ei? Paina nappia ja tarkista.

5. Langallisen verkon liitin

Vain langallinen verkko tarjolla? Ei ongelmaa.

6. Päivitettävä kokonaisuus

Lisää kiintolevyä, muistia tai uusi akku? Onnistuu.

Aika kuitenkin ajoi viisi vuotta uskollisesti palvelleen 13″ Macbook (late 2008) ohitse ja hyvän designin sisällä ollut tekniikka ei enää palvellut tarkoitustaan. Kone kuitenkin jatkaa vielä palvelustaan toisen omistajan hoteissa Etelä-Karjalassa ja tuo toivottavasti iloa vielä pitkään.

Viisi vuotta aktiivikäytössä ja silti kuin uusi.

Tieturin TOGAF 9 Foundation -kurssi luo perustan

Sovelluskehitys on pohjimmiltaan määrittelyjä, suunnitelmia, koodia ja testausta, mutta sen täytyy usein toimia jonkin ennalta annetun arkkitehtuurin mukaisesti ja on usein yksi rakennuspalikka isommassa kokonaisuudessa, kokonaisarkkitehtuurissa. Vaikka työtehtäväni eivät suoranaisesti liity yritysarkkitehtuurin kehittämiseen, on myös teknisen arkkitehdin roolissa hyvä tietää perusteet maailman yleisimmin käytetystä yritysarkkitehtuuriviitekehyksestä, eli Open Groupin TOGAFista, johon myös Julkisen hallinnon JHS-179 -suositus pohjaa. TOGAF materiaali löytyy ilmaiseksi verkosta, mutta osallistuin kuitenkin Tieturin järjestämälle TOGAF 9 Foundation -kurssille, joka tarjoaa (level 1) -sertifikaatin suorittamiseen tarvittavat tiedot ja valmiudet.

TOGAF 9

”Arkkitehtuuri on tarpeettoman luovuuden rajoittamista” – antiikin kreikka

Open Groupin TOGAF, eli The Open Group Architecture Framework, on maailman yleisimmin käytetty kokonaisarkkitehtuuriviitekehystä ja sekä ilmainen että vapaasti saatavilla oleva viitekehys yrityksen sisäiseen kehittämiseen. Viitekehyksen ideana on pienentää kokonaisarkkitehtuurin suunnittelemisen riskejä, kustannuksia sekä lyhentää sen suunnitteluun kuluvaa aikaa ja se tarjoaa sen saavuttamiseksi kehittämismetodin (ADM) ja työkaluja. TOGAF on myös perustana Suomen julkishallinnon käyttämässä kokonaisarkkitehtuurin suunnittelumenetelmässä (JHS-179). En ala tässä käymään tarkemmin viitekehystä läpi, vaan kiinnostuneet voivat lukea siitä TOGAF-dokumentaatiosta.

Suomessa TOGAFia kouluttavat ainakin Tieturi ja Wakaru.

Tieturin TOGAF 9 Foundation -kurssi

Tieturin TOGAF 9 Foundation -kurssi on kolmipäiväinen kokonaisuus, jossa on kahden ja puolen päivän tiukka annos teoriaa yritysarkkitehtuuriviitekehyksestä ja sertifiointikokeeseen valmistautumisesta. Kurssi tarjoaa TOGAF 9 Foundation (level 1) -sertifikaatin suorittamiseen tarvittavat tiedot ja valmiudet. Täten kurssilla on kaksi päätavoitetta: TOGAFiin perehdyttäminen ja sertifiointitestiin valmentaminen.

Kokonaisuutena Jari Kasslinin vetämä kurssi toimi oivallisesti TOGAF 9 -viitekehyksen sisällön läpikäymiseen ja asioiden hahmottamisessa, vaikka Foundation-osuus on teoriapainotteista ja sisältää paljon omaksuttavaa. Asioita käsiteltiin sertifiointitestiä ajatellen ja Kasslin esitti muun muassa TOGAFin osat, Enterprise Continuumin ja Architecture repositoryn paremmin visuaalisesti kuvattuna, kuin mitä Open Groupin materiaalissa. Lisäksi muutamat harjoitukset toimivat hyvin asian käsittelyn tukena. Ensimmäisenä päivänä sai kohtalaisen kokonaiskuvan viitekehyksen eri osa-alueista ja rooleista ja toisena päivänä käytiin tarkemmin läpi muun muassa eri vaiheiden tekniikoita ja tuotoksia. Kolmannen päivän aamupäivällä käytiin läpi muutama osio tarkemmin ja kerrattiin sertifiointitestiä varten. Kurssimateriaali tarjoaa kaksi testiin valmentavaa koetta, joista toinen tehtiin kurssin aikana ja toinen toisen päivän iltana kotona.

1. päivän tuotoksia
2. päivän ADM:n tuotokset -piirros

Tieturin kurssimateriaali ja aiheen läpikäynti tähtäsi mielestäni hyvin testiä varten, sillä vaikka TOGAFin Foundation osa sisältää paljon uutta asiaa sisäistettäväksi, kerrattiin aiheita sopivasti, jolloin se jäi paremmin mieleen. Tietenkään ei kurssi ilmainen ollut (1650e+alv), mutta en sitä itse maksanutkaan. Toki saman tiedon voi poimia lukemalla TOGAF 9:n dokumentaation, jonka pureskelu itsenäisesti lukemalla on työlästä, ja käyttämällä Open Group tarjoamaa opiskeluopasta (29,95 dollaria) ja harjoitustestiä (0,99 dollaria).

Omalta osaltani kurssi onnistui hyvin, pääsin tavoitteeseeni, eli nyt taskusta löytyy TOGAF 9 Foundation -sertifikaatti ja perustietämys TOGAF 9:n sisällöstä ja vaiheista. Sertifiointitestistä mainittakoon, että se onnistui jekuttamaan 30 prosentissa kysymyksissä. Testin läpipääsyraja on suhteellisen matala, 55 prosenttia, joten kysymyksistä on tehty hankalia ja jossain määrin termeillä ja sanamuodoilla leikkimistä. Hieman jäi sellainen fiilis, että niitä asioita, joita kertasin toisen päivän iltana ja kahdessa esimerkkitestissä, ei juurikaan kysytty siinä muodossa varsinaisessa testissä. Selkeästi aktiivinen seuraaminen ja kuunteleminen kurssilla oli tuottanut tulosta ja tieto oli sisäistetty :)

Seuraavaksi edessä on kolmen viikon päästä Foundation-vaiheessa opitun teorian yhdistäminen käytäntöön ja aihepiiriin syventyminen TOGAF 9 Certified -kurssilla ja Certified-sertifiointitesti.

Muistilista uuden OS X:n käyttöönottoon

Uuden tietokoneen käyttöönotto on aina kutkuttavaa, mutta osaltaan myös työlästä kaikkien ohjelma-asennusten ja asetusten säädön myötä. Pienet muistilistat auttavat asiassa ja helpottavat alkuun pääsyä. Kovin montaa tehtävää ei kyllä uuden Macin ja OS X:n käyttöönotossa ole ja peruskäyttäjällä ne ovat yleensä palomuurin kytkeminen, sähköpostiasetuksien säätö ja selaimen kirjainmerkkien tuonti, mutta tehokäyttäjällä menee hieman enemmän aikaa erilaisten asetusten säätämiseen, vaikka sitäkin voi automatisoida. Asensin viikonloppuna pariin koneeseen Applen uuden OS X Mavericksin ja tässä muutamia kohtia, jotka kannattaa huomioida OS X:ää käyttöön otettaessa.

OS X on kohtalaisen selkeä käyttää, mutta Windows- tai Linux-maailmaan tottuneelle se voi olla alkuun hieman vieras. Kannattaa siis lukaista alkuun muutamia yleisiä huomioita OS X:stä.

Ohjelmistot

Tietokoneiden maailmassa ollaan hitaasti siirtymässä mobiilipuolelta tuttujen sovelluskauppojen hyödyntämiseen ohjelmistojen jakelussa ja haluttujen ohjelmien klikkailuun, mutta aivan vielä ei kaikkea sovelluskaupoista löydy. Erilaisille ohjelmaoppaille on siis edelleen tarvetta, joten uutta 13″ Macbook Pro:ta asennellessa päivitin samalla Pieni Mac OS X -ohjelmaoppaani sisältöä vastaamaan nykyajan tarjontaa. Listan ei ole tarkoitus olla kattava, vaan antaa hieman suuntaa millaisia ohjelmia eri kategorioista löytyy.

Applen App Store on kätevä tapa jakaa sovelluksia, mutta harmillisesti sovelluskaupan työläyden ja maksullisuuden takia ei kaikkia pienempiä ja avoimen lähdekoodin sovelluksia vielä sieltä löydy. Lisäksi useat sovellukset ovat ilmaisia ladattaessa suoraan tekijän sivuilta, mutta maksullisia App Storen kautta.

Tehokäyttäjät halunnevat lisäksi täydentää ja päivittää OS X:n Unix-ohjelmistoja esimerkiksi käyttämällä Homebrew-paketinhallintaa.

Asetukset

OS X:n asetukset ovat vakiona toimivat, mutta niitä voi säätää itselle sopiviksi, etenkin pikanäppäinten, Terminalin asetusten ja OS X:n oletusasetusten osalta. Tässä muutamia huomioita asetusten osalta.

Pikanäppäimet

Yksi kätevä pikanäppäin on oletuksena hankala: saman sovelluksen ikkunoiden välillä vaihtaminen. Sen voi vaihtaa haluamakseen System Preferences > Keyboard > Shortcuts > Keyboard: Move focus to next window -asetuksesta. Itse muutin oletuksen cmd + < -yhdistelmäksi.

Skrollaus

Yksi Windows- ja Linux käyttäjille outo on OS X:n ”luonnollinen” skrollaus mobiililaitteiden tapaan, eli perinteiseen verrattuna käänteinen. Sen voi muuttaa System Preferences > Trackpad > Scroll & Zoom” -asetuksista

Internet-palveluihin integrointi

OS X:n voi integroida useisiin eri sosiaalisen median Internet-palveluihin kuten Googleen, Twitteriin, Facebookkiin, Flickr:iin ja LinkedIniin. Tilien asetus löytyy System Preferences > Internet Accounts -valikosta ja valita voi mitä tietoja palveluista synkronoidaan OS X:n ohjelmiin kuten Mailiin ja Calendariin. Lisäksi Notification-sivupalkkiin saa Twitter- ja Facebook-integroinnin.

Tietoturva

Applen koneita pidetään kohtalaisen tietoturvallisena, mutta koneiden yleistyttyä myös ne ovat päätyneet hyökkääjien kohteiksi. On siis syytä asettaa vähintään päälle palomuuri System preferences > Security & Privacy > Firewall > Turn on Firewall -napista. Lisäksi voi päälle laittaa Firewall Options > Enable stealth mode, joka ”piilottaa” koneen verkosta.

Jos koneella pitää arkaluontoisia tietoja, niin myös kiintolevyn salaus, eli FileVault 2, on asiallista ottaa käyttöön System preferences > Security & Privacy > FileVault > Turn on FileVault -napista. Pari vuotta vanhoilla tai uudemmilla koneille ei salaus juurikaan vaikuta suorituskykyyn, sillä Intelin prosessorista (Sandy Bridgestä lähtien) löytyy AES-NI-käskykanta, joka nopeuttaa salaustoimia.

Kannattaa myös asettaa koneelle haluamansa nimi Sharing > Computer Name -kohdasta ja samasta asetusvalikosta voi käynnistää erilaisia palveluita ja sallia ne palomuurin läpi.

OS X:n Gatekeeper on yksi ominaisuus, joka voi tulla käyttäjän tielle, jos asentaa avoimen lähdekoodin sovelluksia, joita ei ole allekirjoitettu eli kehittäjää ei ole tunnistettu. Asetus löytyy System Preferences > Security & Privacy > Gatekeeper, josta voi valita miten tiukkaa seulaa haluaa pitää. Joskus on tarpeen sallia kaikki ohjelmalähteet eli ”Anywhere”-vaihtoehto. Toinen vaihtoehto on käynnistää haluttu ohjelma oikealla hiiren napilla (klikkaus Ctrl-pohjassa) ja valitan Open, joka ohittaa Gatekeperin.

. -asetustiedostot (dotfiles)

Tehokäyttäjän kannattaa tutustua myös niin sanottuihin dotfiles-tiedostoihin, joilla voi automatisoida uuden koneen käyttöönottoa. Ne eivät ole vain OS X:lle, vaan toimivat muissakin Unix-järjestelmissä ja etenkin komentorivin ja perusohjelmien kuten vimin konfigurointi toimimaan yhtenäisesti eri koneissa helpottuu kummasti. Samoin uuden OS X:n perusasetusten määritys omalla .osx -skriptin avulla on kätevää. Skriptien käyttö vaatii hieman enemmän säätöä ja alkukonfigurointia, mutta maksaa vaivan tulevaisuudessa. Jos asia kiinnostaa enemmän, kannattaa tutustua käyttämiini dotfiles-tiedostoihih, jotka löytyvät GitHubista.

Terminal (Pääte)
Terminalin ulkoasua ja toimintaa voi konfiguroida kattavasti. Käyttämäni teema löytyy dotfiles-tiedostoistani init/Marko.terminal, jonka voi importata Terminaliin käsin, tai ajamalla .osx -skripti. Teema pitää sisällä OS X Terminal asetukset -sivulla kuvatut toimet.

Uuden OS X:n asetukset
dotfiles-tiedostoissani oleva .osx -skripti tarjoaa muutamia ”järkeviä” vakioasetuksia uutta Maccia käyttöön otettaessa. Asetukset tulevat käyttöön ajamalla Terminalissa komento: ./.osx. Se asettaa Terminaliin käyttöön myös Marko-teeman.

SuperHub tähtää parempaan kaupunkimatkustamiseen

Julkinen liikenne on pääkaupunkiseudulla kohtalaisen toimivaa, vaikkakin poikittaisliikenne ja jäykät seuturajat tekevät siitä edelleen hidasta ja kallista. Jäykkiin seuturajoihin on tulossa muutos lähivuosina, kun HSL kehittää matkakorttia, ja matkustajat voivat tähdätä sujuvampiin reittivaihtoehtoihin erilaisten sovellusten kuten Reittioppaan avulla. Muitakin projekteja parempien reittivaihtoehtojen löytämiseen on, kuten SuperHub EU-projekti, joka keskittyy tutkimaan ekologista kaupunkimatkustamista. Osallistuin alkusyksystä projektin kehitteillä olevan SUPERHUB-mobiilisovelluksen testaamiseen arkisessa liikkumisessani.

SuperHub-projekti

SuperHub, eli SUstainable and PERsuasive Human Users moBility in future cities, on ekologiseen kaupunkimatkustamiseen keskittynyt EU-projekti, jossa on mukana 20 yhteistyökumppania kuudesta eri Euroopan maasta ja Suomesta Helsingin yliopisto ja Helsingin seudun liikenne. Projekti on kestävän kaupunkiliikenteen tutkimus, jossa tarkastellaan osallistujien liikennetottumuksia ja kerätään palautetta SUPERHUB-järjestelmän ja -sovellusten kehittämiseksi. Sen tarkoituksena on kerätä konkreettista tietoa ihmisten liikennetottumuksista ja katsoa, kuinka liikennetottumuksia on mahdollista kehittää ympäristöystävällisemmäksi pelin kaltaisen lähestymisen avulla. Lisäksi tutkimuksessa tarkastellaan myös kehitetyn sovellusprototyypin käytettävyyttä ja toiminnallisuuksia. Tutkimuksen tarkoituksena on, että tulokset auttavat paikallisia ja eurooppalaisia päättäjiä toimimaan kestävän liikennekehityksen eteen ja auttavat parantamaan liikenteen laatua kaikille kaupunkilaisille. Lisätietoa SuperHub-projektista voi lukea projektin informaatiolehtisestä.

Osallistuin tutkimukseen sattumalta huomattuani elokuun alussa SuperHub-tutkimusprojektin hakevan 200 pääkaupunkiseudulla asuvaa matkalaista koekäyttämään SUPERHUB-sovellusta. Osallistuminen ei vaatinut mitään erityistaitoja, vain Android-puhelimen ja hieman aikaa kolmen viikon ajan. Alkuun projektissa täytettiin viikon ajan vain matkapäiväkirjaa ja sen jälkeen parin viikon ajan lisäksi testattiin Android-matkapuhelimella SUPERHUB-projektissa kehitettyä sovellusta muun muassa reittien suunnitteluun ja matkustustavoitteiden asettamiseen. Sovelluksen testaamiseen osallistui yli 600 ihmistä Helsingistä, Milanosta ja Barcelonasta.

Testin tarkoituksena on seurata tavanomaisia reitti- ja matkatapavalintoja, jotta muun muassa vielä prototyyppi-asteella olevan sovelluksen keinoälyä voidaan parantaa, ja palautteen perusteella kehittää edelleen ja varmistaa, että jo olemassa olevat toiminnot todella vastaavat kaupunkimatkalaisten tarpeisiin. Sovelluksen päätoimintoja ovat muun muassa kaupunkialueilla tapahtuvien matkojen suunnittelu, parhaiden reittivaihtoehtojen ja sopivimpien kulkuvälineiden etsiminen, matkojen hiilijalanjäljen laskeminen ja liikenteen häiriötekijöistä tiedottaminen, eli paljon Reittioppaasta tuttuja ominaisuuksia hiukan uudella tavalla toteutettuna ja maustettuna.

SUPERHUB-sovellus

Testikokemukset

SUPERHUB-sovelluksen prototyyppi toimi kokonaisuutena ihan kelvollisesti kokeilun ajan, enkä siinä havainnut toiminnallisia ongelmia, mutta käytettävyyteen ja tarkoituksellisuuteen olisi voinut panostaa enemmän. Käytännössä sovellus tuotti samat reittipalvelut matkan suunnitteluun kuin Reittiopasta hyödyntävä Andropas, mutta ei aivan yhtä sulavasti. Sovellus oli selkeästi insinöörien suunnittelema, sillä en ymmärtänyt kaikkien toimintojen tarkoitusta (mm. ekotavoitteet ja pisteet) ja käyttöliittymä oli turhan ahdettu. Sovellus kuitenkin suoritti tehtävänsä, eli löysi oikeat eri reittivaihtoehdot ja näytti ne kartalla, vaikka toimikin hieman hitaasti.

Koejakson alussa suoritetun matkapäiväkirjan täyttäminen oli hieman työlästä, sillä sitä varten tehty Web-sovellus oli hieman kankea ja on suhteellisen vaikea muistaa, paljonko matkaan meni aikaa, ja mikä osoite oli lähtö- ja päätepisteenä, ellei niitä erikseen katso kartasta, jota Web-sovellus ei tarjonnut. Sovellus olisi kaivannut hieman parempaa käyttöliittymää etenkin alku- ja loppupisteiden valintaan ja toistuvien matkojen kirjaamiseen.

Matkapäiväkirjaa täyttäessä huomasi hyvin, miten staattisia omat matkani ovat, pääasiassa työpaikan ja kodin välillä suhaamista ja viikottaisiin harrastuksiin kulkemista. Joukkoliikenteen hyödyntäminen jäi vähäiselle, sillä sää suosi pyöräilyä ja harrastuksiin pääsi paljon kätevämmin omalla autolla. Espooseen muuton jälkeen joukkoliikenteen käyttöni on muutenkin vähentynyt, sillä seuturajat tekevät siitä turhan kallista verrattuna autoiluun ja liikenneyhteydet eivät ole yhtä toimivat kuin Helsingissä asuessani.

Kokonaisuutena projektin tarkoitus ja tulosten merkittävyys jäi hieman avonaiseksi, mutta tulipahan kannettua oma korteni kekoon. Tutkimuksesta ei ole vielä tuloksia, mutta ilmeisesti niiden valmistuttua projekti järjestää tilaisuuksia niistä keskustelemiseen ja jakaa yhteenvetoja. Tulokset esitetään myös akateemisissa konferensseissa, julkaistaan kirjana ja lisäksi projektin verkkosivujen kautta on mahdollista saada projektiin liittyviä raportteja.

Jäämme siis odottelemaan, miten pääsisimme parempaan kaupunkimatkustamiseen.

Tietojärjestelmäarkkitehdin valmennusohjelma, osa 2

Kesälomat ovat jo kaukana takana ja paluu arkeen on todellisuutta sekä töiden että osaamisen kehittämisen osalta. Hieman lomien jälkeen jatkui myös Tieturin ”Tietojärjestelmäarkkitehdin valmennusohjelma” -kurssi, jonka ensimmäinen osa pidettiin alkukesästä. Keinoja ja ratkaisuja erinomaiseen arkkitehtuuriratkaisuun pääsemiseksi esittelevän kurssin ensimmäinen osio käsitteli tietojärjestelmäarkkitehdin työssä tarvittavia monipuolisia taitoja, laatuatribuutteja, arkkitehtuurikehyksiä ja 4+1 -mallia. Toinen osio jatkoi aihepiirin käsittelyä muun muassa suunnittelumalleilla, integraatioilla, SOA:lla, tietoturvalla ja arkkitehtuurin arvioinnilla ja dokumentoinnilla. Kuuden päivän kokonaisuus oli aikamoinen annos aiheeseen liittyviä otsikoita ja ajateltavaa ja tarjosikin lähinnä paljon lähtökohtia lisäopiskelulle, eikä niinkään käsitellyt miten asioita pitäisi tehdä. Eli hyvä yleiskatsaus aihepiiriin ja ajattelemisen aihetta tarjoava.

4+1 -mallin kaavioita tilanvarausjärjestelmästä

Tietojärjestelmäarkkitehdin valmennusohjelma, osa 2

Tietojärjestelmäarkkitehdin valmennusohjelman ensimmäisen osion jälkeen tunnelmat kurssista olivat aika teoriapainotteiset, mutta laajan aihepiirin käsittely konkreettisemmin olisi vaatinut vähintään pari päivää per aihepiiri, joten sinällään kurssin yleiskatsauksen omainen lähestyminen aiheeseen oli toimiva. Mutta silti odotukset kurssin jälkimmäiseltä osiolta olivat hieman enemmän. Lupasihan kurssikuvaus, että ”valmennusohjelman suoritettuaan osallistuja osaa tietojärjestelmäarkkitehdin työn kannalta systemaattiset toimintatavat ja merkittävät välineet.”.

Erinomaisen arkkitehtuuriratkaisun saavuttamiseksi keinoja ja ratkaisuja esittelevän kurssin toinen osio jatkoi aihepiirin käsittelyä muun muassa suunnittelumalleilla, integraatioilla, SOA:lla, tietoturvalla ja arkkitehtuurin arvioinnilla, valvonnalla ja dokumentoinnilla. Suurilta osin aihepiirit olivat tuttuja, mutta uusia keinoja parhaiden käytäntöjen metodeihin, arkkitehtuurin arviointiin ja sen testaukseen kyllä ilmeni.

Osa 2, päivä 1:

  • Parhaita käytäntöjä arkkitehtuurisuunnitteluun
    • Attribute Driven Development method (ADD), ketterän arkkitehtuurin suunnittelu, ketterän tiimin suunnittelukäytännöt

Kurssin neljäs päivä alkoi ryhmien saamien kotitehtävien läpikäynnillä, jonka harmillisesti oli tehnyt vain kaksi viidestä ryhmästä. Tehtävänä oli hyödyntää 4+1 -mallia jonkin järjestelmän, keksityn tai olemassa olevan, kuvaamiseen. Ryhmäni suunnitteli kuvitteellisen ”neuvottelutilojen tilanvarauksen ja käytönseurannan integraatio” -sovelluksen, jonka idea oli tehostaa neuvotteluhuoneiden käyttöä. Olimme kuvanneet konteksti-, prosessi-, komponentti- ja sijoittelukaaviot, joista keskustelimme lyhyesti. Olisi ollut kiva nähdä useampienkin ryhmien ratkaisuja, mutta muuten harjoitus oli mielenkiintoinen ideointihetki.

Loppuaika neljännestä päivästä käytiin läpi arkkitehtuurisuunnittelun parhaita käytäntöjä muun muassa toiminnallisten vaatimusten hyödyntämisessä, arkkitehtuurin oikeellisuuden ja suorituskyvyn aikaisessa testauksessa ja käsiteltiin anti-patterneja. Monta maalaisjärjellä perusteltavaa asiaa, mutta todellisuudessa kuitenkin yllättävän hankalia käytännössä viedä läpi, kuten arkkitehtuurin muuttaminen sen osoittautuessa huonoksi, prototyyppien tekeminen tai aloittaminen liian isosti. Harjoituksena käytiin läpi ADD:tä elokuvateatterin lipunvarausjärjestelmän laatuattribuuttien osalta, joista esille nostettiin monikanavaisuus, skaalautuvuus, tietoturva, laajennettavuus, avoimuus, saatavuus, muunneltavuus ja jäljitettävyys. Nykytrendien mukaisesti keskusteltiin myös ketterästä kehityksestä ja sen suhteesta arkkitehtuurisuunnittelun. Vaikka Scrum-projektissa arkkitehtuuri tehdään ”just in time”, on sprint 0 ja ennakkosuunnittelu tärkeää ja projektin alkuvaiheessa painottuu arkkitehtuurin osuus väheten loppua kohden.

Osa 2, päivä 2:

  • Arkkitehtuurin testaaminen
    • Testaamisen ajoittaminen, testaamisessa huomioitavia seikkoja, suorituskyvyn testaaminen
  • Järjestelmien yhteensovittaminen
    • Tietojärjestelmäintegraation haasteet, löyhä kytkeytyvyys, tyypilliset integraatioratkaisut, integraatioarkkitehtuuri, palveluväylät (ESB)
  • Palveluarkkitehtuurin luominen (SOA)
    • Mitä SOA tarkoittaa?, avoin arkkitehtuuri, SOA arkkitehtuurin luominen, arkkitehtuurin toteuttaminen ja haasteet

Viidennen koulutuspäivän aluksi keskustelimme teknisestä velasta, jota tulee sekä tietoisesti että suunnittelun myötä. Jos velkaa on paljon, on sovellusta myöhemmin hankala tai mahdoton refaktoroida kuntoon. Päivän pääteemat olivat kuitenkin arkkitehtuurin testaaminen, järjestelmien integrointi ja palveluarkkitehtuuri.

Sovelluskehitysprojekteissa testauksen rooli usein aliarvioidaan. Testauksenkin osalta pätee 80/20 sääntö, eli 80 prosenttia ongelmista korjataan testaamalla avainvaatimuksia säännöllisesti ja 20 prosenttia ongelmista on haastavia ja hankalia löytää. Ongelmana usein on myös laadukas testiaineisto ja sen määrä. Testaukseen liittyy myös suorituskyvyn arviointi ja nyrkkisääntönä voidaan pitää, että kannattaa varata 3,14 kertaa enemmän kapasiteettia kuin vaadittu. Toiminnallisen testauksen lisäksi pitää huolehtia suorituskyvyn testauksesta, jota käsiteltiin komponenttien ja koodin osalta. Tarjolla on useita avoimen lähdekoodin testausvälineitä, joista mainittiin muun muassa jMechanic ja JProfiler . Lisäksi lyhyesti esiteltiin kaupallista Compuwaren Application Monitoring -tuotetta (entinen dynaTrace). Testauksessa on hyvä muistaa Heisenbergin epämääräisyysperiaate, joka soveltaen on: ”Et voi suorittaa mittausta vaikuttamatta mitattavaan kohteeseen”.

Päivän muut aiheet olivat palvelusuuntautuneisuutta tukeva arkkitehtuurityyli eli SOA ja sovellusten integraatio. Tässä palvelu on looginen esitystapa toistuville liiketoiminnan aktiviteeteille, joilla on määritelty lopputulos, eli se on itsenäinen (itseriittoinen), voi koostua muista palveluista ja on musta laatikko kuluttajilleen. SOA:n rakentaminen pitäisi lähteä liiketoiminnan prosessien tietojärjestelmien tarpeista ja tuottaa aina liiketoiminta-arvoa. Ei kannata myöskään unohtaa, että SOA on kuin koiranpentu, joka vaatii jatkuvaa valvontaa, hoitoa, selkeitä rajoja ja vastuuhenkilöä, eli johtamista. Lisäksi sivuttiin REST-palvelun versiointia ja kuvaamista, kun käytössä ei ole WSDL:ää kuten SOAP-palveluissa. Sovellusten integraatioista käsiteltiin muun muassa erilaisia suunnittelumalleja kuten julkaise-tilaa (Twitter, RSS), sanomaväylät (SETI), vastaavuustunniste (laskun viitenumero), prosessimanageri, sanomakeskus (SMS) ja sääntöjen mukainen tietomalli.

Osa 2, päivä 3:

  • Teknologia-arkkitehtuuri
    • Teknologia-arkkitehtuuri mahdollistajana, liiketoimintalähtöinen teknologia-arkkitehtuuri, teknologioiden hallinta sekä valinta, teknologia-arkkitehtuurin suunnittelu
  • Lisensointimallit
    • Arkkitehtuuri ja lisenssit, Open Source -tuotteet sekä sovelluskehykset, näkökulmia lakiasioihin
  • Tietoturva-arkkitehtuuri
    • Tietoturvan näkökulmat ja tasot, vyöhykkeinen tietoturva, tietoturvan perustekniikat, tietoturvasuunnittelun peruspilarit
  • Arkkitehtuurin käytön valvonta
    • arkkitehtuurin käytön ohjeistus, arkkitehtuurin käytön katselmointi
  • Arkkitehtuurin arvioiminen
    • Arkkitehtuurin laatukriteerit, arkkitehtuurin arvioiminen, Architecture Tradeoff Analysis Method (ATAM) -metodi, Cost Benefit Analysis Method (CBAM)
  • Arkkitehtuurin dokumentoiminen
    • Arkkitehdin rooli dokumentoijana, arkkitehtuurin dokumentoiminen UML-kielellä, muita dokumentoinnin välineitä
  • Arkkitehtuurin hallinnointi
    • Arkkitehtuurin toteutus, arkkitehtuurin muutoshallinta, arkkitehtuuriorganisaatio, vaaditut prosessit

Kurssin viimeinen eli kuudes päivä sisälsi paljon eri aihepiirejä ja alkoi harjoituksella, jossa käytiin läpi sovellus- ja teknologia-arkkitehtuurin yhteyttä ja miten teknologia-arkkitehtuuri täyttää järjestelmän laatuvaatimukset. Teknologia-arkkitehtuurin rooli on mennä syvemmälle ja tarkemmalle tasolle, sekä se voi olla jo olemassa ja sanella asioita sovellusarkkitehtuurille. Tarkoituksena on taata järjestelmän rakennuspalikoiden yhteensopivuus ja dokumentoida valitut teknologiastandardit. Teknologia-arkkitehtuurin suunnittelusta käsiteltiin siihen liittyvät eri vaiheet: lähtötason kuvaaminen, näkökulmien ja työvälineiden valinta, tavoitearkkitehtuurin luominen, liiketoiminnan tarpeiden täyttymisen varmistaminen ja nyky- ja tavoitetilan kuilun analyysi. Teknologiasta olikin hyvä siirtyä lisensseihin ja avoimen lähdekoodin sovelluksiin, joista lähinnä mainittiin, että niitä on moneen lähtöön. Parempi olla tarkkana.

Tietoturva-arkkitehtuuria käsiteltiin sentään hieman laajemmin ja siitä on hyvä muistaa seuraavat kirjaimet: C = Confidentiality, I = Integrity, A = Availability. Arkkitehti valitsee miten tietoturvateknologioita ja työvälineitä käytetään tietoturvan toteuttamiseksi ja tietoturva-arkkitehtuurin rakennuspalikoita ovat: henkilöstön tietoturva tietoisuus ja koulutus, käyttäjähallinta, autorisointi ja autentikointi, toimien vahvistaminen, kriittisten osien eristäminen, tunkeutumisen havaitseminen ja estäminen, salaustekniikoiden käyttäminen ja virustorjunta. Lisäksi kerrottiin OWASP Top 10 -ongelmakohtien listauksesta (pdf) ja ettei kannata jäädä kymmeneen, sillä maailma muuttuu jatkuvasti. Aiheeseen liittyen tehtiin harjoitus elokuvateatterin lippujärjestelmän potentiaalisista tietoturvariskeistä ja niiden hallinnasta.

Tietojärjestelmän arkkitehtuurin voi suunnitella monella eri tavalla, eikä yhtä oikeaa ratkaisua ole, joten arkkitehtuuriratkaisun arviointi on tärkeää. Parasta se olisi suorittaa jo etukäteen, eikä vasta jälkeenpäin, vaikka se tällöin onkin helpompaa. Arvioida voi muun muassa ylläpidettävyyttä ja uusien ominaisuuksien ja bugien korjaamisen helppoutta ja nopeutta. Yksi keino tähän on käyttää ATAM:ia (Architecture Tradeoff Analysis Method) ja CBAM:ia (Cost Benefit Analysis Method), joita voidaan soveltaa arkkitehtuuria luodessa, kun projekti on ongelmissa ja jo olemassa olevaan arkkitehtuuriin.

Yhteenveto

Tietojärjestelmän arkkitehtuurin suunnitteluun on kehitetty erilaisia malleja, kursseja ja sertifiointeja, joiden avulla voidaan tähdätä parempaan lopputulokseen. Tieturin tietojärjestelmäarkkitehdin valmennusohjelma antaa hyvän yleiskuvan laajasta aihealueesta ja on kokonaisuutena aikamoinen annos aiheeseen liittyviä otsikoita ja ajateltavaa. Kurssi tarjosikin lähinnä paljon lähtökohtia lisäopiskelulle, eikä tarkemmin käsitellyt miten asioita pitäisi tehdä, joka olisikin ollut kurssin aikataulun ja aihepiirin laajuuden osalta mahdotonta.

Olisin itse kuitenkin kaivannut ehkä enemmän konkreettisempaa lähestymistä, jota kurssin neljäntenä ja viidentenä päivänä olikin hieman enemmän. Jos kurssista pitäisi mainita yksi mieleen jäänyt asia, on se 4+1 -malli, jonka käyttämistä arkkitehtuurin suunnittelussa käytiin läpi enemmän ja muita aihealueita sipaistaan siihen verrattuna suhteellisen pintapuolisesti.

Kurssi antaa pohjatiedot myös Open Groupin Certified Architect (Open CA) (aikaisemmin ITAC) sertifikaatin ykköstason suorittamiseen (edulliseen 1250 dollarin hintaan), jota pitää harkita.

Syyskuun WordPress Café Helsinki

Syyskuun WordPress Caféssa esiteltiin parhaita käyttökohteita ja rajatapauksia

Arkisin teen päätyökseni yhdeksästä viiteen Java EE -sovelluskehitystä, mutta vapaa-ajallani aikani menee ajoittain toiminimellä tehtyihin pienimuotoisiin WordPress-projekteihin ja tietenkin blogieni kanssa askarteluun. WordPress on kehittynyt paljon vuosien aikana ja olikin mielenkiintoista osallistua ensimmäiseen WordPress Café -tapahtumaan Exoven järjestämänä, jossa pääagendana oli Perttu Tolvasen esitys ”Best-fit concepts and typical edge cases for WordPress”. WordPress Café on avoin tapaaminen kaikille WordPressin käyttämisestä tai kehittämisestä kiinnostuneille.

WordPress Cafén idea on yksinkertainen ja samanlainen kuin vuosittaisella Nordic Atlassian User Groupilla. Avoin tapahtuma, jossa käyttäjät ja kehittäjät tapaavat virvokkeiden äärellä, aiheeseen liittyen pidetään lyhyt esitelmä ja lopuksi verkostoidutaan ja vaihdetaan kokemuksia.

Perttu Tolvasen (North Patrol) esitys ”Best-fit concepts and typical edge cases for WordPress” käsitteli kolmea kysymystä WordPressin käyttöön liittyen: Web-konseptit, joihin WordPress sopii erittäin hyvin; Rajatapaukset, joissa WordPress näyttää olevan yllättävän suosittu; Millainen tulevaisuus WordPressillä on Suomessa ja onko takaa tulossa haastajia?. Soveliaimmat käyttökohteet olivat aika ennustettavissa, sillä sen blogitausta tekee siitä kätevän tietyn tyyppisiin tarkoituksiin ja historia näkyy taustalla. WordPress on kuitenkin muuttunut vuosien saatossa enemmän CMS-tyyliseksi kuin pelkäksi blogialustaksi ja se kehitys varmasti jatkuu. Haastajien osalta Concrete5 kuulosti näppärältä. Aihe kirvoitti hyvin keskustelua sivuten myös muita sisällönhallintajärjestelmiä ja niiden hyödyntämistä eri hintasegmenteissä.

Ensimmäinen WordPress Café oli mielenkiintoinen tapahtuma ja oli mukava kuulla muiden kokemuksia WordPressin käytöstä ja tavata henkilöitä blogien takana. Osallistujia olisi tosin voinut olla enemmänkin, sillä Exoven konsultteja taisi olla paikalla lähes yhtä paljon kuin yleisöä ja verkostoituminen jäi hieman nihkeäksi, mutta itse en sillä saralla ole muutenkaan kovin luonteva.

Exoven ajatuksena on järjestää tapahtuma kerran kahdessa kuukaudessa ja seuraava ajankohta on marraskuun 12. päivä. Tarkempaa tietoa tulevasta tapaamisesta tullee Exoven sivuille lähempänä ajankohtaa.