creating OData like services using RESTlet - odata

I am trying to build a OData interface for Java application.
From what I have seen, one can create fully compliant OData services using microsoft technologies (aka visual studio) using their WCF services. Am I of the right impression?
I am trying to simulate OData services (it is also RESTful) using RESTlet + ROME(for atom feeds) + ROME Propono (for atompub service document). OData specification says that I canm access individual objects of a collection like http://mysite/service.svc/products(1)
Is there a way to represent this in RESTlet?
router.attach("products(id)") will not work
router.attach("products/get/{id}") is not really OData like.
Do you have any suggestions? Am I even doing it right?
Regards,
D

Have you tried this URI template?
router.attach("products({id})")

Related

sample app to illustrate use of OData in NancyFx

I am developing a sample app to illustrate use of OData in my application(NancyFx based).
Can any one help in get started with this.
First, I'm not familiar with NanchFx. As far as I know, it is a different framework to build Web application than Web API.
Second, what do you mean a "sample app" ? Is that a app to build an OData service or to consume a OData service? If it's for server side, maybe you need to get started with ODataLib. If it's for consuming, then maybe a little bit more options like OData client for .NET, OData client code generator, and other JavaScript library supporting OData like JayData, Olingo ODataJS, Breeze, etc. HTH

How to define Actions in LightSwitch ODATA and use them from LightSwitch HTML client

my first question on StackOverflow, so apologies if not perfect right from the beginning ...
My question is actually two-fold:
Can I have the LightSwitch ApplicationData service (or any other internally defined Data Source) define ODATA actions on the service level or entity set/entity level? If yes, how do I do that? (I cannot find the route information in the application where I could override/add that.)
How would I consume these actions from the client side (via the built-in MS JS object model in msls or via screen/entity)? Even, if LightSwitch itself could not create/would not support actions, I would still like to know how to consume them from the client side, as we are exposing external ODATA data sources via LightSwitch to the client (and these ODATA source have actions defined).
I know I can use jaydata from the client side to consume that and execute actions on an ODATA source, but I would like to know if LightSwitch has built-in support for that.
Further information: we are using VS/LS 2013. And Silverlight is not an option, we only use the HTML client.
Thank you very much for your support and hints!
Regards, Ronald
There is nothing built-in to LightSwitch that lets you define custom OData actions on the service side or consume them from the client side. You'd need to use standard web functionality like ASP.NET's WebAPI and your favorite JavaScript OData library, like JayData.

Microsoft Analysis Services - Interact with Rails ActiveRecord

I'm looking at leveraging an existing Microsoft SQL Server Analysis Service (SSAS) instance for a reporting project. The goal is to have the data compiled in SSAS, then a web front-end that allows the user change time-periods, while building graphics (using D3 or the like).
Google has not been my friend in finding a solution for this...
Is there a gem or other way to connect SSAS to a Rails front-end?
Thanks
JSON, no, not that I know of. However if you are willing to use XML, then yes. XMLA (documented here) is the client API language for SSAS.
One approach would be to build a web service with .NET, and then have your Rails front-end call the web service.
I suppose you could use XMLA directly, but it's painful.

Does LinqPad support latest Odata libraries?

Does Linqpad use OData (WCF Data services) client library to generate the proxy that'll call the Data service OR does it use plain http/REST? Since it was getting strongly typed context, which can be used for the queries, I assume its using a proxy?
If its the former, is there a way to update the OData client library to be used by Linqpad?
LINQPad uses EntityClassGenerator in System.Data.Services.Design to generate the client proxy classes. This class is a standard part of the .NET Framework - I'm not aware of an updated OData client library... is there one?
Edit: LINQPad now supports OData 5 (from version 4.42.06).

Wcf Web APi OData

I have recently discovered OData & the new WCF Web APi library on codeplex. The web api allows me to expose results as IQueryable, which allows me to expose URL's in the OData format. Myn question is what is the difference between this and a regular OData Service, I read the following blog post http://phejndorf.wordpress.com/2011/07/15/wcf-web-api-odata-format-doesnt-mean-odata-service/ but I am unsure what the OP means.
Thanks
The WCF Web API supports adding a [QueryComposition] attribute to a function so you can use the OData $filter=.. style of filtering data on the server and sending only a subset back to the client.
With OData, I should say WCF Data Services, there is much more that just querying. You can do all of the CRUD operations. It also means you are using the OData, is an AtomPub superset, protocol where with WCF Web API you do whatever you like. OData is actually a hypermedia format that contains metada, relations etc.

Resources