adlib webservices
TRANSCRIPT
Webservices voor Terminologiebronnen
Adlib Gebruikersgroep
29 mei 2008
René van den Heuvel
Waarom terminologievalidatie?
• Consistentie van beschrijvingen/data bij invoeren/wijzigen (authority files en thesauri)
• Bij zoeken kan de taal van de zoeker worden afgestemd op de taal van de data die gezocht wordt. Dus meertalige terminologiebronnen verbeteren toegankelijkheid.
• Uitbreiden van zoekacties via aangeboden relaties in de terminologiebron. Bijv. hiërarchisch.
Gebruik van validatie bij invoeren/wijzigen….
Termen en hierarchie
wordt getoond in
pop-up scherm
…en bij zoeken
Voorbeelden beschikbare terminologiebronnen
• The Getty Art & Architecture Thesaurus (AAT)http://www.getty.edu/research/conducting_research/vocabularies/aat/
• The Getty Union List of Artist Names (ULAN)http://www.getty.edu/research/conducting_research/vocabularies/ulan/
• The Getty Thesaurus of Geographical Names (TGN)http://www.getty.edu/research/conducting_research/vocabularies/tgn/index.html
• RKD-Artisthttp://www.rkd.nl/rkddb/
• Iconclasshttp://www.iconclass.nl/libertas/ic?style=index.xsl
• Dutch version of the AAThttp://www.aat-ned.nl/
Hoe een terminologiebron beschikbaar maken?
• Papier ???• Word Document ???• CSV file ???• CD-ROM ???• Website ???• XML ???• Webservice !!!
Problemen met beschikbaar stellen op CD-ROM
• Specifieke software nodig• Naadloze integratie alleen mogelijk met
software van de zelfde maker• Data conversie is een alternatief (van wat naar
wat?)• Updates lastig te implementeren (technische-
en synchronisatieproblemen)• Distributie via post of (soms zware)
downloads
Problemen met websites die terminologiebronnen aanbieden
• Alle websites zien er anders uit en werken anders
• (Zoek)faciliteiten variëren per website• Integratie alleen mogelijk via ‘knippen &
plakken’
Oplossing
• In plaats van een interface voor gebruikers hebben we een interface nodig voor programma’s, een zogenaamde API (Application Program Interface)
• Dit maakt het voor gebruikers mogelijk externe terminologiebronnen te gebruiken vanuit de vertrouwde eigen werkomgeving/applicatie.
In geval van Adlib dus:
Vereisten voor een terminologie API
• Platform-neutraal• Taalonafhankelijk• Kunnen omgaan met hiërarchieën• Gemakkelijk te implementeren• Via internet te gebruiken• Technologie: http + xml = webservices
Voor alle duidelijkheid…
• Een website is GEEN webservice!• Een webservice heeft GEEN gebruikersinterface• Een webservice accepteert aanroepen vanuit
softwareprogramma’s• En geeft ‘raw’ XML als resultaat
Webservice (also Web Service) is gedefinieerd door de W3C als "a software system designed to support interoperable Machine to Machine interaction over a network."
Twee stijlen van webservices
• 1 - Non-Soap: simple RPC (Remote Procedure Call), RESTful (Representational state transfer)
• 2 - Soap• Voorbeeld Non-Soap: SRU (
http://www.loc.gov/standards/sru/) • Voorbeeld Soap: MuseumsVokabular.de (
http://museum.zib.de/museumsvokabular/webservice/museumvok-client0.5.php)
• Beide werken anders en beide geven resultaten in andere vorm
• Beide systemen willen we in Adlib ondersteunen!
‘Twee’ mogelijke oplossingen
• Harmoniseer alle webservices voor terminologiebronnen, zodat ze allemaal dezelfde aanroepmethode, dezelfde XML retourneren en dezelfde syntax hanteren……
• Gebruik “vertalers” voor de transformatie naar specifieke implementaties van webservices
Gateway oplossing
Application on client computer
Send http or SOAP request
Return data in XML
Web service 1 (iconclass)
Web service 2 (museumvok)
Gateway (translator)
Voorbeelden gateway
Iconclass Museumvok
http://gateway.adlibsoft.com/museumvok/handler.ashx?search=becherhttp://gateway.adlibsoft.com/IconClass/gateway.aspx?search=term=bride
Definieer “externe” thesauri in Adlib
Lijst van beschikbarethesauri als webservices
Gebruik externe thesaurus
Opvragen van termen
in MuseumVok
Gebruik externe thesaurus
Opvragen termen in Iconclass
Beschikbare terminologiebronnen in Adlib
• AAT-NED• ICONCLASS• MUSEUMVOK• MUSEUMVOKobg• HESSYS(?)• TGN(?)• ……• ……
Vragen????
?