BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Windows Workflow 4:旧瓶装新酒

| 作者 Jonathan Allen 关注 594 他的粉丝 ,译者 张龙 关注 14 他的粉丝 发布于 2010年1月26日. 估计阅读时间: 2 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

Windows Workflow 4基本上对原有的程序库进行了重写。虽然目标一样,都是为长时间运行的任务提供一种模型语言,但重写之后的程序库还是有很多与众不同的地方。

首先要说的是向后兼容性:完全没有。我们可以在WF4中通过Interopt活动来调用WF3工作流,但却有很多限制。比如说,我们无法使用WF3的Send和Receive活动,也无法暂停工作流或是调用其他工作流。

WF4对WF3的重写是项浩大的工程,前者完全使用XAML来定义工作流,这么做的结果就是代码的生成更加容易,但也意味着我们无法再使用Code活动了。WF4并不支持State Machine工作流,因此基于State Machine的所有内容都要重新设计了。WF4处理错误的手段也发生了很大的变化,由于这个原因,Suspend和Terminate活动也一去不复返了。还有很多其他的活动也发生了名称或是语义上的变化。Matt Milner从去年7月起所维护的变化列表是最能反映这种变化的。

如果你还是一个Windows Workflow菜鸟,没有使用过老版本,那么你是幸运的。WF4极大地简化了工作流托管、数据管理以及客户化活动的创建。使用依赖属性(dependency properties)在活动间传递数据的时代已经过去了。

Windows Workflow 4的一个主要卖点是与Windows Communication Foundation和Windows AppFabric的集成。微软设想的蓝图是:开发者通过外部的WCF和内部的WF构建消息应用,同时Windows Server AppFabric为其提供托管服务。

查看英文原文:Windows Workflow 4 – A New Product with an Old Name

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

搬起石头砸自己的脚 by Wong Eisenham

像工作流引擎这么基础的服务都能在短期内发生如此巨大的变动,先不说向后兼容的问题,仅从一个企业级应用需要的底层基础结构所提供的稳定性和延续性就不具有可行性。公司里最近要基于工作流开发一套产品,最后因为这种不稳定性最后选择了JEE,尽管我们的技术选型并不以JEE为主。这说明以不熟悉的技术进行开发遇到的风险也低于采用MS推广的技术架构,可笑不可笑?

Re: 搬起石头砸自己的脚 by Chu Kevin

.NET 4.0本身已经从CLR开始就是一个新东西,微软重写WF的目的可能是为了云计算铺平道路。而老的系统依然可以用.NET 3.5 SP1,也没有必要要升级到.NET 4.0。

Re: 搬起石头砸自己的脚 by lu xv

不好的东西就需要重写

不是还有CodeActivity by 张 善友

这么做的结果就是代码的生成更加容易,但也意味着我们无法再使用Code活动了。这个明细有错吧,WF4还是有CodeActivity的啊

Re: 搬起石头砸自己的脚 by Allen Young

WF 3.5和4.0之间的兼容性确实不理想,但这并不代表4.0之后的版本也会发生巨大的变化。事实上在WF 3.0/3.5发布之后,微软收到很多客户的反馈、提出了很多需要解决的问题,而重写WF是从根本上解决这些问题继而提供一个更好的框架的最佳途径。

对于你的情况,既然是最近要基于工作流开发一套产品,那么其实可以考虑使用WF 4.0的Beta2版本进行评估,然后看看是否合适。我觉得你关心的稳定性和延续性是一方面,但是其实还是有很多人选择使用WF 4.0的,因为他们觉得确实比较好用。

最后一点,微软会在这个月底在codeplex上面发布一个WF Migration Toolkit帮助开发人员把3.0/3.5的工作流迁移到4.0上。虽然不能cover所有的情况,但是大多数的迁移工作还是可以通过它来完成的。

Re: 不是还有CodeActivity by Allen Young

有CodeActivity,还有更强大的NativeActivity。WF 4.0支持声明式的工作流定义,你也可以写code来创建自定义活动并编排你的工作流。

WF 4 Migration Guidance by Zhang Ray

希望作者与其他有类似疑问的朋友好好看看WF 4 Migration Guidance并关注codeplex上将要发布的toolkit,大多数问题都cover到了,很多东西并不需要重写。

www.microsoft.com/downloads/details.aspx?displa...

近于一场灾难 by 江天 皓月

微软的做法最终将导致其技术生命周期过短,一代技术来不及普及,培养不了足够深层次的用户,其利用价值被大大的限制,Java技术体系之所以长盛不衰,就是因为它的稳定和足够长的生命周期让技术得到普及和沉甸,也因此广受大政府与大型企业的亲睐。

Re: 近于一场灾难 by He James

楼上的说法有道理,不过似乎微软的核心团队很喜欢追求完美,所以就算重写也在所不惜,当然,这里面也有对框架将来规划的考虑

Re: 近于一场灾难 by 江天 皓月

楼上的说法有道理,不过似乎微软的核心团队很喜欢追求完美,所以就算重写也在所不惜,当然,这里面也有对框架将来规划的考虑


难道说JAVA阵营就不在思考将来吗?微软把“敏捷实施”理解成产品的快速迭代,是一种错误!市场总是充拆着不成熟的产品,不要以为一套编程架构可以像WINDOWS一样不停地发补丁!

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

10 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT