ICE专题:ICE起步
ICE初步
最早开始接触ICE是在2005,3月份,当时一个朋友向另一个正打算研究corba的朋友强烈的推荐了ICE.
1.什么是ICE?
ICE(internet communications engine)是适用于异种环境的面向对象中间件平台。
那么什么是中间件呢?
比较流行的定义是:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机/服务器的操作系统之上,管理计算资源和网络通讯。
从中间件的定义可以看出,中间件是一类软件,而非一种软件;中间件不仅仅实现互连,还要实现应用之间的互操作;中间件是基于分布式处理的软件,定义中特别强调了其网络通讯功能.
(如此说来,twisted就是一个中间件)
目前中间件的三大主流平台:
1.OMG的CORBA
2.sun的J2EE(包括ejb等技术)
3.MS的Microsoft DNA 2000(DCOM/COM/COM+等技术)
关于中间件的介绍:http://tech.ccidnet.com/pub/article/c322_a204949_p3.html
2.ICE的一些概念
- 服务器/客户端(server/client):这个的定义与一般的定义相同,主动的一方被认为是client
- ICE对象:跟OOP中的对象类似,不同之处在于,在分布式的环境中,同一个ICE对象在不同的地址空间中都可能存在着.ICE对象也提供了一组接口(facets).ICE对象还有一个特殊的接口:主接口.
- 代理(proxies):是ICE对象引用,代理是在客户地址空间,客户对ICE对象的操作就是通过代理来进行的.代理封装了完成:ICE对象的寻址(包括服务器的寻址),激活ICE对象,传入参数,等待执行并返回执行结果
- servant:在服务器上的执行体,ICE对象对服务器的操作就是通过调用servant.
- "最多一次"原则:一次对目的的访问,只会执行一次(并不排除出错重试)