Astoria: data services for the web..
This was one of several projects that did not surface much at MIX due to the silverlight hype.. I have gotten a few questions around it this week... so I thought I would at least share useful pointers:
My interpretation: Astoria is a set of Data Services that exposes data via URIs over HTTP. Astoria serializes the data to JSON (or to XML) and it leverages the Entity framework for quick creation of the object model ..
- MIX session (from sessions.visitmix.com, XD006)
- Pablo's blog .. definitely a better place to ask questions..
- Channel 9 video -- quite similar to MIX session but has white board.. you can watch one or the other .. I think MIX might be longer and more complete..
My initial random thoughts :
Pros:
- I love the simple/uniform way to access data.. Does not get much simpler than URIs .. [that part is brilliant]
- I can think of scenarios where discoverability of data is a desire and this would be ideal ... his example in the MIX demo of Encarta is a top match ... Any thing with a catalog is likely a good match..
- I am also liking the potential perf possiblities of the model (so simple it is likely good perf, and it does run on top of WCF).. also caching of data is likely easy since these are standard URLs..
My early cons [some of it are going away as I think more about them] :
I am still a SOAP believer (for B2B) ... I think advanced web services are critical to the evolution of enterprise web .. fading a little for consumer scenarios, I would have to be a fool not to acknowledge that REST is strong and AJAX is making JSON a strong format for end-user scenarios... Also, Astoria is based on a WCF web service, so potentially the higher level goodness can be
This reminded me of when SQL exposed webservices directly -- imho a feature not widely adopted - but after looking at the extensiblity/customization I actually re-considered... you could build on this and keep the simplicity of the URI navigation pattern..but plugging business rules along the way ...
My first conclusion, I am keeping an eye on it it and will definitely consider it for rapid silverlight prototypes .. I think it could save me time . :)
I would also like to know a lot more about the WCF aspect of this .. Could we bolt-on WCF higher level features on top of this?... My guess is yes but it is just a guess..
Your thoughts?