- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ICE第二版模板
第2章 Zeroc ICE启程2.1 Zeroc ICE平台介绍Zeroc ICE(以下简称ICE)师出名门,是由前CORBA专家Marc Laukien、Michi Henning及SSL安全调用,并且随着IT技术的变化和发展,ICE不断地推陈出新,每年都有新版本问世,从诞生到当下,十几年的历史,其王者地位无人撼动。ICE,因此在很多细节方面都有一些值得称道的做法,下面是其中一些关键特性。支持多语言之间的RPC互通。与众多平台不同,它的服务端也可以是几种语言开发,比如C、.NET、JAVA、Python等,不同语言开发的服务端与客户端可以完全互通,对于支持多语言的服务来说,是很难得的一个特性,省去了大量的开发成本和开发周期。高性能RPC调用。这点是业界公认的,一些大型联网游戏及Skype等对实时性要求很高的系统都采用了ICE平台,足以说明这一点。笔者也曾做过简单对比,也验证了其高性能,而且在不同语言的客户端调用时,其性能仍然很好。支持传统的RPC调用、异步调用、One-Way调用,批量发起请求,支持TCP通信、UDP通信适用于不同业务场景。支持安全通信,ICE框架里提供了支持业界标准的SSL安全加密的可拔插插件。并且多种编程语言都支持该特性。多平台支持。包括X86系统、ARM、移动设备等。提供了强大的ICE Grid。支持注册表主从备份,无单点故障,服务按需启动,随时扩容和迁移,完备的负载均衡机制无须客户端重启,自动感应服务位置的变化。不断更新,与时俱进。对近些年流行的JavaScript语言及新的移动平台的支持都及时跟上。这里,笔者仅就多语言开发支持这一特性来分析Zeroc ICE平台所能带给你的额外价值,当你采用ICE框架开发一个服务后所能直接变现的承诺,在图2.1中完美诠释:。图2.1 ICE多语言支持示意图对于一个规模较大的平台来说,开发一个服务并不很难,但如何让多种语言都能很一致地调用你的服务并联调通过,则很不容易,即使对于SOAP这种看似很标准的接口来说,依然存在很多编程语言和SOAP框架的版本等兼容性问题。而HTTP Rest的接口,在联调时还是会碰到各种参数问题。从经验来看,除非把一个现成的编译好的客户端代码发给对方,否则会开发一次,到处联调,形成平台开发的梦魇。 我们来看看ICE平台的组成,ICE平台从功能可以划分为以下几部分。Slice工具。将Slice语言定义的服务接口编译成各种具体语言的实现代码,属于开发环境的一部分。ICE容器和命令。包括ICEGrid、ICERegistry、ICENode、ICEAdmin、ICEPatch等命令,用于启动、管理ICE Grid,需要在运行ICE服务的机器上选择性部署其中的某一个或几个组件。ICE运行库。为一组API库,不同的语言有不同的实现,如Java对应Jar文件,C语言对应.so文件(在Windows下对应为.dll文件),这些运行库需要被ICE服务端程序和客户端程序所调用,以实现ICE内部的底层通信。下面我们看看采用ICE平台开发一个具体项目时所要遵循的一般流程,如图2.2所示。图2.2 ICE跨语言开发流程示意图这个开发流程示意图告诉我们,怎样从零开始,开展ICE跨平台的项目开发活动,简单的说,就是首先用Slice语言定义中立的服务接口文件,然后采用相应语言的命令行编译生成对应的程序骨架源文件,最后实现服务端业务代码开发,部署服务,然后客户端利用Ice提供的运行期客户端Library(JAR文件)实现远程服务方法调用,详细步骤如下所示:分析和设计系统的服务:采用面向服务架构或者是“微服务”的设计理念进行系统分析和设计,确定系统中的“服务”单元、每个服务的接口及服务之间的依赖关系。服务接口定义:采用ICE Slice语言对服务接口进行定义,并用Slice工具编译成你所熟悉的开发语言(本书以Java为例)的实现代码,这些实现代码包括服务端和客户端骨架代码,可以认为是项目中的“公共”包。服务端业务逻辑实现:在Slice生成的服务端代码上进行业务逻辑代码的编写,在这个过程中除了在服务之间相互调用时用到ICE的一些API外,在绝大多数情况下,不会用到ICE的代码。编写ICEGrid的服务描述文档:xxxgrid.xml,此文档类似于J2EE的web.xml或 EJB的服务描述文件,定义了每个服务的访问地址(Endpoint)、部署的节点(ICENode)、负载均衡策略(replica-group)等关键信息。打包代码并部署到各个ICENode上,启动ICEGrid,借助ICE工具发布xxxgrid.xml,服务端工作至此基本完成。很重要的一点是,借助ICE平台提供的工具,你可以很方便地将xxxgrid.xml中的服务重新规划和部署到新的节点上,而客户端无须重
您可能关注的文档
- AD域管理操作指引:批量导入域账号.docx
- 牛津英语小学二年级第二学期词汇表.docx
- 2010年考研英语二真题答案超详解析.doc
- 胎生哺乳有什么生物学意义.doc
- Oracle BIEE 时间函数 (ago,todate).docx
- 英语知识板块.doc
- 2011级研究生医学统计学考试试卷.doc
- 2014年6月第1套.doc
- 2应用文翻译例子.doc
- 高二第二学期英语期中试卷.doc
- 2025版高考语文一轮复习讲义:学案13 分析形象作用和文本特征——立象尽意,据理解文.pdf
- 2025版高考语文一轮复习讲义:学案18 理解赏析词句——紧扣语境,层层深入.pdf
- 2025版高考语文一轮复习讲义:学案42 《中庸(节选)》《〈孟子〉一则》.pdf
- 2025版高考语文一轮复习讲义:学案29 《齐桓晋文之事》.pdf
- 2025版高考语文一轮复习讲义-必修上册(二) 单篇梳理3 赤壁赋.pdf
- 2025版高考语文一轮复习讲义:微案3 理解文言特殊句式——抓住标志,翻译落实.pdf
- 2025版高考语文一轮复习讲义-选择性必修中册(一) 单篇梳理2 报任安书(节选).pdf
- 2025版高考语文一轮复习讲义-必修下册(一) 单篇梳理1 子路、曾皙、冉有、公西华侍坐.pdf
- 2025版高考语文一轮复习讲义-选择性必修上册 单篇梳理4~5 《老子》四章 五石之瓠.pdf
- 2025版高考语文一轮复习讲义-必修下册(一) 整合迁移3 通假字与形容词活用.pdf
文档评论(0)