ethosnet repositories and web services workshop 2 nd june2009 richard green r.green@hull.ac.uk

Download EThOSnet Repositories and Web Services Workshop 2 nd June2009 Richard Green r.green@hull.ac.uk

Post on 28-Mar-2015

212 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • Slide 1

EThOSnet Repositories and Web Services Workshop 2 nd June2009 Richard Green r.green@hull.ac.uk Slide 2 EThOSnet BL Workshop 2 nd June 2009 The Fedora repository system is exposed as a Web service and is described using Web Services Definition Language (WSDL). Digital Object behaviors are implemented as linkages to distributed web services that are expressed using WSDL and implemented via HTTP GET/POST or SOAP bindings. The Mellon Fedora System is exposed as two related web services: the Fedora Management service (API-M) and the Fedora Access service (API-A). Fedora Technical Specification December 2002 2 Slide 3 EThOSnet BL Workshop 2 nd June 2009 Fedora was designed to be used via Web Services Two interfaces: API-M (management) create, update, delete etc API-A (access) Originally implemented using SOAP (Simple Object Access Protocol) though with some additional REST-like functionality (API-M/A-lite) Simple is a relative term? Now regarded as a somewhat heavyweight approach Full REST (Representational State Transfer) interface since v3.2 (May 2009) 3 Slide 4 EThOSnet BL Workshop 2 nd June 2009 Fedora also provides functionality to allow users to associate custom behaviours with objects: disseminators Effectively additional web services Web Services allow clients to be physically disassociated from the repository 4 Slide 5 EThOSnet BL Workshop 2 nd June 2009 Access functions (either SOAP or REST) Thus using REST in a browser: http://localhost:8080/fedora/objects/demo:5/datastreams/DC returns the DC datastream of object demo:5 Logical structure to the REST URL 5 Describe Repository Get Datastream Dissemination Get Dissemination Get Object History Get Object Profile Find Objects Resume Find Objects List Datastreams List Methods etc Slide 6 EThOSnet BL Workshop 2 nd June 2009 Management functions (either SOAP or REST) Thus using REST from a command line: curl -i -H "Content-type: text/html" -XPOST "http://localhost:8080/fedora/objects/test:02/datastreams/EXT?dsLabel=A%20Ext%20Datastream&altIDs=3 333&controlGroup=E&dsLocation=http://www.yahoo.com" -u fedoraAdmin:fedoraAdmin Creates an external datastream in object test:02 pointing at the Yahoo home page 6 Add Datastream Add Relationship Compare Datastream Checksum Export Get Datastream Get Datastream History Get Datastreams Get Next PID Get Object XML Get Relationships Ingest Modify Datastream Modify Object Purge Datastream Purge Object Purge Relationship Set Datastream State Set Datastream Versionable etc. Slide 7 EThOSnet BL Workshop 2 nd June 2009 Fedora had an admin client which uses the SOAP calls to build and edit objects First stage of a web-based GUI admin client with Fedora 3.2 7 Slide 8 EThOSnet BL Workshop 2 nd June 2009 8 Slide 9 Hulls REMAP deposit tool uses a sequence of Fedoras SOAP calls orchestrated by BPEL (Business Process Execution Language) using the Active Endpoints open source engine There are other orchestration tools, jBPM, Mule(?), etc At least two other lightweight approaches to orchestration being developed (probably dozens!) 9 Slide 10 EThOSnet BL Workshop 2 nd June 2009 Slide 11 11 Slide 12 EThOSnet BL Workshop 2 nd June 2009 The Muradora Fedora client likewise uses the SOAP Web Service calls in an orchestrated fashion to lead a user through the construction of an object - and provides all the tools for subsequent editing and maintenance 12 Slide 13 EThOSnet BL Workshop 2 nd June 2009 Select collection will determine the parent collection Choosing a metadata editor creates the appropriate metadata stream (and the editor creates DC as well if that was not the choice) 13 Slide 14 EThOSnet BL Workshop 2 nd June 2009 Choose your content The Muradora workflow takes care of constructing the appropriate content datastream 14 Slide 15 EThOSnet BL Workshop 2 nd June 2009 The Muradora editors are XForms Allow you to set up the metadata Save then invokes a sequence of Web Service calls to build the complete object 15 Slide 16 EThOSnet BL Workshop 2 nd June 2009 The Hydra Project is building a flexible, configurable, end-to-end workflow solution (add, edit, delete, search, discover, orchestrate workflow components) based on Fedoras REST services and Ruby for rapid agile development Part of Hydra will be a Lego set of Web Services for the Fedora community that go beyond API-M and API-A to do other commonly needed jobs Other projects worldwide are likewise developing Fedora-related (or usable) services. 16 Slide 17 EThOSnet BL Workshop 2 nd June 2009 The point is that Fedora provides Web Service calls that can be orchestrated in many ways to build your own clients Web Service support was fundamental, not an afterthought User-built or externally provided services can be built into the mix Very flexible workflow-enabled systems can be built 17 Slide 18 EThOSnet BL Workshop 2 nd June 2009 Fedora: fedora-commons.org Muradora: www.muradora.org Hull repository: edocs.hull.ac.uk REMAP: www.hull.ac.uk/remap Hydra: fedora-commons.org/confluence/display/hydra r.green@hull.ac.uk 18