This presentation introduces ResourceSync, a specification aimed to enable web-based synchronization of resources. The specification is the result of a collaboration between NISO and the Open Archives Initiative funded by the Sloan Foundation and JISC. The proposed resource synchronization approach is based on several existing specifications (e.g. Sitemaps, PubSubHubbub, well-known URI) and is aligned with common architectural principles (e.g. REST, follow your nose).
A 15 minute video version of these slides is available at https://www.youtube.com/watch?v=ASQ4jMYytsA
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
ResourceSync Quick Overview
1. http://www.openarchives.org/rs #ResourceSync
ResourceSync
A Quick Overview
Herbert Van de Sompel
Los Alamos National Laboratory
@hvdsomp - herbertv@lanl.gov
ResourceSync was funded by the Sloan Foundation & JISC
The ResourceSync editors are: Martin Klein (LANL), Robert Sanderson (LANL), Herbert Van de
Sompel (LANL), Simeon Warner (Cornell U.), Graham Klyne (Oxford U.), Bernhard Haslhofer (U.
of Vienna), Michael L. Nelson (Old Dominion U.), Carl Lagoze (U. of Michigan)
Herbert Van de Sompel - ResourceSync
NISO Annual Update, ALA, Las Vegas, NV, 29 June 2014
2. ResourceSync
• Collaboration between NISO and the Open Archives Initiative, 2012-
2013
• Funded by the Sloan Foundation and JISC
• Goal: Devise a specification for web-based resource
synchronization
• Subjects of synchronization: web resources identified by HTTP
URIs
• HTTP as the communication protocol for synchronization
• Servers involved in synchronization are on the web
Herbert Van de Sompel - ResourceSync
NISO Annual Update, ALA, Las Vegas, NV, 29 June 2014
3. Problem Statement
• Consideration:
• Source (server) has resources that change over time: they
get created, modified, deleted
• Destinations (servers) leverage (some) resources of the
Source
• Problem:
• Destinations want to keep in step with the resource changes
at the Source
Herbert Van de Sompel - ResourceSync
NISO Annual Update, ALA, Las Vegas, NV, 29 June 2014
11. Problem Statement
• Consideration:
• Source (server) A has resources that change over time: they
get created, modified, deleted
• Destination (servers) X, Y, and Z leverage (some)
resources of Source A
• Problem:
• Destinations want to keep in step with the resource changes
at Source A
• Goal:
• Design an approach for resource synchronization aligned
with the Web Architecture that has a fair chance of adoption
by different communities
Herbert Van de Sompel - ResourceSync
NISO Annual Update, ALA, Las Vegas, NV, 29 June 2014
15. Solution Perspective
• Source communicates about the state of its resources:
• Publish inventory: snapshot of the state of resources at a
moment in time
• Publish changes: enumeration of resource changes that
occurred during a temporal interval
• Notify about changes: send notifications as changes occur
Herbert Van de Sompel - ResourceSync
NISO Annual Update, ALA, Las Vegas, NV, 29 June 2014
16. Solution Perspective – Communication Payload
• Payload of the communications:
• Always: HTTP URI of the resource
• For change communications: change type (create | update |
delete) & datetime of change
• As needed: metadata and links pertaining to the resource
Herbert Van de Sompel - ResourceSync
NISO Annual Update, ALA, Las Vegas, NV, 29 June 2014
17. ResourceSync is Based on Sitemaps
• Sitemap is the document format used throughout the framework
o Used widely by web servers to advertise their resources to
search engines
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9”>
<url>
<loc>http://example.com/res1</loc>
<lastmod>2013-01-02T13:00:00Z</lastmod>
</url>
<url>
<loc>http://example.com/res2</loc>
<lastmod>2013-01-02T14:00:00Z</lastmod>
</url>
…
</urlset>
Herbert Van de Sompel - ResourceSync
NISO Annual Update, ALA, Las Vegas, NV, 29 June 2014
18. ResourceSync Extends Sitemaps
• Extensions to Sitemaps to support synchronization
o <rs:ln> for links
o <rs:md> for metadata
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9”>
xmlns:rs="http://www.openarchives.org/rs/terms/”>
<rs:ln …/>
<rs:md …/>
<url>
<loc>http://example.com/res1</loc>
<lastmod>2013-01-02T13:00:00Z</lastmod>
<rs:ln …/>
<rs:md …/>
</url>
…
</urlset>
Herbert Van de Sompel - ResourceSync
NISO Annual Update, ALA, Las Vegas, NV, 29 June 2014
19. Publish Resource List: Inventory at Tx
• In order to meet a Destination’s need for baseline
synchronization, the Source may publish a Resource List
• A Resource List is an inventory, a snapshot of existing
resources
• Per resource, it minimally provides the resource’s URI
• Process:
- Destination obtains the Resource List
- Destination obtains listed resources by their URI
Herbert Van de Sompel - ResourceSync
NISO Annual Update, ALA, Las Vegas, NV, 29 June 2014
21. <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:rs="http://www.openarchives.org/rs/terms/">
<rs:md capability="resourcelist"
at="2013-01-03T09:00:00Z” />
<url>
<loc>http://example.com/res1</loc>
<lastmod>2013-01-02T13:00:00Z</lastmod>
<rs:md hash="md5:1584abdf8ebdc9802ac0c6a7402c03b6"
length="8876”
type="text/html"/>
<rs:ln href="http://example.com/meta/dc/res1"
rel=”describedby”
type=”application/xml"/>
Herbert Van de Sompel - ResourceSync
NISO Annual Update, ALA, Las Vegas, NV, 29 June 2014
</url>
…
</urlset>
Resource List
22. Send Change Notification: Resource Changes as they Occur
• In order to meet a Destination’s need for incremental
synchronization and low latency, the Source may send Change
Notifications
• A Change Notification conveys resource change events as
they occur
• For each event, it minimally lists the URI of the resource, the
nature of the change, the datetime of the event
- Process:
- Destination receives Change Notification
- Destination obtains created/updated resources, removes
deleted resources
Herbert Van de Sompel - ResourceSync
NISO Annual Update, ALA, Las Vegas, NV, 29 June 2014
23. Send Change Notification: Resource Changes at Ta
Herbert Van de Sompel - ResourceSync
NISO Annual Update, ALA, Las Vegas, NV, 29 June 2014
Change Notification @Ta = { A updated @Ta }
24. Send Change Notification: Resource Changes at Tb
Herbert Van de Sompel - ResourceSync
NISO Annual Update, ALA, Las Vegas, NV, 29 June 2014
Change Notification @Tb = { D updated @Tb }
25. Send Change Notification: Resource Changes at Tc
Herbert Van de Sompel - ResourceSync
NISO Annual Update, ALA, Las Vegas, NV, 29 June 2014
Change Notification @Tc = { A updated @Tc ; B updated @Tc }
26. ResourceSync Notifications are Based on the PuSH Protocol
• ResourceSync builds on the PubHubsHubbub protocol (PuSH)
used for syndication of Atom/RSS feeds
• Destination subscribes to a Source’s notifications via an
intermediate Hub
Herbert Van de Sompel - ResourceSync
NISO Annual Update, ALA, Las Vegas, NV, 29 June 2014
27. Modular Framework
• ResourceSync specifies additional synchronization capabilities
• Source decides which capabilities to support based on local
and community requirements
Herbert Van de Sompel - ResourceSync
NISO Annual Update, ALA, Las Vegas, NV, 29 June 2014
28. Follow Your Nose Discovery
• ResourceSync specifies mechanisms for Destinations to
determine whether and how a Source supports the framework
• Based on conventions for web discovery and documents that
detail the level of support
Herbert Van de Sompel - ResourceSync
NISO Annual Update, ALA, Las Vegas, NV, 29 June 2014
29. Follow Your Nose Document Navigation
• ResourceSync specifies mechanisms to navigate the various
documents involved in the framework
• Based on following typed links
Herbert Van de Sompel - ResourceSync
NISO Annual Update, ALA, Las Vegas, NV, 29 June 2014
30. Status
• Core specification (pull) is
ANSI/NISO Z39.99-2014
• Notification (push), Archives
specifications in beta
• Growing implementation interest
motivated by the need to move
beyond metadata (OAI-PMH)
• Tools will be listed at
http://www.openarchives.org/rs/t
oc
Herbert Van de Sompel - ResourceSync
NISO Annual Update, ALA, Las Vegas, NV, 29 June 2014
31. Specifications: http://www.openarchives.org/rs
ResourceSync
A Quick Overview
Herbert Van de Sompel
Los Alamos National Laboratory
@hvdsomp - herbertv@lanl.gov
Google Group: https://groups.google.com/d/forum/resourcesync
The ResourceSync editors are: Martin Klein (LANL), Robert Sanderson (LANL), Herbert Van de
Sompel (LANL), Simeon Warner (Cornell U.), Graham Klyne (Oxford U.), Bernhard Haslhofer (U.
of Vienna), Michael L. Nelson (Old Dominion U.), Carl Lagoze (U. of Michigan)
Herbert Van de Sompel - ResourceSync
NISO Annual Update, ALA, Las Vegas, NV, 29 June 2014