InfoQ

News

Microsoft OracleClient Deprecated

Posted by Al Tenhundfeld on Jun 22, 2009

Community
.NET
Topics
.NET Framework ,
Data Access
Tags
ADO.NET ,
Oracle ,
.NET Framework 4.0

Microsoft announced System.Data.OracleClient will be deprecated after .NET 4.0. Classes in the namespace will be marked obsolete in .NET 4.0 and removed from future releases. OracleClient is the ADO.NET provider for Oracle developed by Microsoft and shipped as part of the .NET Framework Class Library.

This decision has sparked controversy among the community of .NET developers working with Oracle. While many enterprise .NET applications use a 3rd party Oracle provider, System.Data.OracleClient is often used in small applications and typically has better integration with other Microsoft tools.

Microsoft insists this decision was made after much deliberation and research:

After carefully considering all the options and talking to our customers, partners, and MVPs it was decided to deprecate OracleClient as a part of our ADO.NET roadmap.

Part of the reasoning for this decision is the increasingly availability and improvements of 3rd party ADO.NET data providers for Oracle. There have been significant performance improvements and enhanced multi-version compatibility among the popular Oracle providers:

Despite the community backlash, Microsoft has shown no signs of reversing the decision, and none should be expected. Microsoft's official line is that "many of the third party providers are able to consistently provide the same level of quality and support that customers have come to expect from Microsoft." Therefore, it's not worth the investment to bring OracleClient up to parity with the third party providers, and this frees MS resources to focus on ADO.NET.

Some are calling this move an underhanded strike to raise the bar for .NET development against Oracle, but many are viewing this decision with a guarded optimism that Microsoft might be rethinking its not-invented-here bias. For example, it is a common complaint among the ALT.NET crowd that Microsoft reinvents the wheel for no reason, creating their own versions of products when good alternatives already exist. See MSTest vs. NUnit or Entity Framework vs. NHibernate. In the context of recent decisions to officially support jQuery and provide the source code for ASP.NET MVC, this decision could be interpreted as Microsoft further admitting that it doesn't need to control the entire stack; they can rely on their partners and the community to provide some pieces.

Also, the Connected Show Podcast has an episode discussing this move and examining why it's not a disaster.

 

Good decision by Hong Hong Posted Jun 23, 2009 11:54 AM
wishful thinking by Stefan Wenig Posted Jun 24, 2009 10:41 AM
Re: wishful thinking by Al Tenhundfeld Posted Jun 24, 2009 1:22 PM
Re: wishful thinking by Stefan Wenig Posted Jun 25, 2009 3:00 AM
  1. Back to top

    Good decision

    Jun 23, 2009 11:54 AM by Hong Hong

    I support that.

  2. Back to top

    wishful thinking

    Jun 24, 2009 10:41 AM by Stefan Wenig

    It's a long way from Microsoft realizing that Oracle is not part of their stack to acknowledging that they don't need to control the entire stack at all. ;-)

  3. Back to top

    Re: wishful thinking

    Jun 24, 2009 1:22 PM by Al Tenhundfeld

    I agree it's optimistic, probably overly optimistic, but there have been some encouraging signs that Microsoft, especially Scott Guthrie's group, are listening to their developer community's pleas for more openness.

    I'm not trying to say MS is doing anything just to be nice. I think they're intelligently responding to the fact that there are many options for programmers nowadays, and if they maintain their closed, iron-fisted approach, they will lose some of their most vocal developer evangelists to languages/environments like Ruby, Scala, etc.

    Is deprecating OracleClient part of this shift towards openness? Maybe that's a stretch; I think the ADO.NET team just decided their resources would be better spent elsewhere. But I don't think deprecating OracleClient is part of some evil conspiracy to marginalize Oracle; this move will probably be beneficial for .NET Oracle development in the long run.

    And I wouldn't be shocked if, in the next few years, Microsoft released the source code for OracleClient under the MS-PL.

  4. Back to top

    Re: wishful thinking

    Jun 25, 2009 3:00 AM by Stefan Wenig

    I believe you're right about the encouraging signs and ScottGu and friends. Just saying that OracleClient is probably not one of those signs. That was just a move to establish .NET in Oracle environments. No need for that any more, Oracle provides their own provider, and they're probably pouring more resources into it anyway.

Educational Content

Brian Marick on 4 Challenges and 5 Guiding Values of Agile Software Development

Brian Marick takes us through a quick tour of the most important values and challenges to adopting Agile successfully (they aren't the typical challenges and values we hear in the community).

Are You a Software Architect?

The line between development and architecture is tricky. Does it exist at all? Is an ivory tower actually needed? There's a balance in the middle, but how do you move from developer to architect?

Agile – A Way of Life and Pragmatic Use of Authority

The word 'authority' sometimes produces an allergic response in hard-line agilists. Freedom and authority – both are bad if misused and both are good if used in right spirit for a noble cause.

Getting Started with Grails, Second Edition

"Getting Started with Grails" brings you up to speed on this modern web framework. Companies as varied as LinkedIn, Wired, and Taco Bell are all using Grails. Are you ready to get started as well?

Using ITIL V3 as a Foundation for SOA Governance

Those familiar with only ITIL V2 often scoff at the thought that ITIL could serve as a governance framework for SOA. With ITIL V3, the focus of the framework shifted towards service-orientation.

Adrian Colyer on AspectJ, tc Server and dm Server

SpringSource CTO Adrian Colyer discusses AspectJ, SpringSource's dm Server and tc Server products, OSGi and Scrum.

Adam Wiggins on Heroku

Heroku's Adam Wiggins talks about Rails, Background Jobs, Add-Ons, Ruby, and how Heroku manages to work around Ruby's inefficiencies using Erlang and other languages.

SOA as an Architectural Pattern: Best Practices in Software Architecture

For Grady Booch the foundation of a good architecture is patterns, SOA being just one of many patterns. In this Second Life presentation, Booch attempts to bring more clarity on what architecture is.