公司给讲了一堂课,主要是讲
Ice 的,和C++的同事一起听的。记录一些内容,另外放一些自己看过的资料:
1,学习Ice必须的网站
www.zeroc.com
2,ice简介
ICE(Internet Communications Engine)是一个为现实中程序员而写的中间件平台。作为一个高性能的互联网通信平台,ICE包含了很多分层的服务和插件(Plug-ins),并且简单、高效和强大。
ICE的自由使用遵从GNU的GPL(GNU General Public Licens)许可的条款。ICE也有商业的许可证,如果你想将ICE使用在你的私有产品中,那么你应该使用ICE的商业许可证。可以联系sales@zeroc.com来获得这方面的更多信息。
ICE当前支持C++、Java、C#、Visual Basic、Python和PHP编程语言,并支持在多种操作系统上运行。更多的操作系统和编程语言将会在以后的发布中支持。
ICE有以下几部分组成:
Slice
ICE的规范语言,跟CORBA的IDL(Interface Definition Language)等价的东西。Slice建立了客户端和服务器端共同遵守的契约:接口。Slice也用来描述对象持久数据。
Slice Compilers
Slice的规范语言可以影射成多种编程语言。目前ICE支持C++,Java,Python,PHP,C#和VB的语言影射。Ice的客户端和服务器端协同工作,而不会知道分别实现的是何种编程语言。
Ice
Ice的核心库。在众多的特性当中,Ice核心库通过一个高效的协议(包含TCP/UDP层上协议压缩)来管理所有的通信任务,为多线程服务器提供了一个灵活的线程池,并且有特别的功能来支持上百万对象的可扩展性。
IceUtil
一些常用的功能函数集。例如Unicode处理和多线程编程,是用C++写成。
IceBox
一个专用于ICE应用的应用服务器。ICEBox可以方便地运行和管理动态加载、共享库或java类的形式Ice的服务。
IcePack
一个成熟的服务激活和部署工具。IcePack能大大简化在异构网络之间部署应用的复杂性。只要简单的编写XML格式的一个部署描述文件,IcePack就能自动处理剩下的工作。
Freeze
Freeze提供了Ice Servants对象的自动持久性。通过几行代码,一个应用就可以生成一个高度可扩展的逐出器(evictor)来高效地管理持久对象。
FreezeScript
在大的软件项目里,持久对象的数据类型改变很常见。为了最小化这些变化的影响,FreezeScript提供了相应的工具来检查和移植Freeze生成的数据库。这些工具支持XML格式的配置脚本,易于使用。
IceSSL
用于Ice核心的动态的SSL传输插件。提供了认证、加密和消息完整性,使用工业标准的SSL协议来实现。
Glacier
面向对象中间件平台的一个最大的挑战是安全性和防火墙。Glacier是Ice的防火墙解决方案,它大大简化了安全程序的部署。Glacier认证和过滤客户的请求并允许服务器通过安全的方式回调客户端对象。结合IceSSL的使用,Glacier提供了强大的安全解决方案,即安全,又易于配置管理。
IceStorm
一个支持联盟的消息服务。和大多数的其他消息和事件服务相比,IceStorm支持有类型的事件,这意味着通过联盟广播一个消息和调用一个接口上的一个方法一样容易。
IcePatch
一个软件修补和分发的服务。为确保运行的软件是最新的版本,要经常更新软件,这是一件乏味的工作。IcePatch自动更新在某个目录层次下的文件。只有需要更新的文件会下作到客户端,为了快速的下载更新,IcePatch使用的高效的压缩算法。
3、ice vs corba差异
http://gigaboy.bokee.com/2158057.html
4、ice vs corba性能对比
http://gigaboy.bokee.com/2160870.html
5、ice评价
corba是一个规范,ice不是 ice的特性是zeroc想怎样就怎样的 所以也不会有第三方产商参与 ice对各种平台的支持也只有zeroc的实现版本。使用Ice不用自己设计传输协议了 ,Ice有成熟的商用案例。ICE是以前Corba的开发者来开发的,吸取了corba的长处,避免了一些短处,特点是:效率高、简单、免费
分享到:
相关推荐
总结来说,ICE是一种强大的分布式计算框架,具有与CORBA类似的接口规范,但更易于开发和使用。通过学习提供的资源,如Ice.ppt和www.pudn.com.txt,开发者可以掌握ICE的基础知识,了解其工作原理,并能将其应用于实际...
此外,还通过与CORBA的对比,进一步阐述了ICE的特点。随后,文档通过一个简单的HelloWorld应用示例,展示了如何编写Slice定义,并通过C++和Java编写ICE应用程序。 _slice语言_是ICE的核心部分,文档详细介绍了Slice...
ICE网络编程 介绍ICE中间件,远程过程调用RPC,适用于C++ Java等各种语言
虽然Ice和CORBA都旨在解决分布式计算的问题,但它们之间存在一些关键差异: - **语法和API**:Ice采用了更为简洁明了的API设计,降低了学习曲线。 - **跨语言支持**:Ice提供了更多编程语言的支持,包括Java、C++...
3. Ice与CORBA的对比:CORBA(Common Object Request Broker Architecture)是另一种流行的分布式对象体系结构,它允许不同编程语言和平台编写的对象进行通信。文档中将对Ice架构和CORBA进行比较,帮助读者了解两者...
CORBA(Common Object Request Broker Architecture,通用对象请求代理体系结构)是一种分布式面向对象应用架构规范,该技术由对象管理组织(Object Management Group,OMG)在20世纪80年代末提出,并在90年代逐渐...
Ice(Internet Communications Engine)是ZeroC公司的杰作,继承了CORBA的血统,是新一代的面向对象的分布式系统中间件。Ice是RPC通讯领域里最稳定、强大、高性能、跨平台、多语言支持的老牌开源中间件,特别适合于...
Ice,全称是“Instantiation's Corba eXtension”,是由Instantiation公司开发的一种轻量级、高性能的分布式对象计算框架,它提供了类似CORBA的功能,但更简单易用且效率更高。 在压缩包内的文件名称列表中,我们...
它基于Corba(Common Object Request Broker Architecture)理念,但设计更为现代,提供了更简洁的API和更高效的通信机制。ICE中间件支持多种编程语言,如C++、Java、Python等,使得不同语言间的交互变得更加容易。 ...
3. **接口定义语言(IDL)**: ICE有自己的接口定义语言,用于描述服务接口和数据类型,与CORBA的IDL类似,但更简洁且具有面向对象特性。 4. **自动序列化和反序列化**: ICE处理数据的序列化和反序列化,使得不同...
CORBA(公共对象请求代理体系结构)是由 OMG 组织标准化的一种技术,而 Ice 是 ZeroC 公司的一个产品。虽然两者都旨在解决分布式计算问题,但 Ice 更侧重于灵活性和易用性。 ##### 4.2 可扩展性 Ice 在设计上更加...
ICE的idl类似于CORBA的IDL,用来描述分布式系统中的接口和数据类型。 `bin`目录一般存放编译后的类文件和可执行文件。在ICE项目中,服务端和客户端的运行时二进制文件会被放置在此处。 总结起来,这个"ice-3.6.3 ...
文章可能会比较ICE与其他中间件的区别,如CORBA或RMI,突出ICE的现代特性和优势。 《大型多玩家游戏中间件_MichiHenning.pdf》再次由Michi Henning撰写,可能侧重于ICE在大型多人在线游戏中的应用。他可能会详细...
ICE是由Zeroc公司开发的,旨在提供一种比传统的CORBA(Common Object Request Broker Architecture)更优秀、更现代的解决方案。ICE吸取了CORBA的精华,并在此基础上进行了优化,以适应现代分布式应用的需求。 ICE...
Ice与CORBA(Common Object Request Broker Architecture)都是用于构建分布式系统的框架,但两者在设计理念上存在显著差异。CORBA更侧重于规范和标准,而Ice则更加注重易用性和性能。Ice的Slice语言比CORBA的IDL...
16.17 对比 Ice 与 CORBA Run Time 430 16.18 总结 432 第 17 章 异步程序设计 443 17.1 本章综 443 17.2 引言 443 17.3 使用 AMI 446 17.4 使用 AMD 452 17.5 总结 459 第 18 章 Ice 协议 463 18.1 本章综 463 18.2...
文档的结构分为多个部分,首先介绍Ice的概述,包括其架构、服务和相对于CORBA的优势。然后,通过"Hello World"应用的实现,展示了Ice在C++和Java中的基本使用方法。接下来,深入讨论了Slice语言,这是Ice中的接口...
zeroc ICE(Internet Communications Engine)是一个强大的面向对象的远程过程调用(RPC)框架,源自CORBA技术,但设计上更为现代化和轻量级。它为开发者提供了构建分布式应用程序的高效工具,支持多种编程语言,如...