240 likes | 345 Views
Synchronize your resources with ResourceSync Simeon Warner (Cornell University Library). Team sport. more, still more missing. JISC. Ex Libris Inc. Shlomo Sanders. Richard Jones. Graham Klyne. Stuart Lewis. LOCKSS. David Rosenthal. RedHat. Christian Sadilek. OCLC. Library of Congress.
E N D
Synchronize your resources with ResourceSyncSimeon Warner(Cornell University Library)
more, still more missing JISC Ex Libris Inc. Shlomo Sanders Richard Jones Graham Klyne Stuart Lewis LOCKSS David Rosenthal RedHat Christian Sadilek OCLC Library of Congress Jeff Young Kevin Ford
$ Alfred P. Sloan Foundation
Synchronize • keep “in sync” (colloq.) • Following changes over time and • Keeping copies on different systems the same • Tackle only the unidirectional problem: From a Source, to a Destination
Resources aka Web Resources: have URI, HTTP GET representation(s) • Many / Few • Big / Small • Fast / Slow
Scholarly repositories • Replicate data/articles for mirroring, reuse, indexing, ... • OAI-PMH for metadata • Many custom solutions for full content
Linked data Fundamentally distributed but local copy often required. Either: • cache • sync local copy... • Many custom solutions for local copy MusicBrainz Last.FM DBpedia BBC GeoNames others...
Didn’t you sell us OAI-PMH? Or... will ResourceSync replace OAI-PMH? • Proven metadata transfer protocol • Widely adopted in our community • Predates REST, not “of the web” • Not adopted for content transfer Can replace, likely coexistence
1. Baseline sync Initial load, copy, or catch-up from source • need list of all resources • optional packaged content Want to • avoid out-of-band setup & customization
2. Incremental sync Keep up-to-date with changes at a source • need information about changes • optional packaged content • minimal primitives: create/update/delete Want • allow catch-up after destination offline • lower latency and/or greater efficiency than repeated baseline sync
3. Audit Destination should be able to verify whether it is synchronized with a source • need list of all resources + fixity info Want • lower latency and/or greater efficiency than baseline sync • note: subject to some latency
All ResourceSync documents are Sitemaps with minor extensions
Minor? <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> <url> … </url> </urlset>
Baseline sync & Google Most basic capability is Resource List: • Snapshot of state of resources • URI, datestamp + optional extra fixity info • Destination does GET on each resource • ResourceSync Baseline sync & Audit • Google/Bing/Yahoo!/etc. harvest
Modular Discovery 1 2 3 4 Four Core Capabilities
Extensible Extensible use of Link Relations from Atom • Spec describes use for mirrors, patches, historical, provenance, conneg... • Use <rs:ln rel=“your-relation-here” .../> Extensible attributes for fixity etc. • Includes lastmod, fixity, length, type... Extensible framework -> new capabilities
Push = Lower latency Pull • easy setup, no trust required Push Changes • lower latency, better scaling • same descriptions as pull • standard transports (XMPP, Websockets...) • can push discovery info to trigger pull
Timeline January 2013 June 2013 July 2013 Fall 2013 • Tools and libraries being developed to ease implementation • First beta • Version 0.9 • Update and push spec • NISO standardization • Tutorials at major conferences (OAI8, OR, JCDL,...)
http://www.openarchives.org/rs/ • Framework • Archives • Push (to come) • Links to Google group, associated articles, blogs, etc.
That’s all folks