<?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 : Data Access</title><link>http://blogs.msdn.com/ssds/archive/tags/Data+Access/default.aspx</link><description>Tags: Data Access</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>Jon Udell cURL's with SQL Server Data Services</title><link>http://blogs.msdn.com/ssds/archive/2008/08/28/8902143.aspx</link><pubDate>Thu, 28 Aug 2008 03:31:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8902143</guid><dc:creator>Soumitra Sengupta</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/ssds/comments/8902143.aspx</comments><wfw:commentRss>http://blogs.msdn.com/ssds/commentrss.aspx?PostID=8902143</wfw:commentRss><description>&lt;P&gt;Just read Jon Udell's post on SQL Server Data Services (SSDS) &lt;A class="" href="http://blog.jonudell.net/2008/08/27/the-continuum-of-access-styles-in-the-emerging-microsoft-cloud/#comment-125120" target=_blank mce_href="http://blog.jonudell.net/2008/08/27/the-continuum-of-access-styles-in-the-emerging-microsoft-cloud/#comment-125120"&gt;here&lt;/A&gt;.&amp;nbsp; Happy to hear that Jon was able to explore SSDS with cURL &lt;EM&gt;"within minutes of cracking open the SSDS documentation".&lt;/EM&gt;&amp;nbsp; Readers who are wondering what Jon is talking about, should read Jeff Currier, one of the guys writing real code that we ship in SSDS, talking about using cURL to explore SSDS &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;here&lt;/A&gt;.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;When few of us crazies started thinking of SSDS, a non-negotiable requirement was that developers should be able to start exploring and using the service quickly.&amp;nbsp; There is so much going on in the cloud services space that if it took too long to experiment with a new service, we were afraid that developers will put it on the shelve and may never give it a spin.&amp;nbsp; I know I do not like to spend months on something to see if I would use it.&amp;nbsp; It was hard for us to "cover up" the SQL Server heritage of SSDS, but we argued that simplicity is a virtue that we should aspire to.&lt;/P&gt;
&lt;P&gt;Jon hits on an interesting point when he says &lt;EM&gt;'&lt;/EM&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;&lt;EM&gt;while the novelty of “just coding to a URL” on a Microsoft platform will undoubtedly attract some tirekickers who otherwise wouldn’t show up, the real draw will be the ability to exercise choice along the whole continuum'.&amp;nbsp; &lt;/EM&gt;Internally we use the words "reach" and "rich".&amp;nbsp; We believe that to be a platform with large adoption, one needs to provide both "reach" (so that people from all other platforms can use you) as well as "richness" (so that people who use your platform exlusively have a rich set of tools to leverage).&amp;nbsp; Today it is easy to see that SSDS is aiming to "reach" as many developers as possible.&amp;nbsp; To do this we have to address "the continuum of access styles".&amp;nbsp; Jon seems to be saying that we are meeting that goal.&amp;nbsp; What do you think?&amp;nbsp; Are we close?&amp;nbsp; Are we way off base?&amp;nbsp; Or we should not worry about the "continuum of access styles".&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;It will be interesting to hear from you all.&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8902143" 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/SSDS/default.aspx">SSDS</category><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/cURL/default.aspx">cURL</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/Tools/default.aspx">Tools</category></item><item><title>Eugenio Pace continues with his Litware HR app</title><link>http://blogs.msdn.com/ssds/archive/2008/03/28/8341173.aspx</link><pubDate>Fri, 28 Mar 2008 10:22:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8341173</guid><dc:creator>kellyalt</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/ssds/comments/8341173.aspx</comments><wfw:commentRss>http://blogs.msdn.com/ssds/commentrss.aspx?PostID=8341173</wfw:commentRss><description>Eugenio has published the 3rd installment of his article on building the Litware HR application that Nigel demonstrated at &lt;A class="" href="http://visitmix.com/" target=_blank mce_href="http://visitmix.com/"&gt;MIX08&lt;/A&gt;.&amp;nbsp; &lt;A class="" href="http://blogs.msdn.com/eugeniop/archive/2008/03/24/litwarehr-on-ssds-part-iii-data-access-enhancements-1-caching.aspx" target=_blank mce_href="http://blogs.msdn.com/eugeniop/archive/2008/03/24/litwarehr-on-ssds-part-iii-data-access-enhancements-1-caching.aspx"&gt;Here&lt;/A&gt; he discusses enhancement to his data access layer by caching data locally.&amp;nbsp; It is a good read.&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8341173" 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/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/Caching/default.aspx">Caching</category><category domain="http://blogs.msdn.com/ssds/archive/tags/Data+Access/default.aspx">Data Access</category></item></channel></rss>