AuroraAI: Työpaketti 4

Samankaltaiset tiedostot
Järjestelmäarkkitehtuuri (TK081702)

Yhteentoimivuusvälineistö

Kohti ihmiskeskeistä yhteiskuntaa

JHS 179 Kokonaisarkkitehtuurin suunnittelu ja kehittäminen Liite 9. Virtualisointi ja pilvipalvelut teknologia-arkkitehtuurin suunnittelussa

Amazon Web Services (AWS) on varmaankin maailman suosituin IaaS-tarjoaja. Lisäksi se tarjoaa erilaisia PaaS-kategoriaan kuuluvia palveluita.

AJAX-konsepti AJAX. Asynkronisuus. Nykyisten web-ohjelmien ongelmia. Asynchronous JavaScript And XML

Julkishallinnon tunnistuksen ohjauspalvelun kehityshanke mitä PoC-vaihe on opettanut? Manne Miettinen, Henri Mikkonen ja Arto Tuomi

Tekninen suunnitelma - StatbeatMOBILE

FuturaPlan. Järjestelmävaatimukset

Valppaan asennus- ja käyttöohje

Suomi.fi-palvelutietovaranto

ACUMEN O2: Verkostot

Järjestelmäarkkitehtuuri (TK081702) Avoimet web-rajapinnat

Yhteentoimivuusalusta: Miten saadaan ihmiset ja koneet ymmärtämään toisiaan paremmin?

Siirto helppo ja nopea mobiilimaksujärjestelmä

Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus

Tekstiviestipalvelun rajapintakuvaus

Muutokset suoran sanoma-asioinnin web servicepalvelun

Liite 1: KualiKSB skenaariot ja PoC tulokset. 1. Palvelun kehittäjän näkökulma. KualiKSB. Sivu 1. Tilanne Vaatimus Ongelma jos vaatimus ei toteudu

Puheentunnistus. Joel Pyykkö 1. 1 DL-AT Consulting

S11-09 Control System for an. Autonomous Household Robot Platform

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS CT10A Kandidaatintyö ja seminaari

Verkkopokerijärjestelmä. Loppuraportti Ryhmä Kanat Ohjelmistotuotantoprojekti, syksy 2008

Mistä on kyse ja mitä hyötyä ne tuovat?

Finna-kehitystyön painopisteet vuonna 2014

ONKI-projekti JUHTA KANSALLISKIRJASTO - Kirjastoverkkopalvelut

The OWL-S are not what they seem

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS Ti Kandidaatintyö ja seminaari

Juuli-julkaisutietoportaali: tilannekatsaus

Projektinhallintaa paikkatiedon avulla

Pätevyyttä haettava oikeustulkkirekisterilautakunnalta. Edellytyksenä (lakiesityksestä lainaus):

Järjestelmäarkkitehtuuri (TK081702) Web Services. Web Services

Kansallisen paikkatietoportaalin kehittäminen

Digitalisaatio oppimisen maailmassa. Tommi Lehmusto Digital Advisor Microsoft Services

Poikkeusinfo XML-rajapinnan kuvaus, rajapinnan versio 2 Seasam Group

IT Service Desk palvelun käyttöönotto palvelukeskuksissa

Julkisen hallinnon linjaukset tiedon sijainnista ja hallinnasta. Yhteenveto. Taustaa linjauksille. Linjausten tavoitteet. Lausunto

OSKARI. Yhteistyöllä eteenpäin Jani Kylmäaho Oskari-verkoston koordinaattori

Avoimen MaaS-ekosysteemin työpaja

Visma Software Oy

KDK: Finna ja pitkäaikaissäilytys

Suomi.fi-valtuudet Toisen henkilön tai yrityksen puolesta asioinnin mahdollistaja

Lohkoketjuteknologian hyödyntäminen tiedon oikeellisuuden todistamisessa. Joel Kaartinen,

Tekninen alusta. Tavoitteet ja näkökulmia maankäyttöpäätöksiin Jani Kylmäaho, osahankepäällikkö Maanmittauslaitos

Microsoft Dynamics CRM 4.0. Jani Liukkonen

Juuli-julkaisutietoportaali

Diplomityöseminaari

Ristiinopiskelun kehittäminen -hanke

Qridi Oy:n nopea kokeilu Helsingin kouluissa

HOJ J2EE & EJB & SOAP &...

Tiedonsiirto- ja rajapintastandardit

AuroraAI Kohti ihmiskeskeistä yhteiskuntaa. Koordinaattori Niko Ruostetsaari

Työryhmätyöskentely. Ryhmä A Rajapinnat Rajapintojen uudet mahdollisuudet Teknologiavalinnat. Ryhmä B Tietomalli Kaavan esittäminen tietomallina

Visma Fivaldi -käsikirja Tehtävienhallinta- ohje käyttäjälle

Siltatiedon tarkkuustason määrittäminen Taitorakennerekisterissä. Maria Vinter

Ajankohtaista Ilmoitin.fi:stä

IoT-järjestelmän ja ulkovalaistuksen ohjauksen hankinta -markkinavuoropuhelutilaisuus

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo

7 Viestipohjaisten yritysjärjestelmien suunnittelumallit

Siirto helppo ja nopea mobiilimaksujärjestelmä

Energiatodistusrekisteri ja laatijan rooli

Kansallisen palveluväylän pilotoinnin tukeminen. JulkICTLab-projektihakemus

Testaussuunnitelma. PUSU-ryhmä. Helsinki Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Pilviväylä projekti

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

Tietosuojaseloste (5)

Suomi.fi-palveluväylä

Ohjelmistojen mallintaminen, mallintaminen ja UML

VRK:n hankkeet ja hankinnat JulkICT:n seminaari ICT-toimittajille

Tekninen suunnitelma - StatbeatMOBILE

Kansallinen digitaalinen kirjasto Käyttöliittymä Finna Aki Lassila / Kehittämispäällikkö / Kirjastoverkkopalvelut

suomi.fi Suomi.fi-palveluväylä

HiQ Finland Älypuhelinsovellusten käyttäjälähtöisen kehityksen tukeminen

in condition monitoring

pilvipalvelu tarkoittaa?

Ilmoitin.fi, ApiTamo ja. varmennepalvelu

Väliraportti: Vesipistekohtainen veden kulutuksen seuranta, syksy Mikko Kyllönen Matti Marttinen Vili Tuomisaari

Linux palomuurina (iptables) sekä squid-proxy

Suomi.fiasiointivaltuudet

Paloilmoitusjärjestelmän laajennusratkaisu - Sinteso Move

Kokonaisvaltainen mittaaminen ohjelmistokehityksen tukena

Osoitteena O365. Toimisto ja yhteydet pilvestä

JulkICT Lab ja Dataportaali Avoin data ja palvelukokeilut

Paikkatietopalveluja koskevat Inspire-vaatimukset

Ohjelmistoarkkitehtuurit. Kevät

Copyright Observis Oy All rights reserved. Observis Oy Ville Kanerva, CTO Heikki Isotalus, COO Datasta tietoa

Yhteentoimivuutta edistävien työkalujen kehittäminen - JulkICTLab jatkohakemus

J u k k a V i i t a n e n R e s o l u t e H Q O y C O N F I D E N T I A L

Arkkitehtuuri muutosagenttina

Virtualisointiympäristössä on kolme pääosaa: isäntä (host), virtualisointikerros ja vieras (guest).

Projektin tilanne. Tavaraliikenteen telematiikka-arkkitehtuuri Liikenne- ja viestintäministeriö

PILETTI. Tekninen vaatimusmäärittely. v. 0.2

Visma Nova Webservice Versio 1.1 /

Järjestelmäarkkitehtuuri (TK081702) SOA, Service-oriented architecture SOA,

Koodistoeditorin tavoitteet ja tilannekatsaus

Olet tehnyt hyvän valinnan hankkiessasi kotimaisen StorageIT varmuuskopiointipalvelun.

Järjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri. Järjestelmäarkkitehtuuri

TOR Arkkitehtuuri. - Muiden palveluiden hyödyntäminen - Tiedon loogiset vastuut - Tietovirrat - Master data -malli - Tietojen siirto

MATINE-projekti 2500M-0069: Tietotekniset harhautukset (ICT Illusions)

Transkriptio:

AuroraAI: Työpaketti 4 Väestörekisterikeskus Katselmoitu Hyväksytty 1 (8)

Muutosluettelo Versio Päivitys Tekijä Kuvaus 0.1 25.10.18 JS Ensimmäinen luonnos 0.2 26.10.18 JS Lisätty luonnos verkostossa toimimiselle 0.3 19.02.18 Nathan Nylund Päivitetty arvoa tuottavat palvelut osio 2 (8)

Sisällysluettelo Demon sisältö... 4 1.1 AuroraAI-palveluverkoston ydinpalveluita... 4 1.1.1 Reititin (eng. Router)... 5 1.1.2 Palvelurekisteri (eng. Service Registry)... 5 1.1.3 Intentio/käyttäjän aikeen tunnistaminen (eng. Intention Analyzer)... 5 1.1.4 Palauterekisteri (eng. Feedback Service)... 5 1.2 Verkostoon liitetyt arvoa tuottavat muut palvelut... 6 1.2.1 Vitsipalvelut... 6 1.2.2 Sääpalvelu... 6 1.2.3 Ammatinvalinnanohjauspalvelu... 6 1.2.4 Opiskelijaneuvontapalvelu... 6 1.2.5 Osaamisenkartoituspalvelu... 6 1.2.6 Verkostoa hyödyntävät palvelut... 6 1.2.7 Slack-keskustelusovelluksen lisäosa ja taustapalvelu... 6 1.2.8 Web-käyttöliittymä ja palveluiden läpinäkyvyys... 7 1.3 Teknologiavalinnat... 7 AuroraAI-verkostossa toimiminen... 7 2.1 Verkostoon liittyminen... 7 2.1.1 Intentioiden listaaminen... 7 2.1.2 HTTP-rajapinnan määritys... 7 2.1.3 Liittymiskutsu ja liittymispyynnön hyväksyntä... 8 2.2 Verkoston tarjoamien palveluiden käyttäminen... 8 2.3 Sopivien palveluiden löytäminen... 8 3 (8)

Demon sisältö Pyrkimyksemme on demossa validoida ja kokeilla erilaisia teknisiä konsepteja ja muodostaa esiselvitysvaiheen aikana käsitys siitä, minkälaisilla teknisillä komponenteilla AuroraAI-visiota voitaisiin jalkauttaa. Demolla tarkoitetaan tässä dokumentissa ketterästi kehitettävää koeversiota, jossa on konkreettisesti toteutettuna toimiva tekninen kokonaisuus. Kaavio 1. Tekniset komponentit nykyisessä demossa 1.1 AuroraAI-palveluverkoston ydinpalveluita Demossa olemme yrittäneet tunnistaa välttämättömiä teknisiä konsepteja muodostaaksemme palveluverkostoja/palveluketjuja. 4 (8)

1.1.1 Reititin (eng. Router) Verkkojen muodostus vaatii jonkin komponentin, jossa on kyky yhdistellä sisään tuleva pyyntö tiettyyn/tiettyihin palveluihin. Reititin käyttää Palvelurekisteriä (1.1.2) sekä Intentioanalyysiä (1.1.3) palauttaakseen kysyjälle parhaan mahdollisten kykyjensä mukaan osuvimman joukon palveluita. Tämän hetkisessä toteutuksessa Reitittimen rooli rajoittuu kysyjän ja palvelun/palvelujen yhdistämiseen. Yhdistäminen tarkoittaa tässä sitä, että kysyjän vastuulle jää vielä alkuperäisen pyynnön lähettäminen Reitittimeltä saatuun palveluun tai saatuihin palvelujoukkoihin. Yhdistämisessä hyödynnetään Palauterekisterissä (1.1.4) olevaa tietoa käyttäen laskukaavaa, joka arvottaa palvelut järjestelemällä ne kyseisiin intentioihin liittyvien saatujen positiivisten palautteiden ja kaikkien palautteiden jakauman mukaan, huomioiden otannan mahdollisen niukkuuden. 1.1.2 Palvelurekisteri (eng. Service Registry) Jotta on ylipäänsä mahdollista kuulua johonkin palveluketjuun tai yleisemmin palveluverkostoon, tulee tämä kuulumiseen liittyvä tilatieto säilyttää jossakin. Ylläpidämme demo-ratkaisussa tietokantaa, johon tämä kuuluminen säilötään ja sen yhteyteen loimme rajapinnan http-pyynnöille rekisterin ylläpitoa varten. Olemme rajoittaneet rekisteriä käyttävät palvelut Reitittimeen (kohta 1.1.1). Palvelu kertoo rekisteriin itsestään URL-osoitteen omaan palvelunsa rajapintaan, mahdollisesti käytössä oleva chatrobotti-palvelu sekä vapaammin asiasanoja kuvaamaan tarjoamaansa lisäarvoa. Asiasanoja käytetään, kun eri palveluja arvotetaan keskenään tietyn pyynnön kontekstissa. Jos palvelu käyttää, jotakin chatrobotti-palvelua, kuten IBM Watson tai Microsoft Bot Framework, osaa Moniosaaja-demopalvelu automaattisesti keskustella kyseisen palvelun kanssa, eikä ylimääräisiä integrointitasoja tarvita. 1.1.3 Intentio/käyttäjän aikeen tunnistaminen (eng. Intention Analyzer) Mahdollistaaksemme luonnollista kieltä käyttävien käyttöliittymien helpon yhdistämisen ja myös helpottaaksemme AuroraAI-verkoston hyödyntämistä vapaammin, loimme raakileen järjestelmästä, joka poimii asiasanoja luonnollisesta kielestä. Tätä intentioanalyysiä hyödyntää Reititin, joka kaivaa pyynnöstä aikeen/aikeet ja yrittää parhaansa mukaan yhdistää sen oikeille palveluille. 1.1.4 Palauterekisteri (eng. Feedback Service) Pystymme keräämään jokaiseen reititykseen liittyen palautteen (kyllä/ei), että onnistuiko Reititin (1.1.1) yhdistämään käyttäjän viestin intentiot sopivaan palveluun. Reititin hyödyntää tätä kerättyä tietoa, kun käyttäjille pyritään etsimään sopivia palveluita. 5 (8)

1.2 Verkostoon liitetyt arvoa tuottavat muut palvelut Muodostaaksemme palveluverkoston tulee olla olemassa palveluita, joihin voi pyyntöjä ohjata. Nykyisessä Demossa on täytepalveluita, jotka pyrittiin yhdistämään verkostoon, kuten aidot arvoa tuottavat älykkäät sovellutukset jatkossa yhdistettäisiin. Ne ovat liitetty palvelurekisteriin ja niihin on yhdistetty niitä kuvaavia asiasanoja. 1.2.1 Vitsipalvelut Liitimme kaksi palvelua verkostoon, joihin pyynnöt yhdistetään, jos aikeeksi tulkitaan vitsi. Tällä voidaan kuvata sitä, kuinka verkostossa jatkossa kaksi tai useampi palvelu kilpailevat samassa kontekstissa. 1.2.2 Sääpalvelu Sääpalvelulla on kaksi tavoitetta. Kyky yhdistää johonkin muuhun kontekstiin kuin vitsit, sekä tietovirta alkuperäisestä sisällöstä välitetään sääpalveluun. Sääpalvelu on älykäs, eli se tekee vastausta muodostaessaan tulkintaa siitä, mitä käyttäjä haluaa. Tässä se tulkitsee sitä, mihin kaupunkiin liittyvää säätietoa näytetään. On tärkeää saada välitettyä tietoa käyttäjän ja palvelun välillä. Pyrimme tällä palvelulla hahmottamaan vaatimuksia liittyen rajapintojen ja tiedon muotoon liittyviin kuvaustarpeisiin. 1.2.3 Ammatinvalinnanohjauspalvelu 1.2.4 Opiskelijaneuvontapalvelu 1.2.5 Osaamisenkartoituspalvelu 1.2.6 Verkostoa hyödyntävät palvelut Ymmärtääksemme käyttötapauksien kaikkia osapuolia, olemme luoneet sovelluksen, jonka rooli on toimia kysyjänä, eli AuroraAI-verkkoa hyödyntävänä osapuolena. Tämä valottaa erilaisia sovelluskehitykseen liittyviä näkökulmia ja tarpeita sekä luo ikkunan, jonka läpi verkoston toimivuutta voi tarkastella intiimimmin ja fokusoidusti. 1.2.7 Slack-keskustelusovelluksen lisäosa ja taustapalvelu Loimme Slack-sovellukseen lisäosan, joka on viestinvälityratkaisu Slack-käyttöliittymän ja taustapalvelun välillä. Ydintoiminnallisuus on toteutettu tähän taustapalveluun ja se on lyhyesti toimia kontrolloivassa roolissa käyttöliittymän, AuroraAI-ydinpalvelun (1.1.1) ja arvoa tuottavien palveluiden (1.2) välillä. Sen vastuulla on ohjata käyttäjän pyyntö ensiksi Auroraan, josta se saa vastauksena käyttäjän pyyntöön sopivat palvelut. Sen jälkeen se päättelee mihin saaduista palveluista alkuperäinen pyyntö ohjataan. Lopuksi se lähettää palvelusta saadun viestin takaisin käyttöliittymään esiintyen AuroraBot käyttäjänä. 6 (8)

1.2.8 Web-käyttöliittymä ja palveluiden läpinäkyvyys 1.3 Teknologiavalinnat Olemme kehittäneet käyttäen teknologioita, jotka mahdollistavat nopean ja ketterän kehitystavan. Palvelut ovat julkisessa toistaiseksi vielä Cybercomin omakustanteisena pilvipalvelussa Amazon Web Services (AWS). Keskityimme käyttämään palvelittomia AWS:n palveluita kuten Amazon Lex tuottaessamme sääpalvelun sekä AWS Lambdaa ja AWS API Gatewaytä muissa mikropalvelutyyppisissä demopalveluissa. Yksi toteutuksen tavoitteista on ollut säilyä parhaan kykymme mukaan palveluntarjoaja-agnostisena. Kaikki tuotoksemme on pienellä vaivalla mahdollista siirtää muille pilvialustoille, jotka tarjoavat vastaavaa palvelitonta -ympäristöä. AuroraAI-verkostossa toimiminen Verkostoon liittyminen ja verkoston hyödyntäminen perustuu yleisiin ehtoihin ja eri palveluiden välisiin sopimuksiin. Ekosysteemiin tulee muodostaa yhteiset pelisäännöt ja yhteiset tekniset viestintätavat. Tavoitteena on luoda kuitenkin joustava pelikenttä, jossa palvelun tarjoajien vertailu ja valinta ensisijaisesti perustuu käyttäjien palautteelle ja muille vielä määrittämättömille mittareille. Ekosysteemin tulisi mahdollistaa kenen tahansa luoda uusia tai olemassa olevan kanssa kilpaileva palvelu. 2.1 Verkostoon liittyminen Palveluketjuajattelussa verkostossa liitytään aina jonkin toisen palvelun alle. Palveluketjut muodostavat yhdessä kontekstin, jossa toimitaan. Konteksteja on esimerkiksi muissa esiselvityshankkeen työpaketeissa määritellyt elämäntapahtumat/-tilanteet. Hypoteettisesti mikään ei myöskään estä ekosysteemiä luomasta näistä poikkeavia konteksteja. 2.1.1 Intentioiden listaaminen Mahdollistaakseen palvelun löytymisen tulee palvelun tarjoama sisältö kuvata asiasanoin ( hashtag -ajattelu). Kun palvelu on leimattu asiasanoilla ja kysyjän intentiot on analysoitu, on mahdollista määrittää vertailemalla kysyjälle sopivien palveluiden joukko. 2.1.2 HTTP-rajapinnan määritys Palvelun pitää tarjota HTTP-pyyntöjä varten kutsuttavissa oleva rajapinta. Tämän rajapinnan URL-osoite säilötään palvelurekisteriin. Rajapinnan tarkempi määritys tiettyihin ennalta määritettyihin skeemoihin/templaatteihin on työn alla. Näitä voisi olla useita. 7 (8)

2.1.3 Liittymiskutsu ja liittymispyynnön hyväksyntä Kun palvelu on julkisessa verkossa, sen kuvaavat asiasanat on määritelty ja sopiva rajapinta on julkaistu, voi rekisteröitymispyynnön lähettää johonkin AuroraAI-verkoston palvelurekistereistä. Toistaiseksi kehitysversiossa on vain yksi keskitetty palvelurekisteri johon liitytään, mutta on suunnitteilla hajautettu ratkaisu, jossa verkostossa voidaan liittyä muihinkin palvelurekistereihin. Rekisteröitymispyyntö lähetetään HTTP/POST-kutsulla AuroraAI Reitittimen (1.1.1) rekisteröintirajapintaan. Pyynnössä lähetetään isäntä noodi (jos on), lapsi noodit (jos on), nimi, intentiot (kuvaavat asiasanat), sekä palvelun HTTP-rajapinnan osoite. Noodilla tarkoitetaan yhtä palveluketjussa olevaa palvelua. 2.2 Verkoston tarjoamien palveluiden käyttäminen AuroraAI-verkkoa voidaan käyttää ensisijaisesti yhdistämään ja löytämään palveluita dynaamisesti. Palvelu/palveluketjut pyritään kilpailuttamaan laadun ylläpitämiseksi. Valintakriteeristö ja metodit ovat määrittämättä. 2.3 Sopivien palveluiden löytäminen AuroraAI Reititin tarjoaa rajapinnan luonnollisen kielen analysoinnille, jonka pohjalta pystytään päättelemään soveltuvin osin sopivimmat palvelut/palveluketjut. Tästä rajapinnasta saadaan vastaukseksi lista palveluita (tai palvelu). Jatkopyynnöt palveluihin jää kysyjän vastuulle. Rajapinta palauttaa yksilöidyn tunnisteen, jota käyttäen voidaan myöhemmin antaa palautetta, kuinka kyseinen vastaus palveli kysyjää. Suunnitteilla on myös työkalu kehittäjille palveluiden selaamiseen ja palveluketjujen tarkastelua varten. Tämän työkalun ja mahdollisesti erilaisen rajapinnan kautta voisi kehittäjä luotettavammin ohjata dynaamisia palvelupyyntöjä oikeisiin konteksteihin. Yleiset tietomuodot ja rajapintojen vaatimukset ovat haastava aihe ja ovat vielä työn alla. 8 (8)