1 / 45

PlugIT-menetelmätulokset: Integrointiratkaisujen määrittely ja määritysten hyödyntäminen

PlugIT-menetelmätulokset: Integrointiratkaisujen määrittely ja määritysten hyödyntäminen. PlugIT loppuseminaari 31.8.2004, Kuopio Juha Mykkänen Kuopion yliopisto, HIS-tutkimusyksikkö. Koulutustyöpaja 2. PlugIT-menetelmätulokset terveydenhuollon organisaatioille ja sovellusten tuottajille

emilie
Download Presentation

PlugIT-menetelmätulokset: Integrointiratkaisujen määrittely ja määritysten hyödyntäminen

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. PlugIT-menetelmätulokset: Integrointiratkaisujen määrittely ja määritysten hyödyntäminen PlugIT loppuseminaari 31.8.2004, Kuopio Juha Mykkänen Kuopion yliopisto, HIS-tutkimusyksikkö

  2. Koulutustyöpaja 2 • PlugIT-menetelmätulokset terveydenhuollon organisaatioille ja sovellusten tuottajille 8:30-9 Ilmoittautuminen ja aamukahvi 9-10 Avaus, Sovellusintegraation vaiheet ja avoin integraatio 10-11 Tietojärjestelmä- ja integrointitarpeiden kartoitus 11-12 Tarpeista ohjelmisto- ja integrointivaatimuksiin 12-13 Lounas (omakustanteinen) 13-14.15 Integrointimäärittelyt ja niiden hyödyntäminen (kahvitauko) 14-15 Testaus ja PlugIT-leimausmenettely 15-16 Kokemukset menetelmäpilotista, jatkotyö

  3. Iltapäivän tavoitteet • vaatimuksista ratkaisuiksi: • tekniikkariippumattomat (sisällölliset ja periaateratkaisut) • tekniset ratkaisut ja rajapinnat • toteutukset ja toteutuskohtaiset seikat • testaus ja leimaaminen • testaus ja testaustulokset, käyttöönotto- ja integrointitestaus, PlugIT-leima • kokemuksia ohjelmistotuotannon menetelmäpilotista • jatkotyö, keskustelu

  4. Esitykseen liittyvää materiaalia • Terveydenhuollon sovellusintegraatioratkaisujen määrittely • integrointiprosessi • tavoitteiden ja vaatimusten määrittely (käsiteltiin aamupäivällä) • tekniikkariippumaton määrittely • tekninen määrittely • toteutuskohtaisten seikkojen kuvaus • esimerkkejä • Avointen integrointiratkaisujen hyödyntäminen, toteuttaminen ja testaus • toteutusten tekeminen (toinen työpaja) • määritysten mukaisuudesta varmistuminen (myöhemmin iltapäivällä) • Component and service technology families • integrointitekniikat, erityisesti palvelupohjainen integraatio • Ohjelmistotuotannon välineselvitys: näkökulmia terveydenhuollon ohjelmistoyrityksen välinesalkun kokoamiseen • kehitysvälineet, integrointivälineet, palvelimet jne. • Standardien arviointi ja valinta

  5. Integrointimenetelmän taustat • Model-Driven Architecture (MDA): vaiheittainen tarkentaminen yleisestä mallista tarkkaan tekniseen ratkaisuun • HL7 (Message) Development Framework: viitemallien käyttö, tietomallinnus, viestimäärittelyt • Integrating Healthcare Enterprise: useita järjestelmiä kattavien työnkulkujen määrittelyt, käytännön testaus • ISO RM-ODP ja 7-tasoinen yhteentoimivuusmalli: ratkaisujen kattavuus, eri näkökulmien riittävä huomiointi • Hajautetut sovellukset, viitearkkitehtuuri • Integrointimallit (tieto, palvelu, prosessi, käyttäjä), rajapinnat, sovittimet, avoimet tekniikat • tuettava sekä paikallisista tarpeista tai valmiista ratkaisuista lähteviä ratkaisuja (bottom-up) että standardien käyttöönottoa ja soveltamista (top-down)

  6. Yleiskuva Määrittelyn ja toteutusten hallinta Toteutus, pilotointi Vaatimushankinta + dokumentointi Avoimen integrointiratkaisun määrittely

  7. Tarvelähtöisyys Tavoittehakuisuus Monenvälisyys ”Oman toimen ohella” tekeminen PlugIT:issa avoin määrittely paikallinen tai tuotekohtainen toteutus Järjestelmäintegraatioprojektin vaiheet [Saranummi, Tolppanen: Järjestelmäintegraatio-projektin vaiheet, 2003.]

  8. Määrittelytyön lähtökohdat • tunnistetut (ja priorisoidut) integrointikohteet (=tarpeet) • kerätyt integrointivaatimukset (=tarkennetut tarpeet)!!! • projektin osapuolten sovellukset • niiden nykyinen toiminnallisuus • niissä käytetyt tekniikat ja arkkitehtuurit • standardit • sisällölliset ja toiminnalliset määritykset + viitemallit • käytettävissä olevat tekniikat (sovelluksissa käytetyt ja uudet) • yleisiä toiminta- ja dokumentointitapoja • käytetään vain niitä dokumentteja/osioita mitä tarvitaan • perustelut valinnoille • minimitaso ja lisätasot • versionumero, pvm, tuottamiseen osallistuneet (vakiotiedot)

  9. Määrittelyn eteneminen Vaatimukset + toiminnan kehittäminen Osallistuvien sovellusten ratkaisut [Mykkänen, Porrasmaa, Rannanheimo, Korpela: A process for specifying integration for multi-tier applications in healthcare. Int J Med Inf 2003:70(2-3):173-182.] Vaiheittainen tarkennus, mallit ja ohjeistus eri vaiheisiin, tavoitteena ratkaisun kattavuus ja tarkkuus, mutta selkeä, helppokäyttöinen ja toistuva menettely --SOVELTUU SEKÄ AVOIMEEN ETTÄ TAPAUSKOHTAISEEN INTEGROINTIIN Tekniset standardit, työkalut Toimialan standardit ja viitemallit

  10. Top-down standardit toimintaprosessien mallinnus tarkentaminen, erikoistaminen vaatimukset -> tekniikkariippumattomat -> tekniset määrittelyt -> toteutus Bottom-up valmiit tuotteet ja ratkaisut valmiiden ratkaisujen hankkiminen ja tutkiminen -> toteutukset, tekniset määrittelyt? yleistäminen -> tekniikkariippumattomat, vaatimukset Top-down ja bottom-up Molemmat tavat prosessissa mukana (esim. standardit + olemassaolevat järjestelmät määrittelyn lähtökohtina)

  11. Uudelleenkäytettävät tuotokset • Integrointivaatimukset • kuvata integroinnin tarkoitus ja tavoitteet riittävällä tasolla integroinnin tarkempaa määrittelyä ja toteutusta varten • yksiselitteisiä • tuotoksia verrataan ja arvioidaan suhteessa vaatimuksiin • osa (tai kaikki) vaatimuksista tarkennetaan.. • Tekniikkariippumaton määrittely (ratkaisun periaatteet ja sisältö) • vastaa selkeästi rajattuun integrointitarpeeseen • ratkaisun sisältö ja perusperiaatteet (tiedot, toiminnot, osapuolet, vastuut, roolit, integrointimalli) • ei sido ratkaisua yksittäiseen tekniikkaan (voidaan soveltaa monilla tekniikoilla) • Tekninen määrittely (rajapinta) • rajapinnan toteuttamista varten tietyllä valitulla rajapintatekniikalla, tarkka määritys • samasta teknisestä määrittelystä toteutetut rajapinnat eri tuotteissa toimivat yhdessä • mahdollistaa edelleen eri toteutustekniikat järjestelmissä • Lisäksi tarpeen kuvata yhdenmukaisesti tietyt toteutuskohtaiset asiat

  12. Tuotosten jaon tarkoitus • Avoimet dokumentit tarkentuvat vaatimuksista kohti toteutusta, ”taaksepäin varmistus”: • samoihin vaatimuksiin voi(si) vastata useilla (tekniikkariippumattomilla) määrittelyillä (esim. eri integrointimalleilla) • samat tekniikkariippumattomat voi tarkentaa useilla integrointitekniikoilla toteutettaviksi (mallitason yhteensopivuus) • samat tekniset määrittelyt voi toteuttaa (siinä määritellyillä tekniikoilla) useisiin tuotteisiin • Toteutuskohtaiset tai yhteen pilottiin tai määrittelyprojektiin kuuluvat asiat eivät kuulu avoimiin määritysdokumentteihin • erillään projekti- ja pilotointisuunnitelmat, taustatietoihin kuuluvat järjestelmäkuvaukset (nykytilakuvaukset) jne. PlugIT-rajapintojen TAVOITE

  13. Avoimet määrittelytuotokset Integrointivaatimusmäärittelyt -käyty läpi aamupäivällä

  14. Avoimet määrittelytuotokset Tekniikkariippumattomat liittymämäärittelyt

  15. Mikä on tekniikkariippumaton liittymämäärittely + tavoite • integrointiratkaisun kuvaus • osapuolet, yhteistoiminnan perusmalli, työnkulut • tietosisältö, toiminnot (elementit, operaatiot) • siten, että rajapinnat voidaan tarkentaa eri tekniikoilla • malli integrointiratkaisusta (~MDA PIM, IHE integration profile) • (viimeistään) tällä tasolla päätetään, minkä tyyppistä integrointia tehdään • Kenelle? • 1. tilaajille, toimittajille ja integraattorille ratkaisun sisällön ja perusperiaatteiden määrittely (+ pohja tekniselle työstämiselle), • 2. hyväksyminen, standardointi viitemalli-tasolla

  16. Tekniikkariippumaton määrittely: tuottaminen 1. Tarkempaan määrittelyyn otettavien integrointivaatimusten rajaus ja integrointimallin valinta. 2. Määrittelyssä hyödynnettävien standardien ja muiden ulkoisten määritysten valinta. 3. Integrointitilanteessa mukana olevien sovellusten toimintojen ja tietosisällön ja niissä käytetyn arkkitehtuurin kartoittaminen integrointia varten. 4. Integroinnissa käytettävien toiminnallisten osien (sovellusroolien, komponenttien) nimeäminen tai tarkentaminen 5. Valittujen vaatimusten tarkentaminen ja kohdistaminen nimettyihin osiin. 6. Integrointitavan ja integroinnin perusratkaisuperiaatteen valinta. 7. Integrointipisteen määrittely sovellusten arkkitehtuurissa ja eri osien vastuiden määrittely, tai eri vaihtoehtojen tunnistaminen 8. Sovellusten välisen vuorovaikutuksen määrittely. 9. Sovellusten välisten liittymien sisällön määrittely tekniikkariippumattomalla tasolla. 10. Minimitason määrittely. 11. Tarkennetut vaatimukset teknisille liittymämäärittelyille ja toteutuksille.

  17. Kuinka perusratkaisu määritellään • sopivin integrointimalli? • tietopohjainen – usein löysä kytkentä järjestelmien välillä, tiedon ajantasaisuuden varmistukset • palvelupohjainen – päällekkäisyyden vähentäminen (tietojen syöttö, ylläpito, kehitystyö), • prosessipohjainen määrittely – monenvälisyys, • käyttäjän tukeminen • ohjelmointirajapinta, viesti-integraatio, yhteinen tietovarasto, koordinaattori, käyttöliittymä? • keskitetty vai hajautettu ratkaisu? (vastuiden kannalta) • kahdenvälinen vai monenvälinen ratkaisu? (point-to-point vai usean sovelluksen välinen) • tiukka vai löysä kytkentä? (viittaus tai tiedonsiirto, tietotyypit) • hajautettu vai paikallinen rajapinta? (yhden vai monen käyttäjän) • synkroninen vai asynkroninen ratkaisu? • standardien tarjoamat integrointitavat?

  18. Integrointiratkaisujen luokitteluja • EAI – sovellusintegraatio, yleensä saman organisaation sisällä, tiukka kytkentä, ohjelmointirajapinnat, RPC • B2B – kumppani-integraatio, organisaatioiden välinen, löysä kytkentä, viestit ja dokumentit, viestijonot ja -alustat • B2C – asiakasintegraatio, käyttöliittymät, itsepalvelut • declarative – tiedon kuvaaminen (viestin lähettäjä ja vastaanottaja) • imperative – toiminnon käynnistäminen tai suorittaminen (palvelun pyytäjä ja tarjoaja) • interrogative – tiedustelu (kysyjä ja vastaaja)

  19. Integrointipiste sovellusarkkitehtuurissa • esimerkeissä web-pohjainen laboratoriopyyntöjen teko-sovellus (System 1) käyttää hajautettua yleistä palvelua organisaatioyksiköiden listaamiseen. Tämä palvelu (System 2) taas on toteutettu kapseloimalla perinnejärjestelmän käyttöliittymä (System 3). • Esimerkissä 2 integrointiratkaisua: web-pohjainen laboratoriopyyntöjen teko-sovellus (System 1) käyttää hajautettua yleistä palvelua organisaatioyksiköiden listaamiseen. Tämä palvelu (System 2) on toteutettu kapseloimalla perinnejärjestelmän käyttöliittymä (System 3).

  20. Sisältö – tekniikkariippumaton määrittely 1 Johdanto – dokumentin tarkoitus jne. 2 Dokumentissa käytetyt tietotekniset ja terveydenhuollon käsitteet 3 Rajaus – mihin vaatimuksiin vastataan, mikä on määriteltyjen liittymien käyttötarkoitus 4 Käytössä olevien järjestelmien toiminnallisuus rajaukseen liittyen • tarvittaessa erilliseen nykytila-dokumenttiin 5 Käytössä olevien järjestelmien arkkitehtuurit ja tekniikat rajaukseen liittyen • tarvittaessa erilliseen nykytila-dokumenttiin 5.1 Järjestelmän A arkkitehtuuri ja tekniikat 5.2 Järjestelmän B arkkitehtuuri ja tekniikat 5.3 Muiden vastaavien järjestelmien vaikutukset (yleistettävyys) 6 Hyödynnettävien standardien ja määritysten hyväksikäyttö 7 Yhteistoiminnallisuuden arkkitehtuuri 7.1 Sovellusosien yleiset nimet ja kuvaukset 7.2 Integrointipisteet sovellusten arkkitehtuureissa 7.3 Käsitemalli, johon integrointi perustuu, esim. luokkakaavio (tarvittaessa)

  21. Sisältö – tekniikkariippumaton määrittely.. 8 Katetut tieto- ja toimintokokonaisuudet 8.1 Yhteistoiminnallisuuden kuvaus (kuva kutsuista, suhteista, järjestyksestä..) 8.2 Toimintojen nimet ja kuvaukset 8.3 Tietoelementtien nimet ja kuvaukset 8.4 Sovellusten vastuut tieto- ja toimintokokonaisuuksista 8.5 Virhetilanteet 8.6 Minimitaso ja lisätasot 9 Vaatimukset teknisille liittymille ja toteutuksille o siltä osin kuin ovat tarkentuneet tai on tullut uusia integrointivaatimusten jälkeen 9.1 Toiminnalliset ominaisuudet 9.2 Ei-toiminnalliset ominaisuudet 9.3 Avoimuus, siirrettävyys ja ylläpidettävyys 9.4 Suorituskyky ja käytettävyys 9.5 Tietoturva ja virhetilanteet 10 Määrittelyjen mukaisuuden toteaminen

  22. Avoimet määrittelytuotokset Tekniset määrittelyt

  23. Mikä on tekninen liittymämäärittely + tavoite • integrointiratkaisun kuvaus siten, että eri sovelluksiin voidaan toteuttaa sama tekninen (ja toiminnallinen/sisällöllinen) ratkaisu • tarkka, lopullinen integrointimäärittely ”tämän mukaan toteutetut toimivat yhdessä” • täydentää valituilla liittymätekniikoilla tekniikkariippumatonta määrittelyä • sama liittymätekniikka käytössä osallistuvissa sovelluksissa (avoimia tekniikoita esim. XML, IDL, WSDL, SOAP) – sovellukset voidaan silti toteuttaa eri tekniikoilla (Java, MS .NET, M, xx) • osien tekniset vastuut • EI sisäisen tai tuotekohtaisen toteutuksen asioita vaan ulospäin näkyvät tekniset liittymät • Kenelle? • 1. integroinnin (esim. sovelluksiin sovittimien) toteuttajalle, tekniselle asiantuntijalle • 2. hyväksyminen, tarkka tekninen standardointi

  24. Tekniset määrittelyt: tuottaminen 1. Toiminnallisista määrittelyistä tai valmiista toteutuksista teknisiksi määrittelyiksi tuotettavien asioiden valinta. 2. Valittaviin tekniikoihin kohdistuvien vaatimusten tarkentaminen 3. Sovelluksissa käytettyjen mahdollisten integroinnissa käytettävien tekniikoiden kartoitus. 4. Käyttökelpoisten uusien tekniikoiden ja teknisten standardien kartoitus 5. Aikaisemmissa projekteissa tehtyjen ratkaisujen hyödyntämistavasta päättäminen. • Soveltuvien integrointitekniikoiden valinta ja perustelut 7. Yhteentoimivuuden perusarkkitehtuurin tarkentaminen valittujen tekniikoiden mukaisesti 8. Teknisten osien nimeäminen, esim. ”pyyntöpalvelun toteuttava DLL-kirjasto”, ”koodistopalvelun toteutus” 9. Osien teknisten vastuiden määrittely 10. Kutsuttavien operaatioiden ja tietosisällön määrittely valituilla tekniikoilla 11. Minimitason määrittely (tarvittaessa) 12. Osien vuorovaikutuksen kuvaaminen (tarvittaessa) 13. Toteutuskohtaiseksi jätettävien seikkojen määrittely ja dokumentointi, vaatimukset toteutuksille ja niiden dokumentaatiolle 14. Kokeilut (proof-of-concept) ja tarkentaminen, viittaukset toteutettuihin esimerkkeihin tai referenssitoteutukseen

  25. Tekniset määrittelyt - sisältö 1 Johdanto – dokumentin tarkoitus jne. 2 Rajaus – mihin vaatimuksiin ja toiminnallisiin määrittelyihin liittyy 3 Tekniikoihin kohdistuvat vaatimukset 4 Käytössä olevien järjestelmien hyödynnettävissä olevat tekniikat, perusteluiksi valituille tekniikoille 4.1 Järjestelmän A tekniikat ja välineet 4.2 Järjestelmän B tekniikat ja välineet 4.3 Muiden järjestelmien vaikutukset, yleistys 5 Hyödynnettävissä olevat tekniset standardit ja määritykset (tarvittaessa) 6 Valitut tekniikat, luettelo ja perustelut valinnoille 7 Integroinnin arkkitehtuuri valitulla tekniikalla: tekniset sovellusosat ja niiden vastuut, liittymät, tietoliikenne 8 Operaatioiden ja tietosisällön tekniset määrittelyt 8.1 Kaavio osien vuorovaikutuksesta, kutsusuhteista ja järjestyksistä jne. 8.2 Operaatiokuvaukset valitulla tekniikalla (operation signatures) 8.3 Tietokuvaukset valitulla tekniikalla (operaatioiden parametreista tai muuten siirrettävästä tiedosta, voi olla myös yhdistettynä operaatiokuvauksiin) 8.4 Virhetilanteet ja virhekoodit, toiminta virhetilanteissa 8.5 Minimitaso ja lisätasot 9 Toteutuskohtaiseksi jätettävät asiat: konfigurointi, siirrettävyys, mahd. liikenteen salaus jne. 10 Vaatimukset järjestelmille: palvelun tarjoava järjestelmä, palvelua käyttävä järjestelmä, alustavaatimukset, käytettävät välinevaatimukset 11 Määrittelyjen mukaisuuden toteaminen, esim. lista tarkastettavia piirteitä 12 Esimerkkejä (tarvittaessa esim. palvelimen ja asiakkaan toteutuksesta), osoitteet referenssitoteutuksiin jne.

  26. Integrointitekniikoiden valinta • Mikä on valittu integrointimalli ja –tapa? • Miten hyödynnetään jo käytössä olevia tekniikoita ja infraa? • Mitä uusia tekniikoita halutaan / on otettavissa käyttöön? • Onko ulkoisissa määrityksissä joita halutaan käyttää teknisiä asioita? • Halutaanko erottaa tietosisältö ja toiminnallisuus? • voi valita myös useita integrointitekniikoita – tiedon merkkaus, operaatioiden määrittely, tietoliikenne… • tai määritellään rajapinta, jonka kautta käsitellään erikseen viitattuja sisältöjä (PlugIT-potilasrajapinta, PlugIT-koodistorajapinta) • Synkroninen / asynkroninen? • Ratkaisun avoimuusvaatimukset? • Tekniikoiden levinneisyydet ja kehitysnäkymät?

  27. 1. Komponenttipohjainen integrointi (useamman sovelluksenkäyttämä komponentti, esim. potilaan tunnistus), nykytila 2,22 Tavoitetaso 3,75 2. Väyläpohjainen integrointi (esim. CORBA broker), nykytila 1,25 Tavoitetaso 1,86 3. Viestipohjainen integrointi (esim. HL7 –sanomarajapinta), nykytila 2,50Tavoitetaso 2,86 4. XML-pohjainen integrointi, nykytila 2,44 Tavoitetaso 3,86 5. Tiedon välitys yhteisen tietoalueen tai tietokannan kautta, nykytila 2,89 Tavoitetaso 2,71 6. Web service –tekniikka, nykytila 1,25 Tavoitetaso 3,00 7. Tietoverkon yli tapahtuva integrointi ja palvelujen käyttö, nykytila 1,80 Tavoitetaso 3,14 8. Samaan koneeseen asennettujen sovellusten välinen integrointi, nykytila 2,80 Tavoitetaso 2,71 9. Toisen sovelluksen käyttöliittymän kutsuminen, nykytila 1,89 Tavoitetaso 2,29 10. Käyttöliittymän tarjoaminen toiselle sovellukselle, nykytila 1,90 Tavoitetaso 2,14 11. Määräajoin eräsiirtona tapahtuvat tiedonsiirrot, nykytila 3,20 Tavoitetaso 2,86 12. Ulkoiseen standardimäärittelyyn (esim. HL7) perustuva integroinnin toteutus, nykytila 2,70Tavoitetaso 3,14 13. Kahden väliseen sopimiseen perustuva integroinnin toteutus, nykytila 2,60 Tavoitetaso 2,29 14. Taustarekisterien ja koodistojen käyttö API kautta, nykytila 2,00 Tavoitetaso 2,50

  28. Liittymien määrittely eri tekniikoilla • Yhdessä ratkaisussa käytetään usein monia tekniikoita • Dokumentoidaan eri tekniikoilla eri tavoin, esim. (palvelupohjainen integraatio) • palvelun löytäminen • operaatioiden määrittely • tietosisällön (parametrien, paluuarvojen) määrittely • tietoliikenne tai tiedon välitys • salaus tai muut turvallisuustekniikat • alustavaatimukset • tarvittavat välineet

  29. Määritysten hyödyntäminen,toteutukset + toteutuksen kuvaus

  30. Rajapinnan toteutustilanteet • Tuoteominaisuuksien suunnittelu, ”yleinen” • pyrkimys yleiskäyttöisyyteen, toistettavuuteen • standardit, ”pilkuntarkkuus”, sertifiointi • ”meillä on tämän standardin mukaan tehty rajapinta, jos noudatatte samaa standardia integrointi on nopeaa” • konfiguroitavuus eri ympäristöihin, eri käyttötapoihin • Tilauksesta tehtävä, ”kahdenvälinen” • aikataulupaineet, uudet tarpeet • tunnetaan paikalliset erityisvaatimukset • johtaa oikein tehtynä ”yleinen”-tilaan, tuoteominaisuudeksi • tunnistetaan, mitkä ratkaisut ja vaatimukset ovat ”paikallisia”

  31. Avoimen määrityksen hyödyntäminen 1 • Sovelluksen vaatimukset ja määrityksessä kuvattu ratkaisu • integrointitilanne tai integrointitarve sovelluksen (asiakkaan) kannalta, mihin vaatimuksiin integrointimääritys vastaa, mikä määritysversio onko määrityksessä tasoja, vaaditaanko lisäpiirteitä • Sisällöllinen & tekniikkariippumaton tarkastelu • missä roolissa sovellus on, onko toiminnot ja tiedot joita määrityksessä käsitellään, sovelluksen työnkulut, mikä sovelluksen osa liitetään, onko varauduttava siihen että ratkaisua ei käytetä jossain tilanteessa • Liittymätekniikan sovitus sovellukseen • onko jo käytetty liittymätekniikoita, niitä tukevat välineet ympäristöön, valmiit kirjastot ja sovittimet tai itse toteuttaminen • Toteutus ja testaus • määrityksessä toteutuskohtaiseksi jätetyt asiat, yleiset vaatimukset • valmiin kirjaston tai adapterin liittäminen sovellukseen, liittymätekniikoita tukevilla välineillä toteutus sovellukseen tai ”matalan tason koodauksella” alusta loppuun • dokumentointi, toteutuksen kuvaus, testaus ennen käyttöönottoa, testipalvelut, sertifiointi • kokemusten ja lisätarpeiden kerääminen myöhempiä integrointitarpeita varten • palaute määritysten tekijöille

  32. Avoimen määrityksen hyödyntäminen 2 • Paikallinen sovitus • kallista, jos toistuvaa ja työlästä • pyrkimys kohti toisiaan täydentäviä standardeja, ”integration profiles” • aina jotain paikallisesti sovitettavaa, voidaan varautua konfigurointimekanismeilla tuotteessa • ”vastapuolelta varmistukset” • toteutuksen kuvaus – toteutuskohtaisuuksien vastaavuus • onko vastapuolella sertifikaatit tai testausraportit standardin mukaisuudesta • tuoteominaisuuksien lisäksi? • paikallisten vaatimusten huomiointi, ”standardin venytys”, erotetaan avoimesta ratkaisusta • poikkeamat määrittelystä, joudutaan sopimaan kaikkien osapuolten kanssa • Käyttöönotto, ylläpito • testaus lopullisessa käyttöympäristössä • käyttöönotto, ohjeistus, vastuutus, koulutus • uusien versioiden, toimivuus edellisen version ratkaisujen kanssa (regressiotestaus) • rajapintojen versiot, päivitysten ajoitukset, useiden versioiden tukeminen?

  33. Mitä ovat Toteutuksen kuvaukset + tavoite • Toteutuksen kuvaus –dokumenttiin • tuotekohtainen dokumentti, osa sen dokumentaatiota • esitystapa ”vapaa mutta pakollinen” • ”kuinka tämä sovellus/komponentti asennetaan ja integroidaan, kun siinä on määrittelyn X mukainen tekninen liittymä” • alustavaatimukset, saatavilla olevien muiden ohjelmistojen tai rajapintojen tuki • kuinka se mukautetaan suoritusympäristöön • kuinka toteutus vastaa esitettyihin vaatimuksiin • onko toteutuskohtaisia lisäpiirteitä tai poikkeamia avoimiin määrittelyihin • Ei (nimestä huolimatta) ole ohje, kuinka toteutus tehdään • sitä varten erillisiä soveltamisoppaita, esimerkkejä • Kenelle? • 1. sovelluksen käyttöönottajalle ja asentajalle (ohje) • 2. asiakkaalle (tällainen ”standardi-integraatio” kuuluu tuotteeseen), näin on ratkaistu tässä toteutuksessa toteutuskohtaiset asiat, lisäpiirteet ym.

  34. Toteutuksen kuvaus – sisältö esim. 1 Johdanto 2 Rajaus –mitkä vaatimukset, toiminnalliset määrittelyt, mitkä tekniset liittymämäärittelyt-toteutus 3 Suhteet määriteltyihin vaatimuksiin ja yleisiin liittymiin 3.1 Miten toteutus vastaa integrointivaatimukset-dokumentin vaatimuksiin ”määrittelyjen mukaisuuden toteaminen” kohtiin vastaaminen 3.2 Miten toteutus vastaa toteutuskohtaisiksi jätettyihin vaatimuksiin (suorituskyky- laatuvaatimusten, toteutuskohtaiset seikat) 3.3 Minimitaso ja lisätasot 3.4 Toteutuskohtaiset lisäykset ja laajennukset teknisiin määrittelyihin 3.5 Toteutuskohtaiset poikkeamat ja rajoitteet teknisistä määrittelyistä 4 Toteutuksen asettamat vaatimukset tekniselle ympäristölle • käyttöjärjestelmäriippuvuudet, vaaditut päivityspaketit ja kirjastojen versiot, tarvittavat palvelimet, versiot, lisenssit, siirrettävyys, jakelumekanismit 5 Toteutuksen käyttöönotto 5.1 Toteutuksen asennus (tarvittaessa, jos ei sovelluksen asennuksen yhteydessä) 5.2 Integroinnin toteutuksen asetusten tekeminen ja konfigurointi • esim. palvelun kutsuosoite, dll-tiedoston nimen välitys, ulkoiset parametrit 5.3 Ylläpito, uudet versiot 6 Esimerkkejä toteutetun ratkaisun käytöstä (suositellaan), 7 Toteuttajan tukipalvelut, yhteystiedot.

  35. Välinevalinnat • Tuettava valittuja integrointitekniikoita ja haluttua suoritus- ja kehitysympäristöä (+ oppimiskynnys + halutut ominaisuudet + elinkaari…) • mallinnus, toiminnanohjaus, komponenttitoteutus, sovittimet, liittymästandardit, integrointialustat, ohjelmointikielet, middleware (etäohjelmakutsu, viestijono, TP monitor, oliosanomavälitin, tietokanta), XML • (Ainakin osin) eri välineet eri integrointitapoihin ja -malleihin • Erityispiirteitä integrointivälineissä • Useita eri lähteitä hyödyntävälle tai eri protokollia käyttävä viestinvälitykselle (http, viestijonotuotteet ja -standardit, sähköposti, ftp, tiedostot, tietokantaliittymät, olio- ja palveluprotokollat kuten SOAP, IIOP ja COM) • Mahdollisuus välittää tietoa kahdenvälisesti tai monenvälisesti • Tiedon muodon muunnokset, esim. ohjelmointikielen tietotyypeistä määritellyn XML-rakenteen elementeiksi tai IDL-liittymän attribuuteiksi ja tietotyypeiksi (ja päinvastoin), dokumenttien muunto rakennemäärittelystä toiseen • Tiedon ja metatiedon vastaavuuksien määrittely osallistuvissa järjestelmissä ja määrittelyn pohjalta tapahtuvat konversiot, erityisesti ulkoisesta (standardi‑) määrittelystä automaattisesti generoitavat sovellusosat • Tuki tai sovittimet useille suoritusalustoille ja ohjelmointikielille tai sovelluskehittimille • Tuki useille sisällöllisille standardeille, kuten HL7, SWIFT, EDI jne. • Mahdollisuus lisätä ulkopuolisten osapuolten tekemiä sovittimia • Tuotteeseen integroidut toimintaprosessien hallinta- ja työnkulun ohjausominaisuudet [Ohjelmistotuotannon välineselvitys – näkökulmia terveydenhuollon ohjelmistoyrityksen välinesalkun kokoamiseen]

  36. Yhteenveto, keskustelu

  37. Erityyppiset ratkaisut

  38. Kokemuksia monenvälisestä integroinnista • 9 tiimiä, 14 integrointikohdetta, eri tyyppisiä tarpeita • Integroinnin määrittely ja toteutus • Integrointialueen tuntemus välttämätöntä ratkaisun määrittelyssä • Kiireellisimmät integrointitarpeet mukaan ensimmäiseen iteraatioon (määrittelystä toteutukseen), uudet versiot • Määrittely ja toteutus järkevää erottaa omiksi “projekteikseen”, varsinkin avoimissa määrittelyissä (toteutushyödyt, kilpailuetujen suojelu) • Uusien ratkaisujen ja tekniikoiden vähittäinen sisäänajo, migraatio sovelluksille ja asiakkaille, referenssitoteutukset • Standardit ja tuotekohtaiset seikat • Standardeilla, tekniikoilla ja välineillä vaikutuksia monille eri tasoille, mutta eri osapuolilla ei resursseja arvioida kaikkia vaikutuksia • Top-down: Toimialakohtaisten standardien tulisi perustua yleisiin avoimiin standardeihin • Bottom-up: Ratkaisujen sitominen/kerääminen olemassa olevista sovelluksista, yleistäminen avoimeksi (suunnittelukäytännöt, harmonisointi, standardointiprosessi) • Ratkaisujen arviointi ja sertifiointi tarpeen, ulkoinen taho • Joustavuus (heterogeenisyys) avoimilla tekniikoilla ja tiedon erottamisella toiminnallisuudesta • Monenväliset integrointiprojektit • Osallistujilla “eri aloilta” erilaiset taidot, erilainen kieli • Johdon sitoutuminen – vaatimukset, resurssit, aikataulu • Neutraali moderaattori määrittelyssä, “konsultti” toteutuksessa • Toteutus/tilaajakohtaiset seikat (jakelu, ylläpito, omistajuus) erilleen avoimista määrityksistä [Mykkänen, Porrasmaa, Korpela, Häkkinen, Toivanen, Tuomainen, Häyrinen, Rannanheimo. Integration Models in Health Information Systems: Experiences from the PlugIT project. Medinfo 2004].

  39. Integroinnin määrittely • sovelletaan eri tavoin erilaisissa integrointitilanteissa • taustaselvitys- ja analyysitarve vaihtelee  ”älä jumiudu taustoihin” (analysis paralysis) • määritykset ja standardit validoidaan toteutuksilla palaute määrityksiin, versiointi • määrittelypohja käytettävissä myös integrointiratkaisujen arviointiin • Määritysten hyödyntäminen • integraation toteutuksissa tuotteisiin, sovittimien rakentamisessa • tarjouspyynnöissä • Seuraavaksi • testaus, määrittelyjen mukaisuus • soveltamiskokemuksia ohjelmistotuotannon menetelmistä

  40. Yleistäminen (avoimessa määrittelyssä) • järjestelmistä yleisnimet, ”actors” • nykyjärjestelmien ja nykytilan kuvaus erillään avoimista määrittelyistä • tiedot ja toiminnot tarvittaessa määriteltynä erikseen • avoimien määrittelydokumenttien tasot (ks. ”Tuotosten jaon tarkoitus”) • varsinkin ”tekniset määrittelyt” tasolla avoimien tai paljon käytettyjen tekniikoiden valinta • määrittelyjen kommentointi monelta osapuolelta, hyväksyminen, standardointi

More Related