• The Internet Communications Engine (Ice) 跨平台异构通讯方案 第一弹-ICE简介


      .net中的通讯方案很多,从.net Remoting,MSMQ,Webservice,WSE,WCF等等,他们都有一个特点,易用,但是都不能跨语种异构,如果你服务端要用java开发,客户端用C#开发,或者其它语言譬如C++Python,PHPRubyObjective-C,等等,那么.net提供的解决方案将不再有效。现在,隆重推出跨平台异构方案ICE。ICE官网:http://www.zeroc.com/ice.html

      简介:The Internet Communications Engine (Ice) is a modern object-oriented toolkit that enables you to build distributed applications with minimal effort. Ice allows you to focus your efforts on your application logic, and it takes care of all interactions with low-level network programming interfaces. With Ice, there is no need to worry about details such as opening network connections, serializing and deserializing data for network transmission, or retrying failed connection attempts (to name but a few of dozens of such low-level details).

     关于ICE的中文资料十分匮乏,实际开发过程中我全部是根据官网提供的文档来做处理的,官网文档Url:http://doc.zeroc.com/display/Doc/Home

     另外关于ICE的性能还有一些其它的评测:http://zeroc.com/articles/IcePerformanceWhitePaper.pdf

       这上面的数据显示ICE比WCF的性能略高一些,当然是在一个数量级的。

     开发环境搭建:在写第一个简单程序之前,首先需要下载ICE安装文件:http://www.zeroc.com/download.html和ICE插件:http://www.zeroc.com/vsaddin.html,这个有什么用呢,听我细细说来.

      ICE通讯框架基本原理: 若是让你自己设计一个通讯框架,支持多种语言,你会怎么弄? ICE的思路是,用一个中间语言,建立数据结构规范和接口规范,然后再用一个IDE编译插件,将中间语言数据结构规范和接口规范编译为当前的语言,譬如C#的CS文件,接下来,你在客户端和服务端实现中间语言定义号的接口,再做一些其它处理,就可以实现一个分布式程序了。这个思路确实很Nice,值得我们借鉴。

     安装文件中有一些ICE的dll,ICE的Demo,还有一些其它的东西。

    ICE插件就是我上面说的IDE编译插件。

     熟悉WCF的朋友知道,WCF在编写分布式程序时要定义数据contract和服务Contract,ICE也是如此,只不过用的中间语言定义,加上编译器编译为了我们能理解的语言。

      至于 为什么要用中间语言,其实很简单,每个语言所支持的数据结构的名称是不一样的,譬如Java的Map和.net的Dictionnary,诸如此类,中间语言起到一个转换的效果。中间语言的语法类似与C,或者说C++的语言,用起来有一定难度。

      好了,简介至此,下一篇将开始我们的Hello world程序,写一个正式能用的通讯程序出来。

      

  • 相关阅读:
    一步一步自定义SpringMVC参数解析器
    Git客户端TortoiseGit(Windows系统)的使用方法
    Tiles入门和Tiles 框架和体系结构
    SpringMVC整合Tiles框架
    JQuery和JSON方式参数传递并处理JAVAWEB中文乱码问题
    spring mvc接收JSON格式的参数
    Spring MVC Controller与jquery ajax请求处理json
    扩展SpringMVC以支持绑定JSON格式的请求参数
    SpringMVC从Control中响应json数据
    JSONP 教程
  • 原文地址:https://www.cnblogs.com/HouZhiHouJueBlogs/p/3864677.html
Copyright © 2020-2023  润新知