ethosnet repositories and web services workshop 2 nd june2009 richard green [email protected]

18
EThOSnet Repositories and Web Services Workshop 2 nd June2009 Richard Green [email protected]

Upload: evan-hale

Post on 28-Mar-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

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

EThOSnet Repositories and Web Services Workshop

2nd June2009

Richard [email protected]

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

EThOSnet BL Workshop 2nd 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

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

EThOSnet BL Workshop 2nd 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

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

EThOSnet BL Workshop 2nd 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

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

EThOSnet BL Workshop 2nd 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 RepositoryGet Datastream DisseminationGet DisseminationGet Object HistoryGet Object Profile

Find ObjectsResume Find ObjectsList DatastreamsList Methodsetc

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

EThOSnet BL Workshop 2nd 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=3333&controlGroup=E&dsLocation=http://www.yahoo.com" -u

fedoraAdmin:fedoraAdmin Creates an ‘external’ datastream in object ‘test:02’ pointing

at the Yahoo home page6

Add DatastreamAdd RelationshipCompare Datastream ChecksumExportGet DatastreamGet Datastream HistoryGet DatastreamsGet Next PIDGet Object XML

Get RelationshipsIngestModify DatastreamModify ObjectPurge DatastreamPurge ObjectPurge RelationshipSet Datastream StateSet Datastream Versionableetc.

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

EThOSnet BL Workshop 2nd 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

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

EThOSnet BL Workshop 2nd June 2009 8

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

EThOSnet BL Workshop 2nd June 2009

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!)

9

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

EThOSnet BL Workshop 2nd June 2009

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

EThOSnet BL Workshop 2nd June 2009 11

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

EThOSnet BL Workshop 2nd 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

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

EThOSnet BL Workshop 2nd 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

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

EThOSnet BL Workshop 2nd June 2009

Choose your content

The Muradora workflow takes care of constructing the appropriate content datastream

14

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

EThOSnet BL Workshop 2nd 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

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

EThOSnet BL Workshop 2nd 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 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.

16

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

EThOSnet BL Workshop 2nd 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

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

EThOSnet BL Workshop 2nd 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

[email protected]

18