免费论文查重: 大雅 万方 维普 turnitin paperpass

试析客户端基于ICE通信引擎C/S客户端设计与开发

最后更新时间:2024-03-11 作者:用户投稿原创标记本站原创 点赞:6045 浏览:17292
论文导读:知时充当服务器。这样的角色反转在许多系统中都很常见,所以,许多客户-服务器系统常常可以被更准确地描述为对等系统。要想与某个ICE对象联系,客户必须持有这个对象的。是客户的地址空间中的一种制品;对客户而言,就是ICE对象的代表(该对象可能在远地)。一个充当的是一个ICE对象的本地大使。ICE对象是一种
【摘要】本文设计和开发的“学习委员客户端软件”是以Visual C++作为平台的,结合Dskinlite商业界面库以及ICE面向对象的通信中间件的一款桌面应用程序。该系统利用Visual C++提供的丰富控件库以及Dskinlite提供的XML描述式的界面库,实现了客户端界面的美观以及对用户的友好性,ICE中间件简化了客户端和服务器的通信,使得整体架构数据高度可扩展,并且支持语言独立性,客户端和服务器可以采用完全不同的编程语言实现等。
【关键词】中间件VC++界面库用户友好语言独立性
1674-4810(2012)21-0085-02
一 引言
随着计算机的普及以及计算机在教学上的广泛运用,电子文档作业以及打印作业已成为大学生作业的主要类型,然而学生与老师的沟通问题却未得到有效的解决。遗忘作业要求、排队打印、移动硬盘感染病毒等问题相继出现在大学生的学习生活中。打印店不便利、安全性不高等问题大大增加了学生的学习负担。虽然目前已有许多课程管理系统,但并没有有效地减轻学生的学习负担。
为了打破时间和空间限制,建立学生与老师的沟通桥梁,帮助老师对课程进行管理,本文研发了大学生社区精准服务系统——“学习委员”新理念课程管理系统。“学习委员”学生课程管理系统,作为学生桌面学习辅助软件,及时向学生提供相关课程的作业信息,在方便学生进行课件下载的同时,为他们提供了作业上交和打印等功能,在加强教师与学生沟通的同时,提高学生的学习以及教师的作业统计效率,减轻学生学业负担。
根据学生的学习需求、教师的教学需求,本文研发的“学习委员”学生课程管理系统由教师终端和学生终端构成。在教师终端中,教师可轻松地布置作业、上传课件、查询和点评作业以及对相关课程进行管理,大大减少了老师的工作量。在学生终端中,学生可及时查阅作业要求、下载课件、上交作业以及打印和上传文档等,在很大程度上为学生的学习提供了便利,提高了学习效率。本课程管理系统为老师和学生提供一个新的沟通平台,增强了师生间的互动和沟通。
“学习委员”软件在设计时考虑到服务端后期的可扩展性,故采用ICE作为第五层的通信协议,客户端采用VC++平台实现,界面使用商业的Dskinlite界面库实现。

二、面向对象的中间件ICE

本文的核心内容是需要使用容易扩展部署的软件架构,服务端将来可能需要移植到其他平台,或者是服务器集群。因为将来用户的数量是无法预测的。在一般情况下,解决开发在异构平台上运行的软件方案就是使用中间件产品。中间件能够很好地屏蔽平台间的差异性,并为开发提供便利。ICE(Internet Communication Engine)就是这样的产品。
中间件是分布式系统中集成各个组成的软件粘接剂。也有人把中间件定义为网络环境中一组为许多应用需要的、可复用和可扩充的服务或功能。大型应用软件通常要求在软硬件各不相同的分布式网络上运行。为了更好地开发和应用能够在异构平台上运行的应用软件,迫切需要一种基于标准的、独立于计算机硬件以及操作系统的开发和运行环境,中间件技术应运而生。DCOM和CORBA这样的使用多年的面向对象中间件平台,正逐渐显现出许多难以解决的问题,Microsoft NET平台和DCOM都是Microsoft的独家解决方案,不是异种环境下的选择。CORBA近年来已停滞不前。Web服务基于HTTP的SOAP协议无论是在网络带宽还是在CPU开销方面,都会给应用造成严重的性能恶化,以至于无法适用于许多有苛刻性能要求的系统。
ICE是一种面向对象的中间件平台。从根本上说,这意味着ICE为构建面向对象的客户-服务器应用提供了工具、API 和库支持。ICE应用适合在异种环境中使用:客户和服务器可以用不同的编程语言编写,可以运行在不同的操作系统和机器架构上,并且可以使用多种网络技术进行通信。无论部署环境如何,这些应用的源码都是可移植的。
在从不发出请求,只是响应请求的意义上,许多服务器常常不是“纯粹”的服务器:它们常常充当某些客户的服务器,但为了完成它们的客户请求,它们又会充当另外的服务器的客户。与此类似,在只从某个对象那里请求服务的意义上,客户常常也不是“纯粹”的客户:它们常常是客户-服务器的混合物。例如,客户可以在服务器上启动一个长时间运行的操作,在启动该操作时,客户可以向服务器提供回调对象,供服务器用于在操作完成时向客户发出通知。在这种情况下,客户在启动操作时充当客户,而在接收操作完成通知时充当服务器。这样的角色反转在许多系统中都很常见,所以,许多客户-服务器系统常常可以被更准确地描述为对等系统。要想与某个ICE对象联系,客户必须持有这个对象的。是客户的地址空间中的一种制品;对客户而言,就是ICE对象的代表(该对象可能在远地)。一个充当的是一个ICE对象的本地大使。
ICE对象是一种具有类型、标识,以及寻址信息的概念性实体。但客户请求最终必须到达具体的服务器端的处理实体,由该实体提供操作调用的行为。换言之,客户请求最后必须到达服务器,在其内部执行代码,而这些代码用特定的编程语言编写,并在特定的处理器上执行。在服务器端提供操作调用的行为的制品叫做servant。一个servant提供一个或多个ICE对象的实质内容(或体现这些对象,incarnate)。实际上,servant就是服务器开发者编写类的实例,这些类作为一个或多个ICE对象的servant向服务器端run time进行注册。类的方法对应于ICE对象的接口上的操作,并且提供这些操作的行为。一个servant可以只体现一个ICE对象,也可以同时体现若干ICE对象。如果是前一种情况,servant所体现的ICE对象的标识在这个servant中是隐含的。如果是后一种情况,在每次收到请求时,servant也会收到ICE对象的标识,这样,servant可以决定在处理该请求源于:论文格式范文网www.7ctime.com
期间,体现哪一个对象。反过来,一个ICE对象也可以拥有论文导读:会报告给客户端应用代码。源于:论文写作www.7ctime.com上一页12
多个servant。例如,我们可以为某个ICE对象创建一个,这个对象有两个不同的地址,分别在两台机器上。在这种情况下,我们将拥有两个服务器,每个服务器都有一个servant,但两个servant体现的是同一个ICE对象。当客户调用这样的ICE对象上的操作时,客户端run time只把请求发给一个服务器。换句话说,使用体现同一个ICE对象的多个servant,你可以构建冗余的系统:客户端run time试着把请求发给一个服务器,如果失败,就把请求发给第二个服务器。只有在第二次尝试也失败的情况下,错误才会报告给客户端应用代码。源于:论文写作www.7ctime.com