582420 Väliohjelmistot (4 op)
Kurssin tavoite
Väliohjelmistot sijoittuvat käyttöjärjestelmä- ja tietoliikennepalveluiden päälle, avustamaan sovelluksia palveluiden paikantamisessa, aktivoinnissa ja kommunikoinnissa. Modernit väliohjelmistot suuntautuvat komponenttiperustaisten ohjelmistojen tukemiseen. Kurssilla tutustutaan eräiden väliohjelmisto tyyppien tavoitteisiin, ongelmiin ja ratkaisuihin, sekä tarkastellaan ratkaisumalleja mm. adaptiivisuuteen ja palvelun laadun hallintaan, unohtamatta väliohjelmistoihin kohdistuvia uusia haasteita.
Kurssin asema ja esitiedot
Valinnainen laudaturkurssi. Tavoitteena antaa perustiedot nykyaikaisen väliohjelmiston tehtävistä ja kehitystrendeitä.
Ennakkotietona mielellään Hajautetut järjestelmät, Käyttöjärjestelmät II, Tietoliikenne II; Ohjelmistoarkkitehtuurit on katsottu myös käyväksi pohjakurssiksi. Cum laude -opintojen on ehdottomasti oltava koossa; erityisesti tieteellinen kirjoittaminen -kurssi antaa välttämättömät taidot itsenäiselle esseetyöskentelylle kurssin aikana.
Opetusmuodot ja suorittaminen
Kurssi muodostuu luennoista ja harjoituksista, joista osa on ryhmälle esitettäviä esseitä (yksi tai useampia). Luentoihin ja oppikirjaan perustuva kurssikuulustelu ja essee muodostavat kumpikin puolet kurssin arvosanasta; kummastakin osiosta on kuitenkin saatava hyväsyttävä suoritus).
Kurssin luento-osuus suoritetaan periodin I aikana. Pääosa esseetyöskentelystä ja kurssin loppuseminaari kohdistuvat periodille II. Esseeaiheet varataan ja vahvistetaan työsuunnitelmineen periodin I puolivälin ja lopun välillä.
Kurssin voi suorittaa myös erillisenä kirjallisuuskuulusteluna ja sen jälkeen suoritettavana esseenä.
Kurssi pyritään järjestämään joka toinen vuosi.
Kurssin sisältö
- Johdanto
- Mitä väliohjelmistolla tarkoitetaan?
- Väliohjelmistojen rooli ja tehtävät
- Väliohjelmistojen luonteeseen vaikuttavat tekijät
- Väliohjelmistojen kategorisointia
- Väliohjelmistojen tyypit
- Avoimen hajautetun tietojenkäsittelyn viitemalli
- Tapahtumankäsittelyjärjestelmät
- Viestiperustaiset järjestelmät
- Proseduraaliset väliohjelmistot
- Objekti- ja komponenttiväliohjelmistot
- Palveluorientoitunut arkkitehtuuri
- Mallipohjaiset järjestelmät
- Adaptiiviset ja reflektiiviset järjestelmät
- Erityisteemoja (vuosittain vaihtuva joukko)
- Reaaliaikaisuus
- Mobiliteetti
- Vikasietoisuus
- Turvallisuus ja luottamus
- Gridit
- P2P
- Loppuseminaari
- Kurssilaisten esseisiin perustuvat esitelmät, jotka kattavat yksityiskohtaisempia kuvauksia tekniikoista, järjestelmistä ja tutkimushankkeista.
Oppimateriaali
Kurssilla käytetään oppikirjaa:
- Qusay H. Mahmoud: Middleware for Communications. Wiley. 2004.
- [intro1] Bakken, D. E., Middleware. Encyclopedia of Distributed Computing. Kluwer Academic Press, 2001.
- [intro2] Bernstein, P. A, Middleware. CACM, Feb 1996. ^M
- [intro3] Campbell, A., Coulson, G., Kounavis, M. E., Managing Complexity: ^M Middleware Explained. Distributed Computing. IT Professional, Volume: 1 , Issue: 5 , Sept.-Oct. 1999, Pages 22 - 28.
- [intro4] Charles, J., Middleware Moves to the Forefront. IEEE Computer, pp. 17-19, May 1999.
- [odp] Kutvonen, L., Architectures for Distributed Systems: Open Distributed Processing Reference Model.
- [soa1] M. P. Papazoglou, Service-Oriented Computing: Concepts, Characteristics, and Directions. WISW2003. Dec 2003.
- [soa2] M. P. Papazoglou, D. Greogakopoulous, Service -oriented computing. Communications of ACM, 46(10):15-28, October 2003.
Tenttimateriaali ja oppimistavoitteet
Tenttikysymykset ovat pääsääntöisesti esseemuotoisia, kosketellen joko käsitteentuntemusta tai arkkitehtuuriratkaisuja ja niiden impaktia.
- Kurssikirja, poislukien luvut 11-16
- Artikkelit [into1]- [intro4], [odp], [soa1-2]
Materiaaliin tutustumisen tueksi seuraavassa oppimistavoitetaulukko sekä oppimispäiväkirjan kirjoittamisen avuksi hieman ohjeita.
Lea.Kutvonen@cs.Helsinki.FI