Webservices hvad er det og hvad kan det bruges til? Rikke Lose (rlo@dbc.dk) Databasekonsulent, DBC
Forvirret? Web-baserede services services på hjemmesider XML Webservices Teknologi 2
Web-baseret service 3
Web-baseret service 4
XML webservices 5
Hvad er webservices IKKE? Bare services på hjemmesider Nødvendigvis synlige for brugerne En grund til at skifte gamle systemer eller programmer ud kan være grunden til at de lever længere ikke nødvendigt at ændre dem i princippet Altid den bedste løsning! 6
Hvad er webservices så? Teknologi kommunikation integration dataudveksling Enighed om hvad og hvordan vi kommunikerer 7
Hvad er webservices så? Kommunikation mellem systemer/programmer taler ikke nødvendigvis det samme sprog Baseret på åbne standarder XML internetkommunikation Understøtter genbrug eksisterende data og funktionalitet services samarbejde interoperabilitet automatisering 8
Roller og funktioner Serviceaftager skal kunne sende/modtage data i XML Serviceudbyder skal kunne sende/modtage data i XML Funktioner kommunikation af beskeder (data) forespørge (søge) og svare opdatere aflevere, hente og modtage 9
Roller og funktioner Besked <forespoergsel> giv mig </forespoergsel> Serviceaftager Serviceudbyder 10 Besked <svar> værs go </svar>
Standarder Webservicestandarder (xml-baserede) XML (databeskrivelse) WSDL (beskrivelse af webservice) XML schema (regler/format) UDDI (registrering/synliggørelse) SOAP (indpakning) Biblioteksspecifikke standarder SRW/U Transport (protokol) http(s) eller anden 11
Webservicestandarderne XML baserede Uafhængige af: platform (Windows, Unix etc.) programmeringssprog Fleksibilitet og udvidelsesmuligheder 12
extensible Markup Language XML Generelt Markup sprog definere specifikke sprog/standarder Syntax få regler, der skal overholdes (Wellformed) 13
XML dokument <?xml version="1.0"?> <post> <type>voksne</type> <navn>salman Rushdie</navn> <navninverteret> Rushdie, Salman</navnInverteret> <url>http://www.forfatterweb.dk/publish.php?linknavn=zrushdie00</url> <abstract>det tager tid at trænge ind i Rushdies omfangsrige verdener, men har man først åbnet op for godteposen, er han svær at give slip på igen. Hans romaner er præget af et mylder af historier, som væves ind i hinanden, samt af store persongallerier, som mødes på kryds og tværs af fortællingerne. Hans universer blander historiske begivenheder med mytologi, religiøsitet og i særdeleshed med drøm og fantasi. For eksempel møder vi mennesker, der er forvandlet til gedelignende skikkelser, mennesker der falder levende fra himlen, og mennesker der kan strejfe rundt i andre menneskers bevidstheder. Tematisk beskæftiger han sig med emner som identitet, immigration, kultur, modernitet og kærlighed. Og alt sammen serveres det af forjættende fantasifuldt, fabulerende fortællere.</abstract> <afsnitliste> <afsnit><url>http://www.forfatterweb.dk/publish.php?linknavn=zrushdie01</url><titel>indledning</titel></afsnit> <afsnit><url>http://www.forfatterweb.dk/publish.php?linknavn=zrushdie02</url><titel>baggrund</titel></afsnit> <afsnit><url>http://www.forfatterweb.dk/publish.php?linknavn=zrushdie03</url><titel>- Rushdie og science-fiction genren</titel></afsnit> <afsnit><url>http://www.forfatterweb.dk/publish.php?linknavn=zrushdie04</url><titel>- At skabe sin egen historie</titel></afsnit> <afsnit><url>http://www.forfatterweb.dk/publish.php?linknavn=zrushdie05</url><titel>- Skam og skamløshed</titel></afsnit> <afsnit><url>http://www.forfatterweb.dk/publish.php?linknavn=zrushdie06</url><titel>- En kærlighedssang til bastarderne</titel></afsnit> <afsnit><url>http://www.forfatterweb.dk/publish.php?linknavn=zrushdie07</url><titel>- Dødsdom over Rushdie</titel></afsnit> <afsnit><url>http://www.forfatterweb.dk/publish.php?linknavn=zrushdie08</url><titel>- Kunsten at skrive sig ud over døden</titel></afsnit> <afsnit><url>http://www.forfatterweb.dk/publish.php?linknavn=zrushdie09</url><titel>- Ydre og indre rystelser</titel></afsnit> <afsnit><url>http://www.forfatterweb.dk/publish.php?linknavn=zrushdie10</url><titel>- Rushdies hovedmetaforer</titel></afsnit> <afsnit><url>http://www.forfatterweb.dk/publish.php?linknavn=zrushdie11</url><titel>- Det litterære slægtskab</titel></afsnit> <afsnit><url>http://www.forfatterweb.dk/publish.php?linknavn=zrushdie12</url><titel>bibliografi</titel></afsnit> <afsnit><url>http://www.forfatterweb.dk/publish.php?linknavn=zrushdie13</url><titel>links</titel></afsnit> </afsnitliste></post> 14
Web Services Description Language WSDL Specifikt XML sprog Beskrivelse af Webservicen hvor får man adgang? hvordan får man adgang? hvad kan man bruge Webservicen til? hvordan kommunikerer man med webservicen? 15
XML schema Et specifikt XML sprog Regler hvad må man/hvad må man ikke? hvad må/skal et XML dokument indeholde? Validering overholder dette XML dokument det, som vi har aftalt? 16
Universal Description, Discovery, and Integration - UDDI XML baseret registrering Synliggørelse (publicering) og opdagelse Hvide, Gule og Grønne sider adresse kategorisering teknisk information WSDL 17
SOAP XML baseret protokol kommunikation mellem applikationer/systemer over internettet Anvendes til at sende XML beskeder envelope indpakning header relevant information om beskeden body indeholder selve beskeden 18
Derudover Masser af andre standarder under udvikling udvidede webservice-standarder Sikkerhed og ydelse Garanti for levering Autentifikation og autorisation Aftaler/kontrakter Koreografi og orkestrering integrere flere webservices og genbrug 19
SRW/U Baseret på biblioteksstandarden Z39.50 på det logiske plan SRW Search and Retrieve Web Service SOAP SRU Search and Retrieve URL Service URL 20
Transport HyperText Transfer Protocol (http) mest anvendte måde at transportere information på internettet Men også andre er mulige 21
Webservices Webserviceaftager System (klient)? Webserviceudbyder System (server) Webservicelag SOAP besked (XML) via HTTP(S) eller en anden protokol Webservicelag Konverterer forespørgsler/svar til/fra XML 22
DBC og webservices bibliotek.dk søgning og visning værkvisning Forfatterweb som webservice VIP som webservice og hvad vi ellers kan finde på 23
bibliotek.dk - værkvisning 24
VIP som webservice VIP basen Webservices fx opdatere lokalt lånerregister (biblioteker) fx adresseliste over biblioteker Lokalt system Hjemmeside 25
Hvorfor webservices? Genbruge eksisterende data og funktionalitet i nye sammenhænge Samarbejde på tværs af organisationer Integration af meget forskellige systemer tale samme sprog Baseret på åbne standarder som mange er enige om at anvende Automatisering 26