Yhteentoimivuutta edistävien työkalujen kehittäminen - JulkICTLab pilotti Pilottiehdotuksen osapuolet: CSC – Tieteen tietotekniikan keskus Oy Aalto yliopisto Verohallinto Yhteyshenkilö (Product Owner): Suvi Remes [email protected] Tekninen yhteyshenkilö (Scrum Master): Miika Alonen [email protected] Tiivistelmä •

Download Report

Transcript Yhteentoimivuutta edistävien työkalujen kehittäminen - JulkICTLab pilotti Pilottiehdotuksen osapuolet: CSC – Tieteen tietotekniikan keskus Oy Aalto yliopisto Verohallinto Yhteyshenkilö (Product Owner): Suvi Remes [email protected] Tekninen yhteyshenkilö (Scrum Master): Miika Alonen [email protected] Tiivistelmä •

Yhteentoimivuutta edistävien työkalujen kehittäminen
- JulkICTLab pilotti
Pilottiehdotuksen osapuolet:
CSC – Tieteen tietotekniikan keskus Oy
Aalto yliopisto
Verohallinto
Yhteyshenkilö (Product Owner):
Suvi Remes
[email protected]
Tekninen yhteyshenkilö (Scrum Master):
Miika Alonen
[email protected]
Tiivistelmä
• Pilotin sisältö lyhyesti: Pilotissa kehitetään työkaluja yhteisen
tietomallinnusmenetelmän soveltamiseksi, tukemaan organisaatioiden välistä
tiedonvaihtoa ja semanttista yhteentoimivuutta.
• Pilotilla tuetaan:
• Organisaatioiden välisen tiedonvaihdon toteuttaminen yhteismitallisesti
• Yhteisesti käytettävien tietomääritysten määrittely ja dokumentointi,
esimerkiksi palveluväylään toteutettaville ratkaisuille
• Yhteentoimivuutta edistävien työkalujen kehittäminen edellyttää avointa
kehittämisyhteisöä, jossa eri organisaatioiden osaaminen voidaan hyödyntää
kustannustehokkaasti
• Tulos: Avoimella lähdekoodilla toteutettu tiedonvaihtoa tukeva ratkaisu yhteisten
tietomallien määrittelyyn ja julkaisuun
Osapuolilla on samansuuntaiset visiot,
prioriteetit ja tavoitteet
Lainsäädännölliset tekijät on otettu huomioon
tietojen vaihtamisessa
Poliittinen tahtotila
Lainsäädännön yhteentoimivuus
Lainsäädännön yhtenäistäminen
Eri organisaatiot pääsevät kokonaisedun
mukaiseen tavoitteeseen yhteen sovitettujen
prosessien kautta
Informaatiolla on täsmällinen merkitys, joka
säilyy tietoa vaihdettaessa muuttumattomana
ja ymmärrettävänä kaikille osapuolille
Organisaatioiden yhteentoimivuus
Organisaatioiden ja prosessien
yhtenäistäminen
Semanttinen yhteentoimivuus
Semanttinen yhtenäistäminen
Tekniset rajapinnat on suunniteltu siten, että
ne mahdollistavat järjestelmien ja palvelujen
yhdistämisen
Tekninen yhteentoimivuus
Tiedon siirto ja yhteydet
JulkICT-toiminto
Osasto
pp.kk.vvvv
pp.kk.vvvv
The Helsinki Principle
“Any meaningful exchange of utterances depends on the prior
existence of an agreed set of semantic and syntactic rules.
The recipients of the utterances must use only these rules to
interpret the received utterances, if it is to mean the same as
that which was meant by the utterer.”
ISO TC97/SC5/WG3 Working Group
Helsinki
1978
Esityksen sisältö
• Historiakatsaus korkeakoulujen yhteiseen tietoarkkitehtuuriin
• Korkeakoulujen yhteentoimivuusmalli
• Yhteentoimivuusmallista yhteiseksi menetelmäksi
• Yhteentoimivuutta edistävien työkalujen kehittäminen
• Yhteentoimivuuskuvausten tekninen arkkitehtuuri
Lyhyt historiakatsaus korkeakoulujen yhteiseen
tietoarkkitehtuuriin
Tietoarkkitehtuurin kehitys korkeakoulusektorilla
~ 2004-2008
Korkeakoulu y
Korkeakoulu x
M-määritykset
X
Z
Y
Ö
Tietoarkkitehtuurin kehitys korkeakoulusektorilla
2008-2010
Yhteinen opintohallinnon ydintietojärjestelmä
Korkeakoulujen tietomalli
XDW
Korkeakoulujen yhteinen tietovarasto
Tietoarkkitehtuurin kehitys korkeakoulusektorilla
Yliopistolakiuudistus 2010
Korkeakoulu x
Korkeakoulu y
Korkeakoulu z
Korkeakoulu ä-ö
(oma ratkaisu)
ESB / Palveluväylä
ESB / Palveluväylä
ESB / Palveluväylä
XDW
1.1
XDW
1.2b
XDW
V2b
”Omien tietojärjestelmien kehittäminen on kilpailuetu”
Tietoarkkitehtuurin kehitys korkeakoulusektorilla
2013 Korkeakoulujen valtakunnallisen tietovarannon käyttöönotto
2013-2015 Opiskelijavalintauudistus
Korkeakoulut a-x
Korkeakoulu z
Oili
Korkeakoulujen opiskelijaksiilmoittautumis- ja lukuvuosiilmoittautumispalvelu
Rest APIs
ESB / Palveluväylä
KSHJ
XDW
VIRTA
Korkeakoulujen valtakunnallinen tietovaranto ja viranomaistietovirrat
Korkeakoulujen sähköinen haku- ja
valintajärjestelmäratkaisu
Tietoarkkitehtuurin kehitys korkeakoulusektorilla
É
Euroopplaiset korkeakoulut
(ERASMUS+ / EMREX)
Å
2015-20??
Uusia palveluita – Lisää rajapintoja
Rest APIs
Korkeakoulut a-x
Oili
Korkeakoulujen opiskelijaksiilmoittautumis- ja lukuvuosiilmoittautumispalvelu
Korkeakoulu z
Rest APIs
ESB / Palveluväylä
KSHJ
Korkeakoulujen sähköinen haku- ja
valintajärjestelmäratkaisu
XDW
VIRTA
Jullkaisut
Tutkimusaineistot
Etsin
Kansallinen tutkimusaineistojen hakupalvelu
Juuli
Kansallinen julkaisutietoportaali
?
Uusi palveluita
Yhteiset tietosisältöjen määritykset
korkeakoulusektorilla
rajapinnat
rajapinnat
esim.
kirjastotoimi
KSHJ
?
rajapinnat
rajapinnat
korkeakoulujen
tietojärjestelmät
VIRTA
XDW
Korkeakoulujen
tietomalli
(tietomalli.csc.fi)
Wiki
Excel
JSON
XML
Ongelma
Yksi tietosisältö
monta tapaa mallintaa
<!ELEMENT Organisaatio (Nimi)>
<!ATTLIST Organisaatio id CDATA>
<!ELEMENT Nimi (#PCDATA)>
<XML>
<Organisaatio id=”abc”>
<Nimi>Esimerkki</Nimi>
</Organisaatio>
</XML>
<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name=“Organisaatio">
<xs:complexType>
<xs:sequence>
<xs:element name=“Nimi" type="xs:string"/>
</xs:sequence>
<xs:attribute name=“id" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:schema>
Nimi, koodi
Esimerkki; abc
RDB
XML
JSON
RDF
…
Räätälöity
Räätälöity
integraatioratkaisu
Räätälöity
integraatioratkaisu
integraatioratkaisu
Räätälöity
Räätälöity
integraatioratkaisu
integraatioratkaisu
?
{
Palveluntuottaja: {
”tunnus”:”abc”,
”Nimi”:”Esimerkki”
}
{
Yritys
+ koodi
+ nimi
”title”: ”Palveluntuottaja”,
”type”: ”object”,
”properties”: {
”tunnus”: {
”type”: ”String” },
”Nimi”: {
”type”: ”String”}
}
CREATE TABLE Yritys
(
koodi int,
Nimi varchar(255),
);
}
}
Tavoitetila
Sanasto
Luokitukset
Yhteentoimivuusmalli
Rajapinta
X
Tietomalli
Y
Tietovarasto
Z
?
Sanasto
Standardit
• Yhteiset määritykset eri
käyttökohteisiin
• Tietoelementit määritellään
sanastossa ja linkitetään
standardeihin
Yhteentoimivuusmalli
• Luokkia ja ominaisuuksia
tarkennetaan käyttötarpeen
mukaan
Opintojakso
Opintojakso
Opintojakso
…
Määr ..
Koodi
Koodi
Koodi
X
XX
Nimi
Nimi
Nimi
Laajuus
Laajuus
Laajuus
Tietomallit
Pakolli ...
X
XX
Rajapintakuvaukset
Yhteentoimivuusmallin tavoitteet
korkeakoulutuksen ja tutkimuksen yhteiset tietomääritykset
yhteensopivuus kansainvälisten standardien kanssa
– tietomallinnuksen menetelmät
– linkitys kansainvälisiin tietomäärityksiin
(formaalisti ja semanttisesti)
tietojärjestelmien yhteentoimivuus
– modulaariset tietomääritykset:
viestinvälitys
– (eri toimialojen) rajapintaratkaisut
tietokantarakenteet
– (eri toimialojen) tietovarannot
sovelluskehitys
– (eri toimialojen operatiiviset) tietojärjestelmät
implementaatiokohtainen dokumentaatio
KV referenssit
Korkeakoulusektori
– CEN/WS LTS
14855 / 15248 / 15249 / …
– ISO
MLR - 19788 ISO/IEC
Core Data Models
– NIEM / CCTS / UBL / Oasis ebXML
ISA (Joinup / Semic)
– Core vocabularies
– Tavoite harmonisoida ja linkittää eri maiden Core Data malleja:
XÖV / Stelselcatalogus.nl / Swedish & Danish Core Data models
Korkeakoulujen yhteentoimivuusmallista
yhteiseksi menetelmäksi
XML
•
•
•
•
NIEM
CCTS (ISO 11179 …)
UBL
EBXML (ISO 15000)
Core vocabularies
Application profile
•
•
•
•
DCMI
CEN/TC 353
ISO MLR 19788-3
ISA Joinup Core Vocabularies
UML
• MOF extensions (CCTS yms.)
• CIM (Common information model)
• hyperModel
Yhteinen tietoarkkitehtuuri?
Python
XML
Terminologiset sanastot
SKOS
Luokitukset
Käsitemalli
Wiki
ER
RDB
SQL
Enumeraatiot
JSON
Excel
XML
XML
Koodistot
Tietomallinnus
UML
Tietovarastointi
Koodistopalvelu
PHP
Javascript
JSON
Käsitteistö
RDF
Ohjelmointi
Rajapinnat
Sanastot
Java
Yhteentoimivuusmenetelmä
• Yhteiskäyttöisissä palveluissa ja prosesseissa
käytettävät käsitteet on määriteltävä
asianmukaisesti ja koneluettavassa muodossa
• Yhteisten tietomäärityksien tulee perustua
sanastossa määriteltäviin käsitteisiin
• Tietomääritykset ovat uudelleenkäytettäviä
tietokomponentteja (luokka, ominaisuus ja
assosiaatio)
• Tietojärjestelmien väliset rajapinnat kuvataan
sovellusprofiilissa uudelleenkäyttämällä
tietomäärityksiä
• Sovellusprofiili muodostuu toimialueella
kuvatuista uudelleenkäytettävistä
tietomäärityksistä, eli luokista, ominaisuuksista
ja niille asetetuista rajoituksista
Palvelut
Prosessit
Sanasto
Henkilö
Pätevyys
Yhteentoimivuus
malli
Henkilö
luokka
Pätevyys
ominaisuus
Loogiset
tietomallit
Fyysiset
tietomallit
Todennetun
osaamisen
tietomalli
Organisaatio
Organisaatio
luokka
Vaatimus
luokka
Sovellusprofiili
rajapinta
Lupa
Vaatimus
Lupa
luokka
Virasto
tietomalli
Yhteentoimivuusmenetelmä
Sanastot
• käsitteet
• määritelmät
• luokitukset
Tietokomponentit
• luokat
• ominaisuudet
• assosiaatiot
Sovellusprofiilit
• käyttötarkoitus
• rajoitukset
• laajennokset
Yhteinen metatietoarkkitehtuuri käsitteiden ja tietorakenteiden mallintamiseen
• Yhteentoimivat sanastot
• Yhteentoimivat tietorakenteet
• Yhdenmukainen dokumentaatio
Yhteentoimivuusmenetelmän hyödyt
Muodostaa eri käyttötarpeisiin soveltuvia tietomalleja, jotka
perustuvat yhteisiin käsitteisiin
Vähentää uudelleenmäärittelyn tarvetta
Voidaan kehittää yhteentoimivia tietomalleja eri
käyttötarkoituksiin
Lisätä kenttiä ja assosiaatiosuhteita
tietokomponenttikirjastoon ”sotkematta” tietovarastomallia
tai rajapintakuvauksia
Linkitys kansainvälisiin standardeihin kerran - ei
sovelluskohtaisesti
”Master metadata” yhdessä paikassa rajapintojen kautta
hyödynnettävissä
Yhteentoimivuutta edistävien työkalujen kehittäminen
Pilotin toteutuksen esittely
Sanasto
editori
Koodisto
palvelu
Käyttää
koodistoja
TEPA-termipankki
(TSK Sanastokeskus)
JulkICTLab pilotti
JHS julkisen hallinnon
yhteinen sanasto,
OKSA- opetus- ja
koulusanasto
Finto -sanasto- ja
ontologiapalvelu
(Kansalliskirjasto)
Tuottaa
visualisointeja
Rajapinta
Tietosisältö
kuvattu
profiilissa
Käyttää
sanastoja
Tietokomponentit
Sovellusprofiilit
Dokumentoi /
tuottaa
skeemoja
XSD
JSON
Schema
RDF
Rajapinnan
skeema
”voi hyödyntää
esim. base-skeemoina
tai siirtoformaattina”
Tuotokset ja aikataulu
• Pilotissa tarkentuva tietojärjestelmä avointen tietomäärityksien tuottamiseen, hallinnointiin ja julkaisuun
• Tietomallien ylläpito- ja julkaisuympäristö
• Sanastoihin perustuvien tietomäärityksien määrittelymenetelmä ja työkalut
• Tiedonsiirtomääritysten määrittelymenetelmä ja työkalu teknisten skeemojen tuottamiseen
• Avoimen lähdekoodin toteutus
• Potentiaaliset käyttäjät:
• Julkishallinnon ja muiden toimialueiden tietomallintajat ja sovelluskehittäjät
• Julkishallinnon ja muiden toimialueiden sisällönasiantuntijat
• Tietoaineistojen kuvailijat välillisesti kuvailueditorien kautta
• Onnistunut käyttöönotto:
• Tavoitepilotin toimialueen tietomääritykset mallinnettu tietojärjestelmällä
• Tavoitepilotti käyttää tietojärjestelmällä tuotettua tietomallia tiedonsiirrossa
• Aikataulu:
• Suunnitteluvaihe 01/2015 – 03/2015
• Toteutusvaihe JulkICTLabissa 04/2015 – 12/2015
Projektikumppanit
• CSC – Tieteen tietotekniikan keskus Oy
• projektikoordinaatio
• määrittely ja tekninen toteutus
• Aalto-yliopisto
• käyttötapaukset; määrittely
• Verohallinto / Katre-hanke
• käyttötapaukset; määrittely
• VM / JulkICTLab -kehitysympäristö
• laaja sidosryhmäverkosto (korkeakoulut, ATT-hanke, julkisen hallinnon toimijat)
• ”PoC-lähestyminen ja testaus”, jalkautus osissa
• Metatietopalvelun ekosysteemi – kansalliset tavoitteet
Aikataulutus
Käyttökohteita
Tietojärjestelmänäkökulma:
Keskitetty metatieto
hajautettu aineistojen hallinta
Aineistojen kuvailu
dynaamisilla lomakkeilla
Sovellusprofiilikirjasto
Sama tieto kysytään vain kerran,
Yhteisiä tietoja hallinnoidaan
sovellusprofiileilla
Palvelu x
Aineistojen mahdollisia metatietoja
voi päivittää täydentämällä sovellusprofiilia
Palvelu y
Dynaaminen lomake
Dynaaminen lomake
Tietovarasto
Tietovarasto
Keskitetty
metatietovarasto
Eri alustoille talletetut aineistot ajantasaisilla
yhtenäisillä metatiedoilla
Integraationäkökulma:
Rajapintojen sovellusprofiilit
Sovellusprofiilit WDSL sanomiin paketoiduille tietorakenteille
• Määrittelee tietosisällöt tekniikkariippumattomasti
• Ihmisluettava dokumentaatio
• XML skeemojen tuottaminen
• Yhteiset nimeämiskäytännöt
• Linkitys sanastoihin
• Mäppäys KV standardeihin
Tekninen toteutus
Pilotin tekninen arkkitehtuuri
Tarkempi dokumentaatio
Metatietoarkkitehtuuri
• Yhteentoimivuusvälineistön metatiedot (METAMETA taso)
• RDF/S
• SHACL
• Kardinaliteetit
• AND/OR/XOR
• CEN / CWA 15248
• Sovellusprofiilin kuvailutiedot
• SKOS
• Käsiteviitteet
• Luokitukset
• Käytetty formaatti: JSON-LD
• Nimiavaruudet JSON rakenteille
• Prosessointi SPARQL / XPROC pipelines
JSON-LD/AngularJS UI POC testit
• Tietokomponenttikirjasto:
• http://jsfiddle.net/amiika/L6orrd6v/
• Sovellusprofiili:
• http://jsfiddle.net/amiika/orjncx74/
• Edumeta
• Kuvakaappauksia 2014 prototyypistä
Kehitysympäristö
• CSC:n omat virtuaalit (Pouta)
• iow.csc.fi
• Kehitys Githubissa:
• https://github.com/CSC-IT-Center-for-Science
• iow-ui (alustava runko)
• iow-api
• Master branchit synkronisoidaan virtuaalin kanssa kerran tunnissa
• Automaattinen mvn install paketonti iow-api:lle
• Käyttöliittymälle sovittava automatisointi grunt jne. yms. testit
Sisällöllinen määrittely
Sisällöllisellä määrittelytyöllä (mm. tietokomponentit, sanastot) omat
ohjausrakenteet. Sisältö tuotetaan kehitysprojektin ulkopuolella,
tehtävään kootuissa tai muutoin muodostetuissa ryhmissä ja/tai
verkostoissa. Tiivis yhteys sisältötyöhön ja sitä tekeviin ryhmiin on
projektin kannalta kuitenkin keskeistä.
• Opintohallinnon tietokomponentit
• Julkisen hallinnon tietokomponentit
Yhteentoimivuuden välineistö
• Lisää projektin verkkosivuilla
• ja githubissa
• Rautalankamallit
• Graafinen ulkoasu
• Käyttötapausmäärittelyt
Kiitos!