ICE和ACE高效网络编程中间件平台.docx
《ICE和ACE高效网络编程中间件平台.docx》由会员分享,可在线阅读,更多相关《ICE和ACE高效网络编程中间件平台.docx(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、ICE和ACE高效网络编程中间件平台2009-01-17 分类: 中间件自从上世纪九十年代以来,计算工业一直在使用像DCOM 和CORBA这样的面向对象中间件平台。在使分布式计算能为应用开发者所用的进程中,面向对象中间件是十分重要的一步。开发者第一次拥有了这样的可能:可以构建分布式应用中间件平台会照管大部分网络杂务,比如整编(marshaling)和解编(unmarshaling)(对数据进行编码与解码,以进行传送)、把逻辑对象地址映射到物理传输端点、根据客户和服务器的原生机器架构改变数据的表示,以及应需自动启动服务器。然而,由于一些原因,无论是DCOM 还是CORBA,都未能成功占领大部分计
2、算市场:(1) DCOM 是Microsoft 的独家解决方案,在异种网络中,各种机器会运行多种操作系统,无法使用COM。(2) DCOM 不能支持大量对象(数十万或数百万),这在很大程度上是它的分布式垃圾收集机制来的开销造成的。(3) 尽管有多家供应商提供CORBA 产品,几乎不可能找到一家供应商,能够为异种网络中的所有环境提供实现。尽管进行了大量标准化工作,不同的CORBA 实现之间仍缺乏互操作性,从而不断地造成各种问题;而且,由于供应商常常会自行定义扩展,而CORBA 又缺乏针对多线程环境的规范,对于像C 或C+ 这样的语言,源码兼容性从未完全实现过.(4) DCOM和 CORBA都过于
3、复杂。 在异种环境中,让DCOM 和CORBA 共存从来都不是一件容易的事情:尽管有供应商提供互操作产,这两种平台之间的互操作从来都不是无缝的,而且难以管理,会产生互不相连的技术孤岛。2002 年,Microsoft .NET 平台取代了DCOM。但尽管.NET 提供了比DCOM 更强大的分布式计算支持,它仍然是Microsoft 的独家解决方案,因而不是异种环境下的选择。另一方面,CORBA 近年来已停滞不前,许多供应商离开了市场,给消费者留下了不再受到广泛支持的平台;剩下的少数供应商在进一步标准化方面的兴趣也已衰退,致使CORBA 规范中的许多缺陷未能得到解决,或是在它们被报告多年之后才得
4、到解决。在DCOM 和CORBA 衰败的同时,分布式计算社群对SOAP和web services产生了浓厚的兴趣。使用无处不在的WWW 基础设施和HTTP来开发中间件平台的想法十分迷人至少在理论上。SOAP 和web services 曾经允诺要成为Internet 上的分布式计算通用语言。 但尽管引发了很大的公众效应,发表了许多论文,web services 却没有能兑现其允诺:用web services 架构开发的商业系统非常少。其原因是:无论是在网络带宽方面,还是在CPU 开销方面,SOAP 都会给应用造成严重的性能恶化,以致于该技术无法适用于许多有苛刻性能要求的系统。尽管SOAP 提供
5、了on-the-wire 规范,要开发现实的应用,那仍是不够的,因为该规范提供的抽象层次太低。应用可以把各种SOAP 消息拼凑在一起,但这样做极其繁琐而易错。缺乏更高级的抽象促使供应商提供各种应用开发平台,使遵从SOAP 的应用开发自动化。但是,除了协议一级,这些开发平台完全没有标准化,不可避免是私有的,所以用一家供应商开发的应用无法与其他供应商的中间件产品一起使用。关于SOAP 和web services 的架构安全性,有一些严重的担忧。 这些使人不快的选择,ZeroC, Inc. 决定开发Internet Communications Engine,简称Ice。Riverace公司()采用
6、开放源码商业模式对ACE进行商业支持。此外, ACE开发组的许多成员目前正在进行The ACE ORB(TAO,http:/www.cs.wustl.edu/schmidt/TAO.html)的开发工作。ACE自适配通信环境(ADAPTIVE Communication Environment)是可自由使用、开放源码的面向对象(OO)框架(framework),它实现了许多用于并发通信软件的核心模式。ACE提供了一组丰富的可重用C+包装外观(wrapper facade)和框架组件,可跨多种平台完成通用的通信软件任务,其中包括:事件多路分离和事件处理器分派、信号处理、服务初始化、进程间通信、共
7、享内存管理、消息路由、分布式服务动态(重)配置、并发执行和同步,等等。ACE的目标用户是高性能和实时通信服务和应用的开发者。它简化了使用进程间通信、事件多路分离、显式动态链接和并发的OO网络应用和服务的开发。此外,通过服务在运行时与应用的动态链接,ACE使系统的配置和重配置得以自动化。ICE (Internet Communications Engine)是ZeroC提供的一款高性能的中间件,基于ICE可以实现电信级的解决方案。前面我们提到过在设计网站架构的时候可以使用ICE实现对网站应用的基础对象操作,将基础对象操作和数据库操作封装在这一层,在业务逻辑层以及表现层(java,php,.net
8、,python)进行更丰富的表现与操作,从而实现比较好的架构。基于ICE的数据层可以在未来方便的进行扩展。ICE支持分布式的部署管理,消息中间件,以及网格计算等等。Ice和ACE在性能与开发简便上深化了.CORBA这是一个老牌的分布式中间件平台,并且以其标准实现困难,开发者使用困难而著称。 Ice 采用的许多思想也能在CORBA 及以前的一些分布式计算平台中找到。在有些方面, Ice 与CORBA 非常接近,而在另外一些方面,它们的差异则意义深远,并且在架构上有着广泛的影响。如果你曾经使用过CORBA,了解这些差异十分重要。尽管从表面看来, Ice 对象模型与CORBA 对象模型是一样的,但它
9、们在一些重要方面却有所不同。类型系统Ice 对象和CORBA 对象一样,都只有一个派生层次最深的(most derived) 主接口。但Ice 对象可以提供其他接口作为facets。重要的是要注意到,一个Ice 对象的所有facets 都具有相同的对象标识,也就是说,客户看到的是具有多个接口的单个对象,而不是看到多个对象、每个对象有不同的接口。facets 提供了极大的架构灵活性。特别地,它们为版本管理问题提供了一种解决途径:你可以简单地给已经存在的对象增加新的facet,轻松地扩展某个服务器的功能,而不会破坏已有的、已经部署的客户。代理语义Ice 代理(CORBA 对象引用的等价物) 不是不
10、透明的。 客户只要知道对象的类型和标识,无需其他系统组件的支持,就可以创建出代理(在使用间接绑定时, 不必了解对象的传输地址)。ACE的好处包括:(1)增强可移植性:在ACE组件的帮助下,很容易在一种OS平台上编写并发网络应用,然后快速地将它们移植到各种其他的OS平台上。而且,因为ACE是开放源码的自由软件,你无需担心被锁定在特定的操作系统平台或编译器上。(2)更好的软件质量:ACE的设计使用了许多可提高软件质量的关键模式,这些质量因素包括通信软件灵活性、可扩展性、重用性和模块性。(3)更高的效率和可预测性:ACE经仔细设计,支持广泛的应用服务质量(QoS)需求,包括延迟敏感应用的低响应等待时
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ICE ACE 高效 网络 编程 中间件 平台
限制150内