问:我们正在通过Web服务发布一些接口。Web服务只是完成部分的工作。需要完成的任务是:客户能够使这个Web服务参与到由客户端引发的事务处理中。问题是:客户能够通过其他的非Web服务的组件来执行重新运行或者执行更新,但是它们不会使用那些通过Web服务已经完成的组件来这样做。
Web服务和客户端都是用.NET实现的。我已经读过WS-Atomic Transaction规范,但是我仍在努力寻找一种支持它的架构。 你遇到过类似的问题么?如果是的,可以和我分享你的经验并推荐一个支持这个说明的架构给我么? 答:你正在寻找的是.NET 的下一代Indigo。Indigo将提供一个面向服务的程序设计模……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
问:我们正在通过Web服务发布一些接口。Web服务只是完成部分的工作。需要完成的任务是:客户能够使这个Web服务参与到由客户端引发的事务处理中。问题是:客户能够通过其他的非Web服务的组件来执行重新运行或者执行更新,但是它们不会使用那些通过Web服务已经完成的组件来这样做。Web服务和客户端都是用.NET实现的。我已经读过WS-Atomic Transaction规范,但是我仍在努力寻找一种支持它的架构。
你遇到过类似的问题么?如果是的,可以和我分享你的经验并推荐一个支持这个说明的架构给我么?
答:你正在寻找的是.NET 的下一代Indigo。Indigo将提供一个面向服务的程序设计模型,该模型封装了升级事务处理的过程:从简单的不需要分布式事务处理协调程序(DTC)的事务处理到支持交叉处理和分布式.NET组件的激活DTC的事务处理、到需要WS-Atomic Transaction的Web服务事务处理。上述的所有过程都是通过一个类似的说明性的(隐含的)程序设计模型完成的,这个模型按现状已经完成,它使用.NET 1.1中的EnterpriseServices。一个明确的程序设计模型对于更强的控制而言也是可用的。当前,在.NET2.0中,一个功能的事务处理集合已经是可用的。例如,当多于一个的资源管理程序(Resource Manager)参与进事务处理中时,简单事务处理管理(LTM)将会自动升级为DTC事务处理。如果你希望通过1.x的背景来了解更多的关于2.0事务处理的信息,请阅读我同事Juval Lowy所著的白皮书。
因此,你现在可以做什么呢?唉,我想只能是原地打转。在我看来,如果你设法实现你自己的WS-Coordination (WS-COOR) 和WS-AtomicTransaction (WS-AT)的管道,那么你需要经历一段漫长艰难的过程。你最好不要再等待了,把这个管道自由开放。请注意,WS-Coordination 和WS-AtomicTransactions规范的实现虽然还很遥远,而且还没有被批准。但是当这些都成为事实的时候,平台支持在.NET和Java这两方的平台上都可以实现了。它们可以处理所有的状态管理和满足把服务操作融入事务处理之中的XML串行化需求,而且你仍可以像现在一样把发布的事务处理属性应用到操作中去。
我需要再强调一下,在Java方面,有一些供应商平台已经包含了WS-COOR 和 WS-AT的实现工具,他们是:
IBM WebSphere offer WS-AT for WAS
Choreology offers a Business Transaction Management (BTM) product called Cohesions
显然,这些实现工具无法帮助你的.NET服务,但是最起码这能够引起我们的注意:虽然还只是处于过渡阶段, 但是已经有供应商开始支持这些标准了。
相关推荐
-
SAP收购CallidusCloud 与Salesforce竞争
一直被称为后台办公巨头的SAP现在似乎也想在前台办公大展拳脚。 最新的迹象是SAP收购CallidusClou […]
-
API设计如龙生九子 各不相同
IT咨询管理公司CA Technologies对API产业做了个问卷调查,问卷内容涉及API设计风格以及管理部署的新动向。调查结果表明,JSON与XML可谓两分天下。
-
.NET架构师:函数式语言做领域驱动设计
Scott一位.NET架构师,同时也是掌握函数式编程的作者,他很欣赏函数式编程,对于Scott来说,面向对象编程的那些概念也很恐怖,比如多态、泛型、继承、协变等。
-
软件开发就像炒股 关键看你怎么选股票!
本文作者Paulo Ortins在这里分享了对于选择哪种编程语言作为软件开发工作的起点的话题,并阐述了自己的观点。