the role of atom/atompub in digital archive services at the university of texas at austin

55
The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin Peter Keane, UT Austin

Upload: peter-keane

Post on 05-Dec-2014

1.580 views

Category:

Education


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin

The Role of Atom/AtomPub in

Digital Archive Services at The

University of Texas at Austin

Peter Keane, UT Austin

Page 2: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin

Some Terms

•Atom -- syndication format

•AtomPub -- a “write-back” protocol

•REST -- architectural style of the Web

•AJAX -- Javascript-based rich interface

technique

Page 3: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin

Presentation Outline

•DASe

•REST

•Atom/AtomPub

Page 4: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin

Digital Archive Services (DASe)

• lightweight digital repository

• 100+ subject-specific collections

comprising 190K items

• 1.2 million images, audio, video, pdf

• 3 million pieces of metadata

Page 5: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin
Page 6: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin
Page 7: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin
Page 8: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin
Page 9: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin
Page 10: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin

Why Build?

•what are we building?

•must be simple and extensible

• importance of being RESTful

• new opportunities for reuse

Page 11: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin

Types of Reuse

•open-source applications

• code libraries/frameworks

• interaction design

Page 12: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin

Data First Approach

• meet the information provider where they

are

• spreadsheets, FileMaker, Flickr, iPhoto, etc.

• model data close to the source

• map/transform to and from standard

schemas

Page 13: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin
Page 14: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin
Page 15: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin
Page 16: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin
Page 17: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin

Atom Syndication Format

• Atom is an XML-based document

format that describes lists of related

information known as "feeds". Feeds

are composed of a number of items,

known as "entries", each with an

extensible set of attached metadata.

For example, each entry has a title.

Page 18: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin

DASe Item in Atom

Page 19: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin

DASe Item in Atom

Page 20: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin

Everything is a Feed in DASe

•Collection

• Search Result

•User “Set”

•A User’s Sets

•Collection Attributes

Page 21: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin

Feeds in DASehttp://dase.laits.utexas.edu/collection/plan2.atom

Page 22: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin

Feeds in DASehttp://www.laits.utexas.edu/dasebeta/search.atom?q=paul+klee

Page 23: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin

Feeds in DASehttp://www.laits.utexas.edu/dasebeta/tag/pkeane/ben_shahn.atom

Page 24: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin

Feeds in DASehttp://www.laits.utexas.edu/dasebeta/user/pkeane/sets.atom

Page 25: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin

Feeds in DASehttp://www.laits.utexas.edu/dasebeta/collection/bsls/attributes.atom

Page 26: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin

• WS-*/RPC/Service-Oriented Architecture

• REST/Resource-Oriented Architecture

vs

Page 27: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin

try to build a better front door...

Page 28: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin

...or knock down the walls.

Page 29: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin

What is REST?

• Representational State Transfer

• Coined by Roy Fielding for his PhD thesis

• Describes the architecture of the web

• Is robust and scalable

Page 30: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin

Designing a RESTful Application

• Identify resources and

representations

• Give them names (URIs)

• Define operations for each

(GET, POST, PUT, DELETE)

Page 31: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin

'user/{eid}/sets' => 'sets',

'collection{collection_ascii_id}' => 'collection',

'collection{collection_ascii_id}/serial_numbers' => 'serial_numbers',

'collection{collection_ascii_id}/archive' => 'archive',

'collection{collection_ascii_id}/attributes' => 'attributes',

'collection{collection_ascii_id}/items/by/md5/{md5}' => 'items_by_md5',

URI Templates

Page 32: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin

DASe as REST framework

• name resources (URI template)

• provide per-format per-method

actions:

• getCollectionsAtom

• putItem

• postToMedia

• deleteUser

Page 33: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin

Atom Publishing Protocol

• The Atom Publishing Protocol is an

application-level protocol for

publishing and editing Web

Resources using HTTP and XML.

Page 34: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin

Atom Publishing Protocol

• Collections: Sets of Resources,

which can be retrieved in whole or

in part.

• Editing: Creating, editing, and

deleting Resources.

Page 35: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin

Atom Publishing Protocol

• Follows the principles of RESTful

architectural design

• Is widely used: Google GData,

Microsoft Windows Live Writer, IBM

Lotus Connectios, etc.

Page 36: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin

• REST as an “abstract interface” for

the web

• Atom/AtomPub provides a concrete

implementation

• Atom/AtomPub can be further

subclassed for particular cases

in Object-Oriented Terms...

Page 37: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin

• Feeds not only for sharing Information

with the world

• Feeds for sharing data between parts of

a system

• plus AtomPub: application becomes a set

of small pieces loosely joined

• microcosm of the web

SynOA: Syndication Oriented

Architecture

Page 38: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin

DASe & REST: five case studies

• DASe itself

• Simple Uploader

• eLucy.org

• Blackboard Integration

• Google Spreadsheet Interop

Page 39: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin
Page 40: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin

'user/{eid}/sets' => 'sets',

'collection{collection_ascii_id}' => 'collection',

'collection{collection_ascii_id}/serial_numbers' => 'serial_numbers',

'collection{collection_ascii_id}/archive' => 'archive',

'collection{collection_ascii_id}/attributes' => 'attributes',

'collection{collection_ascii_id}/items/by/md5/{md5}' => 'items_by_md5',

URI Templates

Page 41: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin

Atom Inside

Page 42: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin

Atom Inside

Page 43: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin

Simple Uploader

Page 44: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin

Simple Uploader

Page 45: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin

Simple Uploader

• get a list of collections

• authenticate user

• check for duplicate

• post file and return http code

Page 46: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin

Example: eLucy.org

Page 47: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin

Example: eLucy.org

Page 48: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin

Example: eLucy.org

Page 49: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin

Example: eLucy.org

Page 50: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin

Example: eLucy.org

Page 51: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin

DASe/Blackboard Integration

• OAuth - style authentication

(interaction resuse!)

• Users view their own DASE “sets” in

Blackboard

• Faculty “publish” a set to a course

• Students access course sets in

Blackboard

Page 52: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin

Google Spreasheet Interop

Page 53: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin

Google Spreasheet Interop

Page 54: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin

OAI-ORE and Atom• Atom is one possible serialization of a

Resource Map OAI-ORE

• ORE/Atom is Atom and will be useful in

an Atom-aware system

• ORE offers a valuable way to think about

aggregated resources

• AtomPub can enable Resource Map

creation

Page 55: The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin

get the code:

dase.googlecode.com