ICE专题:ICE起步
ICE初步
最早开始接触ICE是在2005,3月份,当时一个朋友向另一个正打算研究corba的朋友强烈的推荐了ICE.
参考:http://www.zeroc.com/
1.什么是ICE?
ICE(internet communications engine)是适用于异种环境的面向对象中间件平台。
那么什么是中间件呢?
比较流行的定义是:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机/服务器的操作系统之上,管理计算资源和网络通讯。
从中间件的定义可以看出,中间件是一类软件,而非一种软件;中间件不仅仅实现互连,还要实现应用之间的互操作;中间件是基于分布式处理的软件,定义中特别强调了其网络通讯功能.
(如此说来,twisted就是一个中间件)
目前中间件的三大主流平台:
1.OMG的CORBA
2.sun的J2EE(包括ejb等技术)
3.MS的Microsoft DNA 2000(DCOM/COM/COM+等技术)
关于中间件的介绍:http://tech.ccidnet.com/pub/article/c322_a204949_p3.html
2.ICE的一些概念
- 服务器/客户端(server/client):这个的定义与一般的定义相同,主动的一方被认为是client
- ICE对象:跟OOP中的对象类似,不同之处在于,在分布式的环境中,同一个ICE对象在不同的地址空间中都可能存在着.ICE对象也提供了一组接口(facets).ICE对象还有一个特殊的接口:主接口.
- 代理(proxies):是ICE对象引用,代理是在客户地址空间,客户对ICE对象的操作就是通过代理来进行的.代理封装了完成:ICE对象的寻址(包括服务器的寻址),激活ICE对象,传入参数,等待执行并返回执行结果
- servant:在服务器上的执行体,ICE对象对服务器的操作就是通过调用servant.
- "最多一次"原则:一次对目的的访问,只会执行一次(并不排除出错重试)
ICE专题:ICE起步相关推荐
- ICE专题:实战分布式的Hello Word 【原创】
有关ICE的基础知识,请参照前面的ICE专题文章.由于这些文章均来自于网络,故未发之于首页.下面仅仅给出相关link: ICE专题:利用ICE编写程序的几个注意点 ICE专题:ICE架构 ICE专题: ...
- java ice c_ZeroC ICE之旅------java
最新稳定版本: http://www.zeroc.com/download.html 由于我自己的平台是CentOS release 5.3 (Final),java version "1. ...
- ICE专题:实现简单的聊天室(一)
目标:实现一个简单的聊天室.本文实现的聊天室仅出于演示ICE的多播功能,即由一个Client发送的消息,广播至注册的其他Client上.以后的系列文章,将逐步完善这个例子,使其成为一个现实意义上可用的 ...
- ICE专题:ICE简介
ICE(Internet Communications Engine)是一个为现实中程序员而写的中间件平台.作为一个高性能的互联网通信平台,ICE包含了很多分层的服务和插件(Plug-ins),并且简 ...
- ICE专题:编译环境构建
ICE作为一种无平台的中间件,提供了最灵活的编译方式,即自定义的平台无关语言slice,这种以语言方式来配置的做法,极大的统一了网络服务的标准,有点类似于java语言的实现与编译,正是因为java语言 ...
- ICE专题:反叛之冰 Internet Communications Engine
转自:韩磊@CSDN Marc Laukien:Object-Oriented Concepts, Inc的创办人和总裁.开放源码的ORBacus (原名OmniBroker,完全遵从CORBA的OR ...
- 配置C++和C#开发ICE环境
2019独角兽企业重金招聘Python工程师标准>>> C++配置环境 1.设置编译工具路径和配置编译命令: #编译命令,如果有多个文件就执行多次slice2cpp.exe命令 se ...
- 谈谈自己对REST、SOA、SOAP、RPC、ICE、ESB、BPM知识汇总及理解
2019独角兽企业重金招聘Python工程师标准>>> SOA: 维基百科解释:SOA:面向服务的软件架构(Service Oriented Architecture),是一种计算机 ...
- The Internet Communications Engine (Ice) 跨平台异构通讯方案 第一弹-ICE简介
.net中的通讯方案很多,从.net Remoting,MSMQ,Webservice,WSE,WCF等等,他们都有一个特点,易用,但是都不能跨语种异构,如果你服务端要用java开发,客户端用C#开发 ...
最新文章
- python与anaconda区别_anaconda和python的区别是什么?
- ICLR 2022初审你得了多少分?平均4.93浮动,预测6分才被接收
- WPF 之 调用线程必须为 STA,因为许多 UI 组件都需要
- Tomcat 7最大并发连接数的正确修改方法(转)
- PHP识别电脑还是手机访问网站
- file_get_contents遍历api数据
- 【Kafka】kafka SSL close message 远程主机被迫关闭了一个连接
- 开发者真的喜欢开源吗?
- Git 修改已提交 commit 的信息
- msf 生成php马_PHP的性能优化方法总结
- 你还在生产环境改代码么?函数计算版本管理(三)使用别名进行灰度发布...
- Linux权限命令chmod
- pandas包安装教程
- SpringBoot项目中注解的含义
- 读论文:(nvdiffrec) Extracting Triangular 3D Models, Materials, and Lighting From Images
- 史上最详细How to Use Time Information Effectively Combining with Time Shift Module for Lipreading文章记录
- 针对《面试心得与总结—BAT、网易、蘑菇街》一文中出现的技术问题的收集与整理...
- Ubuntu20.02安装TPLink WDN7200H无线网卡
- 关于.aspx与.aspx.cs的关系
- 高校借力泛微,搭建一体化、流程化的​内控管理平台
热门文章
- 分享一下python入门知识点-输入与输出教程,不喜勿喷
- php 限制刷新,PHP禁止频繁刷新方法
- composer查看当前镜像取消_配置和查看composer镜像
- 分享一个让 Ping 的输出更简单易读方法
- JavaScript setTimeout() 介绍
- 一文搞懂结构体的定义及实际使用
- php 去掉img,php怎样去掉img标签
- HDU6141(最小树形图)
- 关于TypeError: ‘numpy.ndarray‘ object is not callable报错
- java qq登陆api_java方式接入QQ登录