Työmaan reaaliaikainen kommunikaatiojärjestelmä käyttäen XMPP-protokollaa
|
|
- Leena Hakola
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 Työmaan reaaliaikainen kommunikaatiojärjestelmä käyttäen XMPP-protokollaa Oskari Timperi Opinnäytetyö Joulukuu 2011 Tietotekniikka Ohjelmistotekniikka Tampereen ammattikorkeakoulu
2 TIIVISTELMÄ Tampereen ammattikorkeakoulu Tietotekniikan koulutusohjelma Ohjelmistotekniikan suuntautumisvaihtoehto TIMPERI, OSKARI: Työmaan reaaliaikainen kommunikaatiojärjestelmä käyttäen XMPP-protokollaa Opinnäytetyö 30 s., liitteet 11 s. Joulukuu 2011 Nykyään yksi rakennushankkeiden ongelmista on automaattisen tiedonkeruun puutteellisuus tai puuttuminen kokonaan. Hankkeissa voi olla käytössä useita järjestelmiä, jotka eivät osaa keskustella eivätkä jakaa tietoa keskenään. Osa rakennushankkeiden dokumentaatiosta on paperisena ja osa sähköisenä eri formaateissa. Tämä hankaloittaa huomattavasti järjestelmien yhteistoimintaa. Dokumentaation tulisi olla kaikkien ymmärtämässä sähköisessä muodossa, jolloin sen jakaminenkin olisi yksinkertaisempaa. Tämän opinnäytetyön tavoitteena oli suunnitella kommunikointiprotokolla sekä kehittää sitä käyttävä järjestelmä, jonka avulla muut järjestelmät voivat vaihtaa keskenään helposti tietoa. Protokollan tulee myös olla helppokäyttöinen, laajennettava sekä avoin. Opinnäytetyön puitteissa suunniteltu protokolla sisältää määrittelyn tilatiedon ja paikkatiedon jakamiseen työmaalla. Protokolla on täysin avoin ja helposti laajennettavissa moneen käyttökohteeseen. Protokollan suunnittelun lisäksi toteutettiin alustava järjestelmä, joka integroidaan myöhempänä ajankohtana Novatron Oy:n laitteisiin. Asiasanat: tiedonsiirto, maanrakennus, koneohjaus
3 ABSTRACT Tampereen ammattikorkeakoulu Tampere University of Applied Sciences Degree Programme in Software Engineering TIMPERI, OSKARI: Real-time Communication System for Worksites Using XMPP Protocol Bachelor s thesis 30 pages, appendices 11 pages December 2011 One of the main problems in construction projects today is the inadequate use or lack of automatic data acquisition. Projects may have various data systems that cannot exchange information between each other. Part of the project documentation may be in paper format and some other part may be in different electronic formats. This makes it hard for different systems to communicate. The purpose of this thesis was to design a communication protocol that could be used between different systems to easily exchange information. The protocol should be easy to use, extensible and open. Also a preliminary system using the protocol would be needed. The protocol designed in the limits of this thesis includes specifications for exchanging status and location information. The protocol is fully open and extensible to many uses. In addition to the protocol a system was developed that uses the protocol. The system is integrated to Novatron Oy s products at a later time. Keywords: information exchange, construction, machine control
4 Esipuhe Tämän opinnäytetyön tekeminen on ollut melkoinen prosessi. Aihetta ehdotettiin minulle jo toukokuussa 2011, jolloin olin työskennellyt Novatronilla vajaan kuukauden. Koneenohjaus ja maanrakennus olivat kohtuullisen uusia asioita. Opinnäytetyön tekemisen aloitin syksyllä. Varsinainen tekstin kirjoittaminen alkoi lokakuussa. Aikataulun sovittaminen opinnäytetyölle, koululle, järjestötoiminnalle sekä kaikelle muulle oli varsin haastavaa ja nyt tuntuukin, että tunnelin päässä näkyy valoa. Haluaisin kiittää työn valvojaa Jari Mikkolaista rennosta otteesta, kolleegaani Jarkko Leppästä hyvistä ideoista ja neuvoista, esimiestäni Visa Hokkasta haastavasta aiheesta, muuta Novatronin henkilöstöä mielenkiintoisesta työympäristöstä, sekä Leena Koskimäkeä tuesta syksyn aikana. Tampereella joulukuussa 2011 Oskari Timperi
5 Sisältö 1 Johdanto Tausta Tavoite Novatron Oy Työn rakenne Tutkitut tekniikat IRC XMPP Vertailu ja yhteenveto XMPP JID -tunnus XEP XEP-0045: Multi User Chat Palvelimet Viestien pakkaus MUC -palvelun skaalautuvuus Arkkitehtuuri Yleiskuvaus Botit Projektibotti Lokaatiobotti Kanavat Asiakas Kommunikaatio Projektiin liittyminen Projektin tiedot Paikkatieto Yhteenveto 29 LÄHTEET 30 LIITTEET 31
6 Sanasto Base64 Binääri-XML Botti DMUC EXI GPRS GZIP HTML IETF IRC Jabber JID LandXML MUC OgreMesh PubSub UCS Unicode UTF-8 VoIP W3C XEP XML XML-skeema Binääritiedon koodaustapa, joka perustuu lukujärjestelmään jonka kantaluku on 64 Mikä tahansa määrittely joka määrittää XML:lle tiiviimmän esitystavan binäärimuodossa Sanasta robotti; sovellus joka toimii itsenäisesti sille määriteltyjen toimintaohjeiden puitteissa Distributed MUC; hajautettu MUC -palvelu Efficient XML Interchange; eräs binääri-xml formaatti General Packet Radio Service GNU zip; Tiedostonpakkausohjelma sekä tiedostoformaatti Hyper Text Markup Language The Internet Engineering Task Force; yhteisö joka edesauttaa Internet-tekniikoiden kehittämistä Internet Relay Chat XMPP:n alkuperäinen nimi Jabber Identifier; XMPP -osoitteen nimitys XML-pohjainen tiedonsiirtoformaatti suunnittelu- ja mittausjärjestelmäväelle Multi User Chat; XMPP:ssä käytettävän ryhmäkeskusteluprotokollan nimi Ogre3D:ssä käytettävä XML-esitys malleille Publish & Subscribe Universal Character Set; yleismaailmallinen merkistö joka sisältää noin merkkiä Merkistöstandardi joka sisältää tekstin koodauksen, esityksen sekä käsittelyn suurimmalle osalle maailman kirjoitusjärjestelmistä UCS Transformation Format - 8-bit; ASCIIn kanssa yhteensopiva merkistökoodaus jolla voidaan esittää kaikki merkit UCS - merkistöstä Voice over IP World Wide Web Consortium; kansainvälinen yritysten ja yhteisöjen yhteenliittymä joka ylläpitää WWW:n standardeja XMPP Extension Protocol; XMPP -protokollan laajennos Extensible Markup Language XML-dokumenttien rakenteen kuvaamiseen kehitetty teknologia
7 XML-virta XMPP XSF engl. XML stream; esimerkiksi verkosta luettava ja samalla tulkittava XML -dokumentti Extensible Messaging and Presence Protocol XMPP Standards Foundation
8 1 Johdanto 1.1 Tausta Tällä hetkellä yhdeksi rakennusprojektien ongelmaksi koetaan automaattinen tiedonkeruu työmaalla. Käytössä voi olla useita erilaisia järjestelmiä ja niiden integroiminen on ongelmallista. Rakennusprojektiin liittyviä järjestelmiä voivat olla esimerkiksi koneenohjausjärjestelmät, työmaan suunnitteluohjelmistot ja tiedonkeruuseen tarkoitetut tietopankit. Standardoitua tapaa järjestelmien väliseen kommunikointiin ei ole olemassa. Tiedonkeruu varsinaisen rakentamisen aikana on vain yksi osa kaikkea projektiin liittyvää tietoa. Työmaalla tapahtuvaan tiedonkeruuseen liittyy kiinteästi suunnittelun aikana tehdyt suunnitelmat ja rakentamisen jälkeen suoritettava työn todentaminen. Suunnitelmien perusteella voidaan luoda koneenohjaukselle mallit. Työn aikana kerättyä tietoa voidaan verrata suunnitelmiin ja sitä voidaan käyttää myös todentamiseen. Kaikkien näiden vaiheiden, kuten rakentaminen, suunnittelu ja todentaminen, välillä tapahtuu siis tiedonsiirtoa. On todettu, että rakennushankkeiden vaiheiden välisessä tiedonsiirrossa on parantamisen varaa (Kilpeläinen 2007; Infra - Rakentaminen ja palvelut ). Suuri osa projektiin liittyvästä tiedosta on sähköisessä muodossa. Toisinaan käytetään kuitenkin paperisia dokumentteja. Sekalaisen tiedon yhdistäminen ja ylläpito on vaikeaa. Tietotekniikan yleistyessä myös rakentamisessa on pyritty hyödyntämään digitaalisia tietomalleja. Tietomalli on projektin koko elinkaaren aikaisen tiedon kokonaisuus digitaalisessa muodossa.
9 9 (41) Kuva 1: Rakennusprojektin elinkaari ja siihen liittyvät mallit (InfraTM TEKES loppuraportti 2010) Tulevaisuudessa projektien kaikki dokumentaatio ja materiaali tulisi olla digitaalisessa muodossa. Teoriassa järjestelmien välisen kommunikaation tulisi toimia saumattomasti. Suunnittelijan jollain työkalulla tehdyt työmaasuunnitelmat (geometria kolmiulotteisesti) ja muu dokumentaatio voidaan ladata koneenohjausjärjestelmään, joka pystyy suunnitelmien perusteella opastamaan työkoneiden käyttäjiä tai toimimaan jopa autonomisesti.
10 10 (41) 1.2 Tavoite Tämän opinnäytetyön tavoitteena on määritellä kommunikointiprotokolla sekä - järjestelmä, jota voidaan käyttää automaattisessa tiedonkeruussa sekä yleisesti työmaan kommunikoinnissa. Järjestelmän tulisi helpottaa suunnitelmien siirtämistä koneenohjaukseen ja tehdyn työn todentamista. Tämä opinnäytetyö keskittyy pääasiassa tiedonkeruuseen. Tiedonkeruun osalta keskitytään tila- ja paikkatietoon. Tilatiedolla tarkoitetaan tietoa, joka kertoo mitä esimerkiksi työkone tekee tietyllä hetkellä. Paikkatieto kertoo, missä koneet liikkuvat. Tila- ja paikkatiedon avulla voidaan jo tehdä monenlaisia sovelluksia, kuten tehdyn työn määrän seurantaa. Järjestelmän suunnittelun lähtökohtina on ollut yksinkertaisuus, laajennettavuus ja avoimuus. Järjestelmän tulee olla helposti laajennettavissa. Laajennettavuus takaa sen, että siihen on jälkikäteen helppoa ja vaivatonta lisätä uusia ominaisuuksia, ilman että vanhat ominaisuudet muuttuisivat radikaalisti. Järjestelmän täytyy myös olla avoin siinä merkityksessä, että järjestelmän määrittelyt ovat ilmaisia. Kuka tahansa voi toteuttaa järjestelmän, kunhan se pystyy kommunikoimaan muiden vastaavien järjestelmien kanssa tässä työssä määritellyllä protokollalla. Avoimuus on avainasemassa järjestelmän käyttöönoton kannalta. Kun työmaalta voidaan helposti kerätä tietoa eri tietopankkeihin, pystytään työmaan etenemistä seuraamaan reaaliajassa. Järjestelmästä on eniten hyötyä työnjohdolle. Kerätystä tiedosta voidaan tehdä automaattisesti koneiden tehokkuuslaskelmia, seurata koneiden kulkemia matkoja, tarkastella siirrettyjä massoja ja niin edelleen. Kaikki kerätty tieto ja ja siitä tehdyt laskelmat auttavat kustannusarvioiden tekemisessä sekä aikataulun arvioimisessa. Kommunikoinnin lisääminen tähtää työmaan tehokkuuden parantamiseen, aikataulujen reaaliaikaiseen seuraamiseen ja ennustamiseen sekä säästöjen tekemiseen.
11 11 (41) 1.3 Novatron Oy Novatron Oy on tamperelainen vuonna 1991 perustettu maanrakennuskoneiden mittausjärjestelmiin erikoistunut yritys. Novatron on alallaan Suomen markkinajohtaja sekä yksi Euroopan merkittävimmistä toimijoista. Viimeaikoina kiinnostus Novatronin tuotteisiin on herännyt myös Euroopan ulkopuolella. Yrityksen päätoimipiste sijaitsee Tampereella. Päätoimipisteestä löytyy hallinnon lisäksi tuotanto, varasto, myynti ja tuotekehitys. Novatronilla on tytäryhtiö Ruotsissa, joka hoitaa Ruotsin myynnin, markkinoinnin sekä tuotetuen. Norjassa on osittain omistettu jälleenmyyjä. Pohjoismaiden ulkopuolella jälleenmyynnistä vastaa saksalainen MOBA AG, joka omistaa Novatronista 25 prosenttia. Tuotekehityksen, myynnin ja tuotannon ohella yksi tärkeimpiä ja eniten asiakkaalle näkyviä aspekteja on tuotetuki ja huolto. Novatron onkin panostanut tukeen todella paljon. Tukihenkilöt kiertävät aktiivisesti ympäri Suomen hoitamassa laitteiden asennuksia sekä pahimpia ongelmia, joita asiakas ei pysty itse hoitamaan. Novatron tarjoaa myös asiakkailleen etätukimahdollisuuden, jolla vältetään huoltomiehen käynti työkoneella. Etätuki perustuu langattomaan internet-yhteyteen. Etätuen avulla työkoneen kuljettaja voi lähettää koneelta etätukipyynnön, jolloin Novatronin tuotetuki saa järjestelmän haltuunsa ongelman ratkaisua varten. Tällä hetkellä Novatronin kehittynein mittausjärjestelmä on Vision 3D. Kuvassa 2 Vision 3D on asennettuna työkoneen ohjaamoon. Järjestelmä on asennettavissa erilaisiin työkoneisiin, kuten kaivinkoneisiin, ruoppaajiin ja kaatopaikkajyriin. Järjestelmä koostuu anturoinnista, paikannuksesta sekä ohjaamoon asennettavasta tietokoneesta ja näyttöyksiköstä, jossa mittatieto esitetään työkoneen kuljettajalle kolmiuloitteisena.
12 12 (41) Kuva 2: Vision 3D -mittausjärjestelmä 1.4 Työn rakenne Opinnäytetyö on jaoteltu seuraavalla tavalla. Luvussa 2 esitellään tekniikat, joita harkittiin käytettäväksi järjestelmän pohjana. Luvussa 3 kerrotaan tarkemmin XMPP -protokollasta, joka valittiin käytettäväksi tekniikaksi. Luvussa käsitellään käyttäjien tunnukset, protokollalaajennokset, XML -viestin pakkaaminen sekä esitellään kaksi palvelintoteutusta. Luvussa 4 kerrotaan järjestelmän arkkitehtuurista ja siitä, kuinka järjestelmää voidaan käyttää. Luvussa käydään läpi teoriatasolla järjestelmän käyttäminen, varsinaiset esimerkit ja määritelmät ovat liitteinä. Luvussa 6 tarkastellaan XMPP -protokollan sopivuutta tällaiseen järjestelmään testitulosten valossa sekä todetaan, miten järjestelmän kehityksen kanssa tullaan jatkossa etenemään.
13 13 (41) 2 Tutkitut tekniikat Järjestelmän vaatimuksena on alusta asti ollut helppo ja yksinkertainen kommunikaatio monen asiakassovelluksen välillä. Koska kommunikaation vaatimuksena on ollut monen asiakassovelluksen yhtäaikainen ja kaikkien kesken tapahtuva viestien välitys, niin tutkittavien tekniikoiden valitseminen oli yksinkertaista. Tällä hetkellä on olemassa oikeastaan kaksi täysin avointa protokollaa, IRC ja XMPP, joiden avulla järjestelmä voidaan toteuttaa. Molempien avulla onnistuu ryhmäviestintä ja molemmat ovat yksinkertaisia käyttää. 2.1 IRC IRC on Jarkko Oikkarisen Oulun yliopistossa 80-luvun lopulla kehittämä avoin tekstipohjainen viestintäprotokolla. Se on pääasiassa tarkoitettu reaaliaikaiseen ryhmäviestintään ja olennainen osa protokollaa on kanavat, jotka toimivat erillisinä keskusteluhuoneina. Huhtikuussa 2011 sadalla suurimmalla IRC-verkolla oli yhtäaikaa käyttäjää ja satoja tuhansia kanavia, joita palveltiin noin 1500:lta palvelimelta maailmanlaajuisesti. (Wikipedia) IRC-verkko koostuu palvelimista ja käyttäjistä. Palvelimet voivat ottaa yhteyden toisiinsa ja näin laajentaa verkkoa. Käyttäjät voivat ottaa yhteyden mihin tahansa yhden verkon palvelimeen ja näin keskustella millä tahansa saman verkon palvelimella olevan käyttäjän kanssa. IRC:n vahvuus on tekstipohjaisuus ja hyvä skaalautuvuus. Tekstipohjainen kommunikointi ei vie verkkokapasiteettia juuri ollenkaan ja sen takia IRC olisi erittäin sopiva työmaille, joissa työkoneiden järjestelmät ovat yleensä GPRS -yhteyksien varassa. Yksi IRC:n ongelmista on palvelin-palvelin -protokollat, joita on monia erilaisia. Tästä johtuu se, että yleensä IRC -palvelimen voi liittää vain saman palvelinohjelmiston omaavaan palvelimeen. Tämän takia on myös olemassa useita toisistaan eroavia IRC -verkkoja kuten EFnet ja IRCnet.
14 14 (41) 2.2 XMPP XMPP on avoimen standardin kommunikointiprotokolla, jonka perustana on XML. XMPP kehitettiin alunperin nimellä Jabber vuonna Protokolla kehitettiin palvelemaan lähes reaaliaikaista, laajennettavissa olevaa pikaviestintää, tilatietoa ja kontaktilistan hallinointia. Nykyään XMPP:tä voidaan käyttää myös moneen muuhun tarkoitukseen, kuten VoIP ja tiedostojen siirron neuvotteleminen asiakassovellusten välillä. XMPP:n arkkitehtuuri on samankaltainen IRC:n arkkitehtuurin kanssa. Näiden erona on kuitenkin se, että palvelinten muodostamaa verkkoa ei tarvitse etukäteen määrittää. XMPP -palvelimet osaavat ottaa yhteyden toisiinsa automaattisesti, kun eri palvelimilla sijaitsevat käyttäjät haluavat keskustella keskenään. Tältä osin XMPP muistuttaa todella paljon normaalia sähköpostia. Kuvassa 3 on kuvattuna tyypillinen tilanne, jossa kaksi eri palvelimilla sijaitsevaa käyttäjää haluavat keskustella keskenään. Kun käyttäjä foo@example.com lähettää viestin osoitteeseen bar@domain.com, niin palvelin osoitteessa example.com osaa välittää viestin palvelimelle domain.com, joka välittää viestin edelleen käyttäjälle bar@domain.com. foo@example.com example.com domain.com bar@domain.com Kuva 3: Käyttäjä foo@example.com lähettää viestin käyttäjälle bar@domain.com XMPP:n vahvuuksia ovat hajautettu arkkitehtuuri, avoimet standardit, vankka kehittäjäkunta, turvallisuus ja joustavuus. XMPP pohjautuu XML:ään ja siksi XMPP:n viestit on erittäin vahvasti jäsenneltyjä. XML:stä johtuen sallittujen viestien sisältö voidaan määritellä hyvinkin tarkasti XML-skeemojen avulla. XMPP:n eräs heikkous on se, että protokollan sisällä ei voi tehokkaasti siirtää binääristä tietoa. Pientä määrää binääritietoa voi kuitenkin kuljettaa esimerkiksi Base64- koodattuna. Esimerkkinä pienestä määrästä dataa joka on vielä järkevissä mitoissa on pikaviestimissä usein käytetyt käyttäjähahmot (ns. avatar, buddy icon).
15 15 (41) Suurempien kuormien siirtämiseen täytyy kuitenkin käyttää jotain toista keinoa. Ongelma on jo ratkaistu XMPP:n protokollalaajennoksella, jossa kuvataan tapa neuvotella binääritiedon siirtäminen XMPP -protokollan ulkopuolella. Toinen XMPP:n ongelmista on verrattaen heikko skaalautuvuus, johtuen muun muassa protokollan XML-pohjaisuudesta. XML:ssä on se ongelma, että palvelin ei etukäteen tiedä, kuinka pitkä asiakkaan lähettämä XML -säkeistö on. XML -virtaa tulee lukea niin kauan, että löydetään säkeistön päättävä XML -elementti. Tämä tarkoittaa sitä, että palvelin joutuu pelkän virran lukemisen lisäksi käsittelemään siinä kulkevan XML:n. 2.3 Vertailu ja yhteenveto Molemmat protokollat ovat hajautetun luonteensa takia sopivia projektin käyttötarkoitukseen. Molemissa on kuitenkin hyvät ja huonot puolensa, eikä kumpikaan ole selkeästi toista parempi. Molempien järjestelmien vahvuus on käytännössä myös molempien järjestelmien heikkous. Koska kommunikointi XMPP:llä tapahtuu XML:n avulla, niin se kuluttaa huomattavasti enemmän kaistaa ja vaatii enemmän prosessointitehoa kuin IRC. IRC:ssä taas ei ole mitään standardoitua tapaa lähettää vahvasti jäsenneltyjä viestejä. Listaus 1: Esimerkki XMPP-viestistä <message from= com to= com > <body> Hello! </body> </ message> Listauksessa 1 on esitetty yksinkertainen XMPP-viesti. Viestin varsinainen sisältö on merkkijono Hello!, jonka koko on kuusi tavua, jos oletetaan sen olevan UTF-8 -merkistössä. Viestin koko poislukien turhat välilyönnit ja rivinvaihdot on 82 tavua. Listaus 2: Esimerkki IRC-viestistä : foo@example. com PRIVMSG bar@domain. com : Hello!
16 16 (41) Listauksessa 2 on vuorostaan sama yksinkertainen viesti esitettynä IRC -protokollalla. Viestin koko on 47 tavua. Viestien koolla on huima ero. Tässä tapauksessa ero kaventuisi, jos viestin varsinaisen sisällön koko kasvaisi suuremmaksi. Liitteessä 1 on hieman monimutkaisempi esimerkki XMPP -viestistä. Kuten liitteestä huomataan, niin varsinaisen sisällön lisäksi viestissä on todella paljon itse sisällöstä kertovaa tietoa. XMPP:ssä viestien koko kasvaa nopeasti suureksi. Jos saman viestin sisältämä kommunikointi tehtäisiin IRC:n välityksellä, niin tietoa ei välttämättä muotoiltaisi XML:llä vaan jollain tiiviimmällä esitystavalla. Järjestelmän kannalta ryhmäviestintä on erittäin oleellinen ominaisuus. XMPP:ssä on mahdollista toteuttaa tällainen joko MUC- tai PubSub -protokollan avulla. IRC:ssä ryhmäviestintä on sisäänrakennettu. XMPP ja IRC tekevät myös eron siihen, kuinka keskusteluhuoneet on hajautettu. XMPP:ssä huoneet ovat aina yhdellä palvelimella, kun taas IRC:ssä huoneet ovat hajautettu koko verkon laajuudelle. XMPP:lle on kuitenkin kehitysasteella oleva DMUC -protokollalaajennos, joka sallisi keskusteluhuoneiden hajauttamisen. Projektin puitteissa päädyttiin valitsemaan näistä kahdesta protokollasta XMPP. Valinnan kriteereinä oli molempien tekniikoiden heikkoudet ja vahvuudet, valmiit palvelin- ja asiakasohjelmatoteukset, laajennettavuus sekä dokumentaatio. XMPP tarjoaa suhteellisen valmiin pohjan järjestelmän toteuttamiselle verrattuna IRC:n. XMPP:lle löytyy monissa ympäristöissä toimivia ja helppokäyttöisiä palvelimia sekä asiakassovelluksia. Parhaillaan XMPP -palvelimen saa asennettua toimintakuntoon alle kymmenessä minuutissa. Tietysti tarkempi konfigurointi ja optimointi vie enemmän aikaa. XMPP:n päälle oli helppo lähteä tekemään uutta kommunikointiprotokollaa XML:n avulla. Helppous syntyy siitä, että XMPP -yhteisössä on vuosien saatossa muodostunut hyvin määritellyt prosessit alkuperäisen protokollan laajentamiseen. Ottamalla mallia olemassa olevista laajennoksista saa ideoita omiin kokeiluihin. XMPP:n dokumentaatio on erittäin hyvää ja selkeää. Tämä johtuu tietysti suurilta osin siitä, että XMPP on IETF:n standardoima protokolla. Standardien lisäksi XMPP:n ympärillä toimiva yhteisö on todella aktiivinen ja laaja. Aktiivinen yhteisö kertoo protokollasta, joka ei tule kuolemaan lähitulevaisuudessa.
17 17 (41) 3 XMPP 3.1 JID -tunnus Jokaisella XMPP -entiteetillä on JID -tunnus. XMPP -entiteetti on mikä tahansa järjestelmän osa, joka voi kommunikoida XMPP -protokollan avulla. Esimerkiksi palvelimet ja asiakassovellukset ovat XMPP -entiteettejä. JID -tunnus koostuu paikallisesta osasta, verkkotunnusosasta sekä resurssiosasta. Esimerkiksi: Listaus 3: JID -tunnus o s k a r i. timperi@example. com/ o s k a r i jossa paikallinen osa on oskari.timperi, verkkotunnusosa example.com ja resurssi oskari. JID muistuttaa hieman sähköpostiosoitetta. Käyttäjien lisäksi myös palveluilla ja palvelimilla on JID, tosin niiden JID koostuu yleensä vain domain-osasta. JID voi olla joko paljas tai täydellinen. Paljaalla JID:llä tarkoitetaan JID:ä joka on muotoa oskari.timperi@example.com tai example.com palvelimen tapauksessa. Täydellisellä JID:llä tarkoitetaan JID:ä joka on muotoa oskari.timperi@example.com/koti tai example.com/resurssi palvelimen tapauksessa. JID -tunnuksen tarkka määrittely on RFC dokumentissa. 3.2 XEP Yksi XMPP:n parhaita puolia on sen helppo laajennettavuus. XMPP -protokollaa onkin vuosien saatossa laajennettu ns. XEP:llä. Näitä laajennoksia on tehty useaan eri tarkoitukseen, kuten paikkatiedon jakamiseen, tiedostojen jakamiseen, asiakassovellusten ominaisuuksien tiedusteluun ja niin edelleen. XEP:n voi periaatteessa tehdä kuka tahansa. Jos on tarpeeksi hyvä idea ja sitä lähtee toteuttamaan XEP -prosessin mukaisesti, niin todennäköisesti laajennos lisätään viralliselle hyväksyttyjen laajennosten listalle. XEP -listaa ylläpitää XMPP Standards Foundation.
18 18 (41) XEP-0045: Multi User Chat XMPP ei itsessään toteuta IRC:n perusominaisuutta, eli ryhmäkeskustelua. Tätä varten on kehitetty laajennosprotokolla, jossa määritellään kuinka tällainen ominaisuus saadaan käyttöön myös XMPP:ssä. Laajennos vaatii palvelimelta tuen laajennokselle, jotta viestien välitys keskustelijoiden välillä toimisi. MUC -palvelun käyttö on kehitetty hyvin samankaltaiseksi kuin normaalin XMPP:nkin. Yksi lähtökohta on ollut se, että keskusteluhuoneiden käyttäminen tulisi olla mahdollista, vaikka asiakasohjelmalla ei varsinaisesti MUC -palvelulle tukea olisikaan. Tämän takia huoneiden JID:it ovat samanlaisia, kuin normaalien käyttäjienkin. 3.3 Palvelimet XMPP:n avoimen luonteen takia sitä tukevia palvelinohjelmistoja on saatavilla paljon. Erona palvelimissa on yleensä lisenssi, ohjelmointikieli ja tuetut laajennokset. Yksi mielenkiintoinen palvelin on ejabberd, joka on ohjelmoitu Erlang -ohjelmointikielellä. Erlang on on Ericssonin kehittämä ohjelmointikieli, joka on tarkoitettu hajautettujen ja vikasietoisten sovellusten kehittämiseen. ejabberd:ssä on Erlangin takia suora tuki palvelinsovelluksen hajauttamiselle useammalle palvelintietokoneelle. Hajauttamisen seuraus on se, että jos yksi palvelin hajoaa, niin se ei vaikuta palvelinsovelluksen toimintaan. Lisäksi palvelinsovelluksen suorituskyky paranee, koska käyttäjät voidaan jakaa useammalle fyysiselle palvelimelle. Toinen suosittu palvelinsovellus on OpenFire. OpenFire on ohjelmoitu Javalla ja siihenkin on saatavilla tuki hajauttamiselle, mutta sovellus ei tue sitä automaattisesti. OpenFireen on helppo ohjelmoida omia liitännäisiä ja sitä on todella helppo käyttää WWW -pohjaisen käyttöliittymän kautta. Tässä projektissa tullaan pääasiassa käyttämään OpenFire -palvelinta, koska se on Novatronilla jo ennestään tuttu yrityksen sisäisessä pikaviestinnässä. Tässä opinnäytetyössä ei oteta tarkemmin kantaa palvelinsovellusten asentamiseen tai käyttöön.
19 19 (41) 3.4 Viestien pakkaus XMPP -palvelimet toteuttavat yleensä XML -virran pakkauksen. Jos asiakasohjelma tukee pakkausta, niin asiakkaan ja palvelimen välillä käytävän keskustelun käyttämää kaistaa pystytään hieman pienentämään. Tässä täytyy kuitenkin ottaa myös huomioon lisääntynyt prosessoinnin tarve sekä palvelimen, että asiakkaan päässä. Palvelimelta tämä voi teoriassa vaatia paljonkin prosessoriaikaa, jos siihen on yhdistynyt paljon asiakkaita. Asiakkaana taas voi olla esimerkiksi älypuhelin, ja pakkauksen purkaminen vaikuttaa lisääntyneen prosessoinnin seurauksena akun kestoon. Yleensä pakkauksen aiheuttamaa ylimääräistä prosessointia kuitenkin pidetään pienempänä pahana kuin suurempaa verkkokuormaa. Toinen mahdollisuus minimoida viestin koko on binääri-xml. Binääri-XML on tapa esittää XML tiiviissä binäärimuodossa. Binääri-XML -muotoja on useita, esimerkiksi W3C:n kehittämä EXI -formaatti, jota pidetään varteenotettavimpana binääri-xml -määrittelynä (Wikipedia: Efficient XML Interchange). Efficient XML Interchange -työryhmä on tehnyt tutkimuksen, jossa verrataan muutamia binääri-xml muotoja, XML+GZIP -yhdistelmää sekä normaalia XML:ää. Tutkimuksessa on mitattu binäärimuotojen nopeutta ja tiivistämistä. Tutkimuksen mukaan binääri-xml:llä voidaan saavuttaa 70% tiiviimpiä dokumentteja ilman XML -skeeman apua. Skeeman avulla on mahdollista päästä noin 80%:n tiivistykseen. Nopeus on jaettu XML -dokumentin tuottamiseen ja dokumentin käsittelemiseen. Binääri-XML:llä saavutettiin 50% nopeampi dokumentin tuottaminen ja 180% nopeampi käsittely verrattuna normaaliin XML:ään. (White, Kangasharju, Brutzman & Williams 2007) 3.5 MUC -palvelun skaalautuvuus XMPP:n MUC -palvelu ei toistaiseksi skaalaudu kovin hyvin tilanteeseen, jolloin kanavalle lähetetää nopeasti viestejä monen keskustelijan toimesta. Esimerkkinä voidaan pitää MUC -palvelun kanavaa, jolla on N keskustelijaa. Oletetaan, että nämä N keskustelijaa lähettävät kanavalle sekunnin välein viestin. Kun yksi keskustelija lähettää kanavalle viestin, niin palvelin välittää viestin N :lle keskustelijalle (ml. viestin lähettäjä). Kun N keskustelijaa tekee saman yhtäaikaisesti, niin palvelin välittää jokaisen keskustelijan viestin N keskustelijalle.
20 20 (41) Palvelin vastaanottaa N viestiä ja lähettää N N viestiä kerran sekunnissa. Tästä voidaan listauksen 1 mukaisen minimaalisen XMPP -viestin koon (82 tavua) perusteella arvioida tietomäärää, joka palvelimen tulee käsitellä joka sekunti. Jos N = 10, niin palvelin vastaanottaa N 82 = = 820 tavua ja lähettää N N 82 = = 8200 tavua joka sekunti. Jos N = 100, niin vastaavat luvut ovat 8200 ja Tilanne pahenee siis nopeasti kanavalla olevien keskustelijoiden määrän ja lähetettävän tiedon mukaan. Viestien määrä, jotka palvelin välittää, on suoraan verrannollinen käyttäjien määrän toiseen potenssiin. Kymmenen vastaanotettua viestiä tarkoittaa sataa lähetettyä viestiä. Sadalla viestillä palvelin lähettää kymmenentuhatta viestiä. Yksinkertaisuuden vuoksi ylläoleva kuvaus ei täysin kuvaa tämänhetkistä MUC - palvelun toimintaa. Tällä hetkellä palvelu toimii kuvan 4 mukaan. user1 MUC example.com user2 example.com user3 example.com user4 Kuva 4: MUC -palvelun toiminta tällä hetkellä Käytännössä palvelin siis ottaa vastaan N kappaletta viestejä ja välittää eteenpäin N kappaletta viestejä. Tämä pahentaa palvelimen kuormaa entisestään, koska palvelimen täytyy käsitellä jokainen sille lähetetty viesti. Kuvassa 5 on kuvattu optimitilanne MUC:n toiminnasta. Kuvan 5 tilanne on lähempänä tilannetta, joka kuvattiin yllä.
21 21 (41) user1 MUC example.com user2 user3 user4 Kuva 5: Kuinka MUC -palvelun tulisi toimia Tässä tapauksessa palvelin tutkisi vain yhden viestin ja tekisi tarvittavat toimenpiteet, jotta viesti kulkisi edelleen vastaanottajille. Kuvan 5 kaltainen toiminto vaatisi palvelimelta sille eksplisiittisen tuen.
22 22 (41) 4 Arkkitehtuuri 4.1 Yleiskuvaus Palvelin MUC -palvelu Projekti - projektibotti - paikkatietobotti - kanavat Projekti - projektibotti - paikkatietobotti - kanavat Asiakas Asiakas Asiakas Asiakas Asiakas Asiakas Kuva 6: Arkkitehtuuri Kuvan 6 mukaisesti järjestelmän perustana on XMPP -palvelin ja siinä toimiva MUC -palvelu. Seuraavalla tasolla on kuvattuna projekti, joka käytännössä koostuu erilaisita boteista ja niiden hallinnoimista MUC -kanavista. Botti voi olla tavallinen asiakassovellus, jolle on toteutettu jonkinlainen toiminnallisuus. Koska projektien toiminnallisuus päädyttiin toteuttamaan bottien ja MUC -kanavien avulla, niin käytettävällä palvelinohjelmistolla ei ole väliä. Ainut vaatimus palvelimelle on se, että se toteuttaa MUC -palvelun. Järjestelmän pohjalla on asiakas, joka voi olla mitä tahansa kaivinkoneen ja työmaasuunnittelijan väliltä. Yksinkertaisimmassa järjestelmässä yksi fyysinen palvelin on yhden projektin käytössä. Kuvassa 7 on kuvattu järjestelmä jossa projektille on varattu yksi fyysinen palvelin.
23 23 (41) Suunnittelija Tiedonkeruupalvelin Työmaatoimisto - XMPP -palvelin - Botit Työmaalla kävelevä työnjohtaja koneenohjaus koneenohjaus Kuva 7: Yksinkertainen järjestelmä Tällä palvelimella ovat ajossa XMPP -palvelin, projektibotti sekä lokaatiobotti. Työmaan tilaa seuraava tiedonkeruusovellus toimii omalla palvelimellaan. Tiedonkeruusovellus suhtautuu projektiin samalla tavalla, kuin esimerkiksi työkoneessa oleva asiakassovellus. Järjestelmästä voi tehdä niin monimutkaisen kuin XMPP ja MUC vain sallivat. Esimerkiksi yhdellä fyysisellä palvelimella sijaitseva XMPP -palvelin, jossa on useita MUC -palveluita joissa jokaisessa on useita projekteja. Tällainen järjestelmä vaatii palvelimelta paljon enemmän, kuin edellä kuvattu yksinkertainen tapaus. Parempi tapa onkin hajottaa järjestelmä pienempiin yksiköihin. Kun järjestelmän yhdistää pilvipalveluiden kanssa saadaan todella mielenkiintoinen asetelma. Tulevaisuudessa voidaan esimerkiksi nappia painamalla laukaista uusi instanssi Amazonin EC2 -pilvipalvelusta, johon on asennettu valmiiksi kaikki tarvittavat sovellukset. Tämän jälkeen kysytään projektin tiedot ja projekti käynnistetään.
24 24 (41) 4.2 Botit 4.3 Projektibotti Projektin ydin on projektibotti, joka vastaa yhden projektin hallinnoimisesta. Projektiin kuuluu joukko kanavia, asiakassovelluksia sekä metadataa. Projektiin rekisteröityminen ja projektin yleisen tiedon saanti hoituu projektibotin kautta. Projektibotti antaa asiakkaalle oikeuden liittyä projektin kanaville, asiakkaan suoritettua onnistuneen rekisteröitymisen. Toistaiseksi rekisteröitymiseen riittää pelkkä salasana, jolla ei ole monimutkaisuusvaatimuksia. Projektin salasanan ei tarvitse välttämättä olla vaikea, jos halutaan että esimerkiksi työkoneen kuljettaja voi työmaalla tarvittaessa antaa salasanan. Salasana voidaan myös jättää määrittämättä, jolloin projektiin voi liittyä kuka tahansa ilman salasanaa. Tällöin tulee pitää huoli siitä, että työmaa on vain testikäytössä tai muuten turvattu. Projektibotin toiminnallisuus on pidetty hyvinkin yksinkertaisena. Projektibotin kanssa käytävästä kommunikoinnista kerrotaan enemmän luvussa Lokaatiobotti Lokaatiobotin tarkoituksena on ottaa vastaan paikkatietoa asiakkailta, jotka sitä haluavat jakaa. Lokaatiobotti koostaa ja jakaa paikkatiedon paikkatietokanaville, joita muut asiakkaat voivat kuunnella. Paikkatieto välitetään botin kautta, koska suoraan kanavalle lähetettäessä tulee nopeasti palvelimen prosessointikyky vastaan. Kuten kappaleessa 3.5 todettiin, nopean tiedon jakaminen kanavan kautta vie todella paljon resursseja. Bottia käytettäessä palvelimen kuormitus paikkatiedon osalta kasvaa lineaarisesti paikkatietoa kuuntelevien asiakkaiden osalta. Voi olla tilanteita, joissa paikkatietoa jakava asiakas ei ole kiinnostunut muiden paikkatiedosta, jolloin kyseisen asiakkaan ei tarvitse olla paikkatietokanavalla kuuntelemassa sitä. Näin meneteltäessä voidaan pienentää palvelimen kuormaa. Kuvassa 8 on esitetty lokaatiobotin toiminta-ajatus.
25 25 (41) Lokaatiobotti Lokaatiokanava Asiakas Asiakas Asiakas 4.5 Kanavat Kuva 8: Lokaatiobotin toiminta Projektiin liittyy tietty joukko kanavia, joita pitkin projektiin liittyvää tietoa jaetaan. Jokaisella kanavalla on oma tarkoituksensa ja niitä tulee käyttää sen mukaisesti. Tämän työn puitteissa toteutettiin vain kaksi kanavaa, joiden avulla projektiin liittyneiden asiakkaiden kesken voidaan vaihtaa tila- sekä paikkatietoa. Aula Aulakanavan tarkoitus on pitää kirjaa projektiin jollakin ajanhetkellä liittyneistä asiakkaista. Aulan tarkoituksena on tarjota projektiin liittyneille asiakkaille tilatietoa muista asiakkaista. Paikkatieto Paikkatietokanavan tarkoitus on jakaa paikkatietoa sitä haluavien asiakkaiden välillä.
26 26 (41) 4.6 Asiakas Järjestelmä tarjoaa tavan jakaa tietoa. Jotta järjestelmästä olisi hyötyä, tarvitaan asiakkaita jotka jakavat, keräävät ja analysoivat tietoa. Järjestelmän näkökulmasta asiakas voi olla mitä tahansa. Asiakas voi olla työkone, joka lähettää omaa paikkatietoaan järjestelmään. Toinen asiakas voi kerätä tätä tietoa ja tehdä sen pohjalta analyysejä. Analyysien pohjalta voidaan laatia esimerkiksi Internet-sivuja, joilla on kuvaajia työn etenemisestä ynnä muusta.
27 27 (41) 5 Kommunikaatio Projektin kanssa kommunikointi on loppujen lopuksi hyvin yksinkertaista. Periaatteessa se onnistuu millä tahansa XMPP -asiakassovelluksella. Kommunikointi on tehty valmiita XMPP -protokollamäärittelyjä ja laajennoksia silmälläpitäen siten, että olemassaolevia tekniikoita on pyritty käyttämään mahdollisimman paljon sellaisenaan. Tässä kappaleessa on kuvattu tärkeimmät osa-alueet projektin kommunikaatiosta sekä esitetty havainnollistavia esimerkkejä. Kommunikaatioprotokollan XMLskeemat löytyvät liitteestä 4. Protokollan skeemat täydentävät XMPP -protokollaa ja hyödyntävät myös XMPP:n laajennusprotokollia. 5.1 Projektiin liittyminen Projektiin liittyminen tapahtuu ottamalla yhteys projektibottiin. Ensimmäinen asia joka botin kanssa täytyy hoitaa, on tunnistautuminen. Projektille on luontivaiheessa määritelty salasana, joka tulee tunnistautumisvaiheessa antaa projektibotille. Tunnistautumisprosessi alkaa siitä, kun asiakas lähettää projektibotille rekisteröitymisviestin. Projektibotti vastaa kysymällä projektin salasanaa. Asiakkaan vastatessa oikealla salasanalla, projektibotti lisää asiakkaan projektin kanavien jäsenlistoille ja toivottavaa asiakkaan tervetulleeksi. Liitteessä 2 on esimerkki asiakkaan ja projektibotin välisestä keskustelusta rekisteröitymisen aikana. Hyväksytyn tunnistautumisen jälkeen asiakas voi kysyä projektibotilta projektista tarkempia tietoja. Asiakas voi myös liittyä projektin kanaville. Projektin kanavat asiakas voi kysyä projektibotilta. 5.2 Projektin tiedot Projektille on määritelty tietty minimimäärä tietoa, joka sen täytyy asiakkaille tarjota. Näihin lukeutuu projektin koordinaatit, projektin omistaja, projektin kuvaus ja niin edelleen.
28 28 (41) Minimitietojen lisäksi projekteille voi määritellä projektikohtaisia tietoja. Projektikohtaisia tietoja ja tiedon määrää ei ole rajoitettu. Projektikohtaisiin tietoihin voidaan tallentaa esimerkiksi metadataa työmaan suunnittelutyökaluista. Liitteessä 3 on annettu esimerkki projektin tietojen sekä projektiin liittyvien kanavien kysymisestä sekä projektibotin vastauksesta kyselyihin. 5.3 Paikkatieto Paikkatiedon jakaminen tapahtuu jo aiemmin kappaleessa 4.4 kuvatulla tavalla. Paikkatietoa jakava asiakas lähettää tietonsa lokaatiobotille, joka välittää paikkatiedon edelleen paikkatietokanaville. Paikkatietoa kuunteleva asiakas voi liittyä paikkatietokanaville, jonne lokaatiobotti välittää sille lähetetyt paikkatiedot. Paikkatietokanavia voi olla useita riippuen siitä, kuinka usein kanavaa päivitetään. Näin esimerkiksi raportteja laativat asiakkaat voivat kuunnella kymmenen minuutin välein päivittyvää paikkatietokanavaa ja reaaliaikaisempaa tietoa vaativat asiakkaat voivat kuunnella puolen minuutin välein päivittyvää tietoa. Liitteessä 1 on esimerkki paikkatiedon lähettämisestä lokaatiobotille.
29 29 (41) 6 Yhteenveto Opinnäytetyön aiheena oli suunnitella kommunikointiprotokolla ja toteuttaa sitä käyttävä järjestelmä rakennustyömaita silmälläpitäen. Tarkoituksena oli luoda helposti laajennettavissa oleva protokolla ja siinä onnistuttiin hyvin jo pelkästään teknologiavalinnalla. Opinnäytetyön puitteissa protokollaan suunniteltiin vain siltä vaadittavat perusominaisuudet. Protokollan suunnittelu ja toteuttaminen eivät olleet yksinkertaisia asioita. Suunniteltaessa tuli miettiä tarkkaan eri vaihtoehtoja ja keskustella kolleegojen kanssa niistä. Suunnittelua helpotti kuitenkin se, että keskityttiin vain protokollan ytimeen ja perusominaisuuksiin. Järjestelmän kehitys ei kuitenkaan lopu tähän opinnäytetyöhön. Jatkossa järjestelmä tullaan integroimaan Novatronin tuotteisiin. Näin muut voivat hyödyntää tietoa, jota Novatronin järjestelmistä voidaan työmailla kerätä. Toivottavaa jatkoa ajatellen on myös se, että järjestelmästä saataisiin muilta organisaatioilta palautetta. Jos järjestelmä todetaan liian tehottomaksi, niin näiden kokemusten pohjalta voidaan kehittää XMPP -protokollaa ja palvelimia tehokkaammiksi esimerkiksi Binääri-XML:ää hyödyntäen. Vaihtoehtoisesti voidaan myös tutkia muita tapoja toteuttaa yhteinen kommunikointijärjestelmä.
30 30 (41) LÄHTEET InfraTM TEKES loppuraportti Luettu Kilpeläinen Tietomallipohjainen automaatio tieverkon päällystämisen korjausja uudisrakentamistyössä (TIMARA). VTT-R Infra - Rakentaminen ja palvelut , Teknologiaohjelmaraportti 4/2006, Loppuraportti TEKES. Helsinki. Peter Saint-Andre Request For Comments: ISSN Peter Saint-Andre XEP-0045: Multi-User Chat. Luettu Päivitetty White, Kangasharju, Brutzman & Williams Efficient XML Interchange Measurements Note. Luettu Wikipedia. IRC. Päivitetty Luettu Wikipedia. Efficient XML Interchange. Päivitetty Luettu
31 31 (41) Paikkatiedon lähettäminen lokaatiobotille <message from= to= id= geo6 > <x xmlns= urn:xmpp:trak:events > <events> <movementevent> <object id= my-excavator type= excavator /> <object id= pekka type= user /> <location> <geoloc xmlns= > <lat> </lat> <lon> </lon> </geoloc> </location> </movementevent> </events> </x> </message> LIITE 1
32 32 (41) LIITE 2 Rekisteröityminen projektiin <iq from= abcdef@example.com/abcdef id= reg1 to= project-master@example.com type= get > <query xmlns= jabber:iq:register /> </iq> <iq from= project-master@example.com id= reg1 to= abcdef@example.com/abcdef type= result > <query xmlns= jabber:iq:register > <password/> </query> </iq> <iq from= abcdef@example.com/abcdef id= reg2 to= project-master@example.com type= set > <query xmlns= jabber:iq:register > <password>secret</password> </query> </iq> Asiakas antoi virheellisen salasanan <iq from= project-master@example.com id= reg2 to= abcdef@example.com/abcdef type= error > <error type= modify > <bad-request xmlns= urn:ietf:params:xml:ns:xmpp-stanzas /> </error> </iq>
33 33 (41) LIITE 2 Salasana hyväksyttiin <iq from= project-master@example.com id= reg2 to= abcdef@example.com/abcdef type= result /> <message from= project-lobby@example.com to= abcdef@example.com > <x xmlns= > <invite from= project-master@example.com /> </x> </message>
34 34 (41) LIITE 3 Asiakas kysyy projektin tietoja <iq from= abcdef@example.com/abcdef id= proj1 to= project-master@example.com/bot type= get > <query xmlns= urn:xmpp:trak:info /> </iq> <iq from= project-master@example.com id= proj1 to= abcdef@example.com/abcdef type= result > <query xmlns= urn:xmpp:trak:info > <created>timestamp</created> <title>title</title> <owner>owner</owner> <x xmlns= jabber:x:data type= result > <field var= FORM_TYPE type= hidden > <value>urn:xmpp:trak:project:info</value> </field> <field type= text-single var= some-variable > <value>some value</value> </field> <field type= text-single var= project-id-for-some-tool > <value>id</value> </field> </x> </query> </iq>
35 35 (41) LIITE 3 Asiakas kysyy projektiin liittyvät kanavat <iq from= abcdef@example.com/abcdef id= proj1 to= project-master@example.com/bot type= get > <query xmlns= urn:xmpp:trak:channels /> </iq> <iq from= project-master@example.com id= proj1 to= abcdef@example.com/abcdef type= result > <query xmlns= urn:xmpp:trak:channels > <channel jid= project-lobby@example.com type= lobby /> <channel jid= project-location@example.com type= location /> </query> </iq>
36 36 (41) LIITE 4 events.xsd <?xml version= 1.0 encoding= UTF-8?> <xs:schema xmlns:xs= targetnamespace= urn:xmpp:trak:events xmlns= urn:xmpp:trak:events elementformdefault= qualified > <xs:import namespace= urn:xmpp:trak:location schemalocation= /> <xs:annotation> <xs:documentation> Schema for a protocol to communicate state change events across XMPP. </xs:documentation> </xs:annotation> <xs:element name= x > <xs:complextype> <xs:sequence> <xs:element ref= events /> </xs:sequence> </xs:complextype> </xs:element> <xs:element name= events type= Events /> <xs:complextype name= Events > <xs:sequence> <xs:choice minoccurs= 0 maxoccurs= unbounded > <xs:element name= event type= Event /> <xs:element name= movementevent type= MovementEvent /> <xs:element name= stateevent type= StateEvent /> </xs:choice> </xs:sequence> </xs:complextype> <xs:complextype name= Event > <xs:sequence> <xs:element name= object type= Object maxoccur= unbounded /> </xs:sequence> <xs:attribute name= id type= xs:string use= required /> <xs:attribute name= serial type= xs:string use= optional /> <xs:attribute name= timestamp type= xs:string use= optional /> <xs:attribute name= from type= xs:string use= optional /> </xs:complextype>
37 37 (41) LIITE 4 <xs:complextype name= MovementEvent xmlns:loc= urn:xmpp:trak: location > <xs:complexcontent> <xs:extension base= Event > <xs:sequence> <xs:choice minoccur= 0 > <xs:element name= transform type= Transform /> <xs:element ref= loc:location /> </xs:choice> </xs:sequence> </xs:extension> </xs:complexcontent> </xs:complextype> <xs:complextype name= StateEvent > <xs:complexcontent> <xs:extension base= Event > <xs:sequence> <xs:element name= state type= State minoccur= 0 /> </xs:sequence> </xs:extension> </xs:complexcontent> </xs:complextype> <xs:complextype name= Object > <xs:attribute name= id type= xs:string use= required /> <xs:attribute name= type type= xs:string /> </xs:complextype> <xs:complextype name= Transform > <xs:sequence> <xs:element name= translate type= Vector3 minoccur= 0 /> <xs:element name= rotate type= Quaternion minoccur= 0 /> <xs:element name= scale type= Vector3 minoccur= 0 /> </xs:sequence> </xs:complextype> <xs:complextype name= State > <xs:sequence> <xs:choice minoccur= 0 > <xs:element name= color type= Color /> <xs:element name= colorrgba type= ColorRGBA /> </xs:choice> <xs:element name= visibility type= Visibility minoccur= 0 /> <xs:element name= highlight type= Hightlight minoccur= 0 /> </xs:sequence> </xs:complextype>
38 38 (41) LIITE 4 <xs:complextype name= Visibility > <xs:attribute name= value type= xs:boolean /> </xs:complextype> <xs:complextype name= Highlight > <xs:attribute name= value type= xs:boolean /> </xs:complextype> <xs:complextype name= ColorRGBA > <xs:attribute name= r type= colorvaluetype /> <xs:attribute name= g type= colorvaluetype /> <xs:attribute name= b type= colorvaluetype /> <xs:attribute name= a type= colorvaluetype /> </xs:complextype> <xs:simpletype name= Color > <xs:restriction base= xs:decimal > <xs:mininclusive value= 0.0 /> <xs:maxinclusive value= 1.0 /> </xs:restriction> </xs:simpletype> <xs:complextype name= Quaternion > <xs:attribute name= w type= xs:decimal /> <xs:attribute name= x type= xs:decimal /> <xs:attribute name= y type= xs:decimal /> <xs:attribute name= z type= xs:decimal /> </xs:complextype> <xs:complextype name= Vector3 > <xs:attribute name= x type= xs:decimal /> <xs:attribute name= y type= xs:decimal /> <xs:attribute name= z type= xs:decimal /> </xs:complextype> </xs:schema>
39 39 (41) LIITE 4 location.xsd <?xml version= 1.0 encoding= UTF-8?> <xs:schema xmlns:xs= targetnamespace= urn:xmpp:trak:location xmlns= urn:xmpp:trak:location elementformdefault= qualified > <xs:import namespace= schemalocation= /> <xs:annotation> <xs:documentation> Schema for an extended geoloc element. </xs:documentation> </xs:annotation> <xs:element name= location xmlns:geoloc= protocol/geoloc > <xs:complextype> <xs:sequence> <xs:element name= radius type= nonnegativeinteger minoccur = 0 /> <xs:element name= position minoccur= 0 > <xs:complextype> <xs:attribute name= x type= double /> <xs:attribute name= y type= double /> <xs:attribute name= z type= double /> </xs:complextype> </xs:element> <xs:element ref= geoloc:geoloc minoccur= 0 /> </xs:sequence> </xs:complextype> </xs:element> </xs:schema>
40 40 (41) LIITE 4 project_info.xsd <?xml version= 1.0 encoding= UTF-8?> <xs:schema xmlns:xs= targetnamespace= urn:xmpp:trak:info xmlns= urn:xmpp:trak:info elementformdefault= qualified > <xs:import namespace= jabber:x:data schemalocation= /> <xs:import namespace= urn:xmpp:trak:location schemalocation= /> <xs:annotation> <xs:documentation> Schema for a query to get projects detailed information such as when the project was created and what is the bounding box of the project. One can include project specific information in the optional data form. </xs:documentation> </xs:annotation> <xs:element name= query > <xs:complextype xmlns:xdata= jabber:x:data xmlns:loc= urn:xmpp:trak:location > <xs:sequence minoccurs= 0 > <xs:element name= created type= xs:datetime /> <xs:element name= title type= xs:string /> <xs:element name= owner type= xs:string /> <xs:element ref= loc:location /> <xs:element ref= xdata:x minoccurs= 0 /> </xs:sequence> </xs:complextype> </xs:element> </xs:schema>
41 41 (41) LIITE 4 project_channels.xsd <?xml version= 1.0 encoding= UTF-8?> <xs:schema xmlns:xs= targetnamespace= urn:xmpp:trak:channels xmlns= urn:xmpp:trak:channels elementformdefault= qualified > <xs:element name= query > <xs:sequence> <xs:element name= channel type= ProjectChannel /> </xs:sequence> </xs:element> <xs:complextype name= ProjectChannel > <xs:attribute name= jid type= xs:string /> <xs:attribute name= type type= xs:string > <xs:simpletype> <xs:restriction base= xs:string > <xs:enumeration value= lobby /> <xs:enumeration value= location /> </xs:restriction> </xs:simpletype> </xs:attribute> </xs:complextype> </xs:schema>
Opiskeluoikeudet. Kaaviokuva
Opiskeluoikeudet Opiskeluoikeuksien tiedonsiirtoskeema. XML-skeema jonka avulla on tarkoitus siirtää useiden opiskeluoikeuksien tiedot kerralla. Skeeman voi myös lukea sisään muihin skeemoihin jolloin
Järjestelmäarkkitehtuuri (TK081702)
Järjestelmäarkkitehtuuri (TK081702) yleistyvät verkkopalveluissa Youtube Google... Avaavat pääsyn verkkopalvelun sisältöön. Rajapintojen tarjoamia tietolähteitä yhdistelemällä luodaan uusia palveluja,
PUSH palvelut mobiilikehityksessä: Android ja Windows phone 7. Pauli Kettunen
PUSH palvelut mobiilikehityksessä: Android ja Windows phone 7 Pauli Kettunen Esityksen rakenne 1. Taustaa 2. Push web-ohjelmoinnissa Comet Interaktiomallit 3. Push älypuhelinalustoilla Deacon pilvipalveluna
SÄHKE-hanke. Tekninen mallintaminen SÄHKE-metatietojen XML Schema
04.02.2005 1 (5) SÄHKE-hanke SÄHKE-metatietojen XML Schema Versio ja pvm Laatinut Tarkpvm Tarkastanut Hyvpvm Hyväksynyt 2.0 / 04.02.2005 Anneli Rantanen 15.02.2005 Markus Merenmies 18.02.2005 Ohjausryhmä
Opintosuoritukset. Kaaviokuva
Opintosuoritukset Opintosuoritukset-tiedonsiirtoskeema. XML-skeema jonka avulla voidaan siirtää useita opintosuoritusten tietoja kerralla. Skeeman voi myös lukea sisään muihin skeemoihin jolloin myös yksittäisiä
Ohje luottamuksellista tietoa sisältävien sähköpostiviestien lähettämiseen ja vastaanottamiseen
Ohje luottamuksellista tietoa sisältävien sähköpostiviestien lähettämiseen ja vastaanottamiseen Liikenteen turvallisuusvirasto 27.9.2012 Sisällysluettelo Luottamuksellista tietoa sisältävien sähköpostiviestien
Vaatimusmäärittely Ohjelma-ajanvälitys komponentti
Teknillinen korkeakoulu 51 Vaatimusmäärittely Ohjelma-ajanvälitys komponentti Versio Päiväys Tekijä Kuvaus 0.1 21.11.01 Oskari Pirttikoski Ensimmäinen versio 0.2 27.11.01 Oskari Pirttikoski Lisätty termit
K U U L A L A A K E R I LUOTTAMUKSELLINEN 1(6)
K U U L A L A A K E R I LUOTTAMUKSELLINEN 1(6) Messto HTTP API Messto HTTP API on sovelluskehittäjiä varten kehitetty helppo tapa toteuttaa tekstiviesti- ja multimediaviestisovelluksia. Rajapinnan avulla
Integrointi. Ohjelmistotekniikka kevät 2003
Integrointi Ohjelmistotekniikka kevät 2003 ERP (Toiminnanohjausjärjestelmä) Myynti Henkilöstö, palkanlaskenta Kirjanpito Myynti Myyjät Extranet Tietovarasto Laskutus, reskontrat Asiakas ERP Asiakasrekisteri
Tehtävä 2: Tietoliikenneprotokolla
Tehtävä 2: Tietoliikenneprotokolla Johdanto Tarkastellaan tilannetta, jossa tietokone A lähettää datapaketteja tietokoneelle tiedonsiirtovirheille alttiin kanavan kautta. Datapaketit ovat biteistä eli
Tiedonsiirto- ja rajapintastandardit
Tiedonsiirto- ja rajapintastandardit Viitekehys Julkishallinnon perustietovarantojen rajapinnat (PERA) työryhmän tulokset valmiit syksyllä 2011 Määrittelee teknisen arkkitehtuuriratkaisun tietovarantojen
Arvosanatietojen siirto oppilaitoksista opintopolkuun 2017
Arvosanatietojen siirto oppilaitoksista opintopolkuun 2017 Kuvaus siirtotiedoston tuottamiseksi Opetushallituksen OPINTOPOLKU järjestelmän hakijarekisteriin Keskeisiä muutoksia: Valma ja Telma suorituksia
Verkkopalveluiden saavutettavuus
Verkkopalveluiden saavutettavuus Puhuja: Ossi Nykänen Tampereen teknillinen yliopisto, Hypermedialaboratorio, W3C Suomen toimisto Paikka: Helsinki, Tieteiden talo, 24.3.2011 Johdanto Verkkopalvelun saavutettavuus
Yhteentoimivuutta edistävien työkalujen kehittäminen
Yhteentoimivuutta edistävien työkalujen kehittäminen Semantiikkaa organisaatioiden välisen tiedonvaihdon helpottamiseksi Mikael af Hällström, Verohallinto Esityksen sisältö Taustatekijöitä (OKM:n hallinnonala,
Julkaisun laji Opinnäytetyö. Sivumäärä 43
OPINNÄYTETYÖN KUVAILULEHTI Tekijä(t) SUKUNIMI, Etunimi ISOVIITA, Ilari LEHTONEN, Joni PELTOKANGAS, Johanna Työn nimi Julkaisun laji Opinnäytetyö Sivumäärä 43 Luottamuksellisuus ( ) saakka Päivämäärä 12.08.2010
Luottamuksellinen sähköposti Trafissa
OHJE 1 (8) Luottamuksellinen sähköposti Trafissa Trafi käyttää Deltagon Sec@GW -ohjelmistoa sähköpostin luottamuksellisuuden suojaamiseen. D-Envelope sovelluksen avulla viestien vastaanottaminen ei edellytä
Liite 1: KualiKSB skenaariot ja PoC tulokset. 1. Palvelun kehittäjän näkökulma. KualiKSB. Sivu 1. Tilanne Vaatimus Ongelma jos vaatimus ei toteudu
Liite 1: skenaariot ja PoC tulokset 1. Palvelun kehittäjän näkökulma Tilanne Vaatimus Ongelma jos vaatimus ei toteudu Palvelun uusi versio on Palveluiden kehittäminen voitava asentaa tuotantoon vaikeutuu
Karttaselain Paikannin J2ME
Karttaselain Paikannin J2ME Käyttöohje Päivitetty 8.9.2014 Sisältö Tervetuloa...3 Tuetut laitteet...3 Sovelluksen lataaminen...3 Päänäyttö...4 Sovelluksen valikko...5 Laitetunniste (IMEI-koodi)...5 Sovelluksen
XML prosessori. XML prosessointi. XML:n kirjoittaminen. Validoiva jäsennin. Tapahtumaohjattu käsittely. Tapahtumaohjattu käsittely.
XML prosessointi Miten XML dokumentteja luetaan ja kirjoitetaan XML prosessori lukee ja välittää XML dokumentin sovellukselle. Se sisältää entieettikäsittelijän (mahdollisesti) XML jäsentimen Sovellus
3 Verkkosaavutettavuuden tekniset perusteet
3 Verkkosaavutettavuuden tekniset perusteet Saavutettavuuden toteuttaminen edellyttää lähtökohtaisesti tietoa laitteista ja sovelluksista, käyttäjistä ja käyttötavoista, sekä tekniikasta. Tekniikasta on
EASY Tiedostopalvelin - mobiilin käyttöopas
EASY Tiedostopalvelin - mobiilin käyttöopas ios www.storageit.fi - Äyritie 8 D, 01510 VANTAA Salorantie 1, 98310 KEMIJÄRVI Sisältö 1. Lataaminen ja asennus 2. Kansiot ja tiedostot Uusien tiedostojen luonti
T-110.4100 Harjoitustyöluento
1. lokakuuta 2009 Yhteenveto 1 2 3 Linkkitilaprotokolla 4 5 6 DL! Ensimmäinen deadline lähestyy: harjoitustyön suunnitelma pitäisi palauttaa 15.10 klo 12 mennessä. Itse harjoitustyöstä lisää tuota pikaa..
T Harjoitustyöluento
29. syyskuuta 2010 Luennon sisältö 1 2 3 Simulaatiopalvelin Moodle Harjoitustyön demoaminen 4 Aikataulu Kysyttävää? Harjoitustyössä toteutetaan ohjelma, joka simuloi reititintä: ohjelma vastaanottaa reititysdataa
Verkkosisällön saavutettavuusohjeet 2.0: hyviä ohjeita monimuotoisen sisällön suunnitteluun ja arviointiin
Verkkosisällön saavutettavuusohjeet 2.0: hyviä ohjeita monimuotoisen sisällön suunnitteluun ja arviointiin Ossi Nykänen Tampereen teknillinen yliopisto, Hypermedialaboratorio, W3C Suomen toimisto Terveyden
Tekstiviestipalvelun rajapintakuvaus
Tekstiviestipalvelun rajapintakuvaus Sisällysluettelo 1. Yleistä... 1 2. Lähtevien viestien rajapinta... 1 2.1. Rajapinnan tekniset tiedot ja parametrit... 1 2.2. Rajapinnan paluuarvot... 3 2.3. Rajapinnan
Julkinen. Suomen Pankin ja Finanssivalvonnan suojattu sähköposti: ulkoisen käyttäjän ohje
Muistio 1 (7) Suomen Pankin ja Finanssivalvonnan suojattu sähköposti: ulkoisen käyttäjän ohje Sisällys 1 Johdanto... 1 2 Suojatun viestin vastaanottaminen... 1 3 Suojatun viestin lukeminen... 2 4 Vastaanotetun
Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS Ti Kandidaatintyö ja seminaari
LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS Ti5004000 - Kandidaatintyö ja seminaari Alkuraportti Avoimen lähdekoodin käyttö WWW-sovelluspalvelujen toteutuksessa Lappeenranta, 4.6.2007,
OnniSMS Rajapintakuvaus v1.1
OnniSMS Rajapintakuvaus v1.1 1.0 Yleistä OnniSMS on HTTPS/XML pohjainen rajapinta tekstiviestin lähettämiseen. Palvelun käyttöön tarvitaan käyttäjätunnus, salasana ja palvelimen osoite, jotka saa tekemällä
Julkishallinnon XML-skeemat v0.5 JHS-suositus
Julkishallinnon XML-skeemat v0.5 JHS-suositus Keskustelutilaisuus 22.10.2008, Kansallismuseon auditorio Lasse Akselin TietoEnator lasse.akselin@tietoenator.com Sisällys Johdanto Nimeämissäännöt Skeemojen
W3C ja Web-teknologiat
W3C ja Web-teknologiat Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), W3C Suomen toimisto Esitelmä Hyvin lyhyt versio: World Wide Web Consortium (W3C) on kansainvälinen
Katso-tunnistautumisen muutos. Visma Fivaldi
Katso-tunnistautumisen muutos Visma Fivaldi 22.10.2019 1(9) Sisällysluettelo 1 Yleistä... 2 2 Katso-tunnistautumisen muutos Fivaldissa... 2 2.1 Varmenteen olemassaolon tarkistaminen... 3 2.1.1 Tilitoimiston
Sähköpostitilin käyttöönotto
Sähköpostitilin käyttöönotto Versio 1.0 Jarno Parkkinen jarno@atflow.fi Sivu 1 / 16 1 Johdanto... 2 2 Thunderbird ohjelman lataus ja asennus... 3 3 Sähköpostitilin lisääminen ja käyttöönotto... 4 3.2 Tietojen
Tietojen toimittaminen Skeemat Käsittelypalautteen kysely Kansallisen tulorekisterin perustamishanke
Versio 1.0 Tietojen toimittaminen Skeemat Käsittelypalautteen kysely Kansallisen tulorekisterin perustamishanke Tietojen toimittaminen Skeemat Käsittelypalautteen kysely 2 (7) Versiohistoria Versio Päivämäärä
Tuomiorekisterin ratkaisuhaun kehittäminen
25.5.2012 Sivu 1 Muutoshistoria Versio Päiväys Tekijä Kuvaus 0.1 15.2.2012 NMu Luonnos korjattujen ratkaisujen tietojen välittämisen muutoksesta 0.2 12.3.2012 NMu Lisätty uusia metatietokenttiä 0.3 25.5.2012
CSE-A1200 Tietokannat
CSE-A1200 Tietokannat Osa kalvoista perustuu Juha Puustjärven luentokalvoihin kurssilta T-76.1143 sekä kurssin oppikirjaan 3.5.2016 CSE-A1200 Tietokannat 3.5.2016 1 / 39 Oppimistavoitteet: tämän luennon
Jussi Klemola 3D- KEITTIÖSUUNNITTELUOHJELMAN KÄYTTÖÖNOTTO
Jussi Klemola 3D- KEITTIÖSUUNNITTELUOHJELMAN KÄYTTÖÖNOTTO Opinnäytetyö KESKI-POHJANMAAN AMMATTIKORKEAKOULU Puutekniikan koulutusohjelma Toukokuu 2009 TIIVISTELMÄ OPINNÄYTETYÖSTÄ Yksikkö Aika Ylivieska
kansainvälistäminen ja paikallistaminen Zopessa Plonen käännöstyö Asko Soukka, Jyväskylän yliopisto asko.soukka@jyu.fi
kansainvälistäminen ja paikallistaminen Zopessa Plonen käännöstyö Asko Soukka, Jyväskylän yliopisto asko.soukka@jyu.fi Kääntämisvaihtoehdot Plonessa Localizer ja Translation Service käytön myötä kumuloituva
Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset
Vaatimusmäärittely Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Versio Päiväys Tekijä Kuvaus 0.1 12.10.01 Pekka Koskinen Ensimmäinen luonnos 0.2 17.10.01 Pekka Koskinen Lisätty vaatimuksia
XML tehtävien työnkulku
XML tehtävien työnkulku -- TMC työskentelyohjeet LYHYT VERSIO XML harjoitusten toimintaohjeet (lyhyt versio) (XMLStarlet ohjeet löytyvät pitkästä versiosta) ELEC-C1220 - Automaatio 2 Sisältö LYHYT VERSIO
Avoimen lähdekoodin kehitysmallit
Avoimen lähdekoodin kehitysmallit Arto Teräs Avoimen lähdekoodin ohjelmistot teknisessä laskennassa -työpaja CSC, 25.5.2009 Avoimen lähdekoodin kehitysmallit / Arto Teräs 2009-05-25
Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS CT10A4000 - Kandidaatintyö ja seminaari
LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS CT10A4000 - Kandidaatintyö ja seminaari Alkuraportti Avoimen lähdekoodin käyttö WWW-sovelluspalvelujen toteutuksessa Lappeenranta, 30.3.2008,
SSH Secure Shell & SSH File Transfer
SSH Secure Shell & SSH File Transfer TIETOHALLINTO Janne Suvanto 1.9 2002 Sisällysluettelo Sisällysluettelo... 1 Yleistä... 2 SSH Secure Shell ohjelman asetukset... 3 POP3 tunnelin asetukset... 6 Yhteyden
Tekninen suunnitelma - StatbeatMOBILE
Tekninen suunnitelma - StatbeatMOBILE Versio Päivämäärä Henkilö Kuvaus 1.0 13.12.2013 Pöyry Alustava rakenne ja sisältö 1.1 22.12.2013 Pöyry Lisätty tekstiä ilmoituksiin, turvallisuuteen ja sisäiseen API:in
Vianova Systems Finland Oy:n Novapoint käytön tuki
Vianova Systems Finland Oy:n Novapoint käytön tuki Yleistä Vianova Systems Finland Oy:n Novapoint ylläpitosopimus sisältää ohjelmiston käytön tukipalvelun. Asiakas on oikeutettu saamaan kohtuullisessa
Automaatiojärjestelmän hankinnassa huomioitavat tietoturva-asiat
Automaatiojärjestelmän hankinnassa huomioitavat tietoturva-asiat Teollisuusautomaation tietoturvaseminaari Purchasing Manager, Hydro Lead Buyer, Industrial Control Systems 1 Agenda / esityksen tavoite
Enigmail-opas. Asennus. Avainten hallinta. Avainparin luominen
Enigmail-opas Enigmail on Mozilla Thunderbird ja Mozilla Seamonkey -ohjelmille tehty liitännäinen GPG-salausohjelmiston käyttöä varten. Sitä käytetään etenkin Thunderbirdin kanssa sähköpostin salaamiseen
Järjestelmäarkkitehtuuri (TK081702) Web Services. Web Services
Järjestelmäarkkitehtuuri (TK081702) Standardoidutu tapa integroida sovelluksia Internetin kautta avointen protokollien ja rajapintojen avulla. tekniikka mahdollista ITjärjestelmien liittämiseen yrityskumppaneiden
AS Automaatio ja systeemitekniikan projektityöt Projektisuunnitelma Syksy 2009 A09 05 OSGi IRC Bot For Coffee Maker
AS 0.3200 Automaatio ja systeemitekniikan projektityöt Projektisuunnitelma Syksy 2009 A09 05 OSGi IRC Bot For Coffee Maker Henri Nieminen Juha Sironen Palautettu: 21.9.2009 Nieminen, Sironen Sisällysluettelo
Visma asiakaspalvelu Tukipyyntöjen lähettäminen
Visma asiakaspalvelu Tukipyyntöjen lähettäminen 2 Sisällys 1 Tukipyyntöjen käsittely... 3 1.1 Tukipalvelun sisältö... 3 1.2 Tukipyynnön lähettäminen... 3 1.3 Kuvan lisääminen tukipyyntöön... 4 2 Etähallintatyökalut...
NELLI-Tunnis. Käyttäjän tunnistus NELLI-tiedonhakuportaalissa yleisissä kirjastoissa. Versio 1.0. 16.5.2006 Ere Maijala Kansalliskirjasto
NELLI-Tunnis Käyttäjän tunnistus NELLI-tiedonhakuportaalissa yleisissä kirjastoissa Versio 1.0 16.5.2006 Ere Maijala Kansalliskirjasto Sisällysluettelo Johdanto...3 Tekniikka...3 Esimerkit...4 XML-Skeema...5
Johdatus rakenteisiin dokumentteihin
-RKGDWXVUDNHQWHLVLLQGRNXPHQWWHLKLQ 5DNHQWHLQHQGRNXPHQWWL= rakenteellinen dokumentti dokumentti, jossa erotetaan toisistaan dokumentin 1)VLVlOW, 2) UDNHQQHja 3) XONRDVX(tai esitystapa) jotakin systemaattista
Paikkatietorajapinnat IT arkkitehtuurin näkökulmasta 21.12.200 7
Paikkatietorajapinnat IT arkkitehtuurin näkökulmasta 21.12.200 7 Mikä on IT arkkitehtuuri? Liiketoimintamalli määrittelee IT arkkitehtuurin IT arkkitehtuuri ottaa kantaa sovelluksen laadullisiin vaatimuksiin
Tuotannon laitteiden käyttöasteen seuranta
Tuotannon laitteiden käyttöasteen seuranta Jaakko Yli-Luukko t95586@student.uwasa.fi 19. maaliskuuta 2017 KEY WORDS Internet of Things, esineiden Internet, teollinen Internet, datan visualisointi 1 Tiivistelmä
Android. Sähköpostin määritys. Tässä oppaassa kuvataan uuden sähköpostitilin käyttöönotto Android 4.0.3 Ice Cream Sandwichissä.
Y K S I K Ä Ä N A S I A K A S E I O L E M E I L L E LI I A N P I E NI TAI M I K Ä Ä N H A A S T E LI I A N S U U R I. Android Sähköpostin määritys Määrittämällä sähköpostitilisi Android-laitteeseesi, voit
IRC ja etäyhteydet IRC JA ETÄYHTEYDET
IRC JA ETÄYHTEYDET Contents 1 IRC... 2 1.1 Yleisesti... 2 1.1.1 SSH-yhteys Windowsilla... 2 1.1.2 SSH-yhteys Linuxilla tai OS X:llä... 3 1.2 Irkkaamisen aloitus... 3 1.3 Irkkiin palaaminen... 4 1.4 Hyödyllistä
Mikä on internet, miten se toimii? Mauri Heinonen
Mikä on internet, miten se toimii? Mauri Heinonen Mikä on Internet? Verkkojen verkko Muodostettu liittämällä lukuisia aliverkkoja suuremmaksi verkoksi Sivustojen tekemiseen käytetään kuvauskielta HTML
Koodistopalvelun REST-rajapinnat
Koodistopalvelun REST-rajapinnat Yleiset tiedot Swagger Kuvaus Yhteiset kyselyparametrit (Query Parameters) Yhteiset otsikkoparametrit (HTTP Headers) Yhteiset vastauskoodit (HTTP Response Codes) Autentikointi
Skype for Business ohjelman asennus- ja käyttöohje Sisällys
Skype for Business ohjelman asennus- ja käyttöohje Sisällys Kirjautuminen Office 365 -palveluun... 2 Skype for Business ohjelman asentaminen... 3 Yhteyshenkilöiden lisääminen Skype for Business ohjelmassa...
Pilveä standardisoidaan monessa ryhmässä
14.10.2011 Uutiskirjeen sisältö Pilvipalveluita koskevien standardien laadinta on alkamassa mm.verkkosovellusten ja tietoturvatekniikkojen ISOn alikomiteoissa.»lue artikkeli kokonaisuudessaan Ohjelmointikieli
Sähköposti ja uutisryhmät 4.5.2005
Outlook Express Käyttöliittymä Outlook Express on windows käyttöön tarkoitettu sähköpostin ja uutisryhmien luku- ja kirjoitussovellus. Se käynnistyy joko omasta kuvakkeestaan työpöydältä tai Internet Explorer
Copyright Observis Oy All rights reserved. Observis Oy Ville Kanerva, CTO Heikki Isotalus, COO Datasta tietoa
Observis Oy Ville Kanerva, CTO Heikki Isotalus, COO Datasta tietoa Platform Tuotekehityksen haasteita ja ratkaisuja Haaste: Massiivisten tietomäärien hallinta Ratkaisu: Pilvipalvelun skaalautuvuus Haaste:
EASY PILVEN Myynnin opas - Storage IT
EASY PILVEN Myynnin opas - Storage IT EASY Pilvi EASY Tiedostopalvelin: Tiedostojen tallennukseen ja jakamiseen soveltuva monipuolinen järjestelmä EASY Pilvipalvelin: Täysiverinen, skaalautuva käyttöjärjestelmän
Kirje -tasolla viestiliikenne suojataan automaattisesti SSL-salauksella, sekä viesti lukitaan Deltagon MessageLock -tekniikalla.
Luottamuksellinen sähköposti Lapin AMK:ssa Lapin AMK käyttää Deltagon Sec@GW -ohjelmistoa sähköpostin luottamuksellisuuden suojaamiseen. D-Envelope sovelluksen avulla viestien vastaanottaminen ei edellytä
Interfacing Product Data Management System
Interfacing Product Data Management System Tekijä: Työn valvoja: Mats Kuivalainen Timo Korhonen Esitelmän sisältö Työn suorituspaikka - Ideal Product Data Oy Käsitteitä Työn tavoitteet Työn tulokset 1/5
Semanttinen Web. Ossi Nykänen Tampereen teknillinen yliopisto (TTY), DMI / Hypermedialaboratorio W3C Suomen toimisto
Semanttinen Web Ossi Nykänen ossi.nykanen@tut.fi Tampereen teknillinen yliopisto (TTY), DMI / Hypermedialaboratorio W3C Suomen toimisto Esitelmä "Semanttinen Web" Sisältö Konteksti: W3C, Web-teknologiat
T2V2 Vaaratilanneilmoitussanomakuvaus
Versio: 0.3 Muokattu: 23.6.2008 2(10) SISÄLLYS 1 Tarkoitus...3 1.1 Rajaus...3 1.2 Dokumentaatio...3 2 Tietojen esitystavat...3 2.1 Numeerinen tieto...3 2.2 Päivämäärät ja kellonajat...3 2.3 Totuusarvot...4
FuturaPlan. Järjestelmävaatimukset
FuturaPlan Järjestelmävaatimukset 25.1.2017 2.2 Hermiankatu 8 D tel. +358 3 359 9600 VAT FI05997751 33720 Tampere fax. +358 3 359 9660 www.dbmanager.fi i Versiot Versio Päivämäärä Tekijä Kommentit 1.0
Tietojen toimittaminen Skeemat Viestit Kansallisen tulorekisterin perustamishanke
Versio 1.0 Tietojen toimittaminen Skeemat Viestit Kansallisen tulorekisterin perustamishanke Tietojen toimittaminen Skeemat Viestit 2 (14) Versiohistoria Versio Päivämäärä Kuvaus 1.0 12.6.2017 Dokumentti
LoCCaM Riistakamerasovellus. Dimag Ky dimag.fi
LoCCaM Riistakamerasovellus Dimag Ky janne.koski @ dimag.fi +358505907788 Sovelluksen toimintaperiaate Toimintaperiaate yksinkertaistettuna on seuraavanlainen Kamera ottaa kuvan tai videon jonka lähettää
Paikkatiedot ja Web-standardit
Paikkatiedot ja Web-standardit Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), Hypermedialaboratorio W3C Suomen toimisto Esitelmä Hyvin lyhyt versio: World Wide
Pertti Pennanen DOKUMENTTI 1 (5) EDUPOLI ICTPro1 29.10.2013
Virtualisointi Pertti Pennanen DOKUMENTTI 1 (5) SISÄLLYSLUETTELO Virtualisointi... 2 Virtualisointiohjelmia... 2 Virtualisointitapoja... 2 Verkkovirtualisointi... 2 Pertti Pennanen DOKUMENTTI 2 (5) Virtualisointi
Javan asennus ja ohjeita ongelmatilanteisiin
Javan asennus ja ohjeita ongelmatilanteisiin Javaa tarvitaan Fivaldin Sovellusikkunan alaisiin sovelluksiin, jotka käyttävät Oracle Forms -tekniikkaa. Visma Fivaldin osalta suosittelemme aina käyttämään
Tamico Yrityssähköposti
------- Tamico Yrityssähköposti Pikakäyttöopas ver. 106165-6, 18.8.2014 Sisältö 1 Johdanto... 1 1.1 Yleistä palvelusta... 1 2 Web-sähköpostin käyttäminen Tamico Yrityssähköposti -palvelussa.... 2 2.1 Yrityssähköpostipalveluun
Lisenssin hakeminen PTC:n verkkosivun kautta
10.4.13 (rev. 2) Lisenssin hakeminen PTC:n verkkosivun kautta Kun haetaan ensimmäisen kerran Mathcad-lisenssi, sen voi tehdä PTC: kotisivulta. Kun konetta vaihdetaan, voi Mathcadin lisenssin voi käydä
Julkinen. Suomen Pankin ja Finanssivalvonnan suojattu sähköposti: ulkoisen käyttäjän ohje
Ohje 1 (10) Suomen Pankin ja Finanssivalvonnan suojattu sähköposti: ulkoisen käyttäjän ohje Sisällys 1 Johdanto... 1 2 Suojatun viestin vastaanottaminen... 1 3 Suojatun viestin lukeminen... 2 4 Vastaanotetun
PILY-listalle rekisteröityminen Yahoo-groupsin kautta
PILY-listalle rekisteröityminen Yahoo-groupsin kautta Mene PILY-listan kotisivuille http://groups.yahoo.com/group/pily-lista/ Klikkaa oikeasta yläkulmasta register. Alla oleva sivu aukeaa täyttämättömänä.
in condition monitoring
Etäteknologioiden automaatiosovellukset Using e-speak e in condition monitoring tutkija professori Hannu Koivisto Sisältö Tausta Globaali kunnonvalvontajärjestelmä E-speak globaalissa kunnonvalvontajärjestelmässä
StanForD-XML. Juha-Antti Sorsa, Tapio Räsänen, Vesa Imponen
Projektiryhmä StanForD-XML Juha-Antti Sorsa, Tapio Räsänen, Vesa Imponen Rahoittajat Koskitukki Oy, Metsähallitus, Metsäliitto Osuuskunta, Pölkky Oy, Stora Enso Oyj, UPM- Kymmene Oyj, Vapo Timber Oy, Yksityismetsätalouden
JHS 180 Paikkatiedon sisältöpalvelut Laajennos, liitteet 2-4. Lassi Lehto
JHS 180 Paikkatiedon sisältöpalvelut Laajennos, liitteet 2-4 Lassi Lehto Paikkatiedon sisältöpalvelu 2 JHS 180 Paikkatiedon sisältöpalvelut Päädokumentti ja liite 1 valmistuneet aiemmin JUHTA 28.9.2011
CLIENT TIEDONSIIRTO-JA RAPORTOINTIOHJELMA
CLIENT k k k k k TIEDONSIIRTO-JA RAPORTOINTIOHJELMA Sisältö 1. Yleistä CLIENT tiedonsiirto-ja raportointiohjelmasta... 3 2. Asetukset... 4 2.1 Yleiset asetukset... 4 2.2 Raportissa näytettävät sarakkeet...
Security server v6 installation requirements
CSC Security server v6 installation requirements Security server version 6.x. Version 0.2 Pekka Muhonen 2/10/2015 Date Version Description 18.12.2014 0.1 Initial version 10.02.2015 0.2 Major changes Contents
Luottamuksellinen sähköposti Lapin yliopistossa. Ilmoitusviesti
Luottamuksellinen sähköposti Lapin yliopistossa Lapin yliopisto käyttää Deltagon Sec@GW -ohjelmistoa sähköpostin luottamuksellisuuden suojaamiseen. D-Envelope sovelluksen avulla viestien vastaanottaminen
Salasanojen hallinta. Salasanojen hallintaopas RESTAURANT ENTERPRISE SOLUTION
Salasanojen hallinta Salasanojen hallintaopas RESTAURANT ENTERPRISE SOLUTION Restaurant Enterprise Solution Asiakirjan tarkoitus Tämä asiakirja kertoo tarvittavat säännöt kuinka hallinnoida RES salasanoja
Tietojen jakelu Skeemat Palvelupyyntö Kansallisen tulorekisterin perustamishanke
Versio 1.0 Tietojen jakelu Skeemat Palvelupyyntö Kansallisen tulorekisterin perustamishanke Tietojen jakelu Skeemat Palvelupyyntö 2 (9) Versiohistoria Versio Päivämäärä Kuvaus 1.0 12.6.2017 Dokumentti
Security server v6 installation requirements
CSC Security server v6 installation requirements Security server version 6.4-0-201505291153 Pekka Muhonen 8/12/2015 Date Version Description 18.12.2014 0.1 Initial version 10.02.2015 0.2 Major changes
Fixcom Webmail ohje. Allekirjoitus. Voit lisätä yhden tai useamman allekirjoituksen.
Webmail on monipuolinen työkalu jolla voi tehdä paljon muutakin kuin lukea sähköpostia. Tässä ohjeessa on lyhyesti esitelty joitakin sen ominaisuuksia. Peruspostilaatikossa ei ole kaikkia ominaisuuksia,
Ohjelmointi 1. Kumppanit
Ohjelmointi 1 Kumppanit November 20, 2012 2 Contents 1 Mitä ohjelmointi on 7 2 Ensimmäinen C#-ohjelma 9 2.1 Ohjelman kirjoittaminen......................... 9 A Liite 11 3 4 CONTENTS Esipuhe Esipuhe 5
Ajankohtaista peltolohkorekisterissä
Ajankohtaista peltolohkorekisterissä Ajantasaistus keväällä 2009 Talvella 2008-2009 maataloushallinto teki ajantasaistusta yhteensä 104 kunnan alueella. Kaikkia kuntia ei ole ajantasaistettu kokonaisuudessaan,
Mallintaminen; kurssipalautejärjestelmä
Thomas Gustafsson & Saara Salminen Mallintaminen; kurssipalautejärjestelmä Metropolia Ammattikorkeakoulu Insinööri (AMK) Tietotekniikan koulutusohjelma Mallintaminen, tehtävä 1 21.1.2012 Tiivistelmä Tekijä(t)
Tietojen toimittaminen Skeemat Vastaanottokuittaus Kansallisen tulorekisterin perustamishanke
Versio 1.0 Tietojen toimittaminen Skeemat Vastaanottokuittaus Kansallisen tulorekisterin perustamishanke Tietojen toimittaminen Skeemat Vastaanottokuittaus 2 (10) Versiohistoria Versio Päivämäärä Kuvaus
KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka. Joni Korjala APACHE WWW-PALVELIN Seminaarityö 2012
KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka Joni Korjala APACHE WWW-PALVELIN Seminaarityö 2012 SISÄLLYS 1 JOHDANTO 3 2 WWW-PALVELIMEN TOIMINTA 4 3 OMINAISUUDET
Varmennepalvelu Rajapintakuvaus Kansallisen tulorekisterin perustamishanke
Versio 1.0 Varmennepalvelu Rajapintakuvaus Kansallisen tulorekisterin perustamishanke Varmennepalvelu Rajapintakuvaus 2 (13) Versiohistoria Versio Päivämäärä Kuvaus 1.0 Dokumentti julkaistu. Varmennepalvelu
Tietojärjestelmien yhteensovittaminen turvallisesti älykkäisiin koneisiin
Tietojärjestelmien yhteensovittaminen turvallisesti älykkäisiin koneisiin Tampereen teknillinen yliopisto 28.1.2010 Jouni Vuorensivu Remion Ltd. www.remion.com jouni.vuorensivu@remion.com Jouni Vuorensivu
Windows Phone. Sähköpostin määritys. Tässä oppaassa kuvataan uuden sähköpostitilin käyttöönotto Windows Phone 8 -puhelimessa.
Y K S I K Ä Ä N A S I A K A S E I O L E M E I L L E LI I A N P I E NI TAI M I K Ä Ä N H A A S T E LI I A N S U U R I. Windows Phone Sähköpostin määritys Määrittämällä sähköpostitilisi Windows-puhelimeesi,
EMVHost Online SUBJECT: EMVHOST ONLINE CLIENT - AUTOMAATTISIIRROT COMPANY: EMVHost Online Client sovelluksen käyttöohje AUTHOR: DATE: 15.03.
EMVHost Online SUBJECT: COMPANY: COMMENTS: AUTHOR: EMVHOST ONLINE CLIENT - AUTOMAATTISIIRROT NETS OY EMVHost Online Client sovelluksen käyttöohje NETS OY DATE: 15.03.2011 VERSION: 1.0 1 SISÄLLYS SISÄLLYS...
Pika-asennusohjeet Suomeksi
Pika-asennusohjeet Suomeksi (Virallinen ohje löytyy asennuslevyltä Englanninkielisenä) Tulosta tämä ohje asennuksen avuksi. Ensiksi asennetaan itse ohjelma, sitten rekisteröidytään testerin käyttäjäksi
XML merkintäkielten perusteet. Luento 3 Pekka Aarnio
XML merkintäkielten perusteet Luento 3 Pekka Aarnio 1 Luennon sisältö OSA 1: XML-Schema OSA 2: XML-Schema ja nimiavaruudet 2 Osa 1: sisältö Osa 1 1. Mikä on XML-Schema-kieli 2. Tietotyypit ja elementtien
Korkeakoulujen prosessipalvelin: mallintajan palvelinohje Versio 0.2
Korkeakoulujen prosessipalvelin: mallintajan palvelinohje Versio 0.2 Sisällysluettelo Muutoshistoria...3 1 Johdanto...4 2 Palvelimen käyttöön tarvittavat ohjelmat...4 3 Palvelimelle kirjautuminen...4 4
papinet -sanomastandardit
papinet -sanomastandardit Tapio Räsänen Puutavaralogistiikan kehittämishaasteita 14.6.2007 1 papinet on An international paper and forest products industry e-business initiative. A set of standard electronic