Yhteistoiminnan valvonta virtuaalisissa organisaatioissa Juha Hautakangas Helsinki 16.11.2007 Seminaarityö HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta/Osasto Fakultet/Sektion Faculty/Section Laitos Institution Department Matemaattis-luonnontieteellinen Tietojenkäsittelytieteen laitos Tekijä Författare Author Juha Hautakangas Työn nimi Arbetets titel Title Yhteistoiminnan valvonta virtuaalisissa organisaatioissa Oppiaine Läroämne Subject Tietojenkäsittelytiede Työn laji Arbetets Seminaari art Level Tiivistelmä Referat Abstract Aika Datum Month and year 16.11.2007 Sivumäärä Sidoantal Number of pages 15 Yhteistoiminta virtuaalisissa organisaatioissa on monimutkainen prosessi, jonka vaatimukset sovitaan usein dynaamisesti sähköisillä sopimuksilla. Sähköisten sopimusten lisääntyessä hyväksyttävän yhteistoiminnan varmistamiseksi tarvitaan automaattisia valvontaohjelmia. Valvontaohjelmat varmistuvat virheettömästä toiminnasta tarkkailemalla järjestelmän tilaa ja lopputuloksia. Yhteistoiminnan valvonta voi perustua eri näkökulmiin. Valvonta voi huomioida tilannetta asiakkaan, palvelun tai koko järjestelmän näkökulmasta. Valvottavan järjestelmän laatu kuvataan metriikoiden ja politiikkojen avulla. Yhteistoiminnan valvonta voidaan jakaa eri abstraktiotasoihin ja valvonnan automatisointiin voidaan liittää kolme kypsyystasoa riippuen siitä kuinka pitkälle valvonnan automatisointi on viety. Avainsanat Nyckelord Keywords valvonta Säilytyspaikka Förvaringställe Where deposited Muita tietoja Övriga uppgifter Additional information
Sisältö 1 Johdanto...1 2 Valvontaohjelmat...2 3 Valvonnan näkökulmat...4 4 Valvottavan palvelun laatu...5 4.1 Metriikat...6 4.2 Politiikat...8 5 Valvonnan jakaminen abstraktiotasoihin...9 6 Valvonnan kypsyystasot...10 7 Koreografiat...11 8 Yhteenveto...12 Lähteet...14
1 1 Johdanto Yritysten yhteistoiminnan parantamiseksi luodaan nykyään sähköisiä liiketoimintaverkostoja eli virtuaalisia organisaatioita. Virtuaaliset organisaatiot ovat palvelukokonaisuuksia, jotka koostuvat useammasta pienestä yrityksen tarjoamasta palvelusta. Virtuaalisten organisaatioiden monimutkaisuus aiheuttaa erilaisia haasteita. Niiden rakenteesta tai oikeasta toiminnasta ei välttämättä ole tietoa etukäteen. Yrityksiä voi jatkuvasti liittyä verkostoon tai poistua siitä, jolloin verkostot rakentuvat ja muuttuvat dynaamisesti. Yhteistoiminta perustuu usein dynaamisesti neuvoteltaviin sähköisiin sopimuksiin, joissa sovitaan automaattisesti sen vaatimuksista ja oikeasta toiminnasta [MK05]. Oikean eli virheettömän toiminnan varmistamiseksi virtuaaliset organisaatiot tarvitsevat automaattista valvontaa. Yksi virtuaaliseen organisaatioon kuuluvien yritysten yhteistoiminnan ongelmista on se, miten automatisoidaan yritysten väliseen tiedonkulkuun liitettyjen toiminnallisten ja ei-toiminnallisten vaatimusten toteutumisen valvonta. Sitä varten tutkitaan palvelun laatuparametreja [SCDSL97], metriikoita ja politiikoita ja verrataan niitä ennalta saatuihin vaatimuksiin. Automaattinen valvonta mahdollistaa virhetilanteiden huomaamisen, suoritusaikaisesti tai jälkikäteen. Valvontaa suorittavat ajonaikaiset valvontaohjelmat (runtime monitors) [DGR04], jotka tarkkailevat virtuaalisten organisaatioiden toimintaa. Ajonaikaiset valvontaohjelmat yrittävät havaita virhetilanteita ja ilmoittaa niistä osallisille tai tarvittaessa käynnistää itse korjaustoimenpiteitä. Valvontatieto voidaan myös tallentaa myöhempää käyttöä varten. Valvonta voidaan jakaa eri abstraktiotasoihin ja valvonnan automatisointiin voidaan liittää kolme kypsyystasoa, passiivinen, aktiivinen ja proaktiivinen riippuen siitä kuinka pitkälle valvonnan automatisointi on viety. Koreografiat kuvaavat miten osapuolten on välitettävä viestejä toisilleen.
2 Tässä seminaarityössä käsitellään monimuotoisesti virtuaalisten organisaatioiden yhteistoiminnan valvontaa. Työssä otetaan esiin valvonnan eri toimintoja, miten valvontaa voidaan suorittaa ja mitä ongelmia siihen liittyy. 2 Valvontaohjelmat Yhteistoimintaa hyödyntävien järjestelmien määrä on viime aikoina lisääntynyt World Wide Webin (WWW) kehityksen myötä. Yhteistoiminta on kuitenkin monimutkainen prosessi, jonka vaatimukset sovitaan usein dynaamisesti sähköisillä sopimuksilla. Sähköisten sopimusten lisääntyessä hyväksyttävän yhteistoiminnan varmistamiseksi tarvitaan automaattisia valvontaohjelmia. Yhteistoiminnan tilan valvonnan ja kontrolloinnin toteuttaminen on tärkeimpiä ratkaistavia asioita web-perusteisissa ohjelmistoprojekteissa. Yhteistominta koostuu useista eri osapuolia koskevista erilaisista tehtävistä. Suorituksessa olevia tehtäviä on kyettävä valvomaan dynaamisesti. Valvonnan toteuttamiseksi on saatava selkeä kuva jokaisen tehtävän edistymisestä [WS04]. Ongelmana on siis, kuinka voidaan arvioida yksittäisen tehtävän tila, mihin vaiheeseen se on edennyt. Ratkaisuna voidaan käyttää valvontaohjelmaa, älykästä agenttia keräämään dynaamisesti tietoa tehtävän attribuuttien arvoista [WS04]. Ajonaikaiset valvontaohjelmat [DGR04] valvovat suoritusaikaisesti järjestelmän tilaa ja vertaavat sitä etukäteen saatuihin toiminnallisiin ja eitoiminnallisiin vaatimuksiin (requirements). Ajonaikaisen valvontaohjelman tarkoituksena on huomata mahdollisesti tapahtuvat virheet, korjata ne sekä estää palvelun keskeytyminen tai virheellinen toiminta. Valvontaohjelman ydinosaan kuuluvat järjestelmää tarkkaileva havainnoija (observer) ja järjestelmän vallitsevaa tilaa odotettuun tilaan vertaava
3 vertailija (analyzer). Tapahtumankäsittelijä (event handler) puolestaan vastaa jatkotoimenpiteistä valvontaohjelman lähettämän virheilmoituksen perusteella. Kuva 1: Korkean tason kuvaus ajonaikaisen valvontaohjelman toiminnasta [DGR04]
4 3 Valvonnan näkökulmat Yhteistoiminnan valvonta voidaan eri näkökulmista riippuen nähdä ja toteuttaa eri tavoilla. Valvontaa voidaan tarkastella asiakkaan, palvelun tai koko järjestelmän näkökulmasta. Katsottavasta näkökulmasta riippuu pyydetäänkö vakuutuksia palvelun laadusta asiakkaan toimesta vai tarjotaanko niitä asiakkaalle [SCDSL97]. Asiakkaat haluavat saada omiin tarpeisiinsa riittävän laadukasta palvelua. Asiakkaat eivät ole kiinnostuneita kuinka palvelu on toteutettu tai kuinka se vaikuttaa muihin asiakkaisiin. Tähän näkökulmaan perustuva yhteistoiminnan valvonta on asiakkaan näkökulmaan perustuva. Palvelut ovat kiinnostuneita vain omasta toteutuksestaan. Palvelut eivät välitä muista palveluista, asiakkaista tai niiden välisistä yhteyksistä. Palvelun näkökulmasta katsottuna toteutettu yhteistoiminnan valvonta voi keskittyä esimerkiksi palvelun laadun valvontaan. Koko järjestelmän näkökulma pitää sisällään kaikki järjestelmän politiikat, kuten miten resurssipulan yllättäessä asiakkaista valitaan se, jonka palvelun laatua alennetaan, kuka hyväksytään palvelun käyttäjäksi tai kuinka paljon aikaa ja vaivaa pitäisi käyttää optimaalisen palveluiden kohdentamistavan löytämiseen. Asiakkaiden, palveluiden ja koko järjestelmän näkökulmista katsottuina kaikkien etuja noudattavat toimintatavat ovat välillä ristiriidassa keskenään. Palvelunhallinnan tehtävä on ratkaista nämä tilanteet. Palvelun laatuun perustuva palvelunhallinnan toteuttaminen onkin ongelma, koska sen on vastattava kaikkien kolmen näkökulman vaatimuksiin [SCDSL97].
5 Asiakkaan näkökulma Palvelun näkökulma Koko järjestelmän näkökulma Kuva 2: Valvonnan näkökulmat 4 Valvottavan palvelun laatu Valvottavan palvelun laatu (Quality of Service) mitataan laatuparametreina (Quality of Service parameters). Laatuparametrit ryhmitellään kahteen joukkoon, metriikoihin ja politiikoihin [SCDSL97]. Metriikat mittaavat järjestelmän komponentien laatuparametreja, suorituskykyä, turvallisuutta ja kustannuksia. Politiikat määräävät komponenttien toimintaperiaatteet.
6 Kuva 3: Palvelun laatuvaatimusten taksonomia [SCDSL97] 4.1 Metriikat Metriikat ryhmitellään suorituskykymetriikoihin (performance), turvallisuusmetriikoihin (security) ja suhteellisen tärkeyden (relative importance) metriikoihin [SCDSL97]. Ne mittaavat sovelluksen, järjestelmän ja resurssien suorituskykyyn, turvallisuustasoon ja suhteelliseen tärkeyteen liittyviä laatuparametreja. Jokaiselle suorituskykyparametrille on täsmällinen määritelmä (absolute specification) ja johdonmukainen määritelmä (consistency specification). Johdonmukainen määritelmä määrittelee tehtäväkulkujen (task flow) ja niiden ilmentymien väliset suhteet [SCDSL97]. Esimerkiksi vasteajan vaihtelua ja synkronisointia mittaavat metriikat mittaavat verrannollisesti palvelutehtävän ilmentymien ja palveluvirtojen viiveparametrin johdonmukaisuutta. Suorituskykymetriikoihin kuuluvat aikaan liittyvät (timeliness) mitattavat laatuparametrit, kuten päästä päähän -viive, suoritettavien operaatioiden kokonaismäärä ja virheiden esiintymistiheys. Aikaan liittyvät täsmälliset
7 metriikat mittaavat palvelun suoritukseen kuluvaa kokonaisaikaa, palvelutehtävän aloitusaikaa ja palvelutehtävän valmistumisen määräaikaa. Aikaan liittyvät johdonmukaiset metriikat mittaavat palvelutehtävän suorittamiseen kuluvan ajan vaihtuvuutta, palvelutehtävien aloitusaikojen ja määräaikojen välisiä suhteita sekä näiden parametrien tilastollista jakaumaa. Myös kokoon ja määrään (volume) liittyvät täsmällisyysparametrit (precision) kuuluvat suorituskykymetriikoihin. Nämä parametrit vaativat tarkemman määrittelyn, koska järjestelmän eri osapuolet voivat ymmärtää niiden sisältämän tiedon, kuten tiedon fyysisten koon, eri tavoilla. Täsmällisyyteen liittyvät täsmälliset metriikat mittaavat syötteiden ja tulosteiden sisällön täsmällisyyttä ja tiedon tai työn määrää. Johdonmukaiset metriikat mittaavat sisäistä ja ulkoista johdonmukaisuutta tehtäväkulkujen välillä sekä näiden parametrien tilastollista jakaumaa. Virheettömyyteen (accuracy) liittyvät laatuparametrit mittaavat virheiden määrää. Tiedon virheettömyys esitetään virheettömän tiedon määrän ilmauksena. Esimerkiksi prosentuaalisesti, kuinka suuri osa tiedosta on virheetöntä. Virheettömyyteen liittyvät metriikat mittaavat syötteiden ja tulosteiden sisällön virheettömyyttä, syötteiden ja tulosteiden esityksen virheettömyyttä ja tilastollista virheettömyysjakaumaa. Suorituskykymetriikoiden jako kategorioihin ei kuitenkaan tarkoita, etteikö niitä voitaisi käyttää yhtäaikaisesti. Palvelun laatu voidaan joissain tapauksissa mitata näiden laatuparametrien yhdistelmillä, yhdistelmämetriikoilla (combinations). Turvallisuusmetriikat liittyvät erityisesti politiikkoihin ja sovelluksille tarjottavan tiedon turvaamismekanismeihin [SCDSL97]. Turvallisuusparametrit ovat sovelluskohtaisia. Niitä voivat olla esimerkiksi luottamusparametrit ja eheysparametrit. Luottamuksellisuudella seurataan, ettei tieto päädy minkään muun osapuolen käsiin, kuin sen jolle tieto on
8 tarkoitettu. Koskemattomuudella varmistetaan, että tieto on virheetöntä ja pysyy virheettömänä. Suhteellisen tärkeyden metriikka kuvaa palvelua pyytävien asiakkaiden suhteellista tärkeyttä toisiinsa nähden. Palvelujenhallintajärjestelmä tarvitsee jonkin perusteen asettaa kilpailevat asiakkaat tärkeysjärjestykseen. Kaupallisten palveluiden tapauksessa, kilpailevien asiakkaiden tärkeysjärjestys voidaan mitata esimerkiksi hinnalla, jonka asiakas on valmis maksamaan palvelun käytöstä. 4.2 Politiikat Politiikat kuvaavat virtuaalisen organisaation käyttäytymistä. Politiikat jaetaan kahteen pääjoukkoon, palvelutasopolitiikkoihin (levels of service) ja hallintapolitiikkoihin (management policies). Palveluita tilaavat asiakkaat tarvitsevat sitoumusta palvelun laadusta, kuinka sitoutunut palveluntarjoaja on kun asiakas pyytää palvelua. Palvelutasopolitiikka kuvaa, kuinka laadukkaan palvelun palveluntarjoaja on sitoutunut takaamaan. Sitoutumisen taso määrittelee, minkä politiikan mukaisesti palvelunhallinta tarjoaa palvelua asiakkaalle. Nämä politiikat voivat vaihdella paras mahdollinen (best effort) -laadusta vakuutukseen, että palvelun laatu taataan millä hinnalla hyvänsä. Hallintapolitiikka määrittelee asiakaskohtaiset toimenpiteet, jotka palvelunhallinta suorittaa eri tilanteissa. Esimerkiksi resurssipulan yllättäessä asiakas voi olla halukas neuvottelemaan uudelleen ja hyväksymään heikompilaatuisen palvelun sen sijaan että asiakasta estettäisiin kokonaan käyttämästä palvelua.
9 5 Valvonnan jakaminen abstraktiotasoihin Valvonta voidaan jakaa eri abstraktiotasoihin [Haa05]. Abstraktiotasoja ovat sopimustaso, sessiotaso, roolitaso, tehtävätaso, koreografiataso ja sovellustaso. Sopimustason valvonnan tehtävänä on hoitaa kaikkien alemmilta tasoilta havaittujen ja ilmoitettujen virhetilanteiden käsittely koko virtuaalisen organisaation tasolla. Sen tehtävänä on taata virtuaalisen organisaation laajuinen tiedon kulku, kuten valvonnan tilan päivitys kaikille osapuolille. Sessiotason valvonta puolestaan vastaa yksittäisen virtuaalisen organisaation tietyn sopimussession valvonnasta. Sessiotasolla valvotaan session elinkaaren tilaa tai sessioon liittyvien politiikkojen noudattamista. Roolitasolla valvonta seuraa valvomansa yksittäisen roolin elinkaaren tilaa. Roolitason valvonta saa tiedon mahdollisista muutoksista tehtävätasolta ja lähettää itse muutostiedon sessiotasolle. Roolitason valvonta voi myös valvoa rooliin liittyvien politiikkojen noudattamista. Tehtävätasolla valvonta seuraa roolien elinkaariin liittyvän metatiedon avulla roolielinkaarien vaiheita. Tehtävätason valvonta saa tietoa virhetilanteista koreografiatasolta ja lähettää niitä edelleen roolitasolle. Koreografiatason valvonta on vastuussa roolin elinkaaren vaiheeseen liittyvien keskusteluyhteyksien valvonnasta seuraamalla noudattavatko lähetetyt viestit sovittua koreografiaa. Tehtävätason valvonnan tapaan koreografiatason valvonta perustuu metatietoon roolien elinkaarista. Sovellustason valvonta valvoo yksittäisten sovellusten sisäisen toiminnan oikeellisuutta. Tällöin valvonta voi olla osa sovelllusta tai käytettyä sovelluskehystä.
10 Jos valvonta ei liity mihinkään abstraktiotasoon, on se tasoriippumatonta [Haa05]. Tällaista valvontaa on yleisesti kaikille sovelluksille toiminnassa oleva valvonta. Sopimustason valvonta Sessiotason valvonta Roolitason valvonta Tehtävätason valvonta Koreografiatason valvonta Sovellustason valvonta Tasoriippumaton valvonta Kuva 4: Valvonnan abstraktiotasot [Haa05] 6 Valvonnan kypsyystasot Valvonnan automatisointiin liittyy kolme kypsyystasoa sen mukaan kuinka kehittynyttä valvonnan automatisointi on. Kypsyystasot ovat passiivinen, aktiivinen ja proaktiivinen taso [MBBR]. Passiivinen valvonta on eniten käytetty valvonnan automatisoinnin kypsyystaso. Kun valvonnan taso on vähintään aktiivista, voidaan puhua automatisoidusta valvonnasta. Passiivisessa valvonnassa tapahtumat tallennetaan lokiin ja varsinainen valvonta suoritetaan vasta myöhemmin lokiin tallennettuja tietoja hyödyntäen. Suoritusaikainen valvonta ei tällöin ole mahdollista, tapahtumien järjestystä tai ajasta riippuvia tapahtumia ei voida
11 suoritusaikaisesti valvoa. Passiivinen valvonta on helppo toteuttaa ja se kuormittaa järjestelmää vähemmän kuin aktiivinen ja proaktiivinen valvonta. Aktiivinen valvonta on järjestelmää kuormittavampaa kuin passiivinen valvonta. Aktiivisessa valvonnassa valvottavaa järjestelmää ja valvovaa ohjelmistoa suoritetaan samanaikaisesti. Aktiivinen valvonta ei kuitenkaan vaikuta valvottavan järjestelmän suoritukseen eli se ei pysty suoraan vaikuttamaan virhetilanteisiin. Aktiivisessa valvonnassa virhetilanteet havaitaan ja niihin voidaan reagoida lähes reaaliaikaisesti ilmoittamalla tieto tarvittaville osapuolille, jotka korjaavat virhetilanteet. Proaktiivista valvontaa suoritetaan aktiivisen valvonnan tapaan samanaikaisesti valvottavan järjestelmän kanssa, mutta keskenään synkronoidusti. Valvova ohjelmisto pääsee vaikuttamaan valvottavan järjestelmän toimintaan ja estämään virhetilanteet. Proaktiivinen valvonta on suorituskyvyn kannalta kuormittavinta, mutta pystyy takaamaan järjestelmän luotettavan toiminnan reaaliaikaisesti. 7 Koreografiat Virtuaalisissa organisaatioissa informaatio kulkee sähköisinä viesteinä. Jotta osapuolet ymmärtäisivät toisiaan, viestitykseen liittyvistä käyttäytymismalleista sovitaan koreografioiden avulla. Koreografia kuvaa miten asiakkaan ja palvelun välinen vuorovaikutus toimii, milloin tiedonvaihtoa tapahtuu, milloin ehdot on täytetty [Web04]. Virtuaalisissa organisaatioissa käytävä viestinvaihto voi noudattaa implisiittistä tai eksplisiittistä koreografiaa. Implisiittisessä koreografiassa yhteistoiminta sovitaan vain yleisellä tasolla. Eksplisiittisessä koreografiassa yhteistoiminta sovitaan tarkemmin kommunikointiin käytettävän kielen syntaksin ja käsitteiden semantiikan lisäksi myös
12 hyväksyttävän käyttäytymisen tarkempi kuvaus. Eksplisiittinen koreografia kuvaa mitä osapuolilta vaaditaan, mikä on osapuolille sallittua ja mikä ei ole osapuolille sallittua. Eksplisiittisen koreografian etu implisiittiseen nähden on mahdollisuus verifioida sitä jo suunnitteluaikana sekä suoritusaikaisesti valvoa sen etenemistä. Tämä kuitenkin vaatii, että koreografia on kuvattu jollain formaalilla kuvauskielellä, kuten Web Services Choreography Description Language (WS-CDL) kielellä [Web05]. Eksplisiittinen koreografia voidaan mallintaa säännöiksi eli politiikoiksi [Haa05]. 8 Yhteenveto Dynaamisesti rakentuvien ja muuttuvien virtuaalisten organisaatioiden monimutkainen rakenne ja toiminta aiheuttaa erilaisia virhetilanteita. Näiden virhetilanteiden sattuessa tarvitaan automaattista valvontaa, joka vähintään ilmoittaa verkostolle virhetilanteesta. Automaattinen valvonta voi myös keskeyttää verkoston toiminnan ja suorittaa virheen korjaavia toimenpiteitä. Automaattista valvontaa suorittavat ajonaikaiset valvontaohjelmat, jotka tarkkailevat virtuaalisen organisaation tilaa ja etsivät virheitä vertaamalla nykyistä tilaa ennalta saatujen vaatimusten perusteella odotettuun tilaan. Automaattinen valvonta voi perustua asiakkaan, palvelun tai koko järjestelmän näkökulmaan ja sen toteutus voidaan jakaa eri abstraktiotasoille. Automaattinen valvontaohjelma voi toimia passiivisesti tallentamalla virhetilanteet lokiin myöhempää käsittelyä varten, aktiivisesti ilmoittamalla verkostolle heti virhetilanteesta tai proaktiivisesti keskeyttämällä verkoston toiminnan ja korjaamalla virheet. Valvonnan kypsyystaso vaikuttaa sen kuormittavuuteen ja luotettavuuteen, joten tilanteen mukaan niistä valitaan tarkoituksenmukaisin.
13 Virtuaalisen organisaation viestinvälityksen valvonnan mahdollistavat koreografiat, jotka määrittelevät miten ja millaisia viestejä osapuolten on lähetettävä toisilleen. Valvontaohjelman tehtäväksi jää tarkkailla, noudattavatko viestit sovittua koreografiaa. Palvelun laatu määritellään metriikoiden ja politiikkojen avulla. Valvontaohjelmat mahdollistavat virtuaalisssa organisaatioissa palvelujen virheettömän ja häiriöttömän käytön. Valvontaohjelma estää virheellisten toimintojen etenemisen virtuaalisessa organisaatiossa. Valvontaohjelmien avulla dynaamiset verkostot toimivat luotettavasti osapuolten kesken. Valvontaohjelmien käyttöä on kuitenkin punnittava tarkoin, koska ohjelmat kuormittavat virtuaalisen organisaation resursseja. Missä määrin valvontaa on järkevä käyttää, riippuu järjestelmän kriittisyydestä ja missä määrin resursseja on käytettävissä.
14 Lähteet BWRW07 Bodenstaff, L., Wombacher, A., Reichert, M., Wieringa, R., Monitoring Collaboration from a Value Perspective. Inaugural IEEE International Conference on Digital Ecosystems and Technologies, 2007. DGR04 Delgado, N., Gates, A.Q., Roach, S. A Taxonomy and Catalog of Runtime Software-fault Monitoring Tools. IEEE Trans.Soft.Eng. 30, 12 (2004), sivut 859-872. Haa05 Haataja, J., Yritysten yhteistoimintaverkostojen valvonta Web-palveluympäristössä. Pro gradu, Department of Computer Science, University of Helsinki, maaliskuu 2005. URL http://www.cs.helsinki.fi/group/webpil/docs/haataja_thesis.pdf. In Finnish. LMS99 Lupu, E., Milosevic, Z., Sloman, M. Use of Roles and Policies for Specifying, Building and Managing Virtual Enterprises. In RIDE99 Workshop (1999), IEEE Computer Society. 9 th International Workshop on Research Issues on Data Engineering: Information Technology for Virtual Enterprises. MBBR Milosevic, Z., Berry, A., Bond, A., Raymond, K. Supporting Business Contracts in Open Distributed Systems. IEEE Computer Society. 2 nd International Workshop on Services in Distributed and Networked Environments. MK05 Metso J., Kutvonen L., Managing Virtual Organizations with Contracts. In Workshop on Contract Architectures and Languages (CoALa2005), Enschede, The Netherlands, syyskuu 2005.
15 NCLMGK03 Neal, S., Cole, J.,Linington, P.F., Milosevic, Z., Gibson, S., Kulkarni, S., Identifying requirements for Business Contract Language: a Monitoring Perspective. Proceedings of the seventh International Enterprice Distributed Object Computing Conference (IEEE Computer Sosiety). Australia, Syyskuu, 2003, sivut 50-61. SCDSL97 Sabata, B., Chatterjee, S., Davis, M., Sydir, J.J., Lawrence, T.F. Taxonomy for qos specifications. Workshop on Object- Oriented Real-Time Dependable Systems (WORDS). IEEE Computer Society, 1997. SSCE07 Skene, J., Skene, A., Crampton, J., Emmerich, W.: The monitorability of service-level agreements for applicationservice provision. WOSP '07: Proceedings of the 6th international workshop on Software and performance (ACM), 2007, sivut 3-14. WS04 Wu, L., Sahraoui, H., Supporting Web Collaboration for Cooperative Software Development. Proceedings of the IEEE/WIC/ACM International Conference on Web intelligence, 2004. Web05 Web Services Choreography Description Language Version 1.0, 2005. http://www.w3.org/tr/ws-cdl-10/. Web04 Web Service Glossary, 2004. http://www.w3.org/tr/wsgloss/.