ICE 入门(2)

原创 2015年07月10日 17:50:05

Ice 对象(Ice Objects)
Ice 对象是一种概念性的实体(或称抽象)。Ice 对象具有以下特征:
• Ice 对象是本地或远地的地址空间中、能响应客户请求的实体。
• 一个Ice 对象可在单个或多个服务器中实例化(后者是冗余方式)。如果
某个对象同时有多个实例,它仍是一个Ice 对象。
• 每个Ice对象都有一个或多个接口。 一个接口是一个对象所支持的一系列
有名称的操作。客户通过调用操作来发出请求。
• 一个操作有零个或更多参数,以及一个返回值。参数和返回值具有明确
的类型。参数是有名称的,并且有方向:in 参数由客户初始化,并传给
服务器; out 参数由服务器初始化,并传给客户(返回值只是一种特
殊的out 参数)。

• 一个Ice 对象具有一个特殊的接口,称为它的主接口。此外, Ice 对象还
可以提供零个或更多其他接口,称为facets (面)。客户可以在某个对
象的各个facets 之间进行挑选,选出它们想要使用的接口。
• 每个Ice 对象都有一个唯一的对象标识(object identity)。对象标识是用
于把一个对象与其他所有对象区别开来的标识值。Ice 对象模型假定对
象标识是全局唯一的,也就是说,在一个Ice 通信域中,不会有两个对
象具有相同的对象标识。

代理(Proxies)
要想与某个Ice 对象联系,客户必须持有这个对象的代理1。 代理是客户
的地址空间中的一种制品(artifact);对客户而言,代理就是Ice 对象的
代表(该对象可能在远地)。一个代理充当的是一个Ice 对象的本地大使:
当客户调用代理上的操作时, Ice run time 会:
1. 定位Ice 对象
2. 如果Ice 对象的服务器没有运行,就激活它
3. 在服务器中激活Ice 对象
4. 把所有in 参数传送给Ice 对象
5. 等待操作完成
6. 把所有out 参数及返回值返回给客户(或在发生错误的情况下抛出异
常)
Slice:
每个Ice 对象都有一个接口,该接口具有一些操作。接
口、操作,还有在客户及服务器间交换的数据的类型,都是用Slice 语言定
义的。Slice 允许你以一种独立于特定编程语言(比如C++ 或Java)的方
式定义客户-服务器的合约。 Slice 定义由一个编译器编译成特定编程语言
的API,也就是说,与你所定义的接口和类型对应的那一部分API,会由生
成的代码组成。

ice入门

什么是ICE (Internet Communications Engine)      首先,ICE是一个中间件(如果不懂什么是中间件,请先G一下),该中间件的目的是为上层应用提供高效的网络通信。...
  • zhu2695
  • zhu2695
  • 2016年05月24日 23:58
  • 997

ICE 入门(1)

Ice 全称The Internet Communications Engine 。网络互联引擎。 Ice 是一种面向对象的中间件平台。从根本上说,这意味着Ice 为构建面向对象的客户-服务 器应用提...
  • a379039233
  • a379039233
  • 2015年05月19日 14:04
  • 578

ICE入门之hello world

本文主要讲解ICE入门第一个hello world程序编写,内容来源于ICE官方文档。
  • wuche2010
  • wuche2010
  • 2016年12月26日 10:26
  • 480

微服务:ICE 入门之 编译环境搭建

俗话说分享是学习的重要途径之一,提高自己的过程,学习,研究,应用,解决问题,总结,分享;闲来无事时便可总结下自己学习过的知识,把之前遇到过的问题也上升到方法论,把自己踩过的坑也罗列出来以防重蹈覆辙!好...
  • chary8088
  • chary8088
  • 2016年12月27日 09:27
  • 1104

python for ice入门(2)

ice入门(2) 继续后半段 4.编写客户端 客户端代码Client.py,和Server.py非常相似。下面是完整的代码: import sys, traceback, Ice import Dem...
  • cp62
  • cp62
  • 2008年12月12日 11:13
  • 1358

python for ice入门(1)

ice入门(1) 先从ice网站上下载ice 2.0 for windows,这个版本要求安装dotnet,安装完ice后,要设置一下系统变量 set ICE_HOME=d:/ice-2.0.0 se...
  • cp62
  • cp62
  • 2008年12月12日 11:12
  • 4057

ICE Java语言开发入门教程

一、开发环境与工具 1、Eclipse Mars.1 (4.5.1)  2、Windows OS 3、下载Ice-3.6.1.msi并直接安装即可。官网地址:https://zeroc.com/dow...
  • god_wot
  • god_wot
  • 2015年12月16日 22:57
  • 7699

ICE学习(二)-Ice编程 C++

本节介绍下如何用C++编写ICE程序,步骤和之前编程模型里介绍的是一样的。 这个程序很简单,是一个远程打印,客户端发一个字符串给服务器,服务器打印再发一个回复回来。 1.写Slice Defini...
  • kaede999
  • kaede999
  • 2014年04月05日 21:39
  • 1514

ICE入门(helloworld)

转载请注明原创地址:http://blog.csdn.net/iflychenyang/article/details/8900263 VS2010配置ICE3.4.2 1.首先当然是...
  • iflychenyang
  • iflychenyang
  • 2013年05月08日 14:54
  • 6028

Centos 6.6 安装ICE

关于ICE是什么,ICE用在哪里就不介绍了。直接介绍安装过程。 官网下载Ice-3.5.1-el6-x86_64-rpm.tar.gz,在/usr目录下,新建icerpm文件夹,将安装包拷贝到当前文件...
  • shahexiaoxiami
  • shahexiaoxiami
  • 2015年06月16日 15:01
  • 1272
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ICE 入门(2)
举报原因:
原因补充:

(最多只允许输入30个字)