views:

48

answers:

4

I will have to create API calls for my system to be exposed to the outside world. Which language would be the best fit?

I will have to create proper authentication (OAuth) and I am looking to build in such a way that it is very reusable and extensible.

If I had to choose between Python and Ruby, which one should I and why? (considering my experience is 5/10 on both the languages)

A: 

You are probably not looking only for a language but also for frameworks and tools to help you build your services.

If you are comfortable with ruby check out rails and its implementation or REST. If you prefer Java you can have a look at Restlet or Apache Wink. Sure there are plenty more options out there but it depends on your needs. If you can elaborate a bit more, you might get a more appropriate answer.

Josmas
For Java, there is also Jersey (https://jersey.dev.java.net/) which is part of the GlassFish stack.
Blaise Doughan
A: 

Windows Communication Foundation (WCF) is used for creating web services in .NET.

Bernard
A: 

Here is a language matrix of REST frameworks:

http://code.google.com/p/implementing-rest/wiki/ByLanguage

Darrel Miller
one is missing on the page. Spring MVC (since 3.0 version) offers nice features for creating restful api over HTTP.
manuel aldana
RESTx is missing (http://restx.org): Can be programmed in Java, Python or server-side JavaScript.
jbrendel
+1  A: 

I'll throw in my vote for using Sinarta (framework). It is incredibly simple, uses REST verbs to respond to actions and is fast. I have written a couple of services, one hosted on Heroku (free) that acts as an exchange between a desktop db and web app. The other is on our local net that controls a DAQ (digital acquisition) board. I don't think either are more than 100-125 LOC. Neither took me more than an hour to write (with tests).

Karl
Thanks Karl. Yes, I am working on the same too! Have you tried OAuth authentication with Sinatra? Let me know if there are plugins like the ones for rails.
Gim
No, I have not used OAuth yet. A quick search on github: http://github.com/halorgium/sinatra-oauth
Karl