Ice读书笔记--中间件概念与Ice综述(一)

本文介绍了中间件的概念、特性和分类,并深入解析了Ice中间件平台的架构与关键组件,包括客户与服务器、Ice对象、代理及Servants等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一。中间件

      1.简介

         简单来说,中间件就是一种独立的系统软件或者某种服务应用程序。中间件处在客户端与服务器端的操作系统之上,主要负责网络资源管理和网络通信。中间件是一类软件,而非一种软件;中间件不仅仅实现互连,还要实现应用之间的互操作;中间件是基于分布式处理的软件,最突出的特点是其网络通信功能

       2.中间件的特性

         1)运行在异种环境中,也就是说可以运行在多种硬件和操作系统中;

         2)支持分布式应用,提供跨网络,或者操作系统平台的应用或者服务的交互功能;

         3)同样也支持一些标准的网络协议和标准的接口;

       3. 中间件的分类

         1)远程过程调用:server和client可以位于同一台计算机,也可以位于不同的计算机,甚至运行在不同的操作系统之上。

          2)面向消息的中间件:MOM指的是利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。程序将消息放入消息队列或从消息队列中取出消息来进行通讯,与此关联的全部活动,比如维护消息队列、维护程序和队列之间的关系、处理网络的重新启动和在网络中移动消息等是MOM的任务,程序不直接与其它程序通话,并且它们不涉及网络通讯的复杂性。

          3)对象请求代理(ORB)是对象总线,它在CORBA规范中处于核心地位,定义异构环境下对象透明地发送请求和接收响应的基本机制,是建立对象之间client/server关系的中间件。

          4)事务处理监控界于client和server之间,进行事务管理与协调、负载平衡、失败恢复等,以提高系统的整体性能。它可以被看作是事务处理应用程序的“操作系统”。

 

二。Ice综述

         1.Ice架构

            1.1)概述

                     Ice是一种面向对象的中间件平台。Ice应用适合在异种环境中使用:客户和服务器可以用不同的编程语

            言编写,可以运行在不同的操作系统后日机器架构上,并且可以使用多种网络技术进行通信。

             1.2)术语

                    1.2.1) 客户与服务器:发出请求的一端称为客户端,提供应用服务的一端称为服务器。

                    1.2.2)Ice对象

                     Ice对象是一种概念性的实体(或称抽象)。Ice对象的特性:

                     -- Ice对象是本地或原地的地址空间中,能响应客户请求的实体。

                     -- 一个Ice对象可在单个或多个服务器中实例化。如果某个对象有多个实例,它还是Ice对象。

                     -- 每个Ice对象可在单个或者多个服务器中实例化。

                     -- 一个操作有零个或者多个参数。以及一个返回值。

                     -- 每个Ice对象都有一个唯一的对象标识。

                     1.2.3)代理(Proxies)

                          要想与某个Ice对象联系,客户必须持有这个对象的代理。代理是客户的地址空间中的一种制品;对

                    于客户而言,代理就是Ice对象的代表(该对象可能在原地)

                          当客户调用代理上的操作时,Ice run time会:定位Ice对象--->如果Ice对象的服务器还没运行,就激

                     活他-->在服务器中激活Ice对象-->等待操作完成-->把所有out参数及返回值返回给客户。

                           ***串化代理:要与某一个对象联系,客户只需要知道这个对象的标识,寻址信息以及对象的类型就

                               行了。

                           ***直接代理:其内部保存有某个对象的标识,以及它的服务器的运行地址。该地址由两项内容完全

                               确定:协议标识符(比如TCP或UDP),针对具体协议的地址(比如主机名和端口号)

                           ***间接代理:其内部有某个对象的标识,以及对象适配器名。但间接代理没有包含寻址信息。对象

                               适配器名会映射到协议-地址对。

                     1.2.4)servants

                           客户请求最后必须到达服务器,在其内部执行代码。在服务器提供操作调用的行为的制品称为

                     servant。实际上。servant就是服务器开发者编写的类的实例。

1.1 ICE 概述 网络通信引擎(Internet Communications Engine, Ice)是由 ZeroC的分布式系统开发专家实 现的种高性能、面向对象的中间件平台。它号称标准统,开源,跨平台,跨语言,分布式, 安全,服务透明,负载均衡,面向对象,性能优越,防火墙穿透,通讯屏蔽。因此相比 CORBA,DCOM,SOAP,J2EE等的中间件技术,自然是集众多优点于身,而却没有他们的 缺点。 Ice提供了完善的分布式系统解决方案,适合所有的异构网络环境:客户端和服务器端可以 用不同的程序语言来实现,可以运行在不同的操作系统和不同的体系结构的机器上,使用不同 的网络通信技术(TCP/UDP,SSL或通过插件功能扩展协议)。Ice也提供了客户端和服务器端 的完全分离,客户端不需要知道服务器的实现过程和具体位置。Ice采用软总线的机制,使得在 任何情况下、采用任何语言开发的软件只要符合接口规范的定义,均能集成到分布式环境中去。 Ice面向对象,可以将所有应用看作是对象及相关操作的集合,构建在 Ice之上的分布式系统的 对象的获取只取决于网络的通畅性和获取服务对象特征的准确程度,而对象的位置以及对象 所处的设备环境无关。 Ice提供了简单的对象模型和类型系统,精简而强大的运行时 API,简单的语言映射,紧凑 高效并可扩展的协议,丰富的客户端调用和服务器端分派方式,完善的安全解决方案,大量高 效而实用的服务和工具。基于这些,Ice特别适合对技术和性能要求都很高的分布式系统开发。 由于这些原因,现在 Ice已经被很多大公司采用,作为安全、伸缩性强的底层通信平台。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值