|
Microsoft has been getting a lot of press lately. From the announcement of their decision to Open Source some of the Dynamic Language Runtime (the tool that powers the IronPython thing in Silverlight) to the announcement that the ADO.NET Entity Framework will not ship as part of Orcas (don't even get me started on my opinion of that announcement!) - MS has been getting a lot of write-ups and a lot of blog treament - some good, some bad.
Jasper
This is a set of components and stack-on code that, from what I can tell, provides an incredibly "Rails-like" experience to ADO.NET. They are referring to this as "dynamic ADO.NET", which means that it requires a dynamic language runtime (The DLR currently drives IronPython 1.1) in order to work. This means that objects in Jasper are generated dynamically and on the fly in order to match the underlying entity model. Currently, it only supports VB9 and IronPython, so I'm not going to bother playing with it just yet. I'll look into it again when they get into Beta 1 or they add more languages (C# or F#) in an upcoming CTP.
Astoria
This one is worth mentioning, and certainly worth exploring. In short, Microsoft has finally realized the real value in RESTful interfaces. This is one more notch in my world-wide campaign to rid the universe of WSDL forever (down with WSDL!). In short, using Astoria, you can create "Web Data Services", which expose an underlying EDM via RESTful interface. So, you could expose a Customers entity using Astoria, and get access to the following types of URLs (which return simple XML, JSON, or RDF-XML):
As you can see, this is ridiculously powerful. Sitting on top of the EDM, which can be queried and manipulated using LINQ, Astoria is the "RESTy POX" layer that I have always wanted. Out of the box, Astoria web data services use PUT, DELETE, POST, and GET, the way the world should work!
In addition, there is a client library that encapsulates all of the busywork of establishing the HTTP connections and serializing and deserializing. You can even create your own client classes with the same field names as the host model and the client library will take care of linking the two for you.
Bottom line: When this thing goes live, if you plan on exposing data via services, and you want to help me rid the world of WSDL, and you enjoy being able to consume simple, easy-to-use XML instead of convoluted SOAP crap.. then join with me and use Astoria for your data services!