SOAP与CORBA谁主未来

启然

组件对象请求代理体系(CORBA)将接力棒传给了基于XML的框架简单对象访问协议(SOAP)。SOAP将使分布式对象计算超越防火墙的限制。

在过去十年中,分布式计算已经成为了一种在越来越分散的计算资源中保持互操作性的重要手段。远程过程调用(RPC)是目前分布式系统之间进行通信的最常用手段,但是,将应用分布在多层次的、基于组件的架构上的选择仍十分有限。不过随着时间的发展, Internet使分布式计算具有了新的潜力,并且随着昨天的业务应用升级为明天的Web服务,人们对分布式计算提出了新的要求。

以SOAP为基础的Microsoft的.NET显现出减少实现RPC的困难,快速实现互操作性的潜力。对象管理组(OMG)提出的CORBA一直是得到承认的企业规模的分布式计算环境(特别是Unix平台和专用大型机环境)的中间件互操作标准。

尽管在过去几年中,OMG在保证CORBA的发展前景方面发挥了良好作用,但是,现在它却处在采用SOAP这类更新的标准的巨大压力之下。

与SOAP不同,CORBA不是一种标记语言,进一步地说,CORBA起到一种中介的作用,它方便了分布式的、面向对象的应用之间的连接并使通信成为可能,不管应用安装在何种平台上。

对于管理复杂性和确保可靠性为首要问题的大型企业级工程来说,CORBA提供了可靠而全面的开发平台,保证了顶级的事务处理速度和故障切换功能。

所有这些功能是以额外的开销为代价的。CORBA以难于开发和部署而闻名。对于较小的工程而言,CORBA在代码开发上所需要的额外费用和努力通常不会超过其性能好处。

.NET支持SOAP

SOAP已经成为Microsoft .NET战略的集成组件,它使COM+组件可以与CORBA和Java标准进行通信。

随着基于XML的BizTalk Server 2000的发布,Microsoft开始通过跨越平台边界填补B-B产品线中的空白。由于SOAP不仅限于Windows、Java或纯企业环境,此举还使Microsoft产品得到广泛的应用。

Microsoft的.NET技术还使开发人员可以方便地利用SOAP接口。任何Visual Basic开发人员无需成为XML/SOAP专家,就可在Internet上创建应用对象。

尽管SOAP具有简单性的好处,但是它为此付出了代价:SOAP中的XML数据必须被提取和解析,因此降低了性能。与CORBA的二进制数据相比,SOAP基于文本的消息在传输中消耗了大量带宽。

与CORBA背后相对稳定的标准不同,SOAP和XML仍在发展之中,WWW联盟仍在不断增强这些标准。

CORBA迎接挑战

CORBA远未被排除在开发人员的发展计划之外。OMG在保证CORBA与新出现的通信协议之间的兼容性上采取了重要的步骤。因此,现在有许多能够将SOAP请求转换为CORBA调用的桥梁,其中包括开放源代码工程。

在Web服务领域,CORBA甚至可能具有已经部署到位的语言捆绑和服务API的暂时优势。CORBA的IDL(界面定义语言)可以发挥与Web服务模型中所使用的WSDL(Web描述语言)类似的服务和语法描述机制的作用。

更重要的是,CORBA仍可以满足企业实现优化的、对象级通信所必不可少的基于组件的开发和EAI(企业应用集成)的需要。

CORBA近期不会消失。随着它不断从SOAP和Web服务适配器中受益,它将继续成为性能和可靠性至关重要的大规模工程的优先选择。

但是,在Internet访问和设置方便性极为重要的环境中,SOAP将能改进跨平台的功能。随着处理器和网络速度的增加,许多SOAP的限制将变得不重要,从而使SOAP成为更多企业工程中更好的全面选择。

SOAP与CORBA比较

虽然SOAP和CORBA都可以帮助RPC,但将它们进行比较就如同将苹果和橘子做比较。在此,我们罗列了两种技术之间的一些相似和不同之处。

SOAP CORBA
这种消息框架和RPC机制实现起来需要增加集成中间件(代理程序、监听程序和翻译程序)。 CORBA规范集提供了支持复杂交互作用、原有接口、容错、资源控制以及在嵌入式应用中使用的良好集成的框架和协议。
SOAP易于学习和实现,可以为经过很少培训的Visual Basic程序员所使用。 CORBA在实现上需要培训、专业知识和编程,从而限制了将它用于大规模EAI工程。
SOAP可以添加到使用HTTP穿过防火墙的服务中和Web服务器上,方便了企业间应用集成。 CORBA需要开放网络连接,因此造成了潜在的防火墙安全问题。CORBA需要专用服务器架构进行全面的部署。
作为基于文本的协议,SOAP在传输时需要额外的带宽并在接收端需要解析功能。 CORBA的二进制协议提供了快速的传输和处理功能。
由于SOAP是基于XML的,因此它可能会减轻平台互操作性问题。 虽然也是开放源代码规范,CORBA需要不同对象请求代理类型间的协商配置。
SOAP不是一项最终的协议,早期的采用者可能需要升级部署来满足最终的规范的要求。 CORBA缺少用于开放的、以Internet为中心的操作的特性,但现在正在进行修改,以便与SOAP和Web服务一起使用。
SOAP自身的安全规范正在考虑之中但仍未确定下来。 用于CORBA的安全服务规范已经部署到位。 

 

本文转载自企业级IT信息服务平台-网界网-CNW.com.cn
原文地址:http://www.cnw.com.cn/weekly/htm2001/20010813_43767.shtml

你可能感兴趣的:(SOAP与CORBA谁主未来)