There’s an interesting scenario for Windows Azure Services which hasn’t been talked about much: inter-enterprise application integration.
Connecting suppliers with customers can be tricky – Who hosts the web services? Who’s going to buy the server? How will we configure the firewalls? Azure could make all that pain disappear – just put an endpoint in the cloud and communicate securely. The endpoint could be a Table, a Queue, Blob store or the Services Bus.
Key to getting this scenario to work is Java support; there’s still a lot of legacy Java out there running on UNIX systems and we have to be able to work with that.
A quick Google for “Windows Azure Java” threw up only very little material:
Steve Marx’s blog http://blog.smarx.com/posts/programming-language-interoperability-in-windows-azure – Inspiring, but I struggled to get the code sample working and it’s a little messy.
and
Schakra’s Java SDK for .NET Services which, as far as I can tell only supports the Service bus.
Neither was what I was really looking for.
Restlet seemed like the way to go, so I contacted the folks at Noelios and Thierry Boileau responded with a code sample showing how the Microsoft Shared Key scheme was supported in Restlet 1.2 Milestone 2
See comments under
http://blog.noelios.com/2009/02/20/microsoft-selects-restlet-to-show-rest-interoperability/
Before long, I was listing queues, doing PutMessage to queues etc etc and I’ve started to build out a simple library that allows me to do things like:
String endPoint = "http://account.queue.core.windows.net";
String accountName = "XXXX";
String accountSharedKey = "YYYY";
QueueStorage queueStorage = new QueueStorage(endPoint,accountName, accountSharedKey);
Queue q = queueStorage.getQueue("foo");
q.putMessage("Hello World 2");
Is anybody interested in helping with or sponsoring a CodePlex project to build out a Java version of the StorageClient sample?
*The opinions expressed on this site are my own and do not necessarily represent those of Two10degrees or Active Web Solutions Ltd.