Web-palvelujen yleiskuvaus

Web-palvelu on joukko toisiinsa liittyviä sovellusten toimintoja, joita voi ohjelmointikeinoilla kutsua Internetin välityksellä. Yritykset voivat dynaamisesti sekoittaa ja täsmäyttää Web-palveluja monimutkaisten tapahtumien suoritukseen vähällä ohjelmoinnilla. Web-palvelujen avulla myyjät ja ostajat voivat löytää toisensa joka puolelta maailmaa, luoda yhteyksiä dynaamisesti ja suorittaa tapahtumia tosiaikaisesti niin, että ihmisten välistä vuorovaikutusta tarvitaan mahdollisimman vähän.

Web-palvelut ovat kattavia ja itsensä määrittäviä modulaarisia sovelluksia, joita voi julkaista, hakea ja kutsua Webin välityksellä.

Web-palvelut ovat itsenäisiä. Työasemassa ei tarvita lisäohjelmistoja. XML- ja HTML-työasemia tukevalla ohjelmointikielellä pääsee jo alkuun. Palvelimella tulee olla Web-palvelu ja palvelinsovelma. Työaseman ja palvelimen voi toteuttaa eri ympäristöissä. Aiemmin luodun sovelluksen voi tehdä Web-palveluna käytettäväksi kirjoittamatta riviäkään koodia.

Web-palvelut ovat itsensä määrittäviä. Työaseman ja palvelimen tarvitsee tunnistaa vain pyyntö- ja vastaussanomien muotoilu ja sisältö. Sanoman muotoilumääritys kulkee sanoman mukana, joten ulkoisia metatietovarastoja tai koodinluontityökaluja ei tarvita.

Web-palvelut ovat modulaarisia. Yksinkertaisista Web-palveluista voi koostaa monimutkaisempia joko käsittelyreittitekniikoilla tai kutsumalla alakerroksen Web-palveluja Web-palvelun toteutuksesta.

Web-palvelut ovat ympäristöstä riippumattomia. Web-palvelut perustuvat lyhytsanaiseen joukkoon avoimia XML-perusteisia standardeja, jotka on suunniteltu parantamaan yhteentoimivuutta Web-palvelun ja eri käyttöjärjestelmillä sekä ohjelmointikielillä toimivien työasemien välillä.

Web-palvelut voivat olla mitä tahansa, esimerkiksi teatteriesitysten arvosteluja, säätiedotuksia, tilitietojen tarkistuksia, osakekursseja, matkaoppaita tai lentoyhtiöiden matkanvarausohjelmia. Kukin näistä kattavista yrityspalveluista on sovellus, josta voi helposti luoda kokonaisen liiketoimintaprosessin integroimalla sen toisiin saman tai eri yhtiön tarjoamiin palveluihin. Tämän yhteentoimivuuden ansiosta yritykset voivat dynaamisesti julkaista ja hakea monenlaisia Web-palveluja sekä muodostaa niihin sidontoja Internetin kautta.

Web-palvelujen luokittelu

Web-palvelut voidaan ryhmittää kolmeen luokkaan:

Yritystiedot. Yrityksellä on asiakkaiden tai toisten yritysten kanssa tietoja yhteiskäytössä. Tässä tapauksessa yritys käyttää Web-palveluja laajentamaan liiketoimintaansa. Yritystietoja välittäviä Web-palveluja ovat esimerkiksi uutistietovirrat, säätiedotukset tai osakekurssit.

Yritysten integraatio. Yritys tarjoaa tapahtumaperusteisia "maksusta"-palveluja asiakkailleen. Tässä tapauksessa yritys on osa maailmanlaajuista lisäarvopalvelujen toimittajien verkkoa, jota voidaan käyttää kaupankäyntiin. Yritysten integraatioon liittyviä Web-palveluja ovat esimerkiksi sähköiset huutokauppapaikat, varausjärjestelmät ja tilitietojen tarkistuspalvelut.

Liiketoimintaprosessien ulkoistus. Yritys erottautuu kilpailijoistaan luomalla maailmanlaajuisen arvoketjun. Tässä tapauksessa yritys käyttää Web-palveluja integroimaan prosessinsa dynaamisesti. Liiketoimintaprosessien ulkoistukseen liittyviä Web-palveluja ovat esimerkiksi eri yhtiöiden keskenään muodostamat yhteydet, joiden avulla yhdistetään tietyn tuotteen valmistus, kokoaminen, tukkujakelu sekä vähittäismyynti.

Palvelun roolit ja vuorovaikutus

Web Services -arkkitehtuurin verkkokomponentilla voi olla yksi tai usea päärooli: palveluntarjoaja, palvelujen välittäjä sekä palvelun työasemaohjelma.

Sidontojen muodostukseen kuuluu kaikkien palvelujen onnistuneeseen loppuun vientiin tarvittavien ympäristöedellytysten täyttö. Ympäristöedellytyksiä ovat esimerkiksi suojaus, tapahtumien valvonta ja HTTP-käytettävyys. Näiden roolien väliset suhteet on kuvattu kuvassa 1.

Kuva 1: Palvelun roolit ja vuorovaikutus.

Kuva 1 esittää palvelujen välittäjän, palveluntarjoajan ja palvelun pyytäjän välistä vuorovaikutusta.

Lisätietoja Web-palveluista on osoitteessa www.ibm.com/developerworks/webservices