Ice中间件
Ice 是一种面向对象的中间件平台。从根本上说,这意味着 Ice 为构建面向对象的客户-服务器应用提供了工具、 API 和库支持。 Ice 应用适合在异构环境中使用:客户和服务器可以用不同的编程语言编写,可以运行在不同的操作系统和机器架构上,并且可以使用多种网络技术进行通信。无论部署环境如何,这些应用的源码都是可移植的。
Slice语言
在介绍 Ice 工作原理之前,有必要来了解一下 Slice语言。
Slice( Specification Language for Ice )是一种用于使对象接口与其实现相分离的基础性抽象机制。 Slice 在客户与服务器之间建立合约,描述应用所使用的各种类型及对象接口。这种描述与实现语言无关,所以编写客户所用的语言是否与编写服务器所用的语言相同,这没有什么关系。 Slice 定义由编译器编译到特定的实现语言 。编译器把与语言无关的定义翻译成针对特定语言的类型定义和 API 。开发者使用这些类型和 API 来提供应用功能,并与 Ice 交互。用于各种实现语言的翻译算法称为语言映射( language mappings )。 Ice 目前定义了 C++, Java, C#, Python, Objective-C, Ruby, PHP. 的语言映射。 Slice 定义的文件扩展名为 .ice 。
以上是官方文档的表述,难以形成清晰的概念,如果用一种不太严谨但更容易理解的话来讲,
Slice是一种用于定义接口的中间语言。
Ice基本原理


有了Slice 语言的基本概念,理解 Ice 的工作原理变得容易,下图很好地呈现了 Ice 的工作原理及执行流程:
1. 首先用slice 语言编写好“接口”
2. 接口编好后,自然要去实现它,这时可以选择任一种宿主语言去实现该接口。本图例用的是C++ 。用相应编译器生成辅助代码后,开发者在此基础上进行业务逻辑的开发。实现接口的一方通常作为服务端,可利用 Ice 提供的 api 发布服务。
3. 作为调用方,同样可以选择任一种宿主语言。本图例是用Java 。
4. 服务端运行后,客户端便可调用其提供的接口。Ice 为我们屏蔽了底层的通讯细节。
ICE系列培训(一)
ICE系列培训(二)_图文
ICE系列培训(三)
ICE系列培训(四)
ICE系列培训(五)
ICE各核心工作原理
ICE接口开发使用手册
RPC之ICE java简单使用
快速入门ice--使用eclipse开发ice进阶-->支持ICEBOX
Ice中间件研究集群实现
https://github.com/weiofcn/The-Roadmap-Of-Learning-Ice
ICE英文文档:http://download.zeroc.com/Ice/3.5/Ice-3.5.1.pdf
ICE引入文件报错
error: Can't open include file "ModelA.ice" #include <ModelA.ice>
解决方法:
项目--》右键--》properties-->Slice2java Properties --?options->Add-->
找到本项目的slice文件夹,保存即可。
浙公网安备 33010602011771号