ICE中间件第一篇简介

一  简介

Ice是“一种现代的面向对象中间件。为上层应用提供高效的网络通信平台。

它提供了跨平台 ,跨语言的解决方案。

一个简单的示意图。



相关的名词:

1  Ice 对象是一种概念性的实体 (或称抽象) 

ice对象其实是服务器的抽象化

  Ice 对象具有以下特征: 。

Ice 对象是本地或远地的地址空间中、能响应客户请求的实体。
一个 Ice 对象可在单个或多个服务器中实例化。每个 Ice 对象都有一个唯一的对象标识 (object identity)

每个Ice对象都有一个或多个接口。一个接口是一个对象所支持的一系列有名称的操作。客户通过调用操作来发出请求。



2Servants

servant其实是服务端实质的动作代码。对象包含servant

在服务器端提供操作调用的行为的制品叫作 servant。一个 servant 提供一个或多个 Ice 对象的实质内容 (或体现这些对象, incarnate)
。实际上,servant 就是服务器开发者编写的类的实例,这些类作为一个或多个 Ice 对象的 servant、向服务器端 run time 进行注册。类的方法对应于 Ice 对象的接
口上的操作,并且提供这些操作的行为。

3 代理

代理 (Proxies)是对象的本地大使,供客户端调用。
要想与某个 Ice 对象联系,客户必须持有这个对象的代理1。代理是客户
的地址空间中的一种制品 (artifact);对客户而言,代理就是 Ice 对象的
代表 (该对象可能在远地)
。一个代理充当的是一个 Ice 对象的本地大使:
当客户调用代理上的操作时, Ice run time 会:
1. 定位 Ice 对象
2. 如果 Ice 对象的服务器没有运行,就激活它
3. 在服务器中激活 Ice 对象
4. 把所有 in 参数传送给 Ice 对象
5. 等待操作完成
6. 把所有 out 参数及返回值返回给客户 (或在发生错误的情况下抛出异
常)

代理封装了完成这一系列步骤所必需的全部信息。

4通信器

通信器创造适配器。


4 对象适配器 (object adapter)

是专用于服务器端的 Ice API 的一部分:只有服务器才使用对象适配器。

对象适配器把来自客户的请求映射到编程语言对象上的特定方法。换
句话说,对象适配器会跟踪在内存中,都有哪些 servant,其对象标识
又是什么。










二 一个例子

图示如下:














参考 :

1书籍《 ICE分布式程序设计.pdf》很好

比较全面的ICE教程

入门概念介绍

4 http://blog.sina.com.cn/s/blog_72b7a82d0100s7yl.html

原文地址:https://www.cnblogs.com/catkins/p/5270653.html