WEB-PALVELUITA HYÖDYNTÄVÄN WINDOWS PHONE 7 -SOVELLUKSEN RAKENTAMINEN

Koko: px
Aloita esitys sivulta:

Download "WEB-PALVELUITA HYÖDYNTÄVÄN WINDOWS PHONE 7 -SOVELLUKSEN RAKENTAMINEN"

Transkriptio

1 Opinnäytetyö (AMK) Tietojenkäsittelyn koulutusohjelma Sähköisen liiketoiminnan järjestelmät 2013 Ville Skants WEB-PALVELUITA HYÖDYNTÄVÄN WINDOWS PHONE 7 -SOVELLUKSEN RAKENTAMINEN

2 OPINNÄYTETYÖ (AMK) TIIVISTELMÄ TURUN AMMATTIKORKEAKOULU Tietojenkäsittely Sähköisen liiketoiminnan järjestelmät Toukokuu liitteet Ohjaaja: Päivi Nygren Ville Skants WEB-PALVELUITA HYÖDYNTÄVÄN WINDOWS PHONE 7 -SOVELLUKSEN RAKENTAMINEN Modernit tietojärjestelmät ovat monimutkaisia kokonaisuuksia, jotka voivat olla vuorovaikutuksessa monen muun eri järjestelmän kanssa. Web-palvelut mahdollistavat tehokkaan tavan informaation, business-logiikan ja operaatioiden siirtämiseen eri tietojärjestelmien välillä. Yhä useammin web-palveluiden tarjoamaa informaatiota käytetään älypuhelimien sovelluksissa. Microsoftin Windows Phone 7 -käyttöjärjestelmän kehitystyökalut tarjoavat hyvät toiminnot web-palveluiden käyttämiseen. Tämän opinnäytetyön tavoitteena on perehtyä yleisesti web-palveluihin ja tutkia niiden käyttöä Windows Phone 7 -sovelluksessa. Työssä tutustaan myös web-palveluita tarjoavaan rajapintaan ja käsitellään kuinka sovelluskehittäjät voivat käyttää sitä. Opinnäytetyön viimeisessä osassa luodaan yksinkertainen esimerkkisovellus edellä kuvattujen asioiden pohjalta. Esimerkkisovellus paikantaa puhelimen sijainnin, hakee sen perusteella kolme lähintä joukkoliikenteen pysäkkiä ja esittää ne käyttäjälle. Sovellus käyttää Helsingin seudun joukkoliikenteen tarjoamaa rajapintaa hakeakseen datan sovelluksen käyttöön. Sovellus ohjelmoitiin työssä esitetyllä Windows Phone 7 -sovelluskehitysympäristöllä. ASIASANAT: Windows Phone, web-palvelu, web-palvelun rajapinta

3 BACHELOR S THESIS ABSTRACT TURKU UNIVERSITY OF APPLIED SCIENCES Degree Programme in Business Information Technology e-business Systems May liitteet Instructor: Päivi Nygren Ville Skants DESIGNING WINDOWS PHONE 7 APPLICATION USING WEB SERVICES Modern information systems are complex entities, which can communicate simultaneously with many other systems. Web services provide an efficient way to transfer information, business logic and methods between different information systems. More often nowadays web services information is consumed by applications of different phone devices. Windows Phone 7 - application development tools offer good tools for using web services. The aim of this thesis is to give a general overview of web services and study how they can be used in Windows Phone 7 -application.the thesis also discusses application programming interface which provides web services and describes how developers can use it. A sample application is created in the final section of this thesis. It is based on the above techniques. The sample application locates the current location of a phone device, uses this information to fetch three closest stops in the area and then displays them to the user. The application uses application programming interface provided by public transportation of Helsinki, in order to fetch the data. The application was developed in Windows Phone 7 -application development environment. KEYWORDS: Windows Phone, web services interface, web services

4 SISÄLTÖ 1 JOHDANTO 6 2 WINDOWS PHONE 7 -SOVELLUSKEHITYS Windows Phonen julkaisu Microsoftin.NET-arkkitehtuuri Windows Phone Application Platform Windows Phone 7 -sovelluksen luominen 11 3 WEB-PALVELUT Mitä tarkoittaa web-palvelut? Kuinka web-palvelut toimivat? Web-palvelujen arkkitehtuurit Vastausmuodot XML JSON 17 4 REITTIOPAS-RAJAPINTA Projekti Reittiopas API Reittiopas-rajapinnan palvelut Reittiopas-rajapinnan käyttö Windows Phonella Projektin haasteet 24 5 ESIMERKKISOVELLUKSEN TOTEUTUS Sovelluksen luominen Puhelimen sijainnin selvittäminen HTTP-pyyntö Reittiopas-rajapintaan HTTP-vastauksen käsittely ja tulosten esittäminen 29 6 YHTEENVETO 34 LÄHTEET 35

5 LIITTEET Liite 1. Cycling route-moduulin request-parametrit. (Reittiopas API 2013) Liite 2. Stops in area-moduulin request-parametrit. (Reittiopas API 2013) Liite 3. Stops in area-moduulin response-kentät. (Reittiopas API 2013) Liite 4. Esimerkkisovelluksen koodi KUVAT Kuva 1.Älypuhelin Windows Phone 7 -käyttöjärjestelmällä. (Nokia.com 2013) 7 Kuva 2. Windows Phone Application Platform. (Application Platform Overview for Windows Phone 2013) 9 Kuva 3. Windows Phone 7 -sovelluksen luominen. 11 Kuva 4. Windows Phone 7 -sovelluksen tiedostot. 12 Kuva 5. Web-palvelun kuvaus. 14 Kuva 6. MainPage.xaml.cs. 25 Kuva 7. System.Device-komponentin lisääminen. 26 Kuva 8. Koordinaatit parametreja varten. 28 Kuva 9. Pysäkki-informaation tulostus. 33 TAULUKOT Taulukko 1. Reittiopas-rajapinnan moduulit (Reittiopas API 2013). 20

6 6 1 JOHDANTO Web-palveluiden käyttö on tullut yhä suositummaksi vuosien myötä internetin kehittyessä. Palveluiden ja informaation jakaminen verkon kautta asiakkaille on moderni tapa luovuttaa informaatiota. Lukuisat eri yritykset hyödyntävät esimerkiksi Googlen tarjoamien kartta- ja paikkatietorajapintojen informaatiota omissa web-sovelluksissaan. Web-palveluiden tavoin mobiilisovelluksien määrä on kasvanut räjähdysmäisesti viime vuosina. Puhelimille tehdään sovelluksia monilla eri tekniikoilla. Tässä opinnäytetyössä tutustutaan Microsoftin Windows Phone sovelluskehitysympäristöön. Tämän opinnäytetyön tarkoituksena on tutkia web-palveluiden käyttöä Windows Phone 7 -sovelluskehitystyökaluilla. Ensiksi tutustutaan Windows Phone 7 - alustaan ja.net-ohjelmistokehykseen. Kolmannessa osassa käydään läpi webpalveluita ja niiden arkkitehtuuria. Neljännessä luvussa esitellään opinnäytetyössä tehtävä esimerkkisovellus, Helsingin joukkoliikenteen tarjoama Reittiopas-rajapinta ja selvitetään kuinka rajapintaa voidaan käyttää Windows Phone 7 -sovelluksissa. Opinnäytetyön viimeinen osuus on esimerkkisovelluksen toteutus. Sovellus hakee Reittiopas-rajapinnasta matkaja aikatauluinfoa sovelluksen käyttöön. Sovellus esitetään esimerkkiratkaisuna ja sitä ei tulla julkaisemaan Microsoftin Marketplace-sovelluskaupassa.

7 7 2 WINDOWS PHONE 7-SOVELLUSKEHITYS 2.1 Windows Phonen julkaisu Microsoft julkisti vuonna 2010 Windows Phone 7 -mobiilikäyttöjärjestelmän. Se oli seuraaja vuonna 2000 julkaistulle Windows Mobile - mobiilikäyttöjärjestelmälle, joka jäi suosiossa Androidin ja iphonen taakse. Microsoft halusi tarjota kuluttajille samanlaisen käyttäjäkokemuksen mitä Android ja iphone pystyivät tarjoamaan. Uusi käyttöjärjestelmä otettiin hyvin vastaan ja sen uskottiin olevan varteenotettava haastaja kilpakumppaneilleen. Windows Phone 7 -käyttöjärjestelmää käyttävät lukuisat eri matkapuhelinvalmistajat kuten Nokia, Samsung, HTC, LG, Dell, ZTE, Acer, Fujitsu, Toshiba ja Asus. (Lecrenski ym. 2011, 24) Kuva 1. Älypuhelin Windows Phone 7 -käyttöjärjestelmällä. (Nokia.com 2013)

8 8 2.2 Microsoftin.NET-arkkitehtuuri.NET-framework on Microsoftin kehittämä kehitysympäristö sovelluksien tekemiseen Windowsille, Windows Phonelle, Windows Serverille ja Windows Azurelle. Se koostuu kahdesta pääkomponentista: CLR(Common language runtime)-virtuaalikoneesta ja.net-luokkakirjastosta. CLR:n päätarkoitus on suorittaa ja hallita.net-kielillä toteutettuja sovelluksia sekä tarjota niille palveluja ja komponentteja. Näitä palveluja ovat muun muassa muistin, koodin ja poikkeusten hallinta, sekä tietoturvaan liittyvät tarkistukset. Kun ohjelman suoritus alkaa,.net:n sisäinen kääntäjä kääntää koodin CIL(Common intermediate language)-koodiksi, joka on Microsoftin kehittämä suoritinriippumaton välikieli. Sovelluksen ajon aikana, CIL-koodi käännetään käyttöjärjestelmän ymmärtämäksi konekieleksi. (Common Language Runtime 2013).NET-luokkakirjastot sisältävät luokkia, rajapintoja ja tietotyyppejä, jotka tukevat monia eri teknologioita ja helpottavat ennen kaikkea ohjelmoijan työtä. (.NETframework ;.NET-framework Interview Questions 2013) 2.3 Windows Phone Application Platform Windows Phone Application Platform -kokonaisuus kuuluu.netohjelmistokehykseen. Se tarjoaa kehittäjille työkalut mobiilisovellusten rakentamiseen. Se voidaan jakaa neljään osaan kuvan 2 mukaisesti: Runtimes, Tools, Cloud Services ja Portal Services.

9 9 Kuva 2. Windows Phone Application Platform. (Application Platform Overview for Windows Phone 2013) Runtimes sisältää Silverlight- ja XNA-ohjelmistokehykset. Kaikki Windows Phonelle tehdyt sovellukset perustuvat näihin teknologioihin. (Application Platform Overview for Windows Phone 2013) Silverlight-ohjelmistokehys antaa kehittäjille mahdollisuuden tehdä rikkaita ulkoasuja ja interaktiivisia käyttöliittymiä ja optimoida sovellukset käyttäjäystävällisiksi. Vektorigrafiikan, äänen, animaatioiden ja datan käsittely on erittäin helppoa ja tehokasta Silverlightin avulla. Silverlight-sovellukset rakennetaan XAML(Extensible Application Markup Language)-kielellä. (Petzold 2010, 2-4) XNA-ohjelmistokehys tarjoaa peleihin ja liikkuvaan kuvaan tarkotettuja komponentteja. XNA:lla voi piirtää 2D ja 3D-grafiikkaa puhelimen näytölle. XNA-tekniikalla voidaan kehittää pelejä monelle eri alustalle, joita ovat mm. Windows Phone, Windows 7 ja XBOX 360. (Petzold 2010, 2-4)

10 10 Windows Phone 7.5 -versiosta lähtien Silverlight ja XNA-ohjelmointikehykset voi sisällyttää samaan sovellukseen (Application Platform Overview for Windows Phone 2013). Tools-osaan kuuluvat.net-ohjelmistokehyksen kehitystyökalut. Windows Phone SDK(Software Development Kit) on paketti, joka sisältää välttämättömät ohjelmat sovellusten kehittämiseen. Paketin voi ladata osoitteesta: Se sisältää seuraavat komponentit ja ohjelmat (Download center 2013): Microsoft Visual Studio 2010 Express for Windows Phone Windows Phone Emulator Windows Phone SDK 7.1 Assemblies Silverlight 4 SDK and DRT Windows Phone SDK 7.1 Extensions for XNA Game Studio 4.0 Microsoft Expression Blend SDK for Windows Phone 7 Microsoft Expression Blend SDK for Windows Phone OS 7.1 WCF Data Services Client for Window Phone Microsoft Advertising SDK for Windows Phone. Cloud Services ovat pilvipalveluja. Nämä palvelut tarjoavat ominaisuuksia ja palveluja, jolla kehittäjät voivat hyödyntää pilvipalveluja Windows Phone - sovelluksissaan..net tarjoaa kehittäjille seuraavanlaiset pilvipalvelurajapinnat (Application Platform Overview for Windows Phone 2013): Ilmoitusrajapinnat Paikkatieto- ja karttarajapinnat Sosiaalisen median rajapinnat Mainonnan rajapinnat. Portaalipalvelut pitävät sisällään Windows Phone Marketplace -sovelluskaupan. Marketplacessa kehittäjät julkaisevat tekemiään sovelluksia. Sovellukset tarkastetaan ennen niiden julkaisua. (Application Platform Overview for Windows Phone 2013)

11 Windows Phone 7 -sovelluksen luominen Kun kehitystyökalut on asennettu, voidaan uusi Windows Phone -projekti luoda Visual Studiossa. Kehittäjän tulee valita joko Silverlight- tai XNA-sovellus kuvan 3 mukaisesti. Kuva 3. Windows Phone 7 -sovelluksen luominen. Windows Phone 7 -sovellus koostuu eri tiedostoista. Nämä tiedostot luodaan automaattisesti kun sovellus luodaan. Tiedostorakenne näkyy Solution Explorer-ikkunassa kuvan 2 mukaisesti.

12 12 Kuva 4. Windows Phone -sovelluksen tiedostot. Kehittäjälle tärkeimmät tiedostot ovat MainPage.xaml ja MainPage.xaml.cs. MainPage.xaml-tiedostoon luodaan sovelluksen käyttöliittymä ja se koostuu Silverlightin xaml-kielestä. MainPage.xaml.cs-tiedostoon kirjoitetaan sovelluksen business-logiikka C#-ohjelmointikielellä. (Creating a New Windows Phone Project 2013) Projektissa on myös muita tiedostoja. AppManifest.xml-tiedosto generoi sovelluksen peruskokoonpanon. AssemblyInfo.cs-tiedosto sisältää peruskokoonpanoon kuuluvaa metadataa. WMAppManifest.xml-tiedosto sisältää myös sovellukseen kuuluvaa metadataa, jota käytetään pääasiassa silloin kun sovellusta ollaan julkaisemassa Windows Phone Marketplacessa. App.xaml- ja App.xaml.cs-tiedostot sisältävät sovelluksen tietoja, kuten mistä tiedostosta sovellus käynnistetään tai mitä tiedostoja sovellus lataa käynnistyessään. (Creating a New Windows Phone Project 2013)

13 13 3 WEB-PALVELUT 3.1 Mitä tarkoittaa web-palvelut Web-palvelut (web services) kuuluvat SOA (Service Oriented Archtitecture)- arkkitehtuuriin. SOA-arkkitehtuurilla tarkoitetaan palvelukeskeistä arkkitehtuuria. Palvelukeskeinen arkkitehtuuri on ohjelmistotekniikassa käytetty arkkitehtuurin suunnittelutapa, jolla eri tietojärjestelmät on suunniteltu toimimaan itsenäisinä ja omina palveluina. Näitä palveluita tulisi pystyä aina käyttämään avoimien rajapintojen kautta. (Service-Oriented Architecture (SOA) and Web Services 2013) W3C eli World Wide Web Consortium on kansainvälinen yritysten ja yhteisöjen yhteenliittymä, joka ylläpitää ja kehittää WWW:n standardeja tai suosituksia. He määrittävät myös Web service-termin. Käytännössä webpalvelut ovat ohjelmistoja, jotka mahdollistavat eri sovellusten välisen vuorovaikutuksen tietoverkon yli. Web-palveluita voidaan pitää seuraavan sukupolven web-sovelluksina, moduuleina tai komponentteina, jotka tarjoavat erilaisia palveluja ja dataa verkon yli. Perinteiset HTML-sivut tarjosivat vain staattista sisältöä. Internet kehittyi ja staattinen sisältö muuttui dynaamisemmaksi muuttuvalla datalla ja rikkailla käyttöliittymillä. Web-palveluiden keksimistä voidaan pitää edistysaskeleena. Ne tarjoavat vain datan mutta ovat kaikkien asiakasohjelmien käytettävissä internetin välityksellä. Web-palveluiden paras ominaisuus on niiden yhteentoimivuus. Ne voidaan siirtää mille tahansa alustalle tai kirjoittaa millä tahansa ohjelmointikielellä. Käytännössä asiakasohjelman, kuten internet-selaimen, joka pyytää palvelua, ei tarvitse olla samalla alustalla kuin palvelu itse. Se voi myös olla eri teknologialla valmistettu palvelu. (Balani & Hathi 2009, 13-14)

14 Kuinka web-palvelut toimivat Web-palvelujen käytössä hyödynnetään yleisesti HTTP(Hypertext transfer protocol)-protokollaa. HTTP on tiedonsiirtoprotokolla, jota selaimet ja wwwpalvelimet käyttävät tiedonsiirtoon. HTTP perustuu siihen, että asiakasohjelma avaa yhteyden palvelimelle ja lähettää pyynnön resursseista GET-pyynnöllä. Palvelin vastaa pyyntöön lähettämällä halutun resurssin takaisin. Tämä resurssi voi olla käytännössä mitä tahansa, mutta tavallisemmin se on HTMLdokumentti. HTTP määrittelee lukuisia eri metodeja, joilla voidaan operoida datan kanssa. GET-metodi on yleisin metodi ja se lukee yksittäisen resurssin. Toinen käytetty metodi on POST, jolla välitetään palvelimelle muun muassa selaimessa muokattavien lomakkeiden sisällöt. Muita metodeita ovat OPTIONS, HEAD, PUT, DELETE, TRACE ja CONNECT. (Fielding ym. 1999) Seuraavassa selostetaan web-palvelujen toiminta. Asiakasohjelma tekee pyynnön haluamaansa resurssiin ja palveluntarjoaja vastaa pyyntöön lähettämällä halutun datan asiakasohjelmalle. Tavallisen esityskelpoisen HTMLdokumentin sijaan vastaus on yleensä pelkistettyä dataa, kuten XMLdokumentti, vaikkakin muita formaatteja käytetään myös. (Abeysinghe 2008, 11) Vastausformaatteja käsitellään myöhemmin tässä luvussa. Kuva 5. Web-palvelun kuvaus.

15 Web-palvelujen arkkitehtuurit Web-palvelut ja niitä tarjoavat rajapinnat jaetaan kahteen eri arkkitehtuurityyliin: SOAP ja REST. SOAP (Simple Object Access Protocol) on tietoliikenneprotokolla. SOAP viesti koostuu XML-kielellä toteutetusta pyynnöstä. Pyynnössä on oltava kirjekuori, joka määritteleen SOAP-viestin sisällön. SOAP on suunniteltu toteuttamaan etenkin metodeja ja toimenpiteitä, jotka sisältävät logiikkaa. Se tukee myös muita kuljetusprotokollia kuten SMTP ja JMS. SOAP-protokolla on käytettävissä vain XML-kielellä (Balani & Hathi 2009, 9). REST (Representational State Transfer) ei ole virallinen teknologia tai standardi. Se on enemmänkin yksinkertainen arkkitehtuurityyli toteuttaa webpalveluja. REST perustuu asiakas-palvelin vuorovaikutukseen HTTPprotokollan avulla. REST-arkkitehtuurissa on tiettyjä perusperiaatteita, joita tulee noudattaa, kun REST-rajapintaa suunnitellaan. Perusperiaatteet ovat (Abeysinghe 2008, 13; Codeproject 2011): Jokainen asia, joka voidaan nimetä, voi olla myös resurssi (esimerkiksi tiedosto, kuva). Tämä tarkoittaa käytännössä, että jokaisella resurssilla on yksilöllinen URI-osoite. REST-operaatioiden nimeäminen tulee seurata HTTP-protokollan standardimetodeita. Tämä tulee toteuttaa kuitenkin niin, että varsinaisia verbejä ei käytetä. getproducts -käsky tulisi kirjoittaa muotoon Products. REST-rajapinnan URL-osoitteet tulisi olla helposti luettavia. tulisi olla Resurssit voidaan esittää monella eri tavalla. Yleisimmät ovat XML ja JSON. REST-arkkitehtuuri on tilaton. Tämä tarkoittaa käytännössä, että kaikki informaatio, mikä liittyy resurssin hakuun tai muokkaamiseen, sisältyy itse HTTP-pyyntöön, eikä palvelin tallenna mitään asiakkaan pyyntöön sisältyvää tietoa.

16 16 Koska REST käyttää HTTP-protokollan metodeja kuten GET-metodia, on datan hakeminen REST-rajapinnasta käytännössä yhtä yksinkertaista kuin minkä tahansa sivun pyytäminen. (REST vs. SOAP The Right WebService 2013) 3.4 Vastausmuodot HTTP-pohjaisilla web-palveluilla on aina vastaus. Mikäli pyyntö voidaan suorittaa virheettömästi ja pyydetty resurssi löytyy, se palautetaan asiakasohjelman käytettäväksi. Muussa tapauksessa palautetaan HTTPtilakoodi. HTTP-protokolla määrittelee lukuisia eri tilakoodeja, mutta yleisimmät ovat 403 ja 404. Nämä tarkoittavat, että pyydettyä resurssia ei joko ole tai sen käyttö on kielletty asiakasohjelmilta. SOAP-rajapinta palauttaa aina XMLdokumentin. REST-rajapinta hyödyntää XML:n lisäksi myös JSON-kieltä XML XML (Extensible Markup Language) on W3C:n määrittämä kuvauksellinen merkintäkieli ja yleisin kieli web-palvelujen toteutukseen. XML:n tarkoituksena ei ole esittää dataa, vaan järjestellä, varastoida ja kuljettaa sitä. XML kehitettiin etenkin datan kuljettamiseen eri järjestelmien välillä. XML muistuttaa muita merkintäkieliä, kuten HTML:aa, mutta sen elementit eivät ole ennaltamäärättyjä. XML-dokumentin luoja voi itse määritellä omia elementtejä ja käyttää niitä (W3 Schools 2013). Alla on esimerkki XML-dokumentista. <?xml version="1.0" encoding="utf-8"?> <people> <person> <firstname>ville</firstname> <lastname>skants</lastname> <age>23</age> </person> <person> <firstname>matti</firstname> <lastname>esimerkki</lastname> <age>30</age> </person> <person>

17 17 <firstname>pekka</firstname> <lastname>esimerkki</lastname> <age>36</age> </person> </people> Esimerkissä on people-elementti, joka sisältää kolme eri person-elementtiä. Henkilö-elementillä on firstname-,lastname- ja age-elementit JSON JSON eli Javascript Object Notation on kevyt, kieliriippumaton ja tekstipohjainen tiedonsiirtomuoto. JSON käyttää Javascript-kielestä tuttua syntaksia. JSONrakenne muodostetaan käyttämällä olioita, joilla on avain/arvo-pari. JSON-olio voi sisältää merkkijonoja, olioita, taulukoita, kokonaislukuja tai boolean-arvoja (json.org 2013). JSON:n rakenne on samanlainen kuin muiden ohjelmointikielien. Useimmat ohjelmointikielet sisältävät samanlaiset tietotyypit, kuten taulukot ja oliot, joten JSON-datan käsittely on helpompaa kuin XMLrakenteiden. Alla olevassa esimerkissä näkyy hyvin JSON:n monipuolisuus. var JsonObj = "Ville":23, "Matti":30, "Pekka":36; var JsonObj2 = "JsonObject":JsonObj; var Arr_JsonObjects = ["First":1, "Second":JsonObj2]; JsonObj-olio sisältää Ville, Matti ja Pekka -muuttujat. Näiden avaimien arvoina on eri suuruisia kokonaislukuja. JsonObj2 on esimerkki siitä, kuinka arvoksi voi asettaa myös toisen olion. Arr_JsonObjects on taulukko, joka sisältää JSON-olioita.

18 18 4 ESIMERKKISOVELLUKSEN ESITTELY 4.1 Projekti Tässä opinnäytetyössä tehdään WP7-esimerkkisovellus, joka käyttää webpalveluita. Reittiopas API on ohjelmointirajapinta, joka tarjoaa aikataulu- ja liikenneinfoa web-palveluina Helsingin seudun joukkoliikenteestä. Rajapinta kuuluu data.suomi.fi-sivustoon, joka kerää julkisen hallinnon avoimia datoja. Sivuston tarkoituksena on edistää hallinnon avoimuutta ja jakaa julkista, verorahoin tuotettua tietoa kaikkien käyttöön. (Valtionkonttori 2013) Esimerkkisovellus hyödyntää Reittiopas-rajapinnan Stops in area-moduulin dataa kertoakseen käyttäjälle lähimmän joukkoliikennepysäkin sijainnin. Käyttäjä käynnistää sovelluksen puhelimessaan, jonka jälkeen puhelin paikantaa itsensä. Kun puhelimen sijainti on tiedossa, sovellus tekee HTTPpyynnön Reittiopas-rajapinnan Stops in area-moduuliin käyttäen puhelimen sijaintia parametrina. Käyttäjälle haetaan kolme lähintä joukkoliikenteen pysäkkiä ja kertoa, kuinka kaukana ne ovat nykyisestä sijainnista. Sovellus rakennettiin tässä työssä esitellyillä Microsoftin sovelluskehitystyökaluilla. Sovelluksen toteuttamiseen tarvittiin vain Visual Studio-kehitysalustaa ja sen tarjoamaa Windows Phone-emulaattoria.NETversio on 4.0. Koska työn painopiste ei ole ulkoasussa, ei ollut tarvetta käyttää esimerkiksi Windows Phone SDK:n mukana tulevaa Microsoft Expression Blend-ohjelmaa, jolla voi ehostaa Windows Phone-sovelluksen ulkoasua. 4.2 Reittiopas API Reittiopas API on maksuton ja sen jakamia tietoja saa käyttää ja jakaa vapaasti. Kehittäjän tarvitsee anoa rajapinnan käyttöoikeus. Rajapintaan saa tehdä

19 19 maksimissaan 5000 HTTP-pyyntöä tunnissa. HSL tarjoaa hyvän dokumentaation rajapinnan käyttöön. (Reittiopas API 2013) Reittiopas API on GET-rajapinta. Tämä tarkoittaa käytännössä, että asiakasohjelma voi vuorovaikuttaa rajapinnan kanssa vain GET-pyyntöjen avulla. Asiakasohjelma vain siis pyytää resurssia, eikä lähetä palvelimelle mitään. Valitsin Reittiopas-rajapinnan tähän työhön, koska se on hyvin dokumentoitu ja sitä ylläpidetään viikottain. Lisäksi se tarjoaa vastauksen tarvittaessa XML-, JSON- ja tekstimuodossa. 4.3 Reittiopas-rajapinnan palvelut Reittiopas-rajapinta tarjoaa monipuolista informaatiota Helsingin seudun joukkoliikenteestä. Se on rakennettu eri moduuleista, jotka tarjoavat erilaista dataa. Kaiken kaikkiaan moduuleita on yhdeksän. Ne ovat: Geocoding, Reverse geocoding, Stop information, Stops in area, Line information, Routing between two points, Cycling route, Data validity ja User statistics. Esimerkiksi Routing between two points-moduuli palauttaa reitti-informaation kahden koordinaattipisteen välillä. Taulukossa 1 näkyy moduulien tarkemmat kuvaukset.

20 20 Taulukko 1. Reittiopas-rajapinnan moduulit (Reittiopas API 2013). Moduuli Geocoding Reverse Geocoding Stop information Stops in area Line information Routing between two points Cycling route Data validity User statistics Kuvaus Palauttaa käyttäjälle paikkainformaatiota, kuten koordinaatit, katujen nimet yms. annetun hakusanan mukaan. Hakusana voi olla esim. Helsinki. Parametri: geocode Palauttaa käyttäjälle paikkainformaatiota, kuten koordinaatit, katujen nimet yms. annetuiden koordinaattien mukaan. Parametri: reverse_geocode Palauttaa käyttäjälle pysäkki-informaatiota annetun pysäkkikoodin perusteella. Parametri: stop Palauttaa käyttäjälle pysäkit alkaen lähimmäisestä annetuiden koordinaattien mukaan. Parametri: stops_area Palauttaa käyttäjälle infoa joukkoliikenteen linjoista mm. annetuiden pysäkkien perusteella. Parametri: lines Palauttaa käyttäjälle reitti-informaation kahden koordinaattipisteen välillä. Parametri: route Etsii parhaan pyöräilyreitin kahden koordinaattipisteen välillä. Parametri: cycling Palauttaa käyttäjälle ajankohdan, jonka aikana rajapinnasta saatava informaatio on voimassa. Parametri: validity Palauttaa käytettyjen HTTP-pyyntöjen lukumäärän. Parametri: stats Palveluita pyydetään URL-parametrien avulla. URL-parametri on URLosoitteessa oleva muuttuja, jolle asetetaan arvo. Jokainen Reittiopas-rajapinnan moduuli määrittelee erikseen, mitä parametreja se hyväksyy. Moduuli valitaan parametrilla request ja sen asettaminen on pakollista. Rajapinnan käyttö vaatii myös user - ja pass -parametrit. Nämä parametrit ovat käyttäjätunnus sekä salasana. Turvallisuussyistä jätän käyttäjän oikeat tunnistetiedot esittämättä

21 21 tulevissa esimerkeissä. Liitteessä 1 näkyy Cycling route-moduulin pyyntö(request)-parametrit. Reittiopas-rajapinnan URL-osoite on Kun käyttäjä haluaa käyttää esimerkiksi Cycling route-moduulia, hänen pitää tunnistetietojen lisäksi ensiksi asettaa request -niminen parametri, joka valitsee moduulin. request=cycling&user=esimerkki&pass=salasana URL-osoitteessa parametrit laitetaan? -merkin perään. Tämän jälkeen parametrit kirjoitetaan periaatteella parametrin nimi=arvo. Liitteestä 1 näkee, kuinka Cycling route-moduuli hyväksyy from - ja to -parametrit. Arvoiksi tulee laittaa GPS-järjestelmän mukaiset leveys- ja pituusasteet pilkulla erotettuna. Kun parametreja on useita, tulee ne eroittaa & -merkillä. Seuraava esimerkki sisältää from - ja to -parametrit. request=cycling&user=esimerkki&pass=salasana&from= , &to= , Yllä oleva esimerkki hakee pyöräilyreitin annettujen koordinaattien mukaan Cycling route-moduulista. Reittiopas-rajapinta tarjoaa eri koordinaatistojärjestelmiä, joita voi käyttää HTTP-pyynnöissä. Nämä ovat KKJ1, KKJ2, KKJ3, WGS84 ja Mercator. Oletuksena rajapinta käyttää WGS84-järjestelmää, jota käytetään myös tämän opinnäytetyön esimerkeissä. epsg_in-parametri määrittelee käytetyn koordinaattijärjestelmän HTTP-pyynnölle ja epsg_out HTTP-vastaukselle. (Reittiopas API 2013)

22 Reittiopas-rajapinnan käyttö Windows Phonella HTTP-pohjaisten web-palveluiden käyttö vaatii HTTP-pyynnön suorittamista asiakasohjelmassa..net-ohjelmistokehys tarjoaa kaksi erilaista tapaa HTTPpyyntöjen tekemiseen Windows Phonella. Kehittäjän tulee käyttää joko WebClient- tai HttpWebRequest-luokkaa (How to: Make Requests to HTTP- Based Services 2013). HttpWebRequest-luokka tarjoaa monipuolisemmat mahdollisuudet HTTPpyyntöjen suorittamiseen. Sen kanssa voi lukea esimerkiksi kuvatiedoston, kun taas WebClient voi ainoastaan operoida tekstipohjaisilla resursseilla. Alla on esimerkki HttpWebRequest-luokan käytöstä. HttpWebRequest request = (HttpWebRequest)WebRequest.Create(" prod/?request=cycling&from= , &to= , "); request.begingetresponse(new AsyncCallback(Response), request); void Response(IAsyncResult result) HttpWebRequest request = result.asyncstate as HttpWebRequest; WebResponse resp = request.endgetresponse(result); Stream stream = resp.getresponsestream(); StreamReader reader = new StreamReader(stream); string data = reader.readtoend(); WebClient-luokka on pelkistetty versio HttpWebRequest-luokasta. Sen tarkoitus on yksinkertaistaa yleisimpiä operaatioita, kuten HTTP-vastauksen lukemista. Sen käyttö on täten helpompaa ja yksinkertaisempaa kuin HttpWebRequestluokan. WebClient-luokalla voi ainoastaan hakea tekstipohjaisia resursseja. Kehittäjän tulee ensiksi luoda instanssi WebClient-luokasta. Tämän jälkeen pitää kutsua DownloadStringAsync-metodia, jonka parametriksi syötetään webpalvelun URL-osoite. Tämä metodi hoitaa resurssin hakemisen lähteestä. Alla on esimerkki HTTP-pyynnön suorittamisesta ja vastauksen lukemisesta WebClient-luokkaa käyttäen.

23 23 //Alusta ja suorita http-pyyntö string destination_url = " from= , &to= , "; WebClient httpclient = new WebClient(); httpclient.downloadstringasync(new Uri(destination_url)); httpclient.downloadstringcompleted += new DownloadStringCompletedEventHandler(httpclient_DownloadStringComp leted); //Luodaan metodi vastauksen lukemista varten void httpclient_downloadstringcompleted(object sender, DownloadStringCompletedEventArgs e) MessageBox.Show(e.Result); Esimerkissä destination_url -muuttuja sisältää Reittiopas-rajapinnan osoitteen URL-parametrien kanssa. Haettu resurssi näkyy alla JSON-muotoisena. "length" : , "path" : [ "length" : , "name" : "Otaniemi", "points" : [ "x" : , "y" : , "x" : , "y" : ], "type" : "unknown", "length" : , "name" : "Otaniemi", "points" : [ "x" : Reittiopas-rajapinta tarjoaa myös alla näkyvän XML-muotoisen vastauksen jos asiakasohjelma niin haluaa. Silloin tulee lisätä format -parametri destination_url -muuttujaan, ja antaa sille arvoksi xml. <response> <length> </length> <path>

24 24... <node> <length>6.23</length> <name>otaniemi</name> <type>unknown</type> <points> <node> <x> </x> <y> </y> </node> 4.5 Projektin haasteet Testaus oli esimerkkisovelluksen haastavin vaihe. Reittiopas-rajapinta on Helsingin joukkoliikenteen omistama palvelu. Tämä tarkoittaa, että rajapinta tarjoaa informaatiota vain pääkaupunkiseudun joukkoliikenteestä. Koska sovellus kehitettiin Turussa, testaus piti toteuttaa testiarvoilla. Koordinaattiparametrit piti syöttää manuaalisesti koodiin, koska puhelimen paikannusta ei voinut käyttää. Testausarvoina käytin noin kahtakymmentä eri leveys- ja pituusastetta, jotta sain luotettavat tulokset. Alla on esimerkki testauksessa käytetyistä arvoista. /* Test-coordinates: * , * , * , * , * , *... *... */ string testurl=" center_coordinate= , Microsoftin Windows Phone SDK:n mukana tuleva Windows Phone-emulaattori oli periaatteessa hyödytön tämän sovelluksen testauksessa, koska sovelluksen toteuttamiseen tarvittiin itse matkapuhelimen sisällä olevaa komponenttia ja sen toiminnallisuutta.

25 25 5 ESIMERKKISOVELLUKSEN TOTEUTUS 5.1 Sovelluksen luominen Ensiksi pitää luoda uusi Windows Phone -sovellus Visual Studiolla. Silverlightiin perustuvissa sovelluksissa MainPage.xaml-tiedosto sisältää sovelluksen ulkoasun. MainPage.xaml.cs-tiedosto sisältää C#-koodin, jota tarvitaan toiminnallisuuden ohjelmoimiseen. Yhteys Reittiopas-rajapintaan toteutetaan tässä tiedostossa. Kuvassa 6 on MainPage.xaml.cs avattuna. Kuva 6. MainPage.xaml.cs.

26 Puhelimen sijainnin selvittäminen Esimerkkisovelluksen idea on hakea lähimmät joukkoliikennepysäkit. Ensiksi pitää siis selvittää puhelimen oma sijainti. Puhelimen paikantamiseen.netohjelmistokehys tarjoaa GeoCoordinateWatcher-luokan, jonka avulla tarvittavat leveys- ja pituusasteet saadaan selville. GeoCoordinateWatcher-luokan käyttöönotto vaatii viittaamista System.Device-komponenttiin. Kuva 7. System.Device-komponentin lisääminen. Kun System.Device-komponentti on lisätty, pitää MainPage.xaml.cs-tiedostoon lisätä viite System.Device.Location-nimiavaruuteen alla kuvatulla tavalla. using System.Device.Location; namespace ReittiopasClient

27 27... Ensimmäinen tehtävä on luoda instanssi GeoCoordinateWatcher-luokasta MainPage-luokan sisällä, jotta instanssi on käytössä kaikissa MainPage-luokan metodeissa. public partial class MainPage : PhoneApplicationPage GeoCoordinateWatcher geowatcher = null; Kun sovellus suoritetaan, MainPage-luokan konstruktoria kutsutaan. Konstruktori-metodissa asetetaan geowatcher-oliolle GeoPositionAccuracyominaisuus, joka määrittelee puhelimen käyttämään sisäänrakennettua GPSvastaanotinta ja geowatcher_positionchanged-metodi, jota kutsutaan, kun puhelimen sijainti muuttuu. // Konstruktori public MainPage() InitializeComponent(); geowatcher = new GeoCoordinateWatcher(GeoPositionAccuracy.High); geowatcher.positionchanged += new EventHandler<GeoPositionChangedEventArgs<GeoCoordinate>> (geowatcher_positionchanged); geowatcher.start(); Nyt geowatcher_positionchanged-metodissa voidaan noutaa WGS84- järjestelmän mukaiset leveys- ja pituusasteet. void geowatcher_positionchanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e) GeoCoordinate currentlocation = e.position.location; double currentlongitude = e.position.location.longitude; double currentlatitude = e.position.location.latitude;

28 HTTP-pyyntö Reittiopas-rajapintaan Kun puhelimen sijainti on tiedossa, voidaan luoda HTTP-pyyntö, jonka URLosoitteessa käytetään tätä informaatiota parametrina. Reittiopas-rajapinnassa oleva Stops in area-moduuli hyväksyy liitteessa 2 olevat parametrit. Leveys- ja pituuspiirimuuttujat on tarkistettava ja tarvittaessa muutettava rajapinnan hyväksymään muotoon ennen niiden käyttämistä. Sovellus käyttää WGS84-koordinaattijärjestelmää, jolloin koordinaatit on oltava desimaalimuodossa. Kuva 8. Koordinaatit parametreja varten. Seuraavaksi muodostetaan URL-osoite rajapinnan Stops in area-moduuliin, johon liitetään äsken muokatut koordinaattimuuttujat. string reittiopas_url = string.format( request=stops_area&center_coordinate=0,1&user=esimerkki &pass=salasana&limit=3&epsg_in=wgs84&epsg_out=wgs84&format=xml, currentlongitude, currentlatitude); center_coordinate-parametri ottaa currentlongitude- ja currentlatitudemuuttujat arvoikseen. Tämä parametri ilmaisee puhelimen sijainnin ja etsii sen

29 29 perusteella lähimmät joukkoliikennepysäkit. Limit-parametrin arvoksi on asetettu 3, mikä tarkoittaa, että rajapinta palauttaa kolme lähintä pysäkkiä. epsg_in- ja epsg_out-parametrit määrittelevät käytetyn koordinaatistojärjestelmän. Stops in area-moduuliin voi myös asettaa diameter-parametrin, joka määrittelee alueen, jolta pysäkkejä etsitään. Jos sitä ei määritellä, oletusarvona on 1500 metriä. Alla on HTTP-pyynnön koodi Reittiopas-rajapintaan. WebClient httpclient = new WebClient(); httpclient.downloadstringasync(new Uri(reittiopas_url)); httpclient.downloadstringcompleted += new DownloadStringCompletedEventHandler(httpclient_ DownloadStringCompleted); Sovelluksen on tarkoitus hakea yksittäisiä sijainteja, eikä päivittää sijaintiaan koko ajan puhelimen liikkuessa. Siksi geowatcher-olion voi poistaa seuraavalla koodilla geowatcher_positionchanged-metodissa. geowatcher.stop(); geowatcher.dispose(); geowatcher = null; 5.4 HTTP-vastauksen käsittely ja tulosten esittäminen httpclient_downloadstringcompleted-metodissa käsitellään Reittiopasrajapinnan vastaus. Stops in area-moduulilla on liitteen 3 mukaiset muuttujat HTTP-vastauksessa. Mikäli koordinaattiparametri olisi esimerkiksi , niin äskeisen luvun HTTP-pyynnön vastaus näyttäisi seuraavanlaiselta. [ "address" : "Helsinginkatu", "city" : "Helsinki", "code" : " ", "codeshort" : "0244", "coords" : " , ",

30 30 ] "dist" : 377, "name" : "Kaupunginpuutarha", "address" : "Helsinginkatu", "city" : "Helsinki", "code" : " ", "codeshort" : "0243", "coords" : " , ", "dist" : 382, "name" : "Kaupunginpuutarha", "address" : "Toivonkatu 1-3", "city" : "Helsinki", "code" : " ", "codeshort" : "2065", "coords" : " , ", "dist" : 404, "name" : "Töölön kisahalli" Koska limit-parametrin arvo oli 3, niin rajapinta palautti kolme lähintä joukkoliikenteen pysäkkiä. Jokainen pysäkki sisältää liitteessä 3 olevat muuttujat. Koska lisäsin HTTP-pyyntöön format-parametrin arvolla xml on vastaus XML-muotoinen. Vastaus on esitetty alla. <response> <node> <code> </code> <name>kaupunginpuutarha</name> <city>helsinki</city> <coords> , </coords> <dist>377</dist> <codeshort>0244</codeshort> <address>helsinginkatu</address> </node> <node> <code> </code> <name>kaupunginpuutarha</name> <city>helsinki</city> <coords> , </coords> <dist>382</dist> <codeshort>0243</codeshort> <address>helsinginkatu</address> </node> <node> <code> </code> <name>töölön kisahalli</name> <city>helsinki</city> <coords> , </coords> <dist>404</dist>

31 31 <codeshort>2065</codeshort> <address>toivonkatu 1-3</address> </node> </response> Sovellus tulee käyttämään XML-muotoista vastausta. Yllä oleva vastaus on kuitenkin vielä merkkijono ja se pitää muuttaa XML-dokumentiksi ennen kuin vastauksen sisältöä voi lukea kunnolla..net-ohjelmistokehys tarjoaa XDocument-luokan, jonka instanssi edustaa XML-dokumenttia (Xdocument class 2013). Sen avulla XML-dokumentin käsittely httpclient_downloadstringcompleted-metodissa on yksinkertaista. Ensiksi täytyy luoda instanssi XDocument-luokasta alla kuvatulla tavalla. void httpclient_downloadstringcompleted(object sender, DownloadStringCompletedEventArgs e) XDocument xdoc = XDocument.Parse(e.Result, LoadOptions.None); Kun XML-dokumenttia edustava xdoc-olio on luotu, sen elementteihin voi kohdistaa Linq-kyselyn. Linq, Language Integrated Query on.netohjelmistokehyksen komponentti, joka mahdollistaa datakyselyt muun muassa XML-dokumentteihin (System.Xml.Linq Namespace 2013). XML-dokumentissa näkyy, että jokaisen pysäkin data, kuten name - ja city -elementit ovat node - elementtien sisällä. Linq-kysely suoritetaan XML-dokumentin jokaiseen node - elementtiin alla esitetyllä tavalla. var itemdata = from query in xdoc.descendants("node") Sovellukseen luodaan Stop-luokka, joka sisältää samannimiset jäsenet kuin XML-dokumentissa olevat muuttujat node -elementin sisällä. Täten Stopluokan olio vastaa yhtä XML-dokumentissa olevaa pysäkkiä. Linq-kyselyssä jokaisesta node -elementistä luodaan siis Stop-luokan olio. var itemdata = from query in xdoc.descendants("node") select new Stop

32 32 Code = (string)query.element("code").value, Name = (string)query.element("name").value, City = (string)query.element("city").value, Coords = (string)query.element("coords").value, Dist = (string)query.element("dist").value, CodeShort = (string)query.element("codeshort").value, Address = (string)query.element("address").value, ; Nyt itemdata-olio sisältää kaikki XML-dokumentista luodut Stop-oliot. Sovellukseen luodaan vielä StopsInArea-luokka, jolla on vain yksi jäsen. Stopsjäsen on lista, joka sisältää kaikki Stop-luokan oliot. public class StopsInArea private List<Stop> _stops; public List<Stop> Stops get return this._stops; set this._stops = value; Sovellus käy itemdata-olion läpi foreach -silmukassa, jossa se lisää, joka kierroksella Stop-olion StopsInArea-luokan Stops-listaan. StopsInArea stoplist = new StopsInArea(); stoplist.stops = new List<Stop>(); foreach (var item in itemdata) stoplist.stops.add(item); Nyt jokainen pysäkki on Stops-listassa ja helposti saatavilla. Seuraava koodi tulostaa ensimmäisen pysäkin nimen ja osoitteen puhelimen näytölle kuvan 9 mukaisesti. MessageBox.Show("Pysäkki: " + stoplist.stops[0].name + "\netäisyys: " + stoplist.stops[0].dist+ " metriä");

33 33 Kuva 9. Pysäkki-informaation tulostus. Jos kaikki pysäkit halutaan tulostaa, voidaan Stops-lista lukea helposti foreachsilmukalla alla olevan esimerkin mukaisesti. foreach (var stop in stoplist.stops) MessageBox.Show("Pysäkki: " + stop.name + "\netäisyys: " + stop.dist + " metriä"); Ohjelmakoodi on esitetty kokonaisuudessaan liitteessä 4.

34 34 6 YHTEENVETO Opinnäytetyön tuloksena oli tutkielma web-palveluista ja miten niitä käytetään Windows Phone 7 -sovelluksessa. Työn toinen painopiste oli Windows Phone 7 -sovelluskehitys. Työn esimerkkisovellus onnistui hyvin esittämään kuinka Windows Phone 7 -sovellus pystyy hyödyntämään web-palvelujen tarjoamaa informaatiota. Työn aihealue oli mielestäni erittäin kiinnostava ja motivoiva ja siksi päädyin siihen. Minulla oli myös jonkin verran käytännön työkokemusta web-palveluista työharjoitteluni ajalta, joka auttoi huomattavasti. Näin tämän aiheen luonnollisena jatkumona opitulle tiedolle ja täten en olisi voinut keksiä parempaa aihetta. Esimerkkisovelluksen toteutus oli opinnäytetyön haastavin ja eniten aikaa vievä osa. Minulla ei ollut aiempaa kokemusta Windows Phone - sovelluskehityksestä, joten siihen perehtyminen vei paljon aikaa. Mielestäni esimerkkisovellus tuo kuitenkin hyvin esille sen, että jo vähäisellä osaamisella on mahdollista tehdä dynaaminen Windows Phone -sovellus, joka on vuorovaikutuksessa eri tietojärjestelmien kanssa. Jälkeenpäin voin todeta oppineeni todella paljon Windows Phone -sovelluskehityksestä. Esimerkkisovelluksen tarkoitus oli toimia vain yksinkertaisena malliesimerkkinä ja siksi siinä olisi paljon jatkokehitysmahdollisuuksia. Sovellusta voisi jatkokehittää esimerkiksi parantamalla ulkoasua, sekä lisäämällä toiminnallisuuksia, kuten esimerkiksi pysäkkien yhdistäminen Microsoftin Bingkarttapalveluun.

35 35 LÄHTEET Abeysinghe S RESTful PHP Web Services. Olton Birmingham, GBR: Packt Publishing Ltd. Application Platform Overview for Windows Phone Microsoft Developer Network. Viitattu Balani, Naveen; Hathi, Rajeev Apache CXF Web Service Development : Develop and Deploy SOAP and RESTful Web Services. Olton Birmingham, GBR: Packt Publishing Ltd. Creating a New Windows Phone Project Microsoft Developer Network. Viitattu Download Center Microsoft.com. Viitattu Fielding R. et.al Method definitions. Viitattu How to: Make Requests to HTTP-Based Services Microsoft Developer Network. Viitattu HTTP and XHTML cs.uregina.ca. Viitattu Lecrenski, Nick; Watson, Karli Beginning Windows Phone 7 Application Development : Building Windows Phone Applications Using Silverlight and XNA. Hoboken, NJ, USA: Wrox..NET-framework Microsoft Developer Network. Viitattu Interview Questions dotnetcurry. Viitattu Nokia.com Lumia 800. Viitattu Petzold, C Programming Windows Phone 7. New York City and Roscoe, New York: Microsoft Press. REST vs. SOAP The Right WebService Geeknizer.com. Viitattu Service-Oriented Architecture (SOA) and Web Services Oracle.com. Viitattu System.Xml.Linq-namespace Microsoft Developer Network. Viitattu Valtionkonttori Avoin data. Viitattu

36 XDocument class Microsoft Developer Network. Viitattu

37 Liite 1 Cycling route-moduulin request-parametrit Parameter Description Type name request Chooses module. In this case Request type. Always required. cycling from Start point coordinate. Coordinates separated by comma (e.g. <x,y>). to Destination point coordinate. Coordinates separated by comma (e.g. <x,y>). via List of via point coordinates. List of coordinates separated by comma (e.g. <x,y>). List members are separated by pipes (" "). Optional, maximum number of via points is 5. profile String Optional, routing profile: kleroweighted = default profile klerotarmac = prefers cycle paths with tarmac klerosand = prefers gravel paths kleroshortest = prefers shortest route elevation 0 or 1. Optional, default value 0. If 1, elevation information of the route will be shown in the result.

38 Liite 2 Stops in area-moduulin request-parametrit Parameter name Description Type request Chooses module. In this case stops_area Request type. Always required. center_coordinate Coordinate Coordinates separated by comma (e.g. <x,y>) limit Limit the amount of stops. Optional, no default value. diameter Length of the side of the square. Optional, default 1500, max 5000 meters.

39 Liite 3 Stops in area-moduulin response-kentät Field nr. Name Type Description 1 code Number Unique, long code of the stop, e.g name String Name of the stop. 3 city String City the stop is located in. 4 coords Coordinate Coordinates of the stop (<x,y>, e.g , ). 5 dist Number Distance of the stop to the center coordinate. 6 codeshort String(4-6) Stop s short code. 7 address String Stop s address.

40 Liite 4 Esimerkkisovelluksen koodi using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; using Microsoft.Phone.Controls; using System.Device.Location; using Newtonsoft.Json; using System.Xml.Linq; namespace ReittiopasClient public partial class MainPage : PhoneApplicationPage GeoCoordinateWatcher geowatcher = null; // Konstruktori public MainPage() InitializeComponent(); geowatcher = new GeoCoordinateWatcher(GeoPositionAccuracy.High); geowatcher.positionchanged += new EventHandler<GeoPositionChangedEventArgs<GeoCoordinate>>(geoWatcher_PositionChanged); geowatcher.start(); void geowatcher_positionchanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e) GeoCoordinate currentlocation = e.position.location; double currentlongitude = e.position.location.longitude; double currentlatitude = e.position.location.latitude; /* Test-coordinates: * , * , * , * , * , *... *... */ string reittiopas_url = " _in=wgs84&epsg_out=wgs84&request=stops_area&user=xxxx&pass=xxx&format=xml";

41 Liite 4 WebClient httpclient = new WebClient(); httpclient.downloadstringasync(new Uri(reittiopas_url)); httpclient.downloadstringcompleted += new DownloadStringCompletedEventHandler(httpclient_DownloadStringCompleted); /* * geowatcher olion poistaminen * * * geowatcher.stop(); geowatcher.dispose(); geowatcher = null; */ //Luodaan metodi vastauksen lukemista varten void httpclient_downloadstringcompleted(object sender, DownloadStringCompletedEventArgs e) MessageBox.Show(e.Result.ToString()); XDocument xdoc = XDocument.Parse(e.Result, LoadOptions.None); var itemdata = from query in xdoc.descendants("node") select new Stop Code = (string)query.element("code").value, Name = (string)query.element("name").value, City = (string)query.element("city").value, Coords = (string)query.element("coords").value, Dist = (string)query.element("dist").value, CodeShort = (string)query.element("codeshort").value, Address = (string)query.element("address").value, ; StopsInArea stoplist = new StopsInArea(); stoplist.stops = new List<Stop>(); foreach (var item in itemdata) stoplist.stops.add(item); foreach (var stop in stoplist.stops) MessageBox.Show("Pysäkki: " + stop.name + "\netäisyys: " + stop.dist + " metriä");

42 Liite 4 public class StopsInArea private List<Stop> _stops; public List<Stop> Stops get return this._stops; set this._stops = value; public class Stop private string _code; private string _name; private string _city; private string _coords; private string _dist; private string _codeshort; private string _address; private List<Stop> _stops; public List<Stop> StopsInArea get return this._stops; set this._stops = value; public string Code get return this._code; set this._code = value; public string Name get return this._name; set this._name = value; public string City get return this._city; set this._city = value; public string Coords get return this._coords; set this._coords = value;

43 Liite 4 public string Dist get return this._dist; set this._dist = value; public string CodeShort get return this._codeshort; set this._codeshort = value; public string Address get return this._address; set this._address = value;

Järjestelmäarkkitehtuuri (TK081702)

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,

Lisätiedot

REST rajapintana mobiilikehityksessä

REST rajapintana mobiilikehityksessä REST rajapintana mobiilikehityksessä Django & WP7 Jonne Räsänen 2011 jonne.rasanen@jyu.fi Case iscope Hälytyspalvelu Web-palvelu Mobiilisovellus REST (REpresentational State Transfer) Aikojakin vanhempi

Lisätiedot

C# Windows ohjelmointi perusopas

C# Windows ohjelmointi perusopas Paavo Räisänen C# Windows ohjelmointi perusopas www.ohjelmoimaan.net Tätä opasta saa vapaasti kopioida, tulostaa ja levittää ei kaupallisissa tarkoituksissa. Kuitenkaan omille nettisivuille opasta ei saa

Lisätiedot

AJAX-konsepti AJAX. Asynkronisuus. Nykyisten web-ohjelmien ongelmia. Asynchronous JavaScript And XML

AJAX-konsepti AJAX. Asynkronisuus. Nykyisten web-ohjelmien ongelmia. Asynchronous JavaScript And XML AJAX-konsepti AJAX Asynchronous JavaScript And XML Viimeisin muoti-ilmiö web-ohjelmoinissa, termi Ajax tuli käyttöön vuoden 2005 aikana Joukko teknologioita, joiden avulla voidaan toteuttaa uudenlaisen

Lisätiedot

Järjestelmäarkkitehtuuri (TK081702) Avoimet web-rajapinnat

Järjestelmäarkkitehtuuri (TK081702) Avoimet web-rajapinnat Järjestelmäarkkitehtuuri (TK081702) SOA yleistyvät verkkopalveluissa Youtube Google... Avaavat pääsyn verkkopalvelun sisältöön. Rajapintojen tarjoamia tietolähteitä yhdistelemällä luodaan uusia palveluja,

Lisätiedot

2010-luvun kansalaistaito: Windows-puhelimen ohjelmointi. Kai Lindgren, Teollinen tuotanto/metropolia

2010-luvun kansalaistaito: Windows-puhelimen ohjelmointi. Kai Lindgren, Teollinen tuotanto/metropolia 2010-luvun kansalaistaito: Windows-puhelimen ohjelmointi Kai Lindgren, Teollinen tuotanto/metropolia Paikka: Metropolia Ammattikorkeakoulu, Helsinki, Bulevardi 31. Sali Engel (P317) Ohjelma 9.00 9.15 Tervetuloa!

Lisätiedot

JWT 2016 luento 11. to 21.4.2016 klo 14-15. Aulikki Hyrskykari. PinniB 1097. Aulikki Hyrskykari

JWT 2016 luento 11. to 21.4.2016 klo 14-15. Aulikki Hyrskykari. PinniB 1097. Aulikki Hyrskykari JWT 2016 luento 11 to 21.4.2016 klo 14-15 Aulikki Hyrskykari PinniB 1097 1 Viime luennolla o AJAX ja JSON, harjoitustyön tehtävänanto, vierailuluento avoimesta datasta Tänään o APIt rajapinnoista yleisesti

Lisätiedot

Tiedonsiirto- ja rajapintastandardit

Tiedonsiirto- ja rajapintastandardit Tiedonsiirto- ja rajapintastandardit Viitekehys Julkishallinnon perustietovarantojen rajapinnat (PERA) työryhmän tulokset valmiit syksyllä 2011 Määrittelee teknisen arkkitehtuuriratkaisun tietovarantojen

Lisätiedot

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen Pedacode Pikaopas Java-kehitysympäristön pystyttäminen Pikaoppaan sisältö Pikaoppaassa kuvataan, miten Windowstyöasemalle asennetaan Java-ohjelmoinnissa tarvittavat työkalut, minkälaisia konfigurointeja

Lisätiedot

in condition monitoring

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ä

Lisätiedot

HSMT J2EE & EJB & SOAP &...

HSMT J2EE & EJB & SOAP &... HSMT J2EE & EJB & SOAP &... Ville Leppänen HSMT, c Ville Leppänen, IT, Turun yliopisto, 2011 p.1/15 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista

Lisätiedot

HOJ J2EE & EJB & SOAP &...

HOJ J2EE & EJB & SOAP &... HOJ J2EE & EJB & SOAP &... Ville Leppänen HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/18 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista

Lisätiedot

Trimble Feedback Mobile app ja rajapinnat Kuvaus

Trimble Feedback Mobile app ja rajapinnat Kuvaus Mobile app ja rajapinnat 16.1 Copyright 1992-2016 Trimble Solutions Corporation part of Trimble Navigation Ltd. All rights reserved. Table of Contents ii (13) Table of Contents 1.1 -integraatio Trimble

Lisätiedot

Web Services tietokantaohjelmoinnin perusteet

Web Services tietokantaohjelmoinnin perusteet ASP.NET Web Services Web Services tietokantaohjelmoinnin 2 (22) Sisällys Harjoitus 1: Tietokannat ja Web Services... 3 Harjoitus 2: Windows Client... 10 Harjoitus 3: Datan päivitys TableAdapterin avulla...

Lisätiedot

Järjestelmäarkkitehtuuri (TK081702) Web Services. Web Services

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

Lisätiedot

Web Service torilla tavataan!

Web Service torilla tavataan! Web Service torilla tavataan! Jari Putula Avarea Oy COPYRIGHT BY AVAREA 2009 1 Google Trends COPYRIGHT BY AVAREA 2009 2 1 1. Mahdollistajat 2. Web service? 3. KISS 4. Miksi? 5. Analogia 6. Ajax 7. Esimerkki

Lisätiedot

Olio-ohjelmointi Javalla

Olio-ohjelmointi Javalla 1 Olio-ohjelmointi Javalla Olio-ohjelmointi Luokka Attribuutit Konstruktori Olion luominen Metodit Olion kopiointi Staattinen attribuutti ja metodi Yksinkertainen ohjelmaluokka Ohjelmaluokka 1 Olio-ohjelmointi

Lisätiedot

Windows Phone 7.5 erilainen ja fiksu älypuhelin. Vesa-Matti Paananen Liiketoimintajohtaja, Windows Phone Microsoft Oy vesku@microsoft.

Windows Phone 7.5 erilainen ja fiksu älypuhelin. Vesa-Matti Paananen Liiketoimintajohtaja, Windows Phone Microsoft Oy vesku@microsoft. Windows Phone 7.5 erilainen ja fiksu älypuhelin Vesa-Matti Paananen Liiketoimintajohtaja, Windows Phone Microsoft Oy vesku@microsoft.com Agenda 29.11.2011 Microsoftin strategia pähkinän kuoressa Kuluttajat

Lisätiedot

Taustaa. CGI-ohjelmointi

Taustaa. CGI-ohjelmointi Taustaa CGI-ohjelmointi CGI = Common Gateway Interface Hyvin yksinkertainen ja helppo tapa toteuttaa dynaamisuutta ja interaktivisuutta htmldokumentteihin Kehitetty tiedon siirtoon palvelimen ja asiakasselaimen

Lisätiedot

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 811122P (5 op.) 12.12.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan

Lisätiedot

812336A C++ -kielen perusteet, 21.8.2010

812336A C++ -kielen perusteet, 21.8.2010 812336A C++ -kielen perusteet, 21.8.2010 1. Vastaa lyhyesti seuraaviin kysymyksiin (1p kaikista): a) Mitä tarkoittaa funktion ylikuormittaminen (overloading)? b) Mitä tarkoittaa jäsenfunktion ylimääritys

Lisätiedot

BDD (behavior-driven development) suunnittelumenetelmän käyttö open source projektissa, case: SpecFlow/.NET.

BDD (behavior-driven development) suunnittelumenetelmän käyttö open source projektissa, case: SpecFlow/.NET. BDD (behavior-driven development) suunnittelumenetelmän käyttö open source projektissa, case: SpecFlow/.NET. Pekka Ollikainen Open Source Microsoft CodePlex bio Verkkosivustovastaava Suomen Sarjakuvaseura

Lisätiedot

Citizen s skill in 2010s: Programming the Windowsphone. Kai Lindgren, Industrial Production/Metropolia

Citizen s skill in 2010s: Programming the Windowsphone. Kai Lindgren, Industrial Production/Metropolia Citizen s skill in 2010s: Programming the Windowsphone Kai Lindgren, Industrial Production/Metropolia Paikka: Metropolia Ammattikorkeakoulu, Helsinki, Bulevardi 31. Sali Engel (P317) Ohjelma 9.00 9.15

Lisätiedot

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 81122P (4 ov.) 30.5.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan

Lisätiedot

Microsoft Visual Studio 2005

Microsoft Visual Studio 2005 Microsoft Visual Studio 2005 on integroitu kehitysympäristö (Integrated Development Environment) eli (IDE). Kehitysympäristöön kuuluvat seuraavat keskeiset sovelluskehitysvälineet: Ohjelmointikielet C#.NET

Lisätiedot

PLA-32820 Mobiiliohjelmointi. Mika Saari mika.saari@tut.fi http://www.students.tut.fi/~saari5/pla_32820_2016/

PLA-32820 Mobiiliohjelmointi. Mika Saari mika.saari@tut.fi http://www.students.tut.fi/~saari5/pla_32820_2016/ PLA-32820 Mobiiliohjelmointi Mika Saari mika.saari@tut.fi http://www.students.tut.fi/~saari5/pla_32820_2016/ 1. Luento 2 Suoritus vaatimukset Kurssin sisältö Kirjallisuus Mobiiliohjelmointi Mobiililaitteita...

Lisätiedot

Järjestelmäarkkitehtuuri (TK081702) SOA, Service-oriented architecture SOA,

Järjestelmäarkkitehtuuri (TK081702) SOA, Service-oriented architecture SOA, Järjestelmäarkkitehtuuri (TK081702) SOA SOA-arkkitehtuuri perustuu xml:ään ja Web Services teknologioihin Mahdollistaa joustavan mukautumisen tuleviin muutoksiin Kustannustehokas Toteutukset perustuvat

Lisätiedot

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS CT10A4000 - Kandidaatintyö ja seminaari

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,

Lisätiedot

Android ohjelmointi. Mobiiliohjelmointi 2-3T5245

Android ohjelmointi. Mobiiliohjelmointi 2-3T5245 Android ohjelmointi Mobiiliohjelmointi 2-3T5245 Mikä on Android? Linux kernelin päälle rakennettu, Googlen kehittämä sovelluspino mobiilisovelluksiin Erillinen versio puhelimelle ja taulutietokoneille

Lisätiedot

Omat Lähdöt ohjelmointirajapinta: Versio 1.01

Omat Lähdöt ohjelmointirajapinta: Versio 1.01 Sivu 1(19) Omat Lähdöt ohjelmointirajapinta: Versio 1.01 Seasam House Oy Helsingin seudun liikenne Hyväksynyt: Päivämäärä: Hyväksynyt: Päivämäärä: www.seasam.com Sivu 2(19) Versio historia Versio 0.01

Lisätiedot

Operaattoreiden ylikuormitus. Operaattoreiden kuormitus. Operaattoreiden kuormitus. Operaattoreista. Kuormituksesta

Operaattoreiden ylikuormitus. Operaattoreiden kuormitus. Operaattoreiden kuormitus. Operaattoreista. Kuormituksesta C++ - perusteet Java-osaajille luento 5/7: operaattoreiden ylikuormitus, oliotaulukko, parametrien oletusarvot, komentoriviparametrit, constant, inline, Operaattoreiden ylikuormitus Operaattoreiden kuormitus

Lisätiedot

TIEKE Verkottaja Service Tools for electronic data interchange utilizers. Heikki Laaksamo

TIEKE Verkottaja Service Tools for electronic data interchange utilizers. Heikki Laaksamo TIEKE Verkottaja Service Tools for electronic data interchange utilizers Heikki Laaksamo TIEKE Finnish Information Society Development Centre (TIEKE Tietoyhteiskunnan kehittämiskeskus ry) TIEKE is a neutral,

Lisätiedot

Visma Software Oy

Visma Software Oy pidättää itsellään oikeuden mahdollisiin parannuksiin ja/tai muutoksiin tässä oppaassa ja/tai ohjelmassa ilman eri ilmoitusta. Oppaan ja siihen liittyvän muun materiaalin kopiointi on kielletty ilman :n

Lisätiedot

Kieliversiointityökalu Java-ohjelmistoon. Ohje

Kieliversiointityökalu Java-ohjelmistoon. Ohje Kieliversiointityökalu Java-ohjelmistoon Ohje 2/6 SISÄLLYSLUETTELO 1 YLEISTÄ OHJELMASTA... 3 2 PÄÄ-IKKUNA...4 3 YLÄVALIKKO... 4 3.1 TIEDOSTO... 4 3.2 TOIMINTO... 4 3.3 ASETUKSET... 5 3.4 OHJE... 5 4 VÄLILEHDET...5

Lisätiedot

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka. Joni Korjala APACHE WWW-PALVELIN Seminaarityö 2012

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

Lisätiedot

Toimintaympäristön kuvaus. LTC-Otso Myyjän työkalu (POC)

Toimintaympäristön kuvaus. LTC-Otso Myyjän työkalu (POC) LTC-Otso Myyjän työkalu (POC) Toimintaympäristön kuvaus 21 toukokuu, 2015 Sisältö 1 Johdanto... 3 1.1 Dokumentin tavoite... 3 1.2 Dokumentin yleiskuvaus... 3 2 Järjestelmälle asetetut vaatimukset... 3

Lisätiedot

PLA-32820 Mobiiliohjelmointi. Mika Saari mika.saari@tut.fi http://www.students.tut.fi/~saari5/pla_32820_2015/

PLA-32820 Mobiiliohjelmointi. Mika Saari mika.saari@tut.fi http://www.students.tut.fi/~saari5/pla_32820_2015/ PLA-32820 Mobiiliohjelmointi Mika Saari mika.saari@tut.fi http://www.students.tut.fi/~saari5/pla_32820_205/ . Luento 2 Suoritus vaatimukset Kurssin sisältö Kirjallisuus Mobiiliohjelmointi Mobiililaitteita...

Lisätiedot

T-111.361 Hypermediadokumentin laatiminen. Sisältö. Tavoitteet. Mitä on www-ohjelmointi? Arkkitehtuuri (yleisesti) Interaktiivisuuden keinot

T-111.361 Hypermediadokumentin laatiminen. Sisältö. Tavoitteet. Mitä on www-ohjelmointi? Arkkitehtuuri (yleisesti) Interaktiivisuuden keinot T-111.361 Hypermediadokumentin laatiminen -Ohjelmointi Peruskäsitys www-ohjelmoinnin kentästä Tekniikat interaktiivisuuden toteuttamiseen tekniikat tekniikat Tietokannat Juha Laitinen TKK/TML juha.laitinen@hut.fi

Lisätiedot

PUSH palvelut mobiilikehityksessä: Android ja Windows phone 7. Pauli Kettunen

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

Lisätiedot

REST an idealistic model or a realistic solution?

REST an idealistic model or a realistic solution? REST an idealistic model or a realistic solution? 17.10.2006 Jari Aarniala jari.aarniala@cs.helsinki.fi Johdanto Representational State Transfer, eli REST Arkkitehtuurinen tyyli hajautetuille (hypermedia)järjestelmille

Lisätiedot

JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++?

JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++? JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: http://java.sun.com/docs/books/tutorial/index.html Vesterholm, Kyppö: Java-ohjelmointi,

Lisätiedot

www.solita.fi solita@solita.fi

www.solita.fi solita@solita.fi www.solita.fi solita@solita.fi JAVA-SOVELLUSTEN RAKENTAMINEN INTEGROITUUN YMPÄRISTÖÖN Jarno Peltoniemi Solita Oy 10.5.2005 Aiheet Johdanto Portaalit, portletit Oracle Portal Java-sovelluksen rakentaminen

Lisätiedot

Tekninen suunnitelma - StatbeatMOBILE

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

Lisätiedot

Visma Nova Webservice Versio 1.1 /

Visma Nova Webservice Versio 1.1 / Visma Nova Webservice Versio 1.1 / 31.10.2018 pidättää itsellään oikeuden mahdollisiin parannuksiin ja/tai muutoksiin tässä oppaassa ja/tai ohjelmassa ilman eri ilmoitusta. Oppaan ja siihen liittyvän muun

Lisätiedot

Tekninen suunnitelma - StatbeatMOBILE

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

Lisätiedot

Windows Phone. Module Descriptions. Opiframe Oy puh. +358 44 7220800 eero.huusko@opiframe.com. 02600 Espoo

Windows Phone. Module Descriptions. Opiframe Oy puh. +358 44 7220800 eero.huusko@opiframe.com. 02600 Espoo Windows Phone Module Descriptions Mikä on RekryKoulutus? Harvassa ovat ne työnantajat, jotka löytävät juuri heidän alansa hallitsevat ammatti-ihmiset valmiina. Fiksuinta on tunnustaa tosiasiat ja hankkia

Lisätiedot

Varmennepalvelu - testipenkki. Kansallisen tulorekisterin perustamishanke

Varmennepalvelu - testipenkki. Kansallisen tulorekisterin perustamishanke Varmennepalvelu - testipenkki Kansallisen tulorekisterin perustamishanke 2 (9) SISÄLLYS 1 Johdanto... 3 2 Testimateriaali... 3 2.1 Testipenkin palveluissa käytettävät parametrit... 3 2.2 Testipenkin yhteysosoite...

Lisätiedot

7.4 Variability management

7.4 Variability management 7.4 Variability management time... space software product-line should support variability in space (different products) support variability in time (maintenance, evolution) 1 Product variation Product

Lisätiedot

Pilottipalvelun esittely johtopäätökset

Pilottipalvelun esittely johtopäätökset 1 Pilottipalvelun esittely johtopäätökset Paikkatiedot palveluväylässä -loppuseminaari Paikkatietoverkoston kevätseminaari 18.5.2016 Pekka Latvala, Jari Reini Pilottipalvelu Pilottipalvelun lähtöasetelmana

Lisätiedot

Tech Conference 28.-29.5.2015. Visual Studio 2015, C#6,.NET4.6. Heikki Raatikainen. #TechConfFI

Tech Conference 28.-29.5.2015. Visual Studio 2015, C#6,.NET4.6. Heikki Raatikainen. #TechConfFI Tech Conference 28.-29.5.2015 Visual Studio 2015, C#6,.NET4.6 Heikki Raatikainen #TechConfFI Yleistä Avoimuus Open Source ja tuki yleisesti käytetyille ei-ms työkaluille Kaikki alustat tuettuna:.net 5

Lisätiedot

ELM GROUP 04. Teemu Laakso Henrik Talarmo

ELM GROUP 04. Teemu Laakso Henrik Talarmo ELM GROUP 04 Teemu Laakso Henrik Talarmo 23. marraskuuta 2017 Sisältö 1 Johdanto 1 2 Ominaisuuksia 2 2.1 Muuttujat ja tietorakenteet...................... 2 2.2 Funktiot................................

Lisätiedot

MOBISITE-TYÖKALUN SISÄLTÄMÄT TOIMINNOT

MOBISITE-TYÖKALUN SISÄLTÄMÄT TOIMINNOT MOBISITE-TYÖKALU MobiSite on työkalu matkapuhelimeen soveltuvan mobiilisivuston rakentamiseen. AIMO-järjestelmän jatkuvasti päivittyvä päätelaitetunnistus tunnistaa useimmat puhelinmallit ja mukauttaa

Lisätiedot

Kompositio. Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma

Kompositio. Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma 1 Kompositio Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma 1 Mikä kompositio on? Tili - : String - : double 1 1 Kayttoraja

Lisätiedot

Järjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri. Järjestelmäarkkitehtuuri

Järjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri. Järjestelmäarkkitehtuuri Järjestelmäarkkitehtuuri (TK081702) ja Järjestelmäarkkitehtuuri Sovellukset ovat olemassa Järjestelmien uudistaminen vie yleensä arvioitua enemmän resursseja ja kestää arvioitua kauemmin Migration (Migraatio

Lisätiedot

.NET ajoympäristö. Juha Järvensivu 2007

.NET ajoympäristö. Juha Järvensivu 2007 .NET ajoympäristö Juha Järvensivu juha.jarvensivu@tut.fi 2007 Käännösprosessi C# lähdekoodi C# kääntäjä CILtavukoodi JITkäännös Ajettava natiivikoodi Kehitysympäristössä ohjelmoijan toimesta Ajonaikana.NET

Lisätiedot

Käytettäväksi QR-koodin lukulaitteen/lukijan kanssa yhteensopivien sovellusten kanssa

Käytettäväksi QR-koodin lukulaitteen/lukijan kanssa yhteensopivien sovellusten kanssa Xerox QR Code -sovellus Pika-aloitusopas 702P03999 Käytettäväksi QR-koodin lukulaitteen/lukijan kanssa yhteensopivien sovellusten kanssa Käytä QR (Quick Response) Code -sovellusta seuraavien sovellusten

Lisätiedot

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL FinFamily PostgreSQL 1 Sisällys / Contents FinFamily PostgreSQL... 1 1. Asenna PostgreSQL tietokanta / Install PostgreSQL database... 3 1.1. PostgreSQL tietokannasta / About the PostgreSQL database...

Lisätiedot

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena Ohjelmointikielet ja -paradigmat 5op Markus Norrena Ko#tehtävä 4 Viimeistele "alkeellinen kuvagalleria". Käytännössä kaksi sivua Yksi jolla voi ladata kuvia palvelimelle (file upload) Toinen jolla ladattuja

Lisätiedot

GPRS-lisäpalvelu INTERNET-ASETUKSET

GPRS-lisäpalvelu INTERNET-ASETUKSET GPRS-lisäpalvelu INTERNET-ASETUKSET GPRS-lisäpalvelu Internet-asetukset 2(22) Sisällysluettelo 1 INTERNET-ASETUKSET MICROSOFT WINDOWS 95/98... 3 1.1 MODEEMIN ASENNUS... 3 1.2 APN:N ASETTAMINEN... 3 1.3

Lisätiedot

Sisällys. 18. Abstraktit tietotyypit. Johdanto. Johdanto

Sisällys. 18. Abstraktit tietotyypit. Johdanto. Johdanto Sisällys 18. bstraktit tietotyypit Johdanto abstrakteihin tietotyyppeihin. Pino ja jono. Linkitetty lista. Pino linkitetyllä listalla toteutettuna. 18.1 18.2 Johdanto Javan omat tietotyypit ovat jo tuttuja:

Lisätiedot

5 Näppäimistö. 5.1 Näppäimistön eventit

5 Näppäimistö. 5.1 Näppäimistön eventit 5 Näppäimistö Näppäimistö (Keyboard) on Windows Forms -ohjelmissa keskeisessä asemassa. Erityisesti erilaisissa tekstinkäsittelyohjelmissa ja ohjelmissa, joissa tarvitaan datan syöttämistä esimerkiksi

Lisätiedot

Mikä yhteyssuhde on?

Mikä yhteyssuhde on? 1 Yhteyssuhde Mikä yhteyssuhde on? Yhteyssuhde Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma 1 Mikä yhteyssuhde on? Tili - : String - : double * 1 Asiakas - hetu: String - : String

Lisätiedot

SUOMEN KUNTALIITTO RY

SUOMEN KUNTALIITTO RY Karttaliittymä Versio: 18.10.2011 Julkaistu: 27.10.2011 Voimassaoloaika: Toistaiseksi Sisällys 1 Johdanto... 2 1.1 Suosituksen tausta... 2 1.2 Suosituksen rakenne... 2 2 Soveltamisala... 2 3 Lyhenteet...

Lisätiedot

DIPLOMITYÖ ARI KORHONEN

DIPLOMITYÖ ARI KORHONEN DIPLOMITYÖ ARI KORHONEN TEKNILLINEN KORKEAKOULU Diplomityö Tietotekniikan osasto 20.5.1997 Ari Korhonen WORLD WIDE WEB (WWW) TIETORAKENTEIDEN JA ALGORITMIEN TIETOKONEAVUSTEISESSA OPETUKSESSA Työn valvoja

Lisätiedot

Action Request System

Action Request System Action Request System Manu Karjalainen Ohjelmistotuotantovälineet seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 25.10.2000 Action Request System (ARS) Manu Karjalainen Ohjelmistotuotantovälineet

Lisätiedot

Käyttöohje Planeetta Internet Oy 3.8.2011

Käyttöohje Planeetta Internet Oy 3.8.2011 Käyttöohje Planeetta Internet Oy 3.8.2011 PLANEETTA TIEDOSTOPALVELIN KÄYTTÖOHJE 3.8.2011 1 (25) Sisällysluettelo Sisällysluettelo... 1 Planeetta Tiedostopalvelin... 2 Yleistä tietoa palvelusta... 2 Palvelun

Lisätiedot

Pedacode Pikaopas. Web-sovelluksen luominen

Pedacode Pikaopas. Web-sovelluksen luominen Pedacode Pikaopas Web-sovelluksen luominen Pikaoppaan sisältö Pikaoppaassa kuvataan, miten Netbeans-työkalulla luodaan uusi yksinkertainen web-sovellus ja testataan sen toiminta. Opas kattaa kaiken aiheeseen

Lisätiedot

Paikkatietorajapinnat IT arkkitehtuurin näkökulmasta 21.12.200 7

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

Lisätiedot

10 Nykyaikainen WWW-arkkitehtuuri

10 Nykyaikainen WWW-arkkitehtuuri 10 Nykyaikainen WWW-arkkitehtuuri è è è 10 Nykyaikainen WWW-arkkitehtuuri WWW on ylivoimaisesti suosituin hypertekstijärjestelmä. Käydään seuraavaksi läpi nykyaikaisen WWW-arkkitehtuurin perusteet. Vuonna

Lisätiedot

2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4)

2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4) 2. Lisää Java-ohjelmoinnin alkeita Muuttuja ja viittausmuuttuja Vakio ja literaalivakio Sijoituslause Syötteen lukeminen ja Scanner-luokka 1 Muuttuja ja viittausmuuttuja (1/4) Edellä mainittiin, että String-tietotyyppi

Lisätiedot

SOA SIG SOA Tuotetoimittajan näkökulma

SOA SIG SOA Tuotetoimittajan näkökulma SOA SIG SOA Tuotetoimittajan näkökulma 12.11.2007 Kimmo Kaskikallio IT Architect Sisältö IBM SOA Palveluiden elinkaarimalli IBM Tuotteet elinkaarimallin tukena Palvelukeskeinen arkkitehtuuri (SOA) Eri

Lisätiedot

Harjoitus 7. 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:

Harjoitus 7. 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti: Harjoitus 7 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti: class Lintu //Kentät private int _siivenpituus; protected double _aivojenkoko; private bool _osaakolentaa; //Ominaisuudet public int

Lisätiedot

.NET 2006 ja sen jälkeen

.NET 2006 ja sen jälkeen .NET 2006 ja sen jälkeen Ahti Haukilehto FC Sovelto Oyj Microsoft Regional Director, Finland Superior tools, niin mitkä? Visual Studio Team System Team Foundation Server DSL Tools 2 Visual Studio Team

Lisätiedot

18. Abstraktit tietotyypit 18.1

18. Abstraktit tietotyypit 18.1 18. Abstraktit tietotyypit 18.1 Sisällys Johdanto abstrakteihin tietotyyppeihin. Pino ja jono. Linkitetty lista. Pino linkitetyllä listalla toteutettuna. 18.2 Johdanto Javan omat tietotyypit ovat jo tuttuja:

Lisätiedot

ASP.NET Web API 2:ta hyödyntävä Angular 4 -sovellus

ASP.NET Web API 2:ta hyödyntävä Angular 4 -sovellus Atte Aspiola ASP.NET Web API 2:ta hyödyntävä Angular 4 -sovellus Metropolia Ammattikorkeakoulu Insinööri (AMK) Tietotekniikan koulutusohjelma Insinöörityö 13.9.2017 Tiivistelmä Tekijä(t) Otsikko Sivumäärä

Lisätiedot

Projektinhallintaa paikkatiedon avulla

Projektinhallintaa paikkatiedon avulla Projektinhallintaa paikkatiedon avulla Tampereen Teknillinen Yliopisto / Porin laitos Teemu Kumpumäki teemu.kumpumaki@tut.fi 25.6.2015 1 Paikkatieto ja projektinhallinta Paikkatiedon käyttäminen projektinhallinnassa

Lisätiedot

FinFamily Installation and importing data (11.1.2016) FinFamily Asennus / Installation

FinFamily Installation and importing data (11.1.2016) FinFamily Asennus / Installation FinFamily Asennus / Installation 1 Sisällys / Contents FinFamily Asennus / Installation... 1 1. Asennus ja tietojen tuonti / Installation and importing data... 4 1.1. Asenna Java / Install Java... 4 1.2.

Lisätiedot

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS Ti Kandidaatintyö ja seminaari

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,

Lisätiedot

812341A Olio-ohjelmointi Peruskäsitteet jatkoa

812341A Olio-ohjelmointi Peruskäsitteet jatkoa 812341A Olio-ohjelmointi 2106 Peruskäsitteet jatkoa Luokkakohtaiset piirteet n Yhteisiä kaikille saman luokan olioille n Liittyvät luokkaan, eivät yksittäiseen olioon n Kaikki ko. luokan oliot voivat käyttää

Lisätiedot

Object Framework - One. OF-1 is a high-productive Multi-UI OpenEdge data driven development framework. Veli-Matti Korhonen

Object Framework - One. OF-1 is a high-productive Multi-UI OpenEdge data driven development framework. Veli-Matti Korhonen Object Framework - One OF-1 is a high-productive Multi-UI OpenEdge data driven development framework Veli-Matti Korhonen Aiheet OF-1 esittely Mitä ominaisuuksia saa ilman ohjelmointia Miten ohjelmoidaan

Lisätiedot

VisualStudio Pikaopas, osa 1: WEB sivujen suunnittelu

VisualStudio Pikaopas, osa 1: WEB sivujen suunnittelu HAAGA HELIA/IltaTiko ICT2TD005: Ohjelmisto suunnittelutaito 1 VisualStudio Pikaopas, osa 1: WEB sivujen suunnittelu Tämä pikaopas opastaa käyttämään VisualStudion web sivujen suunnittelu ja toteutusominaisuuksia.

Lisätiedot

Julkaisun laji Opinnäytetyö. Sivumäärä 43

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

Lisätiedot

Apuja ohjelmointiin» Yleisiä virheitä

Apuja ohjelmointiin» Yleisiä virheitä Apuja ohjelmointiin» Yleisiä virheitä Ohjelmaa kirjoittaessasi saattaa Visual Studio ilmoittaa monenlaisista virheistä "punakynällä". Usein tämä johtuu vain siitä, että virheitä näytetään vaikket olisi

Lisätiedot

Pedacode Pikaopas. Web Service asiakasohjelman luominen

Pedacode Pikaopas. Web Service asiakasohjelman luominen Pedacode Pikaopas Web Service asiakasohjelman luominen Pikaoppaan sisältö Pikaoppaassa kuvataan, Netbeans-työkalulla luodaan valmista olemassa olevaa Web Service palvelua käyttävä asiakasohjelma. Opas

Lisätiedot

The OWL-S are not what they seem

The OWL-S are not what they seem The OWL-S are not what they seem...vai ovatko? Verkkopalveluiden koostamisen ontologia OWL-S Seminaariesitelmä 15.4.2013 Emilia Hjelm Internet on hankala Nykyinternet on dokumenttien verkko Asiat, joita

Lisätiedot

Web-palveluiden alusta Axis2

Web-palveluiden alusta Axis2 Web-palveluiden alusta Axis2 Aki Heikkinen Ohjaaja: Raimo Rask Itä-Suomen yliopisto, Tietojenkäsittelytieteen laitos Suullisen esittämisen seminaarin kirjallinen tukimateriaali 15. helmikuuta 2010 Tiivistelmä

Lisätiedot

Security server v6 installation requirements

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

Lisätiedot

Suuli api dokumentaatio

Suuli api dokumentaatio Suuli api dokumentaatio Rajapinnan käyttöä varten tarvitset avaimen. Suulissa on käytössä kaksi rajapintaa: jäsen-, vene- ja venepaikkarajapinta sekä laskurajapinta. Näille on erilliset avaimet. Seuran

Lisätiedot

ETÄPALVELU. HALTIK Videoportaali - osallistujan ohje

ETÄPALVELU. HALTIK Videoportaali - osallistujan ohje ETÄPALVELU HALTIK Videoportaali - osallistujan ohje 19.5.2015 Laitevaatimukset Tietokoneessa tulee olla asennettuna: Web-kamera Mikrofoni ja kaiuttimet tai kuulokkeet Tietokoneen internet selaimen tulee

Lisätiedot

Microsoft Visual Studio 2005

Microsoft Visual Studio 2005 Sovelluksen jako palvelimiksi: Palvelin on sille annettuun vastuulliseen tehtävään erikoistunut sovellusosa. Käyttöliittymäpalvelin (Web-palvelin) vastaa käyttöliittymän toteuttamisesta. Web-palvelin toteuttaa

Lisätiedot

ETÄTERMINAALIYHTEYS SELAIMELLA

ETÄTERMINAALIYHTEYS SELAIMELLA Opinnäytetyö (AMK) Tietotekniikan koulutusohjelma Sulautetut ohjelmistot 2017 Akseli Aarnio ETÄTERMINAALIYHTEYS SELAIMELLA OPINNÄYTETYÖ (AMK) TIIVISTELMÄ TURUN AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma

Lisätiedot

Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014

Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Kirjoita jokaiseen palauttamaasi konseptiin kurssin nimi, kokeen päivämäärä, oma nimi ja opiskelijanumero. Vastaa kaikkiin tehtäviin omille konsepteilleen.

Lisätiedot

arvostelija OSDA ja UDDI palveluhakemistoina.

arvostelija OSDA ja UDDI palveluhakemistoina. Hyväksymispäivä Arvosana arvostelija OSDA ja UDDI palveluhakemistoina. HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta/Osasto Fakultet/Sektion Faculty/Section Laitos Institution

Lisätiedot

XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy

XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy IBM Collaboration Forum ٨.٣.٢٠١١ XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy ٢٠١١ IBM Corporation Domino-sovelluskehitys Nopea kehitysympäristö (Rapid application development,

Lisätiedot

LANSEERAUS LÄHESTYY AIKATAULU OMINAISUUDET. Sähköinen jäsenkortti. Yksinkertainen tapa lähettää viestejä jäsenille

LANSEERAUS LÄHESTYY AIKATAULU OMINAISUUDET. Sähköinen jäsenkortti. Yksinkertainen tapa lähettää viestejä jäsenille tiedote 2 / 9.3.2017 LANSEERAUS LÄHESTYY AIKATAULU 4.3. ebirdie-jäsenkortti esiteltiin Golfliiton 60-vuotisjuhlaseminaarissa 17.3. ebirdie tulee kaikkien ladattavaksi Golfmessuilla 17.3. klo 12:00 alkaen

Lisätiedot

WAMS 2010,Ylivieska Monitoring service of energy efficiency in housing. 13.10.2010 Jan Nyman, jan.nyman@posintra.fi

WAMS 2010,Ylivieska Monitoring service of energy efficiency in housing. 13.10.2010 Jan Nyman, jan.nyman@posintra.fi WAMS 2010,Ylivieska Monitoring service of energy efficiency in housing 13.10.2010 Jan Nyman, jan.nyman@posintra.fi Background info STOK: development center for technology related to building automation

Lisätiedot

Tulevaisuuden päätelaitteet

Tulevaisuuden päätelaitteet Tulevaisuuden päätelaitteet Kuka ne omistaa? Miten niitä hallitaan? Aki Antman Sulava Oy 2.11.2011 Agenda Alkusanat ja puhujan lyhyt esittely Erilaiset päätteet ja sähköinen työpöytä Kuka omistaa päätelaitteet?

Lisätiedot

Käyttöopas. ADAP-KOOL AK-ST 500 Oy Danfoss Ab / Kylmäosasto 1

Käyttöopas. ADAP-KOOL AK-ST 500 Oy Danfoss Ab / Kylmäosasto 1 Käyttöopas ADAP-KOOL AK-ST 500 Oy Danfoss Ab / Kylmäosasto 1 Periaate AK-NG järjestelmän AK SM720 tai 350 voidaan luoda yhteys kolmella eri tavalla (kts. kuva alla) Uusiin (laajennettaviin) säätimin voidaan

Lisätiedot

Security server v6 installation requirements

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

Lisätiedot