1.1.2005 ARKKITEHTUURIMÄÄRITTELY 0.3 Luonnos
DOKUMENTIN nimi 2 (17) VERSIONHALLINTA Versio Päivä Tekijä Kuvaus 0.1 2.10.2006 Tuomas Tolvanen Ensimmäinen versio 0.2 4.10.2006 Tuomas Tolvanen Lisätty vaatimuksia ja tarkennettu näkymien vaatimuksia. 0.3 Tuomas Tolvanen Lisätty näkökulmien kuvaukset
DOKUMENTIN nimi 3 (17) SISÄLLYS 1. JOHDANTO... 4 1.1. Viittaukset muihin dokumentteihin... 4 1.1.1. Projektisuunnitelma... 4 1.1.2. Vaatimusmäärittely... 4 2. SIDOSRYHMIEN MÄÄRITTELY JA VAATIMUKSET... 5 2.1. Toiminnalliset vaatimukset... 5 2.1.1. Käyttötapaukset... 5 2.1.2. Muut toiminnalliset vaatimukset... 6 3. LAATUATTRIBUUTIT... 7 4. ARKKITEHTUURINÄKÖKULMAT... 8 4.1. Toiminnallinen näkökulma... 8 4.2. Informaatio ja prosessi -näkökulma... 8 4.3. Kehitys-näkökulma... 8 4.4. Operatiivinen näkökulma... 9 4.5. Fyysinen näkökulma... 9 5. ARKKITEHTUURINÄKYMÄT... 10 5.1. Toiminnallinen näkökulma... 10 5.1.1. Tasoarkkitehtuuri.... 10 5.2. Informaatio ja prosessi -näkökulma... 11 5.2.1. Siirrettävä tietoaineisto... 11 5.2.2. Viestien rakenne... 11 5.2.3. Tietokanta... 11 5.2.4. Viestinvälitys... 12 5.3. Kehitys-näkökulma... 13 5.3.1. Komponentti-diagrammi... 13 5.4. Operatiivinen näkökulma... 14 5.4.1. Järjestelmän asennus... 14 5.4.2. Järjestelmän ylläpito... 14 5.5. Fyysinen näkökulma... 15 5.5.1. Järjestelmien fyysinen sijoittuminen... 15 6. ARKKITEHTUURIN YHTENÄISYYS NÄKYMIEN VÄLILLÄ... 16 7. ARKKITEHTUURISTEN PÄÄTÖSTEN PERUSTELUT... 17 7.1. Tiedonsiirtomenetelmät... 17
DOKUMENTIN nimi 4 (17) 1. JOHDANTO Tämä dokumentti on luonnos Dentego-järjestelmän arkkitehtuurimäärittelystä. Dokumentin tarkoituksen on määritellä sovellusarkkitehtuuri Dentego-ryhmän projektille. Projektin tarkoituksena on toteuttaa järjestelmä Hammaslääkäriasemien ja Vakuutusyhtiön väliseen tiedonvälitykseen. Tiedonvälitys koostuu Hammaslääkäriasemien tekemien hoitosuunnitelmien ja vakuutusyhtiöiden myöntämien maksusitoumusten välittämisestä osapuolten välillä. Viestintä tapahtuu kansallisen terveyshankkeen (HL7) mukaisen XML standardin välityksellä. Toteutettava järjestelmä toimii välityspalvelimena viestien välityksessä osapuolten välillä. 1.1. Viittaukset muihin dokumentteihin 1.1.1. Projektisuunnitelma 1.1.2. Vaatimusmäärittely Projektisuunnitelma määrittelee yleiset projektin toteutukseen liittyvät yksityiskohdat https://svn.dentego.com/dokumentit/projektisuunnitelma.doc Vaatimusmäärittely-dokumentissa määritellään arkkitehtuurin perustana olevat toiminnalliset ja ei-toiminnalliset vaatimukset. Tässä dokumentissa käsitellään vaatimuksia, jotka ovat arkkitehtuurin kannalta merkityksellisimpiä. https://svn.dentego.com/dokumentit/vaatimusmaarittely.doc
DOKUMENTIN nimi 5 (17) 2. SIDOSRYHMIEN MÄÄRITTELY JA VAATIMUKSET Sidosryhmät on esitelty tarkemmin dokumentissa Projektisuunnitelma. Sidosryhmille on määritelty tärkeimmät laatuun liittyvät, sekä toiminnalliset vaatimukset. Vaatimukset ja niihin liittyvät käyttötapaukset on määritelty tarkemmin dokumentissa Vaatimusmäärittely. Järjestelmän kanssa kommunikoivat pääasiassa toiset järjestelmät, joten vaatimuksia käsitellään lähinnä järjestelmän näkökulmasta Käyttäjäryhmä Kuvaus Käyttäjien määrä Doctoral Hammaslääkärit suuterveydenhuollon vastaanotolla Ryhmän tärkeys 340 Erittäin Doctorex Vakuutuskäsittelijä Muutama (1-6) Erittäin ylläpitäjä Plusterveyden tietohallinto 1-2 Vähäinen 2.1. Toiminnalliset vaatimukset Arkkitehtuurisesti merkittävimmät vaatimukset ja rajoitteet on esitelty alla Sidosryhmien vaatimukset on identifiotu käyttämällä seuraavaa merkintätapaa: UCx Käyttötapaukset FRx Toiminnalliset vaatimukset NFRx Ei-toiminnalliset vaatimukset Cx Yleiset rajoitteet 2.1.1. Käyttötapaukset ID Nimi Kuvaus UC1 UC2 UC3 UC4 Hoitoehdotuksen vastaanotto Hoitoehdotuksien toimitus Maksusitoumuksien haku Maksusitoumusten toimitus Dentego-palvelin vastaanottaa ja tallentaa hoitoehdotuksen. Lähettää kuittauksen Doctoral:iin Dentego-palvelin vastaanottaa kyselyn uusista hoitoehdotuksista ja toimittaa ne Dentego-palvelin kyselee uusia maksusitoumuksia välityspalvelimelta. Dentego-palvelin vastaanottaa maksusitoumuskyselyn Doctoral:lta ja toimittaa sille kuuluvat uudet maksusitoumukset. UC5.1- Järjestelmän Vastaanottojen lisäys ja muokkaus. Tietojen
DOKUMENTIN nimi 6 (17) 5.4 ylläpito välityksen poikkeusmääritysten muokaus. Logitietojen tarkasteleminen UC6.1 UC6.2 Finvoice-laskun vastaanotto Finvoice-laskun välitys Dentego-palvelin vastaanottaa ja tallentaa Finvoicen. Lähettää kuittauksen Doctoral:iin Dentego-palvelin välittää Finvoicen TEpalvelimelle pyynnön perusteella. 2.1.2. Muut toiminnalliset vaatimukset ID FR1 FR2 FR3 FR4 FR5 FR6 FR7 Kuvaus Käyttäjän lähettää hoitoehdotuksen vakuutusyhtiölle. Vakuutuskäsittelijä lähettää maksusitoumuksen käyttäjälle. Käyttäjän lähettää laskun vakuutusyhtiöön. Dentego-palvelin havaitsee ja ilmoittaa virhetilanteista ylläpitäjälle. Dentego-palvelin tarkistaa duplikaatti viestit, hoitoehdotukset ja maksusitoumukset sekä Finvoicet. Dentego-palvelin lähettää viestin (data, siirtotason kuittaus, sovellustason kuittaus) uudestaan kolme kertaa jos ei ole saanut siihen kuittausta. Jos ei kuittaus ei mene perille, ilmoitus ylläpitäjälle. Doctoral-ohjelmisto vastaanottaa vain sille kuuluvia viestejä OIDtunnuksen perusteella Arkkitehtuurinen tärkeys Keski-kokoinen Keski-kokoinen Keski-kokoinen Pieni Pieni Keski-kokoinen Pieni Käyttötapaus UC1 UC2 UC3 UC4 UC6.* UC1-4 UC6.* UC1 UC3 UC6.1 UC1-4 UC6.* UC4
DOKUMENTIN nimi 7 (17) 3. LAATUATTRIBUUTIT Järjestelmän laatuattribuutit määrittelevät arkkitehtuurisesti merkittävimmät laatuvaatimukset. Järjestelmän toteutuksessa tulee täyttää asetetut laatukriteerit. Laatuattribuutit ja niiden kriteerit on määritelty dokumentissa Vaatimusmäärittely ID Laatuattribuutti Prioriteetti NFR1 Käsiteltävien tietojen Pakollinen luottamuksellisuus NFR2 Tiedon oikeellisuus ja eheys Pakollinen NFR3 Järjestelmän saatavuus Tärkeä NFR4 Suorituskyky Vähäinen
DOKUMENTIN nimi 8 (17) 4. ARKKITEHTUURINÄKÖKULMAT 4.1. Toiminnallinen näkökulma Arkkitehtuurin näkökulmat määrittelevät miten järjestelmä määritellään ottaen huomioon eri näkökulmat. Varsinainen arkkitehtuuri määritellään Arkkitehtuurinäkymien kautta. Toiminnallisella näkökulmalla kuvataan järjestelmän yleiskuva ja arkkitehtuurin toiminnalliset osat, sekä niiden väliset suhteet ja riippuvuudet. Sisältö: Järjestelmän toiminnallinen rakenne ja viestinvälitykseen liittyvät osapuolet. Järjestelmän tasoarkkitehtuuri. Kuvaustapa: Laatikko- ja viiva diagrammit 4.2. Informaatio ja prosessi -näkökulma 4.3. Kehitys-näkökulma Informaatio näkökulmalla kuvataan kulkevaa tietoa Näkökulmassa määritellään tiedonsiirrotietorakenteen ja XML-dokumenttien rakenteet, tietokannan rakenne. Sisältö: Siirrettävän datan tietorakenne XML ja schemat Tietokanta Viestien ja lomakkeiden rakenne Viestinkäsittelyn vaiheet Vuorovaikutus muiden järjestelmien kanssa Kuvaustapa: XML Schema-diagrammit ER-diagrammit tietokannasta UML Sekvenssidiagrammit kuvamaan viestien käsittelyä ja viestien liikettä Näkökulmassa määritellään järjestelmän koostuminen eri kokonaisuuksista. Sisältö: Ohjelman sisäinen moduulijaottelu. Kuvaustapa: UML Komponenttidiagrammi
DOKUMENTIN nimi 9 (17) UML Luokkadiagrammi 4.4. Operatiivinen näkökulma Operatiivisessa näkökulmassa kuvataan miten hallitaan järjestelmää Sisältö: Ylläpitotoiminnot Kuvaustapa: Teksti 4.5. Fyysinen näkökulma UML-statechart diagrammit Fyysinen näkökulma määrittää laitteiden fyysisen sijoittelun, sekä laitteiden tekniset ominaisuudet Sisältö: Palvelinten sijoittelu Palvelinten ominaisuudet Kuvaustapa: Laatikko ja viivadiagrammit
DOKUMENTIN nimi 10 (17) 5. ARKKITEHTUURINÄKYMÄT Kommentit: Arkkitehtuurinäkymät esittelevät alustavan suunnitelman arkkitehtuurista. 5.1. Toiminnallinen näkökulma Toiminnallisella näkökulmalla kuvataan järjestelmän yleiskuva Dentego-järjestelmä kuvaa toteutettavaa järjestelmää Dentego-järjestelmä Doctoraljärjestelmät HL7 HL7 Tietoliikenne-adapteri Tietoliikenne-adapteri TE-välityspalvelin Sovellusadapteri Pohjolan asiakasohjelmisto Tietokanta Figure 1 Yleiskuva järjestelmästä ja sen vuorovaikutuksesta muiden järjestelmien kanssa 5.1.1. Tasoarkkitehtuuri. Käsitteelliset komponentit kerroksiin Tiedonsiirtokerros Sovelluskerros Tietokanta-abstraktio Olio-Tietokanta mäppäys Tietokanta Järjestelmän koostuminen eri kokonaisuuksista.
DOKUMENTIN nimi 11 (17) 5.2. Informaatio ja prosessi -näkökulma 5.2.1. Siirrettävä tietoaineisto 5.2.2. Viestien rakenne Informaatio-näkökulmalla kuvataan järjestelmässä käsiteltävää tietoa. Siirrettävät dokumentit ovat OpenCDA 2006 määritelmän mukaisia XMLdokumentteja, sekä FINVOICE-tyyppinen lasku E-lausunto Maksusitoumuspyyntö Hoitosuunnitelma Maksusitoumus FINVOICE-lasku Kuljetuskehys Siirrettävät lomakkeet ja kyselyt kuljetetaan seuraavanlaisen SOAP-kehyksen sisällä Kuva 4: Kuljetuskehyksen schema (Viite: OpenCDA2006_Tiedonsiirto_ja_välitys.doc) 5.2.3. Tietokanta
DOKUMENTIN nimi 12 (17) Tietokannan taulujen relaationäkymä 5.2.4. Viestinvälitys Tiedonsiirto käyttötapauksissa
DOKUMENTIN nimi 13 (17) 5.3. Kehitys-näkökulma 5.3.1. Komponentti-diagrammi DoctoralSystem DoctorexSystem Tiedonsiirto tapahtuu WebServiceillä SOAP-protokollan välityksellä. ApplicationServer MessageRecieveLocation MessageSendLocation Communication Ylläpito JSP-sivujen kautta WebUI Facade Logger MessageHandler AuthenticationProvider Logging MessageProcessing Authentication Administration Tietokantaliikenne kulkee olio-relaatiomäppäyksen läpi (Hibernate) Persistence Tietokanta MS SQL Server 2005 Applicaton server: JBoss Application Server 4.0 Servlet-container: Apache Tomcat 5.5 O/R Persistence: Hibernate 3.0 Tiedonsiirron lokitus: Hibernaten kautta Tekninen lokitus: CommonsLogging/Log4J
DOKUMENTIN nimi 14 (17) 5.4. Operatiivinen näkökulma Operational näkökulmalla kuvataan miten hallitaan järjestelmää (Käyttäjät ja auditointi) 5.4.1. Järjestelmän asennus 5.4.2. Järjestelmän ylläpito
DOKUMENTIN nimi 15 (17) 5.5. Fyysinen näkökulma 5.5.1. Järjestelmien fyysinen sijoittuminen Vastaanotto Plusterveys sisäverkko Doctoral VPN Dentego-palvelin Vastaanotto 2WAYSSL Doctoral Vastaanotto VPN TE-palvelin Doctoral VPN
DOKUMENTIN nimi 16 (17) 6. ARKKITEHTUURIN YHTENÄISYYS NÄKYMIEN VÄLILLÄ Tänne tulevat tärkeimmät riippuvuudet eri näkymien välillä ja niiden selvittäminen.
DOKUMENTIN nimi 17 (17) 7. ARKKITEHTUURISTEN PÄÄTÖSTEN PERUSTELUT 7.1. Tiedonsiirtomenetelmät PULL-menetelmän käyttö Järjestelmässä Doctoral-sovellukset hakevat tiedon Dentego-palvelimelta PULL-periaatteella, koska Doctoral-järjestelmät ovat vaihtuvien IP-osoitteiden takana.