Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Kontekstinhallinta Päivitetty

Samankaltaiset esitykset


Esitys aiheesta: "Kontekstinhallinta Päivitetty"— Esityksen transkriptio:

1 Kontekstinhallinta Päivitetty 12.9.2005
Lisätty tietoturvalliseen kontekstinhallintaan liittyvät kohdat. Mika Tuomainen

2 Sisältö Työpöytäintegraatio CCOW-standardi
Miksi CCOW ei käynyt suoraan? Minimikontekstinhallinnan määrittely Tietoturvallinen kontekstinhallinta Poikkeavuudet CCOW:sta Määrittelyiden versiot Tukimateriaalit SerAPI

3 Työpöytäintegraatio SerAPI

4 Työpöytäintegraatio potilastiedot ovat useissa eri järjestelmissä
käyttäjän työasemalla on usein tarpeellista olla käynnissä yhtäaikaisesti useita eri sovelluksia järjestelmien välillä ei ole riittävästi yhteistoiminnallisuutta lääkärin tai muun hoitohenkilökunnan täytyy erikseen kirjautua sisään kuhunkin järjestelmään ja hakea esimerkiksi potilaan tiedot erikseen joka järjestelmään käyttäjä joutuu näin tekemään useita samankaltaisia toimintoja eri järjestelmiin. SerAPI

5 Työpöytäintegraatio työpöytäintegraation tarkoitus on tuoda apua tähän ongelmaan se määrittelee yleisen mallin työasemalla toimivien sovellusten työpöytälähtöisen visuaalisen integroinnin toteuttamiseen. työpöytäintegraation tavoitteena on helpottaa erillisten järjestelmien yhtäaikaista käyttöä ja parantaa näin käyttäjän työprosesseja sekä tehdä järjestelmien käytöstä paremmin työnkulkua tukevia SerAPI

6 Työpöytäintegraatio keinoina kertakirjautuminen ja yhteiseen kontekstiin siirtyminen kertakirjautuminen (single sign-on) käyttäjän tarvitsee kirjautua vain kerran yhteen järjestelmään. muut työpöytäintegraatioon kytketyt sovellukset kykenevät käyttämään hyväksi tätä kirjautumistietoa, näin niihin tarvitse kirjautua erikseen. yhteiseen kontekstiin siirtyminen käyttäjälle tarjotaan automaattinen tai helppo siirtyminen samaan potilaaseen tai muuhun käsiteltävänä olevaan asiaan eri järjestelmissä näin käyttäjän tarvitsee syöttää esimerkiksi potilaan tunnus ja hakea haluamansa potilaan tiedot vain yhteen järjestelmään. muut järjestelmät osaavat työpöytäintegraatiota hyödyntäen hakea saman potilaan tiedot potilastunnuksen perusteella ilman erillistä potilastunnusten syöttämistä. SerAPI

7 Työpöytäintegraatio HUOM. tärkeää kuitenkin huomata, että työpöytäintegraatio ei poista sovelluksissa olevaa päällekkäistä tietoa MUTTA helpottaa ja tehostaa merkittävästi käyttötilanteita, joissa sama käyttäjä joutuu käyttämään useita sovelluksia samanaikaisesti helpottaa erillisten järjestelmien yhtäaikaista käyttöä käyttäjälle enemmän aikaa varsinaiseen työhön turhan toiston poistuttua mahdollisuus esimerkiksi väärän potilaan käsittelemiseen potilastunnuksen syöttövirheen johdosta pienenee ja näin voidaan varmistua, että ollaan käsittelemässä samaa potilasta eri järjestelmissä. SerAPI

8 Työpöytäintegraation käsitteet
Yhteinen konteksti (common context) muodostuu joukosta yhteisiä tietoja ja käsitteitä (entiteettejä, entities), joita eri järjestelmät voivat käsitellä samalla tavalla järjestelmien sisäisestä toteutuksesta riippumatta yhteisten entiteettien merkityksen on oltava sama kaikissa järjestelmissä esimerkiksi käyttäjän ja asiakkaan (terveydenhuollossa potilaan) tunnistetiedot myös muut mahdolliset tiedot ja käsitteet, joilla on sama merkitys eri järjestelmissä, voivat kuulua yhteiseen kontekstiin. SerAPI

9 Työpöytäintegraation käsitteet
Esim. Nimi = Patient.Co.Name Arvo = Meikäläinen^Matti Context Item Nimi = Patient.Co.Sex Arvo = M Potilassubjekti Käyttäjäsubjekti Context Items Konteksti SerAPI

10 Työpöytäintegraation käsitteet
Kontekstinhallinta (context management) käytetään usein työpöytäintegraation synonyymina kontekstinhallinta pitää sisällään tekniikat ja keinot, joilla työpöytäintegraatio voidaan toteuttaa kontekstinhallinta-arkkitehtuurin muodostavat siihen kuuluvat kontekstia käsittelevät tai hyödyntävät olemassa olevat järjestelmät, koordinaattori-komponentti sekä mahdolliset agenttikomponentit SerAPI

11 Työpöytäintegraation käsitteet
Kontekstinhallinta (context management) Koordinaattori- komponentti Järjestelmä 1 Järjestelmä 3 Järjestelmä 2 Agentti- SerAPI

12 Työpöytäintegraation käsitteet
Koordinaattori-komponentti (context manager) toimii työpöydällä olevien järjestelmien näkymättömänä koordinaattorina ohjelmistokomponentti, joka ylläpitää ja koordinoi käsiteltävää kontekstia sekä yhteyksiä sovelluksiin koordinaattori-komponentin avulla siihen liittyneet sovellukset voivat jakaa keskenään yhteistä kontekstia ( = yhteisen kontekstin synkronointi) SerAPI

13 Työpöytäintegraation käsitteet
Agenttikomponentit voidaan yhdistää eri sovellusten samaa entiteettiä tarkoittavat tiedot huolimatta entiteettien eri arvoista eri järjestelmissä esimerkiksi käyttäjällä voi olla eri käyttäjätunnus eri sovelluksissa. Agenttikomponentin avulla käyttäjän yhden järjestelmän käyttäjätunnuksen perusteella voidaan kontekstiin asettaa myös käyttäjän muissa sovelluksissa käyttämät erilaiset käyttäjätunnukset näin huolimatta eri käyttäjätunnuksista eri järjestelmissä, kertakirjautuminen voidaan toteuttaa SerAPI

14 Työpöytäintegraation käsitteet
Järjestelmät organisaatiossa jo olemassa olevia järjestelmiä. Koordinaattori-komponenttiin liitetyt järjestelmät eivät tiedä toisistaan, ne kommunikoivat ainoastaan koordinaattorin kanssa Työpöydällä (desktop) tarkoitetaan käyttäjän yhden työaseman kuvaruudulla näkyvää käyttöliittymän työaluetta SerAPI

15 CCOW-standardi SerAPI

16 CCOW-standardi CCOW (Clinical Context Object Workgroup)
kansainvälisen HL7-yhdistyksen ylläpitämä standardi terveydenhuollon työpöytäintegraatioon uusin versio määrittelystä tällä hetkellä 1.5 viisi eri versiota (1.0 – 1.5) Version 1.0 represent the official ANSI-approved versions, last modified May 24, 1999. Version 1.1 official ANSI-approved versions, posted as Feb 23, 2000. Version 1.2 official ANSI-approved versions, posted as Dec 5, 2000. Version 1.3 official ANSI-approved versions, posted as March 13, 2001. Version 1.4 official ANSI-approved versions, posted as February 28, 2002. Version 1.5 official ANSI-approved version, posted May 2004. SerAPI

17 CCOW-standardi 200 pgs 40 pgs 15 pgs COM Windows/Browser
Technology Neutral Context Management Architecture Technology Specific User Interface Windows/Browser (Swing) (other) COM Web (CORBA) Technology Specific Component Mapping Technology-Neutral Subject Data Defn’s 200 pgs 15 pgs 40 pgs 30 pgs Health Level Seven, 2001 SerAPI

18 CCOW-standardi kuvaa roolit ja vastuut kontekstinhallinta-arkkitehtuurin komponenteille määrittelee yksiselitteisen tietosisällön (kontekstin) määrittelee rajapinnat komponenttien väliseen kommunikointiin ei määrää komponenttien implementaatiota SerAPI

19 CCOW-standardi arkkitehtuuri koostuu
Context Manager Mapping Agent Annotation Agent CCOW arkkitehtuuri koostuu Sovellukset: mikä tahansa web- tai Windows-pohjainen sovellus Context Manager: koordinoi näkymättömissä integraatioon liitettyjä sovelluksia, pitää yllä kontekstia Mapping Agent & Annotation Agent: yhdenmukaistavat eri sovellusten samaa tarkoittavia tietoja Morwood, 2001 SerAPI

20 CCOW-ratkaisun toiminta
kun yhdessä sovelluksessa vaihdetaan käyttäjää ja käsiteltävää potilasta -> muut context manageriin liittyneet sovellukset vaihtavat samaan käyttäjään ja näyttävät saman potilaan tietoja taustalla monivaiheinen prosessi, jossa ensin asetetaan uusi konteksti ehdolle context manageriin sitten context manager ehdottaa uutta kontekstia kaikille context manageriin liittyneille sovelluksille sovellukset voivat joko hyväksyä tai hylätä kontekstin muutoksen jos ongelmia, niistä ilmoitetaan käyttäjälle ja käyttäjä päättää miten edetään (vaihdetaanko konteksti vai tehdäänkö jotain muuta, esim. tallennetaan tallentamattomat tiedot) jos kaikki ok, sovellukset hakevat uudet kontekstitiedot context mangerilta ja päivittävät tilansa vastaamaan uuden kontekstin sisältöä SerAPI

21 CCOW - Kontekstinhallinnan toiminta
Context Manager Mapping Agent Annotation Agent CCOW Käyttäjä asettaa kontekstin käyttäen jotain integraation kytkettyä sovellusta 1) Morwood, 2001 SerAPI

22 CCOW - Kontekstinhallinnan toiminta
Context Manager Mapping Agent Annotation Agent CCOW Sovellus ilmoittaa Context Managerille, että se haluaa asettaa kontekstin 2) Morwood, 2001 SerAPI

23 CCOW - Kontekstinhallinnan toiminta
Context Manager Mapping Agent Annotation Agent CCOW Sovellus asettaa kontekstia identifioivan tunnisteen Context Managerille Vaiheet 1-3 = uuden kontekstin ehdottaminen 3) Morwood, 2001 SerAPI

24 CCOW - Kontekstinhallinnan toiminta
Context Manager Mapping Agent Annotation Agent CCOW Context Manager ilmoittaa agenteille, että uusi konteksti on asetettu 4) Morwood, 2001 SerAPI

25 CCOW - Kontekstinhallinnan toiminta
Context Manager Mapping Agent Annotation Agent CCOW Context Manager ilmoittaa muille integraatioon kytketyille sovelluksille, että konteksti on muuttunut 5) 5) Morwood, 2001 SerAPI

26 CCOW - Kontekstinhallinnan toiminta
Context Manager Mapping Agent Annotation Agent CCOW Jokainen sovellus ilmaisee Context Managerille, onko se halukas muutokseen Vaiheet 4-6 = kartoitusvaihe = onko kaikille sovelluksille kontekstinmuutos OK 6) 6) Morwood, 2001 SerAPI

27 CCOW - Kontekstinhallinnan toiminta
Context Manager Mapping Agent Annotation Agent CCOW Kontekstin vaihtoa ehdottaneelta sovellukselta voidaan vielä varmistaa vaihdetaanko konteksti (lähinnä tilanteessa, jossa joku sovellus ei ole halukas vaihtamaan kontekstiaan ehdotettuun) 7) Morwood, 2001 SerAPI

28 CCOW - Kontekstinhallinnan toiminta
Context Manager Mapping Agent Annotation Agent CCOW Jokainen sovellus hakee tunnisteen Context Managerilta 8) 8) Morwood, 2001 SerAPI

29 CCOW - Kontekstinhallinnan toiminta
Context Manager Mapping Agent Annotation Agent CCOW 9) Kukin sovellus sopeuttaa sisäsäisen tilansa ja näyttää tiedot kontekstin mukaisesti 9) Vaiheet 7 – 9 = suoritusvaihe Morwood, 2001 SerAPI

30 Miksi CCOW-standardia ei hyödynnetty suoraan?
SerAPI

31 Miksi CCOW ei käynyt suoraan?
kokonaisuudessaan CCOW-standardin mukainen toteutus koettiin liian raskaaksi tavaksi toteuttaa integraatiota ei kotimaisia toteuttajia täydelliselle CCOW-standardin mukaiselle ratkaisulle täydelliselle CCOW-standardin mukaiselle ratkaisulle ei ole kuin muutama ulkomaalainen tuote epävarmuustekijänä kontekstinhallintaympäristön hinnoittelu sekä mahdollinen riippuvaisuus toimittajasta. ulkomainen toteuttaja ei kiinnostunut P-S shp:n nimissä tarjouspyyntö Sentillionin Vergence tuotteesta ei vastausta tarjouspyyntöön.. SerAPI

32 Miksi CCOW ei käynyt suoraan?
kontekstin välittäminen järjestelmien kesken ei saanut välttämättä olla automaattista, vaan kontekstin vaihtamisen haluttiin tapahtuvan käyttäjän toiminnosta tarpeet Suomessa olivat vain tietojen vienti kontekstivarastoon ja niiden haku sieltä, eikä kontekstin vaihtumiseen tarvittu näin automatiikkaa näin keskeisin vaadittava toiminnallisuus oli saavutettavissa kevyemmälläkin ratkaisulla kuin CCOW-standardin mukaisesti SerAPI

33 Minimikontekstinhallinnan määrittely
SerAPI

34 Minimikontekstinhallinnan määrittely
työpöytäintegraation soveltamiseksi Suomessa PlugIT-hankkeessa alettiin määritellä kevyempää ratkaisua ratkaisun pohjana käytettiin CCOW-standardissa määriteltyä työpöytäintegraation toteuttamista tavoitteena oli hahmottaa minimiratkaisua, jolla CCOW-tyyppinen toiminnallisuus olisi saavutettavissa standardista pyrittiin löytämään vain kaikkein olennaisimmat ja hyödyllisimmät osat, joilla työpöytäintegraation perustoiminnallisuus, käyttäjä- ja potilaskontekstin käsittely, voitaisiin toteuttaa SerAPI

35 Minimikontekstinhallinnan määrittely
käytännössä toteutus on palvelinpohjainen tietovarasto, johon kukin kontekstinhallinnan piiriin kuuluva sovellus voi tehdä tietojen hakuja ja päivityksiä palvelinpohjaisuuden etuna on, että kontekstinhallinta saadaan toimimaan eri tekniikoilla toteutettujen järjestelmien kesken käyttäjälähtöisyys ei automaattista kontekstin vaihtamista yksinkertaistaa kontekstinhallinnan toteuttamista SerAPI

36 Minimikontekstinhallinnan määrittely
määrittelyn avulla mahdollista toteuttaa kertakirjautuminen yhteiseen kontekstiin siirtyminen (kontekstin synkronointi) helpottaa erillisten järjestelmien yhtäaikaista käyttöä tehostaa käyttötilanteita, joissa sama käyttäjä joutuu käyttämään useita sovelluksia samanaikaisesti käyttäjälle enemmän aikaa varsinaiseen työhön turhan toiston poistuttua SerAPI

37 Minimikontekstinhallinnan määrittely
yksinkertaistaa kontekstinhallinnan toteutusta: osallistuvien sovellusten ei tarvitse toteuttaa rajapintoja (CCOW-standardin ContextParticipant), koska context manager ei koskaan kutsu sovelluksia context managerin tarvitsee toteuttaa vain kontekstinhallintaan liittymisessä tarvittavat join / leave ja kontekstin tietosisällön käsittelyssä tarvittavat get/set tyyppiset metodit rajapinnassaan kartoitusvaihetta (survey phase) ei tarvitse suorittaa, mikä yksinkertaistaa context manager komponentin toteutusta huomattavasti context manager pitää yllä vain yhtä viimeisimmäksi asetettua kontekstia SerAPI

38 Minimikontekstinhallinta
- tietosisältö Nimeämiskäytäntö sama kuin CCOW-standardissa Subject_label.role.Name_prefix.optional_name_suffix Subject_label: Ilmaisee subjektin, johon tieto kuuluu, esim. Patient. role: Kertoo tiedon ”roolin”: Id, Co, An Name_prefix: Ilmaisee mitä tieto tarkoittaa, esimerkiksi Logon (= kirjautumistieto) Optional_name_suffix: Tämä ei ole pakollinen kenttä. Suffix-osan avulla on mahdollista esimerkiksi erottaa eri järjestelmien käyttämät subjektit, jos niiden arvot poikkeavat toisistaan SerAPI

39 Minimikontekstinhallinta
- tietosisältö Määrittelee yhteisen kontekstin (tietosisällön) Potilassubjekti nimeäminen: Patient.Id.NationalIdNumber arvo: hetu Käyttäjäsubjekti nimeäminen: User.Id.Logon arvo: geneerinen id käyttäjätunnuksen mappaus sovelluksissa SerAPI

40 Minimikontekstinhallinta
- tietosisältö Custom subject jos tarvittavaa subjektia/kontekstitietoa ei löydy standardista/määrittelystä, määritellään itse erottimena avainsana (organisaation W3C domain-nimi) yhteisissä kansallisissa [hl7.fi], löytyvät tulevaisuudessa kansalliselta palvelimelta custom subject esimerkit [plugit.fi]DateRange, uusi subjekti Patient.Co.[plugit.fi]Current_medications, uusi tieto [plugit.fi]DateRange.Id. [plugit.fi]StartDate, uusi subjekti ja tälle uusi tieto SerAPI

41 Minimikontekstinhallinta
- kontekstidatan tietotyypit kontekstidatan tietotyypit mukaan määrittelyihin väliversioon 2.1.1 aiemmin tietotyyppejä ei oltu määritelty tarkasti minimikontekstinhallinnan kontekstidatan arvoissa käytetään samoja HL7 rakenteisia tietotyyppejä kuin CCOW-standardissakin SerAPI

42 Minimikontekstinhallinta
- kontekstidatan tietotyypit HL7 rakenteiset tietotyypit, joita käytetään CCOW-standardissa (HL7 version 2.4 mukaiset) Data Type Data Type Name HL7 Section Reference CX Extended composite ID with check digit 2.9.12 EI Entity Identifier 2.9.17 HD Hierarchic Designator 2.9.21 ID Code Value for HL7-Defined Table 2.9.22 IS Coded Value For User Defined Table 2.9.23 ST String 2.9.43 NM Numeric 2.9.28 XPN Extended Person Name 2.9.54 XAD Extended Address 2.9.51 XTN Extended Phone Number 2.9.55 DLN Driver’s License Number 2.9.13 DT Date 2.9.15 TS Time Stamp 2.9.47 SerAPI

43 Minimikontekstinhallinta
- kontekstidatan tietotyypit HL7 rakenteisten tietotyyppien käyttö edellyttää erotinmerkkien käyttämistä tiedon eri osien erottamiseen. CCOW-standardissa on mainittu sallituiksi erotinmerkeiksi ainoastaan merkit |, ^ ja &. Nämä erotinmerkit on kuvattu HL7 version 2.4-dokumentissa, minimimäärittelyyn mukaan myös ~ ja \ erotinmerkit on koodattava escape-sekvensseillä: aina, kun merkit ovat datana ST tietotyypissä (User.Id.Logon, Patient.Id.NationalIdNumber) silloin, kun merkit ovat muissa tietotyypeissä rakenteisen tiedon arvoina, eivät erottimina rakenteisessa tiedossa. SerAPI

44 Minimikontekstinhallinta
- kontekstidatan tietotyypit Jotta rakenteisessa datassa olevat erotinmerkit eivät menisi sekaisin datassa olevien vastaavien erikoismerkkien kanssa, on datassa olevat erikoismerkit koodattava escape-sekvensseillä. \H\ start highlighting \N\ normal text (end highlighting) \F\ field separator ( | ) \S\ component separator ( ^ ) \T\ subcomponent separator ( & ) \R\ repetition separator ( ~ ) \E\ escape character ( \ ) \Xdddd...\ hexadecimal data \Zdddd...\ locally defined escape sequence 12|12| \F\12\F\12 12^12^12 12\S\12\S\12 12&12&12 12\T\12\T\12 12~12~12 12\R\12\R\12 SerAPI

45 Minimikontekstinhallinta
- kontekstidatan tietotyypit User.Id.Logon ja Patient.Id.NationalIdNumber ST-tietotyyppejä jos otetaan kontekstitietomäärittelyjä suoraan CCOW-standardista --> käytettävä niihin määriteltyjä tietotyyppejä jos määritellään omia custom subjekteja --> niille on määriteltävä HL7 tietotyyppi SerAPI

46 Minimikontekstinhallinta
- rajapinnat seuraavat CCOW-standardin rajapinnat riisuttuina versioina ContextManager-rajapinta: kontekstinhallintaan liittyminen ja siitä eroaminen ContextData-rajapinta: kontekstin tietojen käsittely SerAPI

47 Minimikontekstinhallinta
- rajapinnat ContextManager JoinCommonContext (kontekstinhallintaan liittyminen) inputs(string applicationName) outputs(long participantCoupon) LeaveCommonContext (kontekstinhallinnasta eroaminen) inputs(long participantCoupon) outputs() SerAPI

48 Minimikontekstinhallinta
- rajapinnat ContextData SetItemValues (tietojen asettaminen kontekstiin) inputs (long participantCoupon, string[ ] itemNames, string[ ] itemValues) outputs () GetItemValues (tietojen hakeminen kontekstista) inputs (long participantCoupon, string[ ] itemNames) outputs (string[ ] itemValues) SerAPI

49 Minimikontekstinhallinta
- työpöydän/sovelluksen identifiointi sovelluksen identifiointi: applicationName: sovelluksen nimi. Sovelluksen nimen avulla sovellus tunnistautuu context manager-komponentille. Nimen avulla voidaan myös kertoa etukäteen context managerille, mitkä sovellukset voivat osallistua yhteiseen kontekstiin participant coupon: tunnus, jonka context manager-komponentti antaa sovellukselle sen liittyessä kontekstinhallintaan. Parametri yksilöi kontekstiin osallistuvan sovelluksen ja sovelluksen on käytettävä sitä jatkossa ollessaan yhteydessä context manageriin SerAPI

50 Minimikontekstinhallinta
- työpöydän/sovelluksen identifiointi työaseman identifiointi: työaseman ip / työaseman tunnus: tarvitaan työaseman tunnistamiseen, kun context manager on palvelimella (web/http-määrittely) sessioavain (versiosta lähtien): tarvitaan työaseman tunnistamiseen, jos context manager on palvelimella ja työaseman ip-osoitetta ei voida käyttää työasemaa yksilöivänä tunnisteena. Sessioavaimen avulla voidaan toteuttaa tarvittaessa myös useita sessioita samalta työasemalta. SerAPI

51 Minimikontekstinhallinta
- rajapintojen käyttö SerAPI

52 Minimikontekstinhallinta
- web/http tekninen määrittely viestinvälitys http-viesteillä (request, response) mallina CCOW-standardin tapa muodostaa http-viestit huomioitu työaseman tunnistaminen pollaukset SerAPI

53 Minimikontekstinhallinta
- http-viestien muodostaminen Kutsuttavan komponentin URL Kutsuttava rajapinta Kutsuttava metodi Kutsun parametrit JoinCommonContext&applicationName=LoginMaster Kutsu: Vastaus: participantCoupon= SerAPI

54 Minimikontekstinhallinta
-työaseman tunnistaminen palvelinpohjaisessa kontekstinhallinnassa työasemakohtaisen kontekstin identifiointiin käytetään joko työaseman ip-osoitetta tai sessioavainta (versiosta lähtien) IP-osoite työasemasovelluksen ip-osoite mahdollista saada sovelluksen kontekstipalvelimelle lähettämästä kutsusta web-sovelluksen ip-osoite välitettävä kontekstipalvelimelle aiemmin web-sovelluksille JoinCommonContextWithIp, jossa työaseman ip-osoite välitettiin parametrina nyt JoinCommonContext valinnaisilla parametreilla (ks. edellinen taulukko), joissa ip-osoite (hostAddress) voi olla yhtenä parametrina SerAPI

55 Minimikontekstinhallinta
-työaseman tunnistaminen palvelinpohjaisessa kontekstinhallinnassa sessioavain sessioavainta tarvitaan työaseman tunnistamiseen, jos context manager on palvelimella ja työaseman ip-osoitetta ei voida käyttää työasemaa yksilöivänä tunnisteena (NAT-osoitteet) sessioavain välitetään kontekstipalvelimelle JoinCommonContext-kutsussa sessionKey-parametrilla määrittelyssä ei oteta kantaa kuinka sessioavain luodaan ja saadaan välitettyä eri sovelluksille, nämä on ratkaistava toteutuskohtaisesti (sessioavaimen voi luoda esim. ydinjärjestelmä ja sen vastuulla on tällöin myös sessioavaimen välittäminen sitä tarvitseville muille sovelluksille, ks. myöhemmin esimerkki sovelluksen avauksesta) sessioavaimen avulla voidaan toteuttaa tarvittaessa myös useita sessioita samalta työasemalta SerAPI

56 Minimikontekstinhallinta
-työaseman tunnistaminen palvelinpohjaisessa kontekstinhallinnassa JoinCommonContext-metodilla voi näin liittyä kontekstiin joko hostAddress-parametrilla (ip-osoite), sessionKey-parametrilla tai ilman valinnaisia parametreja jos kutsussa annetaan sekä sessionKey että hostAddress, voidaan toteutuskohtaisesti valita kontekstin tunnistamiseen kumpi tahansa. jos parametria ei anneta lainkaan, yksilöidään työasema kutsusta saatavan ip-osoitteen perusteella (siis lähinnä työasemasovelluksen) sessioavaimen luontia varten kontekstipalvelimeen suunnitteilla metodi (esim. CreateSession), jota kontekstin luova sovellus (luotettu sovellus) kutsuisi ennen JoinCommonContext-metodia, metodin paluuarvona sessioavainc SerAPI

57 Minimikontekstinhallinta
-pollaukset palvelinpohjaisessa kontekstinhallinnassa Palvelinpohjaisessa ratkaisussa on otettava huomioon seuraavat kaksi web-tekniikasta seuraavaa ongelmaa: Mikäli kontekstinhallintapalvelussa on ongelmia, esim. itse palvelu kaatunut, on sovelluksen osattava toimia ilman kontekstinhallintaa Mikäli kontekstinhallintaan liittyneessä sovelluksessa on ongelmia, esim. web-palvelimella oleva sovellus on kaatunut, muodostuu ongelmaksi kontekstinhallintapalveluun roikkumaan jäävät turhat sovellukset ensimmäiseen ratkaisu kutsua GetItemValues-metodia, jos kontekstinhallintapalvelu vastaa kutsuun, voi sovellus varmistua sen toiminnasta toisessa kontekstipalvelimeen on määriteltävä aikaleima, johon kontekstin voimassaolo perustuu SerAPI

58 Minimikontekstinhallinta
- turvallisuus minimikontekstinhallinnan määrittelyissä oletetaan lähtökohtaisesti, että kontekstinhallintaa toteutetaan sisäverkossa, jossa paikallinen verkko ja työasemat ovat tiukasti kontrolloituja vaatimuksia käyttäjäkontekstin asettamisen osalta turvallisuuden ratkaisu toteutuskohtaista alueellisen tarpeen myötä alettiin määritellä kontekstinhallinnan tietoturvaratkaisua -> Tietoturvallinen kontekstinhallinta - soveltamisohje HL7 dokumenttiarkistoon SerAPI

59 Tietoturvallinen kontekstinhallinta
-soveltamisohje SerAPI

60 Tietoturvallinen kontekstinhallinta
Tietoturvallinen kontekstinhallinta - soveltamisohje Kontekstipalvelimen ja siihen liittyvien järjestelmien välinen tietoturva toteutetaan kaksisuuntaisella SSL:llä kaksisuuntaisella SLL:llä kontekstipalvelin ja siihen liittyvät järjestelmät voivat varmistaa toistensa identiteetit kontekstitiedon eheyden sekä toteuttaa tietojen salauksen SerAPI

61 Tietoturvallinen kontekstinhallinta
SSL-varmenteet sovelluskohtaisia web-sovelluksissa palvelinvarmenteiden käyttö yksinkertaista työasemasovelluksien osalta varmenteiden jakelu ja hallinnointi hankalaa voidaan kiertää esim. väliohjelmiston avulla SerAPI

62 Tietoturvallinen kontekstinhallinta
Minimikontekstinhallinnan tietoturva -soveltamisohjeessa mukana ratkaisu myös organisaation ulkopuolisen järjestelmän liittämiseksi kontekstinhallintaan SerAPI

63 Tietoturvallinen kontekstinhallinta
organisaation ulkopuolisen sovelluksen ja kontekstipalvelimen välillä käytetään kaksi suuntaista SSL:ää parametrien välitys (sessioavain) selaimen välityksellä one-way-SSL Organisaation ulkopuolisen järjestelmän osoite: Lähetettävät parametrit: sender= & receiver= & sessionKey= & action=99 SerAPI

64 Poikkeavuudet CCOW-standardista
SerAPI

65 Poikkeavuudet CCOW:sta
osallistuvien sovellusten ei tarvitse toteuttaa rajapintoja, koska koordinaattori ei koskaan kutsu sovelluksia koordinaattorin tarvitsee toteuttaa vain kontekstinhallintaan liittymisessä tarvittavat join / leave ja kontekstin tietosisällön käsittelyssä tarvittavat get/set tyyppiset metodit rajapinnassaan kartoitusvaihetta (survey phase), jossa sovellusten halukkuus/kykenevyys vaihtaa kontekstia selvitetään, ei tarvita sovellukset eivät päivitä tilaansa automaattisesti, vaan ainoastaan käyttäjän niin halutessa SerAPI

66 Poikkeavuudet CCOW:sta
palvelinpohjaiseen määritykseen on lisätty metodiin JoinCommonContext mahdollisuus käyttää valinnaisia parametreja (sessionKey, hostAddress, vastaavia ei CCOW-standardissa) turvallisuutta ei ole ratkaistu CCOW-standardin mukaisella tavalla -> ei ole yhteensopiva CCOW-standardin kanssa minimikontekstinhallinnan määrittelyn mukainen sovellus ei voi liittyä CCOW-standardin mukaiseen kontekstinpalvelimeen CCOW-standardin mukainen sovellus ei voi liittyä minimikontekstinhallinnan määrittelyn mukaiseen kontekstipalvelimeen SerAPI

67 Määrittelyiden versiot
SerAPI

68 Määrittelyiden versiot
PlugIT:ssa tuotetut versiot: ”Minimitason kontekstinhallinnan määrittely, Versio 1” ”Minimitason kontekstinhallinnan määrittely, Versio 2” HL7 Finland dokumenttiarkistossa: ”Minimikontekstinhallinnan määrittely -organisaation sisäiseen kontekstinhallintaan, Versio 2.1” -organisaation sisäiseen kontekstinhallintaan, Väliversio 2.1.1” ”Tietoturvallinen kontekstinhallinta - soveltamisohje SerAPI

69 Tukimateriaalit SerAPI

70 Tukimateriaalit http://www.plugit.fi/rajapinnat/toteutukset.html
pohjautuvat Minimikontekstinhallinnan määrittelyn versioon 1 ! ContextServer - kontekstirajapinnat (versio 1.0) rajattu palvelutoteutusesimerkki, sovellus ja dokumentaatio (ilman lähdekoodia) ContextTester - kontekstipalvelinten (versio 1.0) testaussovellus käyttöohjeineen (ilman lähdekoodia) NETContextClient - kontekstirajapinnan (versio 1.0) .NET-asiakassovellus, sovellus ja dokumentaatio (myös lähdekoodi) Java-esimerkki - kontekstipalvelun hyödyntämisestä Web-sovelluksessa löytyy esimerkki Java-ydinpalvelutoteutuksesta SerAPI


Lataa ppt "Kontekstinhallinta Päivitetty"

Samankaltaiset esitykset


Iklan oleh Google