Java和.NET领域的分布式软件开发

异步消息机制一直是众多企业级业务应用的核心,然而不幸的是,.NET的开发者常被强迫做出艰难的选择去违反这样的约定。这意味着他们不得不使用自有的消息传送服务或者使用微软的消息队列(Message Queues)来完成异步消息传送这样的工作,与此同时,失去了与Java语言的互操作能力。

TIBCO软件公司的企业消息传送服务提供了针对解决上述问题的有效途径,这个企业消息传送服务平台,不但提供了与Java/JMS异步消息传送机制的绑定,还提供了与.NET平台、.NET移动开发框架、C语言甚至是商业数据处理语言COBOL的绑定实现。

在这方面,在西雅图Tideworks Technology公司工作的软件工程师Roger Voss,已经给出了将JMS技术应用于分布式软件开发的解决方案。除了行之有效的互操作实例之外,JMS还提供了更加丰富的功能,其中之一就是JMS提供了被称作Topics的一对多主题队列。与通常只发送到单个客户端队列不同的是,JMS的主题队列可以保证每个客户端都会得到一份消息的拷贝,通过这样的方法,消除了消息轮流检测或发送同一消息给多个队列的情况。

Roger Voss还提到JMS的另一个有趣特性,这是关于JMS创建链接规则方面的内容。

链接规则遵循统一的JMS语法表达式,为服务端存在于消息传送和主题队列之间的消息,来指定传送路径。用户可以在服务端创建消息的链接规则,并且可以通过管理工具,将消息从创建位置拷贝到重新定向的消息消费地址。

如果实际应用面向主题队列发布消息,同时告知另一个已存在的应用可以开始消费队列中的消息,并从消息创建位置拷贝消息到所需位置进行消费。在上述过程中,添加链接规则将变得异常简单。如果需要成为消息的订阅者,不必记录应用消费情况来建立JMS消息会话,与之相反,开发者仅仅需要为新的消息类型添加消息句柄代码后提供给消息消费者,从而完成上述的全部工作。(事实上,在C# .NET或Java语言中,消息句柄可以当作插件模块被添加进来,所以不需要进行繁琐的工作,就可以创建整个应用架构。)
查看英文原文: Distributed Software Development for Java and .NET 译者简介:高昂,IEEE-CS、CCF会员,关注开源软件发展与进步,Java GIS开源项目uDIG参与者。目前在资源与环境信息系统国家重点实验室从事网格GIS、空间数据库研究工作。个人站点为 开源网格GIS试验田。与InfoQ中文站分享内容,请邮件至 [email protected]

你可能感兴趣的:(Java和.NET领域的分布式软件开发)