Apache Maven -migraatio
Kirjavainen, Kai (2013)
Kirjavainen, Kai
HAAGA-HELIA ammattikorkeakoulu
2013
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2013120219274
https://urn.fi/URN:NBN:fi:amk-2013120219274
Tiivistelmä
Tämän opinnäytetyön tavoitteena oli selvittää, kuinka Apache Maven -koontityökalu voidaan ottaa käyttöön osaksi ProCountor International Oy:n sovelluskehitystä. Työn lähtökohtana oli selvittää nykyisen työkalun, Apache Antin, toiminnallisuus ja käytössä oleva konfiguraatio. Koska tarkoituksena ei ollut tehdä suuria muutoksia yrityksessä käytössä oleviin prosesseihin, oli työn kannalta tärkeää ymmärtää lähtötilanne, josta Mavenin käyttöönotto alkoi.
Työn sisältö rajattiin käsittämään pelkästään Mavenin käyttöönottoon ja siihen liittyviin valmisteluihin. Maven mahdollistaa apuohjelmien kautta helposti mm. jatkuvan integ-raation (CI) ja automatisoidun yksikkötestauksen. Näiden käyttöönotto päätettiin kui-tenkin jättää tämän työn ulkopuolelle, jotta kokonaisuus ei kasvaisi liian isoksi. Maveniin on myös mahdollista yhdistää palvelinohjelmisto, jolla yrityksen sisäisten Java-kirjastojen hallinta, päivitys ja jakelu yksinkertaistuu. Palvelimen asennus sisällytettiin projektiin, koska sen käyttöönotto oli yksinkertaista ja saadut lisähyödyt ilmeisiä.
Työn toteutukseen käytettiin yrityksen ohjelmistokehitysympäristöä, jonka tärkeimmät osat tämän projektin kannalta olivat ohjelmointiympäristö Eclipse, koontityökalu Ant ja SVN-versionhallinta. Apache Mavenista käyttöönottoa varten valittiin uusin versio 3, koska uuden työkalun käyttöönotossa on perusteltua valita versio, joka ei ole vanhen-tunut jo käyttöönottovaiheessa.
Käyttöönottoprojektin eteneminen eteni pääpiirteittäin tutustumalla nykytilanteeseen, eli käytössä olevaan Ant-työkaluun ja sen eri ominaisuuksiin sekä konventioihin. Tämän jälkeen hankittiin käsitys uuden- ja vanhan työkalun eroista ja yhtäläisyyksistä, jotta toteutukseen vaadittavista toimenpiteistä saataisiin selkeä käsitys. Seuraavaksi tehtiin varsinainen toteutus, jonka aikana ProCountor -ohjelmiston projektirakenne sovitettiin Mavenille sopivaksi. Lopuksi käyttöönotto ohjelmointiympäristössä dokumentoitiin, jotta siirtymä olisi koko kehitystiimin osalta mahdollisimman suoraviivaista.
Työn tuloksena oli selvitys siitä, mitä vaatimuksia edellä kuvattu siirtymä asettaa yrityksen ohjelmistokehitysprosesseille ja lisäksi toimiva produkti, joka voitiin luovuttaa yrityksen käyttöön.
Työn sisältö rajattiin käsittämään pelkästään Mavenin käyttöönottoon ja siihen liittyviin valmisteluihin. Maven mahdollistaa apuohjelmien kautta helposti mm. jatkuvan integ-raation (CI) ja automatisoidun yksikkötestauksen. Näiden käyttöönotto päätettiin kui-tenkin jättää tämän työn ulkopuolelle, jotta kokonaisuus ei kasvaisi liian isoksi. Maveniin on myös mahdollista yhdistää palvelinohjelmisto, jolla yrityksen sisäisten Java-kirjastojen hallinta, päivitys ja jakelu yksinkertaistuu. Palvelimen asennus sisällytettiin projektiin, koska sen käyttöönotto oli yksinkertaista ja saadut lisähyödyt ilmeisiä.
Työn toteutukseen käytettiin yrityksen ohjelmistokehitysympäristöä, jonka tärkeimmät osat tämän projektin kannalta olivat ohjelmointiympäristö Eclipse, koontityökalu Ant ja SVN-versionhallinta. Apache Mavenista käyttöönottoa varten valittiin uusin versio 3, koska uuden työkalun käyttöönotossa on perusteltua valita versio, joka ei ole vanhen-tunut jo käyttöönottovaiheessa.
Käyttöönottoprojektin eteneminen eteni pääpiirteittäin tutustumalla nykytilanteeseen, eli käytössä olevaan Ant-työkaluun ja sen eri ominaisuuksiin sekä konventioihin. Tämän jälkeen hankittiin käsitys uuden- ja vanhan työkalun eroista ja yhtäläisyyksistä, jotta toteutukseen vaadittavista toimenpiteistä saataisiin selkeä käsitys. Seuraavaksi tehtiin varsinainen toteutus, jonka aikana ProCountor -ohjelmiston projektirakenne sovitettiin Mavenille sopivaksi. Lopuksi käyttöönotto ohjelmointiympäristössä dokumentoitiin, jotta siirtymä olisi koko kehitystiimin osalta mahdollisimman suoraviivaista.
Työn tuloksena oli selvitys siitä, mitä vaatimuksia edellä kuvattu siirtymä asettaa yrityksen ohjelmistokehitysprosesseille ja lisäksi toimiva produkti, joka voitiin luovuttaa yrityksen käyttöön.