locked
Is Microsoft Halting Development on WCF Data Services? RRS feed

  • Question

  • I read on the WCF Data services blog this comment:

    Sorry, we do not plan to release WCF Data Services in V4. But instead we will release WebApi version for service bits. We already have prerelease webapi.odata at www.myget.org/.../aspnetwebstacknightly. You can have a try or you can have your own implementation of service with ODataLib API. Thanks

    This was posted by the same person who created the post, so it seems to be from an MS Employee.

    Has anyone heard this?  I follow this project fairly closely and this is the first I have heard of it. Why would this be announced via a comment in a blog post (unless this was not a sanctioned comment).

    More, I want to vent a bit of frustration that I was forced to "pick a horse" for the OData race and picked wrong.  I have many applications and services that use many different in house WCF Data Services feeds.  Now they will never get the V4+ features without a migration to a different OData Implementation.

    I wish Microsoft would have picked one OData implementation (or at least indicated which one would end up moving on to later versions of the OData protocol).

    Is there more info to be had about this?

    • Edited by Vaccanoll Friday, March 21, 2014 10:20 PM
    Friday, March 21, 2014 10:19 PM

Answers

  • For what it's worth: http://data.uservoice.com/forums/72027-wcf-data-services-feature-suggestions/suggestions/5705738-don-t-abandon-wcf-data-services
    • Marked as answer by Vaccanoll Monday, March 31, 2014 8:14 PM
    Monday, March 31, 2014 7:11 PM

All replies

  • I would also like direction on this.  

    From my perspective, WCF Data Services and Web API's OData libraries are not different horses in the same race, but different beasts entirely.  

    Web API's OData libraries are fantastic for providing quick, basic OData coverage, or for scenarios where tight control and flexibility are required of the API.  

    Conversely, WCF Data Services is critical when comprehensive coverage of an existing model is needed, something that is a considerable undertaking in Web API (particularly when it comes to exposing deep routing for relationships and joins).  

    I use and love Web API'd OData libraries for certain scenarios, but there remains a large vacuum left behind by WCF Data Services.  

    Saturday, March 22, 2014 8:05 PM
  • I second everything that was said here. ASP.NET Web API is far from being a drop-in replacement for WCF Data Services, and unless it completely morphs into something else it's actually largely inappropriate for a number of scenarios as it stands today.

    On ASP.NET Web API

    AFAIK, one needs to explicitly define Web API controllers for each entity in a model, even if no special (domain) logic is necessary -- which quickly becomes ridiculous for large models. Yes, the EntitySetController class helps, but it still doesn't plug into the backend provider itself, so one has to write a ton of redundant and uninteresting plumbing code just to get to basic functionality. There's a *lot* of work to do in Web API for it to become a proper OData implementation.

    I'm not even sure the controller abstraction even makes sense for OData (the interceptor abstraction always seemed more sensible to me when it comes to data-centric services). I'm really skeptical about how it would evolve in the long run.

    Speculation

    WCF-DS packages were recently renamed with a new suffix "for OData v1-3" since 5.6.1. Initially I thought it was suggesting a big break from the V3 packages to a hypothetical new set of packages for OData 4 (the spec has a lot of new shiny things). Now I guess it's further confirmation that they want to avoid future confusion where the client will be updated for further OData versions but not the server.

    I hate to speculate, especially about these kinds of things, but overall it doesn't look too good. EF6 "support" was slapped on like an afterthought, with at least one instance of a bug[1] that makes it completely useless for half of its users, and suggests the code was barely tested, if at all. It's been in pre-release for months, and not a word on it since its first introduction. The package in question[2] has a strict dependency on 5.6.0, so one can't even use 5.6.1 with EF6, which further suggests that EF6 isn't being tested nor worked on (5.6.1 was released a month ago -- that's a long time for a version bump).

    [1] http://data.uservoice.com/forums/72027-wcf-data-services-feature-suggestions/suggestions/4734171-retrieve-dbcontext-in-entityframeworkdataservice
    [2] https://www.nuget.org/packages/Microsoft.OData.EntityFrameworkProvider/1.0.0-alpha2

    Transition

    While I realize and accept that technologies live and die, there are good ways and bad ways to die. If a transition to ASP.NET Web API is to be expected, then ASP.NET Web API should be ready, along with transition guidance and general documentation. A time frame should be established (when do security updates stop flowing?). Right now it feels that the end is already here -- or rather that it ended a couple months ago, and that nobody cared. Users could've spent that time looking for alternatives and planning transitions, and new users could've avoided investing it in a dead end. For small shops with extremely limited resources, betting on the wrong horse can have pretty serious consequences, and it really hurts the trust relationships with MSFT teams.

    Pretending that everything is OK is not the way to go. I don't think anybody is expecting full transparency, but an official word to at least warn users sounds like a nice thing to do.

    EF6, resources

    If the statements are false, everything is really fine and OData 4 support really is on track, then there's something to be said about the quality of the EF6 provider package and the promises around it.

    Last October, an article in the VS Magazine[3] reported:

    The team admitted that it didn't have time to do full testing on the new provider because the developers were "heads down" preparing for OData v4 support. "So ... we're going to rely on you, our dear customer, to provide feedback of whether or not this provider works in your situation. If we don't hear anything back, we'll go ahead and release the provider in a week or so." Which should be right around now.

    We already know that the release didn't happen and that feedback (especially regarding the DbContext bug) wasn't even acknowledged. So, did the team really plan to provide OData 4 support on WCF-DS, or was the decision to go with ASP.NET already made? (At least the team was honest about the lack of testing.)

    EF6 support is increasingly important, as many other components are beginning to depend on it directly (e.g. ASP.NET Identity).

    I really hope this is all just a matter of resources (or lack thereof), but as is certainly clear, I'm not feeling the trust right now.

    [3] http://visualstudiomagazine.com/blogs/data-driver/2013/10/wcf-data-services-supports-entity-framework-6.aspx

    Best worse-case scenario

    If it comes to that; to whomever it concerns: please consider relicensing the code and releasing it. If anybody wonders why the ASP.NET stack is "cooler", releases more often, and supports more modern environments (OWIN), then that's the reason, right there.

    Even if the code doesn't go anywhere, at least it has a decent chance to be properly maintained until everyone eventually transitions to something else appropriate, though frankly I can picture Data Services evolve nicely with enough support, especially if IDataServiceHost is implemented using OWIN interfaces, as this community has a lot of traction right now. This would automatically bring in a lot of features to Data Services for free, like proper authentication, authorization, CORS, new hosting environments and server models, compression and more (which in turn could very well revive interest around it).

    Thanks for reading, and please excuse the perhaps too alarming tone -- I'm part of one of these small shops, and this is not the kind of news/rumors we like to hear in the morning. No offense intended to the OData team, there's a lot going on right now, but I think I'm being fair enough. We kindly ask for a statement as well, so that we can take appropriate action as soon as possible.

    • Proposed as answer by Fred BaoModerator Monday, March 31, 2014 5:58 AM
    • Marked as answer by Vaccanoll Monday, March 31, 2014 4:40 PM
    • Unmarked as answer by Vaccanoll Monday, March 31, 2014 8:14 PM
    Tuesday, March 25, 2014 1:08 PM
  • Tnelis' thoughtful response so closely parallels my own that I believe it would be expedient for that special someone responsible for these strategies to reconsider their decision more thoroughly. Web API is an OData strategy but is not a replacement, period.
    • Edited by AdamCaviness Wednesday, March 26, 2014 3:33 AM Comment was not nested
    • Proposed as answer by Fred BaoModerator Monday, March 31, 2014 5:59 AM
    Wednesday, March 26, 2014 3:31 AM
  • It is official: Future Direction of WCF Data Services

    That link basically says that WCF Data Services is going to be made open source and then abandoned.  It looks like Web API won the OData competition. 

    I am grateful that at least they will open source it.

    • Proposed as answer by Fred BaoModerator Monday, March 31, 2014 5:58 AM
    • Marked as answer by Vaccanoll Monday, March 31, 2014 4:41 PM
    • Unmarked as answer by Vaccanoll Monday, March 31, 2014 8:15 PM
    Thursday, March 27, 2014 5:30 PM
  • For what it's worth: http://data.uservoice.com/forums/72027-wcf-data-services-feature-suggestions/suggestions/5705738-don-t-abandon-wcf-data-services
    • Marked as answer by Vaccanoll Monday, March 31, 2014 8:14 PM
    Monday, March 31, 2014 7:11 PM