Government // Enterprise Architecture
Commentary
8/16/2008
00:00 AM
Commentary
Commentary
Commentary
Connect Directly
RSS
E-Mail
50%
50%
Repost This

Why the Database as a Service is a Bad Idea

Microsoft recently released SP1 for .NET. While the SP brings some nice stuff it seems, it also has some bugs and a few less than inspiring components

Microsoft recently released SP1 for .NET. While the SP brings some nice stuff it seems, it also has some bugs and a few less than inspiring components . Another example for a less-than-stellar idea is the "ADO.NET data services" component.

 

Before I go on to explain why I think that, I should probably mention that this isn't just a Microsoft thing, as IBM also mentions similar ideas as part of its (broader and sometimes even worse) view of "Information as a Service"

So why is exposing the database through a web service (RESTful or otherwise) wrong? Let me count the ways:

  1. It circumvents the whole idea about "Services". There's no business logic.
  2. It makes for CRUD resources/services.
  3. It is exposing internal database structure or data rather than a thoughtout contract.
  4. It encourages bypassing real services and going straight to their data.
  5. It creates a blob service (the data source).
  6. It encourages minuscule demi-serices (the multiple "interfaces" of said blob) that disregard few of the fallacies of distributed computing .
  7. It is just client-server in sheep's clothing.
When it comes for ADO.NET data services you can add a few other problems like
  1. it isn't really RESTful. You can also "enhance" the services with operations like example 18 in "Using ADO.NET data services" : http://host/vdir/northwind.svc/CustomersByCity?city=London   (though it does support caching and hypermedia ). Not being only RESTful is not a bad thing in itself. It is the inconsistency of the API when the reson de etre of the service is exposing data
  2. Also (on not being RESTful) it doesn't really externalize a state machine --  it externalizes a relational model
  3. It is built on Entity Services.

Comment  | 
Print  | 
More Insights
Register for InformationWeek Newsletters
White Papers
Current Issue
InformationWeek Elite 100 - 2014
Our InformationWeek Elite 100 issue -- our 26th ranking of technology innovators -- shines a spotlight on businesses that are succeeding because of their digital strategies. We take a close at look at the top five companies in this year's ranking and the eight winners of our Business Innovation awards, and offer 20 great ideas that you can use in your company. We also provide a ranked list of our Elite 100 innovators.
Video
Slideshows
Twitter Feed
Audio Interviews
Archived Audio Interviews
GE is a leader in combining connected devices and advanced analytics in pursuit of practical goals like less downtime, lower operating costs, and higher throughput. At GIO Power & Water, CIO Jim Fowler is part of the team exploring how to apply these techniques to some of the world's essential infrastructure, from power plants to water treatment systems. Join us, and bring your questions, as we talk about what's ahead.