装箱百万奖金,第六届全国工业互联网数据创新应用大赛火热报名中! 了解详情
写点什么

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

  • 2008-03-31
  • 本文字数:1193 字

    阅读完需:约 4 分钟

谈到.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

2008-03-31 04:092052
用户头像

发布了 89 篇内容, 共 11.1 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

Android面试题之性能优化篇(2),安卓高级开发面试题

android 程序员 移动开发

Android高级工程师BAT面试题及知识点整理大全(Java基础+Android

android 程序员 移动开发

Android面试:一个进程有多少个-Context-对象?看似初级的问题

android 程序员 移动开发

Android面试:计算机网络面试知识点系统总结,拔剑金九银十

android 程序员 移动开发

Android:手把手教你实现在XML中配置网易云歌手详情滑动效果

android 程序员 移动开发

Android:金九银十怎么从中小企业挤进一线大厂?大厂面试题问的深度

android 程序员 移动开发

Android面试必备知识点:Android中Handler八大问题汇总

android 程序员 移动开发

Android面试题之性能优化篇(1),移动开发工程师的岗位职责

android 程序员 移动开发

Android题集四大组件之Content provider、BroadcastReceiver

android 程序员 移动开发

Android:年过35岁的程序员还有出路吗?面试了一个-46-岁程序员后

android 程序员 移动开发

Android面试官:看你简历上写熟悉-AIDL,说一说-oneway-吧

android 程序员 移动开发

Android面试题之动画+事件处理篇,腾讯、美团Android面试经验分享

android 程序员 移动开发

Android面试抱佛脚:进程间通讯学习,从Binder使用看起

android 程序员 移动开发

Android高工面试(难度:四星,2021大厂Android知识点总结

android 程序员 移动开发

Android高阶:了解这些知识点,学习Binder就不成问题,androidapp开发教程推荐

android 程序员 移动开发

深入剖析Redis客户端Jedis的特性和原理

vivo互联网技术

数据库 redis Jedis 集群

Android高阶:了解这些知识点,学习Binder就不成问题(1)

android 程序员 移动开发

Android:让你明明白白的使用RecyclerView—,retrofit优点

android 程序员 移动开发

App 竟然是这样跑起来的 —— Android App_Activity 启动流程分析

android 程序员 移动开发

Android面试必问之Binder进程间通信机制,大厂喜欢从哪些角度考你呢?看完这篇你就懂啦

android 程序员 移动开发

Android音视频--H,flutter小程序开发

android 程序员 移动开发

Android高工面试(难度:四星(1),2021Android高级面试题总结

android 程序员 移动开发

Android高级面试题大全(持续更新中),字节跳动厂内部超高质量Flutter+Kotlin笔记

android 程序员 移动开发

一个递归调用引发的 “血案”

神策技术社区

Android面试题之Broadcast Receiver篇,你们觉得作为一名程序员最大的悲哀是什么

android 程序员 移动开发

Android面试|任何东西只要够深,都是一把刀!性能优化都没搞好就别想着去找对象了

android 程序员 移动开发

Android:三四十岁的大龄程序员如何对后辈评价“太水技术低

android 程序员 移动开发

Android:怎么看待大厂面试门槛越来越高,,让你明明白白的使用RecyclerView

android 程序员 移动开发

Android面试指南(三),kotlin匿名内部类写法

android 程序员 移动开发

Android面试题之性能优化篇,当上项目经理才知道

android 程序员 移动开发

Android面试:计算机网络面试知识点系统总结,拔剑金九银十(1)

android 程序员 移动开发

在.NET与Java间进行Web Service交互的新选择_Java_Boris Lublinsky_InfoQ精选文章