Natiivin lähdekoodin uudelleenkäytettävyys Eclipse-ympäristössä JNI-rajapinnan avulla
Tolonen, Petri (2008)
Tolonen, Petri
Metropolia Ammattikorkeakoulu
2008
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-200811194083
https://urn.fi/URN:NBN:fi:amk-200811194083
Tiivistelmä
Työssä pyrittiin pääasiassa keräämään kokemuksia Javan JNI-rajapinnasta ja selvittämään mahdollisuuksia natiivin ohjelmakoodin uudelleenkäytettävyydestä Eclipse-ympäristöön siirryttäessä. Työn tarkoituksena oli tutkia ongelmaa teknisen toteutuksen näkökulmasta valitun teknologian avulla ilman vertailua muihin mahdollisiin vaihtoehtoihin.
Koska työn tarkoituksen oli kerätä käytännön kokemusta aiheesta, aihetta lähestyttiin toteuttamalla JNI-rajapintaa hyödyntävä ohjelma, jonka avulla voitiin nähdä, mitä rajapinnan käyttöönotto vaatisi ja mitä ongelmia se mahdollisesti toisi mukanaan. Ohjelmaa varten toteutettiin natiivi kirjasto, joka sisälsi erilaisia toimintoja. Osa toiminnoista oli pidempikestoisia, joten näitä varten tulisi tutkia myös natiivien toimintojen suorittamista asynkronisesti. Ohjelman käyttöliittymä toteutettiin Eclipse-ympäristössä käyttäen SWT-käyttöliittymäkirjastoa ja natiivin kirjaston toiminnallisuudet integroitiin käyttöliittymään käyttäen JNI-rajapintaa.
Suoritetussa tutkimuksessa kävi ilmi, että JNI-rajapinta on sen tarjoamien toiminnallisuuksien puolesta riittävän kattava tämän kaltaisten projektien toteuttamiseksi. Kyseessä on kuitenkin melko matalan tason rajapinta, jolloin sen käyttäminen suoraan on melko virhealtista ja tarpeettoman hankalaa. Tämä tulisi huomioida ennen rajapinnan laajamittaista käyttöönottoa.
Tämän projektin tuloksia voidaan hyödyntää siirrettäessä sovellusta natiivista ympäristöstä Eclipse-ympäristöön ja tutustuttaessa integraatiosta aiheutuviin ongelmakohtiin jo projektin alkuvaiheessa, jolloin sovelluksen arkkitehtuuri voidaan suunnitella siten, että rajapinnan aiheuttamat ongelmat saadaan minimoitua.
Koska työn tarkoituksen oli kerätä käytännön kokemusta aiheesta, aihetta lähestyttiin toteuttamalla JNI-rajapintaa hyödyntävä ohjelma, jonka avulla voitiin nähdä, mitä rajapinnan käyttöönotto vaatisi ja mitä ongelmia se mahdollisesti toisi mukanaan. Ohjelmaa varten toteutettiin natiivi kirjasto, joka sisälsi erilaisia toimintoja. Osa toiminnoista oli pidempikestoisia, joten näitä varten tulisi tutkia myös natiivien toimintojen suorittamista asynkronisesti. Ohjelman käyttöliittymä toteutettiin Eclipse-ympäristössä käyttäen SWT-käyttöliittymäkirjastoa ja natiivin kirjaston toiminnallisuudet integroitiin käyttöliittymään käyttäen JNI-rajapintaa.
Suoritetussa tutkimuksessa kävi ilmi, että JNI-rajapinta on sen tarjoamien toiminnallisuuksien puolesta riittävän kattava tämän kaltaisten projektien toteuttamiseksi. Kyseessä on kuitenkin melko matalan tason rajapinta, jolloin sen käyttäminen suoraan on melko virhealtista ja tarpeettoman hankalaa. Tämä tulisi huomioida ennen rajapinnan laajamittaista käyttöönottoa.
Tämän projektin tuloksia voidaan hyödyntää siirrettäessä sovellusta natiivista ympäristöstä Eclipse-ympäristöön ja tutustuttaessa integraatiosta aiheutuviin ongelmakohtiin jo projektin alkuvaiheessa, jolloin sovelluksen arkkitehtuuri voidaan suunnitella siten, että rajapinnan aiheuttamat ongelmat saadaan minimoitua.