ZeroC Ice权威指南-学习笔记1——hello world

前言

ZeroC Ice是一款很好的RPC框架,性能极好。但是参考文档不足是其一大问题,这也影响了它的传播。《ZeroC Ice权威指南》是唯一的中文教材,但写的不尽如人意,作为入门教材,啃着有点费劲。本系列博客就是学习这本教材的学习笔记,可以作为有需要的同学的辅助参考材料。其中主要是实操类的流程介绍,由于书中的ice版本比较老,和比较新的ice版本有不少使用上的差异,本系列博客使用的是ICE3.7.2,按照书中的步骤,会遇到不少的坑,所以整理了一些学习笔记。
但是!学习了一段时间发现,我所在的公司在逐步弃用ice,原因是它在超时时间处理、排查问题等方面相比http接口不太方便。所以这本书我只看了一半,并没有继续深入。因为我一直认为最好的学习是深入学习自己能经常接触的东西,这样可以实践、理论两条腿相辅相成的往前走(在实践中思考理论,在理论中思考实践)。一味的学习书本知识点,没有真实案例的巩固,很难深入一块知识,过一段时间就会遗忘。可考虑到我已经花了很多时间整理了笔记,不想浪费。在ice中文资料匮乏的互联网中,能贡献一点力量也是好的,所以我就把学习笔记直接作为博客内容了。虽然只是比较肤浅的笔记,并没有像其他博客一样做自己的深入思考和排版整理,但也能帮助需要的同学扫除一些入门的阅读以及实操障碍。
再多说一句:虽然我们公司在弃用ice,但并不代表ice不好(事实上ice非常优秀)。大部分框架软件,只有合不合适,没有太多好坏之分。学习一个软件框架就像学英语时阅读一篇英文文章或小说,它不能让你在写英语作文的时候直接照搬照抄,但在深入理解一篇文章后,可以汲取很多大师优秀的设计方法,提升写文章的水平。

Demo

本系列博客写的很粗糙,也没检查排版过,所以肯定有很多文字表达问题,下面是相关demo,可以帮助大家更好的理解。
代码

使用eclipse搭建ICE project搭建

  1. 安装ice插件(书中有介绍)
  2. 新建java project
  3. 右键项目:Ice Builder ——> Add Ice Builder 【和书中的版本不太一样】
    【img-1-1】

多出一个文件夹generated
【img-1-2】

按照Ice的项目目录约定,还需要增加一个slice文件夹
右键项目,新增文件夹slice(不用新建package)
【img-1-3】

如果eclipse的Ice插件工作正常,新建完该文件夹,在控制台就会打印出,一段信息,表示插件在你创建完目录后就尝试”编译“slice文件内的文件了。

  1. 写一个最简单的Ice 客户端、服务端通讯的demo
    在slice文件夹内新增slice文件myservice.ice 【见附件】
    当保存文件时候,就会发现,插件自动根据这个文件在生产了对应的java代码
    【img-1-4】

可惜java代码有报错,原因是:没有引用ICE的jar包
此时可以建一个lib目录,来放jar包,不过这里选择使用maven自动下载jar包,而不是去网上搜。
右键项目,把项目转成maven项目:
【img-1-5】

【img-1-6】

在pom.xml中增加依赖包
【img-1-7】

如果maven配置的没问题,就会自动下载ice的jar包,还有自动生产的代码也将会不再报错
【img-1-8】

  1. 这里可以简单观察一下大功告成的第一步骤的项目
    ice经过多年的发展重构,已经将自动生成的代码简化了很多,书上的版本会产生十几个文件,现在这个版本3.7.2已经简化到3个文件, 主要是两个接口:MyServicePrx.java
    这个是客户端使用的,而MyService.java是服务端使用的,Ice底层就负责这两个接口之间的数据交互。

  2. 写服务端核心业务逻辑代码
    这个类名随便,只需要实现服务端的核心接口即可,然后把具体的服务代码写入方法中。
    【img-1-9】

  3. 由于上面只是我们的纯业务实现。并没有main方法,无法把服务端代码跑起来,所以下面写把服务端跑起来的启动类。
    【img-1-10】

跑一下试试
【img-1-11】

至此: 一个对外提供接口的服务端就完成了!
服务名为HelloIce, ip就是当前这台机器的默认地址,端口为1888
等待客户端的访问。。。

  1. 写客户端启动类及访问代码
    【img-1-12】

启动客户端,访问服务端接口
【img-1-13】

至此:通过eclipse,我们的Ice的Hello World程序就完成了!

"Zeroc Ice权威指南"是一本详细介绍Zeroc Ice框架的权威指南Zeroc Ice是一个跨平台的分布式对象中间件,它提供了强大的通信机制和丰富的功能,使得分布式系统的开发更加简单和高效。 这本指南首先介绍了Zeroc Ice框架的背景和基本概念,包括对象适配器、服务接口、代理和通信模型等。随后,它详细讲解了Zeroc Ice框架的核心特性,如冰协议、冰片IDL语言、冰箱工具和运行时环境等。 在深入介绍了Zeroc Ice框架的基本知识后,指南开始介绍如何使用Zeroc Ice进行分布式系统的开发。它提供了大量的示例代码和实用技巧,帮助读者理解和掌握Zeroc Ice框架的使用方法。同时,指南还介绍了Zeroc Ice的扩展性和性能优化,以及与其他技术的集成和应用场景。 "Zeroc Ice权威指南"的作者具有丰富的实战经验和深入的技术理解,他们以清晰简洁的语言和实用的示例,将复杂的技术概念和实现方式向读者传达。无论是初学者还是有一定经验的开发人员,都可以从这本指南中获得有益的知识和实践经验。 总之,"Zeroc Ice权威指南"是一本对Zeroc Ice框架进行全面介绍和指导的权威指南。它的内容丰富,结构清晰,适合广大开发人员学习和使用Zeroc Ice进行分布式系统开发。阅读本指南可以帮助读者快速入门Zeroc Ice并掌握其核心特性和最佳实践,提高分布式系统开发的效率和质量。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值