Palvelusuuntautunut ohjelmistotuotanto Luento 8: Näkökulmien mallinnus ja soveltaminen; Kurssin yhteenveto Toni Ruokolainen

Samankaltaiset tiedostot
Palvelusuuntautunut ohjelmistotuotanto Laskuharjoitus 1: Ryhmätöiden alustaminen Toni Ruokolainen,

Hieman lisää malleista ja niiden hyödyntämisestä

Palvelusuuntautunut ohjelmistotuotanto Luento 5: Palvelusuuntautuneen ohjelmistotuotannon prosessit Toni Ruokolainen,

Collaborative and interoperable computing

Palvelusuuntautunut ohjelmistotuotanto Luento 1: Kurssin järjestelyt, palveluperustaisten järjestelmien periaatteet Toni Ruokolainen, 8.9.

Palvelusuuntautunut ohjelmistotuotanto Luento 6: Malliperustaisen ohjelmistotuotannon perusteet; palvelutuotannon mallit Toni Ruokolainen, 5.2.

Ohjelmistojen mallintaminen, mallintaminen ja UML

Ohjelmistojen mallintaminen kertausta Harri Laine 1

Malliperustainen ohjelmistokehitys - MDE Pasi Lehtimäki

Ohjelmistojen mallintaminen, kesä 2009

Ohjelmistojen mallintaminen, kesä 2010

Ohjelmistojen suunnittelu

Ohjelmistotekniikan menetelmät, UML

Collaborative and interoperable computing

Palvelujen dynaaminen valvonta

Ohjelmistotekniikan menetelmät, kesä 2008

UML-kielen formalisointi Object-Z:lla

Ohjelmistotekniikan menetelmät, luokkamallin laatiminen

Palvelusuuntautunut ohjelmistotuotanto Luento 2: Palvelut ja palvelukoosteet Toni Ruokolainen,

Ohjelmistojen mallintaminen Unified Modeling Language (UML)

Edellä esitetty tapa toteuttaa palvelupohjaisia järjestelmiä edustaa nk. top-down lähestymistapaa. Oleellisesti siinä siis edetään systemaattisesti

Tenttikysymykset. + UML-kaavioiden mallintamistehtävät

Ohjelmistoarkkitehtuurit. Kevät

UML- mallinnus: Tilakaavio

UML:n yleiskatsaus. UML:n osat:

Paikkatiedon mallinnus Dokumentoinnin ymmärtäminen. Lassi Lehto

HOJ J2EE & EJB & SOAP &...

A Service-Oriented Architecture (SOA) View of IHE Profiles

Ohjelmistotekniikan menetelmät, kevät 2008

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

TIE Samuel Lahtinen. Lyhyt UML-opas. UML -pikaesittely

2 Ohjelmistoarkkitehtuurien kuvaus

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Ohjelmistotekniikan menetelmät Luokkamallit ohjelmiston mallintamisessa Harri Laine 1

Johtamisen haaste kokonaisarkkitehtuuri menestyksen mahdollistajako?

Luokka- ja oliokaaviot

Johdantoluento. Ohjelmien ylläpito

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

Kurssin aihepiiri: ohjelmistotuotannon alkeita

Ohjelmistoarkkitehtuurit. Syksy 2008

Ohjelmistoarkkitehtuurit. Syksy 2010

Reflektiomekanismien rooli palveluorientoituneissa järjestelmissä. Seminaarityö Tom Bertell

Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä

Järjestelmäarkkitehtuuri (TK081702)

Arkkitehtuurinen reflektio

Perusarkkitehtuurin ja vuorovaikutuksen mallintamisen perusteita.

Luottamuksen ja maineen rooli palveluperustaisten yhteisöjen muodostamisessa

Integrointi. Ohjelmistotekniikka kevät 2003

Liiketoimintajärjestelmien integrointi

T Ohjelmistojen määrittely- ja suunnittelumenetelmät

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio

Liiketoimintajärjestelmien integrointi


HSMT J2EE & EJB & SOAP &...

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

Käyttökokemuksen evaluoinnista käyttökokemuksen ohjaamaan suunnitteluun. ecommunication & UX SUMMIT Eija Kaasinen, VTT

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Paikkatietojen tietotuotemäärittely

arvostelija OSDA ja UDDI palveluhakemistoina.

Paikkatietojen tietotuotemäärittely

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

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

Ohjelmistojen mallintaminen

Muutamia peruskäsitteitä

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

The OWL-S are not what they seem

Opetusteknologian standardoinnin tilanne. Antti Auer

Ohjelmistojen mallintaminen. Matti Luukkainen

Hyvin määritelty on puoliksi tehty kuinka vältetään turha tekeminen jo alussa

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

Toiminnot eli käyttäytyminen. Tieto eli rakenteelliset ominaisuudet

Ohjelmistojen mallintaminen, mallintaminen ja UML

2. Olio-ohjelmoinnin perusteita 2.1

1.3 Katsaus ohjelmistotuotannon kehittymiseen

Toimilohkojen turvallisuus tulevaisuudessa

Ohjelmistotuotanto vs. muut insinööritieteet. (Usein näennäinen) luotettavuus ja edullisuus

Ohjelmistojen mallintaminen Ohjelmiston suunnittelu Model driven development Harri Laine 1

Dynaaminen analyysi II

Ohjelmistoarkkitehtuurit. Syksy 2007

Tämän lisäksi listataan ranskalaisin viivoin järjestelmän tarjoama toiminnallisuus:

käyttötapaukset mod. testaus

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

2 Ohjelmistoarkkitehtuurien kuvaus

Automaattinen semanttinen annotointi

Teollisuusautomaation standardit Osio 9

SOA SIG SOA Tuotetoimittajan näkökulma

Tutkimustoiminnan tiedonkeruu ammattikorkeakouluilta Kota-amkota-seminaari

Ohjelmistotekniikan menetelmät, koe

Ohjelmoinnin peruskurssien laaja oppimäärä, kevät

Käytettävyyslaatumallin rakentaminen web-sivustolle. Oulun yliopisto tietojenkäsittelytieteiden laitos pro gradu -suunnitelma Timo Laapotti 28.9.

Sisällys. Ratkaisumallien historia. Ratkaisumalli. Ratkaisumalli [2] Esimerkki: Composite [2] Esimerkki: Composite. Jaakko Vuolasto 25.1.

Tilakaaviot, sekvenssikaaviot (Haikala, Märijärvi ss , )

Yhteisöllinen mallintaminen ja hajautetut mallit Ari Jolma Aalto-yliopisto. Mallinnusseminaari 2011 Lahti. Ari Jolma 1

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

Ohjelmistojen mallintaminen, kurssikoe esimerkkivastauksia

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

13/20: Kierrätys kannattaa koodaamisessakin

2. Olio-ohjelmoinnin perusteita 2.1

Testaaminen ohjelmiston kehitysprosessin aikana

MALLINNUKSEN OPETUKSEN KEHITTÄMINEN / PROJEKTIKUVAUS 1(5) TR, TK 1. JOHDANTO

Transkriptio:

CINCO Collaborative and interoperable computing Palvelusuuntautunut ohjelmistotuotanto Luento 8: Näkökulmien mallinnus ja soveltaminen; Kurssin yhteenveto Toni Ruokolainen

Luennon runko Näkökulmien mallinnuksesta Näkökulmat, näkymät ja näkökulmien väliset vastaavuudet Web-sovellusten toiminnallisten piirteiden mallinnus UML-pohjainen Web-sovellusten mallinnusmetodologia Näkökulmamallien synkronisointi Ei-toiminnallisten piirteiden mallinnus Aspektien mallinnus Aspektien sitominen malleihin Kurssin luento-osuuden yhteenveto

Näkökulmien mallinnuksesta Suurten järjestelmien mallinnuksessa sovelletaan yleensä erilaisia näkökulmia monimutkaisuuden hallitsemiseksi Näkökulma (viewpoint) määrittelee esitys- ja lähestymistavat järjestelmän näkymän kuvaamiseksi ja käsittelemiseksi Määrittelee erityisesti näkökulmakielen sekä käsitteet näkökulman mallintamiseksi Esimerkiksi järjestelmän käyttäytymisnäkökulma voi määritellä mitä tulee käyttäytymisestä määritellä ja minkälaista mallinnuskieltä käyttäen se kuvataan Näkymä (view) määrittelee osittaiskuvauksen järjestelmästä toisistaan riippuvien piirteiden joukon näkökulmasta Esimerkiksi UML aktiviteettidiagrammina annettu kuvaus tietyn järjestelmän käyttäytymisestä Näkymä mallinnetaan näkökulmamallissa Näkökulmat eivät ole toisistaan riippumattomia Näkymät kuvaavat osittain samoja elementtejä ja hyödyntävät toisten näkymien sisältöä hyväkseen

Näkökulmien ongelmia Miten voidaan varmistaa, että näkökulmien soveltaminen tuottaa kuvauksen täsmälleen yhdestä järjestelmästä? Näkökulmien integrointiongelma: kuvaavatko näkymät todellakin samaa järjestelmää? Miten voidaan varmistaa, että näkökulmat eivät ole keskenään ristiriitaisia? Näkökulmien konsistenssiongelma Näiden ongelmien ratkaisemiseksi tulee näkökulmien väliset vastaavuudet (correspondence) olla selvillä! Useimmat näkökulmiin perustuvat mallinnuskehikot eivät määrittele eksplisiittisesti näkökulmien välisiä vastaavuuksia Käytetään sen sijaan esimerkiksi nimivastaavuutta Saman nimen käyttö eri näkökulmamalleissa tarkoittaa että vastaavat mallielementit käsittelevät järjestelmän samaa komponenttia eri näkökulmista Vastaavuuksien implisiittinen määrittely voi aiheuttaa ongelmia Erityisesti jos näkökulmat suunnitellaan hajautetusti autonomisten toimijoiden toimesta; Tulkintavirheet vastaavuuksista

Esimerkki näkökulmien määrittelystä: ODP standardi ODP (Open Distributed Processing) on joukko ISO standardeja avoimien hajautettujen järjestelmien kuvaamiseen Käytössä viisi näkökulmaa Yritysnäkökulma (enterprise viewpoint): toiminnan tavoitteet Informaationäkökulma (information viewpoint): informaation semantiikka Toiminnallinen näkökulma (computational viewpoint): järjestelmän käyttäytyminen Toteutusnäkökulma (engineering viewpoint): toteuttamiseen vaadittava infrastruktuuri Teknologinen näkökulma (technological viewpoint): laitteistojen ja ohjelmistojen vaatimukset Näkökulmamallien määrittelyyn voidaan käyttää UML-pohjaista mallinnuskieltä UML4ODP Jokaiselle näkökulmalle on määritelty oma UML-profiilinsa

Esimerkki ODP näkökulmamalleista Kuva: 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.

Näkökulmien väliset vastaavuudet ODP standardissa Näkökulmien väliset vastaavuuden määritellään eksplisiittisesti Vastaavuusmäärittelyt eivät kuulu mihinkään näkökulmaan, vaan määrittelevät toteamuksia kahden eri näkökulman käsitteiden välisistä suhteista Näkökulmavastaavuus (viewpoint correspondence) Määrittelee näkökulmassa käytetyn termin tai konstruktin suhteen toisen näkökulman termin tai konstruktin kanssa Järjestelmän kuvaus siis koostuu Joukosta näkymiä Joukosta näkymien välisiä vastaavuuksia UML4ODP:ssä näkökulmien vastaavuuden voidaan määritellä Intentionaalisesti (metamallitasolla) QVT:tä ja vastaavuusluokkia kuvaavaa UML-profiilia käyttäen Ekstensionaalisesti (terminaalimallitasolla) erityistä UML-profiilia hyödyntäen

Näkökulmien vastaavuuksien intentionaalinen määrittely ODP:ssä Kuva: 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.

Esimerkki näkökulmien vastaavuuksien ekstensionaalisesta määrittelystä Kuva: 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.

Esimerkki: Web-sovellusten näkökulmien mallinnus UWE: UML-based Web Engineering Münchenin LMU-yliopistossa kehitetty Websovellusten kehitysmetodologia Hyödyntää UML-profiileja ja mallimuunnoksia Web-sovellusten mallinnukseen ja ohjelmistotuotantoprosessin toteuttamiseen Web-sovellus: verkkoselaimella loppukäyttäjän hyödynnettävissä oleva palvelu Näkökulmamallit Content model: määrittelee sovelluksen informaatioelementit Navigation model: määrittelee hypertekstisivujen väliset linkit Presentation model: määrittelee yksittäisten sivujen rakenteen Process model: määrittelee käyttäjän ja Websovelluksen välisen interaktioprosessin Kuva: http://uwe.pst.ifi.lmu.de/aboutuwe.html

Content Model Content Model määrittelee sovelluksen toimialuekohtaisen tiedon Informaatioelementit Toimialuekohtaiset käyttäytymiskuvaukset Informaatioelementit määritellään UMLluokkakaavioiden avulla Käyttäytymiskuvaukset voivat määritellä esimerkiksi informaatioelementtien elinkaaria Kuva: http://uwe.pst.ifi.lmu.de/aboutuwe.html

Navigation Model Navigation Model kuvaa sovelluksen hypertekstinäkökulman Perustuu Content Model:iin Tuotetaan mallimuunnoksella Navigation Model:ista Käyttäjälle näytettävien sivujen väliset linkit Sivujen tyypit mm. navigointisivu, menu, kysely, prosessointisivu, lista (indeksi) Kuva: http://uwe.pst.ifi.lmu.de/aboutuwe.html

Presentation Model Presentation model määrittelee yksittäisten sivujen sisällön ja niiden sisältämät komponentit Kuva: http://uwe.pst.ifi.lmu.de/aboutuwe.html

Process Model Määrittelee prosessointisivujen väliset yhteydet (Process structure model) Prosessointisivujen sisältämät käyttäytymismallit (Process flow model) Kuvat: http://uwe.pst.ifi.lmu.de/aboutuwe.html

Vastaavuuksien määrittely UWE:ssä Näkökulmien väliset vastaavuudet määritellään UML:ää ja OCL:ää käyttäen UML-profiileissa ollaan määritelty valmiiksi yleisesti esiintyviä vastaavuuksia stereotyyppeinä Esimerkiksi samename Vastaavuusstereotyypeillä annotoidaan malleja

Näkökulmien synkronointi UWE:ssä UWE käyttää eksplisiittisiä näkökulmien välisiä vastaavuuksia Perustuu ODP:n mukaiseen lähestymistapaan Käytää sekä intentionaalisia että ekstensionaalisia vastaavuusmäärityksiä Vastaavuuden määritellään UML-profiileihin pohjautuvalla mallinnuskielellä Halutaan pitää näkökulmat synkronoituna Näkökulmamalleja muutettaessa, tai Näkökulmien välisiä vastaavuuksia päivitettäessä Kuva: Daniel Ruiz-González, Nora Koch, Christian Kroiss, José-Raúl Romero, and Antonio Vallecillo. Viewpoint Synchronization of UWE Models. In Proc. MDWE 2009-5rd International Workshop on Model-Driven Web Engineering, CEUR-WS, Vol 455, June 2009.

Aspektimallinnus (Aspect-Oriented Modelling, AOM) Aspektiperustaisen mallinnuskehikon elementit Primäärimalli määrittelee kuvattavan järjestelmän toiminnallisuuden Aspektimallit määrittelevät järjestelmän poikkileikkaavia (crosscutting) piirteitä Useasti ei-toiminnallisisa piirteitä kuten turvallisuus Joukko sidontotakaavaimia (point-cut), jotka määrittelevät mihin kohtaa primäärimallia aspektit tulee sitoa Vrt. mallien kudonta Sidontakaavaimissa käytetään tyypillisesti mallielementtimuuttujia, jotka sidonnan aikana instantioidaan primäärimallin elementeillä Joukko yhdistämissääntöjä (advice), jotka määrittelevät kuinka aspektit sidotaan primäärimalliin

Aspektien mallintaminen Sidontakaavaimet ja yhdistämissäännöt määritellään primäärimallin konkreettista syntaksia käyttäen Aspektimallin ja primäärimallin tulee siis olla konformantteja saman metamallin kanssa Esimerkkeinä aspektitmallit luokkaja sekvenssikaavioina määriteltyinä Kuvat: Kienzle, J., Al Abed, W., and Klein, J. 2009. Aspect-oriented multi-view modeling. In Proceedings of the 8th ACM international Conference on Aspect- Oriented Software Development (Charlottesville, Virginia, USA, March 02-06, 2009). AOSD '09. ACM, New York, NY, 87-98. DOI= http://doi.acm.org/10.1145/1509239.1509252

Uudelleenkäytettävien aspektimallien määrittely Aspektit voivat vaikuttaa useaan näkökulmaan kerrallaan Yksittäinen aspektimalli (esim. luokkamalliin pohjautuen) ei ole tällöin itsenäinen, uudelleenkäytettävä artefakti Tarvitaan joukko aspektimalleja tarvittavien muutosten (rakenteellisten, käyttäytymisen) aikaansaamiseksi näkökulmien välisen konsistenssin tapaaminen vaikeutuu Uudelleenkäytettävien aspektimallien tulisikin määritellä kaikki tarvittavat efektit modulaarisesti Eräs lähestymistapa on RAM (Reusable Aspect Model) RAM aspektimallit määrittelevät rakenne-, tila- ja viestintänäkymät Näkymät hyödyntävät mallielementtimuuttujia (kuvassa merkitty etuliitteellä) Rakennenäkymä (structural view) määritellään UML:n luokkakaavioina Attribuutit ja metodit Tilanäkymä (state view) määritellään UML:n tilakaavioina Rakennenäkymässä määritellyille luokille määritellään käyttäytymisprotokolla Kuvaa missä tiloissa luokka voi olla Viestintänäkymä (message view) määritellään UML:n sekvenssikaavioina Määrittelee viestien vaihdon julkisen metodin kutsumisen yhteydessä Kienzle, J., Al Abed, W., and Klein, J. 2009. Aspect-oriented multi-view modeling. In Proceedings of the 8th ACM international Conference on Aspect-Oriented Software Development (Charlottesville, Virginia, USA, March 02-06, 2009). AOSD '09. ACM, New York, NY, 87-98. DOI= http://doi.acm.org/10.1145/1509239.1509252

Aspektimallien sidonta Aspektien sidonnassa sovelletaan elementtien sovitusta (matching) ja mallien kudontaa Primäärimallista etsitään sidontakaavaimen mukaista rakennetta Sidontakaavaimeen sovitettu primäärimallin osioon lisätään yhdistämissäännössä määritellyt elementit Ennen sidontaa täytyy aspektin riippuvuudet muista aspekteista ratkaista Esimerkkikuvassa aspekti Z riippuu aspektista A, joka riippuu aspekteista... Aspektista täytyy muodostaa siis itsenäinen aspektimalli Itsenäinen aspektimalli muodostetaan sitomalla aspekteja toisiinsa Erityisesti aspektimalleissa määritellyt mallielementtimuuttujat instantioidaan

RAM lähestymistavan konsistenssisäännöt Jokaisen aspektimallin itsessään tulee olla konsistentti Jokaiselle rakennenäkymän luokalle tulee olla määriteltynä tilanäkymä Tilanäkymän tulee määritellä protokolla jokaiselle julkiselle metodille Jokaiselle rakennenäkymän julkiselle metodille tulee olla määriteltynä vastaava viestintänäkymä Tila- ja viestintänäkymien tulee olla ristiriidattomat Viestintänäkymän käyttäytymisen tulee olla yhteneväistä siinä käytettävien luokkien protokollien kanssa Toisistaan riippuvien aspektimallien tulee olla keskenään konsistentteja Aspektimalleissa vaaditut mallielementtimuuttujat pitää pystyä instantioimaan Itsenäisen aspektimallin ja primäärimallin tulee olla keskenään konsistentteja Itsenäisessä aspektimallissa vaaditut mallielementtimuuttujat pitää pystyä instantioimaan eli sitomaan primäärimallin elementteihin

Kurssin luento-osuuden yhteenveto Ekosysteemit ja palveluperustaiset järjestelmät Palvelut ja palvelukoosteet Palveluekosysteemien elinkaaret Palvelusuuntautuneen ohjelmistotuotannon lähestymistavat Ei-toiminnalliset piirteet Väliohjelmistojen rooli Palvelusuuntautuneen ohjelmistotuotannon prosessit Malliperustaisen palvelusuuntautuneen ohjelmistotuotannon perusteet

Yhteenveto: palveluekosysteemit ja palveluperustaiset järjestelmät Palveluekosysteemi koostuu joukosta autonomisia toimijoita Organisaatiota ja yksilöitä Tavoitteena tehokas yhteistyöverkostojen muodostaminen Ekosysteemi määrittelee Toimijoiden välisen yhteistyön mahdolliset muodot ja niihin liittyvät käsitteet Elinkaaret, joita toimijoiden tulee ekosysteemissä noudattaa Palveluperustainen järjestelmä Tuottaa palveluekosysteemissä toimimiseen tarvittavat infrastruktuuripalvelut Perustana palvelusuuntautunut lähestymistapa SOA arkkitehtuurityyli Palvelusuuntautuneet ohjelmistotuotantomenetelmät Palveluperustainen väliohjelmisto

Yhteenveto: palvelut ja palvelukoosteet Palvelun määritelmä Täyttää käyttäjätarpeen Hyvin määritelty rajapinta Itsensä kuvaava Avoimesti saatavilla Palveluabstraktiot Liiketoiminnallinen palvelu: täyttää liiketoiminnallisen, asiakkaan tarpeen Komponenttipalvelu: täyttää liiketoiminnalisten palveluiden tarpeita Teknologiset palvelu: toteuttaa komponenttipalvelun Palvelukoosteet täyttävät jonkin yhteistyötarpeen Koreografiat määrittelevät yhteistoiminnan muodon Roolit, niiden ominaisuudet ja roolien väliset interaktiot Orkestraatiot toteuttavat yhteistoimintaroolin mukaiset vaatimukset Koostamiseen ja koosteiden määrittelyyn useita erilaisia lähestymistapoja Dynaaminen vs. Staattinen, Imperatiivinen vs. Deklaratiivinen,... Koostamistapa riippuu ekosysteemin ja palveluperustaisen järjestelmän ominaisuuksista

Yhteenveto: palveluekosysteemien elinkaaret Palveluperustaisten järjestelmien elinkaaret Palveluiden elinkaaret Yhteistyöverkostojen elinkaaret Esimerkkejä muista elinkaarista palveluekosysteemeissä Toimijoiden elinkaaret Tuotteiden elinkaaret Tietämyksen hallinnan elinkaaret Ekosysteemin hallinnalliset prosessit

Yhteenveto: palvelusuuntautuneen ohjelmistotuotannon lähestymistavat Toimijoiden lähestymistavat palvelutuotantoon Liiketoiminta- vs. teknologialähtöisyys Perinnejärjestelmien (legacy) rooli! Kolme peruslähestymistapaa Top-down: liiketoimintalähtöinen tapa Tuottaa liiketoiminnallisesti parhaimmat palvelut Bottom-up: teknologialähtöinen tapa Puhtaasti pohjalta lähtemällä ei ole mahdollista tuottaa mielekkäitä liiketoiminnallisia palveluita Elleivät sitten teknologiset palvelut = liiketoiminnalliset palvelut Meet-in-the-middle: kompromissi edellisten välillä Ottaa huomioon erityisesti perinnejärjestelmät Business-IT alignment

Yhteenveto: ei-toiminnalliset piirteet Ei-toiminnalliset piirteet tuovat jotain lisäarvoa palvelun toiminnallisuuteen Voidaan käyttää palveluiden etsimis- ja valintakriteereinä Esimerkkejä Salattu tiedonsiirto; Kolmannen osapuolen varmentamat interaktiot; Saatavuus; Vasteaika; Luotettavuus;... Ei-toiminnallinen piirre Määrittelee lisäarvoa tuottavan piirteen semantiikan ja arvojoukon Ei-toiminnallinen ominaisuus Ei-toiminnallisen piirteen instanssi Ei-toiminnallisten piirteiden interaktiot Toiminnallisten piirteiden kanssa Toisten ei-toiminnallisten piirteiden kanssa Abstraktiotasojen sisällä vs. välillä Ei-toiminnallisten piirteiden hallinta Tunnistaminen, mallintaminen, realisointi

Yhteenveto: väliohjelmistojen rooli Palveluperustaisten järjestelmien toiminta perustuu väliohjelmistoihin Väliohjelmisto Väliohjelmistoalusta toteuttaa yhtenäisen, jaetun yhteistoimintaympäristön Ohjelmointirajapinta Asiakas- ja palvelunedustajat ja -tyngät Toteuttavat ekosysteemin toimintaan vaadittavat infrastruktuuripalvelut Tukevat erityisesti Elinkaarten hallintaa Ei-toiminnallisten piirteiden hallintaa ja realisointia (Hajautettuja) ohjelmistotuotantoprosesseja

Yhteenveto: palvelusuuntautuneen ohjelmistotuotannon prosessit Ohjelmistotuotantoprosessi Metodi Määrittelee kuka tekee, mitä, milloin, kuinka paljon,... Määrittelee miten jokin aktiviteetti prosessista tulee suorittaa Metodologia Joukko metodeja joka kattaa ja yhdistää tuotantoprosessin eri vaiheet Palvelusuuntautunut ohjelmistotuotantoprosessi nivoutuu ekosysteemin elinkaariin sekä palvelutuotannon lähestymistapoihin Ekosysteemin elinkaarten vaiheiden vaatimukset vaikuttavat ohjelmistotuotantoprosessin aktiviteettien sisältöön Minkälaisia rooleja ja toimintoja tuetaan tai edellytetään? Mitä metainformaatiota on saatavissa ekosysteemistä? Missä vaiheessa? Mitä metainformaatiota tulee julkistaa ekosysteemissä toimiakseen? Palvelutuotannon lähestymistavat Ohjaavat ohjelmistotuotantoprosessien vaiheiden järjestystä ja aktiviteettien keskinäisiä riippuvuuksia Määrittelevät metodien sisältöä: minkälaisia kriteerejä käytetään esimerkiksi liiketoimintapalveluiden identifioimiseen?

Yhteenveto: malliperustaisen palvelusuuntautuneen ohjelmistotuotannon perusteet Käytiin läpi malliperustaisen ohjelmistotuotannon (MDE) perusteet Mallit Mallimuunnokset Esiteltiin muutamia palvelusuuntautuneen ohjelmistotuotannon mallinnusmenetelmiä UMM SoaML UML4SOA Tähän asiaan syvennytään harjoitustyössä