Valtionvarainministeriön julkishallinnon perustietovarantojen rajapinnat (PERA) -työryhmä on tehnyt muistion, jossa asetetaan vaatimuksia arkkitehtuuriratkaisulle (vaatimukset). Näitä vaatimuksia kuvataan pääpiirteittäin Peppi-arkkitehtuurin näkökulmasta alla olevassa taulukossa. Vaatimuksista puuttuvat tunnisteet, joten vaatimukset on kopioitu taulukkoon. Huomioitavaa on, että vaatimukset ja muut työryhmän tulokset ovat luonnosvaiheessa (4.5.2011).
Vaatimus (PERA) |
Toteutuminen Peppi-arkkitehtuurissa |
---|---|
Avoimuus |
|
Arkkitehtuuriratkaisu ei saa edellyttää asiakkailta viimeisimpien |
Peppi-arkkitehtuurissa hyödynnetään uusia teknologioita (esim. OSGI), mutta sen käyttöönotto ei edellytä ulkopuolisten järjestelmien uudistamista. |
Arkkitehtuuriratkaisu ei saa sisältää ohjelmistotoimittajasidonnaisia ratkaisuja |
Ratkaisu perustuu avoimen lähdekoodin tuotteisiin, eikä luo riippuvuutta tiettyyn toimittajaan. Järjestelmän palvelupohjaisuus mahdollistaa paremmin palveluiden laajentamisen ja uudelleenkäytön. |
Ratkaisun tulee mahdollistaa palvelujen koostaminen toisista, useam- man eri viranomaisen eri teknikoilla tehtyjen järjestelmien palveluista. |
Ratkaisussa hyödynnetään servicemixin integraatio-ominaisuuksia, jotka mahdollistavat integraatiot eri tekniikoilla tehtyihin rajapintoihin (esim. Webservice, Rest, siirtotiedosto) |
Arkkitehtuurin määrittelyn tulee ohjata yhteisiin yleisiin ratkaisuihin, mutta sen pitää sallia toimialakohtaiset erityistarpeet. |
Arkkitehtuurissa on huomioitu nykyarkkitehtuurin muodostamat ongelmat, kansalliset määritykset (M-määritykset) sekä Kuali-yhteisön arkkitehtuuriratkaisut ja teknologiavalinnat. |
Arkkitehtuurin tulee tukea yleisiä tietopoliittisia linjauksia. Tietosuojaan ja tietojen saatavuuteen liittyvät linjaukset on huomioitava. |
Arkkitehtuuri on selkeämpi kuin nykyinen arkkitehtuuri ja rajapintojen tietosuoja määritellään palvelukohtaisesti. |
Arkkitehtuurin tulee mahdollistaa joustava siirtyminen uusien teknologioiden ja standardien käyttöön pitkällä aikavälilla |
Arkkitehtuuri on mietitty modulaariseksi ja rajapintojen versiointi on huomioitu. Tämä mahdollistaa teknologioiden asteittaisen siirtymisen uusien teknologioiden käyttöön pitkällä aikavälillä. |
Arkkitehtuuriratkaisun tulee käyttää standardoituja rajapintoja aina silloin, kun sellaisia on käytettävissä usean eri toimittajan tukemina. |
Rajapinnat tukevat Webservice/SOAP ja Rest teknologioita. |
Arkkitehtuuriratkaisu ei saa estää asiakkaan oman arkkitehtuuriratkaisun soveltamista integraatiossa |
Rajapinnat tukevat Webservice/SOAP ja Rest teknologioit. |
Arkkitehtuuriratkaisun tulee edistää organisaatioiden välistä yhteistyötä tietovarantojen hyödyntämisessa |
Ratkaisussa rajapinnat on julkaistavissa eri organisaatioille. |
Ratkaisussa pitää käyttää tekniikoita ja ratkaisuja, joihin tiedontuottajien on mahdollista integroitua helposti. |
Rajapinnat tukevat Webservice/SOAP ja Rest teknologioit. |
Ratkaisussa pitää käyttää tekniikoita ja ratkaisuja, joille löytyy referens- sejä. |
Rajapinnat tukevat Webservice/SOAP ja Rest teknologioita, joille löytyy paljon referenssejä. |
Skeemojen suunnittelussa tulisi noudattaa yhteisesti sovittuja käy- täntöjä (JHS 170 linjaa XML- skeemojen suunnittelutyyliksi ”Gar- den of Eden”) |
Rajapintojen suunnittelussa hyödynnetään Raketti-hankkeen skeemoja (M-määritykset). |
Nykyisten olemassa olevien rajapintamääritysten tulee olla sovitettavis- sa tulevaan rakenteeseen sellaisenaan. |
Servicemix mahdollistaa vanhojen rajapintojen sovittamisen järjestelmään. |
Eheys |
|
Synkronisen palvelupyyntö-palvelu- rakenteen hallinnan pitää toimia. Rajapinnassa kulkeville sanomille pitää määritellä vakiotiedot, jotka takaavat synkronoinnin. Esimerkiksi autentikointitavat pitää linjata. |
Synkroninen viestintä on mahdollista rajapintojen avulla. |
Tarvitaan Master-tiedon ja kopioidun tiedon sijoitussuunnitelma. |
Peppi-projektin tavoitteena on selkiyttää tiedon omistajuutta eri palveluiden välillä ja poistaa turhat tiedon synkronoinnit. |
Turvallisuus |
|
Arkkitehtuuriratkaisun tulee täyttää yleiset tietosuojan ja tietoturvan vaatimukset |
Rajapinnat on mahdollista suojata tietoliikenneteknisesti, autentikaation ja auktorisoinnin avulla. |
Arkkitehtuuriratkaisun on taattava tiedon tietoturvallinen siirto asiakas- järjestelmän ja kohdejärjestelmän rajapinnan välilla |
Siirrettävä tieto voidaan suojata kryptauksen avulla. |
Järjestelmän tulee huomioida tietosuojavaatimukset. |
Rajapinnat on mahdollista suojata tietoliikenneteknisesti, autentikaation ja auktorisoinnin avulla. |
Tiedon käyttöä tulee pystyä valvomaan (kuka käyttää) |
Palveluissa tiedot versioidaan sekä tallentaan tiedon tallentajan tunnisteet. Tämän avulla voidaan seurata palveluiden käyttöä sekä poistaa osaltaan auktorisoinnin tarvetta. |
Ratkaisussa pitää huomioida käyttäjän tunnistus |
Palveluissa tiedot versioidaan sekä tallenetaan tiedon tallentajan tunnisteet. |
Arkkitehtuuriratkaisu ei saa edellyttää tietojen käyttöä suoraan operatii- visesta kannasta, vaan se pitää pystyä eristämään palvelukerroksella. |
Palvelut toteutetaan rajapintoja vasten, jolloin palvelut eivät ole liitoksia muiden palveluiden sisäiseen toteutukseen. |
Siirrettävien tietojen aikaleimat pitää määritellä ja toteuttaa yhtenäisesti. |
- |
Ratkaisussa pitää huomioida valtuutus. |
- |
Ratkaisussa pitää huomioida pääsynhallinta. |
- |
Ratkaisussa pitää huomioida lokitus. |
Lokitus huomioidaan palvelu- ja käyttöliittymämoduulissa. |
Ratkaisussa pitää huomioida poikkeustilanteiden hallinta. |
Poikkeustilanteet jaetaan eri luokkiin ja poikkeustilanteiden hallinta määritellään jokaiselle luokalle erikseen. |
Rajapintaratkaisussa on huomioitava häiriöseuranta ja jäljitettävyys |
Häiriönseuranta toteutetaan lokituksen avulla sekä niin, että virheen sattuessa virheen aiheuttanut viesti kirjoitetaan lokiin, jolloin virhe on toistettavissa. |
Rajapintojen autentikoinnin ja autorisoinnin tulee olla mahdollista pal- velutasolla. |
Palvelurajapinnat liitetään autentikoinnin/autorisoinnin piiriin. |
Saavutettavuus |
|
Ratkaisun tulee tukea sekä suora- että eräkäyttöä. |
Ratkaisu tukee eri protokollilla tehtäviä integraatioita ja palveluista voidaan koostaa uusia palveluita, joihin mahdollista tehdä tuki massasiirroille. |
Arkkitehtuuriin tulee olla sovitettavissa legacy-rajapintojen hyödyntä- minen niiden luonnollisen elinkaaren mukaisesti |
Ratkaisu tukee eri protokollilla tehtäviä integraatioit. |
Integraatiopalvelun on oltava keskeisiltä osiltaan valmis ennen laajaa käyttöä. |
Rajapinnat toteutetaan palveluittain eikä käyttötapaus kerrallaan. |
Pitää olla palvelu, jonka avulla paikkatiedot yritystilastoista saadaan käyttäjien ulottuville. |
- |
Yksityisen sektorin toimijoiden on kyettävä käyttämään yhteistä raja- pintaratkaisua hakiessaan ja ylläpitäessään tietovarantojen tietoja. |
Rajapinnat tai osa niistä voidaan julkaista täysin avoimiksi. |
Muutos tietovarantoon ei saa aiheuttaa pakollista muutostarvetta raja- pintaan ja päinvastoin. |
Rajapinnan tarkoitus on suojata muutoksilta. Rajapinnat toteutetaan tämän käsityksen mukaisesti. |
Rajapintaratkaisulle pitää määritellä yhteinen poikkeus-/virheskeema se- kä yleiset linjaukset käyttäytymiselle poikkeustilanteissa |
Poikkeustilanteet jaetaan eri luokkiin ja poikkeustilanteiden hallinta määritellään jokaiselle luokalle erikseen. |
On toivottavaa, että SAPin vakio- IDOC-määritykset tulee ottaa mu- kaan rakenteeseen. |
- |
Käytettävyys |
|
Ratkaisun on taattava eri palveluille niiden edellyttämät suorituskyvyt, tarvittaessa 24/7. |
Järjestelmän palvelut ovat tilattomia, joka mahdollistaa helpon skaalautuvuuden kuorman kasvaessa. |
Ratkaisun tulee tarjota valvontavälineet (sanoman sisältö, sääntöpohjai- suus) |
- |
Tiedon käyttöä tulee pystyä seuraamaan (tiedonsiirron onnistuminen, lokitus) |
Tiedon käyttöä seurataan versiohistorian ja lokituksen avulla. |
Ratkaisuun pitää kuulua asianmukainen virhekäsittely. |
Virheenkäsittely rakennetaan siten, että se on yhdenmukainen koko Peppi-järjestelmässä. |
Ratkaisun tulee sisältää palvelun tuottamisen toimintamallit |
- |
Vastuiden on oltava selkeästi määritelty (ilman harmaita alueita) -> pal- velun tuottamisen roolit |
- |
Tiedon on oltava saatavilla reaaliaikaisesti |
Tiedot on saatavilla palvelurajapintojen kautta. |
Rajapintaratkaisun tulee olla stabiili |
Rajapinnat toteutetaan pohjautuen SOAP/Webservice tai Rest teknologioihin , jotka ovat tällä hetkellä yleisesti käytössä ja koeteltuja. |
Rajapinnan tulee olla suorituskykyinen |
Rajapinnat toteutetaan pohjautuen SOAP/Webservice tai Rest teknologioihin , jotka ovat tällä hetkellä yleisesti käytössä ja koeteltuja. Rajapintojen toteutuksissa käytetään cacheja jos se on mahdollista. |
Palveluiden hallintaratkaisut, (esim. palveluhakemisto, versionhallinta, SLA-sopimukset) pitää kehittää ja ottaa käyttöön. |
Palveluluiden hallintaratkaisut toteutetaan OSGI-teknologian ja dokumentaation avulla. |
Rajapintojen tulisi olla tilattomia, ts. rajapintakutsun tuloksen tulee olla riippumaton sitä edeltäneistä kutsuista |
Palvelurajapinnat tehdään tilattomiksi. Tila pidetään yllä käyttöliittymämoduulissa, käyttöliittymän logiikan tila, tai tallentamalla tilatieto tietueeseen. Mikäli hyödynnetään tulevaisuudessa prosessimoottoria, tila on tallentuneena prosessi-instanssiin. |
Säädökset, ohjeet ja standardit |
|
Uusien rajapintojen tulee olla sanomapohjaisia (kysymys-vastaus- sanomapareja) |
Rajapinnat toteutetaan pohjautuen SOAP/Webservice tai Rest teknologioihin. |
Uusien rajapintojen määrittelyssä tulee huomioida modernit internet- ja web-teknologiat (esim. HTTPS, WS-I ja SOAP) |
Rajapinnat toteutetaan pohjautuen SOAP/Webservice tai Rest teknologioihin. |
Rajapintaratkaisun pitää huomioida julkishallinnon tietoarkkitehtuurissa tehdyt linjaukset ja täyttää osaltaan sen vaatimukset. |
- |
Yhtenäisten rajapintarakenteiden (skeemat, sanastot) tulee perustua JHS 170 ja JHS 175 -suosituksiin. |
Rajapintarakenteissa huomioidaan JHS-suositukset, mm. versiointi sekä skeeman rakenne. |
Rajapintapalvelujen teknologia ja tietotuotemäärittelyt eivät saa olla ristiriidassa kansainvälisten säännös- ten kanssa (esim. INSPIRE direktii- viin liittyvät komission asetukset koskien paikkatietoja) |
- |
Arkkitehtuuriratkaisun tulee perustua yleisiin standardeihin, joiden yk- sityiskohtainen soveltaminen ei saa johtaa järjestelmätoimittajariippu- vuuksiin. |
Arkkitehtuuriratkaisussa on suosittu standardeja palvelurajapinnoissa. |
Ratkaisussa pitää käyttää vakiintuneita ja toimivaksi todettuja menetelmiä ja standardeja. |
|
Arkkitehtuurin tulee huomioida toimialakohtaiset standardit |
On huomioitu JHS-suositukset sekä raketti-hankkeen käsitteet sekä skeemat. |
Ratkaisussa on kytkeydyttävä kansainvälisesti sovittuihin toimintata- poihin ja standardeihin (osa perustuu EU-lakeihin). |
- |
Ratkaisussa pitää käyttää tekniikoita ja ratkaisuja, joiden elinkaari ei ole päättymässä ja joille löytyy tuki. |
|
Ratkaisun tulee tukeutua Valtion IT- palvelukeskuksen tarjoaman yhtei- sen integraatiopalvelun käyttöön. |
- |
Arkkitehtuuriratkaisun tulee tukea hajautettua palveluarkkitehtuuria |
Peppi - arkkitehtuuri on suunniteltu hajautettaviksi. Tämä toteutuu mm. tekemällä palveluista tilattomia, tekemällä kutsut palveluiden välillä rajapintoja vasten. |
Rajapintojen sanomaformaatin tulisi olla ”document/literal”-tyyppinen |
SOAP-sanomista tehdään document/literal tai document/literal wrapped tyyppisiä sanomia. |
Hallittavuus |
|
Rajapinnasta tulee olla tekninen kuvaus. |
- |
Tiedon kuvauksen tulee olla saatavilla ja hyödynnettävissä. |
- |
Tiedot tulee olla kuvattu. |
- |
Rajapinnasta tulee olla käyttöohje. |
- |
Rajapintaratkaisulla tulee olla toimiva versionhallinta. |
Palvelurajapinnoista voidaan ajaa useampaa eri versiota rinnakkain OSGI-teknologian avulla. |
Rajapintamääritykset on versioitava ja ylläpidettävä versiohistoria määrittelydokumentissa. |
- |
Uusi versio ei saa häiritä vanhan version käyttäjiä. |
Palvelurajapinnoista voidaan ajaa useampaa eri versiota rinnakkain OSGI-teknologian avulla. |
Vanhat versiomääritykset on säilytettäva |
Versiomääritykset säilyvät versionhallinnassa. Jokainen julkaistu versio tagataan versionhallintaan. |
Rajapintapalveluissa tulee mahdollistaa tuoteversiointi ja vanhojen versioiden alasajo. |
Palvelurajapinnoista voidaan ajaa useampaa eri versiota rinnakkain. Käytäntönä voidaan pitää, että ylläpidetään tarvittaessa palvelusta kolmea versiota. Tällöin päivitykset voidaan tehdä hallitusti, koska päivityksillä on siirtymäaika. |
Palvelun käyttäjälle on oltava saatavissa muuttunut tieto. |
- |
Ratkaisun pitää sisältää päivitysrajapinnat. Päivitysten edellyttämä transaktioiden hallinta pitää huomioida. |
- |
Rajapintaskeemat tulisi kuvata omissa, erikseen ylläpidettävissä do- kumenteissaan. |
- |
Rajapintamääritysdokumenttien on löydyttävä keskitetystä paikasta (esim. Yhteentoimivuusportaali). |
- |
Kansainvälisyys, kieliversiot ja lokalisointi |
|
Rajapintapalveluiden tulee mahdollistaa sekä kansainvälisten että kansallisten palveluiden ja tietotuotemäärittelyjen rinnakkaisuuden |
Järjestelmässä on mahdollista muuntaa tietyn palvelun palauttama viesti toisen skeeman mukaiseksi. |
Muut vaatimukset (mm. taloudellisuus) |
|
Ratkaisun tulee kestää pitkälle tulevaisuuteen ja muutosten tullessa muutostöiden kustannukset/tehtävä tulee olla ratkaisua jo käyttäville minimaalinen. |
Palvelupohjaisessa arkkitehtuurissa lähtökohtana on moduulien ja palveluiden uudelleenkäytettävyys. Tämä vähentää tietojärjestelmien tekemiseen liittyviä kustannuksia tulevaisuudessa. |
|
|