Tuotantokoneen langaton etädiagnostiikka Esa Salminen esa@ac.tut.fi Jari Seppälä Puh. (03) 3115 2967, telefax (03) 3115 2340, jari.seppala@tut.fi Mikko Salmenperä Puh. (03) 3115 4203, telefax (03) 3115 2340, mikko.salmenpera@tut.fi Hannu Koivisto Puh. (03) 3115 2656, telefax (03) 3115 2340, hannu.koivisto@tut.fi AVAINSANAT etäkäyttösovellukset, mobiilit ja langattomat ratkaisut, XML, GPRS TIIVISTELMÄ Kentällä olevan tuotantokoneen tilasta on tärkeää saada tietoa kunnossapidon ja liiketoiminnan hallinnan kannalta. Ongelmana on, miten suorittaa usean koneen diagnostiikka kootusti ja vaivattomasti. Tilaa voi tarkkailla etäältä käyttämällä hyväksi langatonta tiedonsiirtoa. Tämä lähestymistapa tarjoaa monia etuja: säästetään aikaa, saadaan suora yhteys koneisiin, jotka ovat muuten vaikeidenkin kulkuyhteyksien takana ja vältytään häiritsemästä operaattoria kyselyillä. Artikkelissa kuvataan järjestelmä, jolla voidaan hallita useiden erilaisten päätelaitteiden kautta tehtyjä kyselyjä tuotantokoneympäristössä. Tietoa kysyvän käyttäjän päätelaitteena voi olla erityyppisiä laitteita. Matkapuhelimen tai Personal Digital Assistant -laitteen (PDA) näyttö ja käyttöliittymä eroavat oleellisesti kannettavan tietokoneen tarjoamista mahdollisuuksista. Kuitenkin käyttäjälle esitettävä tieto tulee olla samanlaista päätelaitteesta riippumatta. Tähän tarkoitukseen ei ole olemassa valmiita raportointityökaluja, sillä yleensä ne on suunniteltu toimimaan tavanomaisen internet-yhteyden kanssa ja niiden käytössä ei ole huomioitu mobiililaitteiden aiheuttamia rajoituksia ja käyttökustannuksia. Sovellusratkaisuna on tutkittu.net-ympäristön tarjoaman WebService-tekniikan antamia mahdollisuuksia diagnostiikkatiedon siirtämisessä mobiilille käyttäjälle sekä heterogeenisen päätelaitekirjon hallitsemista.net Mobile -työkaluja käyttämällä. Esimerkkitapauksessa on luotu diagnostiikkayhteys matkapuhelimella, PDAlaitteella ja kannettavan tietokoneen selaimen kautta. Näiden vaihtoehtojen toimintaan sovittaminen antaa kuvan tiedon esittämisestä eri muodoissa. 1 JOHDANTO Tuotantokoneiden kehittyessä yhä itsenäisemmiksi ja monimutkaisiksi, niiden kunnossapito ja diagnostiikka vaativat pitkälle erikoistuneen asiantuntijan taitoja. Näiden asiantuntijoiden lukumäärä on pieni ja kentällä olevat koneet ovat hajallaan suurten välimatkojen päässä toisistaan. Näin nousee tarve suorittaa mahdollisimman suuri osa diagnostiikasta etäteknologioiden avulla ja välttää turhia, usein erittäin kalliita käyntejä itse koneella. Etädiagnostiikkasovellusta suunniteltaessa on otettava huomioon päätelaitteiden asettamat rajoitukset koskien laitteiden kantama, akkujen kestoa ja muita teknisiä rajoitteita. Myös tiedon esittäminen mobiililaitteessa käyttökelpoisessa ja käytettävyydeltään tyydyttävässä muodossa sekä tietoturvakysymykset vaikuttavat suunnitteluvaiheen ratkaisuihin.
Artikkelissa esitetty tutkimus on suoritettu Tampereen teknillisellä yliopistolla Automaatio- ja säätötekniikan laitoksella toteutettua osana Automaatio- ja informaatioverkkojen Tekes-hanketta Etäteknologioiden automaatiosovellukset 1999-2002. /5/ 2 ETÄDIAGNOSTIIKAN TOTEUTUSMAHDOLLISUUDET Etädiagnostiikan toteuttamiselle oli kaksi vaihtoehtoa: joko valitaan kiinteä joukko päätelaitteita, joita tuetaan itse tai valitaan alusta, joka tarjoaa tämän toiminnallisuuden valmiina. Itse toteutetussa päätelaitteiden tuessa voidaan hyödyntää optimaalisesti kunkin päätelaitteen ominaisuuksia mutta järjestelmän ylläpito vaatii jatkuvaa ohjelmointityötä päätelaitteiden nopean kehittymisen vuoksi. Valmiin alustan käyttö nopeuttaa järjestelmän kehitystä ja mahdollistaa huomion kiinnittämisen arkkitehtuurin kannalta oleellisiin asioihin. Kun otettiin huomioon mobiililaitteen asettamat rajoitukset, haluttu toiminnallisuus saadaan toteutettua palvelinpohjaisilla Active Server Pages Extended- ja Java Server Pages -tekniikoilla. (ASPX ja JSP) /10/, /8/. Päätelaitteiden ominaisuuksien lisäksi toteutukseen vaikutti käytetyn siirtotekniikan, GPRS-yhteyden tiedonsiirtonopeuden asettamat rajoitukset. Siirrettävä tietomäärä pyrittiin luonnollisesti pitämään mahdollisimman pienenä. Esitettävä tieto valittiin yleisluontoiseen esitysmuotoon, jossa välitetään erilaisia tunnuslukuja, mittausarvoja ja yksinkertaisia kuvia. Käyttöliittymän tulee olla toimiva, mutta sen ei tarvitse olla erityisen näyttävä. Etädiagnostiikan käyttäjiä ei haluttu rajoittaa liian suppean päätelaitevalikoiman käyttöön, joten pääasiallinen tavoite oli valita toteutustapa, jossa laitteiden hallinta on kaikkein helpointa. Valitun tekniikan tulee mahdollistaa jatkokehityksessä lisättävien laitteiden lisäys vähällä vaivalla tai mikäli mahdollista automaattisesti. Järjestelmän käytön lisäksi alustan ja käytettävien tekniikoiden valinnassa arvioitiin ohjelmistokehityksen joustavuus. Nämä tavoitteet ja rajoitukset huomioiden etädiagnostiikka voidaan toteuttaa eri tavoin, esimerkiksi J2EE:a (Java 2 Platform, Enterprise Edition) käyttämällä. /9/ Käytössä on kuitenkin Windows-käyttöjärjestelmäympäristö, joten alustaksi ja kehitysympäristöksi valittiin Microsoft.NET..NET on ohjelmointikieliriippumaton suunniteltu ympäristö, jossa ohjelmat toimivat keskenään helposti ja yhtenäisesti. Ohjelmistoa ei kehitetä tietylle laitteisto- tai käyttöjärjestelmäyhdistelmälle, vaan ne toimivat kaikissa ympäristöissä, joissa.net ajonaikainen ympäristö Common Language Runtime (CLR) on toteutettu /Kuva 1./. Malli vastaa Sunin Java-ympäristöstä tuttua Java virtuaalikone periaatetta..net kehyksen, josta käytetään yleisesti Framework nimeä, komponentit on nimetty saman käytännön mukaan. Tähän sisältyy sekä ohjelmistokehitystuotteita että palveluja, kuten Visual Studio.NET ja mobiililaitteita tukeva lisäys.net Mobile. Kuva 1..NET-ympäristö. Base classes ja CLR toteuttavat hyvin pienen osan Windowsiin toteutetun Frameworkin toiminnallisuudesta. Suuri osa toteutetaan suoraan käyttöjärjestelmään yhteydessä olevien luokkien toiminnalla.
2.1 WebService WebServicet eivät ole.net-spesifinen tekniikka, vaan niillä tarkoitetaan palvelua, jossa URL-osoitteessa sijaitsevat hyödykkeet julkaistaan rekisteröintimekanismin esimerkiksi Universal Description, Discovery, and Integrationin eli UDDI:n avulla Internetiin. Muut sivustot tai Web-ohjelmat voivat käyttää samaa palvelua, standardoitujen ja yleisten protokollien, kuten esimerkiksi HTTP:n tai SMTP:n kautta. /1/.NET WebServicet ovat SOAP-protokollaa (Simple Object Access Protocol) käyttäviä verkon yli toimivia palveluja, joiden käyttö on integroitu syvälle.net-kehykseen. Kun tarpeena on päästä käsiksi etädiagnostiikkatietoon mistä tahansa, WebService on käyttökelpoinen ratkaisu. 2.2.NET Mobile Microsoft.NET-ympäristön lisänä saatava Mobile Toolkit mahdollistaa sovellusten kirjoittamisen erilaisille päätelaitteille. Sovelluksessa käytetään toolkitin mobiilikontrolleja, joiden avulla tieto saadaan esitettyä päätelaitteelle sopivassa muodossa, kunhan päätelaitetyyppi on toolkitin tukema. Taulukko 1. Mobile Toolkitin toiminta. /7/ Mobiililaitteet Internet Internet Information Server IIS.NET Framework ASP.NET.NET Mobile Päätelaite pyytää WWW-sivua tai palvelua. Pyyntö kulkee Internetin kautta. Pyyntö saapuu IIS:lle..NET Framework käsittelee pyynnön. ASP.NET kääntää kysytyn sivun..net Mobile tunnistaa laitteen ja käsittelee mobiililaitevaatimukset Tulossivu lähetetään käyttäjän päätelaitteelle. Erillisten laitteiden lisäksi toolkit tukee laiteryhmiä ominaisuuksien mukaan jaettuna, kuten värinäyttöä tukevat laitteet. Käsityönä eri laitteille tehtävien palvelujen tekemiseen kuluva aika saadaan karsittua, kun laitteiden hallinta voidaan tehdä automaattisesti toolkittiä käyttämällä. Mobile Toolkitin kontrollit ovat aspx-sivustoilla, jotka on sijoitettu WWW-palvelimelle. Varsinaiseen palveluun, joka on toteutettu WebServicenä, ollaan yhteydessä mobiilisivujen kautta eikä suoraan. Kuva 2. Kuva 2. Etädiagnostiikkayhteys WebServiceen. 1 Käyttäjä ottaa yhteyden WWW-palvelimen mobiilipalveluun. 2, 3 Palvelu käyttää WebServiceä, joka palauttaa vastauksen. 4 Muokattu tieto välitetään käyttäjän päätelaitteeseen.
3 ETÄDIAGNOSTIIKKAJÄRJESTELMÄN TOTEUTUS Järjestelmä suunniteltiin toteutettavaksi komponenttimallin mukaisesti. /2/ Mallissa on erotettu toisistaan käyttöliittymä, tietoliikenneyhteydet ja varsinainen sovelluslogiikka..net Mobile moduuli sisältää käyttöliittymän aspx-sivuina toteutettuna. Liittymä tuotantokoneen tietokantaan on oma kokonaisuutensa ja WebService tarjoaa palveluna tämän liittymän käyttämisen. Sovelluslogiikka sisältää tiedon muokkaamisen esitettävään muotoon omana moduulinaan. Kuva 3. Järjestelmäkuva. Sekä tuotantokone, että asiakas ovat mobiileja. Kuvasta on jätetty pois muun muassa palomuurit, sekä mahdollinen kierto yrityksen verkon kautta. Toteutetun järjestelmän rakenne selviää kuvasta 4: Käyttäjän valitsema kysely ohjautuu sitä tukevalle palvelulle, joka käyttää hyväkseen WebServiceä. Yhteys tietokantaan muodostetaan socketia käyttäen ja tietokanta palauttaa kyselyyn XML-vastauksen. Saatu vastaus käsitellään sovelluslogiikassa ja muutetaan XSL-skeeman avulla päätelaitteelle välitettävään muotoon. Projektin aikana kehitettiin myös XML-sovellus, jota voi käyttää artikkelissa kuvattuun interaktiiviseen sovellukseen ja esimerkiksi mittaus- ja analysointikäyttöön. Kuva 4. Järjestelmän moduulikaavio. Järjestelmä on suunniteltu niin että kaikki palvelut voidaan hajauttaa maantieteellisesti. Toisin sanoen Database, Service ja UserInterface palvelut voivat sijaita samalla tai eri koneilla. 3.1 Testilaitteisto Koejärjestelmää varten otettiin käyttöön testipalvelin, jolla pyörii IIS:n päällä toimiva WebService ja Socketyhteyden takana oleva tietokanta. Tietokantatieto luodaan tuotantokonedataa tuottavalla simulaattorilla, joka on kehitetty TTY:llä suoritetun diplomityön yhteydessä. /3/ Testipalvelin on suojattu palomuurilla, johon päätelaiteyhteys otetaan. Palomuuri ohjaa yhteyden testipalvelimen WWW-palvelimella olevalle mobiilipalvelulle.
3.2 Päätelaitteet Palvelua käytettiin WWW-selainten lisäksi GSM-puhelimilla ja PDA-laitteella. Päätelaitteiksi valittiin WAP- ja WWW-kykyisiä laitteita. Lisäksi suoritettiin testejä eri mallisten puhelinten emulaattoreilla mahdollisimman laajan valikoiman takaamiseksi. Testauksessa käytetyt päätelaitteet on listattu Taulukkoon 2. Taulukko 2. Testauksessa käytetyt päätelaitteet. Malli XHTML WML Nokia 3650 * * Ericsson T68i * Compaq ipaq * * WWW-selain * Nokia 7110 emulaattori * Nokia 8310 emulaattori * Nokia Mobile Browser 3.0.1 * * 4 TULOKSET Sovelluksen kehittäminen valitussa ympäristössä oli yksinkertaista, eikä poikennut vastaavien verkkoprojektien toteuttamisesta. Toolkitin käyttämät komponentit eroavat normaalin verkkosovelluksen käyttämistä, joten palvelun muuttaminen mobiilipalveluksi ei käy aivan automaattisesti, vaikkakin muutokseen vaadittava työmäärä on pieni. Mikäli mobiilialusta olisi tehty oikein, muutos voitaisiin tehdä pelkästään nimiavaruutta muuttamalla. Palvelun visuaaliseen ilmeeseen ei kehittäjälle anneta paljon valinnanvaraa, sillä lopputuloksen on toimittava karussakin päätelaiteympäristössä. Perussyötekenttiä ja kontrolleja käyttämällä järjestelmästä kuitenkin saatiin yksinkertainen, mutta langattomia yhteyksiä tehokkaasti hyödyntävä kokonaisuus. Järjestelmää käytettiin erilaisten selainten, laitteiden ja etädiagnostiikkakyselyjen yhdistelmillä. Käytössä havaittiin järjestelmän toimivan hyvin saman tiedon esittämisessä eri tyyppisissä muodoissa. Kaikkein pienimmillä näyttötyypeillä kaikkien kuvien esittäminen ei onnistunut, mutta muuten diagnostiikkatieto saatiin näkymään eri laitteilla. XHTML:ää tukevilla laitteilla kysymys ei ole niinkään saadaanko kuvia näkymään, vaan missä muodossa ne näkyvät. Otettaessa käyttöön uusia päätelaitteita, on kuitenkin syytä testata miltä esitettävä tieto sillä katsottuna näyttää. Toolkitin tukemilla DeviceSpecific-kontrolleilla tieto saadaan näkymään paremmin valitsemalla sopivat suodattimet laitteille. Tämä räätälöinti kuitenkin vaatii enemmän käsityötä eikä ole periaatteena olleen automaattisen laitehallinnan mukaista. 5 YHTEENVETO Mobiililaitteiden kautta suoritettava etädiagnostiikka tulee yleistymään kunnonvalvonta- ja bisnessovelluksissa. Tulevaisuuden vaatimukset täyttääkseen diagnostiikkapalveluja pitää pystyä toteuttamaan nopeasti ja laajaa päätelaitekirjoa tukien. Suunnittelulähtökohtia on monia ja tässä tapauksessa keskityttiin laitteiden hallintaan. Esimerkkitapauksessa toteutetulla järjestelmällä päätelaitekirjon hallinta onnistuu vähällä vaivalla, mutta palvelunkehittäjä on riippuvainen käytetyn toolkitin tukemista päätelaitteista. Jatkossa internetin yli käytettävien mobiilipalvelujen yhdistäminen laitehallinnan mahdollistavan ympäristön käyttämiseen tulee olemaan sulava tapa tuottaa erilaisia erädiagnostiikkasovelluksia. Toteutetun järjestelmän tietoturvaratkaisu nojaa siirtomedian tietoturvaan. Tämä on perusteltua mikäli toimitaan GPRS-verkon sisällä, jolloin tietoturvan takaa verkko-operaattori. Käytettäessä järjestelmää vihamielisessä ympäristössä, kuten Internet, täytyy huoltomiehen ja tuotantokoneen välinen tietoturva ratkaista muulla tavalla. Mahdollisia tietoturvan toteutustapoja ovat IPSec-standardiin /11/ pohjautuvat suojatut yhteydet tai standardointi asteella oleva Secure Web Service tekniikka /12/. 6 KIRJALLISUUSLUETTELO [1] Haavisto H.:.NET-viestinvälitystekniikat kunnonvalvontajärjestelmän toteutuksessa. Diplomityö. Tampere TTKK, Automaatiotekniikan osasto. 86 s.
[2] Haikala I. Ohjelmistotuotanto. Luku 16. Helsinki, Suomen atk-kustannus, 1998, 389 s. [3] Korhonen M. Metsätyökoneen kunnonvalvontasovellus. Diplomityö. Tampere TTKK, Automaatiotekniikan osasto. 64 s. [4] Salminen E.: Tuotantokoneen etädiagnostiikka. Diplomityö. Tampere TTY, Automaatiotekniikan osasto [5] TTY/ACI: EtaAu: Etäteknologioiden automaatiosovellukset https://ae.tut.fi/projects/ (21.05.2003) [6] World Wide Web Consortium. 2003 Web Services Architecture Working Draft 14 http://www.w3.org/tr/ws-arch/ (21.05.2003) [7] W3Schools. Introduction to.net Mobile http://www.w3schools.com/dotnetmobile/mobile_intro.asp (21.05.2003) [8] Sun Microsystems: JavaServer Pages Technology http://java.sun.com/products/jsp/ (21.05.2003) [9] Sun Microsystems: Java 2 Platform, Enterprise Edition (J2EE) http://java.sun.com/j2ee/ (21.05.2003) [10] Microsoft: ASP.NET Web http://www.asp.net (21.05.2003) [11] The Internet Engineering Task Force: IP Security Protocol http://www.ietf.org/html.charters/ipsec-charter.html (21.05.2003) [12] IBM developerworks: Web Services Security (WS-Security) http://www-106.ibm.com/developerworks/webservices/library/ws-secure/ (21.05.2003)