首页 新闻 搜索 专区 学院

WF, WCF是否能跨异质平台做「分布式事务」?

0
悬赏园豆:50 [已解决问题] 解决于 2009-04-01 08:53

WF, WCF是否能跨语言、跨异质平台做「分布式事务」?

请教各位前辈,微软宣称的 WF, WCF 跨平台,是指跨微软的 .NET/Windows 平台,还是也能跨 Java/Linux 等异质平台呢?

先不论把 WCF 发布成 Web Services。

WF, WCF 的分布式事务 (Distributed Transaction),其做法为,把事务的处理等级,下拉到 Windows 操作系统的 MS DTC (Distributed Transaction Coordinator) 中,由操作系统去处理 Distributed Transaction 的处理

这样的话,若两边都是 Windows 操作系统,当然没问题。

但若一边是 Windows,另一边是 Linux 或 Unix,那 WF、WCF 是否就无法达成「分布式事务」了,各位有相关经验,能提供一些关键词、关键观念或做法,或其它在线文件,可供小弟我了解,

另 WF 最强的功能就是「追踪」工作流的处理情况,但若用的是 Oracle/Linux,微软的 WF 还有办法追踪得下去吗?

我个人很疑惑,但微软自家的书籍好像不大会提异质平台的整合,请各位前辈解惑。

到底 WF, WCF 是真跨平台,还是假跨平台(只跨微软自家的平台)?


谢谢。

 

问题补充: 感谢您同时在此和您的 blog 的回应, 小弟我一年半前听的 WF 研讨会,印象中讲师也是说 WF 「默认」不能做跨异质平台的 分布式事务 的缺点。 后来在网络上好像有看到有人提出其它折衷的做法,但已完记他的论点是怎样。 这样一来,难怪微软 WF 的推广不顺利。若要用 WF 做个「签核」的工作流应用,可能同时要跨多个 薪资、人事、会计 系统…等不同的机器中的系缲,若要企业中的这些机器都用 Windows Server,机率似乎不高。 等候其它前辈的高见,若无的话会在两日内结掉这个帖子。
WizardWu的主页 WizardWu | 小虾三级 | 园豆:1402
提问于:2009-03-30 21:41
< >
分享
最佳答案
0

呵呵,我在WCF分布式开发步步为赢(3)WCF服务元数据交换、配置及编程开发回答了一次了。
我来部分回答你的问题。目前我主要专注在WCF学习上,WF的问题没有深入学习,就不做回答。
1.WCF可以实现跨语言和跨平台的系统间的交互,包括基于java语言的开发的web service,因为WCF也支持核心的Web Service核心协议。
2.WCF的分布式事务确实借助了MS DTC分布式事务协调器来实现分布事务。使用的类也是.NET Framework 2.0命名空间System.Transactions.System.EnterprisesServices企业级服务里也有事务特性的支持。但是局限性在于MS DTC linux\Unix系统中不存在分布式事务协调机制,因而无法接触DTC实现事务传播,也就无法实现WCF的异构操作系统的分布式事务。《Programming WCF Service》一书中给出的例子也有介绍。这里有WCF事务基本概念的介绍:http://blog.sina.com.cn/s/blog_4fa676f601008dw7.html
3.WCF服务分布式事务接触微软已有的技术,.NET的平台移植性一直是大家所诟病的。这个应该是微软基于战略利益的考虑吧,一直不做linux下.NET FrameWork的移植开发工作。确实在某种程度上其跨语言、跨平台是有局限性的。
4.WCF分布式事务的讨论我也会在后续的文章里给出.
希望以上的回答能给你一些帮助,也欢迎高手留言补充~

Frank Xu Lei | 小虾三级 |园豆:1860 | 2009-03-30 23:09
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册