Integraatioratkaisu joukkoviestintäverkkojen esittämiseen paikkatietojärjestelmässä Tuomas Suni Digita Oy Valvoja: Prof. Jukka Manner Ohjaaja: DI Heikki Isotalo Tietoverkkotekniikan diplomityöseminaari 12.4.2016
Esitelmän sisältö 1. Työn tausta ja tavoite 2. Teoreettinen viitekehys 1. Paikkatietojärjestelmät 2. Hajautetut järjestelmät 3. Käytetyt menetelmät 1. Järjestelmän vaatimusmäärittely 2. Ohjelmointirajapinnat ja integraatiot 4. Toteutettu järjestelmäratkaisu 1. Arkkitehtuuri 5. Tulokset ja johtopäätökset 2
Työn tausta ja tavoite
Työn tausta Digita Oy välittää radio- ja TV-ohjelmat antenniverkossa lähes kaikkialla Suomessa Antennitelevisio- ja radiopalvelujen tarjonta vaihtelee alueellisesti: esimerkiksi kanavatarjonta, lähetystaajuudet ja lähetysaseman suunta muuttuu sijainnin funktiona Digita Oy:n on viestittävä kuluttaja-asiakkailleen palveluiden paikkakuntakohtaisesta tarjonnasta täsmällisesti Viestintävirasto velvoittaa teleyrityksiä tiedottamaan merkittävistä häiriöistä palveluissa, myös internetissä karttaesityksenä (M66/2014) Verkossa olevien häiriöiden ja huoltojen palveluvaikutus on lähes aina alueellinen 4
Työn odotettu lopputulos Digita Oy tarvitsee paikkatietojärjestelmän, jolla viestitään valituille käyttäjäryhmille tietoa ainakin palveluiden alueellisesta tarjonnasta, verkkojen häiriötilanteesta sekä huoltotöistä Paikkatietojärjestelmä integroituu yrityksen olemassa oleviin operatiivisiin tietojärjestelmiin, jotka toimivat paikkatietojärjestelmän ensisijaisina tietolähteinä Järjestelmän käyttöliittymä liitetään osaksi Digitan julkista www-sivustoa Olemassa oleville tietojärjestelmille luodaan ohjelmointirajapinta, jota voidaan hyödyntää myös muissa tulevissa sovelluksissa 5
Teoreettinen viitekehys
Paikkatieto ja paikkatietojärjestelmät Paikkatietojärjestelmä (GIS) on tietokonejärjestelmä, jolla käyttäjä voi tehdä vuorovaikutuksellisia kyselyjä, analysoida paikkatietoa, editoida dataa, karttoja tai esittää näiden tuloksia käyttäjälle Paikkatieto jakautuu rasteri ja vektorimuotoiseen perustyyppiin Rasterimuodossa kohde tallennetaan bittikarttakuvana Vektorimuodossa kohde tallennetaan joukkona koordinaattipisteitä Geographic Markup Language (GML) on XML-kielioppiin perustuva kieli, jota käytetään paikkatiedollisten ominaisuuksien määrittämiseen, siirtämiseen ja varastoimiseen Web Feature Service (WFS) määrittelee palvelurajapinnan paikkatiedon toimittamiseen ja päivittämiseen GML-muodossa 7
Palvelukeskeinen arkkitehtuuri Palvelukeskeinen arkkitehtuuri (SOA) on arkkitehtuurinen tyyli, jossa liiketoimintakeskeinen palvelu on peruselementti Useimmat SOA:n määritelmät keskittyvät sovelluksien toiminnallisuuksiin, jotka ovat löydettävissä ja uudelleen käytettävissä löyhästi kytkettyjen standardien rajapintojen kautta SOA on toimiva ratkaisu eri sovellusten integroimiseen, jotka on toteutettu erilaisilla teknologioilla SOA:lla on mahdollista ratkaista hajautettujen järjestelmien ja ohjelmistojen integraatioiden toteuttamiseen liittyviä haasteita 8
Web Services -teknologioita Työssä käytettyjä W3C:n XML:ään perustuvia standardeja: XML Schema XML-sanaston määrittelevä mallinnuskieli XPath Lausekekieli XML-dokumenttien sekvenssien osoittamiseen XQuery Kyselykieli XML-tietolähteisiin Simple Object Access Protocol (SOAP) XML-pohjainen protokolla sanomaliikenteelle ja proseduurien etäkutsulle Kevytrakenteinen protokolla hajautettuihin järjestelmiin Web Service Description Language (WSDL) Web Service rajapinnan kuvaava XML-pohjainen kieli 9
Käytetyt menetelmät
Työn vaiheistus Paikkatietojärjestel män vaatimusmäärittely Työpajat Uusi rajapintakerros tietojärjestelmille JCA-tietokantaadapterit Java-sovellukset Julkinen ohjelmointirajapinta JCA-tietokantaadapterit Dokumentaatio Olemassa olevat järjestelmät ja rajapinnat Rajapintadokumenta atiot Palvelukeskeinen arkkitehtuuri Integraatiopalveluiden toteuttaminen Palveluväylällä toteutetut työnkulut 11
Vaatimusmäärittely Käyttäjäryhmät Television katselijat ja radion kuuntelijat Asiakasyritysten henkilöt Digitan oma kuluttajapalvelu Digita Info Pääkäyttötapaukset Televisiokanavan, kanavanipun näkyvyysalueen tai radiokanavan kuuluvuusalueen selvittäminen Tietyssä sijainnissa tarjottavien kanavien selvittäminen Lähetyksessä olevan häiriön tietojen ja palveluvaikutuksen selvittäminen Paikkakunnalla toimivien antenniasentajayritysten etsiminen Television vastaanottoantennin suuntaaminen karttapalvelun avulla Kuluttajan vastaanotto-ongelmien selvittäminen 12
Toteutettu järjestelmäratkaisu
Taustajärjestelmän tietokanta Palveluväyläväliohjelmisto Integraatiokerros Liiketoimintapalvelut XML-skeema Järjestelmien rajapinnat Tietolähteet Ajastuspalvelu 14
Käyttöliittymäsovellus Julkinen ohjelmointirajapinta ja sen kuvaus Tietokanta-adapterilla tuotetaan SQLkyselystä Web Service -rajapinta Taustajärjestelmän tietokanta 15
Paikkatiedon välitys sovellukselle MapInfo TAB tiedosto tallennetaan MapInfo Professional ohjelmistolla relaatiotietokantaan paikkatietokohteeksi GeoServer kyselee peittoalueen tietokannasta käyttöliittymäsovelluksesta tulleen WFSkyselyn parametreilla WFS-vastaus sisältää paikkatiedon ja ominaisuustiedot GML-muodossa Ominaisuustiedoilla paikkatieto on yhdistettävissä ei-paikkatietoon GeoServerin kautta kysellään palveluiden peittoalueet sekä paras televisiolähetysasema 16
Käyttöliittymäsovellus Tämän työn laajuus päättyi julkiseen ohjelmointirajapintaan CGI Finland Oy toteutti rajapintaa hyödyntämällä käyttöliittymäsovelluksen tämän työn vaatimusmäärittelyn pohjalta http://www.digita.fi/karttapalvelu 17
Esimerkki: televisio- ja radiopalvelut tietyssä osoitteesa 18
Tulokset ja johtopäätökset
Tulokset Toteutettu hajautettu paikkatietojärjestelmä vastaa erittäin hyvin sille asetettuihin toiminnallisiin vaatimuksiin Paikkatietojärjestelmässä ei ole hallintaliittymiä, eikä järjestelmän käyttöönotto lisännyt organisaatiossa tehtävää työtä Heterogeenisten järjestelmien tekniset erovaisuudet häivytettiin tehokkaasti XML-pohjaisilla standardeilla rajapinnoilla ja protokollilla Palvelukeskeinen arkkitehtuuri sopii hyvin myös paikkatietojärjestelmiin Julkinen ohjelmointirajapinta on käytettävissä myös muissa sovelluksissa Julkisen rajapinnan käyttö ei missään tilanteessa kuormita Digitan operatiivisia tietojärjestelmiä Paikkatiedon siirtämiseen tarkoitettu WFS ja ei-paikkatiedon siirtämiseen tarkoitettu SOAP tekivät rajapinnasta kaksijakoisen. Hyvää standardia protokollaa kaiken tiedon siirtämiseen ei tässä työssä löytynyt. Palveluväylä (ESB) ei tue hyvin paikkatiedon käsittelyä, mutta on erittäin sopiva palvelukeskeisen arkkitehtuurin mukaisten komponenttien toteuttamisessa. 20
Kehityskohteet Palveluista voisi kehittää vielä enemmän uudelleen käytettäviä. Harkittava jatkossa RESTarkkitehtuurimallin mukaisia resurssikeskeisiä palveluita. Tietyt ei-paikkatietona jaetut kohteet voitaisiin jatkossa mallintaa standardeina paikkatietokohteina, esimerkkinä lähetysasemat. Tällöin niiden vienti mihin tahansa muuhun paikkatietojärjestelmään olisi mahdollista Heterogeenien data oli heterogeenista myös koordinaattijärjestelmien suhteen. Koordinaattijärjestelmien paremmalla suunnittelulla vältytään ylimääräisiltä koordinaattimuunnoksilta. Julkinen rajapinta ei välttämättä toimisi täysin reaaliaikaisten sovellusten kanssa hyvin. Rajapinnan palauttama aineisto on monin paikoin hyvin suurta, joten sen prosessointi sovelluksessa käytön aikana voi aiheuttaa haasteita. Tarpeen tullen on syytä selvittää tehokkaampien protokollien olemassa oloa tai luoda uusia suorituskyvyltään korkeita rajapintapalveluita, joiden palauttama kertadatamäärä on tarpeeksi pieni. Rajapinnan suorituskyvyn tutkimus olisi tärkeää, mikäli sen jatkohyödyntämistä harkitaan 21