Palvelutarjoukset ja palveluiden valinta Seminaari Yhteistoiminnan hallinta palveluorientoituneissa järjestelmissä: Palveluperustaisten yhteisöjen muodostaminen Aila Koponen 9.10.07
Palvelutarjoukset ja palveluiden valinta Palvelunhakuongelma Taustaa Ongelmia verkkopalveluiden löytämisessä (discovery) Ratkaisuehdotuksia lyhyesti Eri ehdotusten pääpiirteiset esittelyt 2
Palvelunhakuongelma 1/2 Identifioi palvelut jotka voisivat suorittaa vaatimusten mukaisen tehtävän. Osatehtävinä ehdokasjoukon generointi ja suodatus. Ehdokasjoukon generointi. Tehtävän vaatimusten abstraktiolla (palvelun nimi, rajapinta,...) luodaan palvelujoukko esimerkiksi seuraavanlaisilla apuvälineillä:! rekisteröijien toteutukset! nimiperustaiset hakupalvelut (tuottavat generoinnissa helposti vinoutuneen tuloksen johtuen palveluiden vaihtelevista nimeämiskäytännöistä, semanttisesta heterogeenisuudesta ja abstraktion tasosta.)! hakupalveluita tarjoavat tietokannat! yleislähetysprotokollat (broadcast protocols) esim. dynaamisen IPosoitteen hankkimiseksi paikalliselta palvelijalta jne. 3
Palvelunhakuongelma 1/2 Ehdokasjoukon suodatus. Rajataan joukosta vaatimustason alittavat ehdokkaat.! Käyttäjä toteuttaa yleensä itse käsipelillä! Rajapintaperustaiset haut suorittavat vain osan suodatustaakasta ( syötteiden ja tulosten määrä ja tyyppi sekä palvelunimet voidaan tarkistaa)! Funktionaaliset palvelukuvaukset: oikeat operaatiosekvenssit, esi- ja jälkiehdot. 4
Taustaa 1/4 Palveluperustaisen järjestelmän perusarkkitehtuuri [RMK05] ( service provider client - directory ) 5
Taustaa 2/4 Yhteydenottotapoja palvelunhakujärjestelmään (service discovery system) palvelulta tai asiakkaalta [Ahm05]: täsmälähetys (unicast) verkko-osoitteeseen jota rekisteröijän agentti tai tiedonvälittäjä kuuntelee monilähetys (multicast) asiakkaalta tai palvelulta yleisesti tiedettyyn osoitteeseen rekisteröijien agenteille toisin päin: rekisteröijä tai asiakas kuuntelee tunnettujen rekisteröijien palvelumainoksia (advertisement) 6
Taustaa 3/4 Palveluluetteloon (palvelutarjousvarasto, directory) talletetaan mainoksesta generoitua tietoa, saantitietoja ja ylläpitotietoja [Ahm05].
Taustaa 4/4 Palvelun hakemiseen ja rekisteröintiin on kehitetty myös ns. kokonaispalveluita mm. Universal Description, Discovery and Integration (UDDI) konsepti [UDD04]. 8
Ongelmia verkkopalveluiden löytämisessä (discovery) Tilanne: heterogeenisen palveluntarjoajien joukon luetteloiden (registry directory) selaaminen on aikaavievää. Käsitteistöjen eroavaisuudet, semanttinen heterogeenisyys ja synonyymiongelma Palvelukuvaukset (-> tarjoukset) riittämättömiä Tarjokasjoukon generoinnin tulvimisongelma (suodattamisongelma) Toimialuerajat haun ja julkaisun esteenä Hakupalvelut rajoittavat toteutustekniikoillaan palveluiden löytymistä 9
Ratkaisuehdotuksia " Taksonomia palvelunhakupalveluiden luokitteluun [HJS07]. 1. METEOR-S Web Services Discovery Infrastructure (MWSDI). P2P rekisteröijäinfrastruktuuri: palveluiden sekä toimijoiden kuvaamisessa käytettävien termistöjen yhtenäistäminen ontologioihin ja niiden mukaista palveluiden ryhmittelyä, palveluiden semanttista julkaisua ja hakua. [Ver05] 2. Open Service Discovery Architecture (OSDA). Toimialueidenvälisiä (cross-domain) palvelu- ja resurssihakuja toteuttava väliohjelmisto [Lim07]. 3. OpenModel Service Discovery (OMSD) -metodi. Käyttäytymisen mallinnusta palvelukuvauksissa käyttäen jotain hajautetun mallin formalismia, ontologioita (+viitekehys!). Hyödyttää parhaiten palvelujoukon suodatusvaiheessa [HaZ04a]. 10
Palvelunhakupalveluiden luokittelu Esimerkkitaksonomia [HJS07] määrittelee palvelunhakupalveluiden yhteisiä sekä erottavia piirteitä ja mahdollistaa hakupalveluiden vertailun mielekkäällä tavalla. 11
Hakuinfrastruktuuri MWSDI 1/2 METEOR-S Web Service Discovery Infrastructure [Ver05] Rajaa palveluhakuja ja julkaisua käyttämällä palveluiden semanttista tietoa Ontologioita palveluiden ja rekisteröijien ryhmittelemiseksi toimialueisiin. Ontologiat skaalautuvat (lisääminen) Määrittelee yhteydenpito- ja toimijanhakuprotokollat Rekisteröinnit suoraan toimialuejaotelluille rekisteröijille, monelle saman alueen r:lle samanaikaisesti 12
MWSDI 2/2 Esimerkki ontologiasta: 13
Avoin hakuarkkitehtuuri OSDA 1/4 Open Service Discovery Architecture [Lim07] Toimielueidenvälisiä palvelu- ja resurssihakuja toteuttava väliohjelmisto Rajapinta käyttäjän ja eri tekniikoilla toteutettujen hakupalveluiden välillä avoin Tarjoaa yhtenäisen tiedon esitysmuodon, hajautetun toimialueidenvälisen tietovaraston sekä kyselymallin. Tilattomuus (statelessness), modulaarisuus sekä komponenttien löyhä kytkentä tunnetuilla teknologioilla joustava, skaalautuva ja vikasietoinen 14
OSDA 2/4 Esimerkki: yhteyden luominen kahden yliopistokampuksen välille Itsenäisesti hallittut verkot Päästä-päähän yhteys luodaan lennosta yhteistyössä paikallisten verkkojen kanssa, olemassa olevat hakutavat ja kuvaukset. 15
OSDA 3/4 Palvelut kuvataan Unifed Service Description (USD) kuvauksella joka käyttää mm. määritelmiä Extensible Markup Language (XML) Universally Unique Identifier (UUID) Uniform Resource Identifier (URI) Sekä palveluiden alkuperäisiä mainoksia. 16
OSDA 4/4 Palveluiden hakeminen Julkaisu Koostaminen osapalveluista Resurssien etsiminen Olemassaolevat hakupalvelut itsenäisinä osina liitos yhtenäiseksi haku- ja julkaisuinfrastruktuuriksi. 17
HakupalvelumetodiOMSD 1/3 OpenModel Service Discovery [HaZ04a] -method Käyttäytymismallit palvelukuvauksina. Prosessi pääpiirteittäin: 1. Tehtävävaatimukset esitetään formaaleina ominaisuuksina 2. Palvelut kuvataan käyttäytymismalleina 3. Kevyillä automatisoiduilla työkaluilla raakataan palveluehdokkaat jotka rikkovat mallia ja siis käyttäjän vaatimusjoukon oikeellisuusmääreitä 4. (Tarkistetaan myös semanttiset ominaisuudet ja hylätään palvelu jos on tarpeen) 18
OMSD 2/3 OpenModel Distributed Modeling Framework viitekehys [Hal02, HaZ04b, Haz04c] määrittelee myös kuvauskielen. OpenModel Modeling Language (OMML) kieli [HaZ04b] on XML-perustainen käyttäytymismallinnuskieli ja sisältää ajettavia spesifikaatiomalleja toimialuekohtaisia ontologioita solmujenvälisiä yhteysmalleja abstraktia tilatietoa. Viitekehyksen kuvausoliot sekä instanssit ovat OMML-kielellä sekä palvelut julkaisevat kuvauksensa OMML-muodossa. 19
OMSD 3/3 OpenModel viitekehykseen kuuluu lisäksi OpenModel Distribution Infrastructure (OMDI) -alusrakenne OpenModel Validator (OMV symbolic simulation engine) GSTView työkalu käyttäytymisluokkien ja tapahtumapuiden sekä temporaalilogiikan ominaisuuksien tarkastelua varten. 20
Ahm05 Hal02 HaZ04a HaZ04b Haz04c HJS07 Lim07 RMK05 UDD04 Ver05 viitteet R. Ahmed et al. Service Discovery Protocols: A Comparative Study. In Proceedings of IM 2005 (Application Session) toukokuu 15-18, 2005, Nizza, Ranska. R. J. Hall. Open Modeling in multi-stakeholder distributed systems: Modelbased requirements engineering for the 21st century. In Proc. 2002 ISR Workshop on State of the Art in Automated Software Engineering. UC Irvine ISR, 2002. Robert J. Hall and Andrea Zisman. Behavioral models as service descriptions. In ICSOC 04: Proceedings of the 2nd international conference on Service oriented computing, ss 163-172, New York, NY, USA, 2004. ACM Press. R. J. Hall and A. Zisman. Omml: A behavioural model interchange format. In Proc. 2004 IEEE Intl. Requirements Engineering Conference. IEEE Computer Society, 2004. R. J. Hall and A. Zisman. Validating personal requirements by assisted symbolic behavior browsing. In Proc. 2004 IEEE Intl. Conference on Automated Software Engineering. IEEE Computer Society, 2004. Joe Hoffert, Shanshan Jiang, and Douglas C. Schmidt. A taxonomy of discovery services and gap analysis for ultra-large scale systems. In ACM-SE 45: Proceedings of the 45th annual southeast regional conference, ss 355-361, New York, NY, USA, 2007. ACM Press. Limam, N. et al. Osda: Open service discovery architecture for efficient cross-domain service provisioning. Comput. Commun., 30(3):546-563, 2007. Ruokolainen, T., Metso, J., Kutvonen L. Web-Pilarcos: väliohjelmistopalveluita sähköisille liiketoimintaverkostoille. Tietojenkäsittelytiede 24: 52-66, Joulukuu 2005 UDDI OASIS Standards Consortium, Introduction to UDDI: important Features and Functional Concepts, 2004. http://uddi.org/pubs/uddi-tech-wp.pdf (29.09.07) Verma, K. Et al. Meteor-s wsdi: A scalable p2p infrastructure of registries for semantic publication and discovery of web services. Inf. Tech. and Management, 6(1):17-39, 2005. 21