二。Ice综述
1.3)Slice(Ice规范语言)
1.3.1)概述
每个Ice对象都有一个接口,该接口具有一些操作。接口、操作,还有在客户与服务器间交换的数据类型,都是用Slice语言定义的。Slice语言一种独立于特定编程语言的方式来定义客户-服务器的合约。Slice定义由一个编译器编译成特定编程语言的API,也就是说所定义的接口和类型对应的那一部分API会由生成的代码组成。
1.3.2)语言映射(后续会详细介绍)
1.3.3)客户与服务器的结构
客户与服务器都由这样一些代码混合而成:应用程序代码,库代码,根据Slice定义生成的代码:
a)Ice核心为远地通信提供了客户端与服务器端运行时的支持。
b)Ice核心的通用部分,也就是与Slice定义的特定类型无关的部分,可以通过Ice API访问。
c)代理代码是根据Slice的定义生成的,因此与Slice定义的对象很热数据的类型是对应的。
1.3.4)Ice协议
Ice提供了一种RPC协议,既可以把TCP/IP,也可以把UDP用作底层传输机制。此外,Ice还允许把SSL用作传输机制,让客户与服务器之间的通信进行加密。
Ice协议定义了:消息类型(请求or答复),协议状态机,编码规则,消息内容等等。
1.3.5)对象持久
Ice拥有内建的对象持久服务,叫做Freeze。Freeze能够让我们在数据库中存储对象状态:先用Slice定义某个对象要存储的状态,Freeze编译器会生成代码,用
据库中存储和取回对象状态。
1.4)Ice服务
Ice核心为分布式应用开发提供了一个完善的-服务器平台。但现实应用需要的常不止是远地通信能力,他还需要包括:随需启动服务器、把代理分发给客户、分发异件、配置应用、分发应用补丁等等。
1.4.1)IcePack:Ic的定位服务器,用于在使用简介绑定时把符号性的适配器名解析为协议-地址对。
1.4.2)IceBox:一种简单的应用服务器,可用于协调许多应用组件的启动和停止。应用组件可以作为动态库,而不是进程进行部署。
1.4.3)IceStorm:IceStorm是一种发布-订阅服务,能够解除客户与服务器之间的耦合。本质上它充当事件分发交换机。发布者将事件发给他,由他发给订阅者。
1.4.4)IcePatch:IcePatch是一种软件修补服务,通过它可以把软件更新分发给客户。
1.4.5)Glacier:Ice的防火墙服务。
1.5)Ice在架构上提供的好处
为应用开发者提供了一些好处:
a)面向对象的语义:“在线路上”保留面向对象范型。
b)支持同步和异步的操作调用和分派,并通过IceStorm提供了发布-订阅消息传递机制。
c)支持多个接口:对象可以提供多个不相关的接口,同时又跨越这些接口,保持单一的对象标识。
d)机器无关性:客户及服务器与底层的机器架构屏蔽开来。
e)语言无关性:客户和服务器可以分别部署,所用语言也可以不同。由Slice定义建立两者之间的接口合约。
f)实现无关性:客户与服务器之间,各自的内部实现对于对方来说是隐藏的。
g)传输机制无关性:客户与服务器代码不需要了解底层的传输机制。目前Ice采用了TCP/IP和UDP来作为传输协议。
分享到:
相关推荐
ICE-2.0.3-for-64-bit-Windows, window10可用的图像拼接工具
python库,解压后可用。 资源全名:zeroc_ice-3.7.0-cp36-cp36m-win_amd64.whl
rpm -ivh Ice-3.5.1-el6-x86_64-rpm.tar.gz
ice 第三方基础库windows安装包,Ice-3.5.1-4-ThirdParty
Ice-3.2.1-VC80.msi ice安装包,支持vs2015
Ice-3.2.1-ThirdParty-VC80.msi ice第三方依赖包的windows安装程序
ice-3.4.2-1.rhel6.noarch.rpm ice-libs-3.4.2-1.rhel6.i386.rpm ice-java-3.4.2-1.rhel6.noarch.rpm ice-java-devel-3.4.2-1.rhel6.i386.rpm ice-utils-3.4.2-1.rhel6.i386.rpm ice-servers-3.4.2-1.rhel6....
TRACE32、Open-ICE、Multi-ICE、Banyan-ICE安装使用手册
iceberg-hive-runtime-0.11.0.jar
ice-dubbo-thrift-grpc性能测试对比 ,ice-dubbo-thrift-grpc性能测试对比,ice-dubbo-thrift-grpc性能测试对比,ice-dubbo-thrift-grpc性能测试对比
zeroc_ice-3.7.6-cp38-cp38-win_amd64
Ice-3.3.1-ThirdParty-VC80Ice-3.3.1-ThirdParty-VC80
windows版,ICE-3.5.1第三方库;ICE(Internet Communications Engine)是ZeroC提供的一款高性能的中间件,基于ICE可以实现电信级的解决方案。
Ice-3.3.1 编译依赖第三方软件,安装Ice-3.3.1中间件必下载。
Ice是“一种现代的面向对象中间件。为上层应用提供高效的网络通信平台。 它提供了跨平台 ,跨语言的解决方案,这里提供ICE-3.5.1的demo程序。
develop the Internet Communications Engine, or Ice for short. 1 The main design goals of Ice are: ? Provide an object-oriented middleware platform suitable for use in heteroge- neous environments. ?...
flink-1.13.2 iceberg0.13
目前最新的ice安装包(Ice-3.4.2安装包),ice及Internet Communications Engine是一种中间件