Presentation is loading. Please wait.

Presentation is loading. Please wait.

SWORD Simple Web-service Offering Repository Deposit By Aparna R. Belhe Archana Galipalli.

Similar presentations


Presentation on theme: "SWORD Simple Web-service Offering Repository Deposit By Aparna R. Belhe Archana Galipalli."— Presentation transcript:

1 SWORD Simple Web-service Offering Repository Deposit By Aparna R. Belhe Archana Galipalli

2 CS-791 Web Syndication Formats2 Ideas for Development of SWORD 2005 - lack of a standard mechanism for deposit within the repositories 2006 – Repository developers + platforms laid foundation for Deposit API Deposit API offered – - deposit from multiple locations - deposit to multiple repositories - migration of content between repositories

3 CS-791 Web Syndication Formats3 Ideas…..ctd To ensure concrete outputs, SWORD was created SWORD - a formally funded project Led by – UKOLN Partnered by - - CASIS at Aberystwyth University, - University of Southampton - Intrallect

4 CS-791 Web Syndication Formats4 Requirement Gathering SWORD would need to- - support a wide range of repositories, - accept submission of different digital object types in a consistent way - accept data and/or metadata in the form of complex objects or content packages - support different workflows for deposit - accept large-scale deposits - support collections and changes in policy and permissions - support more complex, authenticated and mediated deposit.

5 CS-791 Web Syndication Formats5 Defining SWORD Two distinct services identified – i. “Explain” - allows repository to provide information about policy ii. “Deposit” - allows remote users to put data into the repository - ‘receipt’ indicating success or failure Layered approach - Level 0 - Level 1

6 CS-791 Web Syndication Formats6 Protocol and Profile Short listing of an existing standard between - WebDav - OKI OSID (Open Knowledge Initiative Open Source Interface Def) - SRU/W ( Search and Retrieve via URL or Web Service) - APP ( Atom Publishing Protocol ) - Lightweight, easy to implement - Already popular for remote blog posts - closely tied to Atom Syndication format - an application-level protocol for publishing and editing Web resources - designed to support the deposit (POST) of ATOM docs & datastreams

7 CS-791 Web Syndication Formats7 SWORD SWORD - Simple Web-service Offering Repository Deposit Extension to the Deposit API by implementing it as a lightweight web-service Implemented in four major repository software platforms: EPrints, DSpace, Fedora and IntraLibrary.

8 CS-791 Web Syndication Formats8 SWORD - Aims Improve the efficiency and quality of the repository ‘Ingest’ function Diversify and expedite the options for timely population of repositories with content Facilitate the creation and use of common deposit interfaces Take a service-oriented approach to development as outlined by the E-Framework

9 CS-791 Web Syndication Formats9 SWORD Protocol It is a Profile of the Atom Publishing Protocol Current Version – SWORD APP Profile Version 1.2 Application-level protocol for publishing and editing Web resources Specifies a subset of elements from the APP for use in depositing content into information systems, such as repositories. specifies extensions to APP The SWORD profile is concerned only with the deposit (POST) of data files or packages.

10 CS-791 Web Syndication Formats10 Protocol Operations …….. Retrieving a Service Document Use of HTTP GET requests. Additional HTTP header 'X-On-Behalf-Of' - specifies the username of a target user on whose behalf a deposit is being made Facilitates the SWORD to support mediated deposit

11 CS-791 Web Syndication Formats11 Example - Retrieving a Service Document Simple User GET /app/servicedocument HTTP/1.1 Host: www.example.orgwww.example.org Mediated User GET /app/servicedocument HTTP/1.1 Host: www.example.orgwww.example.org X-On-Behalf-Of: john

12 CS-791 Web Syndication Formats12 Protocol Operations …….. Creating a Resource Use of HTTP POST. POST /geography-collection/ HTTP/1.1 Host: www.myrepository.ac.uk/app

13 CS-791 Web Syndication Formats13 Protocol Operations …….. HTTP Response Codes 201Created 202Accepted 400Bad Request 401Unauthorized 403Forbidden 412Precondition failed 415Unsupported Media Type 500Internal Server Error 501Not Implemented

14 CS-791 Web Syndication Formats14 Service Documents service document ( ) identified with the "application/atomsvc+xml" media type

15 CS-791 Web Syndication Formats15 Service Documents …….. Workspaces An arbitrary aggregation of collections of resources Sword profile should contain one or more elements.

16 CS-791 Web Syndication Formats16 Service Documents …….. Extensions Extensions to element: - text/URI - text/URI - true|false - text - URI

17 CS-791 Web Syndication Formats17 Service Documents …….. Extensions Extensions to element: - true|false - 0|1

18 CS-791 Web Syndication Formats18 Example: Level 0 http://www.w3.org/2007/apphttp://www.w3.org/2005/Atomhttp://purl.org/net/sword/ 0 Main Site http://www.myrepository.ac.uk/atom/geography- collection My Repository : Geography Collection

19 CS-791 Web Syndication Formats19 Example: Level 1 http://www.w3.org/2007/apphttp://www.w3.org/2005/Atomhttp://purl.org/net/sword/http://purl.org/dc/terms/ 1 true Main Site My Repository : Geography Collection application/xml application/zip application/atom+xml http://www.myrepository.ac.uk/atom/geography-collection Collection Policy Collection description true treatment description Supported media formats uri No elements means no permisssion to deposit for authenticated user.

20 CS-791 Web Syndication Formats20 Creating and Editing Resources Member URIs Creating resources with POST Additional HTTP headers with POST: Content-MD5: md5-checksum Content-Disposition: filename=deposit-filename X-On-Behalf-Of: on-behalf-of-user X-Verbose: true|false X-No-Op: true|false X-Format-Namespace: format-namespace-uri More Extensions

21 CS-791 Web Syndication Formats21 Creating and Editing Resources (ctd…) Updating resources with PUT Deleting resources with DELETE Caching and Entity tags

22 CS-791 Web Syndication Formats22 Media Resources and Media Link Entries Concerned with depositing binary files/packages of content rather than ATOM documents Supports the APP mechanism for posting media types other than appliation/atom+xml to a Collection

23 CS-791 Web Syndication Formats23 Media Resources and Media Link Entries … ctd For Level 1 - element in the Service Document The Location: element of the HTTP header response MUST contain a URI for the Media Link Entry The element MUST contain a unique identifier for the deposit. URI SHOULD identify the original deposited package.

24 CS-791 Web Syndication Formats24 The Slug: Header Slug is a HTTP entity-header Slug = "Slug" ":" *TEXT Level 0 – Not Required Level 1 May be used to supply a deposit identifier for use as the value. servers SHOULD retain the value of the Slug header, if supplied Servers MAY choose to ignore the header or alter its value.

25 CS-791 Web Syndication Formats25 Atom Entry Document Atom entry document is returned in HTTP response after successful deposit. Mandatory Elements:

26 CS-791 Web Syndication Formats26 Security Considerations At a minimum, client and server implementations MUST be capable of being configured to use HTTP Basic Authentication It is the responsibility of implementers to integrate existing authentication solutions.

27 CS-791 Web Syndication Formats27 SWORD Conventions Not mandatory but, their use will make it easier to locate SWORD implementations - APP implementation is accessed from /sword-app - service document is is accessed from /sword- app/servicedocument - Repositories supporting SWORD interface should embed an HTML link element with e.g.

28 CS-791 Web Syndication Formats28 Authentication and Mediation Four possible use cases for mediated and non-mediate deposit: unauthenticated POSTs authenticated POSTs by the author/owner, i.e. that don't use X-On-Behalf-Of authenticated POSTs that use X-On-Behalf-Of, and the authenticated user is a "Person construct" (meditated deposit) authenticated POSTs that use X-On-Behalf-Of, but where the authenticated user is not a "Person construct" (mediated deposit)

29 CS-791 Web Syndication Formats29 Deposit – Example 1 POST binary (level 0) POST /geography-collection/ HTTP/1.1 Host: www.myrepository.ac.uk/app Content-Type: application/zip Content-Length: nnn...binary data...

30 CS-791 Web Syndication Formats30 Response Example 1: level 0 response

31 CS-791 Web Syndication Formats31 Deposit – Example 2 Example 2: POST binary (mediated user) POST /geography-collection HTTP/1.1 Host: www.myrepository.ac.uk/app Content-Type: application/zip Authorization: Basic ZGFmZnk6c2VjZXJldA== Content-Length: nnn X-On-Behalf-Of: lcarr...binary data...

32 CS-791 Web Syndication Formats32 Response Example 2: Mediated User

33 CS-791 Web Syndication Formats33 Deposit – Example 3 POST (level 1, mediated user) POST /geography-collection HTTP/1.1 Host: www.myrepository.ac.uk/app Content-Type: application/zip Slug: deposit-id Authorization: Basic ZGFmZnk6c2VjZXJldA== Content-Length: nnn Content-MD5: md5-digest Content-Disposition: filename=mydeposit.zip X-On-Behalf-Of: lcarr X-Verbose: true X-No-Op: true X-Format-Namespace: agreed-format-namespace

34 CS-791 Web Syndication Formats34 Response Example 3: Level 1 response

35 Demo – SWORD GUI Client

36 Requesting a Service Document

37 Results of “Service Document Request”

38 Posting a File

39 Adding Repositories

40 Entry shown on the main Post Document dialog

41 File Display

42 CS-791 Web Syndication Formats Conclusion Achieved what is set to do. Reuses ATOM. SWORD helps Interoperability of deposit become a reality.

43 References http://www.ukoln.ac.uk/repositories/digirep/ index/SWORD_APP_Profile_1.2#SWORD _Extensions_to_the_APPhttp://www.ukoln.ac.uk/repositories/digirep/ index/SWORD_APP_Profile_1.2#SWORD _Extensions_to_the_APP http://www.ukoln.ac.uk/repositories/digirep/ index/SWORDhttp://www.ukoln.ac.uk/repositories/digirep/ index/SWORD


Download ppt "SWORD Simple Web-service Offering Repository Deposit By Aparna R. Belhe Archana Galipalli."

Similar presentations


Ads by Google