|
I was thinking about learning WF. Now I'm not sure. Would you care to post
links to the articles that changed your mind about using it?
I will use it after 4.1 has been released
...and the same thing happened with SQL Server DTS 2000 / 2005 and the
MapPoint object model and ADO (how many times do we have to re-learn things
we used to know how to do)? I'm a strong believer in the MS developer
platform and the tools really do get better over time but using us as
beta/field testers ain't right. It costs us and our companies real time and
money. Now I have Biztalk, WCF, WF, and LINQ on the 'wait and see' list -
more will be added I'm sure. If MS still believes that developers are the
foundation of its business, it needs to reconsider this strategy. Gates
himself talks about all the great companies of yester-year that couldn't
see when they started doing things wrong (DEC, Wang, Novell - General
Motors?). If MS wants to be arrogant with their competitors (like Oracle or
Google) that's fine but its a mistake to alienate the developer community.
Sooner or later a 'Toyota' will come along. (Just imagine MS looking for a
billion-dollar government bailout. Stranger things have happened)!
Tad,
I will have to defer... I am not looking at it seriously for sometime to
come.
"I wrote this blog on the topic sometime ago. It appears we cannot blindly
trust that releases from Microsoft will be around for more than 2-3 years
without becoming obsolete or needing to be completely re-written."
Wow, what an extreme article… Just because WF is being rewritten does not
mean that WF 3.X is obsolete, especially if you look at exposing WF as
services. Services that are autonomous should be able to communicate with
other services, without concern of which version of WF is running
underneath the hood. I am also in the same boat as others who have
invested years in building appropriate solutions using WF 3.X, but I do not
see this as that big of a deal, more of a shock factor. Please ping me if I
can help!
Linq to SQL and WF 3.X are two of the latest technologies from MS I have
forbidden my team to bring to the architectural table. EF 1.0 is another
one. Given their current track record I am hesitant to look at anything
new from them.
Do you recommend any off-the-shelf workflow engines to fill the gap until
WF4.0 comes out (to be replaced shortly thereafter by the all-new WF5.0, no
doubt)?
@ David Keaveny
Currently we are advising all our projects to use BizTalk. That is
convenient for us because we have a license, but would probably be
impractical for most of our projects if we didn't already have it.
As one of the articles referenced in your post I can to a degree agree with
what you are saying - if you have made a major investment in 3.5 then this
sucks. However when WF was written it was written against a bunch of
internal requirements from people like the SharePoint and CMS teams. They
never envisioned the kind of uses that some people would try to put the
library to. To meet this new set of requirements meant a rewrite which
hurts people but its better now than when there is wider adoption. The 3.5
runtime will continue to be shipped to support 3.5 workflows and 3.5
activities can be used in 4.0 workflows via the Interop activity. Microsoft
generally have a very good track record in backwards compatibility compared
with most vendors - For example in my experience Oracle tend to break
backwards compatbility with every minor release. Unlike most vendors people
build software against every aspect of Microsoft's technologies - trying to
get an API right first time every time is impossible. In the Java world you
see the carnage of dead open source projects that were at one time or
another "the latest thing" - what if you had invested your architecture in
one of those? The rewrite is not pretty but people got value out of 3.0/3.5
and they are not left out in the cold with 4.0. And of course BizTalk is
only an alternative for certain types of applications - its not going to
help you drive the wizard functionality in your WPF application whereas WF
can.