Biblioteksstyrelsens logo - Gå til forsiden af www.bs.dkLogo baggrundBiblioteksstyrelsens lille logo
 
 
 
 


Hvad er en webservice og hvilke standarder er omfattet?

Webservice er en herlig rummelig term, som kan betyde mange forskellige ting. Umiddelbart skulle man tro, at det slet og ret betegnede en service, som er tilgængelig via en webside. Og i så fald ville bibliotek.dk jo allerede være en webservice.

Ordet betegner imidlertid også en service (i form af et program), som er tilgængeligt på Internettet, og som kan tilgås fra klienter (i form af programmer) andre steder på Internettet via en standardiseret protokol. Da servicen således ikke er snævert bundet til World Wide Web, er betegnelsen webservice altså ikke specielt velvalgt.

Kommunikationen foregår ved at klienten sender serviceprogrammet en besked (message), som efterfølgende resulterer i et svar (response). Da al kommunikation sker i XML (Extensible Markup Language), er den frigjort fra operativsystemer og programmeringssprog. Denne frigørelse fra operativsystemer og programmeringssprog betyder eksempelvis at Windows programmer kan kommunikere med Unix programmer.

Der findes andre teknikker, som kan det samme, og endda mere effektivt. Men enten er de ikke platformsuafhængige (eks. Remote Procedure Call), eller også har de en meget snæver udbredelse (eks. Z39.50 udenfor bibliotekssektoren).

I nærværende notat vil vi holde os til webservices, således som de er specificeret i W3C (WorldWide Web Consortium).

There are many things that might be called "Web services" in the world at large. However, for the purpose of this Working Group and this architecture, and without prejudice toward other definitions, we will use the following definition:

A Web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP-messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards.

(fra Web Services Glossary, http://www.w3.org/TR/ws-gloss/ )

Dette uddybes kort nedenfor, idet det dog understreges, at der er tale om en yderst summarisk beskrivelse.

En webservice er forenklet sagt en tjeneste, som stilles til rådighed på nettet for såkaldte klientapplikationer – som fx kan præsentere servicen for slutbrugeren i en webportal.

tegningen viser en klientapplikation

En webservice kan være katalogiseret i et centralt register (UDDI - Universal Description and Discovery Integration). Ideen er at det skal være muligt for en klientapplikation at slå op i et sådant register  for at finde en relevant webservice.

En webservice skal være beskrevet som en WSD (Web Services Description) i WSDL (Web Services Description Language). Man kan for mange anvendelser sammenligne kaldet af en webservice med et procedurekald, som kan foretages af et program, når en given opgave ønskes udført. WSD’en indeholder de nødvendige oplysninger om hvorledes kaldet skal foretages – herunder messageformat og serviceadresse.

Selve kaldet sker ved at klientapplikationen sender en message til webservicen. Hertil bruges protokollen SOAP (Simple Object Access Protocol), som billedligt talt i en kuvert (en såkaldt SOAP-envelope) kan rumme de nødvendige oplysninger. Hvis kaldet er korrekt udformet, vil webservicen returnere det ønskede i en returkuvert. Som bæreprotokol anvendes normalt den fra websider velkendte protokol HTTP (Hypertext Transfer Protocol). Og alt bygger på XML (Extensible Markup Language).





Udskriv Udskriv
Denne side er kapitel 4 af 9 til publikationen "Bibliotek.dk - webservices".

Publikationen kan findes på adressen http://www.bs.dk/publikationer/andre/webservice/index.htm
© 2005
Biblioteksstyrelsen | Nyhavn 31 E | 1051 København K | tlf. 33 73 33 73 (hverdage kl. 9-16) | fax 33 73 33 72 | bs@bs.dk | CVR 56 79 81 10