Helsingin yliopisto Tietojenkäsittelytieteen laitos
 

Tietojenkäsittelytieteen laitos

Tietoa laitoksesta:

 

582642 Palvelusuuntautunut ohjelmistotuotanto (4 op) - kevät 2010

Ajankohtaista

Kurssilla on nyt blogi, jonne ajankohtaiset asiat ja muut kurssiin liittyvät asiat jatkossa päivitetään: linkki blogiin

Kurssijärjestelyt

Kurssilla on pakollinen aloitustasokoe. Aloitustasokoe on kotikoe ja sen muodostaa osan oppimispäiväkirjaa. Aloitustasokokeen vastausten palautus sähköpostitse viimeistään perjantaihin 22.1.2010 klo 24.00 mennessä.

Aloitustasokokeen kysymykset. Vastaukset palautetaan pdf-muotoisena tiedostona sähköpostilla luennoitsijalle: Toni.Ruokolainen(at)cs.Helsinki.FI

  1. Luennot tiistaisin ja perjantaisin (19.1.-26.2.) klo 12-14 huoneessa D122
  2. Laskuharjoitukset pidetään perjantaisin klo 10-12 huoneessa D122. Laskuharjoitustilaisuuksia ei ole joka viikko, vaan erikseen ilmoitetun aikataulun mukaisesti.

Kurssin aikataulu ja opintomateriaali

Viikkoaikataulu

Vk. Pvm. Aihe Kalvot
3 19.1.2010
klo 12-14
Kurssin aloitus; motivointi; palveluekosysteemit ja palveluperustaiset järjestelmät .pdf
.pdf
  22.1.2010
klo 12-14
Palvelut ja palvelukoosteet .pdf
    Ei laskuharjoitustilaisuutta.
Aloitustasokokeen palautus klo 24.00 mennessä
.pdf
4 26.1.2010
klo 12-14
Palveluperustaisten järjestelmien elinkaaret; palvelusuuntautuneen ohjelmistotuotannon lähestymistavat .pdf
  29.1.2010
klo 12-14
Ei-toiminnalliset piirteet; väliohjelmistojen rooli .pdf
  29.1.2010
klo 10-12
Laskuharjoitustilaisuus: Harjoitustöiden kuvaus; harjoitusryhmiin jakaminen.
Opintopäiväkirjan palautus 24.00 mennessä
.pdf
5 2.2.2010
klo 12-14
Palvelusuuntautuneen ohjelmistotuotannon prosessit .pdf
  5.2.2010
klo 12-14
Malliperustaisen ohjelmistotuotannon (MDE) perusteet .pdf
    Ei laskuharjoitustilaisuutta. Varattu ryhmätöille ja niiden ohjaukselle.  
6 9.2.2010
klo 12-14
Mallimuunnokset .pdf
  12.2.2010
klo 12-14
Luento siirretty tiistaille 16.2.  
  12.2.2010
klo 10-12
Laskuharjoitustilaisuus peruttu!
Ryhmätyöt esitetään kokonaisuudessaan 26.2. tilaisuudessa
Opintopäiväkirjan palautus 24.00 mennessä
 
5 16.2.2010
klo 12-14
Näkökulmien mallintaminen ja niiden soveltaminen MDE:ssä .pdf
  19.2.2010
klo 10-14
Workshop: Mallinnus- ja mallimuunnokset .htm
.htm
.htm
       
6 23.2.2010
klo 12-14
Ei luentoa. Varattu ryhmätöille ja niiden ohjaukselle.  
  26.2.2010
klo 10-14
Kurssin lopputilaisuus: harjoitustöiden esittely. Mitä tästä eteenpäin? Palautteen antaminen.  
       
7 4.3.2010
klo 16-19
Kurssikoe salissa A111 (tarkista sali ennen koepäivää)  
  4.3.2010 Opintopäiväkirjan palautus 24.00 mennessä  
  4.3.2010 Ryhmätöiden palautus 24.00 mennessä  
  10.3.2010 Ryhmäkohtaisten arvostelujen palautus (ryhmäpisteiden jakaminen jäsenten kesken)  
8 12.3.2010 Arvostelu valmis  

Luennoille liittyvät artikkelit

  1. Luento 1
    • M.P. Papazoglou, P. Traverso, S. Dustbar, F. Leymann. Service-oriented computing: a research roadmap. International Journal of Cooperative Information Systems (IJCIS), 17(2):223-255, 2008. .doi
  2. Luento 2
    • Michael P. Papazoglou and Willem-Jan van den Heuvel. 2007. Business process development life cycle methodology. Commun. ACM 50, 10 (October 2007), 79-85. .doi
    • Pautasso, C. and Wilde, E. Why is the web loosely coupled?: a multi-faceted metric for service design. In Proceedings of the 18th international Conference on World Wide Web (Madrid, Spain, April 20 - 24, 2009). WWW '09. ACM, New York, NY, 911-920, 2009. .doi
  3. Luento 3
    • Kohlborn, T., Korthaus, A., Chan, T., and Rosemann, M. 2009. Identification and Analysis of Business and Software Services - A Consolidated Approach. IEEE Trans. Serv. Comput. 2, 1 (Jan. 2009), 50-64. .doi
  4. Luento 4:
    • Di Penta, M., Esposito, R., Villani, M. L., Codato, R., Colombo, M., and Di Nitto, E. 2006. WS Binder: a framework to enable dynamic binding of composite web services. In Proceedings of the 2006 international Workshop on Service-Oriented Software Engineering (Shanghai, China, May 27 - 28, 2006). SOSE '06. ACM, New York, NY, 74-80. .doi
    • Michlmayr, A., Rosenberg, F., Platzer, C., Treiber, M., and Dustdar, S. 2007. Towards recovering the broken SOA triangle: a software engineering perspective. In 2nd international Workshop on Service Oriented Software Engineering: in Conjunction with the 6th ESEC/FSE Joint Meeting (Dubrovnik, Croatia, September 03 - 03, 2007). IW-SOSWE '07. ACM, New York, NY, 22-28. .doi
  5. Luento 5:
    • Molesini, A., Denti, E., Nardini, E., and Omicini, A. 2009. Situated process engineering for integrating processes from methodologies to infrastructures. In Proceedings of the 2009 ACM Symposium on Applied Computing (Honolulu, Hawaii). SAC '09. ACM, New York, NY, 699-706. .doi
  6. Luento 6:
    • France, R. and Rumpe, B. 2007. Model-driven Development of Complex Software: A Research Roadmap. In 2007 Future of Software Engineering (May 23 - 25, 2007). International Conference on Software Engineering. IEEE Computer Society, Washington, DC, 37-54. .doi
  7. Luento 7:
    • Jouault, F. and Kurtev, I. 2006. On the Architectural Alignment of ATL and QVT. In Proceedings of the 2006 ACM symposium on Applied computing (SAC'06). ACM Press, New York, NY, USA, 1188--1195. .doi
  8. Luento 8:
    • Romero, J. R., Jaén, J. I., and Vallecillo, A. 2009. Realizing correspondences in multi-viewpoint specifications. In Proceedings of the 13th IEEE international Conference on Enterprise Distributed Object Computing (Auckland, New Zealand, September 01 - 04, 2009). IEEE Press, Piscataway, NJ, 138-147. .doi

Oppimispäiväkirjaan vastattavat kysymykset

  1. Luento 1
    1. Kysymykset 1 ja 3 alkutasokokeesta.
    2. Anna vähintään kaksi esimerkkiä erilaisista palveluekosysteemeistä. Mitkä ovat niiden toimijoita? Minkälaisia palveluita ekosysteemi sisältää? Miten yhteentoimivuus on taattu ja missä vaiheessa se validoidaan?
  2. Luento 2 Artikkelissa "Why is the web loosely coupled?: a multi-faceted metric for service design" Pautasso ja Wilde määrittelevät useita kytkennän lajeja (coupling facet). Artikkelissa "Business process development life cycle methodology" Papazoglou ja van den Heuvel esittelevät palveluperustaisten liiketoimintaprosessien elinkaarimallin. Lue artikkelit ja vastaa seuraaviin kysymyksiin oppimispäiväkirjaasi:
    1. Pohdi missä vaiheessa Papazogloun ja Wilden elinkaarimallia Pautasson ja Wilden kytkennän lajit tulee ottaa huomioon. Mitä elinkaaren vaiheissa tulisi tehdä ja minkälaisia välineitä, infrastruktuuripalveluita tai lähestymistapoja tarvitaan, jotta palveluperustaisesta järjestelmästä tulisi mahdollisimman löyhästi kytketty?
    2. Pautasson ja Wilden artikkelissa REST -tyylinen lähestymistapa todettiin löyhemmin kytketyksi toteutustavaksi kuin Web Services -teknologioihin perustuvat toteutustavat. Tarkoittaako tämä sitä, että REST on parempi tapa toteuttaa (minkälaisia tahansa) palveluperustaisia järjestelmiä ja palveluita kuin Web Services? Perustele kannanottosi.
  3. Luento 3Artikkelissa "Identification and Analysis of Business and Software Services - A Consolidated Approach" Kohlborn ja kumppanit ovat analysoineet suuren joukon palvelusuuntautuneita ohjelmistotuotantometodologioita. Mitkä ovat heidän mielestään suurimmat ongelmat tai puutteet palvelusuuntautuneen ohjelmistotuotannon nykytilassa? Näitä puutteita korjatakseen kirjoittajat esittävät oman ehdotuksensa palvelusuuntautuneen ohjelmistotuotannon metodologiaksi. Mitkä ovat sen pääperiaatteet? Minkälaista lähestymistapaa he käyttävät?
  4. Luento 4Artikkeleissa on kuvattu kaksi eri väliohjelmistoa, WS-Binder ja VReSCO, jotka toteuttavat dynaamisen sidonnan vaatimia väliohjelmistopalveluita. Miten dynaaminen sidonta käytännössä toteutetaan (minkälaisia vaiheita, toimijoita ja aktiviteetteja siinä on)? Minkälaisia väliohjelmistopalveluita dynaamisen sidonnan toteuttamiseksi tarvitaan? Minkälaista metainformaatiota dynaamisen sidonnan tueksi tarvitaan? Mistä ne saadaan, missä vaiheessa ja keneltä?
  5. Luento 5Artikkelissa on kuvattu lähestymistapa, jossa agenttiperustaisen ohjelmistotuotannon (agent-oriented software engineering, AOSE) prosesseja voidaan integroida moniagenttijärjestelmien (multi-agent system, MAS) elinkaariprosesseihin.(Sivuhuomio: agentit ja palvelut ovat itse asiassa hyvin lähellä toisiaan niiden suunnittelu- ja toimintaperiaatteiltaan. Voit artikkelia lukiessasi mieltää agentit palveluiksi ja agenttijärjestelmät palveluekosysteemeiksi.) Lue artikkeli ja vastaa seuraaviin kysymyksiin:
    • Mitä on situational method engineering, SME ja mitkä ovat sen periaatteet? Miten OMG:n SPEM standardi liittyy SME:hen?
    • Miten artikkelin kuvaamassa lähestymistavassa ohjelmistotuotantoprosessit integroidaan toimintaympäristön prosesseihin? Minkälaisia vaikutuksia toimintaympäristön prosesseilla voi olla ohjelmistotuotantoprosesseihin?
  6. Luento 6
    • Mitkä ovat Francen ja Rumpen artikkelin mukaan MDE:n suurimmat haasteet? Miten niihin voitaisiin tai pitäisi heidän mukaansa vastata?
  7. Luento 7
    • Artikkelissa "On the Architectural Alignment of ATL and QVT" vertaillaan kahta mallimuunnoskieltä. ATL (Atlas Transformation Language) on Atlas tutkimusryhmän kehittämä mallimuunnoskieli ja QVT (Query/Views/Transformations) on OMG:n standardialoite mallimuunnoskielelle.
      Mitkä ovat QVT:n pääkäsitteet ja arkkitehtuurin peruselementit? Mitä yhtäläisyyksiä ja eroavaisuuksia ATL:llä ja QVT:lla on? Erityisesti, minkälaiseen lähestymistapaan ja mallihierarkiaan molemmat mallimuunnoskielet perustuvat?
  8. Luento 8
    • Artikkelissa "Realizing Correspondences in Multi-Viewpoint Specifications" käsitellään ODP (Open Distributed Processing standardikehikon) järjestelmämallien spesifioimista käyttäen useita näkökulmia sekä niiden välisiä vastaavuuksia.
      Mitkä ovat käytettävän näkökulmamallinnustavan peruskäsitteet? Minkä vuoksi näkökulmavastaavuuksia tarvitaan? Mitä tarkoittaa ekstensionaalinen ja intensionaalinen vastaavuus? Miten niitä voidaan määritellä?
    • Anna kurssipalautetta palautejärjestelmään

Kurssilla käytettävät työkalut

Kurssilla käytetään MagicDraw nimistä UML-mallinnusohjelmaa palveluperustaisten järjestelmien elementtien mallintamiseen. Laitoksen omistaman lisenssin mukaisesti kurssin opiskelijoilla on lupa asentaa ohjelmisto laitoksen koneille ja omalle kotikoneelle.
  1. Kurssilla käytettävän mallinnusohjelmiston asennusohjeet.
Kurssilla käytetään Eclipse ohjelmistoa malliperustaisen palvelutuotantoprosessin toteuttamiseen. Erityisesti, käytämme ns. Modeling jakelua, joka sisältää suurimman osan tarvittavista komponenteista (mallimuunnostyökalut XPand, Xtend ja MWE).

Eclipseen tulee asentaa palveluiden toteuttamista varten Eclipse SCA Tools paketti. Tämän lisäksi tarvitaan vielä SCA ympäristö nimeltä Apache Tuscany.

Ohjeet Eclipse-ympäristön asentamiseen ja konfiguroimiseen ilmestyvät piakkoin.

Lähdemateriaalia

Esitietokokeen lähdemateriaalina on artikkeli
  1. M.P. Papazoglou, P. Traverso, S. Dustbar, F. Leymann. 2008. Service-oriented computing: a research roadmap. International Journal of Cooperative Information Systems (IJCIS), 17 (2), 223-255. .doi

Toni Ruokolainen