En web-tjeneste er et sett av relaterte applikasjonsfunksjoner som kan startes programmatisk over Internett. Firmaer kan bruke en blanding av web-tjenester for å utføre komplekse transaksjoner med minimal programmering. Med web-tjenestene kan kjøpere og selgere fra hele verden finne hverandre, kobles sammen dynamisk og utføre transaksjoner i sanntid med minimal menneskelig interaksjon.
Web-tjenester er innebygde, selvbeskrivende modulære applikasjoner som kan publiseres, finnes og startes på Internett.
Web-tjenester er innebygde. På klientsiden er det ikke nødvendig med annen programvare. Et programmeringsspråk med XML- og HTTP-klientstøtte er nok til at du kan komme i gang. På serversiden er det nødvendig med en web-server og en servlettmotor. Klienten og serveren kan implementeres i forskjellige miljøer. Det er mulig å web-tjenesteaktivere en eksisterende applikasjon uten å skrive en eneste linje med kode.
Web-tjenester er selvbeskrivende. Klienten og serveren trenger bare å gjenkjenne formatet til og innholdet i forespørsels- og svarmeldinger. Definisjonen av meldingsformatet følger med meldingen. Det er ikke nødvendig med noen eksterne metadatalagre eller kodegenereringsverktøy.
Web-tjenester er modulære. Enkle web-tjenester kan aggregeres slik at de danner mer komplekse web-tjenester enten ved å bruke arbeidsflytteknikker eller ved å sende kall til web-tjenester på et lavere nivå fra en web-tjenesteimplementering.
Web-tjenester er plattformuavhengige. Web-tjenester er basert på et konsist sett av åpne, XML-baserte standarder som er utformet for å fremme interoperabilitet mellom en web-tjeneste og klienter på flere dataplattformer og programmeringsspråk.
Web-tjenester kan være hva som helst, for eksempel teateranmeldelser, værmeldinger, kredittkontroller, aksjekurser, reisetips eller billettbestillinger. Hver av disse innebygde tjenestene er en applikasjon som enkelt kan integreres med andre tjenester, fra samme eller andre firmaer, for å opprette en fullstendig forretningsprosess. Ved hjelp av denne interoperabiliteten kan firmaer dynamisk publisere, oppdage og binde flere web-tjenester gjennom Internett.
Web-tjenester kan grupperes i tre kategorier:
Firmainformasjon. Et firma deler informasjon med kunder eller andre firmaer. I dette tilfellet bruker firmaet web-tjenester til å utvide omfanget. Eksempler på web-tjenester med firmainformasjon er nyhetsstrømmer, værmeldinger og aksjekurser.
Firmaintegrering. Et firma sørger for transaksjonelle gratistjenester til kundene. I dette tilfellet blir firmaet en del av et globalt nettverk av leverandører som kan brukes til å gjøre forretninger. Eksempler på firmaintegrerende web-tjenester omfatter e-markeder med tilbud og auksjoner, reserveringssystemer og kredittkontroll.
Eksternalisering av firmaprosesser. Et firma skiller seg ut fra konkurransen ved å opprette en global verdikjede. I dette tilfellet bruker firmaet web-tjenester til å integrere prosessene dynamisk. Et eksempel på eksternaliserende web-tjenester for firmaprosesser er tilknytningene mellom forskjellige firmaer for å kombinere produksjon, montering, engrossalgdistribusjon og detaljsalg av et bestemt produkt.
En nettverkskomponent i en web-tjenestearkitektur kan spiller en eller flere fundamentale roller: tjenesteleverandør, tjenesteformidler og tjenesteklient.
Binding omfatter oppretting av alle miljøforutsetninger som er nødvendige for å kunne utføre tjenestene på en vellykket måte. Eksempler på miljøforutsetninger er sikkerhet, transaksjonsovervåking og HTTP-tilgjengelighet. Forholdet mellom disse rollene beskrives i figur 1.
Figur 1. Tjenesteroller og interaksjoner.
Hvis du vil ha mer informasjon om web-tjenester, kan du se www.ibm.com/developerworks/webservices