Ohjelmistoautomaation luokittelu

Ohjelmistorobotiikka (prosessiautomaatio, RPA) sopii muun muassa käyttötapauksiin, joissa automaatiolla parannetaan työn laatua ja mahdollistetaan ihmisten keskittyminen prosessin muuttuviin osiin. Käsin tehtävät, kausittain vaihtelevat työt ja paljon työkuormaa aiheuttavat tehtävät ovat myös sellaisia, joiden automaatiota kannattaa harkita. 

Ohjelmistorobotiikan etu on sen nopea ja joustava käyttöönotto. Tarpeen tullessa uuden prosessin luonti käy ketterästi. Ennen käyttöönottoa arvioimme automatisointiin tarvittua teknisen toteutuksen tasoa. Tasot voidaan jakaa karkeasti kolmeen luokkaan:

Taso 1: Skripti-kielellä, kuten JavaScript tai Python, automatisoitavat toteutukset

Tämän tason automaatio on synkroninen, eli se prosessoi tietoja yksitellen, vaihe kerrallaan. Automaatio käy syötetiedot läpi ja lopettaa toimintansa kun kaikki tiedot on käsitelty. Tämän tason automaatiossa tarvittavat tiedot ovat joko paikallisesti tiedostoissa tai yksinkertaisen rajapinnan kautta saavutettavissa. Taso 1 kannattaa valita kun tietorakenne on yksinkertainen. Skripti ajetaan käsin paikalliselta tietokoneelta ja mahdolliset vikatilanteet selvitetään paikallisesti. Tällaisen ratkaisun suorituskyky ja ylläpidettävyys on hyvin tapauskohtainen.

Taso 2: Yleiskäyttöinen automaatio- ja integraatioalustalla toteutettu automaatio

Tämän tason automaatio voi olla synkroninen tai asynkroninen. Asynkronisessa toteutuksessa automaatio suorittaa eri osa-alueet tarpeen mukaisessa järjestyksessä, osittain jopa yhtäaikaisesti. Asynkronisessa automaatiossa voidaan hyödyntää jonoja, jotka voidaan käsitellä omaan tahtiinsa. Tällä tasolla automaation käynnistys voi olla ajastettua tai tapahtumasta riippuvaa. Alustalla voi olla oma tietokanta ja ajon seuranta. Suorituksesta voidaan myös kerätä dataa ja koosta niitä raporteiksi. Suoritus on mahdollista rakentaa vikasietoiseksi ja vikatilanteille voidaan määritellä halutut toimenpiteet. Tämän tason automaatio toimii tilattomasti, eli integraatioalusta säilöö välitettävän tiedon vain ajon ajaksi. Pysyvä tieto pitää säilöä jossain toisessa sovelluksessa. Automaation oma suorituskyky on hyvä, mutta muiden sovellusten suorituskyky vaikuttaa siihen hyvin paljon.

Taso 3: Käyttötarkoitukseen luotu sovellus

Sovellus on tarkoitukseen suunniteltu ja rakennettu. Tämä ratkaisu on tarpeellinen kun haluttu toiminnallisuus on hyvin monimutkainen, eikä valmiista sovelluksista löydy sopivaa ratkaisua. Tämän tason automaation suorituskyky voi olla erinomainen.

Mutta miten voimme tunnistaa mikä teknisen toteutuksen taso on tarpeen?

Ennen automaatioprojektin aloittamista on tärkeää ymmärtää millainen ratkaisu on riittävä. Koska vaihtoehtoja on yksinkertaisesta skriptistä kokonaiseen ohjelmistoon, nostan tässä esiin erilaisia osa-alueita, joiden avulla voidaan arvioida millainen automaatioratkaisu on käyttötarkoitukseen sopivin.

Käytettyjen rajapintojen lukumäärä ja tavoiteltu tietorakenne

Jos automaatio rakennetaan siirtämään tietoa paikasta toiseen ilman tietomuunnoksia, yksinkertainen skripti voi olla riittävä. Kun tietorakenne on monimutkaisempi tai tietoa kootaan useasta eri lähteestä, integraatioratkaisun hyödyt nousevat esiin. Jos tietoa pitää tulkita, muuntaa toisenlaiseksi tai analysoida, on integraatioalusta paikkansa ansainnut.

Samanaikaisuus

Automaation käsitellessä suuria tietomääriä on tärkeää selvittää onko ratkaisussa tarve rinnakkaisuudelle tai samanaikaisuudelle, eli halutaanko ratkaisun olevan synkroninen vai asynkroninen. Järjestelmällisesti, peräjälkeen, yksitellen tietoa käsittelevä automaatio eli synkroninen automaatio on tyypillisesti yksinkertaisin ja nopein toteuttaa. Tämä on hyvä ratkaisu kun suorituskyvyllä ei ole merkitystä, ja käytettävät järjestelmät ovat luotettavia. Asynkronisessa automaatiossa lähde- ja kohdejärjestelmien hitauden tai epäluotettavuuden merkitystä suorituskyvylle voidaan rajata.

Suorituskyky

Automaation suorituskykyyn vaikuttavat monet tekijät, kuten tiedostojen koko ja verkkoviive. Kehittyneemmällä arkkitehtuurilla on mahdollista optimoida suorituskykyä. Erityisesti monimutkaisissa ympäristöissä eri kohdepalveluiden suorituskyky voi vaihdella suuresti. Tällöin esimerkiksi jonojen käytöllä voidaan ratkoa suorituskykyongelmia.

Ylläpidettävyys

Jos automaatio on korkeintaan muutaman henkilön käytettävissä, automaatioratkaisun voi toteuttaa säilyttämällä versionhallinnassa ja ajamalla sen omalla koneella. Työn dokumentointi voi olla osittain muistinvaraista ja itse prosessin dokumentointi voidaan säilyttää muualla. Ylläpidon kannalta usein parempi ratkaisu on ottaa käyttöön versionhallinta, ja yhteinen ajoympäristö.

Vikasietoisuus ja autonomisuus

Vikasietoisuuden ja autonomisuuden tärkeys korostuu kun automaation luotettavuudella on laajat vaikutukset. Integraatioalusta joka tarjoaa mahdollisuuden automaation seurantaan, raportointiin ja virheistä toipumiseen, hyödyttää kaikkia kun arvailu automaation tilasta jää menneisyyteen. Väläys käyttää alustana Robocorpin palveluita.

Ohjelmistorobotiikka mullistaa työelämää ja työtapojamme. Väläysläiset ovat automaation kokeneita asiantuntijoita ja vastaamme mielellämme mahdollisiin lisäkysymyksiin.