(计算机应用技术专业论文)基于中间件的现代远程教育考试系统的设计规划.pdf_第1页
(计算机应用技术专业论文)基于中间件的现代远程教育考试系统的设计规划.pdf_第2页
(计算机应用技术专业论文)基于中间件的现代远程教育考试系统的设计规划.pdf_第3页
(计算机应用技术专业论文)基于中间件的现代远程教育考试系统的设计规划.pdf_第4页
(计算机应用技术专业论文)基于中间件的现代远程教育考试系统的设计规划.pdf_第5页
已阅读5页,还剩74页未读 继续免费阅读

(计算机应用技术专业论文)基于中间件的现代远程教育考试系统的设计规划.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 现代远程教育是二十世纪八十年代以来国际教育发展的重要趋势,而我国基 于i n t e r n e t 的远程教学目前尚处于起步阶段,远程教育信息服务系统平台建设 也在探索中。天津理工学院远程教育平台是中欧国际科技合作项目“多极远程教 育培训中心”( m u l t i p o l et r a i n i n gc e n t e r ,m t c ) 的重要组成部分,是欧盟与 中国政府在信息和通讯技术领域的共建项目之一。该教育平台系统涵盖了远程 教育的授课、学习、考试、教务管理等多个方面,提供了多种方式的学习模 式,特别适合于大中专院校实现远程教育、实现教务工作的自动化和教学工作的 信息化。 本系统因采用了基于j 2 e e 的三层体系结构的方式从而具有很强的伸缩 性、通用性、兼容性和可操作性。数据库中间件w r m s 用来实现客户端与 数据库之间的通信和交易分发,是三层结构中的关键。 本文在天津理工学院远程教育平台的基础上研究了基于网络的计算机教学 考试系统,分析了其发展现状及存在问题,并在此基础上,针对现代远程教育考 试系统的发展趋势,设计了一种基于j 2 e e 标准的考试模式。本文详细讨论了考 试系统的设计和规划,介绍了各模块的功能、关键数据表、流程图,以及中间件 w r m s 在考试系统中的接口和应用。 关键词:远程教育中问件w r m s 在线考试 a b s t r a e t s i n c et h ee i g h t i e so ft h e2 0 也c e n t u r y m o d e md i s t a n c ee d u c a t i o nh a sb e c o m ea m o r ea n dm o r ei m p o r t a n tt r e n do fe d u c a t i o n a ld e v e l o p m e n tw o r l d w i d e ,w h i l ei n c h i n a ,d i s t a n c ee d u c a t i o nb a s e do ni n t e r n e t i so n l ya ti t se a r l ys t a g e ,a n dt h e c o n s t r u c t i o no fp l a t f o r mf o rd i s t a n c ee d u c a t i o ni n f o r m a t i o ns e r v i c es y s t e mi s s t i l lu n d e rd e v e l o p m e n t “d i s t a n c ee d u c a t i o np l a t f o r m ”d e v e l o p e db yt i a n j i ni n s t i t u t eo ft e c h n o l o g y ( t i t ) i s a ni m p o r t a n tp a r to ft h es i n o - e u r oi n t e r n a t i o n a lc o o p e r a t i o np r o j e c t “m u l t i p o l e t r a i n i n gc e n t e r m t c ”w h i c h i so n eo ft h ei n f o r m a t i o na n d c o m m u n i c a t i o np r o j e c t sc o - s p o n s o r e db ye ua n dc h i n e s eg o v e r n m e n t t h i s p l a t f o r ms y s t e mc o v e r sm a n ya s p e c t so fd i s t a n c ee d u c a t i o n ,s u c ha st e a c h i n g , s t u d y , e x a m i n a t i o na n dt e a c h i n ga f f a i r sm a n a g e m e n t ,a n do f f e r sag o o dn u m b e r o f s t u d ym o d e s ,w h i c hm a y f a c i l i t a t ec o l l e g e sa n du n i v e r s i t i e st or e a l i z ed i s t a n c e e d u c a t i o na n d c o m p u t e r m a n a g e dt e a c h i n g o r t e a c h i n g r e l a t e d a f f a i r s m a n a g e m e n t t h es y s t e me m p l o y sj 2 e et h r e e - t i e rb a s e ds t r u c t u r e t h es t r u c t u r ee n a b l e st h e s y s t e mt oh a v ed i s t i n g u i s h e dq u a l i t yo ff l e x i b i l i t y ,c u r r e n c ya n dc o m p a t i b i l i t y t h ec o m m u n i c a t i o na n dt h ed i s t r i b u t i o no ft h et r a n s a c t i o nb e t w e e nc l i e n ta n d d a t a b a s ea r er e a l i z e db yw r m s ,s oi ti st h ek e y t e c h n o l o g yo ft h et h r e e t i e r s t r u c t u r e o nt h eb a s i so ft i t sd i s t a n c ee d u c a t i o np l a t f o r m ”t h i st h e s i ss t u d i e st h e i n t e r n e t b a s e de x a m i n a t i o ns y s t e ma n da n a l y z e si t ss t a t u sa n dp r o b l e m s t h e t h e s i sa l s od e s i g n sa ne x a mm o d eb a s e do nj 2 e ew h i c hw e l lf i t st h ed e v e l o p i n g t r e n d so fm o d e md i s t a n c ee d u c a t i o ne x a m i n a t i o ns y s t e m t h ed e s i g na n ds c h e m e w o r ko ft h ee x a m i n a t i o ns y s t e mi sd i s c u s s e di nd e t a i l o t h e rc o n t e n t si n c l u d e f u n c t i o n so fd i f f e r e n tm o d u l e s ,t a b l e so fk e yd a t a ,f l o wd i a g r a m sa sw e l la s i n t e r f a c e sa n d a p p l i c a t i o no f w r m si nt h ee x a m i n a t i o ns y s t e m k e yw o r d s :d i s t a n c ee d u c a t i o n ,m i d d l e w a r e ,w r m s ,o n l i n ec o m p u t e r t e s t i n g 南开大学硕士学位论文 第l 页 第一章引言 1 1 课题的研究背景 现代远程教育是二十世纪八卜年代以来国际教育发展的重要趋势。目前,世界上己经 有i 0 0 多个国家开展了现代远程教育。在欧盟就已经先后实施了“达芬奇计划”、“3 t 计划”、 和“苏格拉底计划”等远程教学项目,成效明显;同时,美国政府也将现代远程教育和电 子商务作为一项面向2 1 世纪的国策,并且大力发展。国外的远程教学方式开展相对较早, 远程教育系统平台开发也各俱特色,如美国远程教育有限公司利用网络资源和技术,已经 开发出完整的远程教育系统。 国外的远程教育发展较早,技术和应用水平也较高,相关系统的软件开发商也远远多 于国内。因为远程教育仍处在高速发展和不断完善的过程中,多数远教平台特色也各不相 同,具体的数字很难考证,但从综合考虑,国外的远程教育系统在适应中国国情等方面还 存在着一些问题。 目前国内常见的远程教育多是依靠视频会议系统( v i d e oc o n f e r e n c e ) ,基于i n t e r n e t 的远程教学目前尚处于起步阶段,远程教育信息服务系统平台建设也在探索中,国内少数 的几个平台也是仅限于自身使用,还未实现社会化和市场化。这样的应用水平对于未来电 子商务服务系统中关键性业务之一的远程教学来说是远远不够的,因此现代远程教育在我 国将拥有非常广阔的应用市场。 1 2 课题研究的主要目的和意义 ( 1 ) 实现多种远程教学模式 现代远程教育的口号是“a n y o n ea n y t i m ea n y w h e r ea n y t h i n g 任何人、任何 时间、任何地点、任何知识”,其显著特征就是施教方式多种多样,学习手段也各不相同。 远程教育应同时满足受教育者的各种学习目的,如学历教育、在职培训、认证考试、终身 教育等等。因此,本项目提出:通过示范工程实现多种教育模式,体现多种教育手段。 ( 2 ) 在软件工程领域的示范意义 该项目的核心部分远程教育信息服务平台,采用了基于数据库管理的中间件技术,反 映了当前国内外软件产品的发展趋势。近年来,随着全球化信息共享、全球计算数字化的 趋势,中问件技术获得了迅猛的发展。在美国等发达国家,中间件已经与操作系统、数据 库管理系统并驾齐驱,成为三个基础性软件工业。本项目所开发的w r i v l s 就是典型的中间 件软件产品,它既可应用于远教平台,也可作为通用中间件产品移植到其他系统中。 本系统总体结构是建立在j 2 e e ( j a v a “2e n t e r p r i s ee d i t i o n ) 平台规范基础之上的。 这是目前i t 领域构建大型企业级应用系统最流行的方法。i b m 、o r a c l e 、b e a 最近推出的 软件产品也都是基于此规范,因此,在软件开发技术的先进性上,我们已同欧美站在同一 起跑线上。 南开大学硕七学位论文 第2 页 1 3 现代远程教育系统平台简介 天津理工学院远程教育平台是一个完整统一、技术先进、高效稳定、安全可靠的基于 i n t e r n e t i n t r a n e t 的教学和教务管理信息系统,特别适合于大中专院校实现远程教育、 实现教务工作的自动化和教学工作的信息化。 图1 1 天津理工学院现代远程教育系统首页 该平台是中欧国际科技合作项目“多极远程教育培训中心”( m u l t i p o l et r a i n i n g c e n t e r ,m t c ) 的重要组成部分,是欧盟与中国政府在信息和通讯技术领域的共建项目之 一、中欧远程教育中心的任务是: 1 、采用国际最先进的多媒体网络通信技术和设备,以t c p i p 协议为基础,依托天津 信息港的网络通信基础设麓,构筑天津职业教育虚拟专用网,采用现代远程教育技术开展 高等职业技术教育、各种专业证书培训、在职人员的继续教育、职业教育师资培训、下岗 职工转岗培训等等。 2 、天津职业教育网上培训的网络中心设在天津理工学院,并通过国家数据通信主干网 联通北京、上海等中心城市( 包括中、西部地区) ,实现国内职业教育资源共享。天津信 息通信培训中心通过国际专线或卫星通信联通欧洲著名的职业教育中心,实现国际职业教 育资源共享。 3 、软件丌发和资源建设包括开发网上教学管理信息服务系统,建立分布式职业教育信 南开大学硕士学位论文 第3 贞 息资源数据库,包括网上教育课件库制作、远程地区授课组班、教师注册、学生注册、名 师授课、网上自学、网上实验、网上辅导、网上答疑、网上考试、网上试卷分析、教师档 案、学生档案、多媒体课件、习题库、考试题库等。 二、中欧远程培训中心的教学模式包括: 1 、应用基于i p 的视频会议系统,进行集中、定时、点对多点、实时双向交互式多媒 体教学,集中、定时的教学有利于加强教学管理,提高教学质量。 2 、应用基于w e b 的视频点播系统,面向政府机关、事业单位、学校、企业和社区提供 相对集中的教学服务,同时也是集中、定时教学的主要手段之一。 3 、应用基于i n t e m e t 的其它信息交互手段,面向社会提供多种形式,多种层次,多种 学科内容的个性化职业技术培训l ,满足各种社会成员终身学习的需求。作到一次注册,终 身使用。 1 3 1 现代远程教育系统的体系结构 为保证本系统具有性能稳定的网络硬件平台和高速的网间通讯,在设计本项目方案 时,采用了异埠问的天网十地网互补传输,同城内采用虚拟专用网( v p n ) ,教学点采用高 速局域网络提供信息传输的整体网络架构及通信解决方案。其结构如图1 2 所示。 卫 星 数 据 广 播 台 接 收 端 谭件接收磊坑 虚| l ;l 教师系统 赢播教学系统 童型蠼蜊道 图1 2 系统通讯结构图 - 校 园 网 教 育 资 源 管 理 堕堑奎兰堡兰篁笙苎 一蔓兰生 由于系统网络中心设在天津理工学院,所以在学院本部、安特公司和其它远程教育分 部建立一个可管理、易于维护、使用简单的远程教育网络教学服务网络。通过在学院本部 建设网络运行中心( n 0 0 、网络信息中心( n i c ) ,并将学院网络中心、校园网、安特公司 各部分网络中心,通过i n t e r n e t 的连接建立虚拟专网v p n ,如图1 3 所示。 图1 3 虚拟专用网结构图 天津远程教育信息服务系统结构由硬件平台、远程教育信息服务系统平台构成。硬件 支撑平台由w e b 服务器、数据库服务器、视频服务器、光盘塔、千兆网络交换机、视频制 作设备、开发微机、路由器等设备组成。整个系统运行在t c p i p 协议上,采用浏览器方 式,支持“带有控制的流技术”视频点播、视频广播。远程教育服务信息系统由教学教务 管理、学生管理、教师管理等基本功能平台组成( 如图1 4 所示) 。 图1 4 功能结构图 南开大学硕士学位论文 第5 页 ( 1 ) 系统管理员 图1 5 系统管理员界面 系统管理员具有用户管理、系统设置管理、设备运行管理、远程数据管理、系统公告 管理和系统安全管理等基本功能。系统管理员可以监控系统运行状况,维护系统运行状况, 维护本、异地数据库。 ( 2 ) 教学管理员 图1 6 教学管理流程图 南开大学硕士学位论文 第6 员 图1 7 教学管理员界面 教学管理员具有教师管理、学生管理、课程管理、系别专业管理、选课管理、公告管 理和费用管理等基本功能,是负责学校各类教学事务的主管人员,教学管理员类似教务处 人员的角色。 ( 3 ) 学生管理 图1 8 学生管理界面 南开大学硕士学位论文 第7 负 系统为学生提供网上报名注册、课程注册等多种服务功能,学生可以选择自己想要学 习的课程,学生可以接受远程教学信息服务系统的授课。系统为学生提供创建专题讨论组、 发布公众信息的功能。系统提供网上自学、网上实验、网上辅导、网上答疑、作业提交、 作业评判等功能。远程考试子系统提供学生网上考试、网上自动阅卷、试卷分析等功能。 学生考试成绩自动存档,学生可异地查询。 ( 4 ) 教师管理 图1 9 教师管理界面 系统为教师和学生之间提供创建讨论组功能,在宽带方式下,系统的实时授课功 能提供网上视频的同步传输,可以将教师的实况通过网络广播出去。教师网上布置作 业,并在电脑上对异地学生由网络传来的作业进行批改。系统自动将每个学生的作业 成绩、测试成绩、考试成绩输入到成绩数据库,并为教师提供学生考试成绩分析报告, 帮助教师了解和分析学生的学习情况。 1 3 2 软件平台的分层结构 现代远程教育系统包括如f 层次划分: 用户层:用户浏览器( i e 或n a v i g a t o r ) 运行在用户层,从w e b 服务器层下载由j s p 网页或s e r v l e t 生成的静态或动态h t m l 网页。 w e b 层:包含j a v a b e a n s 类管理用户的输入,并把用户的输入送到运行在业务层的e j b ( e n t e r p r i s ej a v a b e a n s ) 类进行处理。 逻辑层:用于满足特定的远程教育领域的需要,如录取新生、学生注册、学费缴纳、 南开大学硕上学位论文 第8 页 考试等。这一层又称业务层,也常被称为e j b 层。 数据库层:也称为信息存储层,它可以访问任何数据库引擎,像s q ls e r v e r 、o r a c l e 以及任何其它存储机制,像m a i ls e r v e r 和d i r e c t o r y 服务。 逻辑层和w e b 层合在一起构成三层j 2 e e 应用结构的中间层,三层j 2 e e 应用由用户层、 中间层和存储层构成。 1 4 作者的工作 本文作者的任务是对考试系统中教师部分的模块进行分析、设计和编码,实现试题库 的编辑、试卷的选配、发布、评判和成绩的统计,完成本模块数据库与系统管理模块、学 生考试模块的通讯与整合,实现真正意义上的在线考试。 南开大学硕士学位论文 第9 贞 第二章中间件技术概述 随着计算机技术的发展,我们的计算机环境也在不断的变化。从硬件技术看,c p u 的 速度越来越高,处理能力越来越强;从软件技术看,应用程序的规模不断扩大,特别是 i n t e m e t 的出现,使计算机的应用范围更为广阔,许多应用程序需要在网络环境的异构平台 上运行,这一切都对新一代的软件开发提出了新的需求。在这种分布异构环境中,各种系 统通常存在多种硬件系统平台( 如p c 机,工作站,小型局域网等) ,在这些硬件平台上又 存在着各种各样的系统软件( 如不同的操作系统、数据库、语言编译器等) ,以及多种风 格各异的用户界面,这些硬件系统平台还可能采用不同的网络协议和网络体系结构连接。 如何把这些系统集成起来并开发新的应用是一个非常现实而困难的问题。为此系统集成成 为重要课题,系统集成不仅要将不同厂商的计算机、网络、系统平台集成起来,更重要的 是要实现软件层次上的集成。 2 1 中间件的定义 中间件是在计算机硬件和操作系统之上,支持应用软件丌发和运行的系统软件,它能 够使应用软件相对独立于计算机硬件和操作系统平台,为当今的大型分布式应用搭起了一 个标准的平台,把大型企业分散的系统和技术组合在一起,实现大型企业应用软件系统的 集成。 中间件具有标准的程序接口和协议,可以实现不同硬件和操作系统平台上的数据共享 和应用互操作。在具体实现上,中间件是一个用a p i 定义的分布式软件管理框架,具有强 大的通信能力和良好的可扩展性。 图2 1 中间件 也许很难给中间件一个严格的定义,但中间件应具有如下的一些特点: 满足大量应用的需要 南开大学碾l 学位论史 运行于多种硬件和o s 平台 支持分布计算,提供跨网络、硬件和o s 平台的透明性的应用或服务的交互 支持标准的协议 支持标准的接口 由于标准接e l 对于可移植l t t n 标准协议对于互操作性的重要性,中间件已成为许多标 准化工作的主要部分。对于应用软件开发,中间件远比操作系统和网络服务更为重要,中 间件提供的程序接口定义了一个相对稳定的高层应用环境,不管底层的计算机硬件和系统 软件怎样更新换代,只要将中间件升级更新,并保持中间件对外的接口定义不变,应用软 件几乎不需任何修改,从而保护了企业在应用软件开发和维护中的重大投资。 2 2 中间件技术的出现 中间件是随着分布式计算技术的迅猛发展而产生的一个新的分支。中间件主要是研究 并提供异构环境下分布式处理的支撑环境。所以说,中间件的出现是在分布式计算技术发 展的基础上出现的。而分布式对象技术则是伴随网络丽发展起来的一种面向对象的技术。 计算机网络出现后,产生了c s 的计算服务模式,多个客户端可以共享数据库服务器和打 e pj i 务器等等。随着网络的更进一步发展,许多软件需要在不同厂家的网络产品、硬件平 台、网络协议异构环境下运行,应用的规模也从局域网发展到广域网。在这种情况下,c s 模式的种种局限性也就暴露出来了,这时中间件应运而生。中间件出现的另一个重要原因 是目前企业级应用软件系统的规模和复杂度的迅速增大,经常是将一个公司内部的原有的 种种软件系统统一到一个大型的系统中来。其实原来的软件底层的构架的代价很大,这便 出现了一些公司负责开发的处理底层软件分布的中间件平台。中间件是位于操作系统和应 用软件之间的通用服务,它的主要作用是用来屏蔽网络硬件平台的差异性和操作系统与网 络协议的异构性,使应用软件能够比较平滑地运行于不同平台上。同时中间件在负载平衡、 连接管理和调度方面起了很大的作用,使企业级应用的性能得到大幅提升,满足了关键业 务的需求。在这个阶段,客户端是请求服务的,服务器端是提供服务的,它们的关系是不 对称的。随着软件技术的进一步发展,逐渐弱化了客户端和服务器的概念。一个对象对一 个对象而言可能是提供服务,是个服务器,而对另一个对象可能是客户,因为它向该对象 发出请求。这种情况下,中问件更是得到了充分的使用,因为没有客户服务器的关系,所 有的组件访问都是通过中间件来完成的。 2 3 中间件技术在国内外的发展概况 中间件产品在软件市场上有着极为看好的前景,根据i d c 最新的市场调查报告,中间 件正在世界范围内呈现出一种迅猛发展的势头。1 9 9 8 年全球中间件市场的综合增长率为 堕茎查堂堡主堂焦丝兰已! ! 丛 2 8 ,销售额为1 7 1 6 亿美元,2 0 0 2 年全球中间件市场的营业额已经超过7 0 亿美元。著名 的中间件软件商b e a 公司,它的股票在1 9 9 9 年飘升8 0 0 。 i b m 公司在i n t e r n e t 中间件核心技术方面取得的突破性进展,推出了w e b s p h e r e 软件 平台。w e b s p h e r e 软件平台建立在原有的w e b s p h e r e 系统之上,并将其从网络应用服务器 软件发展成一套完整的端到端电子商务软件系统。该系统是目前业界最广泛、集成化程度 最高的中间件软件包。它不但结合了网络应用服务器及集成等最重要的中问件技术,而且 包含了w e b s p h e r e 中大量相关电子商务应用系统、网络开发和管理服务。 近两年,国内也出现了专业开发中间件平台的软件公司,如东方通科等,中国因防大 学也研制出国产c o r b a 产品。 所有这些都说明中间件在软件技术中的地位越来越重要,并具有非常广阔的应用前 景。 2 4 中间件的分类 中间件所包括的范围十分广泛,针对不同的应用需求涌现出多种各具特色的中间件产 品。但至今中间件还没有一个比较精确的定义,因此,在不同的角度或不同的层次上,对 中间件的分类也会有所不同。由于中间件需要屏蔽分布环境中异构的操作系统和网络协 议,它必须能够提供分布环境下的通讯服务,我们将这种通讯服务称之为平台。根据中间 件在系统中所起的作用和采用的技术不同,大致划分为以下五种: ( 1 ) 数据库中间件( d m ,d a t a b a s em i d d l e w a r e ) 数据库中间件在所有的中间件中是应用最广泛,技术最成熟的一种。一个最典型的例 子就是o d b c ,o d b c 是一种基于数据库的中间件标准,它允许应用程序和本地或者异地的 数据库进行通信,并提供了一系列的应用程序接口a p i ,当然,在多数情况下这些a p i 都 是隐藏在开发工具中,不被程序员直接使用。有过实际编程经验的朋友都知道,在写数据 库程序的时候,只要在o d b c 中添加一个数据源,然后就可以直接在自己的应用程序中使 用这个数据源,而不用关系目标数据库的实现原理、实现机制,甚至不必了解o d b c 向应 用程序提供了哪些应用程序接口a p i 。 不过在数据库中削件处理模型中,数据库是信息存贮的核心单元,中间件完成通信的 功能,这种方式虽然是灵活的,但是并不适合于一些要求高性能处理的场合,因为它需要 大量的数据通信,而且当网络发生故障时,系统将不能正常工作。所谓有得必有失,就是 这个道理,系统的灵活性提高是以处理性能的降低为代价的。 ( 2 ) 远程过程调用中间件( r p c ,r e m o t ep r o c e d u r ec a l l ) 远程过程调用是另外一种形式的中间件,它在客户服务器计算方面,比数据库中间 件又迈进了一步。它已经存在了相当长的时间,而且沿用了大多数程序员都非常熟悉的编 程模式一程序员就像调用本地过程一样在程序中调用远程过程。启动远程过程的运行,然 后将运行结果返回给本地程序。不但如此,远过程调用还可以将程序的控制传递到远端的 南开大学硕士学位论文 服务器当中去。 远程过程调用是一种广泛使用的分布式应用程序处理方法。一个应用程序使用r p c 来 t 远程”执行一个位于不同地址空间早的过程,并且从效果上看和执行本地调用相同。事 实上,一个r p c 应用分为两个部分:s e r v e r 和c l i e n t 。s e r v e r 提供一个或多个远程过程; c l i e n t 向s e r v e r 发出远程调用。s e r v e r 和c l i e n t 可以位于同一台计算机,也可以位于 不同的计算机,甚至运行在不同的操作系统之上。它们通过网络进行通讯。相应的s t u b 和运行支持提供数据转换和通讯服务,从而屏蔽不同的操作系统和网络协议。在这里r p c 通讯是同步的。采用线程可以进行异步调用。在r p c 模型中,c l i e n t 和s e r v e r 只要具备 了相应的r p c 接口,并且具有r p c 运行支持,就可以完成相应的互操作,而不必限制于特 定的s e r v e r 。因此,r p c 为c l i e n t s e r v e r 分布式计算提供了有力的支持。 ( 3 ) 面向消息中唰件( m o m ,m e s s a g eo r i e n t e dm i d d l e w a r e ) m o m 指的是利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信 来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可在分布环境下扩展进 程问的通信,并支持多通讯协议、语言、应用程序、硬件和软件平台。目前流行的m o m 中 间件产品有i b m 的m o s e r i e s 、b e a 的m e s s a g e q 等。消息传递和排队技术有以下三个主要 特点: a 、通讯程序可在不同的时间运行 程序不在网络上直接相互通话,而是间接地将消息放入消息队列,因为程序间没有直 接的联系。所以它们不必同时运行。消息放入适当的队列时,目标程序甚至根本不需要正 在运行;即使目标程序在运行,也不意味着要立即处理该消息。 b 、对应用程序的结构没有约束 在复杂的应用场合中,通讯程序之间不仅可以是一对一的关系,还可以进行一对多和 多对一方式,甚至是上述多种方式的组合。多种通讯方式的构造并没有增加应用程序的复 杂性。 e 、程序与网络复杂性相隔离 程序将消息放入消息队列或从消息队列中取出消息来进行通讯,与此关联的全部活 动,比如维护消息队列、维护程序和队列之间的关系、处理网络的重新启动和在网络中移 动消息等是m o m 的任务,程序不直接与其它程序通话,并且它们不涉及网络通讯的复杂性。 消息中间件的优点在于能够在客户和服务器之间提供同步和异步的连接,并且在任何 时刻都可以将消息进行传送或者存储转发,这也是它比远程过程调用更进一步的原因。另 外消息中间件不会占用大量的网络带宽,可以跟踪事务,并且通过将事务存储到磁盘上实 现网络故障时系统的恢复。当然和远程过程调用相比,消息中间件不支持程序控制的传递, 不过这种功能和它的优势比起来却是无关紧要的。 消息中间件适用于需要在多个进程之间进行可靠的数据传送的分布式环境。 ( 4 ) 基于对象请求代理( o r b ,o b j e c tr e q u e s tb r o k e r ) 的中间件 南开太学硕士学位论文 第1 3 页 随着对象技术与分布式计算技术的发展,两者相互结合形成了分布对象计算,并发展 为当今软件技术的主流方向。对象请求代理是近年来才发展起来的一项新技术,它可以看 作和编程语言无关的面向对象的r p c 应用,被视为从面向对象过渡到分布式计算的强大推 动力量。从管理和封装的模式上看,对象请求代理和远过程调用有些类似,不过对象请求 代理可以包含比远过程调用和消息中间件更复杂的信息,并且可以适用于非结构化的或者 非关系型的数据。 1 9 9 0 年底,对象管理集团o m g 首次推出对象管理结构o m a ( o b j e c tm a n a g e m e n t a r c h i t e c t u r e ) ,对象请求代理( o b j e c tr e q u e s tb r o k e r ) 是这个模型的核心组件。它的 作用在于提供一个通信框架,透明地在异构的分布计算环境中传递对象请求。c o r b a 规范 包括了o r b 的所有标准接口。1 9 9 1 年推出的c o r b a1 1 定义了接口描述语言o m gi d l 和 支持c ii e n t s e r v e r 对象在具体的o r b 上进行互操作的a p i 。c o r b a2 0 规范描述的是不 同厂商提供的o r b 之间的互操作。 对象请求代理( o r b ) 是对象总线,它在c o r b a 规范中处于核心地位,定义异构环境 下对象透明地发送请求和接收响应的基本机制,是建立对象之间c l i e n t s e r v e r 关系的中 间件。o r b 使得对象可以透明地向其他对象发出请求或接受其他对象的响应,这些对象可 以位于本地也可毗位于远程机器。o r b 拦截请求调用,并负责找到可以实现请求的对象、 传送参数、调用相应的方法、返回结果等。c l i e n t 对象并不知道同s e r v e r 对象通讯、激 活或存储s e r v e r 对象的机制,也不必知道s e r v e r 对象位于何处、它是用何种语言实现的、 使用什么操作系统或其他不属于对象接口的系统成分。 值得指出的是c l i e n t 和s e r v e r 角色只是用来协调对象之间的相互作用,根据相应的 场合,o r b 上的对象可以是c l i e n t ,也可以是s e r v e r ,甚至兼有两者。当对象发出一个请 求时,它是处于c l i e n t 角色;当它在接收请求时,它就处于s e r v e r 角色。大部分的对象 都是既扮演c l i e n t 角色又扮演s e r v e r 角色。另外由于o r b 负责对象请求的传送和s e r v e r 的管理,c l i e n t 和s e r v e r 之间并不直接连接,因此,与r p c 所支持的单纯的c l i e n t s e r v e r 结构相比,o r b 可以支持更加复杂的结构。 目前有两种对象请求代理的标准,分别是c o r b a 和d c o m ,这两种标准是相互竞争的, 而且两者之间有很大的区别,这在一定程度上阻碍了对象请求代理中间件的标准化进程。 ( 5 ) 事务处理中间件( t p m ,t r a n s a c t i o np r o c e s s i n gm o n i t o r ) 事务处理中间件是一种复杂的中间件产品,是针对复杂环境下分布式应用的速度和可 靠性要求而实现的。它给程序员提供了一个事务处理的a p i ,程序员可以使用这个程序接 口编写高速而且可靠的分布式应用程序一基于事务处理的应用程序。 事务处理中间件向用户提供一系列的服务,如应用管理,管理控制,已经应用程序间 的消息传递等。常见的功能包括全局事务协调、事务的分布式两段提交、资源管理器支持、 故障恢复、高可靠性、网络负载平衡等等。 查茎查兰堡主堂焦丝兰 二l 旦竺 事务处理监控( t r a n s a c t i o np r o c e s s i n gm o n i t o r s ) 最早出现在大型机上,为其提 供支持大规模事务处理的可靠运行环境。随着分布计算技术的发展,分布应用系统对大规 模的事务处理提出了需求,比如商业活动中大量的关键事务处理。事务处理监控界于 c l i e n t 和s e r v e r 之间,进行事务管理与协调、负载平衡、失败恢复等,以提高系统的整 体性能。它可以被看作是事务处理应用程序的“操作系统”。总体上来说,事务处理监控 有以下功能: 进程管理,包括启动s e r v e r 进程、为其分配任务、监控其执行并对负载进行平衡。 事务管理,即保证在其监控下的事务处理的原子性、一致性、独立性和持久性。 通讯管理,为c l i e n t 和s e r v e r 之间提供了多种通讯机制,包括请求响应、会话、 排队、订阅发布和广播等。事务处理监控能够为大量的c l i e n t 提供服务,比如飞 机定票系统。如果s e r v e r 为每一个c l i e n t 都分配其所需要的资源的话,那s e r v e r 将不堪重负。但实际上,在同一时刻并不是所有的c l i e n t 都需要请求服务,而一 旦某个e l i e n t 请求了服务,它希望得到快速的响应。事务处理监控在操作系统之 上提供一组服务,对c l i e n t 请求进行管理并为其分配相应的服务进程,使s e r v e r 在有限的系统资源下能够高效地为大规模的客户提供服务。 总之,中间件可向上提供不同形式的通讯服务,包括同步、排队、订阅发布、广播等 等,在这些基本的通讯平台之上,可构筑各种框架,为应用程序提供不同领域内的服务, 如事务处理监控器、分布数据访问、对象事务管理器o t m 等。平台为上层应用屏蔽了异构 平台的差异,而其上的框架又定义了相应领域内的应用的系统结构、标准的服务组件等, 用户只需告诉框架所关心的事件,然后提供处理这些事件的代码。当事件发生时,框架则 会调用用户的代码。用户代码不用调用框架,用户程序也不必关心框架结构、执行流程、 对系统级a p i 的调用等,所有这些由框架负责完成。因此,基于中间件开发的应用具有良 好的可扩充性、易管理性、高可用性和可移植性。 2 5 中间件技术的工作机制 客户端上的应用程序需要从网络中某个节点处获取一定的数据或者服务,这些数据和 服务可能处于一个运行着和客户端不同的操作系统的服务器上,客户服务器应用程序中 负责查找数据的那一部分只要通过调用中间件a p i 访问一个中间件系统,由中间件完成到 网络中查找目标数据源或者服务的任务,进而传输客户请求,重组答复信息,最后将结果 送回给应用程序。 从理论上讲,中间件有以下的工作机制:客户端上的应用程序需要从网络中的某个地 方获取一定的数据或服务,这些数据或服务可能处于一个运行着不同操作系统和特定查询 语言数据库的服务器中。客户服务器应用程序中负责寻找数据的部分只需访问一个中间 件系统,由中间件完成到网络中找到数据源或服务,进而传输客户请求、重组答复信息, 壹要叁堂堡! :堂垒丝兰一至l ! i 堕 最后将结果送回应用程序的任务。 2 6 中间件与c g i 的比较 c g i ( c o 哪o ng a t e w a yi n t e r f a c e 通用网关接口) 是一个用于w e b 服务器与外部程序 之间通信方式的标准,使得外部程序能生成h t m l 、图像或者其他内容,而服务器处理的方 式与那些非外部程序生成的h t m l 、图像或其他内容的处理方式是相同的。因此,c g i 程序 不但能生成静态内容而且能生成动态内容。c g i 的优势在于几乎所有的w e b 服务器都支持 c g i 标准,c g i 应用程序可以用任何一种语言来编写。c g i 程序驻留在w e b 服务器上,当 w e b 服务器受到客户端浏览器的请求后,执行相应的c g i 程序,并通过w e bs e v e r 将结果 返回给浏览器。 通常的c g i 应用对于数据库而言是单一的排队问题,单一的服务器可同时完成多服务 的排队问题,排队模型如图2 2 所示。 图2 2c g i 排队模型 c g i 的应用方式中,应用往往会受到数据库用户数的限制:通常的d b m s 服务器都定 义了一个用户数1 1 ,通过这个用户数限制了同时连接到d b 服务器的进程数量。当与d b 连 接的用户数量达到这个上限时,新的用户连接请求就会失败。同时,系统灵活性比较低, 无法根据用户的访问量及时调整系统参数,在i n t e m e t 应用中,网络上会出现大量用户同 时访问一个数据库服务器的情况,并且每个用户在一段时间内会保持这种服务连接,大量 耗费了系统资源,从而限制了可用的连结数,但是,当用户在进行客户端的处理时,与d b 的连接通常是空闲的,如果能够充分利用这些时间,使得这些连接能够为其他用户提供服 务,那么就能大大提高同时服务的用户数。如果在用户不使用这些数据库连接时就断开d b 连接,虽然可以提高d b 服务器的多用户服务能力,但是建立d b 连接通常都是相当费时的 操作,这样会降低数据库服务器的服务响应速度,在实际使用时效率较低。 使用中间件,其服务排队模型相对于c g i 来讲增加了一层中间e j b 组件,从而形成了 一个串行结构,并且e j b 组件的数据可根据系统的状态进行调整,图3 4 中s 0 是调度程 堕茎查兰竺主兰竺丝塞生! ! 羔 序,s 1 到s n 是e j b 组件的数据。每个e j b 组件与d b m s 的连接是建立好的,不需要在建立 连接方面耗费系统资源,同时由于具有对象缓存功能,它在接受一个请求之后,不被这一 请求独占资源,还可以接受另外请求,这就节省了请求等待的时间。中间件设计模型如图 2 3 所示。 图2 3 中间件设计模型 这种中间件的设计思想在本系统中的体现就是使用独立的d b 连接管理进程系统 ( w r m s ) 提供连接管理的服务。客户不是直接与d b 服务器建立连接,而是通过w r m s 建立 连接,各种d b 操作也是通过w r m s 完成的。概括起来,中间件w r m s 的特点和优势在于: 1 ) 有效改善i n t r a n e t 上多用户对数据库的访问性能: 2 ) 减少网上信息的传输; 3 ) 优化网络传输性能; 4 ) 既支持类似w e b 中的无状念和一次连接,也支持应用有状态和持续性的连接: 5 ) 为i n t e r n e t 应用中与数掘库的连接提供一条功能强大而又灵活高效的途径。 2 7以中间件为框架基础的三层结构模式 中间件是基础软件的一大类,属于可复用软件,它处于操作系统软件和用户的应用软 件中间层。在应用中间件的系统中,中间件处于网络应用服务器和数据库服务器和网络应 用程序的中间,通过封装对数据库的访问为用户( 网络应用的开发者) 提供灵活高效的集 成开发环境。近年来,以中间件为框架基础的三层结构c s 模式已被广泛正式成为建立丌 放式关键业务应用系统的最佳环境。因为作为构造三层结构业务应用系统的基础平台,中 间件提供了以下两个主要功能:负责客户机与服务器之间的联系和通讯,提供了表示层与 功能层之间,功能层与数据层之间,数据层与数据层之间的连接和完善的通信机制。 在典型的三层客户机服务器模式的应用中,其中的核心概念即为利用中间件将表示 逻辑、应用逻辑与数据分为三个不同的处理层。中间层在三层结构的应用软件中扮演若键 的角色,其作用是用来管理大量( 有时是海量) 的客户端并为其连接,集成多种异构的服 务平台,处理来自客户端的请求,屏蔽后端数据库的各种复杂运作。中间层能够支持多种 客户端,如网络浏览器,j a v a 应用程序以及手动设备等。客户端处理用户界面,不直接向 南开大学硕士学位论文 数据库发出查询请求,或进行与后端数据库直接相关的操作,而是通过中问层问实现这些 功能。 中间层不仅向客户端提供商务服务,而且提供以下系统级服务: ( 1 ) 客户端与后端系统远程存取操作 ( 2 ) s e s s i o n 与t r a n s a c t i o n 的管理 ( 3 ) 安全强制保障 ( 4 ) 资源库存 由于中间层提供了这些服务,客户端可以相对简单,因而易于开发。此外还可以在已 有应用软件和数据库的基础上集成新的客户端软件,从而减少对系统总的投资。 2 8 中间件的技术优势 中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技 术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。 使用中间件可为系统带来如下好处: - 易于集成 中间件能无缝地连入应用开发环境中。应用程序可以很容易地定位和共享中间件 提供的应用逻辑和数据。 易于移植 中间件使得应用与平台无关,因此可

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论