<<< Previous speaker next speaker >>>

Bryon Jacob

 Bryon  Jacob

Bryon has been building scalable web-based applications for about as long as he can remember. Before that there are some vague memories of Genetic Algorithms and Cellular Automata.

If he could get his co-workers over their syntax addition and parenthesis-phobia, he'd write everything in LISP, the way it was meant to be. Bryon co-wrote AtomServer (in Java, not LISP) to solve the massive distributed data distribution problem at HomeAway.com, where he currently works. Bryon lives in Austin, Texas, and if he has his way he always will.

Presentation: "AtomServer - The Power of Publishing for Data Distribution"

Time: Friday 10:45 - 12:00

Location: Stanford

Abstract:

Atom Stores - generic data services based upon the Atom Publishing Protocol - are remarkably powerful. An Atom Store empowers clients to enrich and share their content without modifying the content itself, and as a result the whole becomes greater than the sum of its parts. Think of it as a mash-up for data.

AtomServer is an open source implementation of an Atom Store. AtomServer clearly separates the Atom entry content from the Atom metadata itself, providing an off-the-shelf, content neutral solution. The client is responsible only for supplying content storage adapters. And in general, AtomServer makes even this transparent to them, since mostly they are storing XML - either as Files or as CLOBs in a DB. So, for most purposes, creating an AtomServer is simply an exercise in configuration (Spring).

AtomServer implements the AtomPub spec using Apache Abdera, with extensions that are largely based on GData, although with several small usability tweaks based on client feedback. AtomServer is implemented as a Java web application, and should deploy into any J2EE Servlet Container

The current feature set includes, among others:

  • Support for optimistic concurrency, with overrides for single-writer schemes
  • Full support for consistent paging
  • Full Category support, including support for complex boolean Category queries
  • "Auto-tagging" support. Workspaces and/or Collections can be configured such that Categories are automatically created when Entries are created or updated. When the content is XML, this can be done using XPath
  • Plug-gable Content validation support, with an emphasis on Relax NG (XSD support is planned)
  • Plug-gable Content storage
  • Aggregate support. Workspaces and/or Collections can be configured such that aggregates of other Entries are directly addressable
  • Full support for Batch operations
  • Optional Locale sensitivity for Entries

This presentation will explore Atom Stores and why you might want to use this emerging, exciting new data services architecture at your company. It will also dive deep into AtomServer, its features, and how to set up your own data service based on AtomServer.