刚刚在微软总部举行的互操作性活动(一个“互连测试大会(plugfest)”)上,即将发布的 Sun Metro Web Services 和.NET 3.5 中的 WCF 间的互操作性令人印象深刻。InfoQ 有幸就这个互操作性结果对 Harold——Sun 的企业 Web 服务互操作性工程负责人——进行了访谈。
当被问到这个结果与 Java 和.NET 开发者的关联性时,Harold Carr 强调了互操作性的角色:
Web 服务的问题域是线上互操作性,而非实现它们的平台。因此,开发者——无论他是使用.NET 还是 Java——都期望他们的服务可以互用。如果平台开发者只需确保 WS-I basic profiles 的互操作性,那么问题相对简单一些。但当加入 WS-Policy、WS-Security、WS-Trust、WS-SecureConversation、WS-ReliableMessaging 等等之后,对于平台实现者的障碍就大大提高了。这个结果给当前的互用操作开发阶段带来了透明性,这让那些计划使用 Metro 和.NET 3.5 (提示:Metro 1.0 已经可以和.NET 3.0 互操作) 的人有足够的信心相信:我们将提供一个互操作性平台 (而不是一个只能通过自我测试的平台)。
谈到 WS-* 标准成熟度的问题时,他指出:
有两个方面需要考虑:我们测试互操作性的场景和基于这些规范的服务部署。互操作性场景是很有用的,但是显然不完备(尤其在可靠消息传递方面)。真实部署所用的组合可能从未被测试(要么通过在互连测试大会(plugfest)中被测试的互操作性场景,要么通过我们更广泛的内部测试)。另外,.NET 3.0 和 Metro 1.0 (两个正式发布的产品)都是以所提交的 WS-* 规范(WS-Security 除外,它是标准)版本为基础的。.NET 3.5 (已发布)也是以标准版本为基础的。Metro 1.x (稍后将在 2008 年发布,译注:Metro 1.1 已经发布)也将以标准版本为基础。以上喋喋不休的话语是为了说明:在以厂商提供的产品为基础的许多部署中,标准规范并没有被使用。
依照 Harold 的说法,测试工作中最困难的方面是安全性,尤其是使用 Kerberos(Windows 2000 的核心安全协议),以及包含信任:
很多方面的原因造成了安全性需要经受大量的测试。并且,如果你对一个场景表示信任,那么你就有了一个三方测试(3-way test):客户端、STS(Security Token Service,安全令牌服务)、服务——这样,你就有更多的组合要测试。
您可以从 Harold 的博客了解这个互操作性结果,也可以从 Sun 的 Metro 网站了解更多内容。
查看英文原文: Sun Metro and .NET WCF Interoperability - - - - - -
译者简介:王志雄,长期从事软件开发工作,项目集中在 EAM 和设备点检管理领域。2004 年转入 JAVA 领域,曾经在项目中使用过 Hibernate、Struts、Spring 等。关心软件技术和相关工具的动态,将其中成熟的技术和工具应用到实际的项目之中。关心开源软件的发展动态以及软件过程和敏捷开发的实践探索。
评论