The World’s Leading Microsoft .NET Magazine
   
 
The .NET Addict's Blog

My Top Tags

                                                           

My RSS Feeds








I heart FeedBurner

Latest Diggs - Programming

Computers Blogs - Blog Top Sites

Site Hits

Total: 2,834,273
since: 19 Jan 2005

Another day another Codename - Astoria and Jasper

posted Tue 01 May 07

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):

  • /myentities.svc/Customers[BOB] - Returns the BOB customer
  • /myentities.svc/Customers[BOB]/Orders - Returns all of BOB's Orders
  • /myentities.svc/Customers[BOB]$expand=Orders - Returns BOB and all of Bob's Orders, with the Orders contained within the Bob entity
  • /myentities.svc/Customers[City eq 'New York']/Orders - Returns all orders from all customers with a City value of 'New York'

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!

tags:          

links: digg this    del.icio.us    technorati    reddit




Tag Related Posts

LINQ to REST - A much better name for Astoria

Tue 11 Dec 07 1:23 P GMT-05
tags:        

ASP.NET 3.5 Extensions Preview Released

Mon 10 Dec 07 2:10 P GMT-05

C# 3.0 - Are Object Initializers Evil, Useful, or Both?

Fri 26 Oct 07 10:53 A GMT-05
tags:    

Continuous LINQ - Can I write games with it?

Mon 13 Aug 07 3:09 P GMT-05
tags:        

Silverlight 1.1 Alpha Refresh

Fri 10 Aug 07 2:09 P GMT-05
tags:    

Orcas Beta 2 - might as well be a CTP

Tue 07 Aug 07 1:15 A GMT-05
tags:  

Dynamic, Observable LINQ Views

Tue 31 Jul 07 1:21 A GMT-05
tags:        

Astoria and the Semantic Web

Mon 16 Jul 07 3:47 P GMT-05

Acropolis or Acrapolis?

Thu 05 Jul 07 12:34 P GMT-05
tags:      

My first "Acropolis" Application

Mon 04 Jun 07 1:40 P GMT-05
tags:      

Silverlight and Astoria - First Impressions

Mon 04 Jun 07 1:40 A GMT-05
tags:    

Orcas' Hidden Gem - The managed PNRP stack

Fri 11 May 07 6:45 P GMT-05
tags:        

Orcas EDM Wizard Patched

Fri 27 Apr 07 11:56 A GMT-05
tags:      

Installing Orcas Beta 1 - VMware Style

Mon 23 Apr 07 12:16 P GMT-05

Orcas Beta 1 Released

Fri 20 Apr 07 7:09 P GMT-05

Core Data - Almost too Easy?

Wed 18 Apr 07 2:23 P GMT-05

Visual Studio "Orcas" - March CTP is Available

Wed 28 Feb 07 12:28 P GMT-05
tags:            

Objective-C Categories vs C# 3.5 Language Extensions

Mon 26 Feb 07 1:05 P GMT-05
tags:                

ADO.NET Entity Framework Announced Today!

Wed 16 Aug 06 11:08 A GMT-05

DLinq vs the ADO.NET Entity Framework

Fri 23 Jun 06 4:01 P GMT-05