<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>SQL Azure Team Blog : REST</title><link>http://blogs.msdn.com/ssds/archive/tags/REST/default.aspx</link><description>Tags: REST</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Accessing the New Relational SDS with REST</title><link>http://blogs.msdn.com/ssds/archive/2009/03/20/9492744.aspx</link><pubDate>Fri, 20 Mar 2009 19:16:45 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9492744</guid><dc:creator>davidrob</dc:creator><slash:comments>7</slash:comments><comments>http://blogs.msdn.com/ssds/comments/9492744.aspx</comments><wfw:commentRss>http://blogs.msdn.com/ssds/commentrss.aspx?PostID=9492744</wfw:commentRss><description>&lt;p&gt;Hi Everyone! This is Lev Novik, one of the architects on the SQL Data Services Team.&lt;/p&gt;  &lt;p&gt;We get a number of questions about whether or not we have abandoned or downgraded REST access to SDS, and if so, why. To summarize: not at all --- rather than abandoning REST, we intend to support it in precisely the ways and places where we believe most people want it. Allow me to explain.&lt;/p&gt;  &lt;p&gt;Consider an average (web) application today. Most often, it consists of a:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;i&gt;client&lt;/i&gt; (often running in a browser), &lt;/li&gt;    &lt;li&gt;&lt;i&gt;mid-tier business logic&lt;/i&gt; (often running in a web server), and &lt;/li&gt;    &lt;li&gt;&lt;i&gt;back-end storage&lt;/i&gt; (often a relational database). &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="clip_image002" border="0" hspace="12" alt="clip_image002" src="http://blogs.msdn.com/blogfiles/ssds/WindowsLiveWriter/AccessingthenewrelationalSDSwithREST_8070/clip_image002_3.jpg" width="98" height="207" /&gt;&lt;/p&gt;  &lt;p&gt;What are the protocols that are typically used? Well, the protocol between the client and the mid-tier is usually HTTP and often REST; the protocol between the mid-tier and the back-end storage is typically the native protocol of the back-end database.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/ssds/WindowsLiveWriter/AccessingthenewrelationalSDSwithREST_8070/clip_image004_2.jpg"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Well, with SQL Data Services, the situation is quite similar. In these scenarios: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;SDS takes the place of the back-end database, &lt;/li&gt;    &lt;li&gt;mid-tier business logic is running maybe in Windows Azure, or maybe outside, &lt;/li&gt;    &lt;li&gt;and the client, well, the client is unchanged &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="clip_image004" border="0" hspace="12" alt="clip_image004" src="http://blogs.msdn.com/blogfiles/ssds/WindowsLiveWriter/AccessingthenewrelationalSDSwithREST_8070/clip_image004_3.jpg" width="167" height="240" /&gt;&lt;/p&gt;  &lt;p&gt;In this world, we believe that you will continue to want to use the most powerful mechanism to talk from your mid-tier to SDS, together with the nicest database tools; and you will continue to want to be able to easily expose your web application to its clients in the most simple, elegant, and web-friendly way. This is why we concentrate on:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Exposing TDS (SQL Server native protocol) as the full-featured way to talk to SDS &lt;/li&gt;    &lt;li&gt;Making it very easy for you to expose REST access to your SDS-based application. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;To achieve the latter, we rely on &lt;a href="http://msdn.microsoft.com/en-us/data/bb931106.aspx" target="_blank"&gt;ADO.NET Data Services&lt;/a&gt; (aka “Astoria”). Its very purpose in life is to make building data-driven REST services as easy as possible. For those who haven’t played with ADO.NET DS, I highly recommend it --- grab a favorite beverage, watch a quick &lt;a href="http://msdn.microsoft.com/en-us/data/cc745957.aspx"&gt;introductory movie&lt;/a&gt;, get hold of a database of your own, and see what it takes to make a REST web service out of it (you might just have some of the beverage still remaining at this point).&lt;/p&gt;  &lt;p&gt;But of course, your application is unlikely to be just a one-to-one mapping of a database --- you will want to build your own business logic, your own security policies, your own views, etc. ADO.NET Data Services &lt;a href="http://msdn.microsoft.com/en-us/library/cc907912.aspx"&gt;allows&lt;/a&gt; you to implement these, and to make your creation into a real non-toy service (though this will certainly involve a few more trips into the kitchen!)&lt;/p&gt;  &lt;p&gt;But that was SQL Server on your own dev box --- how does that work with SDS and Windows Azure? Well, we intend to make it work in much the same way:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Get &lt;a href="http://go.microsoft.com/fwlink/?LinkID=130232"&gt;set-up&lt;/a&gt; to develop &lt;a href="http://www.microsoft.com/azure/webdev.mspx"&gt;Windows Azure services&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;Create an SDS Database in the cloud, and load it up with your schema. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd179449.aspx"&gt;Create&lt;/a&gt; a Windows Azure &lt;i&gt;Web Cloud Service&lt;/i&gt; Project in Visual Studio. &lt;/li&gt;    &lt;li&gt;Add &lt;i&gt;ADO.NET Data Service&lt;/i&gt; project item, and point it at the SDS Database (or at a local database with the same schema). &lt;/li&gt;    &lt;li&gt;Develop your ADO.NET Data Service (security, biz logic, templates, etc) &lt;/li&gt;    &lt;li&gt;Change the connection string to point to the real SDS Database in the cloud (if you used a local database for development) &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd179441.aspx"&gt;Publish&lt;/a&gt; your service to Windows Azure. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;And at the end, you have an SDS-based REST Service, configured just the way you like it!&lt;/p&gt;  &lt;p&gt;Hope this made some sense!&lt;/p&gt;  &lt;p&gt;--Lev&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9492744" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/ssds/archive/tags/Data+Access/default.aspx">Data Access</category><category domain="http://blogs.msdn.com/ssds/archive/tags/REST/default.aspx">REST</category><category domain="http://blogs.msdn.com/ssds/archive/tags/Astoria/default.aspx">Astoria</category><category domain="http://blogs.msdn.com/ssds/archive/tags/ADO.Net+Data+Services/default.aspx">ADO.Net Data Services</category><category domain="http://blogs.msdn.com/ssds/archive/tags/Azure+Services+Platform/default.aspx">Azure Services Platform</category><category domain="http://blogs.msdn.com/ssds/archive/tags/SQL+Data+Services/default.aspx">SQL Data Services</category><category domain="http://blogs.msdn.com/ssds/archive/tags/SDS/default.aspx">SDS</category></item><item><title>Mike Amundsen is putting out lot of samples in his blog</title><link>http://blogs.msdn.com/ssds/archive/2008/07/16/8739607.aspx</link><pubDate>Wed, 16 Jul 2008 21:05:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8739607</guid><dc:creator>Soumitra Sengupta</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/ssds/comments/8739607.aspx</comments><wfw:commentRss>http://blogs.msdn.com/ssds/commentrss.aspx?PostID=8739607</wfw:commentRss><description>&lt;P&gt;I just noticed that Mike has put out interesting code in his "&lt;A class="" href="http://amundsen.com/blog/" target=_blank mce_href="http://amundsen.com/blog/"&gt;life in lowercase&lt;/A&gt;" blog.&amp;nbsp; It is good to see him add caching support to his provisioning client.&amp;nbsp; Just put it on my "to play with during my vacation" list for the summer.&amp;nbsp; Thanks Mike.&lt;/P&gt;
&lt;P&gt;By the way, I responded to Mike's comments on SSDS and Astoria alignment.&amp;nbsp; I do not disagree with Mike that one of the core values of SSDS is its simplicity.&amp;nbsp; It is a tribute to the team that they have been able to keep it simple for developers to approach and use right away.&amp;nbsp; I appreciate Mike's concern that aligning SSDS with Astoria could make SSDS lot more complicated.&amp;nbsp; As I said in my response, the alignment does not mean that we are ditching the flex entity model.&amp;nbsp; Once we release the aligned service, as a developer you will have a choice of staying with the flex entity model or add schemas where it makes sense to add schemas.&amp;nbsp; We hope to provide this capability at the container level so you can choose to:&lt;/P&gt;
&lt;P&gt;a. Keep all entities as flex entities&lt;BR&gt;b. Keep all entities as typed entities&lt;BR&gt;c. Have both typed and untyped entities and type entities with open or flex properties&lt;/P&gt;
&lt;P&gt;The side effect is that the Astoria client library then becomes the default client library for developers to build their applications in Visual Studio.&amp;nbsp; Still does not solve the problem of client libraries for Java, Ruby and PHP.&amp;nbsp; I still got those on my plate to address.&lt;/P&gt;
&lt;P&gt;If you look at the model above, you will notice that Amazon SimpleDB and SSDS only allows you to do a. today.&amp;nbsp; GAE lets you do a. and b.&amp;nbsp; We think c. is really very powerful and see all sorts of scenarios can be modeled using c. quite effectively.&lt;/P&gt;
&lt;P&gt;At the time of writing this blog, I have not seen a plan for supporting EDM associations post alignment.&amp;nbsp; I also want to point out that this alignment is actually good for EDM as it extends the current EDM model to cover untyped or flex entities.&amp;nbsp; It is also important to point out that it is possible to bet on EDM without using EF.&amp;nbsp; Astoria itself is an example of that.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8739607" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/ssds/archive/tags/SSDS/default.aspx">SSDS</category><category domain="http://blogs.msdn.com/ssds/archive/tags/REST/default.aspx">REST</category></item><item><title>Nice. David Robinson's MSDN Article about SSDS is out</title><link>http://blogs.msdn.com/ssds/archive/2008/07/15/8732638.aspx</link><pubDate>Tue, 15 Jul 2008 08:28:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8732638</guid><dc:creator>Soumitra Sengupta</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/ssds/comments/8732638.aspx</comments><wfw:commentRss>http://blogs.msdn.com/ssds/commentrss.aspx?PostID=8732638</wfw:commentRss><description>Just noticed &lt;A class="" href="http://msdn.microsoft.com/en-us/magazine/cc700349.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/magazine/cc700349.aspx"&gt;this&lt;/A&gt;.&amp;nbsp;&amp;nbsp;David Robinson and Jeff Currier are the best writers on our team.&amp;nbsp; Check it out.&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8732638" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/ssds/archive/tags/SaaS/default.aspx">SaaS</category><category domain="http://blogs.msdn.com/ssds/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.msdn.com/ssds/archive/tags/SSDS/default.aspx">SSDS</category><category domain="http://blogs.msdn.com/ssds/archive/tags/REST/default.aspx">REST</category></item><item><title>Roger Jennings talks about SSDS in a Visual Studio Magazine Article</title><link>http://blogs.msdn.com/ssds/archive/2008/07/02/8680559.aspx</link><pubDate>Wed, 02 Jul 2008 10:34:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8680559</guid><dc:creator>Soumitra Sengupta</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/ssds/comments/8680559.aspx</comments><wfw:commentRss>http://blogs.msdn.com/ssds/commentrss.aspx?PostID=8680559</wfw:commentRss><description>&lt;P&gt;Roger has an interesting article on SSDS in the latest Visual Studio Magazine &lt;A class="" href="http://visualstudiomagazine.com/features/article.aspx?editorialsid=2514" target=_blank mce_href="http://visualstudiomagazine.com/features/article.aspx?editorialsid=2514"&gt;here&lt;/A&gt;.&amp;nbsp; It is really interesting to see the performance data between the SOAP and the REST end points of SSDS.&amp;nbsp; It would be really interesting to dig into this.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;One bit of correction - the SSDS flexible entity model was developed independent of EDM / EF and the Astoria model.&amp;nbsp; At this point in time, both teams are&amp;nbsp;working together to get this aligned.&lt;/P&gt;
&lt;P&gt;I thought Dave Campbell in one of his press interviews had mentioned it but I could not find the reference.&amp;nbsp; Sorry Roger.&amp;nbsp; So here is an aswer to your question - SSDS is built using SQL Server 2005, SP2 as the starting code base.&amp;nbsp; That is the starting point and we made changes to it.&amp;nbsp; Over time, some of these changes will make its way into the SQL Server mainline and SQL Server 2008 will make its way into SSDS.&amp;nbsp; We wanted to proceed in parallel as fast as we could and this was the best way to do it.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8680559" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/ssds/archive/tags/Cloud/default.aspx">Cloud</category><category domain="http://blogs.msdn.com/ssds/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://blogs.msdn.com/ssds/archive/tags/Query+Language/default.aspx">Query Language</category><category domain="http://blogs.msdn.com/ssds/archive/tags/SSDS/default.aspx">SSDS</category><category domain="http://blogs.msdn.com/ssds/archive/tags/SOAP/default.aspx">SOAP</category><category domain="http://blogs.msdn.com/ssds/archive/tags/REST/default.aspx">REST</category><category domain="http://blogs.msdn.com/ssds/archive/tags/Astoria/default.aspx">Astoria</category><category domain="http://blogs.msdn.com/ssds/archive/tags/Entity+Framework/default.aspx">Entity Framework</category><category domain="http://blogs.msdn.com/ssds/archive/tags/EDM/default.aspx">EDM</category><category domain="http://blogs.msdn.com/ssds/archive/tags/ADO.Net+Data+Services/default.aspx">ADO.Net Data Services</category></item><item><title>Jeff talks about upcoming ETag support in SSDS</title><link>http://blogs.msdn.com/ssds/archive/2008/06/22/8637241.aspx</link><pubDate>Sun, 22 Jun 2008 10:39:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8637241</guid><dc:creator>Soumitra Sengupta</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/ssds/comments/8637241.aspx</comments><wfw:commentRss>http://blogs.msdn.com/ssds/commentrss.aspx?PostID=8637241</wfw:commentRss><description>Jeff just sent me a note indicating that he has a post on the upcoming ETag support in SSDS.&amp;nbsp; To be clear the bits are not yet released to operations.&amp;nbsp; So we will have to wait a bit longer to get our hands on this feature.&amp;nbsp; You can read all about it &lt;A class="" href="http://blogs.msdn.com/jcurrier/archive/2008/06/22/etag-s-optimistic-concurrency-and-ssds.aspx" target=_blank mce_href="http://blogs.msdn.com/jcurrier/archive/2008/06/22/etag-s-optimistic-concurrency-and-ssds.aspx"&gt;here&lt;/A&gt;.&amp;nbsp; There are lots more cool things coming once Sprint 3 bits get released.&amp;nbsp; So please stay tuned.&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8637241" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/ssds/archive/tags/Software+plus+Service/default.aspx">Software plus Service</category><category domain="http://blogs.msdn.com/ssds/archive/tags/SaaS/default.aspx">SaaS</category><category domain="http://blogs.msdn.com/ssds/archive/tags/Code+Sample/default.aspx">Code Sample</category><category domain="http://blogs.msdn.com/ssds/archive/tags/SSDS/default.aspx">SSDS</category><category domain="http://blogs.msdn.com/ssds/archive/tags/SOAP/default.aspx">SOAP</category><category domain="http://blogs.msdn.com/ssds/archive/tags/REST/default.aspx">REST</category><category domain="http://blogs.msdn.com/ssds/archive/tags/ETag/default.aspx">ETag</category><category domain="http://blogs.msdn.com/ssds/archive/tags/Optimistic+Concurrency/default.aspx">Optimistic Concurrency</category></item><item><title>Tudor and Soumitra talk about SSDS value prop with Ryan</title><link>http://blogs.msdn.com/ssds/archive/2008/05/01/8447703.aspx</link><pubDate>Fri, 02 May 2008 00:40:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8447703</guid><dc:creator>kellyalt</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/ssds/comments/8447703.aspx</comments><wfw:commentRss>http://blogs.msdn.com/ssds/commentrss.aspx?PostID=8447703</wfw:commentRss><description>&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Agility (faster time to market), scale with your need and business ready SLA&lt;/EM&gt;&lt;/STRONG&gt; - Tudor and Soumitra highlight the core value propositions of SSDS on &lt;A class="" href="http://channel9.msdn.com/showpost.aspx?postid=401696" target=_blank mce_href="http://channel9.msdn.com/showpost.aspx?postid=401696"&gt;Channel 9&lt;/A&gt;.&amp;nbsp; Thanks Ryan for doing the interview.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8447703" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/ssds/archive/tags/Cloud/default.aspx">Cloud</category><category domain="http://blogs.msdn.com/ssds/archive/tags/SaaS/default.aspx">SaaS</category><category domain="http://blogs.msdn.com/ssds/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://blogs.msdn.com/ssds/archive/tags/LINQ/default.aspx">LINQ</category><category domain="http://blogs.msdn.com/ssds/archive/tags/SSDS/default.aspx">SSDS</category><category domain="http://blogs.msdn.com/ssds/archive/tags/SOAP/default.aspx">SOAP</category><category domain="http://blogs.msdn.com/ssds/archive/tags/REST/default.aspx">REST</category></item><item><title>c'Urling on SSDS with Jeff</title><link>http://blogs.msdn.com/ssds/archive/2008/04/14/8393829.aspx</link><pubDate>Mon, 14 Apr 2008 21:06:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8393829</guid><dc:creator>kellyalt</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/ssds/comments/8393829.aspx</comments><wfw:commentRss>http://blogs.msdn.com/ssds/commentrss.aspx?PostID=8393829</wfw:commentRss><description>Jeff Currier just posted &lt;A class="" href="http://blogs.msdn.com/jcurrier/archive/2008/04/13/curl-ing-up-with-sql-server-data-services.aspx" target=_blank mce_href="http://blogs.msdn.com/jcurrier/archive/2008/04/13/curl-ing-up-with-sql-server-data-services.aspx"&gt;this&lt;/A&gt; blog post where he talks about using cURL with SSDS.&amp;nbsp; This illustrates why we are taking an incremental approach.&amp;nbsp; Using cURL with SSDS was not even on our radar till one of the first customers to go on the "restricted beta" wanted to use this.&amp;nbsp; Jeff dug into it and helped them along.&amp;nbsp; Now he is sharing this out with everyone else.&amp;nbsp; When we started down this path, we were willing to be surprised.&amp;nbsp; This is one of them.&amp;nbsp; I am sure many more are on the way.&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8393829" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/ssds/archive/tags/Open+source/default.aspx">Open source</category><category domain="http://blogs.msdn.com/ssds/archive/tags/Code+Sample/default.aspx">Code Sample</category><category domain="http://blogs.msdn.com/ssds/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.msdn.com/ssds/archive/tags/SSDS/default.aspx">SSDS</category><category domain="http://blogs.msdn.com/ssds/archive/tags/REST/default.aspx">REST</category><category domain="http://blogs.msdn.com/ssds/archive/tags/cURL/default.aspx">cURL</category></item></channel></rss>