Palvelujen dynaaminen valvonta Esa Hämäläinen Palveluperustaisten ohjelmistojen suunnittelu ja kehittäminen seminaari Tuusula 18.9.2006 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Tiivistelmä Yritysten toiminnan tehostuminen ja verkottuminen asettaa vaatimuksia tietojärjestelmien kehittämiselle ja hallinnalle. Näiden haasteiden ratkaiseminen kustannustehokkaasti on yrityksen kilpailukyvyn kannalta ensiarvoisen tärkeää ja voi lisäksi luoda täysin uusia liiketoimintamalleja. Palveluperustaiset ohjelmistot ovat yksi tekninen lähestymistapa ratkaista nämä haasteet kustannustehokkaasti. Yritykset tuottavat asiakkaille palveluja joko yksin tai yhdessä toimien liiketoimintaverkoston osana. Verkostossa toimivat yritykset muodostavat virtuaalisen yrityksen. Yrityksen toimintaan liittyy sekä materiaalivirtojen että informaatiovirtojen hallinta. Informaation välittämiseksi yritykset lähettävät toisilleen sähköisiä viestejä, jolloin puhutaan sähköisestä liiketoiminnasta. Sähköisessä liiketoimintaverkostossa yritykset toimivat itsenäisesti heterogeenisessa ympäristössä ja voivat muodostaa dynaamisesti virtuaaliyrityksiä. Yhteisöt ovat luonteeltaan hajautettuja ja rakenteeltaan mahdollisesti hyvin kompleksisia. Yritysten yhteistoiminta perustuu sähköisiin sopimuksiin. Tässä ympäristössä vuorovaikutusten oikeellisuuden ja sopimusten mukaisuuden varmistaminen on olennainen osa toimivaa verkostoa. Liiketoimintaverkoston osapuolien välinen viestintä kuvataan koreografialla. Koreografia voi olla implisiittinen, jolloin viestinnästä sovitaan yleisellä tasolla, tai eksplisiittinen, jolloin viestintä kuvataan tarkemmin lisäten kuvaukseen syntaksi, semantiikka ja hyväksytyn käyttäytymisen kuvaus. Eksplisiittisen koreografian etu on sen verifioitavuus ja mahdollisuus valvoa sen kulkua suoritusaikaisesti. Eksplisiittinen koreografia voidaan todentaa oikeaksi etukäteen staattisesti verifioimalla. Dynaaminen verifiointi sen sijaan varmistaa, että viestintä noudattaa ennalta sovittuja sääntöjä. Verifioinnin ja valvonnan edellytys on, että koreografia kuvataan jollain formaalilla kielellä. Tällainen kieli on esimerkiksi Web Services Choreography Description Language (WS CDL) [13]. Osa virhetilanteista, kuten tietoturvapoliitikoiden muuttuminen, palvelun kehittyminen/muutos tai tekniset häiriötilanteet voidaan havaita vain suoritusaikaisesti. Tässä esityksessä keskitytään jatkossa suoritusaikaiseen dynaamiseen valvontaan. Sähköisessä liiketoimintaverkostossa palvelujen valvontarutiinit voidaan sijoittaa lokaalisti kommunikaatiokanavien päätepisteisiin [5]. Tämä lähestymistapa on omaksuttu esimerkiksi Helsingin yliopiston tietojenkäsittelytieteen laitoksen Web Pilarcos prototyyppiprojektissa [12]. Palvelujen valvonta voidaan toteuttaa useilla eri abstraktiotasoilla [3]. Alimmalta tasolta löytyvät tehtävämalli ja viestintätason valvontafunktiot. Käytännössä nämä monitorit muodostuvat kaksitasoisesta tilakoneesta. Viestitasolla tarkastellaan yksittäisten viestien välittämistä ja tehtävämallitasolla alemman tason tilasiirtymistä koostuvia tehtävävaikutuksia kuten esimerkiksi hintaneuvottelun alkamista ja päättymistä. Tilakoneisiin liittyviä ongelmia ovat niiden eksponentiaalisesti kasvava koko. Palvelujen automaattinen valvonta voi toimia kolmessa eri moodissa. Valvonta on joko passiivista, aktiivista tai proaktiivista. Passiivisessa valvonnassa havaitut virheet kirjataan lokiin myöhempää käsittelyä varten. Passiivisen valvonnan etu on sen suorituskykymielessä vähäinen rasittavuus. Aktiivisessa moodissa järjestelmään ja sitä valvovaa ohjelmistoa ajetaan samanaikaisesti rinnakkain. Aktiivisessa tilassa toimiva valvonta pystyy ylläpitämään tietoa järjestelmän tilasta. Havaittuihin virheisiin reagoidaan välittömästi, kuitenkaan valvottavan järjestelmän toimintaan vaikuttamatta ja tieto virheistä voidaan levittää reaaliaikaisesti kaikille
osapuolille. Proaktiivisessa moodissa valvonta suoritetaan samanaikaisesti rinnakkain kuten aktiivisessakin moodissa, mutta synkronisoidusti valvottavan järjestelmän kanssa ja virheellinen toiminta estetään. Palveluperustaisessa arkkitehtuurissa palveluntuottajat ovat itsenäisiä ja löysästi sidottuja toisiinsa. Palvelukompositio voi muodostua useista pienemmistä osista. Tämän kaltaisessa avoimessa maailmassa on erittäin vaikea taata toiminnan eheyttä ja oikeellisuutta. Valvonnalla pyritään osaltaan ratkaisemaan näitä ongelmia.
Lähteitä [1] Aysu Betin Can, Tevfik Bultan, and Xiang Fu. Design for verification for asynchronously communicating web services. In WWW '05: Proceedings of the 14th international conference on World Wide Web, pages 750 759, New York, NY, USA, 2005. ACM Press. [2] Daskalopulu, A., Dimitrakos, T., Maibaum, T.: Evidence based electronic contract performance monitoring. The INFORMS Journal of Group Decision and Negotiation (2002) Special Issue on Formal Modelling in E Commerce. [3] Haataja, J.: Monitoring of inter enterprise collaboration networks in Web Services environments. Master s thesis, Department of Computer Science, University of Helsinki (2005) In Finnish. [4] Mariya Koshkina and Franck van Breugel. Modelling and verifying web service orchestration by means of the concurrency workbench. SIGSOFT Softw. Eng. Notes, 29(5):1 10, 2004. [5] Kutvonen, L., Metso, J., & Ruokolainen, T. (2005, December). Inter enterprise Collaboration Management in Dynamic Business Networks. In R. Meersman & Z. Tari (Eds.), OnTheMove 2005 DOA, ODBASE and CoopIS vol. 1 (Vol 3760). Berlin, Heidelberg: Springer Verlag. [6] Nikola Milanovic and Miroslaw Malek. Current solutions for web service composition. IEEE Internet Computing, 8(6):51 59, 2004. [7] MILNER, R. Communicating and Mobile System : The Pi Calculus. May 1999. [8] Srini Narayanan and Sheila A. McIlraith. Simulation, verification and automated composition of web services. In WWW '02: Proceedings of the 11th international conference on World Wide Web, pages 77 88, New York, NY, USA, 2002. ACM Press. [9] Neal, S., Cole, J. B.,Linington, P. F., Milosevic, Z., Gibson, S., & Kulkari, S. (2003). Identifying requirements for Business Contract Language: a Monitoring Perspective. In 7th International Enterprise Distributed Object Computing Conference (EDOC 2003) (pp. 50 61). Los Alamitos, CA, USA: IEEE. [10] PETERSON, L. Petri Net Theory and The Modeling of Systems. 1981. [11] Business Process Execution Language for Web Services (BPEL4WS v.1.1). Published on Web (May 2003). http://www 106.ibm.com/developerworks/ library/ws bpel.
[12] Web Pilarcos Project. Published on Web (Dec. 2004). http://www.cs.helsinki.fi/group/web pil. [13] Web Services Choreography Description Language (WS CDL v1.0). Published on Web (Dec. 2004). http://www.w3.org/tr/ws cdl 10/. [14] Workflow Process Definition Interface XML Process Definition Language (XPDL). Published on Web (Oct. 2002). http://www.wfmc.org/standards/docs/tc 1025_10_xpdl_102502.pdf.