LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS Ti5004000 - Kandidaatintyö ja seminaari Alkuraportti Avoimen lähdekoodin käyttö WWW-sovelluspalvelujen toteutuksessa Lappeenranta, 4.6.2007, 2007 Jukka Lankinen 0258961 Alkuraportin hyväksynyt
Sisältö 1 JOHDANTO 1 2 TYÖN TAUSTAT 2 3 TYÖN TAVOITTEET JA MENETELMÄT 3 4 AIKATAULU 4 LÄHTEET 4 2
1 JOHDANTO Työn aihe on avoimen lähdekoodin käyttö WWW-sovelluspalveluiden toteutuksessa. Aihepiiri käsitelee kohtuullisen uutta Web Services -käsitettä. Web Service tai WWW-sovelluspalvelu on jollain ohjelmointikielellä ja sovellusrajapinnalla (framework) toteutettu palvelu, joka keskustelee muiden tietokoneiden ja palvelujen kanssa alustariippumattomilla XMLviesteillä. Yksi hyvin yksinkertainen WWW-sovelluspalvelu voisi olla kahden luvun yhteenlasku, jossa palvelulle lähetetään XML-muodossa kaksi lukua ja palvelu palauttaa XML-muotoisena näiden kahden yhteenlasketun arvon. Yleensä tällaisen palvelun tekeminen vaatii sovellusrajapinnan, millä palvelu toteutetaan, sovelluskehittimen ja palvelimen. Sovellusrajapintoja on olemassa hyvin monia erilaisia ja monilla erilaisilla lisensseillä, joista useimmat tukevat avointa lähdekoodia. Nämä rajapinnat on toteutettu monilla eri ohjelmointikielillä ja niissä on jonkinverran myös eroa. Erot pääosin syntyvät ohjelmointikielten tuomien etuuksien mukaan, mutta jokaisella rajapinnalla on myös omat erikoispiirteensä. Rajapinnoilla on tukia eri tekniikoille ja standardeille. Lisäksi rajapintojen kanssa työskennellessä on eräänlainen mukavuus ja yhdenmukaisuus tärkeää. Suorituskyky on myös tärkeä tekijä, kun kyseessä on massiivisesti käytössä olevista palveluista. Palveluiden toteuttamiseen on olemassa erilaisia sovelluskehittimiä. Kuka tahansa voi ohjelmoida WWW-sovelluspalvelun käyttäen yksinkertaista tekstieditoria, mutta on myös olemassa laaja skaala erilaisia palveluiden toteuttamista helpottavia sovelluksia. Palvelimilta vaaditaan kyky ajaa servlettejä, joihin WWW-sovelluspalvelut perustuvat. Tätä ominaisuutta ei löydy jokaisesta HTTP-palvelimesta ja toisinaan tarvitaan erillinen servlettejä tukeva palvelin. On siis selvää, että vaihtoehtoja on hyvin paljon ja monille aloitteleville palveluiden toteuttajille onkin vaikeaa löytää itselleen sopivaa työkalua, millä toteuttaa palvelunsa. Tässä työssä keskityn avoimen lähdekoodin toteutuksiin ja punnitsen eri sovelluskehittimien tehokkuutta WWW-sovelluspalveluiden toteuttamisessa. Aion rajata työni käsittelemään muutamia käytetyimpia työkaluja, kunhan WWW-sovelluspalveluiden perusasiat ovat selvillä. Tämän työn tavoitteena onkin selvittää, mitkä näistä toteutuksista sopivat milloinkin mihinkin tarkoitukseen parhaiten. Työlle on tehty alustava sisällysluettelo, joka on löydettävissä työn verkkosivuilta /citewebsite. Lisäksi tämä sivusto sisältää viimeisimmät tiedot työn etenemisestä. 1
2 TYÖN TAUSTAT WWW-sovelluspalvelut kehittyvät kaiken aikaa ja uusia standardeja sekä määrityksiä tehdään. Standardit ja määritykset ovat vapaasti kaikkien luettavissa verkossa. WWWsovelluspalveluista on tehty suuria määriä kirjoja ja erilaisia toteutusalustoja on useita. Tämän työn on mahdoton kattaa kaikkia avoimen lähdekoodin projekteja. Lisäksi virallisia vertailuja ja suorituskykymittauksia eri sovellusrajapinnoille on vähän niiden kehittyvän luonteen takia. Lähdekirjallisuuden vähyys ei kuitenkaan estä työn tekemistä. Internistä löytyy muutamia harrastelijoiden tekemiä vertailuja, mutta niitä ei voida käyttää lähdemateriaalina työn teossa. Projektien kotisivut ja dokumentaatiot käyvät lähdemateriaalin hakemisessa, koska muita tieteellisiä lähteitä ei ole tarjolla. 2
3 TYÖN TAVOITTEET JA MENETELMÄT Työssä on tavoitteena syvällisesti paneutua WWW-sovelluspalveluiden rakenteeseen ja niihin liittyviin standardeihin sekä tekniikoihin. Selvitän, että millaisista osista WWWsovelluspalvelut koostuvat ja miten yksinkertaisen palvelun voi tehdä sekä mitä se vaatii. Pohjatiedon selvityksen jälkeen käydään läpi työhön valitut avoimen lähdekoodin projektit ja paneudutaan niiden ominaisuuksiin. Tässä vaiheessa tarkkojen projektien määrittäminen on hankalaa, koska tekniikanalueeseen en ole vielä perehtynyt tarkemmin. Tällä hetkellä WWW-sovelluspalveluihin liittyyn hyvin monia eri tekniikoita ja standardeja, joita kaikkia ei ole toteutettu kaikissa sovellusrajapinnoissa. Tätä varten täytyy selvittää, mikä sovellusrajapinta tukee mitäkin standardeja ja määrityksiä. Työn pitäisi helpottaa oikean WWW-sovelluspalveluratkaisun valinnassa ja valaista avoimen lähdekoodin projektien teknisiä eroja. 3
4 AIKATAULU Aikataulu on löydettävissä myös työn kotisivuilta [3]. P ivmr Kuvaus 4.6.2007 Aloitetaan työ. Kerätään lähdekirjallisuutta ja tutustutaan tarkemmin WWW-sovelluspalveluihin ja mahdollisiin sovelluskehyksiin/työkaluihin. Päämääränä myös tutustua tarkemmin sovelluskehyksiin ja rakentaa yksinkertainen WWW-sovelluspalvelu. Rajataan aihetta ja tehdään alkuraportti. 8.6.2007 Seminaareissa käynti. Alkuseminaarin pitäminen. 27.6.2007 Välitarkastus. Onko pohjatieto oikeellista ja hyvin jäsenneltyä? 28.6.2007 Toteutetaan loput palvelut ja tehdään vertailu. Miten eroavat toisistaan? Mitä tekniikoita on käytössä? Millä työkaluilla kehitys ollut nopeinta? Miksi? 2.8.2007- Esitarkastus. Haetaan virheet ja korjataan. 8.8.2007- Lopullinen versio. Joustoa mahdollisille työn korjauksille. 13.8.2007 Loppuraportin palauttaminen ja seminaarin pitäminen. Taulukko 1: Aikataulu 4
LÄHTEET [1] Ethan Cerami. Web Services Essentials. O Reilly. Sebastopol, Canada. 2002. ISBN: 0-596-00224-6 [2] James Snell. Programming Web Services with SOAP. O Reilly. Sebastopol, Canada. 2002. ISBN: 0-596-00095-2 [3] Jukka Lankinen. Työn verkkosivut. http://jumi.lut.fi/~julankin/kurssit/kand Viitattu 5.6.2007. 5