Ohjelmistokehitys COM-komponenttien avulla

Koko: px
Aloita esitys sivulta:

Download "Ohjelmistokehitys COM-komponenttien avulla"

Transkriptio

1 hyväksyjä: arvosana: päivämäärä: Ohjelmistokehitys COM-komponenttien avulla Isto Nikula Helsinki Ohjemistotuotantovälineet, seminaarialustus HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

2 Ohjelmistokehitys COM-komponenttien avulla Isto Nikula Ohjelmistotuotantovälineet, seminaarialustus Tietojenkäsittelytieteen laitos Helsingin yliopisto , 10 sivua Tässä seminaarialustuksessa käsitellään Microsoftin Component Object Model:ia (COM). Alustus keskittyy mallin perusteiden ja arkkitehtuurin esittelyyn yleisellä tasolla. Lisäksi esitetään COM:in ratkaisut yleisiin ongelmiin, jotka komponenttipohjaisen arkkitehtuurin tulisi ratkaista. Lopuksi tarkastellaan lyhyesti COM:in kanssa kilpailevia teknologioita. Seminaariesityksessä käsitellään edellisten lisäksi käytännön esimerkkejä COM:in käytöstä Windows-alustalla. Avainsanat: ohjelmistotuotanto, komponenttipohjaiset arkkitehtuurit, binääristandardi II

3 SISÄLTÖ 1 JOHDANTO YLEISKATSAUS Binääristandardi Rajapinnat Tunniste Lyhyesti arkkitehtuurista ONGELMAKENTTÄ KÄYTETTÄVYYS Alustat Kehitysympäristö Vaihtoehtoiset ratkaisut YHTEENVETO...8 LÄHTEET...9 III

4 1 JOHDANTO Component Object Model (COM [Com95]) on Microsoftin määrittelemä ja toteuttama ohjelmistoarkkitehtuuri, joka helpottaa komponenttien yhteiskäyttöä. COM:in avulla eri valmistajien tekemät komponentit voidaan yhdistää toimivaksi kokonaisuudeksi. Distributed Component Object Model (DCOM [BrK98]) on COM:in laajennos, jota käyttämällä ei tarvitse rajoittua samalla koneella oleviin komponentteihin, vaan yhteiskäyttöiset komponentit voivat sijaita myös verkossa. COM kuuluu ns. keskikerrosohjelmistoihin (engl. middleware). Näiden tarkoitus on peittää ohjelmoijilta alla olevan alustan erikoisuudet ja antaa yhtenäinen rajapinta sovellusten toteuttamiseen [Mil99]. 2 YLEISKATSAUS Microsoft kehitti kehyksen dokumenttien yhdistämiseen ja hallintaan toimistosovelluspakettiaan (Microsoft Office suite) varten vuonna Myöhemmin tajuttiin, että tämä kehys, OLE versio 1, oli vain erikoistapaus komponenttien yhteiskäytöstä [Bro96]. Vuonna 1996 julkaistu OLE:n versio 2 sisälsi suuria muutoksia edeltäjäänsä nähden. Se käytti alustanaan komponenttien yhteiskäyttöä helpottavaa mekanismia, COM:ia. COM:in aikaiset versiot eivät juurikaan tukeneet komponenttien hajautusta ja tätä varten arkkitehtuuria laajennettiin vuonna 1996 hajautettujen komponenttien tuella (DCOM). COM- ja DCOM-teknologioita on järkevää käsitellä yhtenä teknologiana [MoL97], joka tarjoaa palvelut komponenttien väliseen yhteiskäyttöön. Kun jatkossa viitataan COM-teknologiaan, tarkoitetaan tällä sekä COM- että DCOM-teknologioita. 2.1 Binääristandardi COM määrittää ohjelmointirajapinnan (API), jota noudattamalla eri ohjelmointikielillä toteutetut komponentit voivat toimia yhdessä. Jotta yhteistoiminta olisi mahdollista, on komponenttien käytettävä Microsoftin määrittämää 1

5 binäärirakennetta. Komponenttien funktioita tulee kutsua muistissa sijaitsevien virtuaalitaulujen kautta ja tästä johtuen käytettävän ohjelmointikielen on tuettava funktiokutsuja osoittimien kautta [WiK94]. Morrisin ja Litvakin [MoL97] mukaan riittää, että kääntäjä osaa muuttaa kielen rakenteet binäärirakennetta vastaavaksi. Toinen binääristandardin vaatimus on, että kaikkien komponenttien on toteutettava IUnknown-rajapinta [WiK94]. IUnknown sisältää metodien QueryInterface, AddRef ja Release esittelyt. QueryInterface-metodia käyttäen asiakkaan tulee voida tarkastaa tukeeko komponentti jotain tiettyä rajapintaa ja saada osoitin kyseiseen rajapintaan. Muut rajapinnan metodit liittyvät komponentin elinkaaren hallintaan. 2.2 Rajapinnat Komponenttia käytetään aina jonkun sen toteuttaman rajapinnan metodin kautta (kuvio 1). Rajapinnat noudattavat binääristandardissa kuvattuja periaatteita (ks. 2.1). Kutsujalla on siis osoitin johonkin komponentin toteuttamaan rajapintaan ja se käyttää tätä osoitinta kutsuessaan rajapinnan määrittämiä palveluja. Esimerkiksi kaikki OLEpalvelut ovat COM-rajapintoja. Williams ja Kindel [WiK94](käännös kirjoittajan) määrittelevät COM-rajapinnan seuraavasti: COM-rajapinta on vahvasti tyypitetty sopimus ohjelmistokomponenttien välillä, joka sisältää pienen mutta hyödyllisen kokoelman semanttisesti samankaltaisia operaatioita. Vahva tyypitys viittaa määritelmässä siihen, että jokaisella rajapinnalla on yksilöllinen tunniste (ks. 2.3). Lisäksi huomattavaa on, että rajapinta ei ole luokka eikä komponentti. COM-komponentti voi toteuttaa useita rajapintoja (kuvio2). Tämä piirre on olennainen sen takia, että rajapinnat ovat loogisesti muuttumattomia. Loogisuus tarkoittaa tässä sitä, että teknisesti rajapinnan muuttaminen ei ole mahdotonta, mutta komponenttien kehittäjien tulisi noudattaa rajapinnan muuttumattomuuden periaatetta [WiK94]. Muutokset johonkin olemassa olevaan rajapintaan tulisi toteuttaa uutena 2

6 rajapintana (tai uusina rajapintoina). Näin säilytetään yhteensopivuus vanhaa rajapintaa käyttävien komponenttien kanssa eli ratkaistaan versionhallintaan liittyvät ongelmat. Osoitin rajapintaan komponentti Kuvio 1: Asiakas käyttää COM-komponenttia rajapintaosoittimen kautta [Com95]. IClock ITimer IAlarm Asiakassovellus Kellokomponentti Kuvio 2: Kello-komponentti. IClock-rajapinta tarjoaa metodit ajan asettamiseen ja lukemiseen, IAlarm ja ITimer tarjoavat herätys- ja ajanottopalvelut [MoL97]. 2.3 Tunniste Jokainen COM-rajapinta ja -komponentti on voitava tunnistaa yksikäsitteisesti, jotta palvelupyynnöt ohjautuvat oikeille komponenteille. COM:ssa käytetään 128-bittisiä kokonaislukuja tähän tarkoitukseen. Näistä tunnisteista käytetään lyhennettä GUID (Globally Unique IDentifier). GUID:t jakaantuvat edelleen komponentti- (CLSID) ja rajapintatunnisteeseen (IID). Microsoft tarjoaa työkalun (uuidgen) tunnisteiden automaattiseen generoimiseen. Ohjelmoijat voivat generoida tunnisteita myös COM:n API-funktion CoCreateGuid avulla. 2.4 Lyhyesti arkkitehtuurista Komponentin ja komponentin käyttäjän välinen yhteistoiminta pohjautuu asiakaspalvelin-malliin [Wac98, WiK94]. Asiakas on palvelun kutsuja ja komponentti sen tarjoaja eli palvelin. Monissa käytännön toteutuksissa kaksi komponenttia käyttävät 3

7 toistensa palveluja ristiin eli toimivat samaan aikaan sekä asiakkaana että palvelimena. Käyttöjärjestelmän osana tulee olla toteutettu komponenttikirjasto, jotta COM:ia voidaan käyttää. Esimerkiksi Windows 9x - ja NT -järjestelmissä komponenttikirjasto on toteutettu tiedostossa ole32.dll. Komponenttikirjaston ansiosta komponenttien yhteiskäyttö on mahdollista ja ohjelmoijan kannalta samanlaista komponentin sijainnista riippumatta. Jokainen komponentti on rekisteröitävä, jotta sitä voidaan kutsua. Komponentin luominen tapahtuu seuraavien askelien kautta (kuvio 3) [MoL97]: 1. Asiakas käynnistää COM API:n luodakseen uuden komponentin. 2. COM paikallistaa komponentin toteutuksen ja käynnistään palvelinprosessin komponenttia varten 3. Palvelinprosessi luo komponentin ja palauttaa osoittimen pyydettyyn rajapintaan. 4. Asiakas voi tämän jälkeen käyttää luotua komponenttia saamansa osoittimen kautta. 4) komponentti asiakas 3) palvelin 1) COM 2) Kuvio 3: Komponentin luominen [Com95]. Jokainen komponentti suoritetaan palvelimessa ja yksi palvelin voi tukea useita komponentteja. Asiakkaan ja palvelimen väliseen kommunikaatioon on 3 erilaista tapaa [MoL97] (taulukko 1). 4

8 Taulukko 1: Asiakkaan ja palvelimen kommunikontitavat. Palvelimen sijainti asiakkaaseen verrattuna Kommunikointimekanismi Palvelintiedoston muoto (Windows) samassa prosessissa Funktiokutsut.DLL samalla koneella eri prosesseissa RPC.EXE eri koneilla DCE RPC (DCOM).EXE 3 ONGELMAKENTTÄ Tässä kappaleessa keskitytään ongelmiin, jotka yleiskäyttöisen komponenttipohjaisen arkkitehtuurin tulisi ratkaista. Jokaisen ongelman kohdalla kuvataan, miten ongelma on ratkaistu COM:ssa. Ongelma - Yhteiskäyttöisyys: miten ohjelmistosuunnittelijat voivat luoda omia yksilöllisiä komponentteja ja silti olla varmoja siitä, että näitä komponentteja voidaan käyttää yhdessä toisten ohjelmistosuunnittelijoiden tekemien komponenttien kanssa? Ratkaisu: Komponenttien metodeja kutsutaan COM:ssa aina rajapintojen kautta ja rajapinnat noudattavat binääristandardia (ks. 2.1, 2.2) [WiK94]. Näin ollen eri ohjelmistosuunnittelijoiden tekemät komponentit toimivat yhdessä, jos ne noudattavat COM:in määrityksiä. Ongelma Versiointi: Miten voidaan päivittää yksi järjestelmän komponentti ilman, että tarvitsee päivittää kaikki järjestelmän komponentit? Ratkaisu: Rajapinnat ovat muuttumattomia ja uudet ominaisuudet toteutetaan uusina rajapintoina. Jos komponentin toteutusta muutetaan, niin komponentin on edelleen toteutettava vanhat rajapinnat. Asiakas aloittaa kommunikoinnin palvelimen kanssa aina tiedustelemalla tukeeko palvelin haluttua rajapintaa metodilla QueryInterface. Näin sekä uudet asiakkaat, jotka osaavat tiedustella uusia rajapintoja että vanhat asiakkaat, jotka käyttävät vanhoja rajapintoja, tulevat palvelluiksi oikealla tavalla [WaC98]. 5

9 Ongelma Kieliriippumattomuus: Miten eri ohjelmointikielillä kirjoitetut komponentin voivat toimia yhdessä? Ratkaisu: COM määrittelee binäärisen komponenttistandardin eikä lähdekoodistandardia. Tästä johtuen komponentteja voidaan toteuttaa lukuisilla erilaisilla ohjelmointikielillä ja silti käyttää komponentteja yhdessä. Ongelma Läpinäkyvyys: Miten saadaan ohjelmoijan kannalta samankaltaiseksi komoponentin käyttö sen sijainnista riippumatta? Ratkaisu: COM tukee prosessien välistä yhteiskäyttöisyyttä ja sisältää kaikki tarvittavat mekanismit komponenttien paikallistamiseen ja kutsumiseen. Nämä mekanismit sijaitsevat komponenttikirjastossa, joka on toteutettu käyttöjärjestelmän palveluna (ks. 2.4). Komponenttia käytetään aina osoittimen kautta ja osoitin sisältää kaikki asiakkaan ja komponentin väliseen yhteydenpitoon tarvittavat tiedot: IP-osoite, portti ja komponentin ID [WaC98]. 4 KÄYTETTÄVYYS Tässä kappaleessa tarkastellaan COM:in käytön kannalta tärkeitä seikkoja. Näihin kuuluvat alustat, joilla COM:ia voidaan käyttää ja alustan COM:ia tukevat palvelut. Lisäksi tarkastellaan yleisimpiä vaihtoehtoja COM-arkkitehtuurille. 4.1 Alustat Komponentit eivät ole suoraan siirrettävissä alustalta toiselle, koska COM-perustuu binääristandardiin. Komponentit on käännettävä uudelleen tai vaihtoehtoisesti käytettävä binäärikooditulkkia. Binäärimuodon etuja ovat suoritusnopeus ja tehokas alustakohtaisten ominaisuuksien käyttö. Windows 9x ja NT -alustat tukevat COM:ia parhaiten [MoL97]. Microsoft on julkaissut COM:sta version myös MacOS:lle ja UNIX-versiota on kehittänyt Microsoftin kumppani Software AG. COM on saanut yleisen hyväksynnän 6

10 teollisuudessa Windows-alustoille tehtävässä ohjelmistokehityksessä ja COMyhteensopivia palveluja on kehitetty Windows-alustoille laajasti. 4.2 Kehitysympäristö Kehitysympäristöjen ja käyttöjärjestelmän tukipalveluiden olemassaolo ja niiden hankkimiskustannukset ovat ratkaisevia tekijöitä ohjelmistokehityksen tehokkuuden ja mielekkyyden kannalta. Microsoftin tarjoamat halvat kehitysvälineet, kuten Visual C++ ja Visual Basic, tekevät COM-komponenttien kehityksen ja käytön Windowsalustoilla helpoksi. Lisäksi Windows-alustoilla voidaan käyttää Microsoftin komponenttipalveluja [Mic98], jotka laajentavat komponenttien käyttömahdollisuuksia (taulukko 2). Muilla alustoilla tilanne ei ole yhtä hyvä. Taulukko 2: Microsoftin komponenttipalveluiden COM-komponenttien käyttöön tuomat lisäominaisuudet. Ominaisuus Transaktiot, tietoturva Komponenttien käyttö www-palveluissa Asynkroninen kommunikointi sovellusten välillä Mahdollistava tukipalvelu Microsoft Transaction Server Interner Information Server Microsoft Message Queue 4.3 Vaihtoehtoiset ratkaisut Hajautetuista komponenttiarkkitehtuurimalleista läheisesti Microsoftin COMarkkitehtuuria muistuttaa Object Management Group:in Common Object Request Broker Architecture (CORBA). Plášilin ja Stalin [PlS98] mukaan COM, CORBA ja Java RMI -tekniikat perustuvat samoihin periaatteisiin suunnittelumallien [Gam95] tasolla. Heidän mukaan nämä tekniikat jakavat yhteisen ongelma-avaruuden ja on toteutettu samojen periaatteiden pohjalta, mutta niiden kuvaukset puhuvat eri kieltä. Chung et al. [Chu98] yhtyy edellisten näkemykseen COM:n ja CORBA:n osalta. COM:in eduksi CORBA:an nähden voidaan katsoa myös alustakohtainen yhtenäisyys: COM:lle on yleensä yksi toteutus alustaa kohti kun taas CORBA:lle useita erilaisia. 7

11 Web-sovelluskehityksessä on havaittu jakaantumista kahteen teknologialeiriin, joista toinen on keskittynyt Microsoftin COM:in, Internet Exprolorer:in ja ActiveX:n ympärille, ja toinen taas CORBAn, Netscapen ja Java-teknologian ympärille [MoL97]. Selvyyttä siitä, kumpi näistä on parempi, ei kuitenkaan ole. 5 YHTEENVETO Microsoftin COM määrittelee arkkitehtuurin, binääristandardin ja infrastruktuurin komponenttiperustaisten ohjelmistojen kehittämiseen ja käyttöön. Malli erottaa toteutukset niiden rajapinnoista. COM on kieliriippumaton ja ratkaisee versioinnin ongelman komponenttien monirajapintaisuuden avulla. COM:in avulla hajautettujen komponenttiperustaisten palvelujen kehittäminen on helppoa, sillä ohjelmoijien ei tarvitse välittää komponenttien sijainnista. COM on tehokas ja toimiva ratkaisu Windows-alustalla. Windows-alustan lukuisat tukipalvelut ja erinomainen kehitysympäristö tekevät COM-komponenttien käytöstä ja kehityksestä helppoa ja nopeaa. COM:in käytettävyys muilla alustoilla riippuu alustakohtaisesta kehitysympäristöstä. Pelkkä mahdollisuus COM:in käyttöön jollakin alustalla ei välttämättä riitä, vaan myös tukipalveluja tarvitaan. Tärkeiksi seikoiksi käyttöönoton kannalta nousevat alkukustannukset. Windows-alustalla käyttöönottokustannukset ovat alhaiset. COM:in kanssa kilpailevat tekniikat kuten CORBA ja Java RMI keskittyvät samaan ongelma-avaruuteen. Selvää paremmuutta ei näiden välillä ole ja jokaisella näistä on omat etunsa ja ongelmansa. 8

12 LÄHTEET [BrK98] Brown, N., Kindel, C., The Distributed Component Object Model Protocol DCOM/1.0. Homepage for Microsoft COM/Resourses/Specs, [ ] [Bro96] Brockschmidt, K., What OLE is Really About. MSDN Online Library/Technical Articles/Component Object Model/OLE, [ ] [Chu98] Chung, P. et al., DCOM and CORBA. C++ Report 10, 1 (January 1998), [Com95] The Component Object Model Specification. Homepage for Microsoft COM/Resourses/Specs, [ ] [Gam95] Gamma, E. et al., Design Patterns : elements of reusable objectoriented software. Addison-Wesley professional computing series, Addison-Wesley, [Mic98] Microsoft Component Services a Technical Overview. Homepage for Microsoft COM/White Papers, [ ] [Mil99] Milojicic, D., Middleware s role, today and tomorrow. IEEE Concurrency 7, 2 (April-June 1999),

13 [MoL97] Morris, E., Litvak, E., Component Object Model (COM), DCOM, and Related Capabilities. Carnegie Mellon Software Engineering Institute [online]/products and Services/Information Repositories/Software Technology Review/Technology Descriptions, [ ] [PlS98] Plášil, F., Stal, M., An architectural view of distributed objects and components in CORBA, Java RMI and COM/DCOM. Software Concepts and Tools 19, 1 (June 1998), [WaC98] Wang, Y., Chung, P., Exploring Customization of Distributed Systems using COM. IEEE Concurrency Magazine, (July/August/September 1998), -. [ ] [WiK94] Williams, S., Kindel, C., The Component Object Model: A Technical Overview. MSDN Online Library/Technical Articles/Component Object Model, [ ] 10

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

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

Tietojärjestelmäarkkitehtuurit

Tietojärjestelmäarkkitehtuurit Tietojärjestelmäarkkitehtuurit ITK130 Johdatus ohjelmistotekniikkaan Syksy 2003 Sami Kollanus 1 Aluksi Tietojärjestelmäarkkitehtuurit vs. ohjelmistoarkkitehtuurit Pohjana Tietojärjestelmäarkkitehtuurit

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

Ohjelmistoarkkitehtuurit. Syksy 2008

Ohjelmistoarkkitehtuurit. Syksy 2008 Ohjelmistoarkkitehtuurit Syksy 2008 Kai Koskimies 1 Tervetuloa Kuopion yliopisto, Oulun yliopisto, Tampereen yliopisto, Teknillinen korkeakoulu, Turun yliopisto, Vaasan yliopisto, Tampereen teknillinen

Lisätiedot

Visma Software Oy

Visma Software Oy pidättää itsellään oikeuden mahdollisiin parannuksiin ja/tai muutoksiin tässä oppaassa ja/tai ohjelmassa ilman eri ilmoitusta. Oppaan ja siihen liittyvän muun materiaalin kopiointi on kielletty ilman :n

Lisätiedot

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo Concurrency - Rinnakkaisuus Group: 9 Joni Laine Juho Vähätalo Sisällysluettelo 1. Johdanto... 3 2. C++ thread... 4 3. Python multiprocessing... 6 4. Java ExecutorService... 8 5. Yhteenveto... 9 6. Lähteet...

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

ELM GROUP 04. Teemu Laakso Henrik Talarmo

ELM GROUP 04. Teemu Laakso Henrik Talarmo ELM GROUP 04 Teemu Laakso Henrik Talarmo 23. marraskuuta 2017 Sisältö 1 Johdanto 1 2 Ominaisuuksia 2 2.1 Muuttujat ja tietorakenteet...................... 2 2.2 Funktiot................................

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

Hajautettujen järjestelmien rakentaminen - Jini. Ohjelmistotuotantovälineet-seminaarin esitelmä

Hajautettujen järjestelmien rakentaminen - Jini. Ohjelmistotuotantovälineet-seminaarin esitelmä Hajautettujen järjestelmien rakentaminen - Jini Ohjelmistotuotantovälineet-seminaarin esitelmä Anu K. Leponiemi (anu@lepo.net) Helsingin yliopisto Tietojenkäsittelytieteen laitos Helsinki 2000 SISÄLLYSLUETTELO

Lisätiedot

Sisällys. JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta. Abstraktin luokan idea. Abstrakti luokka ja metodi. Esimerkki

Sisällys. JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta. Abstraktin luokan idea. Abstrakti luokka ja metodi. Esimerkki Sisällys JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta Abstrakti luokka ja metodi Rajapintamäärittely (interface) Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto 13.10.2000 E.

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

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

Computing Curricula 2001 -raportin vertailu kolmeen suomalaiseen koulutusohjelmaan

Computing Curricula 2001 -raportin vertailu kolmeen suomalaiseen koulutusohjelmaan Computing Curricula 2001 -raportin vertailu kolmeen suomalaiseen koulutusohjelmaan CC1991:n ja CC2001:n vertailu Tutkintovaatimukset (degree requirements) Kahden ensimmäisen vuoden opinnot Ohjelmistotekniikan

Lisätiedot

Ohjelmien. Rakenna palikoista pilvenpiirtäjä. Komponentit tehostavat ohjelmointia. Komponenttiohjelmointi. tuotteistukseen

Ohjelmien. Rakenna palikoista pilvenpiirtäjä. Komponentit tehostavat ohjelmointia. Komponenttiohjelmointi. tuotteistukseen Komponentit tehostavat ohjelmointia Rakenna palikoista pilvenpiirtäjä Komponenttiohjelmointi tarjoaa avun kaikenkokoisten sovellusten toteuttamiseen yksittäiselle työpöydälle, koko organisaatiolle tai

Lisätiedot

Ohjelmistoarkkitehtuurit. Syksy 2010

Ohjelmistoarkkitehtuurit. Syksy 2010 Ohjelmistoarkkitehtuurit Syksy 2010 Kai Koskimies Tervetuloa Oulun yliopisto, Tampereen yliopisto, Turun yliopisto, Tampereen teknillinen yliopisto, Vaasan yliopisto Kurssin tavoitteet Arkkitehtuurin roolin

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

Visma Nova Webservice Versio 1.1 /

Visma Nova Webservice Versio 1.1 / Visma Nova Webservice Versio 1.1 / 31.10.2018 pidättää itsellään oikeuden mahdollisiin parannuksiin ja/tai muutoksiin tässä oppaassa ja/tai ohjelmassa ilman eri ilmoitusta. Oppaan ja siihen liittyvän muun

Lisätiedot

IoT-järjestelmän ja ulkovalaistuksen ohjauksen hankinta -markkinavuoropuhelutilaisuus

IoT-järjestelmän ja ulkovalaistuksen ohjauksen hankinta -markkinavuoropuhelutilaisuus IoT-järjestelmän ja ulkovalaistuksen ohjauksen hankinta -markkinavuoropuhelutilaisuus Teknologia-arkkitehtuuri ja rajapinnat/integraatiot 21.3.2019 Sisältö Alustojen asemoituminen ja pilvivalmius Arkkitehtuuriperiaatteet

Lisätiedot

Windows Server 2012 asentaminen ja käyttöönotto, Serverin pyörittämisen takia tarvitaan

Windows Server 2012 asentaminen ja käyttöönotto, Serverin pyörittämisen takia tarvitaan Aram Abdulla Hassan Windows Server 2012 asentaminen ja käyttö 1 Windows Server 2012 asentaminen ja käyttöönotto, Serverin pyörittämisen takia tarvitaan Hyper-V ohjelma. Riipu minkälaista Serveria yritämme

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

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

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

Ohjelmistoarkkitehtuurit. Syksy 2007

Ohjelmistoarkkitehtuurit. Syksy 2007 Ohjelmistoarkkitehtuurit Syksy 2007 Kai Koskimies 1 Tervetuloa Tampereen yliopisto, Teknillinen korkeakoulu, Turun yliopisto 2 Kurssin tavoitteet Arkkitehtuuritason peruskäsitteiden ymmärtäminen Arkkitehtuurien

Lisätiedot

Malliperustainen ohjelmistokehitys - MDE Pasi Lehtimäki

Malliperustainen ohjelmistokehitys - MDE Pasi Lehtimäki Malliperustainen ohjelmistokehitys - MDE 25.9.2007 Pasi Lehtimäki MDE Miksi MDE? Mitä on MDE? MDA, mallit, mallimuunnokset Ohjelmistoja Eclipse, MetaCase Mitä jatkossa? Akronyymiviidakko MDE, MDA, MDD,

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

Opetusteknologian standardoinnin tilanne. Antti Auer

Opetusteknologian standardoinnin tilanne. Antti Auer Opetusteknologian standardoinnin tilanne Antti Auer 24.8.2001 Standardoinnin käsite Yleisesti opetusteknologian standardoinniksi kutsutulla kehitystyöllä viitataan erilaisiin ja eri tasoisiin toimintoihin.

Lisätiedot

Ohjelmistoarkkitehtuurit. Kevät

Ohjelmistoarkkitehtuurit. Kevät Ohjelmistoarkkitehtuurit Kevät 2012-2013 Johannes Koskinen http://www.cs.tut.fi/~ohar/ Tervetuloa Oulun yliopisto, Tampereen yliopisto, Turun yliopisto, Tampereen teknillinen yliopisto 2 Kurssin tavoitteet

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

Yhteentoimivuusalusta: Miten saadaan ihmiset ja koneet ymmärtämään toisiaan paremmin?

Yhteentoimivuusalusta: Miten saadaan ihmiset ja koneet ymmärtämään toisiaan paremmin? Yhteentoimivuusalusta: Miten saadaan ihmiset ja koneet ymmärtämään toisiaan paremmin? Avoin verkkoalusta ihmisen ja koneen ymmärtämien tietomääritysten tekemiseen Riitta Alkula 20.3.2019 Esityksen sisältö

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

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

15. Ohjelmoinnin tekniikkaa 15.1

15. Ohjelmoinnin tekniikkaa 15.1 15. Ohjelmoinnin tekniikkaa 15.1 Sisällys For-each-rakenne. Geneerinen ohjelmointi. Lueteltu tyyppi enum. 15.2 For-each-rakenne For-rakenteen variaatio taulukoiden ja muiden kokoelmien silmukoimiseen:

Lisätiedot

Uutta Remote Support Platform 3.0 -versiossa

Uutta Remote Support Platform 3.0 -versiossa Uutta Remote Support Platform for SAP Business One Asiakirjaversio: 1.0 2012-10-08 Kaikki maat Typografiset merkintätavat Kirjasintyyli Esimerkki Näytöstä lainatut sanat tai merkit. Näitä ovat kenttien

Lisätiedot

Sisäänrakennettu tietosuoja ja ohjelmistokehitys

Sisäänrakennettu tietosuoja ja ohjelmistokehitys Sisäänrakennettu tietosuoja ja ohjelmistokehitys Petri Strandén 14. kesäkuuta, 2018 Petri Strandén Manager Cyber Security Services Application Technologies Petri.stranden@kpmg.fi Petri vastaa KPMG:n Technology

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

Harri Kaukovuo Senior Sales Consultant Technology Sales Oracle Finland Oy

Harri Kaukovuo Senior Sales Consultant Technology Sales Oracle Finland Oy Harri Kaukovuo Senior Sales Consultant Technology Sales Oracle Finland Oy Oracle10 g Web Services Sisältö Service Oriented Architecture (SOA) Web Services Service Oriented Architecture Service Oriented

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

J2EE vs..net Olli Sakari

J2EE vs..net Olli Sakari TEEMA-ARTIKKELI J2EE vs..net Olli Sakari J2EE ja.net ovat tietojärjestelmäteknologioita, joiden varaan suuri osa tulevaisuuden tietojärjestelmistä tulee rakentumaan. Molemmat teknologioista tarjoavat välineitä

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

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

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit Ohjelmiston testaus ja laatu Ohjelmistotekniikka elinkaarimallit Vesiputousmalli - 1 Esitutkimus Määrittely mikä on ongelma, onko valmista ratkaisua, kustannukset, reunaehdot millainen järjestelmä täyttää

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

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

Ohjelmistojen mallintaminen. Luento 11, 7.12.

Ohjelmistojen mallintaminen. Luento 11, 7.12. Ohjelmistojen mallintaminen Luento 11, 7.12. Viime viikolla... Oliosuunnittelun yleiset periaatteet Single responsibility eli luokilla vain yksi vastuu Program to an interface, not to concrete implementation,

Lisätiedot

Tiedonsiirto- ja rajapintastandardit

Tiedonsiirto- ja rajapintastandardit Tiedonsiirto- ja rajapintastandardit Viitekehys Julkishallinnon perustietovarantojen rajapinnat (PERA) työryhmän tulokset valmiit syksyllä 2011 Määrittelee teknisen arkkitehtuuriratkaisun tietovarantojen

Lisätiedot

L models. Käyttöohje. Ryhmä Rajoitteiset

L models. Käyttöohje. Ryhmä Rajoitteiset Teknillinen korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö Lineaaristen rajoitteiden tyydyttämistehtävän ratkaisija L models Käyttöohje Ryhmä Rajoitteiset Versio Päivämäärä Tekijä Muutokset 0.1

Lisätiedot

Järjestelmäarkkitehtuuri (TK081702) SOA, Service-oriented architecture SOA,

Järjestelmäarkkitehtuuri (TK081702) SOA, Service-oriented architecture SOA, Järjestelmäarkkitehtuuri (TK081702) SOA SOA-arkkitehtuuri perustuu xml:ään ja Web Services teknologioihin Mahdollistaa joustavan mukautumisen tuleviin muutoksiin Kustannustehokas Toteutukset perustuvat

Lisätiedot

ANVIA PILVI. kotimaisia pilvipalveluita yrityksille 24/7

ANVIA PILVI. kotimaisia pilvipalveluita yrityksille 24/7 ANVIA PILVI kotimaisia pilvipalveluita yrityksille 24/7 Anvia Pilvi TIESITKÖ, ETTÄ YLI PUOLET SUOMALAISYRITYKSISTÄ KÄYTTÄÄ PILVIPALVELUITA? Anvia Pilvi on suomalaisille yrityksille tarkoitettu palvelu,

Lisätiedot

Qt kaikkialla? 9.4.2010

Qt kaikkialla? 9.4.2010 Qt kaikkialla? Helsinki Tammasaarenkatu 5, 00180 Helsinki, Tel. 09 431 551 Tampere Satakunnankatu 18, 33210 Tampere, Tel. 03 315 861 Turku Lemminkäisenkatu 32 A, 20520 Turku, Tel. 02 263 571 Qt Qton C++

Lisätiedot

Rajapinnasta ei voida muodostaa olioita. Voidaan käyttää tunnuksen tyyppinä. Rajapinta on kuitenkin abstraktia luokkaa selvästi abstraktimpi tyyppi.

Rajapinnasta ei voida muodostaa olioita. Voidaan käyttää tunnuksen tyyppinä. Rajapinta on kuitenkin abstraktia luokkaa selvästi abstraktimpi tyyppi. 11. Rajapinnat 11.1 Sisällys Johdanto. Abstrakti luokka vai rajapinta? Rajapintojen hyötyjä. Kuinka rajapinnat määritellään ja otetaan käyttöön? Eläin, nisäkäs, kissa ja rajapinta. Moniperiytyminen rajapintojen

Lisätiedot

Työkalut ohjelmistokehityksen tukena

Työkalut ohjelmistokehityksen tukena 1 Työkalut ohjelmistokehityksen tukena Johdanto 2 Työkaluja eli ohjelmistotyötä tukevia ohjelmistoja käytetään ohjelmistoalan yrityksissä nykypäivänä paljon. Työkalut auttavat ohjelmistoalan ihmisiä suunnittelemaan

Lisätiedot

Aurinkoenergiajärjestelmien etäseurantajärjestelmä

Aurinkoenergiajärjestelmien etäseurantajärjestelmä Aurinkoenergiajärjestelmien etäseurantajärjestelmä Janne Raitaniemi (Bitec Oy) Saku Rantamäki (SAMK) Aurinkoenergiajärjestelmien luonne järjestelmien odotettu elinkaari on pitkä investoinnin kannattavuus

Lisätiedot

SISÄLLYSLUETTELO. Sisällysluettelo. ALKUSANAT... III Palaute... III Kirjailijat... III

SISÄLLYSLUETTELO. Sisällysluettelo. ALKUSANAT... III Palaute... III Kirjailijat... III Sisällysluettelo V SISÄLLYSLUETTELO ALKUSANAT... III Palaute... III Kirjailijat... III JOHDANTO... XV Kirjan sisällöstä... XV Kirjan lukemiseen liittyviä ohjeita... XV Viime hetken lisäys...xvi OSA I DELPHI

Lisätiedot

812347A Olio-ohjelmointi, 2015 syksy 2. vsk. VII Suunnittelumallit Adapter ja Composite

812347A Olio-ohjelmointi, 2015 syksy 2. vsk. VII Suunnittelumallit Adapter ja Composite 2015 syksy 2. vsk VII Suunnittelumallit Adapter ja Composite Sisältö 1. Johdanto rakennemalleihin 2. Adapter (Sovitin) 3. Composite (Rekursiokooste) Suunnittelumallit Adapter ja Composite 2 VII.1 Johdanto

Lisätiedot

Software engineering

Software engineering Software engineering Alkuperäinen määritelmä: Naur P., Randell B. (eds.): Software Engineering: A Report on A Conference Sponsored by the NATO Science Committee, NATO, 1968: The establishment and use of

Lisätiedot

Ohjelmistoarkkitehtuurit 2016. Kevät 2016 -käytäntöjä

Ohjelmistoarkkitehtuurit 2016. Kevät 2016 -käytäntöjä Ohjelmistoarkkitehtuurit Kevät 2016 -käytäntöjä Samuel Lahtinen http://www.cs.tut.fi/~ohar/ 13.1.2016 1 Tervetuloa Tampereen teknillinen yliopisto, Oulun yliopisto, Turun yliopisto 13.1.2016 2 Tiedonvälitys

Lisätiedot

Directory Information Tree

Directory Information Tree IP-osoite / Host taulu, jossa neljä 8 bit lukua esim. 192.168.0.10/24, unix, linux, windows windows\system32\drivers\etc DNS (Domain Name System), muuttaa verkkotunnuksen IPosoitteeksi. X.500 perustuu

Lisätiedot

Jouko Nielsen. Ubuntu Linux

Jouko Nielsen. Ubuntu Linux Jouko Nielsen Ubuntu Linux 19.4.2017 SISÄLLYS 1 UBUNTU... 3 2 LUETTELO VERSIOISTA... 4 3 OMINAISUUDET... 4 4 ASENNUS... 5 5 UBUNTU SERVER... 9 LÄHTEET... 10 3 1 UBUNTU Ubuntu on debian pohjainen Linux

Lisätiedot

Avoimen ja yhteisen rajapinnan hallintamalli

Avoimen ja yhteisen rajapinnan hallintamalli Avoimen ja yhteisen rajapinnan hallintamalli 1.10.2015 Sisältö tausta avoimet toimittajakohtaiset rajapinnat (toimittajan hallitsemat rajapinnat) avoimet yhteiset rajapinnat (tilaajan hallitsemat rajapinnat)

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

.NET ajoympäristö. Juha Järvensivu 2007

.NET ajoympäristö. Juha Järvensivu 2007 .NET ajoympäristö Juha Järvensivu juha.jarvensivu@tut.fi 2007 Käännösprosessi C# lähdekoodi C# kääntäjä CILtavukoodi JITkäännös Ajettava natiivikoodi Kehitysympäristössä ohjelmoijan toimesta Ajonaikana.NET

Lisätiedot

Web-palvelukonsepti tarjoaa yhden tavan toteuttaa SOA. Tämä tapa perustuu Web-palvelustandardien käyttöön: palvelut kuvataan WSDL-kielen avulla ja

Web-palvelukonsepti tarjoaa yhden tavan toteuttaa SOA. Tämä tapa perustuu Web-palvelustandardien käyttöön: palvelut kuvataan WSDL-kielen avulla ja 1 Web-palvelukonsepti tarjoaa yhden tavan toteuttaa SOA. Tämä tapa perustuu Web-palvelustandardien käyttöön: palvelut kuvataan WSDL-kielen avulla ja kommunikointi toteutetaan SOAPin avulla. Näihin kieliin

Lisätiedot

15. Ohjelmoinnin tekniikkaa 15.1

15. Ohjelmoinnin tekniikkaa 15.1 15. Ohjelmoinnin tekniikkaa 15.1 Sisällys For-each-rakenne. Lueteltu tyyppi enum. Override-annotaatio. Geneerinen ohjelmointi. 15.2 For-each-rakenne For-rakenteen variaatio taulukoiden ja muiden kokoelmien

Lisätiedot

Toimilohkojen turvallisuus tulevaisuudessa

Toimilohkojen turvallisuus tulevaisuudessa Toimilohkojen turvallisuus tulevaisuudessa Turvallisuusseminaari ASAF 30.10-1.11.2006 Mika Strömman Teknillinen korkeakoulu 1 Sisältö Luotettavuuden lisääminen hyvillä tavoilla Toimilohkokirjastot Turvatoimilohkot

Lisätiedot

T SEPA - päiväkirja: Design Patterns. ETL työkalu

T SEPA - päiväkirja: Design Patterns. ETL työkalu T-76.115 SEPA - päiväkirja: Design Patterns ETL työkalu Versio Päivämäärä Tekijä Kuvaus 1.0 25.10.2004 Jani Honkanen PP-vaiheen jälkeinen versio 1,1 26.11.2004 Mika Suvanto I1- vaiheen kokemuksia lisätty

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

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

Visual Case 2. Miika Kasnio (C9767) 23.4.2008

Visual Case 2. Miika Kasnio (C9767) 23.4.2008 Visual Case 2 Miika Kasnio (C9767) 23.4.2008 Työn tarkasti: Jouni Huotari 24.4.2008 1 SISÄLTÖ 1. TYÖN LÄHTÖKOHDAT... 2 2. PERUSTIEDOT... 2 3. ASENTAMINEN... 2 4. OMINAISUUDET... 3 4.1. UML-kaaviot... 4

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

Tietokanta (database)

Tietokanta (database) Tietokanta Tietokanta (database) jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja 1 Tiedosto Ohjelmointikielissä apumuistiin tallennettuja tietoja käsitellään

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

812341A Olio-ohjelmointi Peruskäsitteet jatkoa

812341A Olio-ohjelmointi Peruskäsitteet jatkoa 812341A Olio-ohjelmointi 2106 Peruskäsitteet jatkoa Luokkakohtaiset piirteet n Yhteisiä kaikille saman luokan olioille n Liittyvät luokkaan, eivät yksittäiseen olioon n Kaikki ko. luokan oliot voivat käyttää

Lisätiedot

TIE Principles of Programming Languages CEYLON

TIE Principles of Programming Languages CEYLON TIE-20306 Principles of Programming Languages CEYLON SISÄLLYSLUETTELO 1. YLEISTIETOA KIELESTÄ JA SEN KEHITTÄMISESTÄ... 1 2. CEYLONIN OMINAISUUKSIA... 2 2.1 Modulaarisuus... 2 2.2 Tyypit... 2 2.3 Muita

Lisätiedot

Interfacing Product Data Management System

Interfacing Product Data Management System Interfacing Product Data Management System Tekijä: Työn valvoja: Mats Kuivalainen Timo Korhonen Esitelmän sisältö Työn suorituspaikka - Ideal Product Data Oy Käsitteitä Työn tavoitteet Työn tulokset 1/5

Lisätiedot

Ohjelmistoarkkitehtuurit Kevät käytäntöjä

Ohjelmistoarkkitehtuurit Kevät käytäntöjä Ohjelmistoarkkitehtuurit Kevät 2014 -käytäntöjä Samuel Lahtinen http://www.cs.tut.fi/~ohar/ 8.1.2014 1 Tervetuloa Oulun yliopisto, Tampereen yliopisto, Turun yliopisto, Tampereen teknillinen yliopisto

Lisätiedot

S11-09 Control System for an. Autonomous Household Robot Platform

S11-09 Control System for an. Autonomous Household Robot Platform S11-09 Control System for an Autonomous Household Robot Platform Projektisuunnitelma AS-0.3200 Automaatio- ja systeemitekniikan projektityöt Quang Doan Lauri T. Mäkelä 1 Kuvaus Projektin tavoitteena on

Lisätiedot

Pilvi mitä, miksi ja miten

Pilvi mitä, miksi ja miten Pilvi mitä, miksi ja miten We are stuck with technology when what we really want is just stuff that works. Douglas Adams Pekka Virtanen TTY/Ohjelmistoarkkitehtuurit 2010-10-07 Päivän menu Pilvilaskenta

Lisätiedot

Tulevaisuuden Internet. Sasu Tarkoma

Tulevaisuuden Internet. Sasu Tarkoma Tulevaisuuden Internet Sasu Tarkoma Johdanto Tietoliikennettä voidaan pitää viime vuosisadan läpimurtoteknologiana Internet-teknologiat tarjoavat yhteisen protokollan ja toimintatavan kommunikointiin Internet

Lisätiedot

MagiCAD Toimintaympäristö ja yhteensopivuus MagiCAD AutoCADille ja MagiCAD Revitille

MagiCAD Toimintaympäristö ja yhteensopivuus MagiCAD AutoCADille ja MagiCAD Revitille Toimintaympäristö ja yhteensopivuus MagiCAD AutoCADille ja MagiCAD Revitille MAGICAD AUTOCADILLE (AutoCAD), kehittänyt Progman Oy Sovellukset: Circuit Designer, Electrical, Heating & Piping, Room, Sprinkler

Lisätiedot

WINE API ja Virtualisointiohjelmistot

WINE API ja Virtualisointiohjelmistot WINE API ja Virtualisointiohjelmistot Yleistä Winestä Ohjelmisto, joka mahdollistaa Windows -pohjaisten ohjelmien käytön kuissa käyttöjärjestelmissä Toimii yhteensopivuuskerroksena ohjelman ja käyttöjärjestelmän

Lisätiedot

Uutta Remote Support Platform 3.1 -versiossa

Uutta Remote Support Platform 3.1 -versiossa What's New Asiakirjaversio: 1.0 2014-05-09 Asiakirjaversiot Seuraavassa taulukossa esitellään asiakirjan tärkeimmät muutokset. Versio Pvm Kuvaus 1.0 2014-05-09 Ensimmäinen versio 2 All rights reserved.

Lisätiedot

MagiCAD 2020 Toimintaympäristö ja yhteensopivuus. MagiCAD Revitille ja AutoCADille

MagiCAD 2020 Toimintaympäristö ja yhteensopivuus. MagiCAD Revitille ja AutoCADille MagiCAD 2020 Toimintaympäristö ja yhteensopivuus MagiCAD Revitille ja AutoCADille 2 (5) MagiCAD AutoCADille MagiCAD 2020 (AutoCAD), kehittänyt MagiCAD Group Sovellukset: Ventilation, Piping, Electrical,

Lisätiedot

Hajautettujen järjestelmien hajautettu kehittäminen

Hajautettujen järjestelmien hajautettu kehittäminen 1 Hajautettujen järjestelmien hajautettu kehittäminen M. Lampi Tiivistelmä Tässä tutkimuksessa esitetään hajautetun kehittämisen toteutusteknologioille ja arkkitehtuuriratkaisuille asettamia haasteita,

Lisätiedot

Ohjelmistoarkkitehtuurit. Kevät 2012-2013

Ohjelmistoarkkitehtuurit. Kevät 2012-2013 Ohjelmistoarkkitehtuurit Kevät 2012-2013 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 1 Viestipohjaisten yritysjärjestelmien suunnittelumallit 1 Viestinvälitykseen perustuvat yritysjärjestelmät Peruselementit:

Lisätiedot

Sopimusten Verkkopankki

Sopimusten Verkkopankki Sopimusten Verkkopankki & pilvipalvelun edut ja haasteet Sopima Oy Hiilikatu 3, FI-00180, Helsinki, Finland info@sopima.com, www.sopima.com 1 Sisältö Sopima Oy lyhyesti Sopimusten Verkkopankki Miksi ja

Lisätiedot

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta. Malli-näkym kymä-ohjain arkkitehtuurit (Model-View View-Controller, MVC) Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta. Lähtökohdat: Sovelluksen

Lisätiedot

Office 2013 - ohjelmiston asennusohje

Office 2013 - ohjelmiston asennusohje Office 2013 - ohjelmiston asennusohje Tämän ohjeen kuvakaappaukset on otettu asentaessa ohjelmistoa Windows 7 käyttöjärjestelmää käyttävään koneeseen. Näkymät voivat hieman poiketa, jos sinulla on Windows

Lisätiedot

Pilvipalvelujen tietoturvasta

Pilvipalvelujen tietoturvasta Pilvipalvelujen tietoturvasta It-palveluiden tilaisuus 20.3.2015 Matti Levänen Mitä pilvipalvelut ovat? Pilvipalvelu on toimintamalli, jolla tarjotaan helposti käyttöön otettavaa ja skaalautuvaa tietotekniikkaresurssia.

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

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

Käyttöjärjestelmät. 1pJÄKÄ1 KÄYTTÖJÄRJESTELMÄN HALLINTA, 12 OSP

Käyttöjärjestelmät. 1pJÄKÄ1 KÄYTTÖJÄRJESTELMÄN HALLINTA, 12 OSP TIETO- JA VIESTINTÄTEKNIIKKA OSAAMISTARJOTIN 8.1. 31.7.2019 27.12.2018 1 Sisällys Käyttöjärjestelmät 1pJÄKÄ1... 2 käyttöjärjestelmän hallinta, 12 osp... 2 Atk-hankinnat 1pJÄKÄ3... 3 atk-hankintaprosessi,

Lisätiedot

jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja

jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja Tietokanta Tietokanta (database) jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja mikä tahansa tietokokoelma? --> erityispiirteitä Tietokanta vs. tiedosto 1

Lisätiedot

Hajautettujen sovellusten muodostamistekniikat, TKO_2014 Johdatus kurssiin

Hajautettujen sovellusten muodostamistekniikat, TKO_2014 Johdatus kurssiin Hajautettujen sovellusten muodostamistekniikat, TKO_2014 Johdatus kurssiin Ville Leppänen HSMT, c Ville Leppänen, IT, Turun yliopisto, 2009 p.1/15 HSMT (Java-kielellä) Aineopintotasoinen kurssi, 5op. Luennot:

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

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1 Ohjelmistoarkkitehtuurit Syksy 2009 Kai Koskimies Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1 Tervetuloa Kuopion yliopisto, Oulun yliopisto (Kajaani), Tampereen yliopisto, Turun yliopisto,

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

Ohjelmistojen mallintaminen, mallintaminen ja UML

Ohjelmistojen mallintaminen, mallintaminen ja UML 582104 Ohjelmistojen mallintaminen, mallintaminen ja UML 1 Mallintaminen ja UML Ohjelmistojen mallintamisesta ja kuvaamisesta Oliomallinnus ja UML Käyttötapauskaaviot Luokkakaaviot Sekvenssikaaviot 2 Yleisesti

Lisätiedot