AtomServer is a generic data store implemented as a REST-ful web service. It is designed as a GData-style Atom Store. AtomServer is based on the following concepts and protocols;
AtomServer stands on the shoulders of giants. It is built on top of several open source projects - most notably, Apache Abdera (a Java-based Atom Publishing framework) and Spring.
Because AtomServer is an "Atom Store", it requires a relational database to run. AtomServer currently supports; PostgresSQL, SQLServer, and HSQLDB. Using HSQLDB, AtomServer requires zero configuration and can run out-of-the-box. While this configuration is suitable for many applications, those that see significant load will likely require a database with better transactional symantics, such as PostgreSQL.
AtomServer is easy to use. It deploys as a simple WAR file into any Servlet container. Or alternately, can be used out-of-the-box as a standalone server, running within an embedded Jetty Server. Most applications should be able to use AtomServer by simply providing a very small amount of configuration - a few Spring Beans that configure the application's Atom Workspaces and the Content storage.
AtomServer has been built to allow for easy extention. It contains an extendable ClassLoader which can be configured to look for Resources hierarchially in specified directories.
AtomServer is battle-hardened. It is used as the Production data store for a large web site, where it recieves over 1 million hits a day, with transaction rates often exceeding 100/sec. (and much more in load testing). Where not only must this data be delivered in a timely fashion, it must also, first and foremost, be transactionally correct.