jump to navigation

Restlet bridges ADO.NET Data Services and Java September 28, 2009

Posted by Jerome Louvel in Microsoft, Restlet, Restlet General.
trackback

After a successful collaboration in February with Microsoft, we continued to explore the interoperability opportunities between Microsoft and Java technologies, leveraging REST and Restlet. Today, we are happy to announce the result of several months of hard work: a new interoperability bridge between Java and ADO.NET Data Services!

Microsoft’s strategy

In order to understand how central the Web and REST are becoming for Microsoft, it is enlightening to discover their new strategy elaborated by Ray Ozzie, Microsoft’s Chief Software Architect. It is called Software + Services and recognizes the ubiquity of the Web and the need to mix both locally running software and cloud computing services in a unified way.

Software + Services

From vision to reality, there is often a long way to go, but this time Microsoft is serious about the Web and genuinely embracing REST. For a few years now, they have been progressively building on their strategy, through Windows Azure, a comprehensive cloud computing platform, and through online extensions to their classic products like Office Live, XBox Live or Windows Live.

ADO.NET Data Services

One of the key technologies they leverage to achieve their plans was launched in 2007 under the code name “Astoria”. It drew much attention in the REST community at this time as it was, with Ruby on Rails’s Active Resource technology, the sole way to automatically expose a data models as RESTful Web services.

net

Since then, it has matured and became an actively maintained technology called ADO.NET Data Services. You can read an overview paper on MSDN and browse their extensive technical documentation for details about their REST API which leverages AtomPub.

Interoperability with Java

As RESTful Web services, you could use any HTTP toolkit to access them, to the exception of the authentication step which relies on a custom scheme, quite similar to the one used by Amazon for its Web services. However, you are not very productive this way, especially when you know that ADO.NET Data Services describe themselves through extensive metadata.

So far, beside client toolkits for Microsoft technologies such as .NET and Silverlight, only the PHP language had an easy solution to interact with those services. Today, with the release of Restlet 2.0 M5, we are proud to announce a similar offer for Java developers, cleanly leveraging the Restlet Framework.

Restlet

With the support from Microsoft and especially Stève Sfartz, Architect Lead at Microsoft France, we built a high level client that is able to generate client Java classes from exposed metadata and to easily manipulate the remote entities as if they were local. The current feature scope covers most of the use cases, but keep in mind that we don’t cover all the available features available yet.

This new Restlet extension has been extensively covered by Jean-Christophe Cimetiere, Sr. Technical Evangelist from Microsoft Corp Interoperability team, in this new blog post.

Extension documentation

In order to briefly illustrate how the extension works, you can read the dedicated extension page in the Restlet user guide. It shows some simple code to access to a data service, one provided for the Open Government Data Initiative (OGDI), a recent effort launched by Microsoft to expose government data sources as RESTful Web services.

In addition, to the regular Javadocs of the extension, a complete tutorial is also available on the wiki to get you started in minutes with a detailed example. Now, if you have a .NET developer friend, you could ping him and set-up a plug scenario!

Launch coverage

Comments»

1. Restlet Extension for Astoria « WillyXoft - October 1, 2009

[...] Restlet es un framework ligero que ayuda a desarrollar clientes y servicios REST en la plataforma Java. Mientras que ADO.NET Data Services (aka Astoria) permite la creación de servicios REST que exponen datos, así como los clientes que los consumen, dentro de la plataforma .NET de Microsoft. Restlet Extension for ADO.NET Data Services es el puente entre ambos. [...]

2. Open Systems Journal » Blog Archive » New Bridge Broadens Java and .NET Interoperability - October 4, 2009

[...] details of this announcement on the Interoperability team blog here, as well as on the Noelis blog. You can also find a tutorial on this here. Go to Source « Certification Guide Series: IBM [...]

3. Restlet 2.0 M5 now available « Noelios Technologies - October 16, 2009

[...] A new extension for Microsoft ADO.NET Data Services (previously known as “project Astoria”) was added. It provides a high-level client API based on the ClientResource class that lets you access remote Data Services hosted in an ASP.NET servers or on the Windows Azure cloud computing platform. The extension contains both a code generator for the representation beans and a runtime layer. This extension is in the “org.restlet.ext.dataservices” package and depends on “org.restlet.ext.atom” and “org.restlet.ext.xml” extensions.” [...]

4. Kesav Kolla - December 30, 2009

Does this bridge also support the Microsoft ASP.NET AJAX libraries? Currently the AJAX libraries have Sys.components.adoNetDataContext to connect to ADO.NET Data Services. Can this AJAX be able to connect to restlet service? This way we can consume the restlet services using the AJAX libraries.

5. Jerome Louvel - December 30, 2009

Hi Kesav,

This bridge currently only provides a way to consume Data Services. An alternative would be to expose regular REST services with JSON representations that ASP.NET AJAX will be able to consume (not as conveniently).

Cheers,
Jerome

6. Kesav Kolla - December 30, 2009

Hi Jerome,

Thanks for the reply. So restlet doesn’t provide ability for atom publish type of discovery feature? ADO.NET (WCF) Data services provide a discovery feature using atom publish. If restlet also can publish similar discovery then we can consume restlet from ASP.NET AJAX also. For now I will see how I can work with regular JSON reprasentation.

7. Jerome Louvel - December 31, 2009

Hi Kesav,

I confirm that Restlet extension for Data Services doesn’t support the publishing of server-side Data Services yet. If have added a note for this in our issue tracker:

“Enhance Data Services extension”
http://restlet.tigris.org/issues/show_bug.cgi?id=955

It is however perfectly possible publish Atom (APP) and JSON services in Restlet, but it won’t have a high level support in ASP.NET AJAX.

Cheers,
Jerome

8. Restlet supports OData, the Open Data Protocol « Noelios Technologies - March 16, 2010

[...] the release of our Restlet extension for ADO.NET Data Services in September 2009, many changes happened on this front. Microsoft has been busy enhancing their technology, splitting [...]


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 62 other followers

%d bloggers like this: