问:我们通过Web服务发布特定的接口。这些Web服务完成一单元的工作。在有些情况下,这些Web服务参与了在客户端发起的一个事务。问题是:客户端可以通过其他非Web服务的组件来实现回滚和更新,但他们不能通过Web服务实现(回滚和更新)。
这些Web服务和客户端都是在.NET下实现的。我阅读了Web服务原子事务标准( WS-AtomicTransaction ),但找不到一个支持它的架构。 如果您也曾经面对这样的问题,可否介绍一下您的经验,并推荐一个支持该标准的架构? 答:你所要找的是Indigo,下一代的.NET。Indigo提供了一个面向服务的编程模型,该模型封装了管理事务的过程,所支持……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
问:我们通过Web服务发布特定的接口。这些Web服务完成一单元的工作。在有些情况下,这些Web服务参与了在客户端发起的一个事务。问题是:客户端可以通过其他非Web服务的组件来实现回滚和更新,但他们不能通过Web服务实现(回滚和更新)。这些Web服务和客户端都是在.NET下实现的。我阅读了Web服务原子事务标准( WS-AtomicTransaction ),但找不到一个支持它的架构。
如果您也曾经面对这样的问题,可否介绍一下您的经验,并推荐一个支持该标准的架构?
答:你所要找的是Indigo,下一代的.NET。Indigo提供了一个面向服务的编程模型,该模型封装了管理事务的过程,所支持的事务包括:轻量级的不需要分布式协作的事务、启用分布式协作来支持交叉过程和分布式.NET组件的事务、需要Web服务原子事务的基于Web服务的事务。这些将在一个隐含的编程模型里实现,就像今天的.NET 1.1中的企业服务一样。一个直接的编程模型也将提供给用户,以使用户有更大的控制权。现在在.NET 2.0里面,已经有了一些相关的功能。例如,当多于一个的资源管理台参与一个事务的时候,一个轻量级的事务管理台将自动将事务提升为一个分布式协作的事务。
那么,现在你能做什么呢?在我看来,如果你要做一个你自己的对Web服务协作和Web服务原子事务协议的实现,将有很长的路要走。你最好还是等待,然后使用Indigo。此外需要提醒你的是,Web服务协作和Web服务原子事务标准还没得到广泛的认可。到目前为止,.NET和Java平台对这两个标准有一定支持。它们应该处理所有将Web服务嵌入到一个事务所需要的的状态管理和XML序列化等工作,而你能够在操作中插入一些隐含的事务属性。
同时我想提醒你在Java平台上,有一些供应商的平台包含了Web服务协作和Web服务原子事务标准的实现,它们是:
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可谓两分天下。
-
从头开始实现领域驱动设计
领域描述业务;它是驱动企业的概念和逻辑的集合。如果遵循领域驱动设计(DDD)这一本质,那么领域就是应用程序中最重要的组成部分。
-
走出思维定式 数据库/大型机现代化不再是问题
升级和改变组织的主要利益驱动应用的前景,正处于一个压倒性的位置,所以组织将要面临一系列的改变。