<?xml version="1.0" encoding="UTF-8"?><rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
> <channel><title>Comments on: Hey Microsoft, Our Databases Aren&#8217;t Services!</title> <atom:link href="http://davybrion.com/blog/2010/01/hey-microsoft-our-databases-arent-services/feed/" rel="self" type="application/rss+xml" /><link>http://davybrion.com/blog/2010/01/hey-microsoft-our-databases-arent-services/</link> <description>inquisitive: adjective. given to inquiry, research, or asking questions; eager for knowledge; intellectually curious</description> <lastBuildDate>Tue, 22 May 2012 17:40:00 +0000</lastBuildDate> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.2</generator> <item><title>By: Learning Silverlight #3 &#8211; Getting Started &#171; Danny-T.co.uk home of Dan Thomas, Moov2 Ltd</title><link>http://davybrion.com/blog/2010/01/hey-microsoft-our-databases-arent-services/comment-page-1/#comment-97569</link> <dc:creator>Learning Silverlight #3 &#8211; Getting Started &#171; Danny-T.co.uk home of Dan Thomas, Moov2 Ltd</dc:creator> <pubDate>Sat, 12 Feb 2011 22:01:24 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/2010/01/hey-microsoft-our-databases-arent-services/#comment-97569</guid> <description>[...] will lead to a poor experience. The whole discussion is worthy of it&#8217;s own post, fortunately someone has done that for [...]</description> <content:encoded><![CDATA[<p>[...] will lead to a poor experience. The whole discussion is worthy of it&#8217;s own post, fortunately someone has done that for [...]</p> ]]></content:encoded> </item> <item><title>By: Haipeng Jiang</title><link>http://davybrion.com/blog/2010/01/hey-microsoft-our-databases-arent-services/comment-page-1/#comment-84451</link> <dc:creator>Haipeng Jiang</dc:creator> <pubDate>Wed, 22 Dec 2010 02:55:38 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/2010/01/hey-microsoft-our-databases-arent-services/#comment-84451</guid> <description>Hope it&#039;s ok to post my Q twich ;) help!Could anyone please advise me on this design of a data integration solution:We&#039;re doing a data integration project between a MS Sql Server database and a Microsoft CRM system (through its web services).We&#039;re trying to build a &quot;service&quot; layer on top of the database. The design of our current solution is to use web services for CRUD, with xml being the format of data.Views are created to consolidate related tables into one entity, and we query these views, using the &quot;SELECT * FROM someview &quot; + &quot;For XML&quot; to generated xml that will be returned from our web services.For update we&#039;re trying to use the same approach - using SQL XML to map updates views, we have &quot;instead of&quot; triggers defined on top of these views, and in these &quot;instead of&quot; triggers we update the underlying tables.The views/triggers are generated by tools so don&#039;t be too concerned with coding efficiency here...what do you think if we use WCF data Provider to publish a enterprise data model (essentially DTOs) ? p.s., we don&#039;t have a BL layer for now, it&#039;s all in the stored procedures!!!What&#039;s your opinion on this / any better design? much appreciated!</description> <content:encoded><![CDATA[<p>Hope it&#8217;s ok to post my Q twich <img
src='http://d18sni7re4ly7f.cloudfront.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> help!</p><p>Could anyone please advise me on this design of a data integration solution:</p><p>We&#8217;re doing a data integration project between a MS Sql Server database and a Microsoft CRM system (through its web services).</p><p>We&#8217;re trying to build a &#8220;service&#8221; layer on top of the database. The design of our current solution is to use web services for CRUD, with xml being the format of data.</p><p>Views are created to consolidate related tables into one entity, and we query these views, using the &#8220;SELECT * FROM someview &#8221; + &#8220;For XML&#8221; to generated xml that will be returned from our web services.</p><p>For update we&#8217;re trying to use the same approach &#8211; using SQL XML to map updates views, we have &#8220;instead of&#8221; triggers defined on top of these views, and in these &#8220;instead of&#8221; triggers we update the underlying tables.</p><p>The views/triggers are generated by tools so don&#8217;t be too concerned with coding efficiency here&#8230;</p><p>what do you think if we use WCF data Provider to publish a enterprise data model (essentially DTOs) ? p.s., we don&#8217;t have a BL layer for now, it&#8217;s all in the stored procedures!!!</p><p>What&#8217;s your opinion on this / any better design? much appreciated!</p> ]]></content:encoded> </item> <item><title>By: Davy Brion</title><link>http://davybrion.com/blog/2010/01/hey-microsoft-our-databases-arent-services/comment-page-1/#comment-68592</link> <dc:creator>Davy Brion</dc:creator> <pubDate>Fri, 29 Oct 2010 11:12:48 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/2010/01/hey-microsoft-our-databases-arent-services/#comment-68592</guid> <description>@Drammythese links should get you started:
http://davybrion.com/blog/2010/05/why-you-shouldnt-expose-your-entities-through-your-services/
http://davybrion.com/blog/2009/11/requestresponse-service-layer-series/</description> <content:encoded><![CDATA[<p>@Drammy</p><p>these links should get you started:<br
/> <a
href="http://davybrion.com/blog/2010/05/why-you-shouldnt-expose-your-entities-through-your-services/" rel="nofollow">http://davybrion.com/blog/2010/05/why-you-shouldnt-expose-your-entities-through-your-services/</a><br
/> <a
href="http://davybrion.com/blog/2009/11/requestresponse-service-layer-series/" rel="nofollow">http://davybrion.com/blog/2009/11/requestresponse-service-layer-series/</a></p> ]]></content:encoded> </item> <item><title>By: Drammy</title><link>http://davybrion.com/blog/2010/01/hey-microsoft-our-databases-arent-services/comment-page-1/#comment-68590</link> <dc:creator>Drammy</dc:creator> <pubDate>Fri, 29 Oct 2010 11:02:41 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/2010/01/hey-microsoft-our-databases-arent-services/#comment-68590</guid> <description>Hi,I am all fairly new to this and am actually glad that Ben posted his comments - its always good to hear two viewpoints when trying to learn.@Davy.  That being said your post is interesting and I&#039;d like to learn more about your way of providing access to the database.  Do you have any links/resources you could post here to help me learn?</description> <content:encoded><![CDATA[<p>Hi,</p><p>I am all fairly new to this and am actually glad that Ben posted his comments &#8211; its always good to hear two viewpoints when trying to learn.</p><p>@Davy.  That being said your post is interesting and I&#8217;d like to learn more about your way of providing access to the database.  Do you have any links/resources you could post here to help me learn?</p> ]]></content:encoded> </item> <item><title>By: Davy Brion</title><link>http://davybrion.com/blog/2010/01/hey-microsoft-our-databases-arent-services/comment-page-1/#comment-26815</link> <dc:creator>Davy Brion</dc:creator> <pubDate>Sun, 31 Jan 2010 22:37:11 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/2010/01/hey-microsoft-our-databases-arent-services/#comment-26815</guid> <description>@Benseriously, go waste someone else&#039;s time... i already said i have no problem with being wrong about the filtering, the other stuff however, still holds and you continue to ignore it while you keep focusing on one sentence.  it certainly makes your last paragraph all the more ironic.</description> <content:encoded><![CDATA[<p>@Ben</p><p>seriously, go waste someone else&#8217;s time&#8230; i already said i have no problem with being wrong about the filtering, the other stuff however, still holds and you continue to ignore it while you keep focusing on one sentence.  it certainly makes your last paragraph all the more ironic.</p> ]]></content:encoded> </item> <item><title>By: Ben</title><link>http://davybrion.com/blog/2010/01/hey-microsoft-our-databases-arent-services/comment-page-1/#comment-26813</link> <dc:creator>Ben</dc:creator> <pubDate>Sun, 31 Jan 2010 22:27:12 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/2010/01/hey-microsoft-our-databases-arent-services/#comment-26813</guid> <description>@Kilfour: More of the same. How does RIA Services violate your ideals any more than, let&#039;s say, C# itself? To say that a technology makes it &lt;i&gt;too easy&lt;/i&gt; to do something wrong is like saying &quot;food makes it too easy to become fat&quot;. Nobody forces you to use RIA Services in a way that breaks your precious directives.By the way, please explain exactly how something done so poorly in the first place would become so widely used that other people would have to &quot;clean up the mess&quot;, as you put it. Are you tired of cleaning up other people&#039;s messy code, or is this some general humanitarian concern? You must have hated the 20th century, when we actually used pointers and all that really dangerous stuff. (I suppose that should have been kept top-secret, too.)@Davy: A database-backed service layer is not all about querying, but it is &lt;i&gt;very much&lt;/i&gt; about querying, and RIA Services makes that part of it--the part that otherwise requires much tedious boilerplate code--a cinch. Nowhere does it state this is the only way to do things.Don&#039;t get all stuffy about my poor attitude: your post, rich with snit and cynicism, practically invites it. I came here looking for useful information about RIA Services, and if I hadn&#039;t known any better before I read your post, afterwards I&#039;d have thought it was a turd. I mean, really: what modern services layer technology set would facilitate something so odious as client-side filtering? Guess what, buddy: every one of those Microsoft demos you laughed at was demonstrating &lt;i&gt;exactly the opposite&lt;/i&gt; of what you assumed.So, yes: in my mind, it is exceptionally arrogant for anyone to spend fifteen minutes poking through some Visual Studio wizards, immediately form a wrong opinion, and rush to Wordpress to crow about it to the world. If that&#039;s not deserving of mild censure, I&#039;m not sure what is.</description> <content:encoded><![CDATA[<p>@Kilfour: More of the same. How does RIA Services violate your ideals any more than, let&#8217;s say, C# itself? To say that a technology makes it <i>too easy</i> to do something wrong is like saying &#8220;food makes it too easy to become fat&#8221;. Nobody forces you to use RIA Services in a way that breaks your precious directives.</p><p>By the way, please explain exactly how something done so poorly in the first place would become so widely used that other people would have to &#8220;clean up the mess&#8221;, as you put it. Are you tired of cleaning up other people&#8217;s messy code, or is this some general humanitarian concern? You must have hated the 20th century, when we actually used pointers and all that really dangerous stuff. (I suppose that should have been kept top-secret, too.)</p><p>@Davy: A database-backed service layer is not all about querying, but it is <i>very much</i> about querying, and RIA Services makes that part of it&#8211;the part that otherwise requires much tedious boilerplate code&#8211;a cinch. Nowhere does it state this is the only way to do things.</p><p>Don&#8217;t get all stuffy about my poor attitude: your post, rich with snit and cynicism, practically invites it. I came here looking for useful information about RIA Services, and if I hadn&#8217;t known any better before I read your post, afterwards I&#8217;d have thought it was a turd. I mean, really: what modern services layer technology set would facilitate something so odious as client-side filtering? Guess what, buddy: every one of those Microsoft demos you laughed at was demonstrating <i>exactly the opposite</i> of what you assumed.</p><p>So, yes: in my mind, it is exceptionally arrogant for anyone to spend fifteen minutes poking through some Visual Studio wizards, immediately form a wrong opinion, and rush to WordPress to crow about it to the world. If that&#8217;s not deserving of mild censure, I&#8217;m not sure what is.</p> ]]></content:encoded> </item> <item><title>By: kilfour</title><link>http://davybrion.com/blog/2010/01/hey-microsoft-our-databases-arent-services/comment-page-1/#comment-26806</link> <dc:creator>kilfour</dc:creator> <pubDate>Sun, 31 Jan 2010 21:26:54 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/2010/01/hey-microsoft-our-databases-arent-services/#comment-26806</guid> <description>@Ben :
&#039;the height of arrogance&#039; : Well, that would be me...
But atleast I&#039;m polite...
The fact that something happens client side, server side, or even in a parallel universe does not interest me. It&#039;s a performance (/implementation) issue which I as a dev should not be aware of, until it turns out to be a problem.The fact that some &#039;Prime Directives&#039; (read up on your PARC history) are violated when it comes down to encapsulation worries me far more.“There’s good software, and there’s bad software. If you find yourself working on a lot of the latter, maybe it’s time to ask whose fault that really is.”It&#039;s probably partly your fault, if you consider this kind of development good practice.
It just falls to pieces &#039;in the wild&#039; and then there&#039;s other people that have to clean up the mess.</description> <content:encoded><![CDATA[<p>@Ben :<br
/> &#8216;the height of arrogance&#8217; : Well, that would be me&#8230;<br
/> But atleast I&#8217;m polite&#8230;<br
/> The fact that something happens client side, server side, or even in a parallel universe does not interest me. It&#8217;s a performance (/implementation) issue which I as a dev should not be aware of, until it turns out to be a problem.</p><p>The fact that some &#8216;Prime Directives&#8217; (read up on your PARC history) are violated when it comes down to encapsulation worries me far more.</p><p>“There’s good software, and there’s bad software. If you find yourself working on a lot of the latter, maybe it’s time to ask whose fault that really is.”</p><p>It&#8217;s probably partly your fault, if you consider this kind of development good practice.<br
/> It just falls to pieces &#8216;in the wild&#8217; and then there&#8217;s other people that have to clean up the mess.</p> ]]></content:encoded> </item> <item><title>By: Davy Brion</title><link>http://davybrion.com/blog/2010/01/hey-microsoft-our-databases-arent-services/comment-page-1/#comment-26805</link> <dc:creator>Davy Brion</dc:creator> <pubDate>Sun, 31 Jan 2010 21:17:33 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/2010/01/hey-microsoft-our-databases-arent-services/#comment-26805</guid> <description>@BenIndeed i haven&#039;t, because i haven&#039;t verified your statement yet. I really don&#039;t have a problem with me being wrong about that, but the other problems that i believe are inherent with using RIA Services are still there... if you really wanna make this discussion interesting, perhaps you want to talk about those?  Or is a service layer all about querying for you?As for my previous statement being a cop-out, that&#039;s the kind of response you get with the attitude that you display. You talk about arrogance in my point of view, but your second comment was just filled with it.  You can&#039;t really expect anyone to talk to you seriously if that is how you present yourself...</description> <content:encoded><![CDATA[<p>@Ben</p><p>Indeed i haven&#8217;t, because i haven&#8217;t verified your statement yet. I really don&#8217;t have a problem with me being wrong about that, but the other problems that i believe are inherent with using RIA Services are still there&#8230; if you really wanna make this discussion interesting, perhaps you want to talk about those?  Or is a service layer all about querying for you?</p><p>As for my previous statement being a cop-out, that&#8217;s the kind of response you get with the attitude that you display. You talk about arrogance in my point of view, but your second comment was just filled with it.  You can&#8217;t really expect anyone to talk to you seriously if that is how you present yourself&#8230;</p> ]]></content:encoded> </item> <item><title>By: Ben</title><link>http://davybrion.com/blog/2010/01/hey-microsoft-our-databases-arent-services/comment-page-1/#comment-26802</link> <dc:creator>Ben</dc:creator> <pubDate>Sun, 31 Jan 2010 21:07:07 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/2010/01/hey-microsoft-our-databases-arent-services/#comment-26802</guid> <description>You&#039;re fooling yourself if you think readers of this blog won&#039;t see your response for the cop-out it is.I notice you haven&#039;t corrected the misrepresentations in your post.</description> <content:encoded><![CDATA[<p>You&#8217;re fooling yourself if you think readers of this blog won&#8217;t see your response for the cop-out it is.</p><p>I notice you haven&#8217;t corrected the misrepresentations in your post.</p> ]]></content:encoded> </item> <item><title>By: Davy Brion</title><link>http://davybrion.com/blog/2010/01/hey-microsoft-our-databases-arent-services/comment-page-1/#comment-26795</link> <dc:creator>Davy Brion</dc:creator> <pubDate>Sun, 31 Jan 2010 18:44:15 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/2010/01/hey-microsoft-our-databases-arent-services/#comment-26795</guid> <description>@Ben&quot;There’s good software, and there’s bad software. If you find yourself working on a lot of the latter, maybe it’s time to ask whose fault that really is.&quot;i&#039;m pretty lucky in that i hardly ever have to deal with bad software so by following your logic, i could conclude that i must be doing something right in my decisions and choicesand you are indeed right: there is good and bad software, but that doesn&#039;t mean we shouldn&#039;t try to do better. We&#039;d all end up as frustrated as you appear to be.</description> <content:encoded><![CDATA[<p>@Ben</p><p>&#8220;There’s good software, and there’s bad software. If you find yourself working on a lot of the latter, maybe it’s time to ask whose fault that really is.&#8221;</p><p>i&#8217;m pretty lucky in that i hardly ever have to deal with bad software so by following your logic, i could conclude that i must be doing something right in my decisions and choices</p><p>and you are indeed right: there is good and bad software, but that doesn&#8217;t mean we shouldn&#8217;t try to do better. We&#8217;d all end up as frustrated as you appear to be.</p> ]]></content:encoded> </item> <item><title>By: Ben</title><link>http://davybrion.com/blog/2010/01/hey-microsoft-our-databases-arent-services/comment-page-1/#comment-26791</link> <dc:creator>Ben</dc:creator> <pubDate>Sun, 31 Jan 2010 18:02:49 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/2010/01/hey-microsoft-our-databases-arent-services/#comment-26791</guid> <description>And to fizz: your senior developer would &lt;i&gt;not&lt;/i&gt; have been making one roundtrip per change unless he was calling &lt;code&gt;ObjectContext.SubmitChanges&lt;/code&gt; after every addition -- and given that&#039;s an asynchronous method, I seriously doubt that was the case.If I can&#039;t be sure that you made the whole scenario up, I&#039;m at least certain that you&#039;re blind to the simple fact that changes are batched in the context until that method is called.Study up, junior.</description> <content:encoded><![CDATA[<p>And to fizz: your senior developer would <i>not</i> have been making one roundtrip per change unless he was calling <code>ObjectContext.SubmitChanges</code> after every addition &#8212; and given that&#8217;s an asynchronous method, I seriously doubt that was the case.</p><p>If I can&#8217;t be sure that you made the whole scenario up, I&#8217;m at least certain that you&#8217;re blind to the simple fact that changes are batched in the context until that method is called.</p><p>Study up, junior.</p> ]]></content:encoded> </item> <item><title>By: Ben</title><link>http://davybrion.com/blog/2010/01/hey-microsoft-our-databases-arent-services/comment-page-1/#comment-26789</link> <dc:creator>Ben</dc:creator> <pubDate>Sun, 31 Jan 2010 17:43:23 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/2010/01/hey-microsoft-our-databases-arent-services/#comment-26789</guid> <description>You&#039;ve entirely missed the point of at least one major feature of RIA Services -- using LINQ against IQueryable on the client side is &lt;i&gt;not&lt;/i&gt; the same as classic (i.e. bad) client-side filtering. Instead, the client-composed query expression is sent back to the server, and only the filtered results are returned. For example, if I write (on the client):&lt;code&gt;var albums = domainContext.GetAlbum().Select(a =&gt; a.Name == &quot;Back in Black&quot; &amp;&amp; a.ReleaseYear == 1980);
var loadOperation = domainContext.Load(albums);&lt;/code&gt;The albums returned (asynchronously) in the operation are &lt;i&gt;only&lt;/i&gt; those that match the criteria specified in LINQ. So, RTFM.While I&#039;m at it, griping about how a technology might allow lesser developers to shoot themselves in the foot is the height of arrogance. What exactly is your concern--that a bunch of newbs are going to write a huge system using poor methodology and with no oversight, and that somehow, somewhere, a long-suffering senior developer--or worse, &lt;i&gt;society&lt;/i&gt;--will be forced to deal with the consequences? Please. There&#039;s good software, and there&#039;s bad software. If you find yourself working on a lot of the latter, maybe it&#039;s time to ask whose fault that really is.</description> <content:encoded><![CDATA[<p>You&#8217;ve entirely missed the point of at least one major feature of RIA Services &#8212; using LINQ against IQueryable on the client side is <i>not</i> the same as classic (i.e. bad) client-side filtering. Instead, the client-composed query expression is sent back to the server, and only the filtered results are returned. For example, if I write (on the client):</p><p><code>var albums = domainContext.GetAlbum().Select(a =&gt; a.Name == "Back in Black" &amp;&amp; a.ReleaseYear == 1980);<br
/> var loadOperation = domainContext.Load(albums);</code></p><p>The albums returned (asynchronously) in the operation are <i>only</i> those that match the criteria specified in LINQ. So, RTFM.</p><p>While I&#8217;m at it, griping about how a technology might allow lesser developers to shoot themselves in the foot is the height of arrogance. What exactly is your concern&#8211;that a bunch of newbs are going to write a huge system using poor methodology and with no oversight, and that somehow, somewhere, a long-suffering senior developer&#8211;or worse, <i>society</i>&#8211;will be forced to deal with the consequences? Please. There&#8217;s good software, and there&#8217;s bad software. If you find yourself working on a lot of the latter, maybe it&#8217;s time to ask whose fault that really is.</p> ]]></content:encoded> </item> <item><title>By: Jack</title><link>http://davybrion.com/blog/2010/01/hey-microsoft-our-databases-arent-services/comment-page-1/#comment-26352</link> <dc:creator>Jack</dc:creator> <pubDate>Wed, 27 Jan 2010 09:25:50 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/2010/01/hey-microsoft-our-databases-arent-services/#comment-26352</guid> <description>database is a better place to place some configuration of services, and it is easy to access and maintain. Of course, you must install them before.</description> <content:encoded><![CDATA[<p>database is a better place to place some configuration of services, and it is easy to access and maintain. Of course, you must install them before.</p> ]]></content:encoded> </item> <item><title>By: Bruce</title><link>http://davybrion.com/blog/2010/01/hey-microsoft-our-databases-arent-services/comment-page-1/#comment-25569</link> <dc:creator>Bruce</dc:creator> <pubDate>Thu, 21 Jan 2010 01:41:41 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/2010/01/hey-microsoft-our-databases-arent-services/#comment-25569</guid> <description>A lot of developers may use WCF RIA Services unwisely. On the other hand I think that a lot of developers will use WCF RIA Services wisely.The good thing about WCF RIA Services is that it provides a place (your domain services classes) for you to add business logic that is separate from your presentation layer, and it provides a great deal of flexibility for you to structure your business interface and logic however you want.Therefore I see no reason why you can&#039;t define a sound architecture using WCF RIA Services, and implement it productively.</description> <content:encoded><![CDATA[<p>A lot of developers may use WCF RIA Services unwisely. On the other hand I think that a lot of developers will use WCF RIA Services wisely.</p><p>The good thing about WCF RIA Services is that it provides a place (your domain services classes) for you to add business logic that is separate from your presentation layer, and it provides a great deal of flexibility for you to structure your business interface and logic however you want.</p><p>Therefore I see no reason why you can&#8217;t define a sound architecture using WCF RIA Services, and implement it productively.</p> ]]></content:encoded> </item> <item><title>By: Eric Hauser</title><link>http://davybrion.com/blog/2010/01/hey-microsoft-our-databases-arent-services/comment-page-1/#comment-25530</link> <dc:creator>Eric Hauser</dc:creator> <pubDate>Wed, 20 Jan 2010 15:26:46 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/2010/01/hey-microsoft-our-databases-arent-services/#comment-25530</guid> <description>Davy,I initially had the same opinion about a WCF Data Services.  However, I eventually realized that what it really does is provide a standard REST interface to any IQueryable.  It just so happens that out of the box most of the examples are using the Entity Framework as the IQueryable implementation.  It is similar to how people think that LINQ is just a tool for ORM.Data Services also has reflection based provider that you could use to expose your domain model (not your database) as services.  I am currently writing a custom provider (using the 1.5 update) that allows us to load metadata on the fly and generate different web services depending on customer customizations.  There are certainly limitations to the model.</description> <content:encoded><![CDATA[<p>Davy,</p><p>I initially had the same opinion about a WCF Data Services.  However, I eventually realized that what it really does is provide a standard REST interface to any IQueryable.  It just so happens that out of the box most of the examples are using the Entity Framework as the IQueryable implementation.  It is similar to how people think that LINQ is just a tool for ORM.</p><p>Data Services also has reflection based provider that you could use to expose your domain model (not your database) as services.  I am currently writing a custom provider (using the 1.5 update) that allows us to load metadata on the fly and generate different web services depending on customer customizations.  There are certainly limitations to the model.</p> ]]></content:encoded> </item> <item><title>By: Nima</title><link>http://davybrion.com/blog/2010/01/hey-microsoft-our-databases-arent-services/comment-page-1/#comment-25421</link> <dc:creator>Nima</dc:creator> <pubDate>Tue, 19 Jan 2010 06:46:58 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/2010/01/hey-microsoft-our-databases-arent-services/#comment-25421</guid> <description>I&#039;ve not worked with RIA but what I can see from your blog is that these services aren&#039;t domain services at all. These are more like Repositories to me and maybe one can use them to have some data access services in place so other real domain services can use them :)</description> <content:encoded><![CDATA[<p>I&#8217;ve not worked with RIA but what I can see from your blog is that these services aren&#8217;t domain services at all. These are more like Repositories to me and maybe one can use them to have some data access services in place so other real domain services can use them <img
src='http://d18sni7re4ly7f.cloudfront.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p> ]]></content:encoded> </item> <item><title>By: Davy Brion</title><link>http://davybrion.com/blog/2010/01/hey-microsoft-our-databases-arent-services/comment-page-1/#comment-25296</link> <dc:creator>Davy Brion</dc:creator> <pubDate>Mon, 18 Jan 2010 18:54:33 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/2010/01/hey-microsoft-our-databases-arent-services/#comment-25296</guid> <description>@Rcif the data service layer would only be used to import the data into your system, then i guess there&#039;s no problem with that.  anything else that consumes that data through another service that you do have control over, i&#039;d hide the actual db schema from them and provide the data in a form that is the most optimal for the specific client(s)</description> <content:encoded><![CDATA[<p>@Rc</p><p>if the data service layer would only be used to import the data into your system, then i guess there&#8217;s no problem with that.  anything else that consumes that data through another service that you do have control over, i&#8217;d hide the actual db schema from them and provide the data in a form that is the most optimal for the specific client(s)</p> ]]></content:encoded> </item> <item><title>By: Rc</title><link>http://davybrion.com/blog/2010/01/hey-microsoft-our-databases-arent-services/comment-page-1/#comment-25294</link> <dc:creator>Rc</dc:creator> <pubDate>Mon, 18 Jan 2010 18:49:06 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/2010/01/hey-microsoft-our-databases-arent-services/#comment-25294</guid> <description>What &lt;strong&gt;would&lt;/strong&gt; be the best way/pattern to go about exposing data from a db.  Should all business objects be modeled out?  Say, for example, an outside vendor exposed it&#039;s database and internally we wanted to consume that data in ETL.  Since internally, we&#039;re not allowed to create a dblink to the outside db, and we only have home grown etl tools, would it be advisable to expose the data metrics that we wanted as a service and use it as a data service layer?I&#039;ve been going back and forth on the best way to do this.  Either model out the business objects then put another interface layer on top of that, or just create classes/types for the metrics we want and call get methods with the sql on those to return the data we want.</description> <content:encoded><![CDATA[<p>What <strong>would</strong> be the best way/pattern to go about exposing data from a db.  Should all business objects be modeled out?  Say, for example, an outside vendor exposed it&#8217;s database and internally we wanted to consume that data in ETL.  Since internally, we&#8217;re not allowed to create a dblink to the outside db, and we only have home grown etl tools, would it be advisable to expose the data metrics that we wanted as a service and use it as a data service layer?</p><p>I&#8217;ve been going back and forth on the best way to do this.  Either model out the business objects then put another interface layer on top of that, or just create classes/types for the metrics we want and call get methods with the sql on those to return the data we want.</p> ]]></content:encoded> </item> <item><title>By: James Hicks</title><link>http://davybrion.com/blog/2010/01/hey-microsoft-our-databases-arent-services/comment-page-1/#comment-25291</link> <dc:creator>James Hicks</dc:creator> <pubDate>Mon, 18 Jan 2010 17:49:26 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/2010/01/hey-microsoft-our-databases-arent-services/#comment-25291</guid> <description>I could see using RIA Services or WCF data services for exposing a persistent view model (think CQRS where the client is a silverlight app).  Many developers follow Microsoft&#039;s guidance without question because that is what they have been taught for years.  Its unfortunate Microsoft does not have an understanding of maintainable architecture.</description> <content:encoded><![CDATA[<p>I could see using RIA Services or WCF data services for exposing a persistent view model (think CQRS where the client is a silverlight app).  Many developers follow Microsoft&#8217;s guidance without question because that is what they have been taught for years.  Its unfortunate Microsoft does not have an understanding of maintainable architecture.</p> ]]></content:encoded> </item> <item><title>By: Davy Brion</title><link>http://davybrion.com/blog/2010/01/hey-microsoft-our-databases-arent-services/comment-page-1/#comment-25270</link> <dc:creator>Davy Brion</dc:creator> <pubDate>Mon, 18 Jan 2010 14:00:20 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/2010/01/hey-microsoft-our-databases-arent-services/#comment-25270</guid> <description>@Waynepersonally, i don&#039;t want any generated code at all... i want something that allows me to deal with cross-cutting concerns in as few places as possible, something that doesn&#039;t advocate sending your business enitities to clients, something that doesn&#039;t encourage you to expose your database (or parts of it) and something that does not automatically lead to a maintenance nightmare once you need more than straightforward CRUD functionality.</description> <content:encoded><![CDATA[<p>@Wayne</p><p>personally, i don&#8217;t want any generated code at all&#8230; i want something that allows me to deal with cross-cutting concerns in as few places as possible, something that doesn&#8217;t advocate sending your business enitities to clients, something that doesn&#8217;t encourage you to expose your database (or parts of it) and something that does not automatically lead to a maintenance nightmare once you need more than straightforward CRUD functionality.</p> ]]></content:encoded> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Database Caching 2/24 queries in 0.007 seconds using disk: basic
Object Caching 648/649 objects using disk: basic
Content Delivery Network via Amazon Web Services: CloudFront: d18sni7re4ly7f.cloudfront.net

Served from: davybrion.com @ 2012-05-23 02:25:28 -->
