本章我们来稍微了解下Ice概念和原理,前面已经跑通过一个小例子,再回过来看概念和原理,可能会容易理解一些。作为一个复杂的RPC平台,Ice也创造了很多概念和术语,其中一个名词就是Slice,这个前面已经学习过了,但现在也只是会用,具体生成那一坨文件还没有细看。下面我们从几个基本概念来看下。
Ice Object
关于Ice Object,截取《ZeroC Ice权威指南》中的一句话:
本章我们来稍微了解下Ice概念和原理,前面已经跑通过一个小例子,再回过来看概念和原理,可能会容易理解一些。作为一个复杂的RPC平台,Ice也创造了很多概念和术语,其中一个名词就是Slice,这个前面已经学习过了,但现在也只是会用,具体生成那一坨文件还没有细看。下面我们从几个基本概念来看下。
关于Ice Object,截取《ZeroC Ice权威指南》中的一句话:
上一篇我们跑通了简单的Ice小例子,这一篇我们把hello项目改造下,主要涉及两个方面:
首先在attempt_ice目录下新建一个项目ice_better_hello,步骤参照上一篇的新建项目章节。
这一篇我们以一个简单的例子来跑通Ice,顺便慢慢地搭建项目的框架。
项目的构建工具选用gradle,至于为什么,后面就知道了。Gradle官网官网有详细的安装步骤,这里就不赘述了。
开发工具我用的是IDEA,安装个Gradle插件即可。在之前的attempt_ice目录下新建一个项目ice_hello,直接在IDEA中通过图形界面新建gradle项目就没啥好说了。对了,把【初识】篇章建的测试文件demo.ice、interface.ice还有生成的目录都删了吧,留着碍眼。gradle项目的结构和maven一样,如果创建的项目没有src目录,执行以下步骤:
本系列博客的目的是为了学习ZeroC Ice的使用,并且和实际项目框架相结合,最后考虑是否能将这一产品引入到当前项目中,或者为新项目的技术选型多一个备选方案。
到底什么是ZeroC Ice?用一句话概括就是支持多语言的RPC框架。暂且不去管它的优缺点,得先学了再说。本系列的知识点来自《ZeroC Ice》权威指南和官网文档。在这里向《ZeroC Ice》权威指南的作者表示敬意,这是目前关于ZeroC Ice唯一的一本书。ZeroC是一家公司,Ice是该公司的产品,全称Internet Communications Engine。Ice遵循GPLv2开源协议,如果使用过程中出现问题,ZeroC公司可以提供收费支持。不扯了,下面正式开始学习。