OData Publishing

OData is an open specification with standardized ways of accessing, updating, inserting and deleting data and exposing metadata. It has clients on multiple platforms including .NET, JavaScript, PHP, Java, and Ruby. OData provides clients with the metadata required to find tables and all the information about the fields and the relationships between them. It is built on top of other standards, among them HTTP, JSON, AtomPub and XML. OData services are restful.

Data Abstract & OData

Data Abstract for .NET lets you expose your regular Data Abstract services, along with all associated business logic, as OData services, giving you and your customers a cross platform way of accessing the data. To expose a Data Abstract service through OData, you need an HTTP based server channel such as the IpHttpServerChannel. To enable OData, place a ODataSchemaDispatcher next to your HTTP server channel component (or, in case of the WebProcessor, associate it through code).

The OData schema dispatcher has a few properties that need to be set. One is the Namespace, which is a unique XML namespace URL (can be any URL, as long as it's unique) for your data. RootUrl will have to contain the full URL this service is accessible through and ServiceName should contain the name of the service class (as defined in the RODL/_Impl file) for the Data Abstract simple service.

The How to enable OData Publishing article describes how OData support can be added to an already existing Data Abstract for .NET custom server or to the Relativity server.

Accessing Data via OData

The data can be accessed with OData tools such as LINQPad, by just passing the OData access URL:

You can also use Microsoft Excel's PowerPivot support: