Tekniikan Ja Liikenteen Toimiala
Total Page:16
File Type:pdf, Size:1020Kb
TEKNIIKAN JA LIIKENTEEN TOIMIALA Tietotekniikka Ohjelmistotekniikka INSINÖÖRITYÖ TYÖPÖYTÄSOVELLUS ADOBE AIR -TEKNIIKALLA Työn tekijä: Tuomas Haimi Työn valvoja: Erja Nikunen Työ hyväksytty: __. __. 2008 Erja Nikunen yliopettaja ALKULAUSE Kiitän Helsingin ammattikorkeakoulu Stadian tietotekniikka-alan opettajia ja oppilaita. Helsingissä 21.4.2008 Tuomas Haimi INSINÖÖRITYÖN TIIVISTELMÄ Tekijä: Tuomas Haimi Työn nimi: Työpöytäsovellus Adobe Air -tekniikalla Päivämäärä: 21.4.2008 Sivumäärä: 64 s. + 7 liitettä Koulutusohjelma: Tietotekniikka Suuntautumisvaihtoehto: Ohjelmistotekniikka Työn valvoja: yliopettaja Erja Nikunen Työn kirjallinen osuus aloitettiin kertaamalla lyhyesti web-sovellukset ja niiden ominaisuu- det. Tekniikan kehittyminen on mahdollistanut rikkaat Internet-sovellukset, joiden periaate ja toiminta esitettiin, ja lisäksi perehdyttiin rikkaiden Internet-sovellusten vaatimuksiin. Adobe Air on käyttöjärjestelmäriippumaton ajoympäristö työpöytäsovellusten toteuttami- seen web-tekniikoilla. Air-tekniikkaan tutustuttiin käymällä läpi ajoympäristön tärkeimmät komponentit ja niiden merkitys sekä Air-sovelluksen tietoturvamalli. Air-sovellus voidaan toteuttaa vaihtoehtoisilla sovellustekniikoilla, jotka esitellään lyhyesti ja pohditaan valin- taan vaikuttavia ominaisuuksia. Lisäksi esitettiin sovelluskehitykseen tarjolla olevia työka- luja ja Air-sovelluskehityksen ominaispiirteitä. Työssä toteutettiin Asiakasselain-sovellus, jonka on tarkoitus korvata tulevaisuudessa tällä hetkellä käytössä oleva Asiakaspääte-sovellus. Asiakasselaimen avulla asiakas voi etsiä tuotteita ja lisätietoja tavarataloissa. Air-sovelluksen sovellustekniikaksi valittiin HTML/Ajax-tekniikka. Sovellus hyödyntää tavaratalon varasto-tietokantaa sekä verkko- kaupan kuva- ja tuoteinformaatiota. Työn päätavoitteena oli tutustua Adobe Air -tekniikkaan ja sen tarjoamiin mahdollisuuksiin. Air osoittautui mielenkiintoiseksi ja helpoksi vaihtoehdoksi työpöytäsovelluksen toteutta- misessa perinteisillä web-tekniikoilla. Avainsanat: Adobe Air, Ajax, Flex, rikas Internet-sovellus ABSTRACT Name: Tuomas Haimi Title: Adobe Air desktop application Date: 21.4.2008 Number of pages: 64 Department: Information Technology Study Programme: Software Engineering Instructor: principal lecturer Erja Nikunen The study began by reviewing web applications and their basic characteristics. New tech- nologies make rich Internet applications possible. Rich Internet applications were de- scribed and crucial aspects of the rich Internet applications were explained. The main focus of the study was to examine Adobe Air technology. Adobe Air is a cross- operating system runtime for developing desktop applications with web-technologies. Air- technology was examined by reviewing Air components and the security model. It is pos- sible to build an Air desktop application with different web-technologies that were re- viewed and guidelines for choosing the right technology were given. A customer service application that allows searching product information in department store was developed as a part of the study. The application was developed using HTML and Ajax technologies with Adobe Air. The application uses databases of the department store and web store. The main objective of the study was to review Adobe Air and its benefits for developing desktop application. Adobe Air seems to be a very interesting and easy technology for building and deploying rich desktop applications with traditional web-technologies. Keywords: Adobe Air, Ajax, Flex, rich Internet-application SISÄLLYS ALKULAUSE TIIVISTELMÄ ABSTRACT 1 JOHDANTO 1 2 PERINTEISET WEB-SOVELLUKSET 2 2.1 Web-sovellus 2 2.1.1 Sovellustekniikat 3 2.1.2 Toiminta 5 2.2 Web-sovellusten edut ja heikkoudet 6 3 RIKKAAT INTERNET-SOVELLUKSET 7 3.1 Sovellusten rakenne 8 3.1.1 Käyttöliittymä 8 3.1.2 Asynkroninen tiedonsiirto 8 3.1.3 Sovellustyypit 9 3.2 Sovelluksen vaatimukset 11 4 ADOBE AIR 12 4.1 Mikä on Adobe Air? 12 4.1.1 Ajoympäristön komponentit 13 4.1.2 Ajoympäristön rajapinnat 14 4.1.3 Air-sovellustekniikat 16 4.1.4 Sovellustekniikan valinta 17 4.1.5 Air-sovelluksen kuvaustiedosto 19 4.2 Tietoturva 23 4.2.1 Tietoturvamalli 23 4.2.2 Sovelluksen allekirjoittaminen 25 4.2.3 Asennus ja päivitys 25 4.3 Adobe Airin edut ja heikkoudet 26 4.4 Internet-selain vai työpöytä 27 4.5 Kilpailevat tekniikat 29 5 ADOBE AIR: ASENNUS, KÄYTTÖÖNOTTO JA KEHITYSTYÖKALUT 32 5.1 Asennus 32 5.1.1 Ajoympäristön asennus 32 5.1.2 SDK:n asennus ja käyttöönotto 33 5.2 Kehitystyökalut 33 5.2.1 Komentorivityökalut 34 5.2.2 Sovelluskehittimet 35 5.2.3 Testaustyökalut 38 6 ADOBE AIR -SOVELLUS AJAX-TEKNIIKALLA 39 6.1 Sovelluksen esittely 39 6.1.1 Rakenne 40 6.1.2 Käyttöliittymä 46 6.1.3 Toiminta 47 6.2 Air-toiminnot 48 6.2.1 Tietoturva 48 6.2.2 Tiedostojen käsittely 50 6.2.3 Verkkoyhteydet 51 6.2.4 Sovelluksentilan tarkkailu 53 6.3 Ajax-toiminnot 54 6.3.1 Tapahtumankäsittely 54 6.3.2 Palvelinkommunikointi 55 6.3.3 Käyttöliittymän dynaaminen muokkaus 57 6.3.4 Visuaaliset tehosteet 59 6.4 Kokemukset Adobe Air -sovelluksesta Ajax-tekniikalla 60 7 YHTEENVETO 61 VIITELUETTELO 62 LIITTEET Liite 1. Application.xml Liite 2. Root.html Liite 3. Root.js Liite 4. Ui.html Liite 5. Ui.js Liite 6. Ajax.js Liite 7. Dialog.js 1 1 JOHDANTO Internet on mullistanut tiedonvälitystä ja ihmisten toimintatapoja. Internet on tarjolla työpaikalla, kaupungilla, kotona, ja yhä useammin se kulkee ihmisten mukana kaikkialle. Internet ja etenkin WWW ovat luoneet lähes rajattomat mahdollisuudet kehittää uusia palveluita ja liikeideoita. Lähihistoriaan liittyy monia esimerkkejä siitä, kuinka lähes tyhjästä kehitetyt ideat ovat johtaneet lähes sadun kaltaisiin menestystarinoihin. Kuka muistaa vielä ajan ilman uu- tispalveluita, verkkokauppoja tai verkkopankkeja? Kehityksen myötä staatti- set WWW-dokumentit ovat muuttuneet dynaamisiksi, joiden sisältöä perso- noidaan käyttäjästä riippuen. Nykyisin monen verkkopalvelun sisältö on täy- sin käyttäjien itsensä luomaa ja ylläpitämää. Kehitys ei ole jäänyt vain viih- depalveluiden käyttöön. Useat työelämän sovellukset ovat siirtyneet Interne- tiin. Uudet tekniset innovaatiot ovat mahdollistaneet interaktiiviset ja entistä näyttävämmät sovellukset. Kehitys ensimmäisestä sovelluksesta rikkaisiin Internet-sovelluksiin on ollut nopeaa. Uusia ja entistä parempia tekniikoita julkaistaan lähes viikoittain ja vielä eilen alan paras tekniikka on tänään aut- tamattomasti vanhaa. Insinöörityössäni esittelen Adobe Airin, joka on yksi uusimmista ja paljon en- nakkokohua herättäneistä tekniikoista. Se yhdistää web-sovelluksen ja työ- pöytäsovelluksen ominaisuuksia uudella mielenkiintoisella tavalla. Työn ta- voitteena on tutkia Air-tekniikan taustoja ja sen tarjoamia mahdollisuuksia. Lisäksi työn tavoitteena on toteuttaa toimiva Air-sovellus, jossa hyödynne- tään kirjallisessa tarkastelussa opittuja asioita. Ennen varsinaiseen aihee- seen syventymistä kerrataan kuitenkin lyhyesti web-sovellusten kehittymi- nen rikkaiksi Internet-sovelluksiksi. Lopuksi tehdään yhteenveto työn tulok- sista. 2 2 PERINTEISET WEB-SOVELLUKSET Alunperin WWW-dokumentit tarkoitettiin tutkijoiden tiedonvälityskanavaksi, jossa tutkimustietoa voitiin välittää tehokkaasti ja nopeasti tekstipohjaisena. Dokumenttien välille luodaan hyperlinkkejä, joiden avulla voidaan siirtyä hel- posti dokumenttista toiseen. Alkuperäiseen tarkoitukseen se olikin lähes täy- dellinen informaation jakelukanava. Vasta ensimmäisen graafisen Mosaic- selaimen jälkeen, vuonna 1993, WWW:n suosio tiedeyhteisön ulkopuolella alkoi lisääntyä. [1.] Nopeasti lisääntynyt suosio ja uudet graafiset Internet-selaimet, kuten Nets- cape Navigator ja Internet Explorer nopeuttivat WWW:n kehitystä. Ihmiset halusivat lisätä sivuille tekstin lisäksi kuvia ja multimediaa. Pian WWW:tä alettiin pohtia ohjelmistorajapintana. Visiona oli ns. webtop, jossa tietoko- neissa aiemmin toimineet työpöytäsovellukset siirrettäisiin suoritettavaksi In- ternet-selaimeen ja käsiteltävä tieto voitaisiin tallentaa esimerkiksi Internet- palvelimelle. Kehityksen esteenä olivat kuitenkin hitaat ja kalliit tietoliiken- neyhteydet, sekä laitteistojen ja etenkin tallennustilan kalleus. Käytössä ol- leiden tekniikoiden yhteensopivuusongelmat rajoittivat kehitystä omalta osal- taan. [1, s. 37.] 2.1 Web-sovellus Yleisesti web-sovelluksella tarkoitetaan WWW:n päällä toimivaa sovellusta, jossa Internet-selaimessa suoritettava web-sovellus ja web-palvelin toimivat yhteistyössä toteuttaen erilaisia tehtäviä ja toimintoja. Web-sovelluksen käyt- töliittymä toteutetaan HTML-dokumenttina web-selaimessa ja sovelluksen liiketoimintalogiikka web-palvelimella. Tietovarastona käytetään pääasiassa tietokantoja. Nykyisin web-sovellukset ovat tärkeä osa yritysten tietojärjes- telmiä. Web-sovellukset ovat voimakkaassa kasvussa erityisesti kaupanalan, pankki- ja pörssipalveluiden ja julkisen hallinnon palveluissa. [3.] 3 2.1.1 Sovellustekniikat Web-sovellus toteutetaan yleensä eri tekniikoiden yhdistelmänä. Tekniikoi- den tuntemus ja käyttö on yleistynyt siinä määrin, että niitä voidaan yleisesti kutsua web-sovellustekniikoiksi. Tarkemmassa tarkastelussa tekniikat voi- daan jakaa karkeasti kahteen ryhmään: Internet-selaimessa toimivan käyttö- liittymän toteuttamiseen tarkoitetut tekniikat sekä palvelintekniikat. HTML-kieli HTML-kieli on WWW-dokumenttien julkaisuun tarkoitettu merkintäkieli. HTML-kielellä määritetään WWW-dokumenttin rakenne ja sisältö. Doku- mentti voi koostua erilaisista teksti-, lomake-, taulukko- ja kuva-elementeistä. Nykyisin on yleistynyt XML-kieleen perustuva XHTML-merkintäkieli,