(计算机应用技术专业论文)远程教育及关键技术研究.pdf_第1页
(计算机应用技术专业论文)远程教育及关键技术研究.pdf_第2页
(计算机应用技术专业论文)远程教育及关键技术研究.pdf_第3页
(计算机应用技术专业论文)远程教育及关键技术研究.pdf_第4页
(计算机应用技术专业论文)远程教育及关键技术研究.pdf_第5页
已阅读5页,还剩62页未读 继续免费阅读

(计算机应用技术专业论文)远程教育及关键技术研究.pdf.pdf 免费下载

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

文档简介

摘要 摘要 f 随着多媒体技术和网络技术的发展,现代远程教育迅速发展和普及,构建 一个打破传统的、不受地域限制的继续教育、终身学习的新模式已成为迫切需 要解决的重要课题0 1 本文着重研究了一个基于i n t e r n e t 的远程教育系统的实 现以及其中涉及到的关键技术,包括x m l 、分布式处理等。在论文中着重描述 了为保证系统具有良好的可扩展性和较高的效率而设计的两个子系统:扩展服 务子系统和消息中间件,并同时运用演算和c t l 模型验证算法等对分布式处 理中进程交互的实质和并发系统的模型检验等问题作了深入的研究。同时,对 远程教育系统中的信息表述问题也进行了重点研究。 关键词:远程教育信息表述分布式处理 摘要 a b s t r a c t w i t ht h et e c h n o l o g yp r o g r e s so f m u l t i m e d i aa n dn e t w o r k ,m o d e mr e m o t ee d u c a t i o ni s d e v e l o p i n gr a p i d l y a n d a p p l y i n gw i d e s p r e a d s o ,a ni m p o r t a n t t a s kf a c e du sa n d n e e d e dt os o l v eu r g e n t l yi st oc o n s m a c tan e wm o d eo f c o n t i n u i n ge d u c a t i o na n d s t u d y i n g f o rl i f e ,w h i c hi su n t r a d i t i o n a la n dn o tl i m i t e dt ot h e r e g i o na n dt i m e t h e a r t i c l er e s e a r c ho nh o wt or e a l i z et h es y s t e mo f r e m o t ee d u c a t i o na n di t sk e y t e c h n o l o g y , i n c l u d i n gx m l ,d i s t r i b u t e dp r o g r a m m i n ge t c t oe n h a n c et h ee x t e n s i b l e a n d e f f i c i e n c yo f t h es y s t e m ,m e s s a g em i d d l e w a r ea n d e x t e n d s e r v i c es u b s y s t e ma r e v e r yi m p o r t a n t i nt h i sp a p e r , t h et w os u b s y s t e ma r em a i np a r t s c a l c u l u sa n dc t l a r eu s e dt os o l v e p r o b l e m s s u c ha sm o d e l c h e c k i n g i na r t i c l e a tt h es a l i l et i m e ,a m e t h o dt oe x p r e s st h ei n f o r m a t i o ni nr e m o t ee d u c a t i o ns y s t e mi sp r o p o s e d k e y w o r d s :r e m o t e e d u c a t i o ni n f o r m a t i o ne x p r e s s i o nd i s t r i b u t e dp r o g r a m m i n g 第一章绪论 第一章绪论 1 1 研究工作的意义及背景 1 、实施远程教育的背景 现代远程教育是随着现代信息技术的发展而产生的一种新型教育方式,它是 构筑知识经济时代人们终身学习体系的主要手段。在国家的面向2 1 世纪教育 振兴行动计划文件中,重点提出了“实施现代远程教育工程、形成开放式 教育网络、构建终身学习体系”的目标。其中心思想为以下几个方面: 第一、充分利用现代信息技术,在原有远程教育的基础上,实施“现代远程 教育工程”,有效地发挥现有各种教育资源的优势,紧跟世界科技教育发展的潮 流。 第二、以现有的中国教育科研网( c e r n e t ) 示范网和卫星视频传输系统为基 础,提高主干网传输速率,充分利用国家已有的通信资源,进一步扩大中国教育 科研网的传输容量和联网规模。利用中国教育科研网建立全国大学生招生远程录 取、计算机学籍管理、毕业生远程就业服务一体化的信息系统。 第三、改变落后、低水平重复的远程教育软件开发制作模式,发挥政府宏观 调控作用,利用各级各类学校教育资源的优势,通过竞争和市场运作机制,开发 高质量的教育软件。要重点建设全国远程教育资源库和若干个教育软件开发生产 基地。同时注意引进国外优秀现代远程教育软件。 第四、教育部对全国现代远程教育工作实行归口管理,负责组织制订全国“现 代远程教育发展规划”并组织实旌。“现代远程教育工程”将实行短期国家支持、 长期自力运行的发展策略。采用先进的信息技术手段,结合中国的实际情况,不 断提高现代远程教育的水平。 第五、为推动现代远程教育的发展,对现代远程教育网络运行费用实行优惠, 并依法对境外捐赠设备、进口设备的关税给予减免。 由此可见,实施“现代远程教育”已经成为目前迫切需要解决的问题。政府 将远程教育提到如此高度,是因为远程教育对改善我国办学条件和提高教学水平 具有很大的促进作用,重要性突出表现在如下三个方面: ( 1 ) 远程教育通过对计算机网络实现教育资源的共享,某一学科的先进教 学方法和实验条件可以被校内甚至校外的各学科使用,从而可以节省大量在基础 设施上的重复投资而用于公共教育软件的开发和设计,有利于从整体上改善国内 的办学条件和提高教学水平。 ( 2 ) 远程教育不受传统的面对面统一教学模式的限制,能为学生提供更深、 更广的教学内容,学生可以根据自己的实际情况确定学习内容和安排学习进度, 远程教育及关键技术研究 满足了社会普通性和个体独立性学习的需要,从而有利于学生的个性化综合发 展。 ( 3 ) 远程教育不受时间和地点的限制,学生毕业后仍能通过计算机网络巩 固、更新、和提高所学的知识,从而可实现对离校学生的持续教育和终身教育。 所以,在我国目前教育资源并不充裕但迫切需要提高全民素质的情况下,远 程教育必然是最合适的选择。 2 、远程教育的分类 根据远程教育系统的授课与学习方式的不同,在同步与异步,交互与非交互 中又可以有以下不同组合类型:同步非交互式远程教育、异步非交互式远程教育, 同步交互式远程教育和异步交互式远程教育。 ( 1 ) 同步非交互式远程教育 这是一种传统课堂授课方式的电子方式转化,仅仅解决了距离上的问题。早 期的电大课程大都属于这种教育方式。授课老师的讲解通过卫星转播或有线电视 被直接传送到学习者的电视接受设备上,学习者必须同时进行被动式听课,这种 方式的远程教育已逐步被其它方式取代。 ( 2 ) 异步非交互式远程教育 在这种远程教育方式中,分为两种情况,一种仍是基于传统的卫星电视或有 线电视传送方式,只不过将电视直播方式改为转播,也就是说将老师的授课内容 录制存贮下来,在不同的时间段向远端的学习用户播放,这种方式最大的问题仍 是被动式学习。另种异步非交互式远程教育则利用了i n t e r n e t 网络,将老师 授课的内容以电子教案的方式( 主要包括文本和少量的图片) 存贮在服务器上, 供远程学生学习是调用,这其实只不过是传输媒体的变化,内容由录象改变为电 子教室,学生被动式学习的实质并没有改变。 ( 3 ) 交互式远程教育 为了解决以上两种模式中学生被动学习的不足,现代远程教育目前不论在同 步还是异步方式中,都朝着交互式教育发展。所谓交互式学习模式,就是学生可 以根据自身的实际情况可以有选择地学习不同课程内容,自行安排课程进度,在 进行具体课程学习过程中,应同授课老师保持一定的交互能力和对话权力,在学 习基本完成后,还要能够及时地进行相关的练习加以巩固。 而同步交互与异步交互的区别则在于同步交互式的对象主要是教授者和学习 者,而异步交互则更大程度上是学习者和课程之间的事情。 本文致力研究的就是一种基于i n t e r n e t 的切实可用的以异步交互式为主、 同步交互式为辅的远程教育系统。 3 、工n t e r n e t 与远程教育 基于i n t e r n e t 的远程教育系统是指利用一般的i n t e r n e t 线路,而非租 第一章绪论 用专用线路( 如a t m ,i s d n 等) 作为网络环境而建立的远程教育环境。在这种 方式下,学生无论通过局域网或通过拨号上网,一经连接入i n t e r n e t ,均可进 入该系统进行学习。 在i n t e r _ n e t 众多的服务形式中,w w w 服务是目前发展最快的在 i n t e r n e t 上运行的全球的、交互的、动态的、跨平台的、分布的、图形化的超 文本信息系统,它提供了一个可以轻松驾驭的图形化界面,用以查阅i n t e r n e t 上的文档,这些文档与它们之间的联接一起构成了一个庞大的信息网。w w w 正 在逐步改变全球用户的通信方式,受到人们的普遍欢迎。在过去的几年中,w w w 飞速发展,融入了大量的信息一从商品报价到就业机会、从电子公告牌到新闻、 电影预告、文学评论以及娱乐,不管是微不足道的小事,还是系关全球的大事。 而不断推出的各种浏览器更是对于多媒体的支持功能越来越强,几乎涵盖新闻、 图象、动画、声音、视频、3 d 世界以及其他任何信息。 由于w w w 的倍受青睐,现在几乎所有的p c 机都配有w w w 浏览器。因此, 学生进入基于i n t e r n e t 的远程教育系统之后,不必配备专用的软件,只要打丌 w w w 浏览器,进入远程教育主站点,就可以使用系统,这极大地方便了该系统 的使用。 因此,开发基于i n t e r n e t 的远程教育系统是很有必要的。 1 2 存在的问题与解决方案 1 、存在的问题 基于j n t e r n e t 的远程教育系统本质上是一个以教育为主要功能的w e b 应 用。作为一个教育系统,它面临的一个重要的问题就是如何把各种相关的教育信 息有效的组织起来。教育过程本身实质上就是有效利用现有的各种信息过程。在 教育系统中,会涉及到的各种信息包括课件信息、试题信息、作业信息、与课程 内容有关的各种辅助信息等等。在传统教育过程中,这些信息可以通过老师口头 传达给学生,但在远程教育中,这些信息必须以一种有效的方式组织起来并可以 方便的被用户获得,否则,远程教育就达不到应有的效果。 同时,作为一个w e b 应用,w e b 应用目前存在的缺点严重影响着远程教育 系统的功能和远程教育的效果。w e b 应用目前存在的缺点包括低重用性、低扩 展性、低工程性、低健壮性。 w e b 应用软件的重用性太低,大量的时间花费在相似的工作中。这是由于 w e b 应用是最近才兴起的,没有一套很完善的应用体系结构作支撑。而由于w e b 应用中处理的对象是以页面为单位的,没有现成的很适合的工程化方法,这导致 了w e b 应用的模型往往抽象性很低,甚至根本就没有任何抽象性可言,而是仅 远程教育及关键技术研究 仅的“就事论事”,由此导致了大量的重复劳动。同时,由于w e b 上平台的多样 性、客户需求的多样性,使设计一个高抽象度的应用模型的难度大大的增加了。 没有使用工程化开发方法的另一个后果是w e b 应用中的低工程性,在开发 一个w e b 应用中,难以使用工程化管理方法,这样无法保证最终的结果符合要 求,也无法保证最终系统的质量。另一方面,在w e b 上使用的是h t m l 协议, 这个协议的设计纯粹是为了显示的需要,在早期足够满足需要。可是随着w e b 应用的复杂性的提高,h t m l 协议这种内容与显示无法分离、无法清晰表达语义 的缺点已无法适应了。在一个页面程序中,往往显示代码和应用程序处理代码纠 缠在一起,不管是对应用程序的修改还是美工对页面显示的修改都会有困难,由 于这些困难的存在,对一个已经构建好的w e b 应用中功能进行扩展是很麻烦的 一件事。 低工程性、低重用性带来的另一个后果是整个应用的低健壮性。同时,远程 教育中的另一个特点是随着应用的发展,必然会有大量的操作将是分布式的,保 证分布式处理的正确、高效也是保证远程教育系统的重要方面。 2 、解决方案 为了在新的系统中避免上述的问题,采用了下面几种解决办法。 a 、面向对象的分析方法 面向对象设计方法虽然已经提出很久,在软件开发中已经得到了很好的应 用,但一直没有应用到、砸b 应用中。原因在于开发w e b 应用的工具如a s p 、p h p 对面向对象设计支持的不好。微软公司为了在a s p 中引入面向对象设计提出了 c o m 技术,但由于c o m 开发的难度比较大,使网络应用对象化的目标一直没有 实现。 j a 、,a 语言推出后,在w e b 应用中提出了j s p 、a p p l e t 、s e r v l e t 、 j a v a b e a n 等一整套开发技术。由于j a v a 语言对面向对象的支持,使w e b 应 用设计、实现面向对象化成为了现实。 使用面向对象设计方法可以有效的提高w e b 应用的工程化、重用性和健壮 性、扩展性。在整个系统的设计过程中,不论是服务器端的服务还是用户界面的 显示元素一律封装到各自的对象中。同时,所有的设计使用u m l 表述,设计的 流程采用r u p 方法。这样,最终的应用就是由各个对象搭建起来的,一旦有需 要,可以象搭积木一样添加新对象或删除某一个对象。 在第六、七章详细介绍了如何应用面向对象分析方法。 b 、使用各种新技术 要将面向对象分析方法应用到w e b 应用中离不开大量新技术的支持。比如 x m l 技术,它解决了由于h t t p 的简单性和面向显示性而带来的无法支持复杂 应用和难以扩展的问题:j s p 中提供的自定义标签技术则解决了页面中显示代码 第一章绪论 和应用逻辑代码纠缠在一起的问题,为w e b 应用的可扩展性和工程化管理提供 了可能;e j b 、j a v a b e a n 技术则为整个系统的组件化提供了手段,现在成熟的 c o r b a 模型则提供了一个健壮的网络应用分布模型。在后面的介绍中将对所使 用的技术作详细介绍。 c 、使用x m l 技术整合各类相关信息 x m l 技术本质上是提供了一种信息表述方法,但其具体的表述形式可以由 用户根据自己的需要来定义。这样,针对远程教育信息就可以采用非常适合的方 式来表达这些信息。由于表述形式是根据具体的信息定义的,同时,由于针对x m l 的处理方法如s a x ,d o m 已非常成熟,当系统在处理信息时就可以尽量作到语 义级的交互,从而可以有效的使用各种信息。 1 3 系统的目标与使用的平台、语言 l 、系统的目标 基于i n t e r n e t 的远程教育系统的目标是给用户提供个既具有充分自主性 又十分符合用户学习习惯的网上学习环境。它应该同时具备远程教育所拥有的灵 活性和现实教育体系中的易管理性。同时,它必须具有很强的易扩展性以适应用 户不断发展的需要。 2 、系统所使用的平台、语言 整个系统的构建主要采用j a v a 语言,由于j a v a 语言的跨平台性,系统将 可以方便的从一个系统移植到另一个系统。 跨平台性和j a v a 语言的面向对象特性是系统健壮性和可扩充性的重要保 证。 1 4 本文结构 本文首先从整体上利用面向对象分析方法对系统的整体功能作了分析;然后 对系统中使用的x m l 、e j b 、c o r b a 等技术作了较详细的讨论;随后描述了系 统的实现体系结构。为了更好的实现系统,尽量使系统中对象的交互达到语义级 的交互,在本系统中利用x m l 技术为这个系统设计了些词汇表,在第五章详 细介绍了几个典型的词汇表和设计方法。除去远程教育必备的部分外,本系统提 供了两个系统级服务,它们是保证系统具备可扩展性和高效率的关键部分。因此, 在随后的两章,详细介绍了本系统中消息中间件和扩展服务子系统两部分的设计 实现,同时使用c t l 模型验证方法、排队论和演算对这两个子系统作了深入的 分析。在文章的最后,对系统的优缺点作了讨论,并讨论了未来的研究方向。 远程教育及关键技术研究 第二章系统功能分析 2 1 系统整体功能描述 基于i n t e r n e t 的远程教育系统的总体目标是设计实现一个全新的、完整的 网上教、学及管理系统,真正突破地域和时间的限制,达到远程教育的目的。 从涉及的对象来看,基于i n t e r _ n e t 的远程教育系统要解决教师授课、学生 学习及网上教学管理三大主要问题。系统的需求可以描述如下: 作为学生一方: l 学生能够通过网络进行多媒体课件的学习。 2 学生能够在网络上得到教师的指导。 3 能够利用网络得到大量的学习相关材料。 4 学生能够和同学进行交流。 5 能够使学生根据自己的学习情况安排学习计划。 作为老师一方: 1 教师可以上传自己制作的课件。 2 教师可以在约定时间给学生以网上辅导。 3 教师可以和其它教师在网络上进行交流。 4 教师可以通过网络得到需要的资料。 作为管理人员: 1 系统应该能够实现类似于学籍管理的功能。 2 有专人负责系统资源的管理。 3 能够管理系统的安全,根据需要调整资源的安全性。 为了能够适应未来的发展,还应该提供以下功能: l 为适应应用的变化,应该使系统易于添加新的功能。 2 在多服务器的情况下,应该能够在各服务器上实现资源共享。 整个系统的系统结构如图2 1 表示。 如果再综合考虑其它为客户提供的一些服务,如信息服务等,可以得到整个 系统功能图如图2 2 。 第二章系统功能分析 图2 1 远程教育系统结构图 远程教育及关键技术研究 图2 2 远程教育系统功能图 组织机构:用于对网站的管理层做介绍。 信息中心:用于发布相关或热门的信息。 学习子系统:主要负责学生的学习。 教师子系统:用于为教师提供服务。 管理子系统:提供系统资源的管理功能。 资料子系统:为教师、学生提供大量的学习相关资源。 服务子系统:为远程教育系统的使用者提供一些服务。 系统级服务:负责提供远程教育系统中的一些必须的系统级服务。 下面,就其中几个主要的子系统的功能设计作以说明。 2 2 教师子系统 在教师子系统中,提供给教师远程教学中所必需的远程教学手段,同时,还 提供给教师充分的资源。其功能图2 3 所示。 图2 3 教师子系统功能图 第二章系统功能分析 学生查询:对选学自己课件的学生进行查询,以便掌握学生的学习情况。 课件查询:对其他老师的课件进行查询,达到博采众家之长的目的,以帮助 教师更好的设计课件。 教材查询:使教师可以得到充分的相关资源。 课件信息修改:使教师可以对自己的课件的相关信息进行修改,以便适应变 化。 教育杂志联接:使教师可以得到专业杂志的帮助。 素材库:一个优秀的远程教育课件离不丌好的多媒体素材,教师可以在素材 库中查找合适的素材,提高课件的质量。 课件上传:帮助教师将课件上 f # n n 务器上供学生学习。 素材上传:帮助教师将自己的好的素材上传到服务器上与其他教师共享。 作业查询:帮助教师管理学生上交的作业。 教师在使用以上功能时,必须要确保通过了相应的权限验证,以保证系统内 资源的安全性。 2 3 学习子系统 在远程教育系统中,学习子系统是最关键的一个子系统,其功能也最为复杂, 考察其重点功能得到功能如图2 4 所示。 公告栏:用于发布课件信息、试题信息等。 学生信息查询:用户可以查询自己所选的课程和考试信息。 学习系统:用于用户学习课件。 教案下载:对某些用户允许将课件下载。 选课:显示用户可选课程: 我的资源:对用户在学习本课件时发现的有用信息进行存贮。 课程公告:课件所附带的说明。 课程内容:既课件简介,由课件附带。 学习参考:列出教师推荐的一些参考资料,出课件附带。 在线辅导:在规定时间学生与老师进行在线沟通。 学习自测:用户测试自己的学习效果,试题由老师提供。 作业:某个课件的老师布置的每一章、每一节的作业。 在线讨论:和学习相同课件的用户进行讨论。 学习论坛:学习相同课件的用户的讨论区。 常见问题:教师对些难点问题的补充。 在学习子系统的实现中,关键之处在于如何将这些功能高效的组织在各个网页 远程教育及关键技术研究 中,同时必须要保证易用性,使用户在不经过任何培训的基础上顺利的开始远程 学习。 图2 4 学习子系统功能图 2 4 资料子系统 资料子系统类似于学校中的图书馆,但其中的内容可以是软件、电子图书和 一些文档。它可以使学生或者老师在线阅读资料或者下载资料,资料的来源有两 个方面,一方面是管理人员负责添加,另一方面是由系统的使用者,既老师、学 生提供,这些提供的资料必须经过管理人员认可才能发表。其功能如图2 5 所示。 第二章系统功能分析 图2 5 资源中心功能图 软件:提供一些常用软件的下载功能。 电子图书:提供电子图书的下载功能。 学习文档:提供学习文档的阅读功能。 资源联接:提供网上有用资源的联接。 论文:提供论文的检索功能。 在实现资源中心时,必须保证其中提供的资源都是健康的、合法的,同时 必须有专人对每份资料负责。 2 5 服务子系统 在服务子系统中,提供了一些用户可能会经常使用的功能以方便用户,其功 能如下页图2 , 6 所示。 由于远程教育系统的用户将以学生为主,因此,在这里提供了学生所关心的 问题的信息。 职业教育:主要提供一些继续教育方面的信息。 招考信息:为用户提供各种考试的辅导等信息。 教育机构注册:为扩大信息量,可以允许其它教育机构将自己的信息加入进 来,以方便用户的查询。 跳蚤市场:为用户提供一个二手货交易市场,重点将放在课本、参考书等学 习资料上。 勤工俭学、就业指导:主要将为用户中的在校学生使用。 远程教育搜关键技术研究 图2 6 服务中心功能图 2 6 管理子系统 管理子系统负责整个系统的资源、安全以及服务的管理,为了系统的安全性 需要将管理功能细分,避免出现一个管理员权力过大的情况。其功能图如下: 图2 7 管理中心功能图 学籍管理:负责管理学生的权限及学生信息数据库。 教师管理:负责管理教师权限及教师信息数据库。 专业课程管理:既在服务器上以目录的形式保证各课件在物理上位置明晰。 考试管理:对远程考试以及试题数据库的管理。 资料管理:对资料数据库的管理及上传资料的验证。 素材管理:管理素材库及上传素材的验证。 课件管理:所有有关课件数据库的管理。 第二章系统功能分析 管理子系统在实现时应该考虑两个部分:本地管理系统和远程管理系统。为 了保证安全性,应该对远程管理系统的功能进行限制。 2 7 系统级服务 以上所述的各个子系统在设计上的关键之处在于合理的组织各个w e b 页的 关系以及如何封装各个功能到各个对象中,是远程教育中必备的部分。而系统级 服务则是实现远程教育的可扩展性和高效性的关键部分,在本论文中着重描述了 这两个系统的设计。 1 、扩展服务 为了满足用户不断变化的需求,一个系统必须能够以某种方式对功能进行扩 充,为了实现这一目标,设计了扩展服务子系统。这个子系统的目标是能够以便 捷的方式提供给开发人员一种方法,使开发人员能够方便的添加新的服务而不会 影响到系统已有的功能。 一个扩展服务的过程可以描述如下: ( 1 ) 开发人员提交开发好的服务对象和说明文档;若有必要,如使用服务 时需要用户提供参数,则开发人员提供使用服务的a p p l e t ;否则,提供使用服 务的s e r v l e t 。 ( 2 ) 系统解析描述文档,提取相关数据; ( 3 ) 由管理人员根据描述文档检查对象是否符合系统相关要求; ( 4 ) 通过管理人员检查后,运行此对象,并将从描述文档中得到的数据如 服务名、服务描述添加到用户服务列表。 用户在客户端通过点击此项服务名直接使用服务,或通过打开相应的a p p l e t 使用此项服务。具体的设计和实现将在第六章说明。 2 、消息传递 当资源分布在多个服务器上时,应陔允许这些资源可以被准确方便的引用。 如果由开发人员负责完成所有的编程工作,他不得不投入大量的时间精力在网络 通信、消息格式等问题上。因此,将这些问题提取出来,就可以大大方便开发人 员,使他们可以集中精力在具体的应用处理上。具体的设计实现将在第七章说明。 综上所述,一个远程教育系统是一个集中了教、学、管理于一体的系统,而 通过扩展服务子系统和消息中间件,使系统保持了良好的易扩展性和良好的效 率,更加适应远程教育的要求。 远程教育及关键技术研究 第三章远程教育中的关键技术介绍 3 1 c o r b a 介绍 1 、c o r b a 简介 计算机网络是典型的异构体系。造成这种异构的原因很多,一个明显的 原因是网络技术随着时间不断地在改进,不同时期最好的技术可能在同一个 网络中共存,任何一种计算机操作系统、网络平台的组合都是为了能在一个 网络内使某一部分的性能达到最好;另一个原因是网络的大小不是一成不变 的。 1 9 8 9 年,对象管理组( o b j e c tm a n a g e m e n tg r o u p ,o m g ) 组建时,就致力 于研究异构系统的可移植性与分布式应用程序的开发问题。由o m g 编写和维 护的c o r b a f c o m m o no b j e c tr e q u e s tb r o k e ra r c h i e c t u r e ,公共对象请求代理体 系1 规范提供了一种灵活的,切实可行的分布式应用开发的抽象集,并且确定 了些服务程序。这些服务程序对于解决由于分布式异构计算而带来的系 列问题都是必需的,其主要目标是提供透明互操作性和定向服务。o m g 制定 的技术对一些具体的问题作了合理高层抽象,并隐藏底层的细节。尤其是由 o m g 制定的最关键规范对象管理体系( 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 m a ) 和它的核心为分布式应用的开发提供了一个完整的体系构 架。 c o r b a 现在已成为软件开发的主流,并被业界广泛接受。现有操作系统 和硬件平台的任一种组合几乎都支持c o r b a 技术。 ( 1 )c o r b a 特性 c o r b a 的体系结构可以简单的如图3 1 所示。 图3 1c o r b a 的体系结构 第三摩远程教育中的关键技术介绍 客户应用程序提出请求,服务器应用程序接受这些请求并做出响应。请求流 由客户应用程序向上提交,通过o r b ,上传到服务器应用程序。可有下列几种形 式实现这个过程: ( 1 ) 客户机有两种选择方式提出请求。第一种,由对象接口定义,用编译器 编译的静态存根;第二种,使用动态调用接口d i i ( d y n a m i ci n v o c a t i o ni n t e r f a c e l 。 不论哪种方式,客户机都直接将请求传送给与这个进程联接的o r b 核心。 ( 2 ) 客户机o r b 核心通过网络将请求传送给与服务器应用程序相联接的服务器 o r b 核心。 ( 3 ) 服务器o r b 核心将这些请求分配给对象适配器( o b j e c t a d a p t e r ) ,由它寻 找目标对象。 ( 4 ) 对象适配器迸一步将请求分配给实现目标对象的伺服程序。与客户机一样, 服务器可以选择静态( 使用静态框架) 或动态( 使用动态框架接口d s i ) 调度机 制用于它的伺服程序。 ( 5 ) 伺服程序执行请求后,它返回结果给客户应用程序。 为了调用个分布式对象的操作,客户机必须了解由这个对象所提供的接 口。一个对象的接口是由它所支持的操作和能够来回传输给这些操作的数据类型 所组成的。客户机也需要想要调用的操作的功能和语义的知识。 在c o r b a 中,对象接口是按o m g 接口定义语言( i d l ) 来定义的。与c + + 或j a v a 不同,i d l 不是编程语言,所以对象和应用程序不能用i d l 来实现。i d l 唯一的目的是允许对象接口以与任何具体的编程语言无关的形式来定义这些接 口。这种考虑允许应用程序以不同的编程语言来实现以便于互操作。i d l 与编程 语言无关,这点是支持异构系统和独立开发的应用程序集成的关键。 2 、c o r b a 与j a 、,a 的结合 j a 、,a 基础结构和c o r b a 衔接的很好。c o r b a 提供了一个分布式对象基础 结构,使应用程序将其范围扩展至跨网络、语言和操作系统,j a 、,a 语言提供了 一个可移植的对象基础结构,可以工作在每一种主要的操作系统上。c o r b a 可 处理网络透明性,而j a v a 语言处理实现的透明性。而且,在i d l 中的m o d u l e 、 i n t e r f a c e 、e x c e p t i o n 等关键字和j a v a 语言中的p a c k a g e 、i n t e r f a c e 、e x c e p t i o n 等 关键字可以非常方便的映射,所以,从i d l 定义转化成j a 、,a 类是非常方便的, 同时也可以方便的从j a 、,a 类生成i d l 定义。 3 、c o r b a 与x m l 的结合 c o r b a 和x m l 都具有平台和语言无关性,开放性,可扩展性。c o r b a 解 决了异构环境下通讯协议的统一,而x m l 解决了不同平台之间数据表示和关联 的同一。c o r b a 客户请求可以被编码成x m l 文档,然后通过h t t p 协议发送到 服务端。h t t p 服务器收到客户请求以后,通过识别请求头的特殊标记或是请求 竺 堡堡茎蔓墨茎壁垫查塑塑 的u r l 来对一般的h t t p 请求和c o r b a 请求做出区分。服务端识别c o r b a 请 求后,通过一个协议适配器将x m l 转换到i d l ,再传送到c o r b a 层,c o r b a 对象处理孩请求,将结果交给协议适配器完成x m l 编码,最后通过h t t p 服务 器交给客户端。这样,就可以将c o r b a 技术与x m l 技术结合起来。该模型如 f 图3 2 所示。 图3 2 c o r b a 与x m l 的结合 根据以上分析,在远程教育系统中利用c o r b a 可以极大的减轻组件之间的 耦合度一当提交任务时,仅需指出任务环境属性要求和任务关联关系,而不需指 明具体任务处理机地址。 3 2 选用的语言 工具的选择对系统最终的成败起着重要的作用,远程教育系统是采用j 越,a 语言实现。j a 、,a 是由美国s u n 公司( s u nm i c r o s y s t e m s ,i n c ) 所丌发出的第一 种能在i n t e r n e t 上使用,独立于各种软硬件的一种程序语言,从1 9 9 5 年夏 季丌始,j a v a 即受到计算机业界的高度关注,有人称之为信息界的一场“革命”, 它使“台式系统为中心”的计算变成“以网络为中心”的模式,由此使网络的发 展迈进了一个新纪元。当今多媒体技术的广泛应用也是人们青睐j a v a 的一个重 要原因。 j a 、,a 是一种在i n t e r n e t 上非常出众的计算机语言,它也是一种软件技术。 j a 、,a 可以产生小应用程序( a p p l e t ) , 它突破了常规模式,允许用户通过 1 n t e r n e t 调用服务器上的应用程序并传输到本地的机器上予以执行。 j 越,a 具有以下优势: 1 、真正的丌放性 当前,计算机平台主要有u n i x ,m a c i n t o s h ,w i n d o w sn t 。在多平台环境下, 软件必须与它们兼容方可在不同平台上运行,一种平台上使用的文件,在不同的 平台上通常是不行的。j a v a 技术的独到之处在于它可以在任意平台上运行,而不 与特定的操作系统相关。事实上,j a v a 程序可运行在任何有j a v a 虚拟机( j a v a 平台的核心部分) 的平台上。这无论是对终端用户,还是对开发人员都将带来极 大的好处。 第三章远程教育中的关键技术介绍 2 、安全方面的优势 j a v a 的另一个好处是安全性。j a v a a p i 包括四层防破坏措施。 ( 1 ) j a v a 是由c + + 发展而来,但无c + + 中指针存取操作等“危险”操作; 因而,它不会因内存被破坏而导至失误; ( 2 ) j a v a 内置式的字节校验器专门检查j a v a 程序的正确性和任何由于原 来所写错代码引起的破坏; ( 3 ) 安全管理程序在代码装入时,即检查类码,当不符时,提示用户注意; ( 4 ) a p i 集包含用户可操作的密码,它可在客户端与服务器连接的过程中, 增加安全性控制。 3 3e j b 技术 e j b 并不是一个产品。它是j a 、,a 服务器端服务框架的规范,软件厂商根据 它来实现e j b 服务器。应用程序开发者可以专注于支持应用所需的商业逻辑,而 不用担心周围框架的实现问题。e j b 规范详细地解释了一些最小但是必须的服 务,如事务,安全和名字等。软件厂商根据这些规范要求以保证一个e n t e r p r i s eb e a n 能使用某个必需的服务。 1 、e n t e r p r i s ej a v a b e a n s 体系结构 e j b 服务器是管理e j b 容器的高端进程或应用程序,并提供对系统服务的访 问。e j b 服务器也可以提供厂商自己的特性,如优化的数据库访问接口,对其他 服务( 如c o r b a 服务) 的访问等。一个e j b 服务器必须提供对可访问j n d i 的 名字服务和事务服务支持。 e j b 容器是一个管理一个或多个e j b 类实例的抽象,它通过规范中定义的接 口使e j b 类访问所需的服务。容器厂商也可以在容器或服务器中提供额外服务的 接口。现在没有e j b 服务器和e j b 容器间接口的规范,因为目前容器通常由e j b 服务器来提供。针对一个e j b 实例,有两个接口是十分重要的。h o m e 接口列出 了所有定位、创建、删除e j b 类实例的方法,h o m e 对象是h o m e 接口的实现。 e j b 类开发者必须定义h o m e 接口,容器厂商应该提供从h o m e 接口中产生h o m e 对象实现的方法。远程接口( r e m o t ei n t e r f a c e ) 列出了e j b 类中的商业方法。 e j b o b j e c t 实现远程接口,并且客户端通过它访问e j b 实例的商业方法。e j b 类 开发者定义远程接口,容器开发商提供产生相应的e j b o b j e c t 的方法。客户端不 能得到e j b 实例的引用,只能得到它的e j b o b j e c t 实例的引用。当客户端调用一 个方法,e j b o b j e c t 接受请求并把它传给e j b 实例,同时提供进程中必要的包装 功能。客户端应用程序通过h o m e 对象来定位、创建、删除e j b 类的实例,通过 e j b o b j e c t 来调用实例中的商业方法。客户端可以用j a v a 来编程,通过j a v ar m i 坚垩堡墼塞竺茎壁垫查竺丝 来访问访问h o m e 对象和e j b o b j e c t ,或用其他语言编程并通过c o r b a i i o p 访 问,使得部署的服务器端组件可以通过c o r b a 接口来访问。 2 、e j b 软构件模型 软构件模型的思想是创建可重用的构件并可以通过组合得到新的应用系统。 构件模型定义了构件的基本体系结构、构件界面的结构、与其他构件及容器相互 作用的机制等。利用构件模型规范说明,构件开发人员开发那些实现了应用系统 逻辑的构件,而应用系统开发人员则把这些预先开发好的构件组合成应用系统, 这些应用系统也可以作为新的构件。软构件模型思想已经在软件开发界迅速流 行,因为它可以达到以下这些目的:重用、通过工具进行自动化开发,简化丌发 过程等。j a v a b e a n s 、e j b 、c o m d c o m 等都是软构件模型的例子。 服务器端的应用是非常复杂的,它不仅涉及到应用逻辑、并发性和伸缩性问 题,而且涉及到如何把不兼容的系统组合在一起的问题。e j b 则使开发人员集中 于应用系统的逻辑部分,而不用处理同步、可伸缩性、事务集成网络、分布式 对象框架等一些分布式应用系统中存在的复杂的细节问题。 采用e j b 发应用系统有很多优点,如标准的j a v a 技术使得应用系统可以在 许多不同的服务器平台上运行:修改应用系统变得容易,对单个构件的增加、修 改、删除等操作,对应用系统的影响很小;应用系统经过划分之后,使得构件之 问相:互独立,又可以相互协作,提供给用户的是该用户所需要的构件;应用系统 的丌发变得容易,基本上是即插即用的方式;应用系统从本质上说是可伸缩的, 可以运行在多线程、多处理机的环境中;e j b 可以在新应用系统中得到重用,减 少了开发时间。 当然,和其他的新技术一样,e j b 也存在一些缺点,主要有:e j b 的数量可 能非常多,以至在软件开发库中很难对这些e j b 进行跟踪和管理;如果应用丌发 人员不能确地使用e j b ,可能致不恰当的应用系统设计,结果使得应用系统的总 体性能下降:除非m 及编译器的性能得到提高,否则e j b 应统的性能仍将是 一个问题。 3 4 x m l 技术 早在1 9 6 9 年,i b m 公司就开发了一种文档描述语言g m l 用来解决不同系统 中文档格式不同的问题,g m l 是i b m 许多文档系统的基础,包括s c r i p t 和 b o o k m a s t e r ,接下来的日子里,这个语言在1 9 8 6 年演变成一个国际标准 ( i s 0 8 8 7 9 ) ,并被称为s g m l ,s g m l 是很多大型组织,比如飞机、汽车公司和 军队的文档标准,它是语言无关的、结构化的、可扩展的语言,这些特点使它在 很多公司受到欢迎,被用来创建、处理和发布大量的文本信息。 第三章远程教育中的关键技术介绍 在1 9 8 9 年,在c e r n 欧洲粒子物理研究中心的研究人员丌发了基于s g m l 的超文本版本,被称为h t m l 。h t m l 继承了s g m l 的许多重要的特点,比如 结构化、实现独立和可描述性,但是同时它也存在很多缺陷:比如它只能使用固 定的有限的标记,而且它只侧重于对内容的显示。 随着w w b 上数据的增多,这些h t m l 存在的缺点就变的不可被忽略。人们 认识到随着w e b 的发展,必须有一种方法能够把数据和它的显示分离丁f 来,w 3 c 提供了h t m l 的几个扩展用来解决这些问题,最后,它决定开发一个新的s g m l 的子集,称为x m l 。这样就导致了x m l 的诞生。而且x m l 的标准非常简单, 只有二十几页,这非常有利于它的推广。 x m l 的出现就是为了解决h t m l 所存在的这些弊病。它保留了很多s g m l 标准的优点,但是更加容易操作和在w w w 环境下实现。在1 9 9 8 年,它就变成 了w 3 c 的标准。 x m l 提供了一个重要的功能是可以使用户根据自己的应用定义一套自己的 “标签”。然而,它并不仅仅包括x m l 标记语言,它同时还包括了很多相关的规 范,比如文档格式化标准、文档显示模式定义、文档查询标准、文档解析标准和 文档链接标准等等,而且基于x m l 这个低层的规范,还有很多高层的应用协议, 比如开放贸易协议、s o a p 、b i z t a l k 等等。基本的x m l 相关的标准以及它们的 关系如图3 3 所示。 图3 3x m l 相关标准及相互关系 其中d t d 和s c h e m a 是用来对文档格式进行定义的语吉,就象数据库中需要 定义数据库模式一样,d t d 和s c h e m a 决定了文档的内容应该是些什么类型的东 西。其中d t d 是从s g m l 继承下来的,而s c h e m a 是专门为定义x m l 文档的格 式而设计的,它们都规定了x m l 文件的逻辑结构,并定义了x m l 文件中的元 2 0 远程教育发关键技术研究 素、元素的属性以及元素和元素属性之间的关系。 因为x m l 是内容和格式分离的语言,所以需要专门的协议来定义x m l 文 档的显示格式,c s s 和x s l 就是用来定义x m l 文档的显示格式的,c s s 是随着 h t m l 的出现而出现的,它的目的是为了更好的控制h t m l 中各个元素的显示特 征,它也可以应用到x m l 中来控制x m l 文档的显示,而x s l 是专门为x m l 设计的,当然x s l 的作用不仅仅是用来显示x m l 文档,通过模板机制,它能够 取出x m l 文档中部分的内容,并且能够对其中的内容进行排序,当然它也能够 用来定义x m l 文档的显示格式。所以x s l 的另外一个应用就是用来把一个x m l 文档转化为另一个x m l 文档,也就是说可以从原始的x m l 文档生成一个新的 x m l 文档。 由于h t m l 本身的局限性,要在h t m l 文档中查询特定的内容几乎是不可 能的,而因为x m l 文档是一个结构化的文本,所以具备了对x m l 文档进行内 容检索的条件,但是需要有一套完善的语言来实现从简单到复杂的类似关系数据 库的检索功能,这套语言就是x q l ,在关系数据库中可以通过s e l e c t 语句的 w h e r e 句部分来限定查询的范围,在x

温馨提示

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

评论

0/150

提交评论