SOA integraation ja standardien kannalta: case Palvelutapahtumien hallinta ja muita esimerkkejä SOLEA-tulosseminaari Espoo, 25.11.2011 Juha Mykkänen, tutkimusjohtaja Itä-Suomen yliopisto, Kuopion kampus Tietojenkäsittelytieteen laitos HIS-tutkimus ja kehittäminen juha.mykkanen@uef.fi 1
Sisältö Esityksen konteksti Yhteentoimivuuden viitemallit, SOA ja standardit Esimerkkejä SOA ja yhteentoimivuus -alueelta palvelukeskeinen toimialastandardointi KanTa-liityntäpiste valtakunnallisiin palveluihin Palvelutapahtumien hallinta Aiheeseen liittyvät koontidokumentit: Mykkänen J, Itälä T, Savolainen S, Virkanen H. Yhteentoimivuus, standardit ja palveluarkkitehtuuri. SOLEA-hanke, Itä-Suomen yliopisto, Aalto-yliopisto, 2011. Mykkänen J, Savolainen S, Virkanen H, Itälä T, Kortekangas P. Palvelutapahtumien hallinta. Arkkitehtuuritarkennuksia terveydenhuollon valtakunnallisten, alueellisten ja paikallisten tietojärjestelmäratkaisujen kannalta. SOLEA-hanke, Itä-Suomen yliopisto, Aalto-yliopisto, 2011. 2
Operational project architecture Strategic and tactical Enterprise Architecture SOLEA-työkohteet ja tulokset Strategy / Planning) Design Implementation Operation EA-hallintamallit EA ja SOA Governance AGM metamalli (yleinen) sovellusalueet; tietoturva, strategia, arkkitehtuuri, EA, BPM, EA ja SOA kuvaustavat EA- ja SOA -menetelmät ja välineet arkkitehtuurikehikot notaatiot, mm. ArchiMate, Business Model Canvas, JHS SOA roadmap SOA-kehitysmallit Arkkitehtuurikuvausten kohteet ja kuvaustavat kartoitukset eri EA-kuvauksista arkkitehtuurin kuvaustapojen case-tiedonkeruu palaute kuvaustapojen käytöstä Prosessien ja toiminnan kuvaaminen nykytila ja kehityskohteet mallintamisen tasot ja näkökulmat yhteiset mallit Vaatimustenhallinta Vaatimusten hallinta suhteessa EA:han EA ja SOA-mittarit Integraatio, Standardit ja SOA Object Role Modeling ORM-soveltaminen integraatiossa Standardien arviointi SOA ja standardointi tietomallien analysointi Standardointi-yhteistyö OASIS, Open Group, HL7, IHE, SFS, JHS Case-esimerkit Käyttäjähallinta vaatimukset ja rajaukset palvelupohjaiselle käyttäjäja käytönhallinnalle Palvelutapahtumien hallinta arkkitehtuuritarkennuksia terveydenhuollon valtakunnallisten, alueellisten ja paikallisten tietojärjestelmäratkaisujen kannalta Osapuolten projektit Konecranes MDM Satakunnan shp päivystys jne. 3
4 Enterprise tietojärjestelmien kehittämisen tavoitteita tietojärjestelmien kehitykseen liittyviä tavoitteita, joita erityisesti palveluarkkitehtuurin ja web-sovelluspalvelujen avulla pyritään saavuttamaan vrt. SOA-tavoitteet! A. Uudelleenkäyttö -jo toteutettujen toimintojen kapselointi -päällekkäisyyksien vähentäminen -yhdenmukaisten palvelujen tarjoaminen -ohjelmistotyön tuottavuus C. Osien markkinat -mahdollisuus myydä ja ostaa valmiita, erikoistuneita komponentteja -erikoistuminen -mahdollisuus valita eri vaihtoehdoista sopiva ratkaisu E. Muutoksiin varautuminen ja vastaaminen -muutokset toimintaprosesseissa ja toimintaympäristössä -teknologiamuutokset B. Tuki heterogeenisyydelle -sovellusten eri toteutustekniikat -eri käyttöjärjestelmät, käyttöliittymät, palvelimet -erityyppiset toiminnalliset vaatimukset ja prosessit D. Suurten järjestelmien hallittavuus -suuret toiminnallisuuskokonaisuudet -yhtäaikainen käyttö -skaalattavuus -kokonaisjärjestelmän ominaisuuksien lisääminen [Pekka Kähkipuro]
5 Hankintavaihtoehtojen monipuolistuminen Osta valmis tuote Toteuta itse Teetä uusi järjestelmä Suunnitteluta ulkopuolisella Osta ja räätälöi järjestelmä Vuokraa ulkopuoliselta (ASP) Osta ja integroi komponentit Kirjaudu käyttämään pilvestä Toteuta vanhan järjestelmän sovittimena Laajenna sovelluskehyksestä
European Interoperability Framework (v2) 6
Integrointimallit vaatimusten ja perusratkaisujen ensisijainen luonne Tietopohjainen tiedonsiirto tai kopiointi tietokannat, viestit, dokumentit, deklaratiivinen yksinkertaisuus, runsaasti käytetty business documents Prosessipohjainen määriteltyjen ja keskitetysti ylläpidettyjen prosessien kerros prosessin koordinaattori (orkestraatio), prosessien hajauttaminen (koreografia) työnkulkujen ymmärtämisestä määrittelyyn ja ohjaukseen Palvelupohjainen jaetut toiminnot ja operaatiot, yhteiset palvelut (common services) rpc-pohjainen middleware, Web services, imperatiivinen uudelleenkäyttö, vähemmän päällekkäistä tietoa, toiminnallisuutta, ylläpitoa ja toteutustyötä Käyttäjälähtöinen yhdenmukainen näkymä moniin järjestelmiin portaalit, sovellusten synkronointi käytettävyys, personointi, monikanavaisuus jne. [David Linthicum] 7
Integraatiotavat SOA-viitearkkitehtuurissa Käyttäjäintegraatio Käyttäjä Portlets WSRP Prosessi Sovelluspalvelut -atomiset -yhdistetyt Taustajärjestelmät Palvelin Prosessi-integraatio Palveluintegraatio Hyllytuote Räätälöity Palvelukomponentit Oliopohjainen CRM, ERP Business intelligence Integrointiarkkitehtuuri (ESB) (turvallisuus-, hallinta- ja seurantainfrastruktuuri) Laadunhallinta (QoS) (metatiedot, kuvaukset, tietovarastointi) Tietointegraatio Tietoarkkitehtuuri (governance, policy) Hallintakäytännöt Viitearkkitehtuuri: IEEE P1723 (S3) 8
Ratkaistavat asiat ohjelmistoja liitettäessä järjestelmän elinkaari toiminnallinen arkkitehtuuri Lait, ohjeet, toimintatavat Prosessit Kehitysprosessin liittymät Toiminnallinen viitemalli Semantiikka sovellusarkkitehtuuri tekninen arkkitehtuuri Toiminnalliset liittymät Sovellusinfrastruktuuri ratkaistava kaikissa sovellusintegraatiotilanteissa Tekninen infrastruktuuri Tekniset liittymät Verkot Laitteet [Peter Herzum, Oliver Sims] 9
Standardiesimerkkejä SOA-näkökulmasta ABQC Process Classification Framework OASIS SOA Reference Model, OMG SoaML, Open Group SOA ontology, BPMM, OSIMM ebxml RIM, HL7 RIM, HL7 EHR-S FM, HL7 PHR-S FM, HL7 D-MIM OASIS UBL, BizTalk specifications, HSSP, RosettaNet, ebxml CPP/CPA, (OMG Domain Technical Committees), HL7 Scheduling, HL7 Finland minimikontekstinhallinta IEEE P1723 (S3), OASIS RA4 SOA Foundation, Open Group SOA Reference Architecture WS-RM, WS-Security, SAML, XACML, WS-Trust, WS-SecureConversation, BPEL, SCA, WS-Policy, UDDI v3 WSDL, SOAP, WS-I, JMS, CORBA, XML-RPC HTTP, FTP Prosessit Kehitysprosessin liittymät Toiminnallinen viitemalli Semantiikka Toiminnalliset liittymät Sovellusinfrastruktuuri Tekninen infrastruktuuri Tekniset liittymät 10
Esimerkkejä 11
HL7 SAIF Service-Aware Interoperability Framework sopimisen taso 12
SAIF: Mallipohjaisen arkkitehtuurin ja RM-ODP-näkökulmien hyödyntäminen (Interoperability Specification Template) Topic Specification Enterprise / Business Viewpoint Information Viewpoint Computational Viewpoint Engineering Viewpoint Conceptual Business Context, Reference Context Concepts from Domain Analysis (Information) Model Collaboration Analysis, Functional Profile(s), Service Roles and Relationships Existing Platform capabilities, essential requirements regarding compatibility Platform Independent (logical) Business Governance Project-oriented Domain Information Model, Constrained Information Model, Localized Information Model, Hierarchical Message Definition Collaboration Types, Interface Specification and Functional Groups, Interaction Types and Collaboration Participations, Contracts Parts Existing Platform models, libraries, intended transparencies of the platform. Platform Specific (implementable) Rules, Procedures Localized Information Model, Schema Collaboration scripts, Orchestrations, Realized Interfaces Execution Context (channels, stubs, binders, protocols, and interceptors), Transforms, Deployment Model 13
Esimerkki SOA-pohjaisten standardien määrittelystä ja profiloinnista / Healthcare Services Specification Project 14
Esimerkki: liitettävyyspalvelut: KanTaliityntäpisteen toteuttaminen alueellinen liittyminen e Resepti- ja aarkisto-palveluihin [Anssi Kauppi, Intersystems] 15
KanTa-liityntäpiste / Web services-toteutus keskitetty liityntäpiste tarjoaa samoja rajapintoja kuin kansalliset palvelut toteutus palveluväylätuotteen avulla liikenteen seuranta ja valvonta + vähemmän kahdenvälisiä yhteyksiä kansallisen palvelun kannalta [Anssi Kauppi, Intersystems] 16
Case: Palvelutapahtumien hallinnan arkkitehtuuri - Työn tavoitteet Palvelutapahtuma keskeinen käsite terveydenhuollon valtakunnallisten tietojärjestelmäratkaisujen kannalta kuvaa hoidon toteutuksen s.e. kansalainen voi hahmottaa esim. tahdonilmaisua varten toisiinsa liittyvät palvelut ja asiakirjat ammattilaisen kannalta eheän ja ymmärrettävän tietokokonaisuuden muodostaminen pohja yhteen kuuluvien potilastietomerkintöjen kokoamiseen Tarkennustarpeet koota ja täsmentää käsitteitä, ml. suhde hoitoprosessiin palvelutapahtumien käsittelyyn liittyvien prosessien ja toimintojen tunnistaminen ja kuvaaminen tarkennukset yhteisiin sääntöihin ja tiedonsiirtoon suhteessa palvelutapahtumatietojen hyödyntämiseen, kokoamiseen, tietomalleihin toimintojen toteutusmahdollisuudet sovelluspalvelujen kautta, rajapintatarpeet (ml. järjestelmät joissa ei käsitellä palvelutapahtumatietoja kansallisten määritysten mukaisesti) tarkennukset suhteessa katseluyhteyteen ja suostumus- ja kieltokäsittelyihin 17
Case palvelutapahtumat: työskentely suuri joukko valtakunnallisia määrittelyjä, joissa aihetta sivuttu 9 monenvälitsä työkokousta 10/2009 05/2010 runsaasti mallien tarkennuksia ja määrittelyjä, ml. palvelutapahtumien hallintaan liittyvien hienojakoisten toimintojen analyysi (tehtävä- ja teko-tasot / ks. Luukkosen esitys) SOA-palvelujen tunnistaminen ja sijoittelu toteutustasoille (valtakunnallinen, alueellinen, paikallinen) konkreettisiin järjestelmiin (ydin- ja erillisjärjestelmät) tulokset nopeasti julki ja käyttöön muissa hankkeissa Kela erillisjärjestelmät-projekti 18
Arkisto Asiakkaan tietojärjestelmät Palvelunantajan tietojärjestelmät Ammattihenkilö Asiakas Palvelutapahtumat: roolit / toiminnot matriisi X: aina mukana - x: mahdollinen Lähetteen tekeminen X X X Lähetteen vastaanottaminen X X x Potilaan laittaminen jonoon X X x Ajanvarauksen tekeminen lähetteen pohjalta x X X x x Ajanvarauksen tekeminen ilman lähetettä x X X x x? Ajanvarauksen peruminen x X X x x? Ilmoittautuminen ja sisäänkirjaus ennakoimatta X X x Potilasta koskevien tietojen tarpeen määritteleminen x X x x x Luovutuksen perusteen määrittely x X X x Saatavilla olevien asiakirjojen selvittäminen X X X Tarpeellisten asiakirjojen noutaminen X X X Haettujen asiakirjojen hyödyntäminen X x Hoidollisen merkinnän kirjaaminen / tekeminen X X X Palvelutapahtumaan kohdistuvan tahdonilmauksen antaminen tai X x x x X muuttaminen Potilaan siirto osastolle / osastojen välillä X X x? Potilaan kotiutus / käynnin päättyminen X X X Tutkimus- tai konsultaatiopyynnön tekeminen X X x Tutkimus- tai konsultaatiopyynnön vastaanottaminen ja toteutus X X x 19
Kontekstinhallinta Palvelutapahtumien integraatioinfrastruktuuri Potilashallinnollisen prosessin hallinnoija Tietosisällön hyödyntäjä Tietosisällön tuottaja Luettelon hakupalvelu Asiakirjojen hakupalvelu Tapahtumatietojen varasto Merkintöjen muodostamispalvelu Asiakirjojen lähettämispalvelu Asiakirjojen muodostamispalvelu Arkistopalvelu Käyttäjä (ammattihenkilö, asiakas) Palvelutapahtumat: palvelut-roolit / tehtävät matriisi k=kutsuja tai käynnistäjä, P=sovelluspalvelun tarjoaja, l=tietolähde Aktiivisista palvelutapahtumista yhden valinta k,l k k, P l, P k, P P l l Aktiivisten palvelutapahtumien selvittäminen l? k, P l, P l? k, P k,p l Asiakirjan arkistointi k P l P k k? Asiakirjan haku arkistosta k P l? P l k,l l Asiakirjojen kuvailutietojen haku arkistosta k l,p l? P k,l l Asiakirjan liittäminen l P l l l k,l P,l l palvelutapahtumaan Asiakirjan muodostaminen P l l, k merkinnöistä k Tietojen näyttämisen viivästyttäminen l,k P? P? P, k Asiakkaan tapahtumien listaus l k P,l k k Asiakkaan valinta vastaanoton tai k P,l P,l osaston potilasluettelosta Merkinnän liittäminen palvelutapahtumaan l P l k,l k,l l,p,k l... jne. 20
Kontekstinhallinta Palvelutapahtumien integraatioinfra Potilashallinnollisen prosessin hallinnoija Tietosisällön hyödyntäjä Tietosisällön tuottaja Luettelon hakupalvelu Asiakirjojen hakupalvelu Tapahtumatietojen varasto Merkintöjen muodostamispalvelu Asiakirjojen lähettämispalvelu Asiakirjojen muodostamispalvelu Arkistopalvelu Palvelutapahtumat: geneerinen järjestelmät / palvelut matriisi Valtakunnallinen palvelu P?? m P P Alueellinen tai paikallinen palvelu m m m m m m m m P P (Potilashallinnon) P P P P P P P P P m ydinjärjestelmä Yksikkökohtainen P m m P m P m erillisjärjestelmä Organisaatioiden yhteinen erillisjärjestelmä P m m P m P m P=palvelun tarjoaja (varmasti jossakin tiedossa olevassa ympäristössä), m=mahdollinen palvelun tarjoaja. 21
Palvelutapahtumat: roolit ja palvelut arkistoinnissa Palvelunantajakohtainen, Palvelunjärjestäjäkohtainen, alueellinen Valtakunnallinen Potilashallinnollisen prosessin hallinnoija Tietosisällön tuottaja merkinnän tietoja Palvelutapahtumien integraatioinfrastruktuuri Tapahtumatietojen varasto Merkintöjen muodostamispalvelu Merkintä - merkinnän tietoja - palvelutapahtumatunnus Asiakirjojen lähettämispalvelu Asiakirja -palvelutapahtumatunnus -(toissijainen palvelutapahtumatunnus) Arkisto Kontekstinhallinta Asiakirjojen muodostamispalvelu Merkintä n - merkinnän tietoja - palvelutapahtumatunnus 22
SOA ja standardien soveltamisprofiilit / IHE - vertailua 23
Yhteenveto SOA, standardit ja palveluväylät standardi erityisesti sinne missä olennaista sopia yhdessä palveluväylä erityisesti sinne, missä sovitettava eri maailmoja SOA yhteentoimivuuden kannalta Conceptual: yleinen palvelukeskeisyys edistää joustavuutta ja yhteentoimivuustarpeiden tunnistamista ja tarkentamista Logical: modulaariset ratkaisut ja rajapintojen tunnistaminen Physical: SOA-tekniikat laajasti tuettuja, alustariippumattomuus, tehokkaita teknisiä välineitä kehittämiseen ja ympäristön hallintaan Sisäisessä integraatiossa yksinkertaisuus ja joustavuus tärkeintä mm. Schema-käyttö vs. HTML5+Microdata, REST vs. WS-* Monenvälisessä ja standardi-integraatiossa sopimukset tärkeässä roolissa Standardit, Skeemat, sopimukset, yhteiset viitemallit monilla tasoilla SOA-standardoinnissa keskeisiä myös toiminnalliset mallit 24
25 Kiitokset www.uef.fi/solea/ juha.mykkanen@uef.fi