Avointen ohjelmistojen käyttö ohjelmistokehityksessä



Samankaltaiset tiedostot
Scrumin käyttö ketterässä sovelluskehityksessä

Työkalut ohjelmistokehityksen tukena

Avoimen lähdekoodin kehitysmallit

Ohjelmien lisensoinnista


Oikeusministeriön OpenOffice.org -käyttöönotto. Esityksen sisältö. Avoin lähdekoodi

XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy

Sisällönkuvaukset Projektinhallinta 3 op. Sisältö. 2. Palvelinalustat 3 op

.NET 2006 ja sen jälkeen

Ohjelmistoprojekti projektipäällikön näkökulmasta

Open Source -ohjelmien perusteet

Ansioluettelo, Rauno Inkinen IT-asiantuntija. Esittely. Hei,

Ohjelmistolisenssit ja IPR

Innovointiprosessi. Lili Aunimo Lili Aunimo

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS CT10A Kandidaatintyö ja seminaari

Osio 4: Tietovirrat. Properties- eli ominaisuustiedostot Logger: lokitietojen käsittely

Historiaa. Unix kirjoitettiin kokonaan uudestaan C-kielellä Unix jakautui myöhemmin System V ja BSDnimisiin. Kuutti, Rantala: Linux

DESCA-sopimuksen ohjelmistomoduuli ja avoimen lähdekoodin ohjelmistot

Team Tubeless TESTIRAPORTTI 1/5 OPEN SOURCE LICENSE CHECKER DRUNKIT. Tässä raportissa kerrotaan vertaistestin tulokset DrunkIT-ryhmälle.

Tuottavuutta sovelluskehitykseen Oraclen työkaluilla: JDeveloper 10g ja HTML DB OUGF Syysseminaari

Web-sisällönhallintajärjestelmät. Sisältö. Mitä on web-sisällönhallinta?

Web-sisällönhallintajärjestelmät

Malliperustainen ohjelmistokehitys - MDE Pasi Lehtimäki

Tapahtuipa Testaajalle...

Lakki. Lisää ot sik k o osoit t am alla. Nöyrästi vain lakki kourassa... Jussi Vänskä Espotel Oy. vierailuluentosarja OTM kurssi 2010

CSC:n Open Source -toiminta. Yliopistojen IT-päivät Ville Savolainen CSC Tieteen tietotekniikan keskus

Avoin lähdekoodi hankinnoissa Juha Yrjölä

Avoin lähdekoodi (Open Source) liiketoiminnassa

Lähetysohjain. Pääkäyttäjän opas

Helia Ohjelmointitaito Tuomas Kaipainen Mermit Business Applications Oy Mermit Business Applications

Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista

Kieliversiointityökalu Java-ohjelmistoon. Ohje

Projektityö

Olet vastuussa osaamisestasi

TkK-tutkielmat

Sovellustietoturvallisuus Petteri Arola OWASP Chapter Leader Nixu Oy OWASP The OWASP Foundation

Digi-tv vastaanottimella toteutettavat interaktiiviset sovellukset Selvitys GPL-lisensoinnin tuomat ongelmat

Konesali ilman rajoja Kongressi A

Ympäristöarvioinnin työkalut metsästä loppukäyttäjille (PEnA)

Älykkäämpi päätelaitteiden hallinta Juha Tujula, CTO, Enfo Oyj IBM Corporation

Avoin lähdekoodi Mikko Välimäki

Avoimen datan liiketoimintamallit. Matti Rossi, Aalto University School of Business

Arkkitehtuuritietoisku. eli mitä aina olet halunnut tietää arkkitehtuureista, muttet ole uskaltanut kysyä

ISACA Finland OWASP The OWASP Foundation. Timo Meriläinen Antti Laulajainen.

Globaalisti Hajautettu Ohjelmistokehitys Mitä, Miksi & Miten? Maria Paasivaara

Menetelmäraportti - Konfiguraationhallinta

Open source uusia mahdollisuuksia operaattoreille

1 TILATAR. 1.1 Yleistä. 1.2 Projektiorganisaatio

Vapaa ohjelmistokehitys, Osa I

Testaus Korppi-kehityksessä. Panu Suominen THK / JYU

Kokemuksia ohjelmistokehityksestä. Kai Kulju & Heikki Naski

Ohjelmiston lisensoinnin avoimet vaihtoehdot

Ohjelmistoprosessit ja ohjelmistojen laatu Ohjelmistoprosessit ja ohjelmistojen laatu (4op)

Android ohjelmointi. Mobiiliohjelmointi 2-3T5245

Ohjelmistoteknologioiden koulutus: Web-sovelluskehitys, Java Server. Infotilaisuus klo 10:00

Opetushallitus. ServiceMix POC

Pedacode Pikaopas. Web Service asiakasohjelman luominen

Pedacode Pikaopas. Web-sovelluksen luominen

API:Hack Tournee 2014

KYMENLAAKSON AMMATTIKORKEAKOULU

Oulu D.C. kapasiteettipalveluita oululaiseen ekosysteemiin

Arkkitehtuuri. Ylätason sovellusarkkitehtuuri

AVOIN KOODI YRITTÄJYYDEN LÄHTÖKOHTANA

CT50A2601 Käyttöjärjestelmät Androidin ja Symbianin vertailu Seminaarityö

Älykkään joukkoliikenteen palveluiden kehitys ja testaus

CSE-C2610 Software Project I ja Accenture Luento

Avoimet ohjelmistokehykset

T Projektikatselmus

Järjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri. Järjestelmäarkkitehtuuri

Avoimen lisenssin valinta julkiselle kehitykselle ja hallinnalle

Oha-selvitys 2008 HISinOne-järjestelmän arviointi

Teollisuuden näkökulma avoimen lähdekoodin ohjelmistoihin

Ohjelmistoarkkitehtuurit Kevät 2016 Johdantoa

IBM IT Education Services - DB2 YTR - sertifioinnit

Juha Peltomäki JAMK/Teknologia

Millainen osaaminen saa uudet yritykset siirtymään Tampereelle?

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen

Järjestelmäarkkitehtuuri (TK081702) Lähtökohta. Integroinnin tavoitteet

TIE Ohjelmistojen suunnittelu

Newsletter Manager Extensions - Loppuraportin tiivistelmä

VAATIMUSMÄÄRITTELY. Polku Versio 1.2. Projektiryhmä

13/20: Kierrätys kannattaa koodaamisessakin

Testidatan generointi

Laskennallisen fysiikan esimerkkejä avoimesta tutkimuksesta Esa Räsänen Fysiikan laitos, Tampereen teknillinen yliopisto

Onnistunut ohjelmistoprojekti

Ohjelmistojen mallintaminen. Luento 11, 7.12.

Skannaaminen RightFaxiin. Pääkäyttäjän opas

Avoimen lähdekoodin lisensointi. Mikko Välimäki

T Projektikatselmus

Projektisuunnitelma. Asdf. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Linux. 00 Keskeiset piirteet. Unix ja Linux Helsingin ammattikorkeakoulu Stadia Vesa Ollikainen (muokannut M.Mäki-Uuro) Kysymyksiä

Tech Conference Visual Studio 2015, C#6,.NET4.6. Heikki Raatikainen. #TechConfFI

VYPEdit verkkosivualusta SVY-toimijoille

Kuntokirjuri. Ohjelmistokuvaus. Miika Alonen. Jarkko Laine. Jesse Honkanen. Veli Matti Huovinen. Jani Jäntti. Versio

CALL TO ACTION! Jos aamiaistilaisuudessa esillä olleet aiheet kiinnostavat syvemminkin niin klikkaa alta lisää ja pyydä käymään!

Hintatiedotus ja tietojen välitys. Loppuraportti

MySQL ja PostgreSQL Seminaarityö

JReleaser Yksikkötestaus ja JUnit. Mikko Mäkelä

Lyhyt johdatus ketterään testaukseen

Transkriptio:

Avointen ohjelmistojen käyttö ohjelmistokehityksessä 9.4.2008 Janne Kuha Manager, Java Services Descom Oy Janne Kuha Manager, Java Services janne.kuha@descom.fi Kuka? Descom Oy:llä, sitä ennen Wanadu Inc., Mountain View, CA, US 1

Descom? Liiketoiminta aluuet Lotus Notes/Domino Java/Java EE Portlet/Portal development Support Services Toimittanut yli 250 sovellusta, joilla yli 600 000 käyttäjää kuudella mantereella. Perustettu 1997 2006 liikevaihto n. 5.5M Noin 50 työntekijää IBM Premier Business Partner Viimeaikoina Vuoden 2006 IBM ohjelmistokumppani Jyväskylän vuoden yrittäjä 2007 Avointen ohjelmistojen käyttö ohjelmistokehityksessä 9.4.2008 Janne Kuha Manager, Java Services Descom Oy 2

Sisältö Tarkoituksena käydä läpi avointen ohjelmistojen käyttöä sovelluskehityksessä JAVA EE ympäristössä Open Source Software Yleistä Haasteet Käyttökohteet Suunnittelu ja projektinhallinta Kehittäminen työvälineet Kehittäminen lähdekoodi Testaaminen Tuotantoonvienti ja paketointi Tuotantoympäristö Lisenssit Kirja Open Source Software Open source software is computer software for which the humanreadable source code is made available under a copyright license (or arrangement such as the public domain) that meets the Open Source Definition. This permits users to use, change, and improve the software, and to redistribute it in modified or unmodified form. It is often developed in a public, collaborative manner. Open source software is the most prominent example of open source development and often compared to user generated content. Lähde: http://en.wikipedia.org/wiki/open_source_software 3

Yleistä Java ympäristössä on jo pitkään ollut saatavilla paljon avoimeen lähdekoodiin perustuvia työkaluja, sovelluskehyksiä, palvelimia, tms. Java ympäristössä on todella elinvoimainen opensource kulttuuri. Java sovelluskehitystyössä usein avoimen lähdekoodin sovelluskehyksien tai työkalujen käyttäminen tuo kilpailuetua yritykselle. Kaikkea ei tarvitse rakentaa itse, vaan voi käyttää apuna avoimen lähdekoodin ratkaisuja. Mahdollisesti myös voi antaa takaisin avoimen lähdekoodin yhteisölle koodin tai muun avun myötä. Käyttökohteet Ohjelmistokehityksen perusteemat suunnittelu ja projektinhallinta kehittäminen työvälineet kehittäminen lähdekoodi testaaminen tuotantoonvienti ja paketointi tuotantoympäristö Jokaiseen näistä osa alueista on saatavilla sekä kaupallisia että avoimeen lähdekoodiin perustuvia ratkaisuja. Tuotantoonvienti Tuotantoympäristö Testaaminen Suunnittelu Kehittäminen 4

Haasteita Avoimen lähdekoodin ohjelmistoissa ei välttämättä laatutakeita. Tuki, jos sitä tarvitaan, voi olla haasteellista varmistaa. Tosin yleensä avoimen lähdekoodin projekteissa on kanava palautetta varten ja avun pyytämistä varten. Yleensä kuitenkin korjaukset ja uudet julkaisut tulevat nopeammin kuin suljetun lähdekoodin tuotteissa. Lisenssien i kanssa täytyy t olla tarkkana. Suunnittelu Yleensä riippuen kehitystiimin tarpeista liittyen prosesseihin esimerkiksi tuki Scrum prosessille. sovellussuunnitteluun esimerkiksi sovelluksien ruutujen suunnittelu. dokumentointiin esimerkiksi Open Office projektinhallintaan esimerkiksi trac 5

Kehittäminen työvälineet Suosituimmat kehitysympäristöt Eclipse (takana IBM) NetBeans (takana Sun) Sekalaisia pienempiä editoreita (JEdit, tms.) Lähdekoodivarastot Subversion (SVN) Concurrent Versions System (CVS) Molemmilla työkaluilla vahva tuki ja käyttäjäkunta Esimerkiksi IBM:n Rational työkalut käyttävät Eclipseä pohjalla. Kehittäminen lähdekoodi Java ympäristössä saatavilla todella paljon sovelluskehyksiä Mielenkiintoisimpia kehyksiä olio relaatio hallinta Hibernate, Ibatis, Apache OpenJPA sovellusrakenne Spring Framework web sovellukset Seam, Wicket, Spring Web MVC apukirjastot lokiinkirjoitus hallinnointi välimuistin käyttö graafit profilointi tms. 6

Testaaminen Yksikkö ja integraatiotestaus JUnit TestNG Koodianalysointi PMD FindBugs Koodikattavuus Cobertura Grobo Tuotantoonvienti ja paketointi Sovelluksen rakentaminen Ant Maven Sovelluksien automaattinen integraatiotestaus Continuum Cruise Control 7

Sovellusten tuotantoympäristö Sovelluspalvelimet web palvelimet Apache, tms. Java EE web palvelimet Tomcat, Jetty, Resin, tms. Java EE palvelimet JBoss, Geronimo, Glassfish, tms. Tietokannat Postgres, MySql, tms. Derby, HSQLDB, tms. Integraatiot JBossMQ, JOTM, tms. Lisenssit huomautuksia Yleisimmät lisenssointimallit Apache Software License 2.0 BSD License GNU General Public License (GPL) GNU Lesser General Public License (LGPL) Yleiset muut lisenssointimallit ISC license MIT License Mozilla Public License (MPL) 1.1 Common Development and Distribution License Common Public License 1.0 Eclipse Public License 8

Kirja tulossa ;) Tehokas Java EE sovellustuotanto sovelluskehykset, kehitysmallit ja agileperiaatteet. Teos on suunnattu sovelluskehittäjille, jotka hallitsevat Java kielen perusteet ja joilla on halu siirtyä seuraavalle tasolle. Teos pohjautuu ketteriin (Agile) periaatteisiin ja sovelluskehyksiin, joiden avulla Java EE sovelluksia voidaan rakentaa ammattimaisemmin. Tietokantojen tehokas käsittely (mm. Hibernate ja Java Persistence API) Sovelluslogiikan rakentaminen (mm. Spring Framework Web palveluiden rakentaminen (mm. Wicket) Testaus (JUnit) Tärkeät kehitystyökalut (Maven, Eclipse ja Subversion) Docendo / WsoyPRO 9