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

2016-02-19 21:36 2 1 收藏

下面,图老师小编带您去了解一下Java与.NET间进行Web Service交互的选择,生活就是不断的发现新事物,get新技能~

【 tulaoshi.com - 编程语言 】

 

谈到.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交互式传送器。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

来源:https://www.tulaoshi.com/n/20160219/1626624.html

延伸阅读
摘 要:本文着重阐述了网页开发中,通过灵活使用从JavaScript语言中访问Java的方法、从JavaScript中访问JavaScript小程序的方法与变量,以及在Java Applet小程序中使用JavaScript等技术,实现这几种网页开发语言的互相补充,以开发更完美的Web应用程序。 JavaScript是用于HTML环境的开发语言,提供了能够响应Web页面事件的脚本,可以...
标签: Web开发
JavaEye上活跃的开发者Complystill(歆渊)最近发布了自己的开源SecureJSH项目,提供了一个通过SSH交互进行Java应用开发或者管理的工具。   在项目的介绍中可以得知,SecureJSH与Ptyhon里面的ipython或者Ruby里面的irb非常相似。它们都允许交互式运行语言的代码,以方便跟踪或者调试应用。但是,Java与Ruby、Python不同,后者是动态脚...
标签: Web开发
利用ajax组件怎样能让它跟server控件交互呢,例如输出一个列表,就只有用js一条一条html的输出吗?当然不是,现在可以与datagrid交互。 注:ajax的.net组件可以到此网下载,本文用的是for .net 1.1版本的。http://ajax.schwarz-interactive.de/ 1. 在引用中添加引用Ajax.dll。(这个很废话) 2.在web.config中建立HttpHandler(这个当然是在...
标签: Web开发
以前写asp的程序的时候,知道只有type设置为submit的按钮,才能触发表单提交数据给服务器端。 如:Asp.Net中的Button就是等于input type="submit". 但是现在Asp.Net的好多控件都可以任意的和服务器端交互,如:LinkButton. 这是怎么实现的呢? 难道是一种全新的方式吗? 其实,这只是微软的一种变通的方式。 我们先来...
为什么会有Java,为什么会有.NET 有人说,Java是为了跨Windows和UNIX而产生的。是这样吗? Sun有自己的操作系统solaris,并且打的是高端市场,而Java发展早期阶段,Windows还主要定位在中小型企业,并没有打算与Sun一争高端客户。 而且Sun的用户大部分都是大型企业级,而Windows定位在家庭消费用户,由于Windows已经成为桌...

经验教程

174

收藏

63
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部