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


      Peter Keane, UT Austin
Some Terms

• Atom -- syndication format
• AtomPub -- a “write-back” protocol
• REST -- architectural style of the Web
• A...
Presentation Outline

   • DASe
   • REST
   • Atom/AtomPub
Digital Archive Services
         (DASe)

 • lightweight digital repository
 • 100+ subject-specific collections
   compri...
Why Build?
• what are we building?
• must be simple and extensible
• importance of being RESTful
• new opportunities for r...
Types of Reuse

• open-source applications
• code libraries/frameworks
• interaction design
Data First Approach
• meet the information provider where they
  are

• spreadsheets, FileMaker, Flickr, iPhoto, etc.
• mo...
Atom Syndication Format

 • Atom is an XML-based document
   format that describes lists of related
   information known a...
DASe Item in Atom
DASe Item in Atom
Everything is a Feed in DASe

   • Collection
   • Search Result
   • User “Set”
   • A User’s Sets
   • Collection Attrib...
Feeds in DASe
http://dase.laits.utexas.edu/collection/plan2.atom
Feeds in DASe
http://www.laits.utexas.edu/dasebeta/search.atom?q=paul+klee
Feeds in DASe
http://www.laits.utexas.edu/dasebeta/tag/pkeane/ben_shahn.atom
Feeds in DASe
http://www.laits.utexas.edu/dasebeta/user/pkeane/sets.atom
Feeds in DASe
http://www.laits.utexas.edu/dasebeta/collection/bsls/attributes.atom
• WS-*/RPC/Service-Oriented Architecture
                 vs
• REST/Resource-Oriented Architecture
try to build a better front door...
...or knock down the walls.
What is REST?


• Representational State Transfer
• Coined by Roy Fielding for his PhD thesis
• Describes the architecture...
Designing a RESTful
    Application

 • Identify resources and
   representations

 • Give them names (URIs)
 • Define ope...
URI Templates


'user/{eid}/sets' => 'sets',
'collection{collection_ascii_id}' => 'collection',
'collection{collection_asc...
DASe as REST framework
  • name resources (URI template)
  • provide per-format per-method
    actions:
   •   getCollecti...
Atom Publishing Protocol

 • The Atom Publishing Protocol is an
   application-level protocol for
   publishing and editin...
Atom Publishing Protocol

  • Collections: Sets of Resources,
    which can be retrieved in whole or
    in part.

  • Edi...
Atom Publishing Protocol

  • Follows the principles of RESTful
    architectural design

  • Is widely used: Google GData...
in Object-Oriented Terms...

• REST as an “abstract interface” for
  the web

• Atom/AtomPub provides a concrete
  impleme...
SynOA: Syndication Oriented
         Architecture
• Feeds not only for sharing Information
  with the world

• Feeds for s...
DASe & REST: five
  case studies
• DASe itself
• Simple Uploader
• eLucy.org
• Blackboard Integration
• Google Spreadsheet...
URI Templates


'user/{eid}/sets' => 'sets',
'collection{collection_ascii_id}' => 'collection',
'collection{collection_asc...
Atom Inside
Atom Inside
Simple Uploader
Simple Uploader
Simple Uploader


• get a list of collections
• authenticate user
• check for duplicate
• post file and return http code
Example: eLucy.org
Example: eLucy.org
Example: eLucy.org
Example: eLucy.org
Example: eLucy.org
DASe/Blackboard Integration

• OAuth - style authentication
  (interaction resuse!)

• Users view their own DASE “sets” in...
Google Spreasheet Interop
Google Spreasheet Interop
OAI-ORE and Atom
• Atom is one possible serialization of a
  Resource Map OAI-ORE

• ORE/Atom is Atom and will be useful i...
get the code:
dase.googlecode.com
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
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
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
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
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
Upcoming SlideShare
Loading in …5
×

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

1,436 views
1,330 views

Published on

Published in: Education, Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,436
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
5
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

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

  1. 1. The Role of Atom/AtomPub in Digital Archive Services at The University of Texas at Austin Peter Keane, UT Austin
  2. 2. Some Terms • Atom -- syndication format • AtomPub -- a “write-back” protocol • REST -- architectural style of the Web • AJAX -- Javascript-based rich interface technique
  3. 3. Presentation Outline • DASe • REST • Atom/AtomPub
  4. 4. 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
  5. 5. Why Build? • what are we building? • must be simple and extensible • importance of being RESTful • new opportunities for reuse
  6. 6. Types of Reuse • open-source applications • code libraries/frameworks • interaction design
  7. 7. 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
  8. 8. 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.
  9. 9. DASe Item in Atom
  10. 10. DASe Item in Atom
  11. 11. Everything is a Feed in DASe • Collection • Search Result • User “Set” • A User’s Sets • Collection Attributes
  12. 12. Feeds in DASe http://dase.laits.utexas.edu/collection/plan2.atom
  13. 13. Feeds in DASe http://www.laits.utexas.edu/dasebeta/search.atom?q=paul+klee
  14. 14. Feeds in DASe http://www.laits.utexas.edu/dasebeta/tag/pkeane/ben_shahn.atom
  15. 15. Feeds in DASe http://www.laits.utexas.edu/dasebeta/user/pkeane/sets.atom
  16. 16. Feeds in DASe http://www.laits.utexas.edu/dasebeta/collection/bsls/attributes.atom
  17. 17. • WS-*/RPC/Service-Oriented Architecture vs • REST/Resource-Oriented Architecture
  18. 18. try to build a better front door...
  19. 19. ...or knock down the walls.
  20. 20. What is REST? • Representational State Transfer • Coined by Roy Fielding for his PhD thesis • Describes the architecture of the web • Is robust and scalable
  21. 21. Designing a RESTful Application • Identify resources and representations • Give them names (URIs) • Define operations for each (GET, POST, PUT, DELETE)
  22. 22. URI Templates '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',
  23. 23. DASe as REST framework • name resources (URI template) • provide per-format per-method actions: • getCollectionsAtom • putItem • postToMedia • deleteUser
  24. 24. Atom Publishing Protocol • The Atom Publishing Protocol is an application-level protocol for publishing and editing Web Resources using HTTP and XML.
  25. 25. Atom Publishing Protocol • Collections: Sets of Resources, which can be retrieved in whole or in part. • Editing: Creating, editing, and deleting Resources.
  26. 26. Atom Publishing Protocol • Follows the principles of RESTful architectural design • Is widely used: Google GData, Microsoft Windows Live Writer, IBM Lotus Connectios, etc.
  27. 27. in Object-Oriented Terms... • REST as an “abstract interface” for the web • Atom/AtomPub provides a concrete implementation • Atom/AtomPub can be further subclassed for particular cases
  28. 28. SynOA: Syndication Oriented Architecture • 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
  29. 29. DASe & REST: five case studies • DASe itself • Simple Uploader • eLucy.org • Blackboard Integration • Google Spreadsheet Interop
  30. 30. URI Templates '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',
  31. 31. Atom Inside
  32. 32. Atom Inside
  33. 33. Simple Uploader
  34. 34. Simple Uploader
  35. 35. Simple Uploader • get a list of collections • authenticate user • check for duplicate • post file and return http code
  36. 36. Example: eLucy.org
  37. 37. Example: eLucy.org
  38. 38. Example: eLucy.org
  39. 39. Example: eLucy.org
  40. 40. Example: eLucy.org
  41. 41. 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
  42. 42. Google Spreasheet Interop
  43. 43. Google Spreasheet Interop
  44. 44. 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
  45. 45. get the code: dase.googlecode.com

×