9:30 - 12:00 kontekstinhallinta

33
SerAPI 9:30 - 12:00 Kontekstinhallinta Minimikontekstinhallinnan määrittely, versio 3 (alustus Mika Tuomainen, KuY) Alueellisen kontekstinhallinnan käyttö (alustus Tommi Rissanen, Mediconsult) Keskustelu Jatkotoimenpiteet: kontekstinhallinta versio 3 lausuntokierroksen käynnistys Taustamateriaali osoitteessa: www.centek.fi / serapi / mater /HL7cssig/

Upload: nani

Post on 18-Mar-2016

37 views

Category:

Documents


0 download

DESCRIPTION

9:30 - 12:00 Kontekstinhallinta. Minimikontekstinhallinnan määrittely, versio 3 (alustus Mika Tuomainen, KuY) Alueellisen kontekstinhallinnan käyttö (alustus Tommi Rissanen, Mediconsult) Keskustelu Jatkotoimenpiteet: kontekstinhallinta versio 3 lausuntokierroksen käynnistys - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 9:30 - 12:00 Kontekstinhallinta

SerAPI

9:30 - 12:00 Kontekstinhallinta

• Minimikontekstinhallinnan määrittely, versio 3 (alustus Mika Tuomainen, KuY)

• Alueellisen kontekstinhallinnan käyttö (alustus Tommi Rissanen, Mediconsult)

• Keskustelu • Jatkotoimenpiteet: kontekstinhallinta versio 3

lausuntokierroksen käynnistys• Taustamateriaali osoitteessa: www.centek.fi/

serapi/mater/HL7cssig/

Page 2: 9:30 - 12:00 Kontekstinhallinta

Minimikontekstinhallinnan määrittely, versio 3

Common Services SIG12.12.2005

Mika Tuomainen, Kuopion yliopisto

Page 3: 9:30 - 12:00 Kontekstinhallinta

SerAPI

Sisältö

• Pohjadokumentit• Minimikontekstinhallinnan määrittely, versio 3 -

lisäykset ja täydennykset– Yleisesti– CreateSession-metodi– Sessioavain– Tietoturva– Muita tarkennuksia– Alueellinen kontekstinhallinta

• Avoimet kysymykset

Page 4: 9:30 - 12:00 Kontekstinhallinta

SerAPI

Minimikontekstinhallinnan määrittely, versio 3

• olemassa olevien väliversio 2.1.1 ja tietoturvallisen soveltamisohjeen yhdistäminen

Tietoturvallinen kontekstinhallinta -soveltamisohje, v1

Minimikontekstinhallinnan määrittely, v3

Minimikontekstinhallinnan määrittely - organisaation sisäiseen käyttöön, väliversio 2.1.1

Page 5: 9:30 - 12:00 Kontekstinhallinta

SerAPI

Väliversion 2.1.1 jatkokehitysehdotukset

– Tietoturva -> esitetty tietoturvaratkaisu, jonka pohjana Tietoturvallinen kontekstinhallinta - soveltamisohje

– Työaseman identifioiminen myös sessioavaimen avulla -> lisätty uusi CreateSession -metodi, jolla voi pyytää koordinaattoria luomaan session ja palauttamaan sessioavaimen

Page 6: 9:30 - 12:00 Kontekstinhallinta

SerAPI

Väliversion 2.1.1 jatkokehitysehdotukset

– Alueellisen käytön tarpeiden huomioiminen -> alueellisesta käytöstä oma luku, joka pohjautuu Tietoturvallinen kontekstinhallinta - soveltamisohjeeseen

– Pollaukset ja aikakatkaisu -> ehdotettu esimerkki, kuinka voidaan toteuttaa nykyisten rajapintojen avulla

Page 7: 9:30 - 12:00 Kontekstinhallinta

SerAPI

Tietoturvallinen kontekstinhallinta -soveltamisohjeen jatkokehitysehdotukset

– Sessioavaimen luominen koordinaattorissa -> CreateSession-metodi

– Käyttäjätunnuksen yksilöllisyys alueellisessa käytössä -> huomioitu alueellinen kontekstinhallinta luvussa

Page 8: 9:30 - 12:00 Kontekstinhallinta

SerAPI

Sisältö

• Pohjadokumentit• Minimikontekstinhallinnan määrittely, versio 3 -

lisäykset ja täydennykset– Yleisesti– CreateSession-metodi– Sessioavain– Tietoturva– Muita tarkennuksia– Alueellinen kontekstinhallinta

• Avoimet kysymykset

Page 9: 9:30 - 12:00 Kontekstinhallinta

SerAPI

Minimikontekstinhallinnan määrittely, versio 3 - lisäykset

• Lisätty luku työpöytäintegraatiosta johdannoksi.• Lisätty CreateSession-metodi ContextManager-

rajapintaan ja päivitetty sen seurauksena vaikutukset dokumentin muihin kohtiin.

• Lisätty erillinen tietoturvaluku.• Lisätty erillinen luku alueellisesta kontekstinhallinnasta.

Page 10: 9:30 - 12:00 Kontekstinhallinta

SerAPI

• Aiemmin ollut yleisluku kontekstinhallinnan toiminnoista rajapintojen tekniikkariippumattoman kuvauksen yhteyteen.

• Käyttäjäsubjekti– suositus, ettei subjektin arvoissa käytetä erikoismerkkejä– lisätty tarkennusta, ettei koordinaattori vastaa

käyttäjätunnusten vastaavuustaulukoinnista

• Potilassubjekti– suositus, ettei subjektin arvoissa käytetä erikoismerkkejä

• Termi Context manager on korvattu läpi dokumentin termillä koordinaattori.

Minimikontekstinhallinnan määrittely, versio 3 - täydennykset

Page 11: 9:30 - 12:00 Kontekstinhallinta

SerAPI

Minimikontekstinhallinnan määrittely, versio 3 - täydennykset

• SetItemValues-metodi – kontekstitiedoille voidaan määritellä erilaisia sovelluskohtaisia

asetusoikeuksia toteutuskohtaisesti.

• GetItemValues-metodi– kontekstitiedoille voidaan määritellä erilaisia sovelluskohtaisia

hakuoikeuksia toteutuskohtaisesti.

• Rajapintojen eri virhetilanteita kuvattu metodien tarkemmin GeneralFailure kohtiin.

• Poistettu sessionhallinta-luku http-teknisistä määrityksistä ja liitetty se omaan sessionhallintalukuun.

• Kuvattu ratkaisua pollaukseen yleisellä tasolla.

Page 12: 9:30 - 12:00 Kontekstinhallinta

SerAPI

CreateSession-metodi: session ja sessioavaimen luominen

• inputs– optional string applicationName, – optional string hostAddress

• outputs– string sessionKey

• raises– GeneralFailure,– NotImplemented

Page 13: 9:30 - 12:00 Kontekstinhallinta

SerAPI

CreateSession-metodi: session ja sessioavaimen luominen

• CreateSession-metodin avulla sovellus voi pyytää kontekstinhallintapalvelulta sessioavaimen.

• Kontekstin luominen ja yksilöinti perustuu tällöin tähän sessioavaimeen.

• Koordinaattori luo kontekstin tällöin jo kun sovellus kutsuu metodia, ei vasta kun ensimmäinen sovellus liittyy kontekstinhallintaan.

• Metodin käyttö ei ole pakollista– sessioavaimen voi luoda myös ensimmäinen kontekstiin liittyvä

sovellus (esimerkiksi perusjärjestelmä) tai se voidaan luoda jossain muualla kuin koordinaattorissa.

• Jos sessioavain luodaan muualla kuin koordinaattorissa, on varmistuttava avaimen yksilöllisyydestä

Page 14: 9:30 - 12:00 Kontekstinhallinta

SerAPI

Sessioavain

• Sessioavainta tarvitaan työasemakohtaisen kontekstisession tunnistamiseen, jos työaseman ip-osoitetta ei voida käyttää työasemaa yksilöivänä tunnisteena.

• Sessioavaimen avulla voidaan toteuttaa tarvittaessa myös useita kontekstisessioita samalta työasemalta.

• Sessioavain välitetään kontekstipalvelimelle JoinCommonContext-metodissa sovelluksen liittyessä kontekstiin.

• Sessioavaimen on oltava vaikeasti arvattava ja yksilöitävä tiettyä kontekstia.

Page 15: 9:30 - 12:00 Kontekstinhallinta

SerAPI

Sessioavaimen välittäminen

• Minimikontekstinhallinnan määrittelyssä ei oteta kantaa, kuinka sessioavain saadaan välitettyä eri sovelluksille, jotka haluavat liittyä tiettyyn tietyllä sessioavaimella yksilöityyn kontekstisessioon

• (Alueellisen kontekstinhallinnan yhteydessä sessioavaimen välittäminen web-sovellukselle)

• Sessioavaimen välittäminen on ratkaistava toteutuskohtaisesti.

• Sessioavaimen välittäminen sitä tarvitseville muille sovelluksille voi olla esim. perusjärjestelmän vastuulla

Page 16: 9:30 - 12:00 Kontekstinhallinta

SerAPI

Tarkennukset kontekstiin liittymiseen

• JoinCommonContext-metodilla voi liittyä kontekstiin nyt seuraavilla parametreilla (applicationName aina pakollinen):

– hostAddress: kontekstisession yksilöinti perustuu työaseman ip-osoitteeseen.

– sessionKey: kontekstisession yksilöinti perustuu sessioavaimeen. – molemmat parametrit: sovellusten liittyminen kontekstiin voidaan

sallia molempien parametrien avulla. On huomioitava, että tämä lähestymistapa ei käy, jos samalta työasemalta on tarve käynnistää useita sessioita *

– ilman parametreja, jolloin kontekstisessio yksilöidään sovelluksen palvelukutsusta saatavan työaseman ip-osoitteen perusteella.

Page 17: 9:30 - 12:00 Kontekstinhallinta

SerAPI

* Molempien parametrien käyttäminen

– Ei käy, jos samalta työasemalta on tarve käynnistää useita sessioita.

– Tällöin on riski, että koordinaattori menee sekaisin, mihin sessioavaimella yksilöitävään kontekstisessioon sovellus pitäisi liittää-> hyödynnettäessä mahdollisuutta luoda useita sessioita samalta työasemalta, on aina käytettävä sessioavainta.

ip-osoite

sessioavain

ip-osoite

sessioavain1

sessioavain2

sessioavain3

Page 18: 9:30 - 12:00 Kontekstinhallinta

SerAPI

Tietoturvaratkaisu

• Ratkaistaan kontekstipalvelun ja siihen liittyvien sovellusten välistä tietoturvaa.

• Tietoturvaratkaisua voidaan käyttää niin organisaation sisäiseen kontekstinhallintaan kuin tilanteeseen, jossa kontekstinhallintaan on tarve liittyä organisaation ulkopuolelta.

• Myös mahdollisen alueellisti keskitetyn kontekstipalvelun ja siihen liittyvien järjestelmien välinen tietoturva voidaan toteuttaa tällä ratkaisulla.

Page 19: 9:30 - 12:00 Kontekstinhallinta

SerAPI

Tietoturva - kaksisuuntainen SSL

• Kontekstinhallinnan minimitoteutuksessa toteutettava tietoturva varmistetaan käyttämällä kaksisuuntaista SSL-protokollaa http-protokollan alla.

• SSL-tekniikalla kontekstipalvelun ja siihen liittyvät järjestelmät voivat varmistaa ja toteuttaa

– osapuolten identiteetit– tiedon eheyden– liikenteen salauksen

• Kontekstipalvelimen ja siihen liittyvien järjestelmien välinen http-liikenne on näin suojattua.

Page 20: 9:30 - 12:00 Kontekstinhallinta

SerAPI

Organisaationsisäinen kontekstipalvelin

Kontekstipalvelu

Web-selain(web-sovellus)

Työasemasovellus

SSL

SSL

Organisaationulkopuolinen järjestelmä

SSL

Web-palvelin

Page 21: 9:30 - 12:00 Kontekstinhallinta

SerAPI

Tietoturva - kaksisuuntainen SSL

• SSL:ssä käytettävät varmenteet ovat tässä ratkaisussa sovelluskohtaisia varmenteita.

• Ne siis yksilöivät tietyn sovelluksen. • Ne eivät yksilöi käyttäjää eivätkä työasemaa.• Organisaation sisäisen kontekstinhallinnan tietoturvan

yhdenmukaisessa ratkaisemisessa on ongelmana kahdenlaisten sovelluksien olemassaolo

– työasemasovelluksia – web-sovelluksia.

Page 22: 9:30 - 12:00 Kontekstinhallinta

SerAPI

Tietoturva - kaksisuuntainen SSL

• Web-sovellusten osalta – Varmennepohjainen ratkaisu OK palvelimien väliseen

liikenteeseen– Varmenteet tarvitsee jaella ainoastaan sovellusten web-

palvelimille.

• Työasemasovellusten osalta – Varmennepohjainen ratkaisu tarkoittaa varmenteiden jakelua

kaikille työasemalla oleville sovelluksille. – Tällöin ongelmaksi nousee varmenteiden ylläpito ja hallinnointi.

• Asia voidaan kiertää esimerkiksi toteuttamalla työasemasovelluksen ja kontekstipalvelimen välille välitysohjelma

Page 23: 9:30 - 12:00 Kontekstinhallinta

SerAPI

• Välitysohjelma toimii työasemasovelluksen ja kontekstipalvelun välissä.

• Välitysohjelman toteuttaminen sovelluskohtaista ja tämän määrityksen ulkopuolella, tämä mukana määrityksessä esimerkkinä.

Työpöytä

Web-palvelin

Kontekstipalvelu

Web-selain(web-sovellus)

21

Työasemasovellus

Server

AdapteriVälitys-ohjelma

Page 24: 9:30 - 12:00 Kontekstinhallinta

SerAPI

Tietoturva - muita huomioitavia kohtia

• Kontekstin luominen CreateSession-metodilla,– määriteltävä koordinaattorille, mikä sovellus saa luoda

• Kontekstin luominen liityttäessä kontekstiin JoinCommonContext-metodilla

– määriteltävä koordinaattorille, mikä sovellus saa luoda

• Kontekstiin liittyminen– määriteltävä koordinaattorille, mikä sovellus saa liittyä

• Käyttäjätunnuksen asettaminen kontekstiin & luotettu sovellus

– määriteltävä koordinaattorille, mikä sovellus saa asettaa käyttäjätunnuksen kontekstiin

• Em. kohtien määrittely ratkaistava toteutuskohtaisesti

Page 25: 9:30 - 12:00 Kontekstinhallinta

SerAPI

Tietoturva - muita huomioitavia kohtia

• Sessioavain välitettävä turvallisesti• Sessioavaimen yksilöllisyys, varsinkin tilanteessa, jossa

sessioavaimen on voinut luoda muualla kuin kontekstipalvelusta pyytämällä

• Kontekstin tuhoaminen– kun viimeinenkin sovellus eroaa kontekstista– käyttäjäkontekstin poisto suositeltavaa, kun luotettu sovellus

eroaa kontekstista

• Subjektikohtaiset oikeudet hakea ja asettaa kontekstietoja voidaan määritellä toteutuskohtaisesti, jos katsotaan tarpeelliseksi

– huom. käyttäjäsubjekti

Page 26: 9:30 - 12:00 Kontekstinhallinta

SerAPI

Käyttäjä- ja potilassubjekti -erotinmerkit

• Erotinmerkkien osalta on huomioitava yhteensopivuus minimikontekstihallinnan määrittelyn eri versioiden kohdalla.

• Minimikontekstinhallinnan versioissa 1, 2 ja 2.1 on Id-tietojen tietotyypiksi kuvattu ainoastaan string, jota ei ole tarkemmin kuvattu.

• Ei aiheudu ongelmaa (?), sillä on epätodennäköistä, että käyttäjätunnus tai potilastunnus (User.Id.Logon, Patient.Id.NationalIdNumber) pitäisi sisällään erotinmerkkejä (|, ^, &, ~, \ )

• Suositus, että User.Id.Logon ja Patient.Id.NationalIdNumber ei saa sisältää erotinmerkkejä

Page 27: 9:30 - 12:00 Kontekstinhallinta

SerAPI

Käyttäjäsubjekti -käyttäjätunnukset• Liittyvien ohjelmien on huolehdittava itse

kontekstinhallintaan asettamiensa käyttäjätunnusten yksilöllisyydestä ja muiden järjestelmien kontekstinhallintaan asettamien käyttäjätunnusten tunnistamisesta.

• Minimitason kontekstinhallintaratkaisussa koordinaattori ei huolehdi käyttäjän eri käyttäjätunnusten vastaavuustaulukoinnista (mappaus).

• Etuna käyttäjätunnusten mappauksen tarpeettomuus kontekstinhallinnassa.

• Tosin mappaus jää järjestelmien omalle vastuulle.

Page 28: 9:30 - 12:00 Kontekstinhallinta

SerAPI

SetItemValues ja GetItemValues

• SetItemValues-metodi – maininta, että kontekstitiedoille voidaan määritellä

koordinaattorissa erilaisia sovelluskohtaisia asetusoikeuksia toteutuskohtaisesti (huom. käyttäjätunnuksen asetukseen oltava tietty ennalta määrätty sovellus).

• GetItemValues-metodi– maininta, että kontekstitiedoille voidaan määritellä

koordinaattorissa erilaisia sovelluskohtaisia hakuoikeuksia toteutuskohtaisesti.

Page 29: 9:30 - 12:00 Kontekstinhallinta

SerAPI

Pollaus - ongelmat

• Palvelinpohjaisessa ratkaisussa on otettava huomioon seuraavat kaksi web-tekniikasta seuraavaa ongelmaa:1. Mikäli kontekstinhallintapalvelussa on ongelmia, esim. palvelu

itse kaatunut, palvelin on kaatunut, on sovelluksen osattava toimia ilman kontekstinhallintaa.

2. Mikäli kontekstinhallintaan liittyneessä sovelluksessa on ongelmia, esim. web-palvelimella oleva sovellus on kaatunut tai palvelin on kaatunut, muodostuu ongelmaksi kontekstinhallintapalveluun roikkumaan jäävät turhat sovellukset. Kontekstinhallintapalvelu mahdollisesti olettaa, että kontekstia pitää vielä pitää yllä, koska kaikki sovellukset eivät ole eronneet kontekstinhallinnasta.

Page 30: 9:30 - 12:00 Kontekstinhallinta

SerAPI

Pollaus - yksi ratkaisuesimerkki

• Yksi keino ensimmäisen ongelman ratkaisuun on toteutettavissa nykyisillä metodeilla:

– Sovellus kutsuu esim. GetItemValues-metodia ja jos kontekstipalvelin vastaa kutsuun, voi sovellus varmistua sen toiminnasta.

• Toinen ongelma on ratkaistavissa aikakatkaisulla:– Kontekstinhallintaan määritellään sovellukselle aikaleima,

jonka voimassaoloa kontekstipalvelin tarkistaa. – Jos sovelluksen palvelulle lähettämien kyselyjen välillä kuluu

enemmän aikaa kuin sille on määritelty aikakatkaisuksi, voidaan sovellus katsoa suljetuksi ja poistaa kontekstinhallinnasta.

Page 31: 9:30 - 12:00 Kontekstinhallinta

SerAPI

Alueellinen kontekstinhallinta

• oma luku dokumentin viimeisenä kappaleena• käydään läpi, mitä erityisesti huomioitava

alueellisessa käytössä• jätetäänkö luku tähän dokumenttiin vai omaksi

erilliseksi dokumentiksi?• Tommi Rissanen käy tarkemmin läpi

Page 32: 9:30 - 12:00 Kontekstinhallinta

SerAPI

Sisältö

• Pohjadokumentit• Minimikontekstinhallinnan määrittely, versio 3 -

lisäykset ja täydennykset– Yleisesti– CreateSession-metodi– Sessioavain– Tietoturva– Muita tarkennuksia– Alueellinen kontekstinhallinta

• Avoimet kysymykset

Page 33: 9:30 - 12:00 Kontekstinhallinta

SerAPI

Avoimet kysymykset

• CreateSession -metodin käytön vapaaehtoisuus / pakollisuus

• Sessioavaimen välitys– voidaanko ratkaista yhdenmukaisella tavalla– web-sov ok, esim. alueellisessa kontekstinhallintaratkaisussa

kuvatulla tavalla– työasemasovelluksille?

• Alueellinen kontekstinhallinta mukaan tähän dokumenttiin?

– nyt on mukana– jatkossa erilliseen soveltamisohjeeseen

• Muuta