InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

Windows Workflow 4:旧瓶装新酒

作者 Jonathan Allen 译者 张龙 发布于 2010年1月25日

领域
语言 & 开发
主题
.NET ,
.NET框架
标签
WWF ,
.NET Framework 4.0

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

译者 张龙 热衷于编程,乐于分享,对新技术有强烈的探索欲,对Java轻量级框架有一定研究。

搬起石头砸自己的脚 发表人 Wong Eisenham 发表于
Re: 搬起石头砸自己的脚 发表人 Chu Kevin 发表于
Re: 搬起石头砸自己的脚 发表人 lu xv 发表于
Re: 搬起石头砸自己的脚 发表人 Young Allen 发表于
不是还有CodeActivity 发表人 张 善友 发表于
Re: 不是还有CodeActivity 发表人 Young Allen 发表于
WF 4 Migration Guidance 发表人 Zhang Ray 发表于
近于一场灾难 发表人 江天 皓月 发表于
Re: 近于一场灾难 发表人 He James 发表于
Re: 近于一场灾难 发表人 江天 皓月 发表于
  1. 返回顶部

    搬起石头砸自己的脚

    发表人 Wong Eisenham

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

  2. 返回顶部

    Re: 搬起石头砸自己的脚

    发表人 Chu Kevin

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

  3. 返回顶部

    Re: 搬起石头砸自己的脚

    发表人 lu xv

    不好的东西就需要重写

  4. 返回顶部

    不是还有CodeActivity

    发表人 张 善友

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

  5. 返回顶部

    Re: 搬起石头砸自己的脚

    发表人 Young Allen

    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所有的情况,但是大多数的迁移工作还是可以通过它来完成的。

  6. 返回顶部

    Re: 不是还有CodeActivity

    发表人 Young Allen

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

  7. 返回顶部

    WF 4 Migration Guidance

    发表人 Zhang Ray

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

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

  8. 返回顶部

    近于一场灾难

    发表人 江天 皓月

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

  9. 返回顶部

    Re: 近于一场灾难

    发表人 He James

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

  10. 返回顶部

    Re: 近于一场灾难

    发表人 江天 皓月

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


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

深度内容

大规模视频网站的计费与流量管理

本次分享将会就大规模视频网站的计费与流量管理这个话题,从操作层面细细进行讲解和分析,为系统工程师们揭示平日里我们没有关心的另一些内容。同时也希望本次分享能揭示行业中的一些“潜规则”,让互联网行业的流量与带宽管理更为开放与简洁。
本次演讲视频录制于QCon杭州2011

专访Jeffrey Richter:Windows 8是微软的重中之重

Jeffrey Richter以其多本Windows核心技术的经典著作而闻名,同时,他深入掌握微软的.NET等一系列核心技术,2012年1月,Jeffrey Richter在北京接受了InfoQ中文站的专访,谈到Windows 8和WinRT编程,并就异步编程、Windows编程中的可扩展性、性能和安全性方面给出自己的建议。

应用云平台的可用性——从新浪SAE看云平台设计

云计算平台的可用性,相比传统互联网服务而言,更加复杂和困难,也更具有挑战性。本文借助新浪SAE云平台为读者讲述了云平台可用性的定义、如何打造高可用的平台,以及对云计算的用户提出了建议。

JVM定制改进 @ 淘宝

淘宝高度重视Java平台的健康发展,组建了一个团队专注于Java平台的底层部分的性能、功能与稳定性改进;工作主要基于OpenJDK中的HotSpot VM开展,其中一些通用的功能随后也会逐渐反馈给OpenJDK社区。希望能与使用Java平台开发应用的大家交流经验。
本次演讲视频录制于QCon杭州2011

"伤得起"的云计算应用——对云端应用之架构的思考

2011年4月21日至22日是值得云计算从业者纪念的日子。Amazon的IaaS服务出现故障,导致许多商业网站的服务中断,影响非常严重。作为云计算用户,我们需要思考的是,如何保证即便在云服务不可用的情况,我们的应用架构仍然能够屹立不倒?本文正是站在云计算用户的角度试图探讨这一问题。

让交付的速度跟上思考的速度

12人的技术团队,4组刀片服务器,每月20亿的访问量,每日1次准时部署,99.9%的可用性。这可能吗?当然。想知道如何做的吗?百姓网将与您分享他们在DevOps实践过程中的经验和技巧。
本次演讲视频录制于QCon杭州2011

架构之路——穿行在产品和业务之间

篱笆作为一家起源于社区的电子商务公司,反映到技术层面就是同时要面对产品和业务,以及经营战略的变化调整。如何在产品和业务的夹缝之间完成技术架构的抽象与平衡,寻找更有效的价值定位,这当中有些经验教训和个人感悟愿与众人分享。
本次演讲视频录制于QCon杭州2011

特性注入:成功三部曲

本文将对特性注入以及相关方法做一个扫盲性的介绍。我们会解释这个框架的关键要素,并附上实例来证实它们。为了让文章保持相对较短,我们不会深入到某个工具或方法中,而是会给出一些参考资料,以便大家做进一步的研究。