InfoQ

InfoQ

新闻

我的书签

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

该内容已经被标记书签!

标记书签错误,请重试!

在.NET与Java间进行Web Service交互的新选择

作者 Boris Lublinsky 译者 张海龙 发布于 2008年3月31日

领域
架构 & 设计,
企业架构,
语言 & 开发
主题
SOA ,
Java ,
Java+.NET集成 ,
互操作 ,
.NET
标签
Websphere ,
JMS ,
WCF ,
微软 ,
Apache Axis

谈到.NET和Java之间的Web服务交互性时,通常的选择只有SOAP over HTTP,而根据.NET 3.0的相关规范,这仅有的一个选择也将会受到更多限制,.NET中提供的BasicHTTP将是唯一能直接与Java Web Servcies进行交互的方式。

最近,有两个新的选择出现了——WebSphere MQ(WMQ)和ActiveMQ传送器,它们可以用于创建Java和.NET之间的交互式Web Services。而且.NET的可靠消息系统已经得到了扩展,因此对于MSMQ来说,WMQ和Active MQ都可以作为.NET Web Services的可靠传递者。

WMQ解决方案基于IBM AlphaWorks中IBM WMQ for Windows Communication Foundation的定制通道(Custom Channel),它的最新版本已于3月14日发布。这一产品允许将WMQ作为定制通道用于Windows Communication Foundation(WCF)框架(已随.NET Framework 3提供)中,它与微软的内建通道工作方式相同。

消息都是经过格式化的,以满足WMQ v6.0的SOAP over JMS实现,让应用程序即可以和运行于WCF之上的服务进行通信,也能和运行在WebSphere SOAP over JMS服务基础之上的服务进行通信,包括WebSphere应用服务器和CICS。

目前的实现是以概念验证为主,是为了帮助更好地理解对这一领域产品的需求(也就是说它并不适合在产品环境中使用),如何产品化这一实现的计划还没有最终确定。

定制通道的构建是通过Windows Communication Foundation的可扩展框架提供的,这一可扩展框架允许集成和使用那些与微软提供的内建传送器类似的传送器。服务型应用只要通过配置就可以使用新的定制通道,只要客户端应用程序是通过像微软的Service Metadata utility Tool(Svcutil.exe)这样的标准工具生成的,它们就可以正常运行。服务的元数据描述可以被正在运行的服务直接发布(可以通过一个附加的HTTP端点来暴露)或者使用WSDL(Web Service Description Language)。

目前的实现版本支持核心的消息功能,它有如下限制:

  • 对于一个服务实例,只有一个客户端可以使用双向通道的模式;
  • 双向通道是对WebSphere MQ v6所提供的SOAP/JMS实现的一种扩展,它只能用于WCF服务与其客户端之间的通信;
  • 仅支持核心的消息功能(如不支持像事务化和安全等高级特性)
  • 运行在现存WMQ v6的SOAP/JMS环境中的SOAP/JMS服务仅能进行单向操作;
  • 运行在CICS或WebSphere应用服务器的SOAP/JMS环境内的SOAP/JMS服务,不允许在一个单一合约中混合使用单向操作和请求/回复操作,而必须为每个通道形态分别创建独立的合约。

Active MQ解决方案基于Axis提供的JMS(由Java编写而成)和“插件式协议”特性(由.NET编写而成),因此,它并不是以真正的.NET定制通道方式包装的,这就需要更多的定制编程。

这两种解决方案都没有彻底的产品化,但它们却提供了一个很好实验基础,以选择合适的Web Services交互式传送器。

查看英文原文New Options for .NET-Java Web Services Interoperability


还不是要靠WCF灵活的扩展架构 发表人 wang yi 发表于
  1. 返回顶部

    还不是要靠WCF灵活的扩展架构

    发表人 wang yi

    还不是要靠WCF灵活的扩展架构。

深度内容

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

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

特性注入:成功三部曲

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