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 their (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 thought-out 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

Source: DZONE