The purpose of this demo is tho show you how the .NET version of db4o can fully act as a datasource via the ADO.NET Data Services framework. This is achieved by using db4o's LINQ provider while supporting the interfaces IQueryable and IUpdatable required by Astoria to operate on the database. IQueryable allows db4o to expose entities to the Data Services framework while IUpdatable allow CRUD operations over the datastore.

ADO.NET Data Services (codename "Astoria") is a combination of the runtime and a web service for .NET which exposes data over HTTP. The data can be addressed using a REST-like URI. The Astoria service will return data when accessed via the HTTP GET method with such a URI. Updates are performed using other HTTP methods like PUT, POST or DELETE. POST can be used to create new entities, PUT for updating an entity and DELETE for deleting an entity.

If you need a universal access point to your data as a REST resource that can be easily consumed via HTTP by different kinds of clients this could be your solution. Note that right out of the box you get full browsing capability over the datastore, paging, filters, cross-linking, CRUD operations, etc just by using the HTTP protocol.

The demo is available here. Enjoy!!