Järjestelmäkehitys EJB komponenttien avulla

Koko: px
Aloita esitys sivulta:

Download "Järjestelmäkehitys EJB komponenttien avulla"

Transkriptio

1 Järjestelmäkehitys EJB komponenttien avulla Eeva-Liisa Lehto Helsinki Seminaariesitelmä Ohjelmistotuotantovälineet Tietojenkäsittelytieteen laitos Helsingin yliopisto

2 2 SISÄLTÖ: 1. Johdanto Sovelluskehitys käytettäessä Enterprise Java Beans (EJB) pohjaista komponenttikehystä EJB spesifikaation määrittelemät sovelluskehityksen ja käytön roolit EJB-palvelualusta (EJB Container) ja komponentit EJB implementointiesimerkki: EBO Java Maestro - Java Framework for EJB server BEA Weblogic Server Case: EU:n tukijärjestelmien toteutus Sovelluskehityskokemuksia Maestrolla Komponenttikirjaston tarve ja komponenttipohjaisten järjestelmien ylläpito Yleisiä johtopäätöksiä Lähteet...11

3 3 1. Johdanto Ohjelmistotekniikassa komponenttipohjaisuus on nostettu esiin 1970-luvulta lähtien. Toistaiseksi tulokset ovat olleet vaatimattomia. Ohjelmistoteollisuus ei ole kyennyt hyödyntämään komponenttipohjaisia ratkaisuja lähestulkoonkaan samassa lajuudessa kuin muut teollisuudenalat. Nyt kuitenkin ohjelmistoteollisuuden raju kasvu ja verkottuminen luo voimakkaita paineita ojelmistokomponenttien uudelleenkäyttöön ja erilaisiin komponentteja tukeviin standardeihin luvun loppupuolelta uudet teknologiat ovat parantaneet komponenttien käytön mahdollisuuksia. [Kos00]. Tässä esityksessä keskitytään esittelemään SUNin Enterprise JavaBeans (EJB) komponenttiteknologiaan perustuvaa mallia ja sen käytännön toteutusta EBO Java Maestrolla, joka on Entra Business Objects Oy:n kehittämä Enterprise JavaBeans sovelluskehys. Sovelluskehys käyttää esimerkkitapauksessa palvelimena Bea Weblogic sovelluspalvelinta. Tietokannan hallintajärjestelmänä on Oracle 8. Käyttöliittymän kehitystyö tehdään Oracle JDeveloper sovelluskehittimellä. 2. Sovelluskehitys käytettäessä Enterprise Java Beans (EJB) pohjaista komponenttikehystä 2.1 EJB EJB perustuu Broker eli välittäjä arkkitehtuurimalliin, joka on keskeinen malli hajautettujen järjestelmien yhteydessä. EJB on palvelinpohjainen komponenttimalli, joka on kehitetty uudelleenkäytettävien, hajautettujen komponenttien kehittämisen, jakelun ja hallinnan tarpeisiin. EJB tarjoaa kommunikaatioarkkitehtuurin sekä jakelu- ja suoritusympäristön, jonka toiminnallisuuden toteutuksesta sovelluskehittäjän ei tarvitse itse huolehtia. Esimerkiksi tietokantatransaktioita, kuormantasausta, virhetilanteista toipumista ja hajautettujen komponenttien alemman tason keskustelua ei tarvitse kerta toisensa jälkeen toteuttaa itse. Uudelleenkäyttöä helpottaa se, että liiketoimintalogiikka on erillään muusta toteutuksesta. EJB arkkitehtuuri perustuu palvelualustaan (container), joka toimii Javalla toteutettavien EJB-komponenttien ajoympäristönä ja tarjoaa näille hallinnollisia palveluja. Palvelualustaa ylläpitää middleware-ohjelmiston osa, jota kutsutaan EJB-palvelimeksi. EJB on SUN:n komponenttiarkkitehtuuri spesifikaatio, joka määrittelee beanien rakenteen, niiden palvelualustan rakenteen, jonka sisällä ne operoivat sekä interaktiometodit asiakasohjelmistojen kanssa. EJB standardoi Javalla rakennettujen palvelinkomponenttien kehityksen ja sidonnan (deployment).

4 4 EJB spesifikaatio määrittelee rajapinnat: - EJB:n ja sen palvelualustan (container) välillä - Palvelualustan ja sovelluspalvelimen välillä - Palvelualustan ja asiakasohjelmiston välillä Infrastruktuuripalvelut, sovelluspalvelimen implementaation ja asiakaspään implementaation toteuttaminen on jätetty kehittäjille. Beanit on jaettu kahteen tyyppiin: - Entity Beanit edustavat liiketoimintadataa - Session Beanit edustavat liiketoimintalogiikkaa 2.2 EJB spesifikaation määrittelemät sovelluskehityksen ja käytön roolit Enterprise JavaBeans arkkitehtuuri määrittelee kuusi erilaista sovelluskehityksen ja käytön (deployment) roolia. Kussakin roolissa voi olla eri toimija. Yksi toimija voi luonnollisesti toimia myös useassa roolissa [MaH99] Periaatteena on, että EJB arkkitehtuuri määrittelee rajapinnat eri roolien välille siten, että kukin EJB rooli on yhteensopiva toiseen rooliin perustuvan tuotteen kanssa. Spesifikaatiossa keskitytään niihin sopimuksiin, jotka ovat keskeisiä enterprise beanien kehitystyössä ja jakelussa. EJB-komponentin tuottaja (Enterprise Bean Provider) Bean provider on enterprise bean-komponenttien tuottaja. Tuotteena on jar-tiedosto, joka sisältää yhden tai useamman beanin. Tuottaja on tyypillisesti sovellusalueen asiantuntija, joka tuottaa uudelleenkäytettäviä beaneja, jotka toteuttavat tietyn sovellusalueen liiketoimintalogiikan tehtäviä. Beanien tuottajan ei tarvitse olla systeemitason ohjelmoinnin asiantuntija. Tämän roolin tuottaa EJB-alustan toimittaja (EJB Container Provider). Komponentin tuottaja liittää komponenttiin asennuskuvauksen, jossa kuvaa komponentin rakenteen ja ulkoiset riippuvuudet. Sovelluksen kokoaja (Application Assembler) Usein beanien tuottajalla on myös sovellus kokoonpanijan rooli. Sovelluksen kokoonpanija yhdistää enterprise beanit suuremmiksi asennuskelpoisiksi kokonaisuuksiksi. Kokoajalla on asiakkaan näkemys EJB-sovellukseen. Kokoaja tuntee komponenttien toiminnallisuuden EJB-rajapintojen kautta. Työn lopputulos on esimerkiksi uusi EJB-komponentti tai sovellus, appletti tai servletti. Kokoaja voi yhdistää EJB-komponentin myös muunlaisiin sovelluksen osiin kuten JSP-sivuihin (Java ServerPages). Tuotteena on jar-tiedosto, joka sisältää tarvittavat komponentit ja kokoonpano-ohjeen.

5 5 Käyttöönottaja (Deployer) Käyttöönottajan tehtävänä on asentaa em. tiedosto käyttöympäristöön, joka tarkoittaa EJB palvelinta ja EJB alustaa (Container). Käyttöönottoprosessi on tyypillisesti kaksiosainen: - käyttöönottaja generoi lisäluokat ja rajapinnat, jotka mahdollistavat alustalle enterprise beanien ajonaikaisen hallinnan. Nämä ovat alustaspesifejä. - käyttöönottaja tuottaa enterprise beanien käytännön installoinnin sekä lisäluokat ja rajapinnat alustaan. Asentaessaan komponentteja käyttöönottaja käyttää EJB-palvelualustan toimittajan työkaluja. EJB-palvelimen toimittaja (EJB Server Provider) Sovelluspalvelinohjelmiston tehtävänä on hallita käyttäjäistuntoja, jonottaa työasemilta tulevat palvelupyynnöt tietokantapalvelimelle, tasata palvelimen kuormaa, huolehtia käyttövaltuuksista, lokeista jne. EJB arkkitehtuuri olettaa, että palvelimen ja alustan tuottajan roolit ovat samassa tuotteessa, joten rajapintaa niiden välillä ei ole määritelty. Työnjako serverin ja alustan välillä on tästä syystä jätetty tuottajan huoleksi. Tyypillinen palvelintoimittaja on käyttöjärjestelmän, middleware-tason tai tietokantaohjelmiston toimittaja. EJB-alustan toimittaja (EJB Container Provider) Alustan tuottaja vastaa niistä jakeluvälineistä, jotka tarvitaan enterprise beanien julkaisussa. Niiden tehtävänä on antaa ajonaikainen tuki enterprise beanien instanssien käyttöön. Alustan tuottajan roolin ydin on tuottaa skaalautuva, turvallinen, transaktiot mahdollistava alusta, joka on integroitu sovelluspalvelimeen. Alustan tarjoaja tarjoaa yksinkertaisen API rajapinnan enterprise beanille, joka samalla on beanin sopimusrajapinta. Alustan mukana tulevat työkalut, joilla voidaan asentaa EJBkomponentteja alustaan sekä hallinnoida niitä. Järjestelmän hoitaja (System Administrator) Järjestelmän hoitaja on vastuussa yrityksen tietojenkäsittelyn ja verkkojen konfiguraatiosta ja hallinnasta mukaan lukien EJB palvelimen ja alustan. Administraattori vastaa myös käytössä olevien sovellusten ajonaikaisesta toimivuudesta.

6 6 2.3 EJB-palvelualusta (EJB Container) ja komponentit EJB-komponentit elävät ja toimivat EJB palvelualustan sisällä. Palvelualusta tarjoaa EJB komponenteille systeemitason palvelut. Komponenttien kehittäjät ja toteuttajat voivat keskittyä liiketoimintatason ongelmien ratkaisuun. Palvelualusta huolehtii: - EJB komponenttien rekisteröinnin nimipalveluun - EJB komponenttien luonnin ja tuhoamisen - EJB komponenttien elinkaaren hallinnan - Tietoturvapalvelut - Transaktioiden hallinnan - Tietokantayhteyksien säilyttämisen - EJB komponentin ja asiakkaan välisen matalan tason kommunikoinnin EJB komponentit Session bean komponentit Session bean komponentit esittävät toimintoja, jotka suoritetaan asiakasohjelman kutsusta. Ne toteuttavat liiketoimintalogiikkaa ja sääntöjä sekä työnkulkuja. Esimerkkinä tilauksen tekemislogiikka, hinnan laskeminen, pankkitapahtumien tekeminen. Asiakasohjelma luo Session bean komponentin ja sen elinkaari kestää asiakkaan istunnon ajan. Session bean komponentilla voi olla vain yksi asiakas. Kun asiakasohjelman viittaus Session beaniin katoaa, Session bean kuolee. Asiakasohjelma ei luo suoraan Session bean komponenttia, vaan sen tekee palvelualusta (Container) Session bean voi olla tilaton (stateless) tai tilansa säilyttävä (stateful) Entity bean komponentit Entity bean komponentit esittävät sovelluksen pysyvää, tietovarastossa säilytettävää tietoa esimerkkinä asiakas-, tuote-, tilaus- ja pankkitiedot. Tietojen säilytyspaikka voi olla relaatiotietokanta, oliotietokanta, tiedosto tai jokin muu varastointimekanismi. Entity bean komponentin tietojen pysyvyyden hallinnan (persistence management) voi suorittaa komponentti itse tai palvelualusta (Bean managed/ Container managed). Komponentin itsensä hallitsemassa tapauksessa komponentissa täytyy olla SQLlauseet, joilla hoidetaaan relaatiotietokannan käsittely JDBC:n kautta. Palvelualustan hallitsemassa tapauksessa se hoitaa tietojen tallentamisen ja hakemisen automaattisesti. [Hel00]

7 7 EJB komponenttien kutsurajapinnat Home ja Remote rajapinnat/luokat kontrolloivat pääsyä EJB luokkaan Asiakas näkee EJB komponentin Home- ja Remote rajapinnat ja keskustelee EJB:n kanssa näiden rajapintojen kautta Home rajapinta EJB komponentin Home rajapinta johdetaan EJBHome luokasta. Home rajapintaa käytetään luomaan uusia olioita. Home rajapinnassa määritellään create() metodeja, joita asiakasohjelmat kutsuvat ja joilla luodaan uusia komponentteja Remote rajapinta Remote rajapinnat johdetaan EJBObject luokasta. Remote rajapinnassa määritellään liiketoimintasääntöjä kuvaavat metodit, joita asiakasohjelmat kutsuvat. [Hel00] 3. EJB implementointiesimerkki: EBO Java Maestro - Java Framework for EJB server EBO Java Maestro perustuu MVC (Model-View-Controller) arkkitehtuurimalliin. Javamaestro-sovelluskehys tarjoaa työkaluja ja valmiin arkkitehtuurirungon EJBsovellusten rakentamiseen. EBO Java Framework koostuu kolmesta osasta, jotka ovat: - client framework - hajautus framework - persistenssi framework Perustana on loogisen kolmitasoarkkitehtuurin implementointi käyttämällä Enterprise Java Beans (EJB) spesifikaation mukaista toteutusta. [Ent99] Teknisesti kyse on nelitasoarkkitehtuurista: Em Entity Model tietokantataulujen oliointiin, Dm Domain Model serveriolioihin, Pm Presentation Model on kontrolleriluokka ja Am Application Model käyttöliittymäolioiden luokka. Olioita kutsutaan beaneiksi eli Em_bean, Dm_bean jne. Em ja Dm_beanit sijaitsevat palvelimella ja Am ja Pm_beanit asiakasohjelmistossa.. Mallit vastaavat EJB määrityksiä siten, että: Em Entity Model Dm Domain Model Pm Presentation Model Am Application Model EJB objekti, relaatiokannan riviä esittävä Entity Object EJB objekti, businesslogiikan sisältävä Session Object client ympäristön älykäs välitin (Smart Proxy), joka peittää näkyvistä EJB toteutuksen näyttökomponentti, joko paneeli tai frame

8 8 Automaattisesti tuotetut bean-ketjut ovat vakioituja ja hyvin määriteltyjä tietorakenteita, joiden tiedonvälitys eri arkkitehtuurikerrosten välillä toimii luotettavasti. Tavoitteena on yhtenäistää ohjelman osia ja abstrahoida tiedonvälitys eri kerrosten välillä MVC-mallin mukaisesti businesslogiikkaan, tietokantaan ja käyttöliittymänäkymiin. Maestrossa EJB:n toteutus on tietokantatoteutusta, toisin sanoen kehys palvelee datan tallennusta. Tietokantayhteydet hoidetaan sovelluspalvelimen kautta. Kehys generoi tietokannan tauluista automaattisesti kaikkien neljän kerroksen beanit aina käyttöliittymän generointiin asti. Generointi on kuitenkin hyvin raskas prosessi mikäli käsittelyssä on useamman kuin yhden taulun rivit. Tämä raskas lähestysmistapa voidaan kiertää käyttämällä näissä tapauksissa suoraan JDBC:tä. Maestro ei ota kantaa siihen missä dataa käsitellään. Maestro hajauttaa tietokantakäsittelyn, osa tehdään käyttöliittymässä osa palvelimessa. Maestro auttaa hallinnoimaan hajautusta ja itse asiassa peittää hajautuksen Kehys tarjoaa esimerkiksi palvelut dynaamisiin SQL-kyselyihin tietokannasta. Myös yksinkertaisten taulunäkymien esittäminen ja käsittely on mahdollista. Sovelluskehys on edelleen kehitysvaiheessa esimerkiksi transaktioiden hallinnan osalta. 4. BEA Weblogic Server BEA Weblogic Server toimii sovelluspalvelimena, joka tukee EJB spesifikaatiota Palvelin huolehtii tarvittavista infrastruktuuripalveluista, joita ovat: - hakemistopalvelu - hajautettujen transaktioiden hallinta - salauksen hallinta (security management) - rinnakkainen pääsyn hallinta - persistenssin hallinta - resurssipoolaus, esimerkiksi tietokantayhteydet 5. Case: EU:n tukijärjestelmien toteutus Seuraava toteutusesimerkki perustuu Maa- ja metsätalousministeriön tietopalvelukeskuksen (TIKE) järjestelmäkehityshankkeeseen, jonka tavoitteena on toteuttaa uusi IACS järjestelmä (integroitu hallinto ja valvontajärjestelmä) EU:n viljelijätukien hallintaan. Tukihakemusten tarkastaminen ja tallentaminen sekä maksatusten valmistelu tapahtuu kunnissa (420 toimipistettä) ja tukien valvonta TEkeskuksissa (15 kpl). Maksatukset ja raportointi suoritetaan TIKEssä. Tavoitteena on hankkeen toisessa vaiheessa toteuttaa viljelijöille mahdollisuus tehdä hakemuksensa sähköistä asiointia käyttäen (viljelijöitä on noin kpl). Nyt toteutettavan tukijärjestelmän ratkaisumallin on tarkoituksena olla

9 9 arkkitehtuuriratkaisu valtaosaan EMOTR:n (Euroopan maatalouden tuki- ja ohjausosaston tukirahasto) Suomessa hallinnoitaviin tukijärjestelmiin. Tavoitteena on myös päästä organisaatioriippumattomaan järjestelmään. Tästä syystä toteutettava järjestelmä päätettiin rakentaa hyödyntäen kolmitasoarkkitehtuuria: tietokanta, sovelluslogiikka ja käyttöliittymä omille tasoilleen. Aluksi sovellus pyrittiin toteuttamaan selaimen kautta käynnistyväksi. Siitä jouduttiin kuitenkin luopumaan tehokkuussyistä ja asiakasohjelmiston toteutus on tehty Java-sovelluksena. Toteutettavan järjestelmän tietokantana on Oracle8, sillä myös nyt käytössä olevan sovelluksen keskitetty kannan osuus rakentuu Oraclen tietokannan päälle. Itse kannan rakennetta ei juurikaan muuteta. Tarjouskilpailun perusteella sovelluspalvelimeksi valittiin BEA Weblogic Server. Weblogic tarjoaa ajoalustan palvelinpään komponenteille. Peruspalvelut on toteutettu käyttäen sovelluskehyksenä Entran JavaMaestroa, jolla on toteutettu vastaavanlaisia sovelluksia eri laitteisto- ja varusohjelmistoympäristöihin. Käyttöliittymä toteutetaan Oraclen Jdeveloper Java-kehittimellä. Versionhallinnassa käytetään PVCS versionhallintaohjelmistoa. Muita sovelluskehityksen apuvälineitä ovat Withclass oliomallinnusväline sekä Javadoc sovellusdokumentointiin. Optimize It ohjelmistoa käytetään sovelluskoodin tehokkuuden tutkimiseen. Kannan kuvausta ylläpidetään Oraclen Designerissa. 5.1 Sovelluskehityskokemuksia Maestrolla Valmiin sovellusrungon käyttö mahdollisti sovelluskomponenttien koodauksen aloittamisen nopealla aikataululla. Kehitystyötä on tehty sykystä Varsinainen sovelluskoodaus alkoi keväällä Maestro kytkeytyy hyvin tiiviisti Weblogiciin ja tarjoaa valmiit välineet tietokantakäsittelyyn. Tietokantayhteyksiä ei tarvitse itse rakentaa vaan ne hoidetaan EJB speksauksen mukaisesti kaikille yhteisen tietokantapoolin kautta. Kaikki käyttävät samaa yhteyttä. Yksi metodi riittää. Beanit (kehysluokat) generoidaan kannan tauluista. Beaneja on saman verran kuin tauluja, joihin lisätään tai päivitetään tietoa eli noin Jokaisesta beanista generoituu neljä tasoa. Esimerkiksi asiakasbean on asiakastaulun sarakkeiden kuvaaminen javakielellä, attribuuttien luku ja haku pääavaimella beanin sisällä. Koko toteutusprojektin ajan ongelmana on ollut kuitenkin Maestro sovelluskehyksen keskeneräisyys. Tuotekehitystyötä on tehty rinnan IACS:n sovelluskehityksen kanssa. Uusia versioita on tullut käyttöön ja niiden ominaisuudet eivät kaikilta osin ole vastanneet lupauksia ja määrityksiä. Sovelluskehystä kehitetään osin kaupallisena komponenttina, eivätkä MMM:n tarpeet ole kuin osin sanelemassa ratkaisuja.

10 10 Osa ongelmista johtuu siitä, että kehys on toteutettu täysin oliomallin mukaisesti. Isoissa sovelluksissa se merkitsee tehokkuus- ja toimivuusongelmia. Hakujen hitautta Optimize It ohjelmiston avulla analysoitaessa selvisi muun muassa, että tarkistuksen kohteeksi joutui paitsi kantaan vietävä data, myös sieltä tuotava data. Mitä enemmän kontrolleja, sen hitaampaa. Ongelmana on edelleen myös transaktioiden perumisen hallinta, joka tulee esille sisäkkäisten transaktioiden tapauksessa. Jos esimerkiksi peruslohkon jako tai yhdistäminen puretaan ja pitäisi palata alkutilaan tulee ongelmia. Osin ratkaisua voidaan hakea tietokantatoteutuksesta. Maestro on tarjonnut kehittäjille ohjelmointiohjeen. Käytäntö on sanellut loput. Varsinaisessa koodaustyössä on vain pari ohjelmoijaa sekä pääarkkitehti, joten ohjelmoinnin yhdenmukaisuus on pysynyt tätä kautta hallinnassa. Tapa tehdä koodia on jo siirtynyt kansanperinteenä projektista toiseen. Tikessä on jo aloitettu toinenkin hanke käyttäen hyväksi Maestroa ja siihen itse tehtyjä komponentteja. Iso osa käytännön työstä on ollutkin se, että komponentit saadaan keskustelemaan oikealla tavalla toistensa kanssa. Näytöt ovat samantyyppisiä, jolloin rakenteita voidaan monistaa. Toistaiseksi on päädytty siihen, että valtaosa hakulogiikasta on tehty käyttöliittymään eli Am_beaniin sillä toistaiseksi käyttäjiä on vain yhdenlaisia. Siinä vaiheessa kun viljelijät tulevat kuvaan mukaan on saatetaan sovelluslogiikka joutua siirretämään palvelimeen eli Dm_beaniin. Tällöin on huolehdittava siitä, että mikäli kytkentöjä käyttöliittymäkomponentteihin on, niin ne on riisuttava. Näitä on pyritty välttämään. 5.2 Komponenttikirjaston tarve ja komponenttipohjaisten järjestelmien ylläpito Komponenttikirjasto on olemassa, mutta hallintaväline puuttuu. Komponentit on rakennettu olemassaolevan tietokannan päälle. Kun tietokantaa muutetaan on komponentin muututtava. Tietokannan hoidon tulisi jatkossa sisältää sen päällä olevien komponenttien ylläpidon. Käytännössä komponenttikirjasto on komponenttien hakemisto ja versiohistoria. Kehitysvaiheessa ongelma näkyy sellaisena, että tehty muutos saattaa aiheuttaa pitkiä muutosketjuja ja jos tulee ongelmia niin sovelluspalvelin ei käynnisty. Komponenttikirjaston ja hallinnan tarve korostuu kun tullaan lähemmäs tuotantoa ja käsitellään valmiita komponentteja. Ennen kaikkiea ongelma on hallinnollinen. Selkeitä ylläpidon rooleja ei ole kyetty vielä hahmottamaan. Komponenttikirjaston kehittyneempi versio saattaisi olla kuvauskanta eli repository, joka sisältäisi objektihallinnan, versiohallinnan, konfiguraatiohallinnan ja ympäristöhallinnan.

11 Yleisiä johtopäätöksiä Kehitystyön aikana on tullut selvästi esille uudelleenkäytettävyyden edut. Useat aikaisemmin vaikeasti toteutettavat asiat saadaan EJB teknologialla toteutettua lyhyessä ajassa ja helposti käyttäen kerran rakennettuja komponentteja. Esimerkiksi aikaisemmin uuden näytön rakentaminen on ollut työlästä. Uusi toteutustapa vaatii kuitenkin, että uudelleenkäytettävyyttä mietitään jo hyvin aikaisessa vaiheessa projektia ja jos yleiskäyttöisyyttä halutaan niin joudutaan toimimaan sen ehdoilla. JavaMaestro on tarkoitettu kevyempään client pään käsittelyyn kuin mihin sitä nyt käytetään. Sovelluskehyksen rakenteessa painopiste on keskitasolla, kun taas IACSsovelluksessa kyse on enemmänkin fat clientista. JavaMaestron kehittäminen MMM:n näkökulmasta olisi kannattanut painottaa palvelinpuolen kehittämiseen. Tuotantoon siirryttäessä kokonaisuuden hallinta tulee olemaan melkoinen haaste, jossa on vielä paljon ratkaisemattomia kysymyksiä. [Iac00] 6 Lähteet [Ent99] [Iac00] [Hel00] Entra Business Objects Oy, Java Maestro, Java Framework for EJB server, version 0.42 IACS2000 projektin projektipäällikön ja projektiryhmän jäsenten haastattelut , Sauli Sonkkila, Kyösti Könönen, Juha Mäkinen ja Ilkka Seppä comptech/ejb/ejb.htm [Kos00] Kai Koskimies, Oliokirja, Satku.fi, 2000 [Lai00] [MaH99] [Nik00] Harri Laine, Ohjelmistoarkkitehtuurit, luentomoniste, Helsingin yliopiston tietojenkäsittelytieteen laitos, 2000 Vlada Matena & Mark Hapner, May , Sun Microsystems Enterprise JavaBeans specification, Version 1.1 Public Draft Sami Nikander, Voiko lehmästä tehdä komponentin eli komponentit Maa- ja metsätalousministeriön tietojärjestelmissä, seminaariesitelmä seminaarissa Komponenttiperustainen ohjelmistotuotanto, kevät 2000

12 12

Case TUHTI. Projektin tunnuslukuja. ! Suuri perusjärjestelmäuudistus! Työt alkoivat kesällä 1999. ! Java luokkia n. 5000

Case TUHTI. Projektin tunnuslukuja. ! Suuri perusjärjestelmäuudistus! Työt alkoivat kesällä 1999. ! Java luokkia n. 5000 Case TUHTI 17.12.2002 1 TietoEnator 2002 Projektin tunnuslukuja! Suuri perusjärjestelmäuudistus! Työt alkoivat kesällä 1999! Otettu tuotantokäyttöön syksyllä 2001! Proof of Concept (5 henkilöä 4 kk) ->

Lisätiedot

P e d a c o d e ohjelmointikoulutus verkossa

P e d a c o d e ohjelmointikoulutus verkossa P e d a c o d e ohjelmointikoulutus verkossa J2EE - EJB Session Bean Teoria ja ohjelmointitehtävät J2EE - EJB Session Bean 3 YLEISKATSAUS KURSSIN SISÄLTÖIHIN... 7 YLEISKATSAUS KURSSIN SISÄLTÖIHIN... 7

Lisätiedot

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä www.niksula.cs.hut.fi/~jjkankaa// Demosovelluksen tekninen määrittely v. 0.6 Päivitetty 11.12.2000 klo 20:26 Mickey Shroff 2 (12) Dokumentin versiohistoria Versio Päivämäärä Tekijä / muutoksen tekijä Selite

Lisätiedot

Java Platform, Enterprise Edition (Java EE)

Java Platform, Enterprise Edition (Java EE) Kuka? Java Platform, Enterprise Edition (Java EE) Yleiskatsaus Janne Kuha janne.kuha@descom.fi Descom Oy IBM Certified Enterprise Developer IBM Certified System Administrator Sisältö Mikä on Java EE /

Lisätiedot

HSMT J2EE & EJB & SOAP &...

HSMT J2EE & EJB & SOAP &... HSMT J2EE & EJB & SOAP &... Ville Leppänen HSMT, c Ville Leppänen, IT, Turun yliopisto, 2011 p.1/15 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista

Lisätiedot

HOJ J2EE & EJB & SOAP &...

HOJ J2EE & EJB & SOAP &... HOJ J2EE & EJB & SOAP &... Ville Leppänen HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/18 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista

Lisätiedot

Liite 1: KualiKSB skenaariot ja PoC tulokset. 1. Palvelun kehittäjän näkökulma. KualiKSB. Sivu 1. Tilanne Vaatimus Ongelma jos vaatimus ei toteudu

Liite 1: KualiKSB skenaariot ja PoC tulokset. 1. Palvelun kehittäjän näkökulma. KualiKSB. Sivu 1. Tilanne Vaatimus Ongelma jos vaatimus ei toteudu Liite 1: skenaariot ja PoC tulokset 1. Palvelun kehittäjän näkökulma Tilanne Vaatimus Ongelma jos vaatimus ei toteudu Palvelun uusi versio on Palveluiden kehittäminen voitava asentaa tuotantoon vaikeutuu

Lisätiedot

Sovellusarkkitehtuurit

Sovellusarkkitehtuurit HELIA TiKo-05 1 (9) Sovellusarkkitehtuurit ODBC (Open Database Connectivity)... 2 JDBC (Java Database Connectivity)... 5 Middleware... 6 Middleware luokittelu... 7 Tietokanta -middleware... 8 Tapahtumamonitorit

Lisätiedot

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys Tällä kurssilla on tutustuttu ohjelmistojen mallintamiseen oliomenetelmiä ja UML:ää käyttäen Samaan aikaan järjestetyllä kurssilla on käsitelty

Lisätiedot

Osittavat arkkitehtuurityylit. Palveluihin perustuvat arkkitehtuurityylit. Erikoisarkkitehtuurityylit

Osittavat arkkitehtuurityylit. Palveluihin perustuvat arkkitehtuurityylit. Erikoisarkkitehtuurityylit 6. Arkkitehtuurityylit Osittavat arkkitehtuurityylit Kerrosarkkitehtuurit Tietovuoarkkitehtuurit Palveluihin perustuvat arkkitehtuurityylit Asiakas-palvelin arkkitehtuurit Viestinvälitysarkkitehtuurit

Lisätiedot

582203 Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus

582203 Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus 582203 Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus Sisältö Mikä on web-sovellus? Selaimen rooli web-sovelluksessa Palvelimen rooli web-sovelluksessa Aineistopyynnöt Tiedon välittäminen

Lisätiedot

Ylläpitodokumentti. Ohjelmistotuotantoprojektin tietojärjestelmä OhtuTie

Ylläpitodokumentti. Ohjelmistotuotantoprojektin tietojärjestelmä OhtuTie Ylläpitodokumentti Ohjelmistotuotantoprojektin tietojärjestelmä OhtuTie Helsinki 16.7.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti

Lisätiedot

Action Request System

Action Request System Action Request System Manu Karjalainen Ohjelmistotuotantovälineet seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 25.10.2000 Action Request System (ARS) Manu Karjalainen Ohjelmistotuotantovälineet

Lisätiedot

Web-palvelu voidaan ajatella jaettavaksi kahteen erilliseen kokonaisuuteen: itse palvelun toiminnallisuuden toteuttava osa ja osa, joka mahdollistaa k

Web-palvelu voidaan ajatella jaettavaksi kahteen erilliseen kokonaisuuteen: itse palvelun toiminnallisuuden toteuttava osa ja osa, joka mahdollistaa k 1 Web-palvelu voidaan ajatella jaettavaksi kahteen erilliseen kokonaisuuteen: itse palvelun toiminnallisuuden toteuttava osa ja osa, joka mahdollistaa ko. toiminnallisuuden hyödyntämisen Web-palveluna.

Lisätiedot

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

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS CT10A4000 - Kandidaatintyö ja seminaari LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS CT10A4000 - Kandidaatintyö ja seminaari Alkuraportti Avoimen lähdekoodin käyttö WWW-sovelluspalvelujen toteutuksessa Lappeenranta, 30.3.2008,

Lisätiedot

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

Järjestelmäarkkitehtuuri (TK081702) Web Services. Web Services Järjestelmäarkkitehtuuri (TK081702) Standardoidutu tapa integroida sovelluksia Internetin kautta avointen protokollien ja rajapintojen avulla. tekniikka mahdollista ITjärjestelmien liittämiseen yrityskumppaneiden

Lisätiedot

Järjestelmäarkkitehtuuri (TK081702) Hajautettu tietokanta. Hajautuksen hyötyjä

Järjestelmäarkkitehtuuri (TK081702) Hajautettu tietokanta. Hajautuksen hyötyjä Järjestelmäarkkitehtuuri (TK081702) Hajautettu tietokanta Hajautettu tietokanta Jokainen hajautettu tietokanta muodostaa oman kokonaisuutensa Loogisesti yhtenäinen data on hajautettu tietokantoihin (eri

Lisätiedot

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

Ohjelmistoteknologioiden koulutus: Web-sovelluskehitys, Java Server. Infotilaisuus 3.12.2014 klo 10:00 Ohjelmistoteknologioiden koulutus: Web-sovelluskehitys, Java Server Infotilaisuus 3.12.2014 klo 10:00 Yleistä Ohjelmistoteknologioiden koulutukset 2014-2015 3: Internet sovellusten ohjelmointi Java Server

Lisätiedot

Uudelleenkäytön jako kahteen

Uudelleenkäytön jako kahteen Uudelleenkäyttö Yleistä On pyritty pääsemään vakiokomponenttien käyttöön Kuitenkin vakiokomponentit yleistyneet vain rajallisilla osa-alueilla (esim. windows-käyttöliittymä) On arvioitu, että 60-80% ohjelmistosta

Lisätiedot

JHS 179 Kokonaisarkkitehtuurin suunnittelu ja kehittäminen Liite 9. Virtualisointi ja pilvipalvelut teknologia-arkkitehtuurin suunnittelussa

JHS 179 Kokonaisarkkitehtuurin suunnittelu ja kehittäminen Liite 9. Virtualisointi ja pilvipalvelut teknologia-arkkitehtuurin suunnittelussa JHS 179 Kokonaisarkkitehtuurin suunnittelu ja kehittäminen Liite 9. Virtualisointi ja pilvipalvelut teknologia-arkkitehtuurin suunnittelussa Versio: Palautekierros, 2. palautekierros Julkaistu: Voimassaoloaika:

Lisätiedot

WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa

WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa WWW ja tietokannat WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa tekstiä, kuvia, hyperlinkkejä Staattiset sivut kirjoitettu kerran, muuttaminen käsin ongelmana pysyminen ajantasalla Ylläpito hankalaa,

Lisätiedot

SAP. Lasse Metso 14.1.2011

SAP. Lasse Metso 14.1.2011 SAP Lasse Metso 14.1.2011 Toiminnanohjausjärjestelmä engl. Enterprise Resource Planning, ERP Integroitu tietojärjestelmä joka palvelee kaikkia yrityksen osastoja. Tuotantoyrityksistä liikkeelle lähtenyt

Lisätiedot

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

XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy IBM Collaboration Forum ٨.٣.٢٠١١ XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy ٢٠١١ IBM Corporation Domino-sovelluskehitys Nopea kehitysympäristö (Rapid application development,

Lisätiedot

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät Tenttikysymykset 1. Selitä mitä asioita kuuluu tietojärjestelmän käsitteeseen. 2. Selitä kapseloinnin ja tiedon suojauksen periaatteet oliolähestymistavassa ja mitä hyötyä näistä periaatteista on. 3. Selitä

Lisätiedot

www.solita.fi solita@solita.fi

www.solita.fi solita@solita.fi www.solita.fi solita@solita.fi JAVA-SOVELLUSTEN RAKENTAMINEN INTEGROITUUN YMPÄRISTÖÖN Jarno Peltoniemi Solita Oy 10.5.2005 Aiheet Johdanto Portaalit, portletit Oracle Portal Java-sovelluksen rakentaminen

Lisätiedot

FuturaPlan. Järjestelmävaatimukset

FuturaPlan. Järjestelmävaatimukset FuturaPlan Järjestelmävaatimukset 25.1.2017 2.2 Hermiankatu 8 D tel. +358 3 359 9600 VAT FI05997751 33720 Tampere fax. +358 3 359 9660 www.dbmanager.fi i Versiot Versio Päivämäärä Tekijä Kommentit 1.0

Lisätiedot

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

Tuottavuutta sovelluskehitykseen Oraclen työkaluilla: JDeveloper 10g ja HTML DB OUGF Syysseminaari Tuottavuutta sovelluskehitykseen Oraclen työkaluilla: JDeveloper 10g ja HTML DB OUGF Syysseminaari 4.11.2004 Jari Kuokka Tuoteasiantuntija Oracle Finland Oracle Developer Suite 10 g JDeveloper Reports

Lisätiedot

Kehyksillä toteuttettujen tuotelinjojen rakenteellinen optimointi

Kehyksillä toteuttettujen tuotelinjojen rakenteellinen optimointi Kehyksillä toteuttettujen tuotelinjojen rakenteellinen optimointi Pietu Pohjalainen Geneerinen metaohjelmointi Syksy 2004 Tietojenkäsittelytieteen laitos Helsingin yliopisto Esityksen sisältö Oliopohjaiset

Lisätiedot

4.12.2005. SEPA REFAKTOROINTI Antti Ahvenlampi, 57408L Erik Hakala, 57509T

4.12.2005. SEPA REFAKTOROINTI Antti Ahvenlampi, 57408L Erik Hakala, 57509T SEPA REFAKTOROINTI Antti Ahvenlampi, 57408L Erik Hakala, 57509T SEPA: REFAKTOROINTI 2 (9) SEPA: REFAKTOROINTI 3 (9) VERSIOHISTORIA Version Date Author Description 0.1 2.12.2005 Erik Hakala Ensimmäinen

Lisätiedot

Tietojärjestelmä tuotantoympäristössä. Sovellusohjelmat Helsingin ammattikorkeakoulu Stadia / Tekniikka ja liikenne Vesa Ollikainen

Tietojärjestelmä tuotantoympäristössä. Sovellusohjelmat Helsingin ammattikorkeakoulu Stadia / Tekniikka ja liikenne Vesa Ollikainen Tietojärjestelmä tuotantoympäristössä Tausta ja tavoitteet Tausta Kurssilla on opiskeltu suunnittelemaan ja toteuttamaan tietokanta, joka on pieni perustuu selkeisiin vaatimuksiin on (yleensä) yhden samanaikaisen

Lisätiedot

Tietokantaohjelmoinnin tekniikkoja Java-kielellä

Tietokantaohjelmoinnin tekniikkoja Java-kielellä Tietokantaohjelmoinnin tekniikkoja Java-kielellä Ville Kuokkanen Helsinki 6. helmikuuta 2003 Relaatiotietokannat nyt seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos i Tietokantaohjelmoinnin

Lisätiedot

Sovelluspalvelin terveydenhuollon sovellustuotannossa ja sovel Iusintegraat iossa, Juha Rannanheimo, Kuopion YO

Sovelluspalvelin terveydenhuollon sovellustuotannossa ja sovel Iusintegraat iossa, Juha Rannanheimo, Kuopion YO SUOMEN KUNTAUITTO Sosiaali - ja terveysyksikkö TERVEYDENHUOLLON 27. ATK- PAIVAT 4. - 5.6.2001 Sosiaali- ja terveydenhuollon tietotekniikan ja tiedonhallinnan tutkimuksen päivät Sovelluspalvelin terveydenhuollon

Lisätiedot

Koira testissä vai Racci tuotannossa O10G/IAS10 Linuxilla

Koira testissä vai Racci tuotannossa O10G/IAS10 Linuxilla Koira testissä vai Racci tuotannossa O10G/IAS10 Linuxilla Petri Tumppila/Bemecon Oy, petri.tumppila@bemecon.fi Tuomas Pystynen/Deepbase Oy, tuomas.pystynen@deepbase.com OUGF 4.11.2004 Agenda Ympäristö

Lisätiedot

VisualAge for Java-sovelluskehitin

VisualAge for Java-sovelluskehitin VisualAge for Java-sovelluskehitin Ohjelmistotuotantovälineet seminaari Tero Katajanheimo Helsingin yliopisto Tietojenkäsittelytieteen laitos 28.09.2000 Helsinki VisualAge for Java VisualAge for Java-sovelluskehitin

Lisätiedot

Ohjelmistojen mallinnus Ohjelmistoarkkitehtuuri Harri Laine 1

Ohjelmistojen mallinnus Ohjelmistoarkkitehtuuri Harri Laine 1 Ohjelmistojen mallinnus Ohjelmistoarkkitehtuuri 2 28.11.2008 Harri Laine 1 Ohjelmistoarkkitehtuuri Rajapinta UML:ssä piirteiden (attribuuttien ja operaatioiden) kokoelma, josta ei voi suoraan luoda ilmentymiä

Lisätiedot

Arkkitehtuuri. Ylätason sovellusarkkitehtuuri

Arkkitehtuuri. Ylätason sovellusarkkitehtuuri Arkkitehtuuri Termieditorin käyttö vaatii kirjautumisen. Peruskäyttäjälle myönnetään erikseen aineistokohtaisia luku- ja muokkausoikeuksia. Järjestelmän ylläpitäjä (admin) saa ylläpitää kaikkia aineistoja.

Lisätiedot

HOJ Haja-aiheita. Ville Leppänen. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/10

HOJ Haja-aiheita. Ville Leppänen. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/10 HOJ Haja-aiheita Ville Leppänen HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/10 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista (1h)

Lisätiedot

Suunnitteluvaihe prosessissa

Suunnitteluvaihe prosessissa Suunnittelu Suunnitteluvaihe prosessissa Silta analyysin ja toteutuksen välillä (raja usein hämärä kumpaankin suuntaan) Asteittain tarkentuva Analyysi -Korkea abstraktiotaso -Sovellusläheiset käsitteet

Lisätiedot

Visual Basic -sovelluskehitin Juha Vitikka

Visual Basic -sovelluskehitin Juha Vitikka Visual Basic -sovelluskehitin Helsinki 30.10.2000 Seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Visual Basic sovelluskehitin Seminaari: Ohjelmistotuotantovälineet Tietojenkäsittelytieteen

Lisätiedot

Tenttikysymykset. + UML-kaavioiden mallintamistehtävät

Tenttikysymykset. + UML-kaavioiden mallintamistehtävät Tenttikysymykset 1. Selitä mitä asioita kuuluu tietojärjestelmän käsitteeseen. 2. Selitä kapseloinnin ja tiedon suojauksen periaatteet oliolähestymistavassa ja mitä hyötyä näistä periaatteista on. 3. Selitä

Lisätiedot

Järjestelmäarkkitehtuuri (TK081702)

Järjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri (TK081702) yleistyvät verkkopalveluissa Youtube Google... Avaavat pääsyn verkkopalvelun sisältöön. Rajapintojen tarjoamia tietolähteitä yhdistelemällä luodaan uusia palveluja,

Lisätiedot

P e d a c o d e ohjelmointikoulutus verkossa

P e d a c o d e ohjelmointikoulutus verkossa P e d a c o d e ohjelmointikoulutus verkossa J2EE web-ohjelmointi Teoria ja ohjelmointitehtävät J2EE web-ohjelmointi 3 JOHDATUS OPISKELUUN...7 Opiskelu kurssilla... 7 Kurssin sisältö... 7 Aikataulu...

Lisätiedot

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

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS Ti Kandidaatintyö ja seminaari LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS Ti5004000 - Kandidaatintyö ja seminaari Alkuraportti Avoimen lähdekoodin käyttö WWW-sovelluspalvelujen toteutuksessa Lappeenranta, 4.6.2007,

Lisätiedot

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14 Arkkitehtuurikuvaus Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy Ryhmä 14 Muutoshistoria Versio Pvm Päivittäjä Muutos 0.4 1.11.2007 Matti Eerola 0.3 18.10.2007 Matti Eerola 0.2

Lisätiedot

VALDA-tietojärjestelmän j versio 1

VALDA-tietojärjestelmän j versio 1 VALDA-tietojärjestelmän j versio 1 Mitä palveluita tarjotaan VALDA-tietojärjestelmän ensimmäisestä versiosta? Mitä hyötyä saat tästä organisaatiollesi? IBM, Helsinki 14.5.2009 Hankepäällikkö Toini Salmenkivi

Lisätiedot

Helia Ohjelmointitaito 14.3.2005 Tuomas Kaipainen Mermit Business Applications Oy. 2005 Mermit Business Applications

Helia Ohjelmointitaito 14.3.2005 Tuomas Kaipainen Mermit Business Applications Oy. 2005 Mermit Business Applications Helia Ohjelmointitaito 14.3.2005 Tuomas Kaipainen Mermit Business Applications Oy Esityksen sisältö Mermit yrityksenä Perustiedot Toimintamalli Mermit työpaikkana ohjelmistoinsinöörille Esimerkkiprojekti

Lisätiedot

Tekninen suunnitelma - StatbeatMOBILE

Tekninen suunnitelma - StatbeatMOBILE Tekninen suunnitelma - StatbeatMOBILE Versio Päivämäärä Henkilö Kuvaus 1.0 13.12.2013 Pöyry Alustava rakenne ja sisältö 1.1 22.12.2013 Pöyry Lisätty tekstiä ilmoituksiin, turvallisuuteen ja sisäiseen API:in

Lisätiedot

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

Järjestelmäarkkitehtuuri (TK081702) Lähtökohta. Integroinnin tavoitteet Järjestelmäarkkitehtuuri (TK081702) Integraation tavoitteita Lähtökohta Web-palvelut Asiakasrekisteri ERP, Tuotannon ohjaus Tuotanto Myynti Intranet Extranet? CRM Johdon tuki Henkilöstö Kirjanpito Palkanlaskenta

Lisätiedot

Facta palvelimien uusiminen Helsingin kaupunki

Facta palvelimien uusiminen Helsingin kaupunki Facta palvelimien uusiminen Helsingin kaupunki TARJOUS 70214 06.03.2014 Helsingin kaupunki Kiinteistövirasto Anu Soukki PL 2205 00099 Helsingin kaupunki anu.soukki@hel.fi eero.saarinen@hel.fi tea.tikkanen@hel.fi

Lisätiedot

6. Arkkitehtuurityylit

6. Arkkitehtuurityylit 6. Arkkitehtuurityylit Osittavat arkkitehtuurityylit - Kerrosarkkitehtuurit - Tietovuoarkkitehtuurit Palveluihin perustuvat arkkitehtuurityylit - Asiakas-palvelin arkkitehtuurit - Viestinvälitysarkkitehtuurit

Lisätiedot

Ohjelmistojen mallintaminen, arkkitehtuuria ja rajapintoja

Ohjelmistojen mallintaminen, arkkitehtuuria ja rajapintoja 582104 Ohjelmistojen mallintaminen, arkkitehtuuria ja rajapintoja 1 Arkkitehtuurisuunnittelu Ohjelmistoarkkitehtuurin määritelmä & arkkitehtuurisuunnittelun lähtökohta ja tavoitteet Kerrosarkkitehtuuri

Lisätiedot

EJB-komponenttien tietokantakytkentä

EJB-komponenttien tietokantakytkentä hyväksymispäivä arvosana arvostelija EJB-komponenttien tietokantakytkentä Antti Harkola Helsinki 17. huhtikuuta 2003 Relaatiotietokannat nyt seminaari Helsingin yliopisto Tietojenkäsittelytieteen laitos

Lisätiedot

Projektinhallintaa paikkatiedon avulla

Projektinhallintaa paikkatiedon avulla Projektinhallintaa paikkatiedon avulla Tampereen Teknillinen Yliopisto / Porin laitos Teemu Kumpumäki teemu.kumpumaki@tut.fi 25.6.2015 1 Paikkatieto ja projektinhallinta Paikkatiedon käyttäminen projektinhallinnassa

Lisätiedot

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti Teknillinen korkeakoulu 51 Vaatimusmäärittely Ohjelma-ajanvälitys komponentti Versio Päiväys Tekijä Kuvaus 0.1 21.11.01 Oskari Pirttikoski Ensimmäinen versio 0.2 27.11.01 Oskari Pirttikoski Lisätty termit

Lisätiedot

Palomuurit. Palomuuri. Teoriaa. Pakettitason palomuuri. Sovellustason palomuuri

Palomuurit. Palomuuri. Teoriaa. Pakettitason palomuuri. Sovellustason palomuuri Palomuuri Teoriaa Palomuurin tehtävä on estää ei-toivottua liikennettä paikalliseen verkkoon tai verkosta. Yleensä tämä tarkoittaa, että estetään liikennettä Internetistä paikallisverkkoon tai kotikoneelle.

Lisätiedot

ohjelman arkkitehtuurista.

ohjelman arkkitehtuurista. 1 Legacy-järjestelmällä tarkoitetaan (mahdollisesti) vanhaa, olemassa olevaa ja käyttökelpoista ohjelmistoa, joka on toteutettu käyttäen vanhoja menetelmiä ja/tai ohjelmointikieliä, joiden tuntemus yrityksessä

Lisätiedot

Ohjelmistoarkkitehtuurit kevät

Ohjelmistoarkkitehtuurit kevät Ohjelmistoarkkitehtuurit Kevät 2011-2012 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 6. Arkkitehtuurityylit Osittavat arkkitehtuurityylit Kerrosarkkitehtuurit (rakenteen ositus) Tietovuoarkkitehtuurit

Lisätiedot

Haaga-Helia/IltaTiko ict2tcd005: Ohjelmiston suunnittelutaito 1/7 Anne Benson. Tällä opintojaksolla käytämme VS:n kolmen kokonaisuuden luomiseen:

Haaga-Helia/IltaTiko ict2tcd005: Ohjelmiston suunnittelutaito 1/7 Anne Benson. Tällä opintojaksolla käytämme VS:n kolmen kokonaisuuden luomiseen: Haaga-Helia/IltaTiko ict2tcd005: Ohjelmiston suunnittelutaito 1/7 Microsoft SQL käyttö Yleistä VisualStudiosta Tällä opintojaksolla käytämme VS:n kolmen kokonaisuuden luomiseen: - sovellushallintaan -

Lisätiedot

Maiju Mykkänen (D6297@jamk.fi) Susanna Sällinen (E0941@jamk.fi)

Maiju Mykkänen (D6297@jamk.fi) Susanna Sällinen (E0941@jamk.fi) Maiju Mykkänen (D6297@jamk.fi) Susanna Sällinen (E0941@jamk.fi) Tietokannan hallinta-opintojakson selvitysraportti Huhtikuu 2010 Mediatekniikka ICT/Teknologia Tämän teosteoksen käyttöoikeutta koskee Creative

Lisätiedot

Järjestelmäarkkitehtuuri (TK081702) Yritysarkkitehtuuri. Muutostarpeet

Järjestelmäarkkitehtuuri (TK081702) Yritysarkkitehtuuri. Muutostarpeet Järjestelmäarkkitehtuuri (TK081702) Ympäristö Muutostarpeet ja niihin vastaaminen Yritysarkkitehtuuri Liiketoiminta-arkkitehtuuri Tavoitteet, Palvelut, Prosessit Informaatioarkkitehtuuri Tietotarpeet,

Lisätiedot

6. Arkkitehtuurityylit

6. Arkkitehtuurityylit 6. Arkkitehtuurityylit Osittavat arkkitehtuurityylit Kerrosarkkitehtuurit (rakenteen ositus) Tietovuoarkkitehtuurit (toiminnan ositus) Palveluihin perustuvat arkkitehtuurityylit Asiakas-palvelin arkkitehtuurit

Lisätiedot

HELIA 1 (8) Outi Virkki Tietokantasuunnittelu

HELIA 1 (8) Outi Virkki Tietokantasuunnittelu HELIA 1 (8) Luento 1 Johdatusta tietokannan suunnitteluun... 2 Tietokantasuunnittelu?... 2 Tietokanta?... 2 Tieto?... 2 Tietokantasuunnittelun tavoite, v.1... 2 Luotettavuus?... 3 Tietokantasuunnittelun

Lisätiedot

Helsingin yliopisto/tktl DO Tietokantojen perusteet, s 2000 Johdanto & yleistä Harri Laine 1. Tietokanta. Tiedosto

Helsingin yliopisto/tktl DO Tietokantojen perusteet, s 2000 Johdanto & yleistä Harri Laine 1. Tietokanta. Tiedosto Tietokanta Tiedosto Tietokanta (database) jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja Ohjelmointikielissä apumuistiin tallennettuja tietoja käsitellään

Lisätiedot

Amazon Web Services (AWS) on varmaankin maailman suosituin IaaS-tarjoaja. Lisäksi se tarjoaa erilaisia PaaS-kategoriaan kuuluvia palveluita.

Amazon Web Services (AWS) on varmaankin maailman suosituin IaaS-tarjoaja. Lisäksi se tarjoaa erilaisia PaaS-kategoriaan kuuluvia palveluita. 1 2 Amazon Web Services (AWS) on varmaankin maailman suosituin IaaS-tarjoaja. Lisäksi se tarjoaa erilaisia PaaS-kategoriaan kuuluvia palveluita. 3 4 Region vastaa palvelun fyysistä sijaintipaikkaa (AWS

Lisätiedot

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas Tiedonhallinnan perusteet Viikko 1 Jukka Lähetkangas Kurssilla käytävät asiat Tietokantojen toimintafilosofian ja -tekniikan perusteet Tiedonsäilönnän vaihtoehdot Tietokantojen suunnitteleminen internetiä

Lisätiedot

Matematiikan oppifoorumi Projektisuunnitelma

Matematiikan oppifoorumi Projektisuunnitelma Matematiikan oppifoorumi Projektisuunnitelma Carl Johansson Jukka Kariola Outi Marttila Helena Venäläinen Sampsa Virtanen Ohjaaja Jukka Eskola Asiakas Mikko Mäkelä Ohjelmistotuotantoprojekti 29.10.1999

Lisätiedot

Sovelluskehitys JDeveloper 10g ja Oracle ADF -välineillä. OUGF Kevätseminaari Jarkko Happonen, Eventizer Oy

Sovelluskehitys JDeveloper 10g ja Oracle ADF -välineillä. OUGF Kevätseminaari Jarkko Happonen, Eventizer Oy Sovelluskehitys JDeveloper 10g ja Oracle ADF -välineillä OUGF Kevätseminaari 12.5.2004 Jarkko Happonen, Eventizer Oy Eventizer Oy Tietojärjestelmien kehittäminen ja ohjelmistoalan konsultointi Pitkäaikainen

Lisätiedot

Sisällys. Valtion tietotekniikan rajapintasuosituksia. XML:n rooleja sähköisen asioinnin tavoitearkkitehtuurissa. dbroker - asiointialusta

Sisällys. Valtion tietotekniikan rajapintasuosituksia. XML:n rooleja sähköisen asioinnin tavoitearkkitehtuurissa. dbroker - asiointialusta Palveluita ja sisältöä portaaliin - XML:n mahdollisuuksista XML-tietokannat ja julkishallinnon XML-sovellukset, 28.05.2002 Lasse Akselin, TietoEnator Oyj Sisällys Valtion tietotekniikan rajapintasuosituksia

Lisätiedot

Ylläpitodokumentti. Boa Open Access. Helsinki 2.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Ylläpitodokumentti. Boa Open Access. Helsinki 2.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Ylläpitodokumentti Boa Open Access Helsinki 2.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Ilmari

Lisätiedot

Microsoft Visual J++ ohjelmointiympäristö

Microsoft Visual J++ ohjelmointiympäristö Microsoft Visual J++ ohjelmointiympäristö Ohjelmistotuotantovälineet seminaarin alustus Raine Lehto Helsingin yliopisto Tietojenkäsittelytieteen laitos 08.11.2000 Helsinki Sisällys 1 Johdanto...2 2 Sovelluskehys

Lisätiedot

Palveluperustaiset arkkitehtuurityylit

Palveluperustaiset arkkitehtuurityylit Palveluperustaiset arkkitehtuurityylit Mukana palvelun tarjoajia ja palvelun käyttäjiä Perusajatuksena tyypillisesti tarjota johonkin resurssiin liittyviä palveluita 1 Asiakas-palvelin -arkkitehtuurit

Lisätiedot

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1 3. Komponentit ja rajapinnat 3.1 Komponenttien idea: ohjelmistotuotannon rationalisointi 3.2 Mikä on ohjelmistokomponentti? 3.3 Komponentit ohjelmistoyksikköinä 3.4 Rajapinnat 3.6 Komponenttien räätälöinti

Lisätiedot

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Tekninen määrittely: Editori Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Sisällysluettelo 1. Johdanto...4 1.1. Tarkoitus ja kattavuus...4 1.2. Tuote ja ympäristö...4 1.3. Määritelmät,

Lisätiedot

Tekninen suunnitelma - StatbeatMOBILE

Tekninen suunnitelma - StatbeatMOBILE Tekninen suunnitelma - StatbeatMOBILE Versio Päivämäärä Henkilö Kuvaus 1.0 13.12.2013 Pöyry Alustava rakenne ja sisältö 1.1 22.12.2013 Pöyry Lisätty tekstiä ilmoituksiin, turvallisuuteen ja sisäiseen API:in

Lisätiedot

Miten voin selvittää säästömahdollisuuteni ja pääsen hyötymään niistä?

Miten voin selvittää säästömahdollisuuteni ja pääsen hyötymään niistä? Se edullisempi tietokanta Miten voin selvittää säästömahdollisuuteni ja pääsen hyötymään niistä? Rasmus Johansson rasmus.johansson@microsoft.com Ratkaisumyyntipäällikkö (Sovellusalusta) Microsoft Oy Miten

Lisätiedot

Tikon Ostolaskujenkäsittely versio 6.1.2 SP1

Tikon Ostolaskujenkäsittely versio 6.1.2 SP1 Toukokuu 2012 1 (14) Tikon Ostolaskujenkäsittely versio 6.1.2 SP1 Asennusohje Toukokuu 2012 2 (14) Sisällysluettelo 1. Vaatimukset palvelimelle... 3 1.1..NET Framework 4.0... 3 1.2. Palvelimen Internet

Lisätiedot

13/20: Kierrätys kannattaa koodaamisessakin

13/20: Kierrätys kannattaa koodaamisessakin Ohjelmointi 1 / syksy 2007 13/20: Kierrätys kannattaa koodaamisessakin Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy

Lisätiedot

Perusarkkitehtuurin ja vuorovaikutuksen mallintamisen perusteita.

Perusarkkitehtuurin ja vuorovaikutuksen mallintamisen perusteita. Perusarkkitehtuurin ja vuorovaikutuksen mallintamisen perusteita. Arkkitehtuuriin vaikuttavat ympäristötekijät Jo kehittämisen alkuvaiheessa on tarpeellista hahmotella arkkitehtuurin perusratkaisu. Lähtökohdat

Lisätiedot

Ohjelmistojen suunnittelu

Ohjelmistojen suunnittelu Ohjelmistojen suunnittelu 581259 Ohjelmistotuotanto 154 Ohjelmistojen suunnittelu Software design is a creative activity in which you identify software components and their relationships, based on a customer

Lisätiedot

ISACA Finland 24.1.2008 OWASP 24.1.2008. The OWASP Foundation. Timo Meriläinen Antti Laulajainen. http://www.owasp.org

ISACA Finland 24.1.2008 OWASP 24.1.2008. The OWASP Foundation. Timo Meriläinen Antti Laulajainen. http://www.owasp.org ISACA Finland 24.1.2008 Timo Meriläinen Antti Laulajainen 24.1.2008 Copyright The Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the License. The Foundation

Lisätiedot

812347A Olio-ohjelmointi, 2015 syksy 2. vsk. IX Suunnittelumallit Proxy, Factory Method, Prototype ja Singleton

812347A Olio-ohjelmointi, 2015 syksy 2. vsk. IX Suunnittelumallit Proxy, Factory Method, Prototype ja Singleton 2015 syksy 2. vsk IX Suunnittelumallit Proxy, Factory Method, Prototype ja Singleton Sisältö 1. Johdanto luontimalleihin 2. Proxy 3. Factory Method 4. Prototype 5. Singleton Suunnittelumallit Proxy et.

Lisätiedot

in condition monitoring

in condition monitoring Etäteknologioiden automaatiosovellukset Using e-speak e in condition monitoring tutkija professori Hannu Koivisto Sisältö Tausta Globaali kunnonvalvontajärjestelmä E-speak globaalissa kunnonvalvontajärjestelmässä

Lisätiedot

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

Järjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri. Järjestelmäarkkitehtuuri Järjestelmäarkkitehtuuri (TK081702) ja Järjestelmäarkkitehtuuri Sovellukset ovat olemassa Järjestelmien uudistaminen vie yleensä arvioitua enemmän resursseja ja kestää arvioitua kauemmin Migration (Migraatio

Lisätiedot

Tietokannanhoitaja DBA (Database Administrator) ja tietokannan hallinta

Tietokannanhoitaja DBA (Database Administrator) ja tietokannan hallinta Tietokannanhoitaja DBA (Database Administrator) ja tietokannan hallinta Jouni Huotari Martti Laiho (materiaali on osa virtuaaliammattikorkeakoulun Tietokantaosaaja-opintokokonaisuutta) opintokokonaisuutta)

Lisätiedot

KODAK EIM & RIM VIParchive Ratkaisut

KODAK EIM & RIM VIParchive Ratkaisut ATK Päivät 2006 Mikkeli KODAK EIM & RIM VIParchive Ratkaisut 29.-30.5. 2006 Stefan Lindqvist HCIS Sales Specialist Health Care Information Systems Kodak Health Group 3/24/2013 1 Arkistoinnin haasteita

Lisätiedot

Integrointi. Ohjelmistotekniikka kevät 2003

Integrointi. Ohjelmistotekniikka kevät 2003 Integrointi Ohjelmistotekniikka kevät 2003 ERP (Toiminnanohjausjärjestelmä) Myynti Henkilöstö, palkanlaskenta Kirjanpito Myynti Myyjät Extranet Tietovarasto Laskutus, reskontrat Asiakas ERP Asiakasrekisteri

Lisätiedot

Avoimen ja yhteisen rajapinnan hallintasuunnitelma v.1.4

Avoimen ja yhteisen rajapinnan hallintasuunnitelma v.1.4 Avoimen ja yhteisen rajapinnan hallintasuunnitelma v.1.4 Tämän esityksen sisältö tausta avoimet toimittajakohtaiset rajapinnat (toimittajan hallitsemat rajapinnat) avoimet yhteiset rajapinnat (tilaajan

Lisätiedot

Järjestelmäarkkitehtuuri (TK081702) Avoimet web-rajapinnat

Järjestelmäarkkitehtuuri (TK081702) Avoimet web-rajapinnat Järjestelmäarkkitehtuuri (TK081702) SOA yleistyvät verkkopalveluissa Youtube Google... Avaavat pääsyn verkkopalvelun sisältöön. Rajapintojen tarjoamia tietolähteitä yhdistelemällä luodaan uusia palveluja,

Lisätiedot

Pilvi 9.0. Arkkitehtuuri. Esimerkki arkkitehtuurit

Pilvi 9.0. Arkkitehtuuri. Esimerkki arkkitehtuurit Esimerkki arkkitehtuurit Sivu 2/8 Sisällysluettelo 1. Johdanto... 3 1.1. Termejä... 3 2. Web hosting ilman kuormantasausta... 4 3. Web hosting kuormatasaus ja bastion... 5 3.1.... 5 3.2. Kuvaus... 5 4.

Lisätiedot

Integraatiotekniikan valinta - tie onnistumiseen.

Integraatiotekniikan valinta - tie onnistumiseen. Integraatiotekniikan valinta - tie onnistumiseen markus.andersson@commit.fi http://www.commit.fi 1 Agenda Järjestelmäintegroinnin nykytila Menestystekijät Teknologiatekijät Tekijöistä onnistunut projekti

Lisätiedot

IT Service Desk palvelun käyttöönotto palvelukeskuksissa

IT Service Desk palvelun käyttöönotto palvelukeskuksissa IT Service Desk palvelun käyttöönotto palvelukeskuksissa ValtioExpo 7.5.2009 Antti Karjalainen, Johtaja Hankkeen taustaa Tavoitteena yhden talous- ja henkilöstöhallinnon palvelukeskuksen perustaminen vuonna

Lisätiedot

Sisäilmaston mittaus hyödyntää langatonta anturiteknologiaa:

Sisäilmaston mittaus hyödyntää langatonta anturiteknologiaa: Ismo Grönvall/Timo/TUTA 0353064 Tehtävä 5: Sisäilmaston mittaus hyödyntää langatonta anturiteknologiaa: Ihmiset viettävät huomattavan osan (>90 %) ajasta sisätiloissa. Sisäilmaston laatu on tästä syystä

Lisätiedot

Kehitysohje. ETL-työkalu. ExtraTerrestriaLs / Aureolis Oy

Kehitysohje. ETL-työkalu. ExtraTerrestriaLs / Aureolis Oy Kehitysohje ETL-työkalu Versio Pvm Tekijä Kuvaus 0.1 15.1.2005 Timo Sallinen Ensimmäinen versio 0.2 26.1.2005 Timo Sallinen Täydenetty pohjaa 0.3 06.02.2005 Mika Suvanto Pieniä täydennyksiä ja oikolukua

Lisätiedot

SEPA diary. Dokumentti: SEPA_diary_PK_HS.doc Päiväys: Projekti: AgileElephant Versio: V0.3

SEPA diary. Dokumentti: SEPA_diary_PK_HS.doc Päiväys: Projekti: AgileElephant Versio: V0.3 AgilElephant SEPA Diary Petri Kalsi 55347A Heikki Salminen 51137K Tekijä: Petri Kalsi Omistaja: ElectricSeven Aihe: PK&HS Sivu 1 / 7 Dokumenttihistoria Revisiohistoria Revision päiväys: 29.11.2004 Seuraavan

Lisätiedot

FiSMA 1.1 Toiminnallisen laajuuden mittausmenetelmä Ohje monikerrosarkkitehtuurin mittaamiseen

FiSMA 1.1 Toiminnallisen laajuuden mittausmenetelmä Ohje monikerrosarkkitehtuurin mittaamiseen FiSMA 1.1 Monikerrosarkkitehtuuri 1 (7) FiSMA 1.1 Toiminnallisen laajuuden mittausmenetelmä Ohje monikerrosarkkitehtuurin mittaamiseen 1. Yleiset periaatteet FiSMA 1.1 -menetelmässä mitataan sovellusperiaatteen

Lisätiedot

Valppaan asennus- ja käyttöohje

Valppaan asennus- ja käyttöohje Versio Päiväys Muokkaaja Kuvaus 0.9 16.2.2006 Tuukka Laakso Korjattu versio 0.1 Antti Kettunen Alustava versio Sisällysluettelo 1 Johdanto...2 2 Valppaan asennus...3 2.1 Valppaan kääntäminen...3 2.2 Valmiiksi

Lisätiedot

Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista

Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista 582101 - Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista 1 Ohjelmistotuotannon työkaluuista Projektinhallintatyökalut (ei käsitellä tällä kurssilla) CASE- ja mallinnustyökalut (esim. Poseidon)

Lisätiedot

TeliaSonera. Marko Koukka. IT viikon seminaari 11.10. 2007 Identiteetin hallinta palveluna, Sonera Secure IDM

TeliaSonera. Marko Koukka. IT viikon seminaari 11.10. 2007 Identiteetin hallinta palveluna, Sonera Secure IDM TeliaSonera Marko Koukka IT viikon seminaari 11.10. 2007 Identiteetin hallinta palveluna, Sonera Secure IDM Sisällysluettelo Identiteetinhallinta operaattorin näkökulmasta Identiteetinhallinnan haasteet

Lisätiedot

Oliotietokannat. Nääsvillen Oliopäivät Pekka Kähkipuro Kehitysjohtaja, FT

Oliotietokannat. Nääsvillen Oliopäivät Pekka Kähkipuro Kehitysjohtaja, FT Oliotietokannat Nääsvillen Oliopäivät 2004 15.12.2004 Pekka Kähkipuro Kehitysjohtaja, FT pekka.kahkipuro@sysopen.fi Oliotietokanta Idea: pysyvän tiedon tallentaminen suoraan oliomuodossa Tietosisältö ja

Lisätiedot

TEEMA-ARTIKKELI. Arkkitehtuurit ja koodin laatu Tomas Nyström, Accenture

TEEMA-ARTIKKELI. Arkkitehtuurit ja koodin laatu Tomas Nyström, Accenture TEEMA-ARTIKKELI Arkkitehtuurit ja koodin laatu Tomas Nyström, Accenture Arkkitehtuuri ja koodin laatu ovat käsitteitä joista harvemmin löytyy kaksi täysin samaa mieltä olevaa henkilöä. Meille on jokaiselle

Lisätiedot