1 / 18

Fedora and Web Services

EThOSnet Repositories and Web Services Workshop 2 nd June2009 Richard Green r.green@hull.ac.uk. Fedora and Web Services. Fedora and Web Services. “The Fedora repository system is exposed as a Web service and is described using Web Services Definition Language (WSDL).

kanoa
Download Presentation

Fedora and Web Services

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Fedora and Web Services • “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

  3. Fedora and Web Services • 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)

  4. Fedora and Web Services • 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

  5. Access functions • 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

  6. Management functions • 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=3333&controlGroup=E&dsLocation=http://www.yahoo.com" -u fedoraAdmin:fedoraAdmin • Creates an ‘external’ datastream in object ‘test:02’ pointing at the Yahoo home page

  7. Fedora’s own Java app • 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

  8. Fedora 2.2.x admin client

  9. Simple deposit tool at Hull • Hull’s ‘REMAP’ deposit tool uses a sequence of Fedora’s 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!)

  10. Simple deposit tool at Hull

  11. Muradora: a full Fedora client

  12. Muradora • 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

  13. Muradora ‘submit’ workflow • ‘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)

  14. Muradora ‘submit’ workflow • Choose your content • The Muradora workflow takes care of constructing the appropriate content datastream

  15. Muradora ‘submit’ process • 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

  16. Coming soon(ish): Hydra • The Hydra Project is building a flexible, configurable, end-to-end workflow solution (add, edit, delete, search, discover, orchestrate workflow components) based on Fedora’s 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.

  17. “And your point is?” • 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

  18. Information: • 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

More Related