Web Services Light. Karen Thomsen. Silkeborg Bibliotek. Karen Thomsen

Relaterede dokumenter
Webservices. hvad er det og hvad kan det bruges til? Rikke Lose Databasekonsulent, DBC

Webserverprogrammering

ADIS, WS og Meta Service

Intelligent brugerinvolvering. Udvikling af en model til berigelse af afleveringsøjeblikket. Projekt støttet af DDB-puljen 2014

EG Data Inform. Byggebasen. WCF og webservices. Jens Karsø

KURSER INDENFOR SOA, WEB SERVICES OG SEMANTIC WEB

UNI Login. Eksport webservice. WS17 v1

Ibrugtagning af Fødselsindberetningsservicen på NSP

Kravspecifikation. for. Indholdskanalen 2.0

En teknisk introduktion til NemHandel

Nemhandel infrastruktur. Morten Hougesen Christian Uldall Pedersen 8. April 2010

UNI Login. Eksport webservice. WS17 v1

NemHandel infrastruktur. Lars Houe Heinrich Clausen 4. November 2010

DK-Cartridge 1.0. Distributionsformat for digital læringsindhold VERSION: 1.0

ITD ecmr WEB Services. Af Allan Wisborg, IT Udvikler

Opstartsvejledning ATS aktørudgave

PHP Quick Teknisk Ordbog

AuthorizationCodeService

vejman.dk WMS/WFS dokumentation vmgeoserver.vd.dk Maj 2013 Udgave 2.0

DOtAB. Teknisk rapport

UNI Login. For udbydere af online læremidler. Ole Windeløv, Steen Lindén og Kristian Johnsen UNI C Side 1

Oktober 2013 HLG/XIGA. Opstartsvejledning ATS Engros 1/12

INSPIRE og Geodata-info

OIO standardservice til Journalnotat. Generel servicevejledning. KMD Sag Version KMD A/S Side 1 af 15. September 2013 Version 1.

EasyIQ ConnectAnywhere Release note

Web services i brug. Anvendelse uden for biblioteksverdenen

SOSI STS Testscenarier

Vejledning til Retsinformation web services test stubs

ISO RFID in Libraries del 1 og 3 i henhold til DS/INF ISO og ISO

FESD-standardiseringsgruppen Att: Palle Aagaard IT- og Telestyrelsen IT-strategisk kontor Holsteinsgade København Ø

Indholdsfortegnelse. Version Serviceplatformen - opsætningsguide (Eksterne testmiljø) Indledning... 2

EG Bolig Ledelsesinformation BI på EG Bolig

XML webservice for pensionsordninger. Version 1.0 Draft A

Vejledning til anvendelse af MeMo og SMTP. Næste generation Digital Post Maj 2018, version 0.9

Undervisningsplan. Side 1 af 9. Termin Rybners Tekniske Gymnasium. Uddannelse. Fag og niveau. Informationsteknologi B

En teknisk introduktion til NemHandel

Præsentation af BSK regionens identity and access management platform

Service Orienteret Arkitektur - løfter, forventninger og argumenter. 4 ugers projekt

Integrationsmanual. Anvendelse af webservice til kursusoversigt i Campus. Brugervejledning til udviklere

MM Hul-Igennem-Test i Prod. Information til kunder

Specifikationsdokument for servicen PID-CPR

Integration til andre it-systemer

LaserNet v6.6 Release Nyhedsbrev

Version Dato Beskrivelse /11/2012 Initial version /03/2013 Tilføjet eksempel med Template Agent, generelt udvidet dokumentet.

Navision Stat 7.x. GIS WS, opgavekø og automatiseret filindlæsning via NAS. Overblik. Side 1 af 9. ØSY/CPS/MIL Opr

Curriculum Vitae for Søren Brønsted

Affaldsdatasystem Vejledning supplement i system-til-system integration for.net brugere

Curriculum Vitae Jack Petersen

Den Gode Webservice 1.1

Vidensdeling Konsulentrapport

Sådan fungerer Danmarks Miljøportal. en pixibog om infrastrukturen bag Danmarks Miljøportal

SOSIGW. - Administrationskonsol for SOSIGW Indeks

Dokumentation af optagelse.dk

Byggebasen Javascript

Valg af webservice standard

1.1 Formål Webservicen gør det muligt for eksterne parter, at fremsøge informationer om elevers fravær.

Arkitektur for begyndere

Netværk, WAN teknik. Introduktion til VPN. Afdeling A Odense. WAN kredsløb. Hovedkontor Viborg. Afdeling B Roskilde

Encoding:...1 Et tegn sæt (character set):...1 UTF-8 og UTF-16 (Unicode):...2

Snitfladebeskrivelse for Snitfladebeskrivelse STD-8 KMD Boligstøtte Version 1.0.0,

Digitaliseringsstyrelsen

Notat ang. visning af dagsordener og referater på hjemmesiden ved skift til SBSYS esdh system.

Teknisk Dokumentation

Produktpræsentation. BA Systems. Control made easy

På nettet via bibliotek.dk

Guide til kravspecifikation

Google Tag Manager tracking

Transkript:

Web Services Light Silkeborg Bibliotek 1

Min baggrund Faglig baggrund datalog Ansættelse 16 år som IT- udvikling og usability 4 år som usability-konsulent og nu 3 år på Silkeborg Bibliotek som IT- udvikling og usability Projekt: MitBibliotek Har kørt i ca. 3 år under forskellige projekter alle med personalisering som overordnet mål. Her anvendes web services og web service klienter 2

MitBibliotek Målet med projektet er at udjævne forskellen mellem det fysiske og det virtuelle bibliotek gennem personalisering på basis af: kendskab til brugerens lånemønster: lånehistorik brugerens angivelser af interesser: profil og rating af allerede læste titler kendskab til andre lignende brugeres lånemønstre og profil: 'Andre, der har lånt...' (kollaborativ filtrering) kendskab til informationer om de konkrete materialer i bibliotekskatalogen: supplerende faktaoplysninger ved hjælp af metadata fra eksterne informationer kendskab til andre lignende materialer: 'Noget, der ligner...' (kollaborativ filtrering) 3

MitBibliotek Lokal klient Brugersevicelag / klient Lokal side Lokalt css lokal server Servicelag/applikationslag Webservice Andre har lånt.. Java wsdl SOAP / XML Webservice Noget der ligner Java wsdl SOAP / XML Webservice udgave-match Java wsdl SOAP / XML Webservice Anbefalinger wsdl Java SOAP / XML Webservice Forfatter Java SOAP / XML wsdl Java SOAP / XML Webservice Netmusik wsdl Datalag metadat a XML ÅKB bibliotekskataloger DBC Litt.siden Netmusik 4

Projektforløbet Fase 1: Vise at man kan anvende web services til at give 'sømløs' adgang til informationer fra eksterne leverandører (web services) Fase 2: Vise, at man kan kombinere de mange informationer på basis af kendskab til brugerne personaliseringen Projektet er i gang med fase 2 Arbejder efter de samme idéer som Web 2.0 og Bibliotek 2.0 5

Web services baggrund Før Overtog kode + evt. data Delte kode Nu Henter andres data: ikke parameterstyret og envejs kommunikation, EKS: RSS Udveksler data med andre: parameterstyret og tovejs kommunikation, EKS: Web service: enten W3c: SOAP, WSDL, XML, http eller SRU/SRW (search-retrieve) 6

Tilbud til musik 7

Andre, der har lånt... 8

Supplerende informationer 9

Web service klient for aftagere Forarbejde med at finde web service Undersøge hvordan web service virker Find værktøjer til IT-platformen for at understøtte håndteringen af web services Programmere klienten 10

Forarbejde for at finde web service Hvordan finder man en web service til en given opgave? UDDI (Universal Description, Discovery and Integration Service) Elektronisk udtræk af informationer om en web service. Web-sted, der beskriver forskellige web services for en målgruppe EKS: http://www.admsys.uni-c.dk/easy-a/webservices/index.html EKS: http://www.strikeiron.com/productdetail.aspx?p=23 Man har fundet en web service: Kan/må man anvende metoder og data? (juridisk) Kan/må man viderebearbejde data? (juridisk) Kræves der login (eller Single-sign-on) for at anvende metoder og data? Hvilke metoder (funktioner) kan man anvende for at udveksle data? (teknisk) Hvordan er informationerne, man udveksler, struktureret? (teknisk) 11

Eksempel på web service Web-services i forbindelse med EASY-A(administration inden for undervisningsverdenen). Her gælder nogle klare regler for anvendelse: "En aftale mellem UNI C og en eksterne part indgås ved udfyldelse og underskrivelse af en aftaleformular.... Og man kan finde tekstuel beskrivelse af de enkelte web services, der udbydes til godkendte aftagere: Kort introduktion: http://www.admsys.uni-c.dk/easy-a/webservices/index.html Detaljeret beskrivelse: http://uas.uni-c.dk/easy-a/webservices/dokumentation/w005_kursusudbudviaweb_01_0.doc 12

WSDL WSDL er XML-dokument: Kan læses som tekst Svært at bevare overblik selv om man kan syntaksen Hvilken url man skal bruge for at kalde en metode (funktion) i den web service Hvilke parametre, man skal bruge når man kalder den metode (funktion) Hvilke returværdier får man ved kald af metoden (funktionen) Generiske web klienter til at analysere og teste: http://soapclient.com/soaptest.html http://www.strikeiron.com/productdetail.aspx?p=23 13

WSD - eksempel 14

Analyse af WSD 15

Test af web service 16

SOAP (Simple Object Access Protocol) W3c Protokol for interaktionen mellem server og klient Envelope omkring det hele Header (optional): Roller Evt. videresendelser af forespørgsler til andre services Body: her beskrives De metoder (funktioner), der ønskes anvendt Parametre og resultater herunder fejlreaktioner 17

IT-platform Sikre, at IT-platform har installeret/inkluderet de nødvendige værktøjer/moduler til at håndtere web services SOAP WSDL XML 18

Udvikling af klient Læse WSD'en og opbygge dataobjekter til håndtering Statisk: WSD læses én gang og genererer kode til programmet Dynamisk: WSD læses hver gang klienten kalde Bearbejdning af data afhænger af format: Datastrukturer i objekter Beregninger på basis af data Kombinationer af data fra web service med andre data EKS: Lånehistorik for en låner kobles med 'Andre der har lånt...' således, at man ikke får vist de, brugeren har lånt før. Viderebearbejdning af de kombinerede data til endelig præsentation XML-opmærkede datafelter Anvendelse af XSLT til visning EKS: Anbefalinger fra Litteratursiden.dk Alternativt selv foretage en parsning af XML for at bearbejde data som ved objekter 19

Web service Klient eksempel PEAR Base System (http://pear.php.net/package/pear) HTTP_Request (http://pear.php.net/package/http_request) NET-SOCKET (http://pear.php.net/package/net_socket) SOAP (http://pear.php.net/package/soap) --> <?php /********** Webservice-klient start ************/ include("soap/client.php");... $wsdl = new SOAP_WSDL("http://xxx?wsdl"); $osoapclient = $wsdl->getproxy(); //Kald medtode på klient-objekt (Returnér streng) if(!empty($_request['faust'])){ } $faust = $_REQUEST['faust']; $xmlresult = $osoapclient->getrecommendation($faust, 10, '', ''); $xmlresult = utf8_decode($xmlresult); $xmlparser = xml_parser_create ('ISO-8859-1'); //Parse xmlresult til arrayet $values xml_parse_into_struct($xmlparser, $xmlresult, $values); //Free XML-parser xml_parser_free($xmlparser); /********** Webservice-klient slut ************/ /********** OUTPUT start **********/?>... /********** OUTPUT slut **********/?> 20

Web service for udbydere Hvem styrer, hvad der udveksles Distribution: Udbyder Interaktion, udveksling: Aftager, Udbyder Hvor meget udveksles Meta-data Komplet indhold Hvordan udveksles SRU/SRW (Search-Retrieve Web Service) Bibliotekssektoren ved formidling af bibliografiske data Distribution af data W3c: SOAP (Simple Object Access Protocol) baseret på XML og http med WSDL ((web service description language) til beskrivelse Anvendes både i og uden for bibliotekssektoren. Udveksling af data eller objekter 21

Laver en web service Samme muligheder, som når man laver klienter: Generere WSDL med beskrivelse af denne web service metoder(funktioner) og parametrene til dem Man skal supplere sin kode med kald til moduler/værktøjer, der kan fortolke henvendelser fra http pakket ind i SOAP til metodekald med angivne parametre Hente/levere data fra/til datalag generere resultat som dataobjekt eller XML pakket ind i SOAP 22

Opsamling Start som aftager Vælg hvilken standard du vil understøtte for web service Betinget af relevante udbyderes tilbud af web services Lav model for web service klient Håndteringen af protokol Fortolkning af web service i det format For hver web service du vil bruge skal du så: Supplere med bearbejdningen af data Hold øje med de 'gode' steder med nye web services Udbyg med evt. selv at udbyde web services Samme standard som for klient Fastlæg de juridiske retningslinjer og krav 23

Link lister Litteratur om standarder: W3c: http://www.w3.org/2002/ws/ SRU/SRW: http://www.loc.gov/z3950/agency/zing/srw/ Liste over web services: http://www.admsys.uni-c.dk/easy-a/webservices/index.html http://www.strikeiron.com/productdetail.aspx?p=23 Liste over værktøjer til analyse af WSDL: http://soapclient.com/ http://www.strikeiron.com/productdetail.aspx?p=23 24