I participated in the web seminar presented by Dr. Dobb's Journal and others yesterday discussing .NET 3.0 entitled, ".NET 3.0: It's Just Down the Road". From this came three key points that I'll toss up for discussion:
1. .NET 3.0 isn't really an upgraded version of the .NET framework and, in my opinion, needs to be renamed back to it's original name: WinFX. This name is misleading to the developer community who are going to think that this replaces .NET 2.0 as we have all become accustomed to with traditional software versioning practices. Instead, .NET 3.0 ADDS to .NET 2.0 and actually relies upon .NET 2.0 - can't run it without .NET 2.0. This is a marketing ploy by MS that I strongly disagree with.
2. WCF, WPF and WCS portions of .NET 3.0 should be made part of the base framework (and may eventually be) as they are the new API's for dealing with the new Windows platforms starting with Windows Vista. WCF replaces COM, etc.; WPF provides support for the new graphics engine; and, WCS is the new security model. These are natural extensions to the existing framework and fit within the intent of the framework. My guess is that they will be there eventually but MS needed to get this out to us (developers) now to coincide with the release of Vista and couldn't wait for the REAL .NET 3.0 to be ready.
On the other hand, the WF portion of .NET 3.0 doesn't belong there. I believe WF is an SDK and should be relegated as such. Or even an Enterprise Library component. this is MS trying to dictate HOW to build an application rather than providing the building blocks for us to use as we see fit. It is inconsistent with the rest of the framework and should not be directly coupled with it.
3. Finally, a comment by presenter Juval Lowy who stated emphatically and repeatedly that under NO circumstances should we make use of remoting in our applications. (This is what lead me to posting this.) Obviously this hits home with CSLA and the entire data portal concept is based on remoting. So, aside from the expected banter about the agreement or disagreement with my assertions in the first two points, I would like to throw this one into the foray for discussion. If not remoting, then what are we supposed to use? WCF? What about prior to WCF? And, Rocky, do you have plans to upgrade CSLA to make use of these new "tools"?
Thanks in advance for your comments.
SonOfPirate:1. .NET 3.0 isn't really an upgraded version of the .NET framework and, in my opinion, needs to be renamed back to it's original name: WinFX. This name is misleading to the developer community who are going to think that this replaces .NET 2.0 as we have all become accustomed to with traditional software versioning practices. Instead, .NET 3.0 ADDS to .NET 2.0 and actually relies upon .NET 2.0 - can't run it without .NET 2.0. This is a marketing ploy by MS that I strongly disagree with.
SonOfPirate:2. WCF, WPF and WCS portions of .NET 3.0 should be made part of the base framework (and may eventually be) as they are the new API's for dealing with the new Windows platforms starting with Windows Vista. WCF replaces COM, etc.; WPF provides support for the new graphics engine; and, WCS is the new security model. These are natural extensions to the existing framework and fit within the intent of the framework. My guess is that they will be there eventually but MS needed to get this out to us (developers) now to coincide with the release of Vista and couldn't wait for the REAL .NET 3.0 to be ready.
They're extensions to the framework, and I'd guess would be in the GAC and ngened etc. just like the framework. One purpose of the GAC is to allow the framework to be extended.. PF and CF may very well be included in the 'base' .Net 4.0, but calling them .Net 3.0 now makes sense too. Instead of saying your app requires .Net 2 framework, you say it needs .Net 3.0 framework.. which is simpler to understand than .Net 2 + WinFX extensions.
SonOfPirate:On the other hand, the WF portion of .NET 3.0 doesn't belong there. I believe WF is an SDK and should be relegated as such. Or even an Enterprise Library component. this is MS trying to dictate HOW to build an application rather than providing the building blocks for us to use as we see fit. It is inconsistent with the rest of the framework and should not be directly coupled with it.
You could argue the WebServices is an SDK as well. At any rate, WF is I believe going to be a core part of the platform, just like CF and PF are. I don't think MS is dictating anything; you don't have to use portions of the framework which you choose not to.
Well the presenter can say whatever he wants; no one has to listen. FWIW though, the DP ISN'T based on remoting; remoting is just ONE channel that is utilized (and the most common at this point). But that doesn't mean there aren't other channels, like WebServices. Indeed, Rocky has a beta version of a DP channel which uses CF, although he hasn't released it because CF hasn't been RTMed yet. Obviously if you're targeting .Net 1.1 or .Net 2.0 as the lowest framework your application will run on, you can't leave remoting for CF, as CF isn't even there! The DP channel you decide to use when targeting .Net 3.0 may very well be CF, but if you're not targeting .Net 3.0 its not even a choice.SonOfPirate:3. Finally, a comment by presenter Juval Lowy who stated emphatically and repeatedly that under NO circumstances should we make use of remoting in our applications. (This is what lead me to posting this.) Obviously this hits home with CSLA and the entire data portal concept is based on remoting. So, aside from the expected banter about the agreement or disagreement with my assertions in the first two points, I would like to throw this one into the foray for discussion. If not remoting, then what are we supposed to use? WCF? What about prior to WCF? And, Rocky, do you have plans to upgrade CSLA to make use of these new "tools"?
I recently went to the Microsoft MSDN Roadshow in Reading (Microsoft's UK HQ) where they covered a whole load of new technologies (WCF, WPF, WWF, Atlas, Office 2007).
From what I saw of the .NET 3.0 stuff, it all looks very slick and is built directly on top of the .NET 2.0 framework. So the fact that they've re-branded it as .NET 3.0 instead of WinFX I think is a good move. My personal opinion.
And yes, these technologies now have great-sounding marketing names (Windows Presentation Foundation - wow ) and a great-sounding marketing umbrella name (.NET 3.0 - wow ).
But I think that gives a much clearer picture than the "WinFX" name did.
And don't forget that these "brand names" are not just aimed at the developer community, they're aimed at IT infrastructure support people as well. So for support teams it is an easy concept to pick up as a simple progression of version numbers (.NET 1.0 => .NET 1.1 => .NET 2.0 => .NET 3.0).
I don't think the developer community will get confused with the name change either, since we're already used to working with the 3 existing different flavours of the .NET framework.
And at the end of the day, the framework is only there as a starting point. If you don't want to use Windows Workflow Foundation (WWF) then don't use it. It's the same as the System.CodeDom namespace in the current .NET framework - it's there if you want, but you don't have to use it.
Personally, I'm quite excited by the idea of a workflow engine where you can "draw" the workflow relationship between "workflow entity" classes that you've built yourself. It certainly offers up the potential to model Business Processes more flexibily than we can currently.
SonOfPirate:3. Finally, a comment by presenter Juval Lowy who stated emphatically and repeatedly that under NO circumstances should we make use of remoting in our applications. (This is what lead me to posting this.) Obviously this hits home with CSLA and the entire data portal concept is based on remoting. So, aside from the expected banter about the agreement or disagreement with my assertions in the first two points, I would like to throw this one into the foray for discussion. If not remoting, then what are we supposed to use? WCF? What about prior to WCF? And, Rocky, do you have plans to upgrade CSLA to make use of these new "tools"?
One of the worst things about .NET 3.0 is the compatiblity, from what I understand it will support Windows XP SP2 and up. Whereas, the current 2.0 supports 98 SE and up. While this isn't that important to most of us, I do think it is pretty awesome that my clickonce application with integrated sql server reports works just as well on Windows 98 as it does on XP (I actually tested it and nearly crappy my pants when ClickOnce actually worked and deployed the framework, the report viewer and my application on Windows 98, the only real pre-requisite was IE6).
Also, I think you are all missing the best part about .NET 3.0. Now authors can rerelease all of their .NET 2.0 books with .NET 3.0 on the cover and charge another $50 bucks! (cough.. Rocky). See, just chuck a chapter about the WCF channel and call it CSLA.net 3.0 Ultimate Edition 2007 for Windows Vista.
JonM:One of the worst things about .NET 3.0 is the compatiblity, from what I understand it will support Windows XP SP2 and up. Whereas, the current 2.0 supports 98 SE and up. While this isn't that important to most of us, I do think it is pretty awesome that my clickonce application with integrated sql server reports works just as well on Windows 98 as it does on XP (I actually tested it and nearly crappy my pants when ClickOnce actually worked and deployed the framework, the report viewer and my application on Windows 98, the only real pre-requisite was IE6).
It is my plan (we'll see if it works out) to create a version of CSLA .NET that you can use under .NET 2.0 and 3.0 without change. I believe I can pull this off, due to the fact that .NET 3.0 is purely additive - so if you don't use any 3.0 features then neither .NET nor CSLA will try to load .NET 3.0 assemblies. My goal is to offer the smoothest upgrade path possible in this regard.
The primary points to deal with is the DataContract concept from WCF, and a new list changed event mechanism from WPF. I have a good plan for WCF that I'm pretty confident will work - requiring a new config file setting that is only required if you actually use WCF. The WPF list event is a harder nut to crack, and make require some conditional compilation (which is not my favorite way to solve problems).
JonM:Also, I think you are all missing the best part about .NET 3.0. Now authors can rerelease all of their .NET 2.0 books with .NET 3.0 on the cover and charge another $50 bucks! (cough.. Rocky). See, just chuck a chapter about the WCF channel and call it CSLA.net 3.0 Ultimate Edition 2007 for Windows Vista.
RockfordLhotka:then I think it quite likely that I'll do a series of small "ebooks" covering .NET 3.0 - perhaps one for WCF, one for WPF and one for WF - or maybe one for all three - I don't know yet.
On the other hand, it may be the case that I need the marketing engine of a publisher to get decent sales and/or piracy of an ebook will be a too great - in which case I really might end up updating my book for .NET 3.0. That is a very real possibility.
To be clear, my preference is to not update the book just for .NET 3.0. I personally think that is a bit unfair to everyone who bought the current book - to come out with an update just a year later. That said, the only revenue I generate from all my work on the framework flows from book sales, so everything hinges on finding a successful model for either an ebook or a paper book.
about the "e book" side of things.
I have 2 pocket pc's that I have used to read stuff while traveling etc...
the current book as ebook is a pdf file.
it did not go over well to the pocket pc - text formating and line breaks were kinda - ugly -
i would look at using one of the e-reader formats or the msft word to ebook tools or get the publishers to update the pdf converter to add the tags that adbobe looks for in converting to the pdf format used on a ppc acrobat reader.
just my $0.2 on this as a buyer of ebook stuff - and yes even w/o drm i'd buy again if I could read it on my ppc!
i would look at using one of the e-reader formats or the msft word to ebook tools or get the publishers to update the pdf converter to add the tags that adbobe looks for in converting to the pdf format used on a ppc acrobat reader.
>>>>>>>>>>>>>>>>>
I'd vote for the mobi-pocket format so I can read it on my Palm PDA.
Here's my two cents on the e-book vs. release of a new physical 3.0 book...
I can pay $10/$20 for an e-book detailing changes from 2.0 to 2.1, essentially having a 2.0 book that is "pretty close" to what the live framework is but with a supplementary read of the e-book necessary to really have the full picture.
Or, I can pay $50 for a book that has the entirety of the content of the CSLA framework up to date (at that point :)) in one instructional flow. A relatively fast read for someone like me who has read the CSLA 1.x book and skimmed the 2.x book but more importantly a comprehensive read for other programmers at my location who may be coming to CSLA anew. When I need to reference back myself, I don't have two sources (the book and e-book) to reconcile, I only have one.
I'm sure a lot of people here would prefer the e-book, but I'd have to say I'd gladly shelve out $50 for another book for the "single-source" reference that an updated book would provide.
My two cents!
For the version 2.1 ebook, are you planning to release just a chapter or integrate it into the 2.0 book? I know that I would really like (and would immediately purchase) an ebook that integrated all of the 2.1 changes and all of the errata, but I will certainly purchase the ebook regardless to support the work and experience that you have poured into CSLA.
RockfordLhotka:Well here you get into copyright issues.Apress owns publication rights to the existing books, and rightly so. But as a result, I can't just take that exact content as-is and republish it - even with the alterations for version 2.1.So what I am doing is writing completely standalone content covering version 2.1. While this content is of less value without the pre-existing book, it is a seperate work and thus avoids copyright issues.Rocky
For the version 2.1 ebook, are you planning to release just a chapter or integrate it into the 2.0 book? I know that I would really like (and would immediately purchase) an ebook that integrated all of the 2.1 changes and all of the errata, but I will certainly purchase the ebook regardless to support the work and experience that you have poured into CSLA.
Copyright (c) Marimer LLC