Avoimien hajautettujen järjestelmien tutkimusseminaari Aihe: ODP-viitemalli Tekijä: Eero Raunio ODP:n tarkoituksena on mahdollistaa standardien tuottaminen , jotka hyödyntävät heterogeenistä laitealustaa usean organisaation alueella. ODP-viitemalli (RM-ODP, The Reference Model for Open Distributed Processing) on standardi, joka koostuu neljästä osasta: Osa 1 - Yleiskatsaus (Overview), Osa 2 - Perusteet (Foundations), Osa 3 -Arkkitehtuuri ja Osa 4 - Arkkitehtuurin semantiikka (Architectural Semantics). Osat 2 ja 3, ja niiden selitykset osassa 1, muodostavat metastandardin. Metastandardi ei itse määrittele standardeja avoimiin ja hajautettuihin järjestelmiin, vaan luo kehysrakenteen, joka määrittää käsitteet ja toiminnat. Osa 4 antaa muodollisen tulkinnan. Avoimien ja hajautettujen järjestelmät ovat erittäin monimutkaisia ja niiden suunnittelussa on otettava asioita huomioon laajalta alueela. ODP jakaa määrittelyn osiin viiden (5) näkökulman avulla, joista kukin on tarkoitettu tukemaan tiettyä suunnitteluprosessin osaa. Jokainen näkökulma on täydellinen kuvaus järjestelmästä, mutta näkökulmä vastaa vain kysymyksiin, jotka kuuluvat sen alueeseen. Näkökulmat ovat: tavoitenäkökulma, informaationäkökulma, toiminnallinennäkökulma, toteutusnäkökulma sekä teknologinen näkökulma. Tavoitenäkökulma käsittelee järjestelmän tehtäviä yrityksessä liiketoiminnan kannalta. Informaationäkökulma käsittelee organisaation tietoelementtejä ja niiden liikettä. Toiminnallinennäkökulma käsittelee järjestelmän käyttäytymistä. Toteutusnäkökulma käsittelee järjestelmän toteuttamisen vaatimaa infrastruktuuria. Teknologianäkökulma käsittelee järjestelmän vaatimuksia konkreettisten laitteistojen ja ohjelmistojen kannalta. Sovellusalustan rakenteen muodostavat: oliomalli, tuntumattomuus, yhteensopivuus sekä funktiot. ODP:n oliomalli on tehty avoimia ja hajautettuja järjestelmiä varten. ODP:ssä olioita käytetään rajapintojen kautta, olio voi toteuttaa useita rajapintoja. Kukin rajapinta kuvaa olion tiettyä roolia. Tyyppi on ominaisuus, jonka olioiden joukon tulisi omata. Luokka on joukko olioita, jotka ovat tiettyä tyyppiä. Tuntumattomuuden avulla voidaan peittää hajautettuihin järjestelmiin liittyviä ongelmia, näin ohjelmoijan ei tarvi välittää näistä ongelmista. Joskus ohjelmoijan tulee toisaalta tietää hajautuksesta, esim. reaaliaikaisia järjestelmiä tehtäessä. ODP:ssa tuntumattomuus on valinnaista, eli ohjelmoija voi itse valita läpinäkyvyyden tason. Hajautuksen tuntumattomuudet ODP:ssa ovat: saantituntumattomuus, vikatuntumattomuus, paikkatuntumattomuus, siirtymistuntumattomuus, keskeytystuntumattomuus, uudelleensijoitustuntumattomuus, toisinnustuntumattomuus ja transaktiotuntumattomuus. Yhteensopivuus, joka on avoimille ja hajautetuille järjestelmille välttämätöntä, tarkoittaa määrittelyn ja toteutuksen suhdetta. ODP:ssä yhteensopivuutta testataan referenssi kohtien avulla. Toimintaa, joka ei ole näkyvää refenssikohdassa, ei testata. ODP määrittelee joukon funktioita, joita tarvitaan ODP sovellusalustassa. Funktiota ovat: meklaus (trading), tyyppitietovarasto (type repository) ja sitominen (binding). Kaupankäynnissä oliot antavat rajapintojaan meklarille välitettäväksi. Palveluja tarvitsevat olion voivat puolestaan kysyä rajapintoja meklarilta. Tyyppitietokanta toimiii ajonaikaisen tyyppitiedon välittäjänä. Sitominen liittyy rajapintojen välisten kanavien määrittelyihin. Seminaarityöni tulee painottumaan näkökulmien ja sovellusalustan rakenteen kuvaamiseen. Termistöä käydään läpi välttämättömiltä osin. ODP-standardin osat 1 - 3 ovat seminaarityön tärkeimmät lähteet. Muuta aineistoa, kuten seminaarijulkaisuja, käytän tarvittaessa tukena.