关于ICE的介绍,网上的资料有很多,但是从应用的角度上去评述的并不多,在技术革新的今天我们可能更多的是去关注应用领域而非研究领域,因此根据 我个人的使用经验,想对ICE技术做一些总结和介绍。
什么是ICE(Internet Communications Engine)呢,它是由Zeroc公司开 发的一套开源中间件系统,与DCOM,CORBA,WEB SERVICEDcom类似,支持RPC(Remote Procedure Call 远程过程调用)协议,但是在效率上却高于前面所述几种技术方案,是一种适用于各种环境的面向对象的中间件平台:客户和服务器可以用不同的编程语言来编写, 可以运行在不同的操作系统和系统架构上,并且可以使用多种网络技术经行通信(例如TCP、UDP、SSL等),这给我们的应用和部署带来很大的便捷性。
ICE的优点
1、跨平台,支持多种语言
2、面向对象编程
3、为分布式应用方面提供了一整套 强大的特性和功能支持(例如负载平衡、软件分发、数据同步等)。
4、在网络带宽、内存使用和CPU开销方面已经内置了高效的实现。
5、内置了安全特征的实现,可跨越不安全的网络(广域网)使用。
6、降低了复杂性,易于学习和使用。
与WebService的对比
说道远程调用,我们最熟悉的莫过于WebService了,那么就对他们做一下简单的对比,其 中星的颗数有待商榷,表达的也仅是一种意思,不过从我个人的角度上来看,他们已经没有可比性了,因为你拿的是一台机器和一群机器在比。
在我看来,ICE的强大在于它推出了ICEGrid,在 后续的文章中我将会重点介绍它。
一些基础的概念和模型
首先我们来看看ICE的基础调用模型(如下 图所示),值得一提的是在单项调用和数据报业务中,4、5、6几步是没有的,这里面的几个概念和关键词特别重要,也是我们后面学习的基础
Client(客 户端):估计这个大家都非常清楚,通俗的讲就是一个请求的发起方。