ice 主题好blog

http://www.iteye.com/topic/182975


ice平台概览


 nonmutating关键字指出了  方法  操作不会修改它所操作的对象的状态。

对于nonmutating操作,换句话说,客户端的运行时可以尝试再次连接和安全的二次送出失败的请求。如果第二次发送能够到达服务器,那么万事OK。只有第二次再次失败,错误才会报告给应用(错误重试的次数可以在Ice的配置文件中配置)。


  idempotent关键字指出了一个操作能够安全的执行多次。同nonmutating操作一样,Ice运行时使用idempotent来达到更积极地错误恢复。\

例如一般的get类接口。

interface Clock

        {
                nonmutating TimeOfDay getTime();
                idempotent void setTime(TimeOfDay time);
        };

    对某一个操作进行两次成功的操作,其结果都一样,就像只调用了一次一样,那么这个操作就是idempotent操作。

Slice内建类型映射到JAVA类型:

bool  boolean

byte  byte

short   short

int int

long long

float float 

double double 

string String


AMI

Asynchronous Method Invocation,对于客户端而言,用于表示某个服务器端接口是异步操作,需在Slice中使用metadata来修饰这个接口,例如:
["ami"]  void sayHello(int delay)

AMD

Asynchronous method dispatch,这个针对于服务器端,同样表示这个接口是异步操作,需在Slice中使用metadata来修饰这个接口:
["ami", "amd"]  void sayHello(int delay)
通常对于这种异步接口而言,都需要使用Slice metadata ami和amd同时修饰。

Freeze  服务
Freeze用于将Slice对象持久化到数据库中,按照Manual里的说法,它应该是一个编译器,可以生成一些持久化操作的代码。Freeze持久化对象时使用的数据库是Berkeley DB。


IceBox 服务
IceBox可用于管理服务器中的动态组件。这些动态组件本质上也是提供服务的ICE程序。在形式上,这些组件可以是动态连接库。


IceGrid服务
IceGrid相当于一个DNS解析服务,可以让服务器不用配置EndPoint,客户端也不用指定服务器的EndPoint,以方便大量的服务器部署。在一般的应用中,我们需要为ICE服务器指定绑定的网络地址(IP和端口),同时也需要为客户端指定服务器端的地址信息。当服务增加到一定数量时,就会存在管理上和配置上的麻烦。而IceGrid则是用于避免这种麻烦,将服务器端和客户端上的地址信息通过一个符号代替,就像我们把Internet上的服务器使用域名来标识一样。
但IceGrid的作用不仅如此,通过配合部署一系列称为IceGrid Node的程序,IceGrid还可以管理各个服务器的启动、关闭、宕机重启等,其中甚至包括负载均衡。


Glacier2服务
按我的理解,Glacier2就像一个网关服务器。它被部署在服务器和客户端之间,我们的服务器群部署在内网,外网不可访问,然后通过Glacier2,外部网络的客户端就可以访问内网的服务器群提供的服务。
对于服务器的开发而言,使用Glacier2,服务器端不需要做任何改动。客户端需要配置Glacier2服务的地址信息,也需要配置要使用服务器的地址信息。Glacier2通过客户端欲访问的服务器地址,在内网定位到真实的服务器,并转发请求提供服务。
Glacier2支持验证客户端,从这一点看来,它又有点像一个验证服务器。通过验证客户端,以提供被正确授权的客户端以完整服务。


管理服务
ICE服务器可以提供给外部一定的管理功能,包括:关闭服务器、读取服务器配置。这个功能是通过操作Ice.Admin这个Ice Object来实现的。这个Object包含两个Facet:Process和Property,分别对应于关闭服务器和读取服务器配置功能。
对于需要管理服务器的客户端而言,可以大致通过如下代码不完成。


ICE异常:

Ice::LocalException  运行时异常 。

Ice::UserException   用户异常 

Ice::TimeoutException 

Ice:: ConnectionTimeoutException

java接口文件






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值